.login-logo img {
    width: 80px;
    height: 80px;
}

#login-page-logo {
    width: 65%;
    height: auto;
    margin-bottom: 20px;
}
.pass-show {
    position: absolute;
    right: 10px;
    top: 9px;
    font-size: 12px;
    font-weight: 600;
    color: #9DA1AB;
    cursor: pointer;
}

.form-signin-box .form-signin .password-toggle-field .form-control {
    padding-right: 2.75rem !important;
    text-overflow: clip;
}

.form-signin-box .form-signin .password-toggle-field .pass-show {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    line-height: 0;
    display: flex;
    align-items: center;
    user-select: none;
}

.form-signin-box .form-signin .password-toggle-field .pass-show svg {
    display: block;
}

.custom-bar nav .account-holder .profile-image {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #979797;
    font-size: 18px;
    font-weight: 700;
    color: #0B132E;
    text-align: center;
    padding: 10px;
}

.custom-bar nav .account-holder a {
    text-decoration: none;
}

.activity-table-pagination {
    font-size: .75rem;
    font-weight: 600;
    color: #9DA1AB;
}

.activity-table-pagination .dataTables_info {
    margin: 0 15px 0 0;
}

#feature-flag-module-table_length>label {
    margin: 10px 0 0 0;
}
#episodes-table_wrapper .dataTables_scrollBody {
    height: auto !important;
}
#pea-report-table_info,
#active-table_info,
#tablet-active-table_info,
#staff-active-table_info,
#traillog-table_info,
#lockout-active-table_info,
#units-table_info,
#assessment-activity-table_info,
#session-active-table_info,
#content-active-table_info,
#billing-ajax-table_info {
    margin-right: 20px;
    margin-bottom: 12px;
    color: #9DA1AB;
}

.activity-table-pagination #pea-report-table_info,
.activity-table-pagination #active-table_info,
.activity-table-pagination #staff-active-table_info,
.activity-table-pagination #tablet-active-table_info,
.activity-table-pagination #traillog-table_info,
.activity-table-pagination #fidelity-active-table_info,
.activity-table-pagination #session-active-table_info,
.activity-table-pagination #assessment-activity-table_info {
    margin-bottom: 0;
    float: none !important;
    clear: none !important;
    visibility: visible !important;
    display: flex !important;
    align-items: center !important;
}

#pea-report-table_paginate,
#active-table_paginate,
#tablet-active-table_paginate,
#staff-active-table_paginate,
#traillog-table_paginate,
#fidelity-active-table_paginate,
#archived-table_paginate,
#discharge-table_paginate,
#units-table_paginate,
#assessment-activity-table_paginate,
#lockout-active-table_paginate,
#session-active-table_paginate,
#content-active-table_paginate,
#feature-flag-module-table_paginate,
#episodes-table_paginate,
#billing-ajax-table_paginate {
    font-size: 15px;
}

/* Arrow buttons sized in list-pagination.css (22px under 31px dropdown) */
#pea-report-table_paginate a,
#active-table_paginate a,
#tablet-active-table_paginate a,
#staff-active-table_paginate a,
#units-table_paginate a,
#assessment-activity-table_paginate a,
#traillog-table_paginate a,
#fidelity-active-table_paginate a,
#archived-table_paginate a,
#discharge-table_paginate a,
#lockout-active-table_paginate a,
#session-active-table_paginate a,
#content-active-table_paginate a,
#feature-flag-module-table_paginate a,
#episodes-table_paginate a,
#billing-ajax-table_paginate a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 22px;
    height: 22px;
    padding: 0 0.4rem;
    color: #8338EC;
    border: 1px solid #8338EC;
    border-radius: 0.25rem;
    background: #fff;
    font-size: 0.8125rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

#pea-report-table_paginate a:hover,
#active-table_paginate a:hover,
#tablet-active-table_paginate a:hover,
#staff-active-table_paginate a:hover,
#units-table_paginate a:hover,
#assessment-activity-table_paginate a:hover,
#traillog-table_paginate a:hover,
#fidelity-active-table_paginate a:hover,
#archived-table_paginate a:hover,
#discharge-table_paginate a:hover,
#lockout-active-table_paginate a:hover,
#session-active-table_paginate a:hover,
#content-active-table_paginate a:hover,
#feature-flag-module-table_paginate a:hover,
#episodes-table_paginate a:hover,
#billing-ajax-table_paginate a:hover {
    color: #fff;
    background: #8338EC;
    border-color: #8338EC;
}

#pea-report-table_paginate a.disabled,
#pea-report-table_paginate .paginate_button.disabled,
#active-table_paginate a.disabled,
#active-table_paginate .paginate_button.disabled,
#staff-active-table_paginate a.disabled,
#staff-active-table_paginate .paginate_button.disabled,
#tablet-active-table_paginate a.disabled,
#traillog-table_paginate a.disabled,
#fidelity-active-table_paginate a.disabled,
#archived-table_paginate a.disabled,
#discharge-table_paginate a.disabled {
    color: #8338EC;
    background: #fff;
    border-color: #8338EC;
    opacity: 0.45;
    pointer-events: none;
    cursor: default;
}

