@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-latin_latin-ext-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/roboto-latin_latin-ext-700.woff2') format('woff2');
}

* {
    outline: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

html {
    height: 100%;
}

body {
    background: #FFFFFF !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 100%;
    height: calc(100% - 80px);
}

*:focus {
    outline: none !important;
}

input, textarea, select {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border: 1px solid #CCCCCC;
    outline: none;
    padding-top: 2px;
    padding-bottom: 2px;
    box-shadow: none;
}

input:focus, textarea:focus, select:focus {
    border-color: #999A9A !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

input:focus, button:focus, textarea:focus, select:focus {
    outline: none !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

input:focus, textarea:focus, select:focus {
    border-color: #999A9A !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

input:not([type=checkbox]):not([type=radio]), input[type=text], input[type=password], input[type=search], textarea, select {
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    padding: 4px 0;
    font-size: 12px;
    line-height: normal;
    box-sizing: border-box;
}

input:not([type=checkbox]):not([type=radio]), input[type=text], input[type=password], input[type=search], select {
    height: 24px;
}

input[readonly] {
    border: 1px solid #EFEFEF !important;
}

input[type=time] {
    width: 78px;
    font-family: 'Roboto', sans-serif;
    text-indent: 1px !important;
}
input[type=date] {
    width: 92px;
    max-width: 92px;
    font-family: 'Roboto', sans-serif;
    text-indent: 1px !important;
}
input[type=datetime-local] {
    font-family: 'Roboto', sans-serif;
}
input[type=time]::-webkit-calendar-picker-indicator,
input[type=date]::-webkit-calendar-picker-indicator {
    margin: 0px;
}

input[type=file] {
    padding: 0;
    vertical-align: middle;
    cursor: pointer;
    font-size: 12px;
    border: none;
    margin: 2px 0;
}

input[type=radio] {
    height: auto;
    line-height: normal;
}

input[type=file]::-webkit-file-upload-button {
    visibility: hidden;
}

.entryTable input[type=checkbox] {
    display: block;
    margin: 5px 0;
}

input[type=file]::before {
    content: 'Upload file';
    display: inline-block;
    background: #068dcd !important;
    border: none;
    height: 24px;
    line-height: 24px;
    padding: 0 5px 0 2px;
    border-radius: 4px;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
    font-weight: bold;
    font-size: 11px;
    color: #FFFFFF;
    transition: background-color 0.25s ease;
}

input[type=file]:hover::before {
    background-color: #06aef1 !important;
}

input {
    text-indent: 4px !important;
}

.mandatoryField {
    color: red;
}

select[multiple] {
    height: auto;
    line-height: normal !important;
}

input[type="checkbox"], input[type="radio"] {
    accent-color: rgb(6, 141, 205);
}

textarea {
    resize: none;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    padding: 4px;
    font-size: 12px;
    height: auto;
    max-height: 100px;
    line-height: normal !important;
}

.input-error {
    border: 1px solid red !important;
    background-color: #ffe6e6 !important;
    background: #ffe6e6 !important;
}

.tabular-cell-empty {
    /*border: 1px solid red !important;*/
    background-color: #ffe6e6 !important;
}

.tabular-cell-grayed {
    background-color: #cccccc !important;
}

.tabular-cell-readonly {
    background-color: #f0f0f0 !important;
}

.tabular-cell-error {
    background-color: rgb(255, 0, 0) !important;
    color: rgb(255, 255, 255) !important;
}

.tabular-cell-warning {
    background-color: rgb(233, 196, 85) !important;
}

.tabular-cell-not-found {
    background-color: rgb(255, 192, 0) !important;
}

.tabular-cell-wwd-empty {
    background-color: rgb(252, 228, 214) !important;
}

.tabular-cell-correct {
    background-color: rgb(189, 215, 238) !important;
}

.tabular-cell-leave-on-site-but-transferred {
    background-color: rgb(255, 255, 153) !important;
}

.tabular-cell-not-collected-but-recycled {
    background-color: rgb(255, 242, 204) !important;
}

.tabular-cell-not-transfer-but-with-location {
    background-color: rgb(208, 206, 206) !important;
}

.tabular-cell-tranfer-but-not-transferred {
    background-color: rgb(153, 102, 255) !important;   
}    

.tabular-cell-collected-but-not-found {
    background-color: rgb(64, 64, 64) !important;
}

.tabular-cell-nts-but-no-serial {
    background-color: rgb(255, 204, 255) !important;
}

.tabular-cell-leave-on-site-but-moveto {
    background-color: rgb(255, 242, 204) !important;
}

.tabular-cell-required-cert {
    background-color: rgb(255, 235, 237) !important;
    color: rbg(192, 0, 53);
}

.tabular-cell-recycle-but-no-recycled {
    background-color: rgb(218, 161, 0) !important;
}

.tabular-cell-recommendation-empty {
    background-color: rgb(255, 255, 0) !important;
}

button:not(.ql-toolbar button) {
    display: inline-block;
    width: auto;
    min-width: 100px;
    height: 36px;
    line-height: normal;
    text-align: center;
    cursor: pointer;
    padding: 0 6px;
    border-radius: 4px;
    color: #FFFFFF;
    border: none !important;
    transition: background-color 0.25s ease;
    font-family: 'Roboto', sans-serif
}

button:not(.gridMoveUp):not(.gridMoveDown):not(.ql-toolbar button) {
    background: #068dcd;
}

button[class~=buttonSave]:not(.gridMoveUp):not(.gridMoveDown) {
    background-color: darkblue;
}

button[class~=buttonCancel]:not(.gridMoveUp):not(.gridMoveDown) {
    background-color: maroon;
}

button:not(.ql-toolbar button) * {
    padding: 0;
}

button:not(.gridMoveUp):not(.gridMoveDown):hover:not(.ql-toolbar button) {
    background-color: #06aef1;
}

.pageBody {
    margin: 80px 0 0 0;
    background: #FFFFFF;
}

.pageBody:not(body) {
    margin-top: 75px;
}

.pageBody:has(#sub-menu) {
    margin: 75px 0 0 0 !important;
    background: #FFFFFF;
}

.pageBody.has-sub-menu:not(body) {
    margin-top: 0px !important;
}

body.pageBody div.pageBody {
    text-align: left;
    box-sizing: border-box;
    padding: 0 10px;
}

.pageHeader {
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 0 32px;
}

.pageHeaderLogoContainer {
    width: 100%;
    height: 43px;
    position: fixed;
    box-sizing: border-box;
    padding: 0 32px;
    /*    line-height:40px;*/
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: -webkit-linear-gradient(left, white, #068dcd);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(right, white, #068dcd);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(right, white, #068dcd);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(to right, white, #068dcd);
    /* Standard syntax */
    border-bottom: solid 3px #068dcd;
}

.formName {
    text-shadow: none !important;
    text-transform: uppercase;
    font-size: 17px !important;
    margin: 12px auto;
    font-family: 'Roboto', sans-serif !important;
    text-align: center;
}

.entryForm {
    position: relative;
    width: auto;
    max-width: 600px;
    margin: 0 auto;
    padding-bottom: 10px;
    border: 1px solid #ccc;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    /* overflow: hidden; */
}

.entryTable {
    box-sizing: border-box;
    border-color: #CCCCCC;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    width: 100%;
    margin: 0 auto;
    padding: 16px;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    max-width: 600px;
}

.entryTable td {
    line-height: normal;
    vertical-align: top;
}

.entryTable input {
    width: 100%;
    max-width: 600px;
}

.entryTable .entryTableCaption {
    color: #999A9A;
    line-height: 26px;
    height: 26px;
    padding: 0 4px 0 0;
    font-weight: bold;
}

.entryTableCaption {
    text-align: right;
    width: 1px;
    white-space: nowrap;
}

.entryButtons {
    margin-left: auto;
    margin-right: auto;
    display: table;
}

.formSubmitButton {
    margin: 0 2px;
    display: block;
    float: left;
    border: solid 3px #068dcd;
    color: #068dcd;
    font-weight: 700;
    background: #fff;
    text-shadow: 0px 0px 0px #fff !important;
}

.pageFooter {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    background: #068dcd !important;
    font-size: 11px;
    padding: 3px 0;
}

.pageFooter a {
    color: #FFFFFF;
}

.container {
    text-align: center;
}

.container.full-height {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    margin-bottom: 20px;
}

.sub-container {
    height: calc(100vh - 148px);
}

.settings-sub-container {
    height: calc(100vh - 200px);
}

.tabulator {
    border: 1px solid #CCCCCC !important;
    border-radius: 5px !important;
}

.tabulator-cell .tabulator-tree-spacer {
    align-items: center;
    background: rgba(0, 0, 0, .1);
    border: 1px solid gray /*#333*/;
    border-radius: 2px;
    display: inline-flex;
    height: 11px;
    justify-content: center;
    margin-right: 5px;
    overflow: hidden;
    vertical-align: middle;
    width: 11px;
}

.tabulator-header .action-btn,
.tabulator-table .action-btn,
.table-buttons .action-btn {
    min-width: unset !important;
    height: 20px !important;
}

.tabulator-col[tabulator-field="actions"] .tabulator-col-content,
.tabulator-col[tabulator-field="displaySeqNo"] .tabulator-col-content {
    height: 100%;
}

#tasks-table {
    flex-grow: 1;
}

#task-items-table div[tabulator-field="actions"] {
    text-align: center !important;
}

.tabulator-cell {
    align-content: center;
    min-height: 25px;
}

#task-items-container .tabulator-cell {
    min-height: 28px;
}

.tabulator-header, .tabulator-header .tabulator-col {
    background: linear-gradient(to bottom, #f7fcff 0%, #caeef7 100%) !important;
    justify-content: center !important;
}

.tabulator-header-filter {
    max-height: 24px;
}

.tabulator-header-filter .select2-selection {
    height: 24px !important;
    text-align: left;
}

.tabulator-header-filter .select2-selection span[role="textbox"]{
    line-height: 24px;
}

.tabulator-header-filter .select2-selection__clear {
    height: 24px !important;
    width: 24px !important;
    background-color: #068dcd !important;
    min-width: 16px;
    min-height: 16px;
    max-height: 16px;
    max-width: 16px;
    top: 3px;
    position: relative;
    padding: 0px;
}

.tabulator-header-filter .select2-container {
    font-weight: normal;
}

.tabulator-header-filter .select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: 4px;
}

/*
.tabulator-row:hover .tabulator-cell {
    background-color: var(--tabulator-row-hover, ) !important;
}

.tabulator-row.tabulator-selected .tabulator-cell {
    background-color: var(--tabulator-row-selected, #9abcea) !important;
}
*/

.select2-results__options {
    font-size: 12px;
}

.navWrapper {
    position: fixed;
    top: 43px;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    line-height: normal !important;
    /* background: white; */
    z-index: 50;
}

.navWrapper nav {
    display: inline-block;
    width: auto;
    overflow: visible;
    border: solid 3px #068dcd;
    border-top: none !important;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-bottom-right-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-bottom-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: #fff;
}

.navWrapper nav ul {
    padding: 0;
    margin: 0;
}

.navWrapper nav ul li {
    display: inline-block;
    float: left;
    border-left: solid 1px #068dcd;
    padding: 0;
}

.navWrapper nav ul li {
    overflow: visible;
}

.navWrapper nav ul li:first-child {
    border-left: none;
}

.navWrapper nav ul li:first-child a {
    border-bottom-left-radius: 5px;
}

.navWrapper nav ul li:last-child a {
    border-bottom-right-radius: 5px;
}

.navWrapper nav ul li a,
.navWrapper nav ul li span
 {
    display: block;
    line-height: 25px;
    padding: 0 15px;
    text-decoration: none;
    font-weight: bold;
    border-top: 4px solid white;
    font-size: 13px !important;
    color: #515B71;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.navWrapper nav ul li span {
    cursor: pointer;
}

.navWrapper nav ul li a:hover,
.navWrapper nav ul li span:hover {
    border-top: 4px solid #7f909a;
    background-color: #bec9de;
}

.navWrapper nav ul li.active a,
.navWrapper nav ul li.active span {
    border-top: 4px solid #1e1f23;
    background-color: #90959a;
    color: white;
}

.sub-menu-container {
    display: grid;
    justify-content: center;
}

#submenu {
    justify-items: center;    
}

#sub-menu { 
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: nowrap;
}