.scroll-table-custom-height {
    height: calc(100vh - 210px);
    overflow: auto;
}

/* Support: page stays put; only the tablet table body scrolls */
.support-page {
    overflow: hidden;
}

.support-page .container-fluid,
.support-page .row.h-100 > .col-md-12 {
    height: 100%;
    min-height: 0;
}

.support-page-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.support-page-row {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.support-page-col,
.support-inventory-card {
    min-height: 0;
}

.support-inventory-card {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.support-inventory-card .sortable-main,
.support-inventory-card #wrapper,
.support-inventory-card #active-table_wrapper {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.support-inventory-card #active-table_wrapper .dataTables_scroll {
    flex: 1 1 auto;
    min-height: 0;
}

.support-inventory-card #active-table_wrapper .dataTables_scrollBody {
    flex: 1 1 auto;
    min-height: 0;
}

.support-inventory-card #active-table_wrapper .activity-table-pagination {
    flex: 0 0 auto;
}

.support-page-side {
    max-height: 100%;
    overflow: auto;
}

.icon-tablet {
    height: 24px;
}

#staff-active-table_wrapper .dropdown-menu {
    transform: translate3d(-125px, 45px, 0px) !important;
}

#table-active .tabs-content.max-height-tabs {
    padding-bottom: 1rem;
}
#staff-active-table_wrapper .dropup .dropdown-menu {
    transform: translate3d(-190px, -5px, 0px) !important;
}

table.dataTable tbody tr td {
    cursor: text;
}


.custom-overflow-scroll.max-height-tabs {
    overflow: initial !important;
}

.custom-overflow-scroll .mCustomScrollBox {
    overflow: initial !important;
}

.custom-overflow-scroll .mCSB_container {
    overflow: initial !important;
}


.ribbon {
    font-size: 14px;
    padding: 8px 16px;
    position: fixed;
    left: calc(50% - 45px);
    width: 90px;
    top: 5px;
    text-align: center;
    border-radius: 25px;
    background-color: rgba(131, 56, 236, 0.5);
    color: white;
    margin: auto;
    z-index: 9999;
    font-weight: bold;
}

.daterangepicker td.in-range {
    background-color: #EEE6F9 !important;
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
    background-color: #8338EC !important;
}

#traillog-table_wrapper .dropdown-menu {
    transform: translate3d(-125px, 45px, 0px) !important;
}

#traillog-table_wrapper tbody tr:last-child td .dropdown-menu {
    transform: translate3d(-125px, 45px, 0px) !important;

    .custom-overflow-scroll.max-height-tabs {
        overflow: initial !important;
    }

    .custom-overflow-scroll .mCustomScrollBox {
        overflow: initial !important;
    }

    .custom-overflow-scroll .mCSB_container {
        overflow: initial !important;
    }
}

/* Toggle wrapper */
.custom-toggle-switch {
    position: relative;
}

/* Hide checkbox */
.custom-toggle-switch input[type="checkbox"] {
    display: none;
}

/* Toggle label (track) */
.toggle-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

/* Slider track */
.toggle-slider {
    width: 46px;
    height: 24px;
    background-color: #ccc;
    border-radius: 999px;
    position: relative;
    transition: background-color 0.25s ease;
}

/* Knob */
.toggle-slider::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.25s ease;
}

/* Checked state */
.custom-toggle-switch input:checked + .toggle-label .toggle-slider {
    background-color: #8338EC; /* Bootstrap primary */
}

.custom-toggle-switch input:checked + .toggle-label .toggle-slider::before {
    transform: translateX(22px);
}

/* ON / OFF text */
.toggle-text {
    font-size: 13px;
    font-weight: 600;
    min-width: 30px;
    text-align: left;
}

/* Disabled Engage Economy toggle (e.g. Outpatient Program units) */
.custom-toggle-switch.is-disabled .toggle-label,
.custom-toggle-switch input:disabled + .toggle-label {
    cursor: not-allowed;
    opacity: 0.55;
    pointer-events: none;
}

.custom-toggle-switch.is-disabled input:checked + .toggle-label .toggle-slider,
.custom-toggle-switch input:disabled:checked + .toggle-label .toggle-slider {
    background-color: #ccc;
}

.economy-outpatient-message {
    color: #6c757d;
    font-size: 13px;
    font-weight: 500;
}
.vr {
    border-left: 1px solid #dee2e6;
    min-height: 100%;
}

.module-max-height-gs {
    max-height: calc(100vh - 250px) !important;
    overflow-y: auto !important; }

.pull-right {
    float: right !important;
}

.document-add-modal .modal-dialog {
    max-width: 360px;
}

.document-add-modal .modal-content {
    border: 0;
    border-radius: 3px;
    box-shadow: 0 18px 45px rgba(16, 24, 40, 0.14);
}

.document-add-modal .modal-header {
    border-bottom: 0;
    padding: 22px 22px 10px;
}