#component-submenu {
    padding-top: 0px;
    margin-top: -5px;
}

div.pageHeaderTable {
    margin: 0px auto 5px auto;
}

div.pageHeaderTable span {
    cursor: pointer;
}

div.pageHeaderTable a, 
div.pageHeaderTable span {
    display: inline-block;
    text-align: center;
    line-height: 32px;
    background-color: #FFFFFF;
    text-decoration: none;
    font-weight: bold;
    border-top: 4px solid white;
    font-size: 13px !important;
    font-family: 'Roboto', sans-serif;
    padding: 0 10px;
    color: #999A9A;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    white-space: nowrap;
}

div.pageHeaderTable a:hover,
div.pageHeaderTable span:hover {
    border-top: 4px solid #666868;
    background-color: #999A9A;
    color: #FFFFFF;
}

div.pageHeaderTable li.active a,
div.pageHeaderTable li.active span {
    border-top: 4px solid #333333;
    background-color: #666868;
    color: #FFFFFF;
}

#editLocationModal {
    z-index: 1001;
}

#editLocationModal .resp-modal-content,
#editSubOfficeModal .resp-modal-content {
    max-width: 700px;
}

#editResetPasswordModal .resp-modal-content,
#editChangePasswordModal .resp-modal-content {
    max-width: 400px;
}

#editResetPasswordForm label:first-of-type,
#editChangePasswordForm label:first-of-type {
    width: 120px !important;    
}

#editEquipmentTypeModal label:first-of-type {
    width: 180px !important;    
}

#editScanDiscModal .resp-modal-content {
    max-width: 800px;
}

#editClientForm {
    height: 100%;
    width: 100%;
    min-height: calc(100% - 50px);
    display: flex;
    flex-direction: column;
}

#editTaskForm {
    height: 100%;
    width: 100%;
    display: flex;
}

#editSubOfficeForm {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

#editClientModal .resp-modal-content {
    max-width: 95%;
    max-height: 95%;
    width: 100%;
    height: 95%;
    display: flex;
}

#editTaskModal .resp-modal-content {
    max-width: 100%;
    width: 100%;
    display: flex;
    margin: 0px;
    border: 0px;
    border-radius: initial;
    flex-grow: 1;
    padding-bottom: 0;
}

#editSubOfficeModal .resp-modal-content {
    max-width: 90%;
    max-height: 90%;
    width: 100%;
    height: 95%;
    display: flex;
}

#editTaskModal .resp-close-modal {
    position: initial !important;
    top: initial !important;
    right: initial !important;
    margin-left: 6px;
    margin-right: 10px;
}

#editTaskModal .modal-header {
    border-radius: initial;
}