.document-add-modal .modal-title {
    color: #091225;
    font-size: 18px;
    font-weight: 800;
}

.document-add-modal .modal-body {
    padding: 0 22px 10px;
}

.document-add-modal .modal-footer {
    border-top: 0;
    padding: 12px 22px 18px;
}

.document-add-modal .form-group {
    margin-bottom: 12px;
}

.document-add-modal .paper-input {
    background: #f7f7f9;
    border: 0;
    border-radius: 0;
    color: #111827;
    min-height: 42px;
}

.document-add-modal .form-control-placeholder {
    color: #9ca3af;
    font-size: 12px;
    font-weight: 700;
}

.document-add-modal .drag-area {
    border: 1px dashed #111827;
    border-radius: 0;
    min-height: 132px;
    padding: 18px 12px !important;
}

.document-add-modal .drag-area svg {
    color: #111827;
    height: 28px;
    width: 28px;
}

.document-add-modal .file-input-button svg {
    color: #ffffff;
    height: 13px;
    width: 13px;
}

.document-add-modal .drag-file {
    color: #111827;
    font-size: 12px;
    margin-bottom: 0;
}

.document-add-modal .file-input-button,
.document-add-modal .js-submit-modal-document {
    background: #8538e8;
    border-color: #8538e8;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 800;
    min-height: 34px;
}

.document-add-modal .js-cancel-modal {
    background: #ffffff;
    border-color: #8538e8;
    color: #8538e8;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    min-height: 34px;
}

.document-add-modal .pdf_popup p {
    margin: 0;
    padding: 0;
}

.document-add-modal .visibility-section {
    background: #f7f7f9;
    margin-top: 14px;
    padding: 9px 8px 8px;
}

.document-add-modal .visibility-heading,
.document-add-modal .subsection-heading {
    color: #8538e8;
    display: block;
    font-size: 9px;
    font-weight: 800;
    margin-bottom: 4px;
}

.document-add-modal .visibility-option {
    margin-bottom: 7px;
}

.document-add-modal .visibility-option>label {
    align-items: center;
    color: #111827;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: space-between;
    margin: 0;
    min-height: 30px;
}

.document-add-modal .visibility-option>label:after {
    align-items: center;
    background: #000;
    border-radius: 50%;
    color: #fff;
    content: "▾";
    display: inline-flex;
    font-size: 13px;
    height: 28px;
    justify-content: center;
    line-height: 1;
    width: 28px;
}

.document-add-modal .visibility-option>label input {
    position: absolute;
    opacity: 0;
}

.document-add-modal .visibility-option>label span {
    display: block;
}

.document-add-modal .visibility-option-description {
    display: none;
}

.document-add-modal .units-selection,
.document-add-modal .tracks-selection {
    max-height: 200px;
    overflow-y: auto;
    border: 0;
    padding: 5px 0 0;
    margin-top: 2px;
}

.document-add-modal .units-selection {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.document-add-modal .form-check {
    align-items: center;
    border: 2px solid #8538e8;
    border-radius: 999px;
    display: inline-flex;
    margin: 0 0 7px;
    min-height: 24px;
    padding: 1px 10px 1px 8px;
}

.document-add-modal .form-check-input {
    margin: 0 6px 0 0;
    position: static;
}

.document-add-modal .form-check-label {
    color: #111827;
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.document-add-modal .track-group {
    margin-bottom: 8px;
}

.document-add-modal .track-group h6 {
    color: #8538e8;
    font-size: 9px;
    font-weight: 800;
    margin: 0 0 6px;
}

.document-add-modal #document-images {
    background: #f7f7f9;
    margin-top: 10px;
}

.document-add-modal .document-file {
    align-items: center;
    border-bottom: 1px solid #eef0f4;
    display: flex;
    font-size: 11px;
    gap: 8px;
    justify-content: space-between;
    padding: 8px;
}

.document-add-modal .visibility-validation-anchor>span {
    display: none;
}

.no-v-align td {
    vertical-align: middle !important;
}

/* Assign-tablet modal: hide add-mode-only elements when in edit mode.
   Using !important ensures it overrides Bootstrap's d-flex utility class. */
#assign-tablet-client.is-edit-mode .js-add-mode-only {
    display: none !important;
}

/* In edit mode the left-side controls are hidden, so shift Cancel/Save to the left. */
#assign-tablet-client.is-edit-mode .modal-footer {
    justify-content: flex-end !important;
}

/* Assign-tablet modal: constrain body height so header + footer stay pinned
   and the grid scrolls. 60vh fits 10 rows (~45px each) on any screen ≥ 900px. */
#assign-tablet-client .modal-body {
    overflow-y: auto;
    /* max-height: 60vh; */
    min-height: 70vh;
}

#assign-tablet-client.is-edit-mode .modal-body {
    overflow-y: auto;
    /* max-height: 60vh; */
    min-height: 10vh;
}

/* Prevent the table from collapsing inside the scrollable body */
#assign-tablet-client #assign-tablet-grid-wrapper .table-responsive {
    overflow: visible;
}