#editClientModal .modal-body {
    flex-grow: 1;
    max-height: unset !important;
}

#editSubOfficeModal .modal-body {
    flex-grow: 1;
    max-height: unset !important;
}

#editTaskModal .modal-body {
    flex-grow: 1;
    max-height: unset !important;
}

#editClientModal #contacts-table,
#editClientModal #client-locations-table,
#editClientModal #sub-offices-table,
#editClientModal #equipment-types-table,
#editClientModal #client-files-table,
#editScanDiscModal #scan-discs-table,
#editSubOfficeModal #locations-table,
#editSubOfficeModal #sub-office-files-table,
#editSubOfficeModal #sub-office-contacts-table {
    max-width: 100%;
    min-width: 100%;
}

#editEquipmentTypeModal .modal-body,
#editUserForm .modal-body {
    overflow-y: unset !important;
    overflow-x: unset !important;
}

#editEquipmentTypeModal .dialogMessage,
#editUserModal .dialogMessage {
    overflow: unset !important;
}

#task-items-table, #scan-discs-table {
    max-width: 100%;
}

.chosen-container {
    width: 100% !important;
}

.chosen-results {
    text-align: left;
}

#editSendEmailForm {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

#editSendEmailModal .resp-modal-content {
    max-width: 800px;
    max-height: 600px;
    width: 100%;
    height: 95%;
    display: flex;
}

#editSendEmailModal .modal-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    max-height: unset !important;
}

.body-container {
    flex-grow: 1;
}

.body-container .richtext-container {
    max-height: unset !important;
}

#emailBody {
    max-height: unset !important;
}

#editSendEmailForm input[type="radio"] {
    height: 16px;
    position: relative;
    top: -1px;
    left: -6px;
    flex-grow: 0;
}

#editSendEmailForm label {
    margin-left: 0px;
}

/* JQUERY AUTOCOMPLETE */
.ui-autocomplete {

    border-top: none !important;
    border-left: solid 1px #ccc !important;
    border-bottom: solid 1px #ccc !important;
    border-right: solid 1px #ccc !important;
    -webkit-border-radius: 0 0 5px 5px !important;
    -moz-border-radius: 0 0 5px 5px !important;
    border-radius:0 0 5px 5px !important;
    height: auto;
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index:1000 !important;
}
.ui-widget-content {
    background: #fff !important;
    color: #000 !important;
}
.ui-menu-item {
    padding:5px 10px !important;
}
.ui-state-focus {
    border: 1px solid transparent !important;
    background: #eee !important;
}
.ui-autocomplete li:last-child {
    margin-bottom: 1px;
}

#header-status {
    display: flex;
    overflow: hidden;
    position: absolute;
    right: 20px;
    line-height: normal;
    flex-direction: row;
    text-align: center;
    height: 100%;
}

#connection-status {
    align-content: center;
}

#textStatus {
    color: white;
}

#onlineStatus {
    background: #00ff00;
    border: 2px solid;
    color: green;
    padding: 4px;
    margin-right: 20px;
}

#offlineStatus {
    background: #ffff00;
    border: 2px solid;
    color: rgb(128,128,0);
    padding: 4px;
    margin-right: 20px;
}

#user-status {
    position: relative;
    top: 3px;
}

#userInfo {
    font-size: 16px;
    color: #FFFFFF;
}

.max-width-table {
    max-width: 95%;
}

.three-cols-grid {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.task-buttons-grid {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 0px 4px 0px 4px;
}

#files-status {
    text-align: right;
}

.small-checkbox {
    height: 16px;
    width: 16px;
    flex-grow: initial !important;
}

.left-checkbox {
    position: relative;
    left: -4px;
}

#btnNextStage, #btnPrevStage {
    height: 24px;
    margin-left: 4px;
    margin-right: 4px;;
}

#btnNextStage img, #btnPrevStage img {
    position: relative;
    top: 1px;    
}

#btnNextStage span, #btnPrevStage span {
    position: relative;
    top: -2px;
    margin: 2px; 
    overflow-y: hidden;
}

.stage-label {
    align-content: center !important;
    height: 24px !important;
    top: 0px !important;
}

.stage-caption {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding-left: 4px;
    padding-right: 4px;
    background-color: #f0f0f0;
    height: 22px;
    align-content: center;
    overflow-y: hidden;
}

#currentStage {
    font-weight: bold;
    background-color: #e0fdaa;
}

.grid-check-results-header {
    display: flex;
    flex-direction: column;  
    text-align: right;
}

.grid-check-results-header .correct-caption {
    text-align: left;
    color: rgb(0, 176, 80);
    float: left;
}

.grid-check-results-header .error-caption {
    text-align: left;
    color: rgb(255, 0, 0);
    float: left;
}

.grid-check-results-header .error {
    color: rgb(237,125,49);
}

.grid-check-results-header .success {
    color: black;
}

#task-items-table.tabulator .tabulator-header .tabulator-col {
    justify-content: flex-end !important;
}

#editTaskModal #editStreet {
    w1idth: 30% !important;
    m1ax-width: 30% !important;
    m1in-width: 30% !important;
    flex-grow: 1;
}

#editTaskModal #editSubOffice,
#editTaskModal #editClient,
#editTaskModal #editContact {
    w1idth: 15% !important;
    m1ax-width: 15% !important;
    m1in-width: 15% !important;
    f1lex-grow: 1;
}

#editTaskModal #editTaskPhone {
    width: 120px !important;
    max-width: 120px !important;
    min-width: 120px !important;
}

#scan-options-label {
    width: unset !important;
}

#editSubOfficeForm label:first-of-type:not(.no-forced-width) {
    width: 127px !important;    
}

#editTaskForm label:first-of-type:not(.no-forced-width), #editTaskForm label.first-visible {
    width: 150px !important; 
    margin-left: 0px;   
}

.first-in-line label {
    width: 150px !important;
    display: inline-block;
}

.first-in-line input {
    position: relative;
    left: -4px;    
}

.dates-container, .numbers-container {
    display: flex;
    flex-wrap: wrap;
}

.dates-container span, .numbers-container span {
    max-width: 100%;
    margin-right: 10px;
}

.dates-container span:not(.first-in-line) label,
.numbers-container span:not(.first-in-line) label {
    margin-right: 0px !important;
}

.dates-container input[type="text"] {
    width: 300px;
}

.dates-container input {
    top: 2px !important;
}

.dates-container label {
    top: 2px !important;
}

.numbers-container {
    margin-bottom: 9px !important;
}

.numbers-container input,
#numbers-history input {
    width: 80px;
}

.numbers-container span {
    flex-direction: column;
    max-width: 200px !important;
    display: inline;
    text-align: center;
}

.numbers-container span label {
    text-align: center;
    display: block;
    max-width: 100%;
    height: calc(100% - 22px);
}

.numbers-container span input {
    max-height: 24px;
}

.numbers-container span.first-in-line {    
    max-width: 150px !important;
    display: inline;
    text-align: right;
}

.numbers-container span.first-in-line label {
    text-align: right;
    display: block;
    max-width: 100%;
    height: calc(100% - 22px);
    margin-right: -4px;
}

.numbers-container span.first-in-line input {    
    margin-right: -4px;
}

.tab-container {					
    display: flex;
    border-bottom: 1px solid #ccc;	
    position: relative;				
}
.tab-button {
    align-self: flex-end;
    border-left: solid 1px #ccc;
    border-top: solid 1px #ccc;
    border-right: solid 1px #ccc;
    border-radius: 5px 5px 0px 0px;
    padding: 5px 10px 5px 10px;
    background-color: #f0f0f0;
    color: black;
    font-size: 15px;
    cursor: pointer;
    font-family: 'Roboto', sans-serif;
    height: 18px; 
    line-height: 20px; 
    width: min-content;
    white-space: nowrap;
    align-content: center;
}
.tab-button.active {
    background-color: white; 
    z-index: 2; 
    height: 21px; 
    color: black;
    cursor: pointer;
    position: relative;
    top: 1px;
}
.tab-button.disabled {
    background-color: #f0f0f0; 
    color: silver;
    cursor: default;
}
.tab-content {
    display: none; 
    border: 1px solid #ccc; 
    border-top: none;
    padding: 8px;
    height: calc(100% - 50px);
    max-height: calc(100% - 50px);
    min-height: calc(100% - 50px);
}
.tab-content.active {
    display: block;
}
.hor-spacer {
    width: 100%;
    height: 15px;
}
.spacer {
    flex-grow: 1;
}
.tab-button-highlighted {
    color: green;
    font-weight: bold;
}

#general_tab_content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.task-items-table-container {
    flex-grow: 1; 
    min-height: 0;   
    flex-direction: row;
    display: flex;
    gap: 4px;
}

#history_tab {
    overflow-y: auto;
    max-height: calc(100% - 100px);
}

#history_tab h4 {
    margin: auto;
}

.two-columns-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;    
}

.three-columns-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#dates-history, #numbers-history, #users-history {
    flex-direction: column;
    align-items: flex-start;  
}

#numbers-history label:first-of-type {
    display: inline-block;
    min-width: 375px !important;
}

#dates-history label:first-of-type {
    display: inline-block;
    min-width: 375px !important;
}

#users-history label:first-of-type {
    display: inline-block;
    min-width: 375px !important;
}

#users-history, #dates-history {
    padding-right: 4px;
}

#users-history span, #dates-history span {
    display: flex;
    width: 100%;
}

#users-history .chosen-disabled {
    opacity: 1 !important;
    margin-top: 2px;
    margin-bottom: 2px;
}

#users-history .chosen-disabled .search-choice-close {
    display: none;
}

.jstree {
    font-size: 14px !important;
}    

.jstree-themeicon {
    display: none !important;
}

.jstree-leaf .jstree-ocl {
    background: url("/css/lib/jsTree/32px.png") no-repeat -132px -68px !important;
    background-color: transparent !important;
}

.table-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.table-buttons {
    display: flex;
    gap: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 14px;
    align-items: center;
    height: 38px;
    min-height: 38px;
}

.table-buttons input[type="radio"] {
    position: relative;
    top: -1px;
}

#editScanDelimiter, #editModalScanDelimiter {
    width: 30px;
    max-width: 30px;
}

.splitter {
    width: 4px;
    min-width: 4px;
    cursor: col-resize;
    border: 1px dotted #ccc;
    margin-top: 46px;
}

.dropdown-clear-button {
    padding: 3px;
    background: #068dcd;
    color: white;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    margin: 0px 4px 4px 4px;
    font-size: 12px;
}

#scan-results {
    flex-wrap: wrap;
    justify-content: center;
}

#modal-scan-options input[type="radio"] {
    height: 16px;
    position: relative;
    top: -1px;
    flex-grow: 0;
}

#editScanModal label:first-of-type {
    width: 73px;
    margin-left: 0px;
}

#editScanModal label {
    margin-left: 4px;
}

.chosen-container-multi .chosen-choices li.search-field:only-child {
    display: list-item !important; 
}

.chosen-container-multi .chosen-choices li.search-field {
    display: none !important;     
}

.chosen-container-multi .chosen-choices li.search-field .chosen-search-input {
    width: 100% !important;
}

#add-new-client, #view-current-client {
    height: 24px;
    min-width: 80px;
    margin-left: 4px;
}

button:disabled {
    background-color: #f0f0f0 !important; 
    color: silver !important;
    cursor: default !important;
    pointer-events: none !important;
}

.jstree-default .jstree-search-first > .jstree-wholerow {
    background: #3399ff;
}
.jstree-default .jstree-search-first > .jstree-anchor {
    color: white;         
}

.ql-toolbar {
    text-align: left;
}

.richtext-editor {
    flex: 1; 
    min-height: 0; 
    height: 100%; 
    overflow-y: auto; 
}

.richtext-container {
    display: flex;
    flex-direction: column;
    max-height: 300px;
    width: 100%;
}

.actions {
    display: flex;
    justify-content: space-between;
}

.task-items-actions {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 4px;
}

.tabulator-row.tabulator-selected {
    position: relative; 
    background-color: rgb(230, 238, 250) !important; 
    z-index: 1;
}

.tabulator-row.tabulator-selected {
    box-shadow: inset 0 0 0 2px #007bff;
}

.tabulator-row.tabulator-selected::after,
.tabulator-row.tabulator-selected .tabulator-cell.tabulator-frozen-right {
    content: "";
    position: absolute;
    inset: 0;    
    z-index: 2; 
    box-shadow: inset 0 0 0 2px #007bff;
}

.tabulator-row {
    position: relative;
    z-index: 1; /* base */
}

.tabulator-row:hover {
    z-index: 10; /* push hovered row above frozen columns */
}

.tabulator-row:hover::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #999;
    pointer-events: none;
    z-index: 11; /* above frozen cells */
}

@media (hover: hover) and (pointer:fine) {
    .tabulator-row.tabulator-selectable:hover {
        background-color: #e6e6e6;
    }
}

#task-errors {
    max-height: 100px;
    overflow-y: auto;
    text-align: left;
    flex: 0 0 auto;
}

#task-errors div {
    padding: 2px;
    border-bottom: 1px solid #ccc;
    line-height: 20px;       
    box-sizing: border-box;  
    height: 24px;   
    cursor: pointer;
}

#editClient_chosen {
    text-align: left;
}

#selected-row-details {
    overflow-x: auto;
    font-size: 12px;
}

#selected-row-details table {
    border-collapse: collapse;
    white-space: nowrap;
}

#selected-row-details table th, #selected-row-details table td {
    border: 1px solid #ccc;
    padding: 2px;
}

#editTaskModal .modal-footer {
    min-height: 75px;
    max-height: 75px;
    align-content: center;
}

#editTaskModal .task-buttons-grid {
    margin-bottom: 10px;
}

#header-client {
    text-align: left;
    display: flex;
    align-items: center;
}

#editTaskModal #header-client label {
    margin-left: 8px;
    margin-right: 4px;
    width: auto !important;
}

#header-client #editClient {
    max-width: 100% !important;
    flex-grow: 1;
    margin-right: 16px;    
}

.client-header {
    display: flex;
}

.client-main-info{
    flex-grow: 1;
}

#header-buttons {
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 4px;
}

#header-buttons button {
    height: 24px;
}

#loading-page-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 1;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
  
.loading-text {
    color: #272727;
    font-size: 2em;
    font-family: sans-serif;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.8) !important;
}

#loading-page-overlay.fade-in {
    opacity: 1;
    pointer-events: auto; 
}
  
#loading-page-overlay.fade-out {
    opacity: 0;
    pointer-events: none;
}

/* file panel */
#files-panel-options {
    margin-top: 4px;
    font-size: 14px;
    display: flex;
}

#files-panel-options input[type="radio"] {
    position: relative;
    top: -2px;
}

#files-panel {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    height: 190px;
    overflow-y: auto;
    gap: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-top: 4px;
}

.file-thumb {
    text-align: center;
    cursor: pointer;
    border-radius: 8px;
    padding: 5px;
    background: #f8f8f8;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.file-thumb.small {
    width: 60px;
}

.file-thumb.medium {
    width: 100px;
}

.file-thumb.large {
    width: 140px;
}

.file-thumb:hover {
    transform: scale(1.03);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.file-thumb img {
    width: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.file-thumb .filename {
    font-size: 12px;
    margin-top: 4px;
    word-break: break-all;
}

/* file panel end */

#editSuite, #editTaskSuite, #editSubOfficeSuite {
    max-width: 100px;
}

#editZipCode, #editTaskZipCode, #editSubOfficeZipCode {
    max-width: 100px;
}

#editUtsNumber {
    max-width: 100px;
}

#editActAsSupervisor {
    max-width: 200px;
}

#editEmployeeCount, #editWorkstationCount,
#editHistoryEmployeeCount, #editHistoryWorkstationCount {
    max-width: 60px;
}

.users-container {
    align-items: center;
}

.users-container label {
    top: 4px !important;
}

.chosen-container .no-results,
.chosen-container .chosen-results li,
.chosen-container-single .chosen-single span {
    text-align: left !important;
}

#editCollectionFirst, #editTransferFirst {
    max-width: 16px;
    max-height: 18px;
    margin-left: 9px;
}

label[for="editCollectionFirst"], label[for="editTransferFirst"] {
    margin-left: 4px !important;
    margin-right: 0px !important;
    top: 4px !important;
}

#editDefaultWhatWasDone {
    max-width: 200px;
}

.notification-icon {
    max-height: 16px;
    position: relative;
    top: 3px;
    left: -4px;
}

.makes-container {
    display: flex;
    justify-content: center;
    gap: 10px;
    height: 100%;
}

.signature-container {
    width: 302px;
    height: 152px;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.client-logo-container {
    width: 371px;
    height: 108px;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.signature-buttons, .client-logo-buttons {
    display: flex;
    gap: 4px;
    margin-left: 10px;
    flex-direction: column;
}

.signature-buttons button, .client-logo-buttons button {
    height: 20px !important;    
}

.signature-legend {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    display: inline-block;
    text-align: center !important;
    margin-right: 0px !important;
}

#userSignature {
    max-width: 302px;
    max-height: 152px;
}

#clientLogo {
    max-width: 371px;
    max-height: 108px;
}

#editScanDiscForm .table-buttons input[type="radio"] {
    max-width: 16px !important;
    top: -2px;
}

#editScanDiscForm .table-buttons label {
    width: unset !important;
    margin-right: 0px;
    margin-left: 0px;
}

#pc-cert {
    justify-content: center;
    gap: 4px;
}

#btnRefreshTaskItems {
    height: 22px !important;
    width: 22px !important;
    padding: 0px;
    padding-top: 2px;
}    

#dates-numbers-history {
    min-width: 700px;
}

#task-history-table {
    max-width: calc(100% - 0px);
}

#editTaskForm #history_tab.active {
    display: flex;
    flex-direction: column;
}

#dates-numbers-history {
    overflow-y: auto;
    margin-bottom: 4px;
    margin-top: 4px;
    padding-top: 4px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

#task-all-history-table {
    height: 100%;
    max-height: 100%;
}