/* ============================================================================
   SCALERZ CSS CUSTOM PROPERTIES
   Added for sidebar restructure. Maps to existing dark theme color palette.
   ============================================================================ */
:root {
    --bg-primary:           #131c28;
    --bg-secondary:         #192231;
    --bg-tertiary:          #24344d;
    --card-bg:              #1a2535;
    --text-primary:         #e2e8f0;
    --text-secondary:       #94a3b8;
    --text-muted:           #64748b;
    --border-color:         #2a3a50;
    --accent-primary:       #6366f1;
    --accent-hover:         #818cf8;
    --accent-gradient:      linear-gradient(135deg, #6366f1, #8b5cf6);
    --input-bg:             #1e2a3a;
    --sidebar-width:        260px;
    --sidebar-bg:           #0f1720;
    --sidebar-item-hover:   rgba(99, 102, 241, 0.08);
    --sidebar-item-active:  rgba(99, 102, 241, 0.15);
    --sidebar-section-color:#4a5568;
    --transition-fast:      150ms ease;
    --transition-normal:    250ms ease;
    --radius-sm:            6px;
    --radius-md:            8px;
}

@font-face {
    font-family: 'Metropolis Regular';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/Metropolis-Regular.eot');
    /* IE9 Compat Modes */
    src: local('Metropolis Regular'), local('Metropolis-Regular'),
        url('../fonts/Metropolis-Regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('../fonts/Metropolis-Regular.woff') format('woff'),
        /* Modern Browsers */
        url('../fonts/Metropolis-Regular.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('../fonts/Metropolis-Regular.svg#Quicksand') format('svg');
    /* Legacy iOS */
}

.customers-nav-item-knowledge-base::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f059";
    position: absolute;
    top: 4px;
}

.customers-nav-item-register::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f234";
    position: absolute;
    top: -10px;
}

.customers-nav-item-login::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f2bd";
    position: absolute;
    top: -10px;
}

.customers-nav-item-subscriptions::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f0e2";
    position: absolute;
    top: -10px;
}

.customers-nav-item-knowledge-base {
    margin-top: 8px !important;
}

.customers-nav-item-projects::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f0ae";
    position: absolute;
    top: -10px;
}

.customers-nav-item-invoices::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f15c";
    position: absolute;
    top: -10px;
}

.customers-nav-item-contracts::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f0c0";
    position: absolute;
    top: -10px;
    left: -2px;
}

.customers-nav-item-estimates::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f0ea";
    position: absolute;
    top: -10px;
}

.customers-nav-item-proposals::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f1c4";
    position: absolute;
    top: -10px;
}

.customers-nav-item-support::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f025";
    position: absolute;
    top: -10px;
}

.customers-nav-item-gdpr::before {
    font: normal normal normal 20px/1 FontAwesome;
    content: "\f13e";
    position: absolute;
    top: -10px;
}

.progress-bar-danger {
    background-color: #fd5262;
}

.pagination>.disabled>a,
.pagination>.disabled>a:focus,
.pagination>.disabled>a:hover,
.pagination>.disabled>span,
.pagination>.disabled>span:focus,
.pagination>.disabled>span:hover {
    background-color: #24344d;
    border: 1px;
    border-color: #344561;

}

.pagination>li>a {
    color: #ffffff;
}

.pagination>li>a:hover {
    color: #ffffff;
}

.table .alert-info {
    color: #ffffff;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    border-color: #2c405f;
}

body.customers .list-status,
body.customers .list-status a {
    background: #273750 !important;
    border: #344561 !important;
}

body .col-md-2 {
    width: 19.666667%;
}

body.customers .nav-tabs>li.active>a,
body.customers .nav-tabs>li.active>a:focus,
body.customers .nav-tabs>li.active>a:hover,
body.customers .nav-tabs>li>a:focus,
body.customers .nav-tabs>li>a:hover {
    border-color: rgb(44, 114, 243);
}

body.customers .nav-tabs>li.active>a,
body.customers .nav-tabs>li.active>a:focus,
body.customers .nav-tabs>li.active>a:hover,
body.customers .nav-tabs>li>a:focus,
body.customers .nav-tabs>li>a:hover {
    color: rgb(44, 114, 243);
}

body.customers .panel-body ul li>a:hover,
body.customers .panel-body ul li>a:focus {
    outline: unset;
    color: rgb(44, 114, 243);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

body.customers .nav-tabs>li>a {
    padding: 12px 13px 12px 12px;
}

body .btn-default {
    color: #415164;
    background-color: #33445f;
    border-color: #415164;
}

body .btn.btn-default:active,
body .btn.btn-default:focus,
body .btn.btn-default:hover {
    background-color: #3674c3;
    color: #fff !important;
}

.panel-heading {
    background: #24344d !important;
    border: 1px solid #344561 !important;
}

.panel_s,
.panel-body {
    -webkit-box-shadow: unset !important;
    box-shadow: unset !important;
}

.panel_s>.panel-heading-bg.info-bg {
    background: rgb(44, 114, 243) !important;
    border: 1px solid rgb(44, 114, 243) !important;
}

body .profile .text-muted {
    color: rgba(225, 235, 245, .90) !important;
}

body.customers .panel_s .panel-body,
body.customers .panel_s {
    background: #24344D;
    border: none;
    border-bottom: 1px solid #24344D;
}

body {
    -ms-overflow-x: hidden;
    overflow-x: hidden;
    background-color: #192231 !important;
    background: #192231 !important;
}

body .navbar.navbar-default.header {
    background: #131c28;
    color: #fff;
}

body.viewinvoice *:not(.s-status) {
    color: rgba(225, 235, 245, .90) !important;
}

body.customers table tr td.description span {
    color: #fff !important;
}

body.customers address b,
body.customers table tr td.description span strong,
body.customers address b,
body.customers p:not([class^="text-"]),
body.customers .subtotal,
body.customers .total {
    color: #9e9e9e !important;
}

body.customers h4,
body.customers .bold {
    color: #fff !important;
}

body th {
    background: #192231 !important;
    color: #fff !important;
}

.text-dark {
    color: rgba(225, 235, 245, .90);
}

li a i.menu-icon {
    margin-right: 16px;
    display: block;
    float: left;
    width: 18px;
    font-size: 18px;
}

body #wrapper th::after {
    color: #b7b0b0;
}

body #wrapper th {
    background: #e2e2e2;
    color: #3c3939 !important;
}

.dropzone .dz-message {
    color: #ffffff;
}

#dropzoneDragArea,
.dropzoneDragArea {
    background-color: #24344d;
    border: 1px dashed #344561;
    border-radius: 4px;
    padding: 60px;
    text-align: center;
    margin-bottom: 15px;
    cursor: pointer;
}

.dataTables_empty {
    background: url(images/table-no-data.png) center center / auto 161px no-repeat;
}

.admin_light_theme_initiated table.dataTable thead tr>th,
.table.dataTable>thead:first-child>tr:first-child>th {
    color: #4e75ad;
}

body.customers #wrapper table>thead>tr>th {
    background: #273750 !important;
    color: #cdd7e1 !important;
    border: none;
    border-top: 1px solid #344561 !important;
    border-bottom: 1px solid #344561 !important;
}

body.customers .border-right {
    border-right: 1px solid #dcdfe2 !important;
}

body.customers hr {
    border-top: 1px solid #344561 !important;
}

body.customers .table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #24344d;
}

body .table.items .main {
    background-color: #24344d !important;
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
    border-top: 1px solid #344561;
}

.table-bordered>tbody>tr>td,
.table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>td,
.table-bordered>tfoot>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>thead>tr>th {
    border: 1px solid #344561;
}

.table.items .bootstrap-select .btn-default,
.table.items input:not(.input-transparent),
.table .input-group input,
.table input,
.table.items textarea {
    background: #24344d !important;
    border-color: #344561 !important;
    color: #fff !important;
}

.table.items input:not(.input-transparent):focus,
.table.items textarea:focus {
    border-color: #384c6d !important;
}

.input-group-addon {
    border: 1px solid #24344d;
    background-color: #24344d;
    color: #97a8be;
}

body select,
body .filter-option,
body .filter-option-inner,
body .filter-option-inner-inner {
    border-color: #344561 !important;
}

body .control-label,
body label {
    font-weight: 400;
    font-size: 13px;
    color: #fefefe;
}

body .btn.dropdown-toggle {
    background: #24344d !important;
    border-color: #344561 !important;
}

body .alert button.close,
button.close {
    color: #000000 !important;
    text-shadow: 0 1px 0 #000 !important;
}

body .modal-content .btn.btn-default:not(.dropdown-toggle) {
    color: #fff !important;
}

body table td span.pull-left {
    margin-top: 3px;
}

body .dz-image {
    background: #ffffff;
}

.nav-tabs {
    border-top: 1px solid #344561;
    border-bottom: 1px solid #344561;
}

.panel_s>.panel-footer {
    background: #24344d;
    border: 1px solid #24344d;
}

body .modal-content #newsfeed .newsfeed_post .user-post-like,
body .modal-content .panel-footer.user-comment,
body .modal-content .panel-footer .no-margin,
body .modal-content .comment-content {
    background: transparent !important;
}

.modal-content select,
.modal-content .filter-option,
.modal-content .filter-option-inner,
.modal-content .btn.dropdown-toggle,
.modal-content .filter-option-inner-inner {
    background: #fff !important;
}

.modal-content input:focus {
    border-color: #becad8 !important;
}

.modal-content .tagit-autocomplete.ui-widget-content,
.modal-content ul.tagit-autocomplete .ui-menu-item-wrapper.ui-state-active,
.modal-content ul.tagit-autocomplete .ui-menu-item-wrapper:focus,
.modal-content ul.tagit-autocomplete .ui-menu-item-wrapper:hover {
    background: #fff !important;
}

.bootstrap-select.task-action-select .btn-default,
.bootstrap-select.task-action-select.btn-default.active,
.bootstrap-select.task-action-select.btn-default:active,
.bootstrap-select.task-action-select.open>.dropdown-toggle.btn-default,
.bootstrap-select.task-action-select>.btn-default:hover {
    background-color: #fff !important;
    background: #fff !important;
    color: #777 !important;
}

.modal-content .bootstrap-select .dropdown-toggle .filter-option-inner-inner {
    padding-left: 10px;
}

.modal-content .btn.dropdown-toggle {
    background: #fff !important;
    border: 1px solid #bfcbd9 !important;
}

.modal-content .text-muted {
    color: #777 !important;
}

.modal-content a,
.modal-content .btn-info {
    color: #fff !important;
}

.modal-content span:not([class^="mce-"]):not([class^="rel_"]),
.modal-content a:not(.btn-success):not(.btn-danger):not(.btn-info):not(.btn-default):not(.btn-primary) {
    color: rgb(44, 114, 243) !important;
}

.modal-content textarea,
.modal-content #dropzoneDragArea,
.modal-content .dropzoneDragArea {
    border-color: #becad8 !important;
    background-color: #fff !important;
    color: #333 !important;
}

.modal-content .bootstrap-select .status {
    color: #fff !important;
}

.modal-content hr {
    border-color: #becad8 !important;
}

.modal-content a.btn-info {
    color: #FFF !important;
}

.modal-content .text-dark {
    color: #464646 !important;
}

#invoice-preview .table-responsive span {
    color: #fff !important;
}

body #wrapper .modal-content input,
body #wrapper .modal-content textarea,
body #wrapper .modal-content .btn.dropdown-toggle.btn-default {
    border: 1px solid #bfcbd9 !important;
    background: #FFF !important;
    color: #555 !important;
}

.modal-content .modal-header {
    background: #33445f;
    background: -webkit-gradient(linear, left top, left bottom, from(#33445f), to(#24344D));
    background: linear-gradient(to left, #33445f 0%, #24344D 50%);
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
}

.modal-content .modal-title .edit-title,
.modal-content .modal-title,
.modal-content .modal-title .add-title {
    color: #fff !important;
}

.modal-content div,
.modal-content label {
    color: #333 !important;
}

.modal-header .close {
    color: #ffffff;
}

.modal-dialog button.close[data-dismiss="modal"] span {
    position: absolute;
    right: 27px;
    top: 19px;
    font-size: 19px;
}

.modal-content .input-group label {
    color: #fff !important;
}

body #wrapper .top_stats_wrapper {
    background: #24344D;
    border: none;
}

.widget-dragger {
    color: #8a8a8a;
}

body.customers .form-group input {
    background: #243148 !important;
    border-color: #344561 !important;
}

.dropzone .dz-message {
    color: #ffffff;
}

.text-muted {
    color: #cdd7e1 !important;
}

.text-danger {
    color: #fd5262;
}

body .navbar-default .navbar-nav>li.customers-nav-item-login>a,
body .navbar-default .navbar-nav>li.customers-nav-item-login>a:hover {
    background: transparent;
}

body .dropdown-menu {
    background-color: #24344d;
    border: 1px solid #ccc;
    border: 1px solid rgb(52, 69, 97);
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:visited {
    background: #33445f;
}

body .dropdown-menu>li>a {
    padding: 10px !important;
}

body .dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover {
    outline: 0 !important;
    color: #ffffff !important;
}

body #wrapper ul .divider {
    margin: 0;
}

body #wrapper ul .divider {
    border: 1px solid #344561 !important;
}

body .btn-group.open .dropdown-toggle {
    border: 1px solid #344561 !important;
}

body #wrapper li.active a {
    background: #24344d;
}

body.customers .submenu li a:active,
body.customers .submenu li a:focus,
body.customers .navbar li a:hover,
body.customers li a:hover {
    color: #fff !important;
    background: transparent;
}

body.customers input:focus,
body.customers textarea:not(.clients_textarea):focus {
    border: 1px solid #354f79 !important;
}

body textarea.clients_textarea {
    color: #333 !important;
}

body textarea:not(.clients_textarea) {
    background: #24344d !important;
    border-color: #344561 !important;
    color: #fff !important;
}

body #wrapper ul.dropdown-menu {
    background: #24344d;
}

.dropdown-menu>.active>a:hover {
    background: #ffffff;
}

form.dropzone {
    background-color: #24344d;
    border: 1px dashed #344561;
    border-radius: 4px;
    padding: 60px;
    text-align: center;
    margin-bottom: 15px;
    cursor: pointer;
}

body #wrapper .input-group-addon,
body #wrapper .input-group input {
    color: #d8d3d3 !important;
    border-color: #344561;
}

body .fa.fa-search {
    color: #fff !important;
}

body.customers .tab-separator {
    border-color: #344561 !important;
}

body.customers #invoice_top_info .panel-body {
    background: #24344d;
    border: 1px solid #24344d;
}

body.customers .table-loading {
    background: none !important;
}

body.customers a,
body.customers button,
body.customers div:not(.float-alert) {
    font-family: inherit;
    color: rgba(225, 235, 245, .90) !important;
}

body.customers li a i.menu-icon {
    margin-right: 16px;
    display: block;
    float: left;
    width: 18px;
    font-size: 18px;
}

body.customers .footer {
    display: none;
}

body.customers ul.submenu a {
    font-size: 16px !important;
}

body.customers .kb-search-jumbotron {
    background: #192231;
}


body.customers input {
    color: #fff !important;
}

body.customers a,
body.customers input,
body.customers button,
body.customers select,
body.customers textarea,
body.customers option,
body.customers div {
    font-family: inherit;
}

body .navbar.navbar-default.header .container {
    position: fixed;
    float: left;
    height: 100vh;
    width: 230px;
    overflow-y: auto;
}

body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right {
    width: 180px;
    background: transparent;
    margin-right: 77px;
}

body .customers-nav-item-knowledge-base a {
    margin-top: 15px;
}

body .navbar-nav>li {
    margin-top: 8px;
}

body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li a {
    color: rgba(225, 235, 245, .90);
    margin-bottom: 5px;
    padding: 0;
    margin-left: 30px;
}

#wrapper {
    min-height: 100%;
    margin-left: 240px;
    position: relative;
}

body #theme-navbar-collapse ul.nav.navbar-nav.navbar-right>li {
    margin-bottom: 0px;
    width: 230px;
}

body .submenu.customer-top-submenu {
    margin-top: 25px;
    margin-right: 60px;
}

body .dropdown.customers-nav-item-profile {
    position: absolute;
    left: 127px;
    top: -15px;
}

body .client-profile-image-small {
    margin-left: -2px;
}

body .navbar-default .navbar-nav>li>a {
    line-height: 20px;
    font-size: 15px;
}

body.customers_login .navbar-nav li.customers-nav-item-login a {
    padding: 8px 10px;
}

body .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn a {
    margin-left: 0px !important;
}

body .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn {
    position: absolute;
    left: 46px;
    top: 47px;
}

body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li a:hover {
    color: rgb(44, 114, 243);
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
    width: 230px;
    margin-left: -15px;
}

.customers .navbar-default {
    z-index: 10;
    width: 230px;
    position: fixed;
    background-color: #fff;
    height: 100vh;
}

.navbar a.navbar-brand img {
    margin-left: 15px;
}

body.customers .progress .progress-bar {
    color: #2d2d2d !important;
}

body .progress {
    width: 100%;
    height: 30px;
}

body .progress-bar {
    height: 100%;
    font-size: 15px;
    line-height: 30px;
}

body.customers .dataTables_empty {
    background: url(../images/table-no-data.png) center center / auto 161px no-repeat;
}

body.customers table.dataTable thead tr>th,
body.customers table.dataTable>thead:first-child>tr:first-child>th {
    color: #333333;
}

body.customers table>thead>tr>th {
    background: #e2e2e2;
}

body.customers .pagination>.active>a {
    background: #24344d;
    border-color: #344561;
    -webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    -ms-transition: all 0.6s;
    -o-transition: all 0.6s;
    transition: all 0.6s;
}



body.customers .table .alert-info {
    color: rgb(44, 114, 243);
}

body.customers .pagination>.active>a:focus,
body.customers .pagination>.active>a:hover,
body.customers .pagination>.active>span,
body.customers .pagination>.active>span:focus,
body.customers .pagination>.active>span:hover {
    color: #fff;
    background-color: #283850;
}

body.customers select.form-control {
    color: rgba(225, 235, 245, .90) !important;
    background-color: #24344d !important;
}

body .dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover,
.dropdown-menu>.active>a:active {
    background-color: rgb(44, 114, 243) !important;
    color: #ffffff !important;
}

@media (max-width:1430px) {
    .panel_s {
        width: 80%;
    }

    .submenu.customer-top-submenu {
        float: left;
        margin-left: 2px;
    }
}

@media (max-width:990px) {
    body .col-md-2 {
        width: 100%;
    }
}

@media (max-width:768px) {
    body .table-responsive {
        padding: 15px 0 15px 0;
        border: 1px solid #344561;
    }

    body .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn a {
        margin-left: 30px !important;
    }

    body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li a {
        color: #333333;
        margin-bottom: -2px;
        padding: 0;
    }

    body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li {
        text-align: center;
        margin-bottom: 0px;
    }

    .panel_s {
        width: 100%;
    }

    #wrapper {
        margin-left: 0px;
    }

    body .navbar.navbar-default.header .container {
        position: unset;
        float: none;
        height: auto;
        width: auto;
    }

    body .navbar-default .navbar-form {
        width: auto;
        margin: 100%;
    }

    body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right {
        width: 100%;
        margin-right: 0;
    }

    body.customers .navbar-default {
        width: 100%;
        height: auto;
        margin-left: auto;
    }

    body .navbar>.container .navbar-brand,
    .navbar>.container-fluid .navbar-brand {
        margin-left: auto;
        margin-top: auto;
    }

    body .navbar-default .navbar-collapse,
    .navbar-default .navbar-form {
        width: auto;
    }

    body .navbar-default .navbar-nav>li>a {
        position: relative;
        font-size: 18px;
        text-align: center;
        line-height: 20px;
    }

    body #theme-navbar-collapse ul.nav.navbar-nav.navbar-right>li {
        margin-bottom: auto;
        width: auto;
    }

    body .navbar-default .navbar-collapse,
    .navbar-default .navbar-form {
        border-color: rgb(44, 114, 243);
    }

    body .navbar-default .navbar-toggle .icon-bar {
        background-color: rgb(44, 114, 243);
    }

    body .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn {
        text-align: center;
        margin-left: 7px;
        position: unset;
    }

    body .dropdown.customers-nav-item-profile {
        position: unset;
    }

    body .navbar-default .navbar-collapse {
        width: auto;
    }

    .customers-nav-item-knowledge-base::before,
    .customers-nav-item-projects::before,
    .customers-nav-item-invoices::before,
    .customers-nav-item-contracts::before,
    .customers-nav-item-estimates::before,
    .customers-nav-item-proposals::before,
    .customers-nav-item-support::before,
    .customers-nav-item-register::before,
    .customers-nav-item-login::before,
    .customers-nav-item-gdpr::before {
        display: none;
    }

    .customers-nav-item-login a {
        position: unset !important;
    }
}

input[type="radio"]:checked+label:after,
input[type="checkbox"]:checked+label:after,
.radio-primary input[type=radio]+label::after {
    background: rgb(44, 114, 243) !important;
    color: #033450;
}

input[type="checkbox"]:checked+label:after {
    width: 18px;
    height: 18px;
    padding-right: 3px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    color: #ffffff;
}

input[type=radio]:checked+label::before {
    border-color: rgb(44, 114, 243) !important;
}

.input-group-addon .checkbox label::after {
    padding: 3px;
}

tr th:first-child input[type="checkbox"]:checked+label:after {
    background: #ffffff !important;
    color: rgb(44, 114, 243);
}

.dt-loader:not(:required) {
    background: rgb(44, 114, 243);
    height: 13px;
    width: 13px;
    -webkit-border-radius: 30%;
    border-radius: 30%;
    -webkit-animation: loader 1s 150ms infinite ease-out;
    animation: loader 1s 150ms infinite ease-out;
}

.dt-loader:not(:required):after,
.dt-loader:not(:required):before {
    background: rgb(44, 114, 243);
    height: 13px;
    width: 13px;
    -webkit-border-radius: 30%;
    border-radius: 30%;
}

@-webkit-keyframes loader {
    0% {
        background: rgb(44, 114, 243);
    }

    10% {
        background: #c5c5c5;
    }

    40% {
        background: rgb(44, 114, 243);
    }
}

@keyframes loader {
    0% {
        background: rgb(44, 114, 243);
    }

    10% {
        background: #c5c5c5;
    }

    40% {
        background: rgb(44, 114, 243);
    }
}

.navbar>.container .navbar-brand,
.navbar>.container-fluid .navbar-brand {
    margin-left: -15px;
    margin-top: -10px;
    margin-bottom: -19px;
}

.btn-info:focus,
.btn-info.focus,
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.open>.dropdown-toggle.btn-info,
.btn-info:active:hover,
.btn-info.active:hover,
.open>.dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open>.dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open>.dropdown-toggle.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open>.dropdown-toggle.btn-info {
    background-color: rgb(44, 114, 243) !important;
    color: #fff !important;
    border: 1px solid rgb(44, 114, 243) !important;
}

.bootstrap-select.task-action-select .btn-default,
.bootstrap-select.task-action-select.btn-default.active,
.bootstrap-select.task-action-select.btn-default:active,
.bootstrap-select.task-action-select.open>.dropdown-toggle.btn-default,
.bootstrap-select.task-action-select>.btn-default:hover {
    background-color: #fff !important;
    background: #fff !important;
    color: #777 !important;
}

.btn-info {
    background-color: rgb(44, 114, 243) !important;
    border-color: rgb(44, 114, 243) !important;
}

.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
    background-color: rgb(44, 114, 243) !important;
    color: #fff !important;
    border-color: rgb(44, 114, 243) !important;
}


.btn-success {
    background-color: #07cc04 !important;
}

.success-bg {
    background: #07cc04 !important;
    color: #fff !important;
    border: 1px solid #07cc04 !important;
}

.btn-success:focus,
.btn-success.focus,
.btn-success:hover,
.btn-success:active,
.btn-success.active,
.open>.dropdown-toggle.btn-success,
.btn-success:active:hover,
.btn-success.active:hover,
.open>.dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open>.dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open>.dropdown-toggle.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open>.dropdown-toggle.btn-success {
    background-color: #00a200;
    color: #fff;
    border-color: #00a200
}

.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
    background-color: #41ff3d !important;
    color: #fff !important;
    border-color: #41ff3d !important;
}

body textarea:not(.clients_textarea),
body input:not([class^="task-"]):not([class^="ui-"]):not([class^="form-"]) {
    background: #33445f !important;
    border-color: #344561 !important;
    color: rgba(225, 235, 245, .90) !important;
}

body.customers .dropdown .btn {
    border: 1px solid #344561 !important;
}

body.customers .btn {
    font-size: 14px !important;
    border: 0px !important;
}

body.customers .btn-success {
    border-color: #07cc04 !important;
}

body ul.nav.navbar-nav.navbar-right .dropdown-menu.animated.fadeIn li a {
    margin-bottom: -7px !important;
    padding: 14px !important;
}

body.customers .btn-danger {
    border: 3px solid;
    background-color: #ef4848 !important;
}

.btn-danger:focus,
.btn-danger.focus,
.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.open>.dropdown-toggle.btn-danger,
.btn-danger:active:hover,
.btn-danger.active:hover,
.open>.dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open>.dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open>.dropdown-toggle.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open>.dropdown-toggle.btn-danger {
    background-color: #e63939 !important;
    color: #fff !important;
    border-color: transparent !important;
}

.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
    background-color: #ff3232;
    color: #fff;
    border-color: #ff3232;
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_desc_disabled:after {
    opacity: 0.8;
}

.customers-nav-item-login a {
    top: -44px;
    position: absolute;
    width: 0;
    height: 0;
}

.btn-danger {
    border-color: #ff0000;
}

.waves-effect {
    position: relative;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent
}

.waves-effect .waves-ripple {
    position: absolute;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin-top: -50px;
    margin-left: -50px;
    opacity: 0;
    background: rgba(0, 0, 0, .2);
    background: -webkit-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: -o-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: -moz-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
    -webkit-transition: all .5s ease-out;
    -moz-transition: all .5s ease-out;
    -o-transition: all .5s ease-out;
    transition: all .5s ease-out;
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    -o-transition-property: -o-transform, opacity;
    transition-property: transform, opacity;
    -webkit-transform: scale(0) translate(0, 0);
    -moz-transform: scale(0) translate(0, 0);
    -ms-transform: scale(0) translate(0, 0);
    -o-transform: scale(0) translate(0, 0);
    transform: scale(0) translate(0, 0);
    pointer-events: none
}

.waves-effect.waves-light .waves-ripple {
    background: rgba(255, 255, 255, .4);
    background: -webkit-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: -o-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: -moz-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
    background: radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%)
}

.waves-effect.waves-classic .waves-ripple {
    background: rgba(0, 0, 0, .2)
}

.waves-effect.waves-classic.waves-light .waves-ripple {
    background: rgba(255, 255, 255, .4)
}

.waves-notransition {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.waves-button,
.waves-circle {
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%);
    -webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%);
}

.waves-button,
.waves-button-input,
.waves-button:hover,
.waves-button:visited {
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    outline: 0;
    color: inherit;
    background-color: rgba(0, 0, 0, 0);
    font-size: 1em;
    line-height: 1em;
    text-align: center;
    text-decoration: none;
    z-index: 1
}

.waves-button {
    padding: .85em 1.1em;
    border-radius: .2em
}

.waves-button-input {
    margin: 0;
    padding: .85em 1.1em
}

.waves-input-wrapper {
    border-radius: .2em;
    vertical-align: bottom
}

.waves-input-wrapper.waves-button {
    padding: 0
}

.waves-input-wrapper .waves-button-input {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1
}

.waves-circle {
    text-align: center;
    width: 2.5em;
    height: 2.5em;
    line-height: 2.5em;
    border-radius: 50%
}

.waves-float {
    mask-image: none;
    -webkit-mask-image: none;
    -webkit-box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12);
    box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12);
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

.waves-float:active {
    -webkit-box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3);
    box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3)
}

.waves-block {
    display: block
}

.nanobar {
    width: 100%;
    height: 0px;
    z-index: 100;
    top: 0;
    background: #fff;
}

.bar {
    width: 0;
    height: 100%;
    transition: height .3s;
    background: rgb(44, 114, 243);
    height: 4px;
}

body.customers_login {
    background: #8e8e8e;
    background: -webkit-linear-gradient(-180deg, #8e8e8e, #5d5b5b);
    background: -o-linear-gradient(-180deg, #8e8e8e, #5d5b5b);
    background: -moz-linear-gradient(-180deg, #8e8e8e, #5d5b5b);
    background: linear-gradient(-180deg, #8e8e8e, #5d5b5b);
    min-height: 100vh;
}

body.customers_login .btn-info:hover {
    background: #2e76d2 !important;
}

body.customers_login .btn.active.focus,
body.customers_login .btn.active:focus,
body.customers_login .btn.focus,
body.customers_login .btn:active.focus,
body.customers_login .btn:active:focus,
body.customers_login .btn:focus {
    outline: 0px;
    outline-offset: 0px;
}

body.customers_login .btn {
    font-size: 16px;
}

body.customers_login .btn-success {
    margin-top: 10px !important;
    height: 40px;
}

body.customers_login .btn-info {
    height: 40px;
    border-radius: 6px !important;
    background: rgb(44, 114, 243) !important;
    outline-color: transparent;
    transition: background 700ms;
    -webkit-transition: background 700ms;
    -moz-transition: background 700ms;
    -ms-transition: background 700ms;
    -o-transition: background 700ms;
}

body.customers_login .line_toggler {
    text-align: left;
    display: block;
    width: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

body.customers_login form input:focus {
    outline: none;
}

body.customers_login form input {
    padding: 8px;
    border: none !important;
    padding-left: 40px !important;
    -webkit-border-radius: 0px !important;
    border-radius: 0px !important;
    padding-top: 6px;
    caret-color: #444;
    background-color: rgba(0, 0, 0, 0.03) !important;
}

body.customers_login .form-group a {
    margin: 0 auto;
    padding-left: 14px;
    padding-top: 10px;
}

body.customers_login .checkbox {
    padding: 10px;
    text-align: center;
    color: #337ab7;
    font-size: 16px;
}

body.customers_login .panel-body {
    text-align: center;
}

body.customers_login .form-group:last-child {
    text-align: center;
    padding: 20px;
    font-size: 16px;
}

body.customers_login .line_toggler:before {
    content: "";
    display: inline-block;
    position: absolute;
    margin-top: -2px;
    width: 0;
    height: 2px;
    background: rgb(44, 114, 243);
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    -moz-transition: all .4s;
    transition: all .4s;
}

body.customers_login form input:focus+.line_toggler::before {
    width: calc(100% - 40px);
    background: rgb(44, 114, 243)
}

body.customers_login .form-group label {
    display: block;
    max-width: 100%;
    margin-bottom: -12px;
    text-align: left;
    font-weight: 500 !important;
}

body.customers_login .fa-user-circle-o:before {
    font-family: 'FontAwesome';
    content: "\f2be";
}

body.customers_login .fa-key:before {
    content: "\f084";
    font-family: 'FontAwesome';
}

body.customers_login .icon_input_focus::before {
    color: #354561 !important;
}

body.customers_login .text-uppercase.mbot20.login-heading {
    margin-top: 80px;
}

body.customers_login .login_icon::before {
    color: #808388;
    -webkit-transition: all .6s;
    -o-transition: all .6s;
    -moz-transition: all .6s;
    transition: all .6s;
}

body.customers_login .login_icon {
    position: relative;
    padding-bottom: 4px;
    font-size: 20px;
    top: 32px;
    padding-left: 10px;
    float: left;
}


::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
}

::-webkit-scrollbar-thumb {
    background-color: #344561;
}

::-webkit-scrollbar-track {
    background-color: #ffffff;
}

body.customers_login input:focus {
    border: none !important;
}

body.customers .input-group-addon,
body.customers .input-group input {
    color: #7d7171 !important;
    border-color: #344561;
    background: #24344d !important;
}

body table a:hover {
    color: rgb(44, 114, 243) !important;
}


body.customers #project-file-discussion .comment-wrapper {
    background: #fefefe !important;
    border-radius: 5px !important;
}

body.customers .jquery-comments .textarea-wrapper .textarea {
    color: #333 !important;
}

body.customers .jquery-comments ul.main li.comment .name {
    color: #0081bb !important;
}

body.customers #project_file_data .project_file_discusssions_area {
    height: auto !important;
}

body.customers #project-file-discussion.jquery-comments ul.main li.comment .wrapper .content,
body.customers #project-file-discussion .action.reply,
body.customers #project-file-discussion .action.edit {
    color: #192231 !important;
}

body.customers #project_file_data .img.img-responsive {
    max-height: 273px !important;
}

body.customers .project_file_discusssions_area .jquery-comments ul.navigation li[data-container-name="comments"],
body.customers .project_file_discusssions_area .jquery-comments ul.navigation li[data-container-name="comments"] .jquery-comments ul.navigation li[data-container-name="comments"]:hover {
    color: #312f2f !important;
}

body.customers .project_file_discusssions_area .jquery-comments ul.navigation li.active,
.jquery-comments ul.navigation li:hover {
    color: #1666d0 !important;
}

body.customers #project-file-discussion .control-row .send.save,
body.customers #project-file-discussion .control-row .send.save {
    background: #23334c !important;
    color: #fdfdfd !important;
}

body.customers #wrapper .project_file_area {
    height: 100% !important;
}

body .mce-menubar .mce-menubtn button span,
body .mce-menubar .mce-caret {
    color: #fff !important;
}

body .mce-panel {
    border: 0 solid #f7f9fa !important;
    border: 0 solid #344561 !important;
    background-color: #24344d !important;
}

body .mce-btn {
    background-color: #25354e !important;
}

body .mce-btn .mce-txt {
    color: #fff5f5 !important;
}

body .mce-btn i {
    text-shadow: none !important;
}

body .mce-caret {
    border-top: 4px solid #fff !important;
}

body .mce-ico {
    color: #fff !important;
}

body .mce-menubar {
    border: 1px solid #344561 !important;
}

body .mce-menubar .mce-menubtn:hover,
body .mce-menubar .mce-menubtn.mce-active,
body .mce-menubar .mce-menubtn:focus {
    border-color: #344561 !important;
    background: #2a3f61 !important;
}

body .mce-menu {
    background: #24344d !important;
}

body .mce-menu-item .mce-ico,
body .mce-menu-item .mce-text {
    color: #fff !important;
}

body .mce-btn:hover,
body .mce-btn:focus,
body .mce-btn:active {
    color: #333 !important;
    background-color: #2a3f61 !important;
    border-color: #344561 !important;
}

body .modal-backdrop.fade.in {
    position: unset !important;
}

body.viewinvoice #wrapper,
body.viewinvoice #wrapper,
body.viewproposal #wrapper,
body.contract-view #wrapper {
    margin-left: 0px !Important;
}

body .mce-btn.mce-active,
body .mce-btn.mce-active:hover {
    background-color: #2a3f61 !important;
    border-color: #344561 !important;
}

div.mce-edit-area {
    background: #32435e !important;
}

body .pagination>li>a,
body .pagination>li>span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #337ab7;
    text-decoration: none;
    background-color: #24344d;
    border: 1px solid #ddd;
}

body .pagination>.active>a,
body .pagination>.active>a:focus,
body .pagination>.active>a:hover,
body .pagination>.active>span,
body .pagination>.active>span:focus,
body .pagination>.active>span:hover {
    border-color: #dddddd;
}

body .pagination>li>a:focus,
body .pagination>li>a:hover,
body .pagination>li>span:focus,
body .pagination>li>span:hover {
    color: #1b829b;
    background-color: #304c79;
    border-color: #ddd;
}

body .modal-content .input-group input,
body .modal-content .form-group input {
    background: #fff !important;
    border-color: #becad8 !important;
    color: #333 !important;
}

body .modal-content .pagination>.active>a,
body .modal-content .pagination>.active>a:focus,
body .modal-content .pagination>.active>a:hover,
body .modal-content .pagination>.active>span,
body .modal-content .pagination>.active>span:focus,
body .modal-content .pagination>.active>span:hover {
    border-color: #334460 !important;
    background-color: #ececec !important;
}

body .modal-content .pagination>li>a {
    background-color: #ffffff !important;
}

body .modal-content .pagination>li>a:focus,
body .modal-content .pagination>li>a:hover,
body .modal-content .pagination>li>span:focus,
body .modal-content .pagination>li>span:hover {
    color: #1b829b !important;
    background-color: #f7f7f7 !important;
    border-color: #334460 !important;
}

body .modal-content .input-group-btn .btn-info:hover {
    border: 2px solid #3168b2 !important;
}

body .modal-content .input-group-btn .btn-info {
    border-color: #3168b2;
    border: 2px solid #3168b2;
}

.form-control {
    background-color: #23334c;
}

.tasks-phases ._task_wrapper {
    background: #24344d;
}

._task_wrapper.overdue-task {
    background: #fb6a6a !important;
    border-color: #fb6a6a !important;
}

.panel-footer {
    background-color: #192231;
    border-top: 1px solid #192231;
    margin-bottom: 15px;
}

.jquery-comments ul.navigation li {
    color: #131c28;
}

.jquery-comments ul.navigation li[data-sort-key="attachments"] {
    color: #2a7fee !important;
}

.jquery-comments ul.navigation li.active,
.jquery-comments ul.navigation li:hover {
    color: #fefefe;
}

.jquery-comments ul.navigation li:not([data-sort-key="attachments"]):not(li.active) {
    color: #fff;
}

body.customers .client-reply {
    background: #24344D !important;
    color: #333;
}

body.customers #wrapper #botlink,
body.customers #wrapper #toplink {
    color: #2c72f3 !important;
}

body.customers #wrapper .alert-info a,
body.customers #wrapper .alert-info {
    color: #31708f !important;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.fn-gantt .bottom,
.fn-gantt .leftPanel .desc,
.fn-gantt .rightPanel .month,
.fn-gantt .rightPanel .year,
.fn-gantt .spacer,
.fn-gantt .wd {
    background-color: #24344d;
}

.fn-gantt .leftPanel .fn-label {
    color: #ffffff;
}

body #wrapper .btn,
body #wrapper textarea:not(.chatbox):not(.client_chatbox),
body #wrapper input,
body #wrapper div.label,
body #wrapper .bootstrap-select .dropdown-menu li,
body #wrapper select {
    border-radius: 0px !important;
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    -ms-border-radius: 0px !important;
    -o-border-radius: 0px !important;
}

body .modal-content select,
body .modal-content .input-group-addon,
body .modal-content .btn.btn-default-dt-options {
    color: #333;
    background-color: #fff !important;
    border: 1px solid #bfcbd9 !important;
}

body.customers #clientChat .staff_muted_text_info,
body.customers #clientChat .staff_online_text,
body.customers #clientChat .customer_admin a,
body.customers #clientChat .customer_admin p,
body.customers #clientChat .client a,
body.customers #clientChat .client p {
    color: #333 !important;
}

/* RTL */
body[dir="rtl"] #theme-navbar-collapse ul.nav.navbar-nav.navbar-right>li {
    margin-bottom: 0px;
    width: 200px;
}

body[dir="rtl"] #content {
    margin-right: 260px;
}

body[dir="rtl"]:not(.register):not(.customers_login) {
    margin-right: 0px;
}

body[dir="rtl"] .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn {
    left: -110px;
}

body[dir="rtl"] ul.nav li::before {
    right: -31px !important;
}

body[dir="rtl"] .staff_online_text {
    text-align: right;
}

body[dir="rtl"] .line_toggler {
    text-align: right;
    display: block;
    width: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    body[dir="rtl"] .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right {
        margin-left: 64px;
    }

    body[dir="rtl"] #theme-navbar-collapse ul.nav.navbar-nav.navbar-right>li {
        margin-bottom: auto;
        width: auto;
    }

    body[dir="rtl"] #content {
        margin-right: 0px;
    }
}

body[dir="rtl"] .submenu.customer-top-submenu {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

@media (min-width: 768px) {
    body[dir="rtl"] .dropdown.customers-nav-item-profile {
        right: 166px;
    }

    body[dir="rtl"] .navbar>.container .navbar-brand,
    body[dir="rtl"] .navbar>.container-fluid .navbar-brand {
        margin-right: 0px;
    }

    body[dir="rtl"] .navbar-right {
        margin-top: 29px;
    }

    body[dir="rtl"] .submenu.customer-top-submenu {
        float: right;
        margin-left: 2px;
    }

    body[dir="rtl"] .navbar-nav>li {
        float: left !important;
    }

    body[dir="rtl"] .navbar-right .dropdown-menu-left {
        right: 93px;
        left: auto;
    }
}
/* ============================================
   SCALERZ - Customer Portal Sidebar Nav Fix
   ============================================ */

/* Reset the sidebar container to allow scrolling */
body .navbar.navbar-default.header .container {
    position: fixed;
    float: left;
    height: 100vh;
    width: 230px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-top: 10px;
}

/* Reset nav list */
body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right {
    width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Reset all nav li items */
body .navbar-nav>li {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    position: relative;
    display: block;
    width: 100%;
    min-height: 40px;
}

body #theme-navbar-collapse ul.nav.navbar-nav.navbar-right>li {
    margin-bottom: 0 !important;
    width: 100%;
    display: block;
}

/* Reset all nav links */
body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li a {
    color: rgba(225, 235, 245, .90);
    margin-bottom: 0 !important;
    padding: 10px 10px 10px 45px !important;
    margin-left: 0 !important;
    display: block;
    line-height: 22px !important;
    font-size: 14px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body .navbar.navbar-default.header .container ul.nav.navbar-nav.navbar-right li a:hover {
    color: rgb(44, 114, 243);
    background: rgba(255,255,255,0.05);
}

/* Fix all ::before icon pseudo-elements */
.customers-nav-item-knowledge-base::before,
.customers-nav-item-projects::before,
.customers-nav-item-invoices::before,
.customers-nav-item-contracts::before,
.customers-nav-item-estimates::before,
.customers-nav-item-proposals::before,
.customers-nav-item-support::before,
.customers-nav-item-subscriptions::before,
.customers-nav-item-register::before,
.customers-nav-item-login::before,
.customers-nav-item-gdpr::before {
    position: absolute;
    top: 50% !important;
    left: 18px;
    transform: translateY(-50%);
    z-index: 1;
    font-size: 16px;
    line-height: 1;
}

/* Fix knowledge base special margin */
.customers-nav-item-knowledge-base {
    margin-top: 0 !important;
}
body .customers-nav-item-knowledge-base a {
    margin-top: 0 !important;
}

/* Fix line-height on nav links */
body .navbar-default .navbar-nav>li>a {
    line-height: 22px !important;
    font-size: 14px !important;
}

/* Fix profile dropdown position */
body .dropdown.customers-nav-item-profile {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin-top: 15px !important;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 10px;
}

body .dropdown.customers-nav-item-profile .dropdown-menu.animated.fadeIn {
    position: absolute;
    left: 50px;
    top: 40px;
}

/* Fix login button */
.customers-nav-item-login a {
    top: auto !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
}

/* Fix wrapper margin for sidebar */
#wrapper {
    min-height: 100%;
    margin-left: 240px;
    position: relative;
}

/* Fix dropdown items inside profile */
body ul.nav.navbar-nav.navbar-right .dropdown-menu.animated.fadeIn li a {
    margin-bottom: 0 !important;
    padding: 10px 15px !important;
    margin-left: 0 !important;
}

/* ============================================
   END SCALERZ Nav Fix
   ============================================ */

/* ============================================
   TABLES & DATATABLES
   ============================================ */
.table {
  background-color: var(--card-bg);
  color: var(--text-primary);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
}

.table > thead > tr > th {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 14px 16px !important;
  white-space: nowrap;
}

.table > tbody > tr > td {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  border-top: none !important;
  padding: 12px 16px !important;
  vertical-align: middle;
}

.table > tbody > tr:hover > td {
  background-color: var(--bg-tertiary) !important;
}

.table > tbody > tr:last-child > td {
  border-bottom: none !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

.table-striped > tbody > tr:nth-of-type(odd):hover > td {
  background-color: var(--bg-tertiary) !important;
}

/* DataTables wrapper */
.dataTables_wrapper {
  background-color: var(--card-bg);
  border-radius: 12px;
  padding: 0;
  border: 1px solid var(--border-color);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--text-secondary) !important;
  padding: 12px 16px;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  color: var(--text-secondary) !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
  outline: none !important;
}

/* DataTables pagination */
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
  border-radius: 8px !important;
  margin: 0 2px !important;
  padding: 6px 12px !important;
  transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background-color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--gradient-accent) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
  font-weight: 600;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* Table links */
.table a {
  color: var(--accent-primary) !important;
  text-decoration: none;
}

.table a:hover {
  color: var(--accent-hover) !important;
  text-decoration: underline;
}

/* Sorting icons */
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after {
  opacity: 0.5;
}

table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after {
  opacity: 1;
  color: var(--accent-primary);
}

/* ============================================
   FORMS & INPUTS
   ============================================ */
.form-control {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 0.9rem;
  transition: all 0.2s ease;
  height: auto !important;
  box-shadow: none !important;
}

.form-control:focus {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  outline: none !important;
}

.form-control::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.7;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: var(--bg-secondary) !important;
  opacity: 0.7;
  cursor: not-allowed;
}

/* Select elements */
select.form-control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8fa3' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}

/* Textarea */
textarea.form-control {
  min-height: 100px;
  resize: vertical;
}

/* Labels */
label,
.control-label {
  color: var(--text-secondary) !important;
  font-weight: 500;
  font-size: 0.85rem;
  margin-bottom: 6px;
}

/* Input groups */
.input-group-addon {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
  border-radius: 10px !important;
}

.input-group .form-control:first-child {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group .form-control:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.input-group-addon:first-child {
  border-right: none !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group-addon:last-child {
  border-left: none !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* Checkbox & Radio */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--accent-primary);
}

.checkbox label,
.radio label {
  color: var(--text-primary) !important;
}

/* Bootstrap Select plugin */
.bootstrap-select .btn {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  height: auto !important;
  box-shadow: none !important;
}

.bootstrap-select .btn:focus,
.bootstrap-select .btn:active {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
  outline: none !important;
}

.bootstrap-select .dropdown-menu {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow-lg) !important;
  margin-top: 4px !important;
  padding: 6px !important;
}

.bootstrap-select .dropdown-menu li a {
  color: var(--text-primary) !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  transition: all 0.15s ease;
}

.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li.selected a {
  background-color: var(--bg-tertiary) !important;
  color: var(--accent-primary) !important;
}

.bootstrap-select .dropdown-menu .bs-searchbox input {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
}

.bootstrap-select .filter-option {
  color: var(--text-primary) !important;
}

/* ============================================
   BUTTONS
   ============================================ */
.btn {
  border-radius: 10px !important;
  font-weight: 500;
  padding: 10px 20px !important;
  border: none !important;
  transition: all 0.25s ease !important;
  font-size: 0.9rem;
  letter-spacing: 0.01em;
  position: relative;
  overflow: hidden;
}

.btn:active {
  transform: scale(0.97);
}

/* Primary button */
.btn-primary,
.btn-info {
  background: var(--gradient-accent) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-info:hover,
.btn-info:focus {
  background: linear-gradient(135deg, var(--accent-hover) 0%, #7c3aed 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4) !important;
  transform: translateY(-1px);
}

/* Success button */
.btn-success {
  background: linear-gradient(135deg, var(--success) 0%, #059669 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3) !important;
}

.btn-success:hover,
.btn-success:focus {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4) !important;
  color: #fff !important;
}

/* Danger button */
.btn-danger {
  background: linear-gradient(135deg, var(--danger) 0%, #dc2626 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3) !important;
}

.btn-danger:hover,
.btn-danger:focus {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4) !important;
  color: #fff !important;
}

/* Warning button */
.btn-warning {
  background: linear-gradient(135deg, var(--warning) 0%, #d97706 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important;
}

.btn-warning:hover,
.btn-warning:focus {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4) !important;
  color: #fff !important;
}

/* Default/Secondary button */
.btn-default {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: none !important;
}

.btn-default:hover,
.btn-default:focus {
  background-color: var(--border-color) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-light) !important;
}

/* Button sizes */
.btn-lg {
  padding: 14px 28px !important;
  font-size: 1rem;
  border-radius: 12px !important;
}

.btn-sm {
  padding: 6px 14px !important;
  font-size: 0.8rem;
  border-radius: 8px !important;
}

.btn-xs {
  padding: 4px 10px !important;
  font-size: 0.75rem;
  border-radius: 6px !important;
}

/* Button group */
.btn-group .btn {
  border-radius: 0 !important;
}

.btn-group .btn:first-child {
  border-top-left-radius: 10px !important;
  border-bottom-left-radius: 10px !important;
}

.btn-group .btn:last-child {
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
}

/* ============================================
   PANELS & CARDS
   ============================================ */
.panel {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-md) !important;
  margin-bottom: 20px;
  overflow: hidden;
}

.panel-heading {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding: 16px 20px !important;
  border-radius: 14px 14px 0 0 !important;
}

.panel-title {
  color: var(--text-primary) !important;
  font-weight: 600;
  font-size: 1rem;
}

.panel-title a {
  color: var(--text-primary) !important;
}

.panel-body {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  padding: 20px !important;
}

.panel-footer {
  background-color: var(--bg-tertiary) !important;
  border-top: 1px solid var(--border-color) !important;
  padding: 14px 20px !important;
  border-radius: 0 0 14px 14px !important;
}

.panel-default > .panel-heading {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.panel-primary > .panel-heading {
  background: var(--gradient-accent) !important;
  border-color: var(--accent-primary) !important;
}

/* ============================================
   MODALS
   ============================================ */
.modal-content {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5) !important;
  overflow: hidden;
}

.modal-header {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding: 18px 24px !important;
}

.modal-header .modal-title {
  color: var(--text-primary) !important;
  font-weight: 600;
}

.modal-header .close,
.modal-header .btn-close {
  color: var(--text-muted) !important;
  opacity: 0.7;
  text-shadow: none !important;
}

.modal-header .close:hover,
.modal-header .btn-close:hover {
  color: var(--text-primary) !important;
  opacity: 1;
}

.modal-body {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  padding: 24px !important;
}

.modal-footer {
  background-color: var(--bg-tertiary) !important;
  border-top: 1px solid var(--border-color) !important;
  padding: 16px 24px !important;
}

.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.6) !important;
}

/* ============================================
   DROPDOWNS
   ============================================ */
.dropdown-menu {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 8px !important;
  margin-top: 4px !important;
}

.dropdown-menu > li > a {
  color: var(--text-primary) !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  transition: all 0.15s ease;
  font-size: 0.9rem;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--bg-tertiary) !important;
  color: var(--accent-primary) !important;
}

.dropdown-menu .divider {
  background-color: var(--border-color) !important;
  margin: 6px 0 !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
  background: var(--gradient-accent) !important;
  color: #fff !important;
}

/* ============================================
   ALERTS & NOTIFICATIONS
   ============================================ */
.alert {
  border-radius: 12px !important;
  border: none !important;
  padding: 16px 20px !important;
  font-size: 0.9rem;
  backdrop-filter: blur(10px);
}

.alert-success {
  background-color: rgba(16, 185, 129, 0.12) !important;
  color: #34d399 !important;
  border-left: 4px solid var(--success) !important;
}

.alert-danger {
  background-color: rgba(239, 68, 68, 0.12) !important;
  color: #f87171 !important;
  border-left: 4px solid var(--danger) !important;
}

.alert-warning {
  background-color: rgba(245, 158, 11, 0.12) !important;
  color: #fbbf24 !important;
  border-left: 4px solid var(--warning) !important;
}

.alert-info {
  background-color: rgba(99, 102, 241, 0.12) !important;
  color: #818cf8 !important;
  border-left: 4px solid var(--accent-primary) !important;
}

/* ============================================
   BADGES & LABELS
   ============================================ */
.badge,
.label {
  border-radius: 20px !important;
  font-weight: 500;
  padding: 5px 12px !important;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}

.label-default,
.badge-default {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
}

.label-primary,
.badge-primary {
  background-color: rgba(99, 102, 241, 0.15) !important;
  color: #818cf8 !important;
}

.label-success,
.badge-success {
  background-color: rgba(16, 185, 129, 0.15) !important;
  color: #34d399 !important;
}

.label-danger,
.badge-danger {
  background-color: rgba(239, 68, 68, 0.15) !important;
  color: #f87171 !important;
}

.label-warning,
.badge-warning {
  background-color: rgba(245, 158, 11, 0.15) !important;
  color: #fbbf24 !important;
}

.label-info,
.badge-info {
  background-color: rgba(6, 182, 212, 0.15) !important;
  color: #22d3ee !important;
}

/* ============================================
   TABS & NAV TABS
   ============================================ */
.nav-tabs {
  border-bottom: 1px solid var(--border-color) !important;
  margin-bottom: 20px;
}

.nav-tabs > li > a {
  color: var(--text-secondary) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 12px 20px !important;
  font-weight: 500;
  transition: all 0.2s ease;
  background: transparent !important;
  border-radius: 0 !important;
  margin-right: 0 !important;
}

.nav-tabs > li > a:hover {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-light) !important;
  background: transparent !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--accent-primary) !important;
  border: none !important;
  border-bottom: 2px solid var(--accent-primary) !important;
  background: transparent !important;
}

.tab-content {
  background-color: transparent;
  padding: 20px 0;
}

.tab-content > .tab-pane {
  color: var(--text-primary);
}

/* Nav pills */
.nav-pills > li > a {
  color: var(--text-secondary) !important;
  border-radius: 10px !important;
  padding: 10px 18px !important;
  transition: all 0.2s ease;
}

.nav-pills > li > a:hover {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover {
  background: var(--gradient-accent) !important;
  color: #fff !important;
}

/* ============================================
   WELL & JUMBOTRON
   ============================================ */
.well {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--text-primary) !important;
  padding: 20px !important;
}

.jumbotron {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-radius: 14px !important;
}

/* ============================================
   PROGRESS BARS
   ============================================ */
.progress {
  background-color: var(--bg-tertiary) !important;
  border-radius: 20px !important;
  height: 8px !important;
  box-shadow: none !important;
  overflow: hidden;
}

.progress-bar {
  background: var(--gradient-accent) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

.progress-bar-success {
  background: linear-gradient(135deg, var(--success) 0%, #059669 100%) !important;
}

.progress-bar-danger {
  background: linear-gradient(135deg, var(--danger) 0%, #dc2626 100%) !important;
}

.progress-bar-warning {
  background: linear-gradient(135deg, var(--warning) 0%, #d97706 100%) !important;
}

/* ============================================
   LIST GROUPS
   ============================================ */
.list-group {
  border-radius: 12px !important;
  overflow: hidden;
}

.list-group-item {
  background-color: var(--card-bg) !important;
  border: none !important;
  border-bottom: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  padding: 14px 20px !important;
  transition: all 0.15s ease;
}

.list-group-item:last-child {
  border-bottom: none !important;
}

.list-group-item:hover {
  background-color: var(--bg-tertiary) !important;
}

.list-group-item.active {
  background: var(--gradient-accent) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

.list-group-item a {
  color: var(--text-primary) !important;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.breadcrumb {
  background-color: var(--bg-tertiary) !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
}

.breadcrumb > li {
  color: var(--text-secondary) !important;
}

.breadcrumb > li > a {
  color: var(--accent-primary) !important;
}

.breadcrumb > .active {
  color: var(--text-muted) !important;
}

.breadcrumb > li + li::before {
  color: var(--text-muted) !important;
}

/* ============================================
   TOOLTIPS & POPOVERS
   ============================================ */
.tooltip-inner {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 0.8rem;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--border-color);
}

.tooltip.top .tooltip-arrow {
  border-top-color: var(--bg-tertiary) !important;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: var(--bg-tertiary) !important;
}

.popover {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-lg) !important;
}

.popover-title {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 12px 12px 0 0 !important;
}

.popover-content {
  color: var(--text-primary) !important;
}

/* ============================================
   TABLES & DATATABLES
   ============================================ */
.table {
  background-color: var(--card-bg);
  color: var(--text-primary);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
}

.table > thead > tr > th {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 14px 16px !important;
  white-space: nowrap;
}

.table > tbody > tr > td {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding: 12px 16px !important;
  vertical-align: middle;
  font-size: 0.875rem;
}

.table > tbody > tr:hover > td {
  background-color: var(--bg-tertiary) !important;
}

.table > tbody > tr:last-child > td {
  border-bottom: none !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: rgba(255,255,255,0.02) !important;
}

.table-striped > tbody > tr:nth-of-type(odd):hover > td {
  background-color: var(--bg-tertiary) !important;
}

/* DataTables wrapper */
.dataTables_wrapper {
  color: var(--text-primary);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--text-secondary) !important;
  padding: 12px 0;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  color: var(--text-secondary) !important;
  font-size: 0.875rem;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
  border-radius: 8px !important;
  margin: 0 3px !important;
  padding: 5px 12px !important;
  transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background-color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--accent-gradient) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
  font-weight: 600;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

.dataTables_empty {
  color: var(--text-muted) !important;
  padding: 40px !important;
  font-size: 0.875rem;
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  opacity: 0.5;
}

table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  color: var(--accent-primary);
  opacity: 1;
}

/* ============================================
   FORMS & INPUTS
   ============================================ */
.form-control {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 0.875rem !important;
  height: auto !important;
  min-height: 42px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  -webkit-appearance: none;
}

.form-control:focus {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
  outline: none !important;
  background-color: var(--input-bg) !important;
}

.form-control::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.7;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: var(--bg-tertiary) !important;
  opacity: 0.7;
  cursor: not-allowed;
}

textarea.form-control {
  min-height: 100px;
  resize: vertical;
}

select.form-control {
  padding-right: 32px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8fa3' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

/* Labels */
label,
.control-label,
.form-group label {
  color: var(--text-secondary) !important;
  font-weight: 500;
  font-size: 0.8125rem;
  margin-bottom: 6px;
}

/* Input groups */
.input-group-addon {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
  border-radius: 10px !important;
}

.input-group .form-control:first-child {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group .form-control:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.input-group-addon:first-child {
  border-right: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group-addon:last-child {
  border-left: 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* Checkbox & Radio */
.checkbox label,
.radio label {
  color: var(--text-primary) !important;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--accent-primary);
}

/* Bootstrap select overrides */
.bootstrap-select .dropdown-toggle {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  height: auto !important;
  min-height: 42px;
}

.bootstrap-select .dropdown-toggle:focus,
.bootstrap-select .dropdown-toggle:active,
.bootstrap-select.open .dropdown-toggle {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
}

.bootstrap-select .dropdown-menu {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 6px !important;
  margin-top: 4px !important;
}

.bootstrap-select .dropdown-menu li a {
  color: var(--text-primary) !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  font-size: 0.875rem;
}

.bootstrap-select .dropdown-menu li a:hover,
.bootstrap-select .dropdown-menu li.selected a {
  background-color: var(--bg-tertiary) !important;
  color: var(--accent-primary) !important;
}

.bootstrap-select .dropdown-menu .divider {
  background-color: var(--border-color) !important;
}

.bootstrap-select .bs-searchbox input {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
}

.bootstrap-select .no-results {
  color: var(--text-muted) !important;
  background-color: transparent !important;
}

/* Help blocks */
.help-block {
  color: var(--text-muted) !important;
  font-size: 0.8125rem;
}

/* Validation states */
.has-error .form-control {
  border-color: var(--status-danger) !important;
}

.has-error .help-block,
.has-error .control-label {
  color: var(--status-danger) !important;
}

.has-success .form-control {
  border-color: var(--status-success) !important;
}

/* ============================================
   BUTTONS
   ============================================ */
.btn {
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 10px 22px !important;
  border: none !important;
  transition: all 0.25s ease !important;
  letter-spacing: 0.01em;
  position: relative;
  overflow: hidden;
  text-shadow: none !important;
  box-shadow: none !important;
}

.btn:active {
  transform: scale(0.97);
}

/* Primary button */
.btn-primary,
.btn-info {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-info:hover,
.btn-info:focus {
  background: linear-gradient(135deg, #5558e6 0%, #7c3aed 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(99,102,241,0.35) !important;
}

/* Success button */
.btn-success {
  background: linear-gradient(135deg, var(--status-success) 0%, #059669 100%) !important;
  color: #fff !important;
}

.btn-success:hover,
.btn-success:focus {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  box-shadow: 0 4px 15px rgba(16,185,129,0.35) !important;
}

/* Danger button */
.btn-danger {
  background: linear-gradient(135deg, var(--status-danger) 0%, #dc2626 100%) !important;
  color: #fff !important;
}

.btn-danger:hover,
.btn-danger:focus {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  box-shadow: 0 4px 15px rgba(239,68,68,0.35) !important;
}

/* Warning button */
.btn-warning {
  background: linear-gradient(135deg, var(--status-warning) 0%, #d97706 100%) !important;
  color: #fff !important;
}

.btn-warning:hover,
.btn-warning:focus {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
  box-shadow: 0 4px 15px rgba(245,158,11,0.35) !important;
}

/* Default / secondary button */
.btn-default {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

.btn-default:hover,
.btn-default:focus {
  background-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Button sizes */
.btn-lg {
  padding: 14px 32px !important;
  font-size: 1rem !important;
  border-radius: 12px !important;
}

.btn-sm {
  padding: 6px 14px !important;
  font-size: 0.8125rem !important;
  border-radius: 8px !important;
}

.btn-xs {
  padding: 4px 10px !important;
  font-size: 0.75rem !important;
  border-radius: 6px !important;
}

/* Button groups */
.btn-group .btn {
  border-radius: 0 !important;
}

.btn-group .btn:first-child {
  border-radius: 10px 0 0 10px !important;
}

.btn-group .btn:last-child {
  border-radius: 0 10px 10px 0 !important;
}

.btn-group .btn + .btn {
  margin-left: -1px;
  border-left: 1px solid rgba(255,255,255,0.1) !important;
}

/* ============================================
   PANELS & CARDS
   ============================================ */
.panel {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-md) !important;
  margin-bottom: 24px;
  overflow: hidden;
}

.panel-heading {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding: 16px 20px !important;
  border-radius: 14px 14px 0 0 !important;
}

.panel-heading .panel-title,
.panel-title {
  color: var(--text-primary) !important;
  font-weight: 600;
  font-size: 1rem;
}

.panel-body {
  padding: 20px !important;
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.panel-footer {
  background-color: var(--bg-tertiary) !important;
  border-top: 1px solid var(--border-color) !important;
  padding: 14px 20px !important;
  border-radius: 0 0 14px 14px !important;
}

.panel-default > .panel-heading {
  color: var(--text-primary) !important;
}

/* ============================================
   ALERTS
   ============================================ */
.alert {
  border-radius: 12px !important;
  border: none !important;
  padding: 16px 20px !important;
  font-size: 0.875rem;
  backdrop-filter: blur(10px);
}

.alert-success {
  background-color: rgba(16,185,129,0.12) !important;
  color: #6ee7b7 !important;
}

.alert-danger {
  background-color: rgba(239,68,68,0.12) !important;
  color: #fca5a5 !important;
}

.alert-warning {
  background-color: rgba(245,158,11,0.12) !important;
  color: #fcd34d !important;
}

.alert-info {
  background-color: rgba(99,102,241,0.12) !important;
  color: #a5b4fc !important;
}

.alert .close {
  color: inherit !important;
  opacity: 0.6;
  text-shadow: none !important;
}

.alert .close:hover {
  opacity: 1;
}

/* ============================================
   MODALS
   ============================================ */
.modal-content {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 60px rgba(0,0,0,0.5) !important;
  overflow: hidden;
}

.modal-header {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding: 18px 24px !important;
}

.modal-header .modal-title {
  color: var(--text-primary) !important;
  font-weight: 600;
  font-size: 1.1rem;
}

.modal-header .close {
  color: var(--text-muted) !important;
  opacity: 0.7;
  text-shadow: none !important;
  font-size: 1.4rem;
}

.modal-header .close:hover {
  color: var(--text-primary) !important;
  opacity: 1;
}

.modal-body {
  padding: 24px !important;
  color: var(--text-primary) !important;
  background-color: var(--card-bg) !important;
}

.modal-footer {
  background-color: var(--bg-tertiary) !important;
  border-top: 1px solid var(--border-color) !important;
  padding: 16px 24px !important;
}

.modal-backdrop {
  background-color: rgba(0,0,0,0.6) !important;
  backdrop-filter: blur(4px);
}

/* ============================================
   DROPDOWNS
   ============================================ */
.dropdown-menu {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 6px !important;
  min-width: 180px;
}

.dropdown-menu > li > a {
  color: var(--text-primary) !important;
  padding: 9px 16px !important;
  border-radius: 8px !important;
  font-size: 0.875rem;
  transition: all 0.15s ease;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--bg-tertiary) !important;
  color: var(--accent-primary) !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

.dropdown-menu .divider {
  background-color: var(--border-color) !important;
  margin: 4px 8px !important;
}

.dropdown-header {
  color: var(--text-muted) !important;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 8px 16px !important;
}

/* ============================================
   TABS & NAVS
   ============================================ */
.nav-tabs {
  border-bottom: 1px solid var(--border-color) !important;
  margin-bottom: 20px;
}

.nav-tabs > li > a {
  color: var(--text-secondary) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 12px 20px !important;
  font-weight: 500;
  font-size: 0.875rem;
  background: transparent !important;
  transition: all 0.2s ease;
  margin-right: 4px;
  border-radius: 0 !important;
}

.nav-tabs > li > a:hover {
  color: var(--text-primary) !important;
  background: transparent !important;
  border-color: transparent !important;
  border-bottom-color: var(--text-muted) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--accent-primary) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid var(--accent-primary) !important;
}

.tab-content {
  padding: 20px 0;
  color: var(--text-primary);
}

/* Pills */
.nav-pills > li > a {
  color: var(--text-secondary) !important;
  background-color: transparent !important;
  border-radius: 10px !important;
  padding: 8px 18px !important;
  font-weight: 500;
  transition: all 0.2s ease;
}

.nav-pills > li > a:hover {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

/* ============================================
   BADGES & LABELS
   ============================================ */
.badge,
.label {
  font-weight: 600;
  font-size: 0.75rem;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  letter-spacing: 0.02em;
  border: none !important;
}

.label-default,
.badge-default {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
}

.label-primary,
.badge-primary {
  background-color: rgba(99,102,241,0.15) !important;
  color: #a5b4fc !important;
}

.label-success,
.badge-success {
  background-color: rgba(16,185,129,0.15) !important;
  color: #6ee7b7 !important;
}

.label-danger,
.badge-danger {
  background-color: rgba(239,68,68,0.15) !important;
  color: #fca5a5 !important;
}

.label-warning,
.badge-warning {
  background-color: rgba(245,158,11,0.15) !important;
  color: #fcd34d !important;
}

.label-info,
.badge-info {
  background-color: rgba(59,130,246,0.15) !important;
  color: #93c5fd !important;
}

/* ============================================
   PROGRESS BARS
   ============================================ */
.progress {
  background-color: var(--bg-tertiary) !important;
  border-radius: 20px !important;
  height: 8px !important;
  overflow: hidden;
  box-shadow: none !important;
}

.progress-bar {
  background: var(--accent-gradient) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  transition: width 0.6s ease;
}

.progress-bar-success {
  background: linear-gradient(135deg, var(--status-success) 0%, #059669 100%) !important;
}

.progress-bar-danger {
  background: linear-gradient(135deg, var(--status-danger) 0%, #dc2626 100%) !important;
}

.progress-bar-warning {
  background: linear-gradient(135deg, var(--status-warning) 0%, #d97706 100%) !important;
}

/* ============================================
   WELLS & JUMBOTRON
   ============================================ */
.well {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--text-primary) !important;
  padding: 20px !important;
}

.jumbotron {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-radius: 14px !important;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
.breadcrumb {
  background-color: transparent !important;
  padding: 8px 0 !important;
  margin-bottom: 20px;
}

.breadcrumb > li {
  color: var(--text-muted) !important;
  font-size: 0.8125rem;
}

.breadcrumb > li a {
  color: var(--accent-primary) !important;
}

.breadcrumb > li a:hover {
  color: var(--accent-hover) !important;
}

.breadcrumb > .active {
  color: var(--text-secondary) !important;
}

.breadcrumb > li + li:before {
  color: var(--text-muted) !important;
}

/* ============================================
   PAGINATION
   ============================================ */
.pagination > li > a,
.pagination > li > span {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  margin: 0 2px !important;
  transition: all 0.2s ease;
}

.pagination > li > a:hover {
  background-color: var(--accent-primary) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > span {
  background: var(--accent-gradient) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

.pagination > .disabled > a,
.pagination > .disabled > span {
  opacity: 0.4 !important;
  cursor: not-allowed;
}

/* ============================================
   TOOLTIPS & POPOVERS
   ============================================ */
.tooltip-inner {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 0.8125rem;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--border-color);
}

.tooltip.top .tooltip-arrow {
  border-top-color: var(--card-bg) !important;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: var(--card-bg) !important;
}

.tooltip.left .tooltip-arrow {
  border-left-color: var(--card-bg) !important;
}

.tooltip.right .tooltip-arrow {
  border-right-color: var(--card-bg) !important;
}

.popover {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-lg) !important;
}

.popover-title {
  background-color: var(--bg-tertiary) !important;
  border-bottom: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 12px 12px 0 0 !important;
}

.popover-content {
  color: var(--text-primary) !important;
}

/* ============================================
   LIST GROUPS
   ============================================ */
.list-group-item {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  padding: 14px 20px !important;
  transition: background-color 0.15s ease;
}

.list-group-item:first-child {
  border-radius: 12px 12px 0 0 !important;
}

.list-group-item:last-child {
  border-radius: 0 0 12px 12px !important;
}

.list-group-item:only-child {
  border-radius: 12px !important;
}

.list-group-item:hover {
  background-color: var(--bg-tertiary) !important;
}

.list-group-item.active,
.list-group-item.active:hover {
  background: var(--accent-gradient) !important;
  border-color: var(--accent-primary) !important;
  color: #fff !important;
}

a.list-group-item {
  color: var(--text-primary) !important;
}

a.list-group-item:hover {
  color: var(--accent-primary) !important;
}

/* ============================================
   INVOICES & ESTIMATES PAGES
   ============================================ */
.invoice-html-wrapper,
.estimate-html-wrapper {
  background-color: var(--card-bg);
  border-radius: 14px;
  overflow: hidden;
}

#invoice-wrapper,
#estimate-wrapper {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.invoice-area,
.estimate-area {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* Invoice/Estimate table */
.invoice-items-table,
.estimate-items-table {
  background-color: var(--card-bg) !important;
}

.invoice-items-table th,
.estimate-items-table th {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.invoice-items-table td,
.estimate-items-table td {
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Status colors for invoices */
.invoice-status-1,
.label-unpaid {
  background-color: rgba(239,68,68,0.15) !important;
  color: #fca5a5 !important;
}

.invoice-status-2,
.label-paid {
  background-color: rgba(16,185,129,0.15) !important;
  color: #6ee7b7 !important;
}

.invoice-status-3,
.label-partially-paid {
  background-color: rgba(245,158,11,0.15) !important;
  color: #fcd34d !important;
}

.invoice-status-4,
.label-overdue {
  background-color: rgba(239,68,68,0.2) !important;
  color: #f87171 !important;
}

.invoice-status-5,
.label-cancelled {
  background-color: rgba(107,114,128,0.15) !important;
  color: #9ca3af !important;
}

/* Estimate statuses */
.estimate-status-1 { background-color: rgba(107,114,128,0.15) !important; color: #9ca3af !important; }
.estimate-status-2 { background-color: rgba(59,130,246,0.15) !important; color: #93c5fd !important; }
.estimate-status-3 { background-color: rgba(239,68,68,0.15) !important; color: #fca5a5 !important; }
.estimate-status-4 { background-color: rgba(16,185,129,0.15) !important; color: #6ee7b7 !important; }
.estimate-status-5 { background-color: rgba(245,158,11,0.15) !important; color: #fcd34d !important; }

/* ============================================
   PROPOSALS
   ============================================ */
#proposal-wrapper,
.proposal-area {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.proposal-content {
  color: var(--text-primary) !important;
}

/* ============================================
   CONTRACTS
   ============================================ */
#contract-wrapper,
.contract-area {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.contract-content {
  color: var(--text-primary) !important;
}

.contract-content p,
.contract-content span,
.contract-content div {
  color: var(--text-primary) !important;
}

/* ============================================
   PROFILE PAGE
   ============================================ */
.client-profile-image-wrapper {
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--border-color);
}

.profile-image {
  border-radius: 50% !important;
}

/* ============================================
   SUBSCRIPTIONS
   ============================================ */
.subscription-info-area {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 20px;
}

/* ============================================
   STATEMENTS
   ============================================ */
.statement-area {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* ============================================
   CREDIT NOTES
   ============================================ */
.credit-note-area {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* ============================================
   SUBMENU (top submenu for files/calendar)
   ============================================ */
.customer-top-submenu {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.customer-top-submenu li a {
  color: var(--text-secondary) !important;
  padding: 8px 18px !important;
  border-radius: 10px !important;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
  text-decoration: none !important;
  background-color: var(--bg-tertiary);
}

.customer-top-submenu li a:hover {
  color: var(--accent-primary) !important;
  background-color: rgba(99,102,241,0.08) !important;
}

.customer-top-submenu li a svg {
  color: inherit;
}

/* ============================================
   ANNOUNCEMENTS
   ============================================ */
.announcement {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
}

.announcement h4 a {
  color: var(--text-primary) !important;
}

.announcement h4 a:hover {
  color: var(--accent-primary) !important;
}

.announcement .announcement-date {
  color: var(--text-muted);
  font-size: 0.8125rem;
}

/* ============================================
   SCROLLBAR STYLING
   ============================================ */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-primary);
}

::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border-color) var(--bg-primary);
}

/* ============================================
   SELECTION HIGHLIGHT
   ============================================ */
::selection {
  background-color: rgba(99,102,241,0.3);
  color: #fff;
}

::-moz-selection {
  background-color: rgba(99,102,241,0.3);
  color: #fff;
}

/* ============================================
   MISCELLANEOUS GLOBAL
   ============================================ */

/* Horizontal rules */
hr {
  border-color: var(--border-color) !important;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid var(--accent-primary) !important;
  background-color: var(--bg-tertiary);
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  color: var(--text-secondary) !important;
}

/* Code blocks */
code {
  background-color: var(--bg-tertiary) !important;
  color: #e879f9 !important;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 0.8125rem;
}

pre {
  background-color: var(--bg-tertiary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 16px !important;
}

/* Small text */
small,
.small {
  color: var(--text-muted) !important;
}

/* text-muted override */
.text-muted {
  color: var(--text-muted) !important;
}

.text-danger {
  color: var(--status-danger) !important;
}

.text-success {
  color: var(--status-success) !important;
}

.text-warning {
  color: var(--status-warning) !important;
}

.text-info {
  color: var(--accent-primary) !important;
}

.text-primary {
  color: var(--accent-primary) !important;
}

/* Image responsiveness */
img {
  max-width: 100%;
}

/* ============================================
   LIGHTBOX
   ============================================ */
.lb-outerContainer {
  background-color: var(--card-bg) !important;
  border-radius: 12px !important;
}

.lb-dataContainer {
  background-color: var(--card-bg) !important;
}

.lb-data .lb-caption,
.lb-data .lb-number {
  color: var(--text-primary) !important;
}

.lb-data .lb-close {
  opacity: 0.7;
}

.lb-data .lb-close:hover {
  opacity: 1;
}

/* ============================================
   GANTT CHART
   ============================================ */
.gantt .grid-header {
  fill: var(--bg-tertiary) !important;
  stroke: var(--border-color) !important;
}

.gantt .grid-row {
  fill: var(--card-bg) !important;
}

.gantt .grid-row:nth-child(even) {
  fill: var(--bg-tertiary) !important;
}

.gantt .row-line {
  stroke: var(--border-color) !important;
}

.gantt .today-highlight {
  fill: rgba(99,102,241,0.08) !important;
}

/* ============================================
   JQUERY COMMENTS
   ============================================ */
.jquery-comments .comment-wrapper {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

.jquery-comments .comment-wrapper .comment-header .name {
  color: var(--text-primary) !important;
}

.jquery-comments .comment-wrapper .comment-content {
  color: var(--text-secondary) !important;
}

.jquery-comments .textarea-wrapper .textarea {
  background-color: var(--input-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* ============================================
   SPECIFIC TAILWIND OVERRIDES
   (Perfex CRM uses tw- prefixed classes)
   ============================================ */
.tw-bg-white {
  background-color: var(--card-bg) !important;
}

.tw-bg-gray-50,
.tw-bg-neutral-50 {
  background-color: var(--bg-tertiary) !important;
}

.tw-bg-gray-100,
.tw-bg-neutral-100 {
  background-color: var(--bg-secondary) !important;
}

.tw-text-gray-500,
.tw-text-neutral-500 {
  color: var(--text-muted) !important;
}

.tw-text-gray-600,
.tw-text-neutral-600 {
  color: var(--text-secondary) !important;
}

.tw-text-gray-700,
.tw-text-neutral-700 {
  color: var(--text-primary) !important;
}

.tw-text-gray-800,
.tw-text-neutral-800,
.tw-text-gray-900,
.tw-text-neutral-900 {
  color: var(--text-primary) !important;
}

.tw-border-gray-200,
.tw-border-neutral-200 {
  border-color: var(--border-color) !important;
}

.tw-border-gray-300,
.tw-border-neutral-300 {
  border-color: var(--border-color) !important;
}

.tw-divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--border-color) !important;
}

.tw-ring-gray-300 {
  --tw-ring-color: var(--border-color) !important;
}

.tw-shadow-sm {
  box-shadow: var(--shadow-sm) !important;
}

.tw-shadow {
  box-shadow: var(--shadow-md) !important;
}

.tw-rounded-lg {
  border-radius: 12px !important;
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */
@media (max-width: 768px) {
  body.customers {
    padding-top: 60px !important;
  }

  /* Sidebar becomes top bar on mobile */
  .customers-area-sidebar,
  .customers-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -260px !important;
    width: 260px !important;
    height: 100% !important;
    z-index: 9999 !important;
    transition: left 0.3s ease !important;
    box-shadow: 5px 0 20px rgba(0,0,0,0.3) !important;
  }

  .customers-area-sidebar.open,
  .customers-sidebar.open {
    left: 0 !important;
  }

  #wrapper {
    margin-left: 0 !important;
    padding: 10px !important;
  }

  .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .panel {
    border-radius: 10px !important;
    margin-bottom: 16px;
  }

  .panel-body {
    padding: 14px !important;
  }

  .table-responsive {
    border: none !important;
    border-radius: 10px;
    overflow: hidden;
  }

  .btn {
    padding: 8px 16px !important;
    font-size: 0.8125rem !important;
  }

  .btn-lg {
    padding: 10px 24px !important;
  }

  .customer-top-submenu {
    flex-wrap: wrap;
    gap: 6px;
  }

  .customer-top-submenu li a {
    padding: 6px 14px !important;
    font-size: 0.8125rem;
  }

  /* Navbar mobile */
  .navbar-header {
    padding: 0 10px;
  }

  .navbar-toggle {
    border-color: var(--border-color) !important;
    margin-top: 10px;
    margin-right: 5px;
  }

  .navbar-toggle .icon-bar {
    background-color: var(--text-primary) !important;
  }

  .navbar-collapse {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow-lg) !important;
    border-radius: 0 0 12px 12px !important;
  }

  .nav-tabs > li > a {
    padding: 10px 14px !important;
    font-size: 0.8125rem;
  }

  .modal-dialog {
    margin: 10px !important;
  }

  .modal-content {
    border-radius: 12px !important;
  }
}

@media (max-width: 480px) {
  h1, h2, h3 {
    font-size: 1.25rem;
  }

  .panel-heading {
    padding: 12px 14px !important;
  }

  .panel-body {
    padding: 12px !important;
  }

  .table > thead > tr > th {
    padding: 10px 8px !important;
    font-size: 0.7rem;
  }

  .table > tbody > tr > td {
    padding: 8px !important;
    font-size: 0.8125rem;
  }

  .btn {
    padding: 7px 12px !important;
    font-size: 0.75rem !important;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  body.customers {
    background-color: #fff !important;
    color: #000 !important;
  }

  .customers-area-sidebar,
  .customers-sidebar,
  .navbar,
  .customer-top-submenu,
  .btn,
  .dataTables_wrapper .dataTables_paginate,
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    display: none !important;
  }

  #wrapper {
    margin-left: 0 !important;
  }

  .panel {
    border: 1px solid #ddd !important;
    box-shadow: none !important;
  }

  .table > thead > tr > th {
    background-color: #f5f5f5 !important;
    color: #333 !important;
  }

  .table > tbody > tr > td {
    background-color: #fff !important;
    color: #333 !important;
  }
}

/* ============================================
   ANIMATION UTILITIES
   ============================================ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-15px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(99,102,241,0.2);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(99,102,241,0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.4s ease forwards;
}

.slide-in-left {
  animation: slideInLeft 0.3s ease forwards;
}

/* ============================================
   ACCESSIBILITY FOCUS STYLES
   ============================================ */
a:focus,
button:focus,
.btn:focus,
input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  outline: none !important;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible {
  outline: 2px solid var(--accent-primary) !important;
  outline-offset: 2px;
}

/* ============================================
   FIX FOOTER
   ============================================ */
.customers-footer,
footer,
#footer {
  background-color: var(--bg-secondary) !important;
  border-top: 1px solid var(--border-color) !important;
  color: var(--text-muted) !important;
  padding: 20px 0;
}

.customers-footer a,
footer a,
#footer a {
  color: var(--text-secondary) !important;
}

.customers-footer a:hover,
footer a:hover,
#footer a:hover {
  color: var(--accent-primary) !important;
}

/* ============================================
   WAVE EFFECT (from waves076.min.js)
   ============================================ */
.waves-effect {
  position: relative;
  overflow: hidden;
}

/* ============================================
   NANOBAR PROGRESS
   ============================================ */
.nanobar .bar {
  background: var(--accent-gradient) !important;
  height: 3px;
  border-radius: 0 2px 2px 0;
}

/* ============================================
   CONSENT / GDPR PAGES
   ============================================ */
.consent-purposes-wrapper {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 20px;
}

.gdpr-wrapper {
  background-color: var(--card-bg);
  border-radius: 14px;
  padding: 24px;
}

/* ============================================
   FILES PAGE
   ============================================ */
.files-area .file-item {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 14px;
  transition: all 0.2s ease;
}

.files-area .file-item:hover {
  border-color: var(--accent-primary);
  box-shadow: var(--shadow-sm);
}

/* ============================================
   REGISTER PAGE
   ============================================ */
.register-wrapper {
  max-width: 600px;
  margin: 0 auto;
}

.register-wrapper .panel {
  border-radius: 16px !important;
}

/* ============================================
   FORGOT PASSWORD / RESET
   ============================================ */
.forgot-password-wrapper,
.reset-password-wrapper {
  max-width: 480px;
  margin: 40px auto;
}

/* ============================================
   VERIFICATION REQUIRED
   ============================================ */
.verification-required-area {
  text-align: center;
  padding: 60px 20px;
}

.verification-required-area i {
  color: var(--status-warning);
  font-size: 4rem;
  margin-bottom: 20px;
}

/* ============================================
   FINAL OVERRIDES & EDGE CASES
   ============================================ */

/* Make sure all backgrounds in customer area are dark */
body.customers #wrapper,
body.customers #content,
body.customers .container {
  background-color: transparent !important;
}

/* Ensure no white flash on any panel child */
body.customers .panel *:not(img):not(svg):not(canvas):not(video) {
  /* preserve font colors already set */
}

/* Fix any stray white backgrounds from plugins */
body.customers [style*="background-color: #fff"],
body.customers [style*="background-color: white"],
body.customers [style*="background-color:#fff"],
body.customers [style*="background: #fff"],
body.customers [style*="background: white"],
body.customers [style*="background:#fff"] {
  background-color: var(--card-bg) !important;
}

/* Ensure inline color styles get overridden for text */
body.customers [style*="color: #000"],
body.customers [style*="color: black"],
body.customers [style*="color:#000"],
body.customers [style*="color:#333"],
body.customers [style*="color: #333"] {
  color: var(--text-primary) !important;
}

/* ============================================
   END OF SCALERZ DARK THEME - CLIENT PORTAL
   ============================================ */

/* ============================================================================
   SCALERZ OS — Dark Theme Client Portal Patch
   Date: 2026-02-27
   Purpose: Kill every remaining white/light background bleed-through
   Appended to end of clients.css so these override everything above
   ============================================================================ */

/* ---------------------------------------------------------------------------
   0. CSS Variables (ensure they exist for this patch)
   --------------------------------------------------------------------------- */
:root {
  --so-bg-primary: #0a0a0f;
  --so-bg-secondary: #12121a;
  --so-bg-tertiary: #1a1a2e;
  --so-card-bg: #16161e;
  --so-card-bg-hover: #1c1c2a;
  --so-input-bg: #1e1e2e;
  --so-text-primary: #e2e8f0;
  --so-text-secondary: #94a3b8;
  --so-text-muted: #64748b;
  --so-border-color: #2a2a3e;
  --so-border-light: #1f1f35;
  --so-accent-primary: #6366f1;
  --so-accent-gradient: linear-gradient(135deg, #6366f1, #8b5cf6);
  --so-success: #10b981;
  --so-danger: #ef4444;
  --so-warning: #f59e0b;
  --so-info: #3b82f6;
  --so-table-stripe: #13131d;
  --so-table-hover: #1a1a2e;
  --so-shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --so-shadow-md: 0 4px 12px rgba(0,0,0,0.5);
}

/* ---------------------------------------------------------------------------
   1. Global — Kill all white/light backgrounds
   --------------------------------------------------------------------------- */
body,
html {
  background-color: var(--so-bg-primary) !important;
  color: var(--so-text-primary) !important;
}

#wrapper,
.content,
.main-content,
#main-content {
  background-color: var(--so-bg-primary) !important;
}

/* ---------------------------------------------------------------------------
   2. Panels — The main content containers
   --------------------------------------------------------------------------- */
.panel_s,
.panel_s .panel-body,
.panel,
.panel .panel-body,
.panel-default,
.panel-default > .panel-heading,
.panel-default > .panel-footer,
.panel-heading,
.panel-footer {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.panel_s .panel-body,
.panel .panel-body {
  box-shadow: var(--so-shadow-sm) !important;
}

/* ---------------------------------------------------------------------------
   3. Sticky Header (preview pages — invoice, estimate, proposal)
   --------------------------------------------------------------------------- */
.preview-top-wrapper {
  background-color: var(--so-bg-secondary) !important;
}

.preview-sticky-header,
.top[data-sticky],
.preview-sticky-container {
  background-color: var(--so-bg-secondary) !important;
  box-shadow: 0 1px 15px 1px rgba(0,0,0,0.4) !important;
}

.preview-sticky-header .sticky-visible,
.preview-sticky-header h3,
.preview-sticky-header span {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   4. Tables — Items, Payments, Totals
   --------------------------------------------------------------------------- */
.table,
.table-responsive,
.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  background-color: transparent !important;
  color: var(--so-text-primary) !important;
  border-color: var(--so-border-color) !important;
}

.table > thead > tr > th {
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-secondary) !important;
  border-bottom: 2px solid var(--so-border-color) !important;
  font-weight: 600 !important;
}

.table > tbody > tr:nth-child(odd) > td {
  background-color: var(--so-table-stripe) !important;
}

.table > tbody > tr:nth-child(even) > td {
  background-color: var(--so-card-bg) !important;
}

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  background-color: var(--so-table-hover) !important;
}

/* Totals table (right-aligned on invoices/estimates) */
.table.text-right,
.table.text-right td,
.table.text-right th,
#subtotal td,
.subtotal,
.discount,
.total,
.adjustment {
  background-color: transparent !important;
  color: var(--so-text-primary) !important;
}

/* Proposal items table */
.table.proposal-items,
.table.proposal-items thead > tr > th,
.table.proposal-items tbody > tr > td {
  background-color: transparent !important;
  color: var(--so-text-primary) !important;
  border-color: var(--so-border-color) !important;
}

.table.proposal-items thead > tr > th {
  background-color: var(--so-bg-tertiary) !important;
}

/* Invoice payments table */
.invoice-payments-table,
.invoice-payments-table thead > tr > th,
.invoice-payments-table tbody > tr > td {
  background-color: transparent !important;
  color: var(--so-text-primary) !important;
  border-color: var(--so-border-color) !important;
}

.invoice-payments-table thead > tr > th {
  background-color: var(--so-bg-tertiary) !important;
}

/* ---------------------------------------------------------------------------
   5. Tailwind Neutral Text Overrides
   These classes are light-theme text colors that become invisible on dark bg
   --------------------------------------------------------------------------- */
.tw-text-neutral-700,
[class*="tw-text-neutral-700"],
[class*="!tw-text-neutral-700"],
.bold.tw-text-neutral-700,
span.tw-text-neutral-700,
span.bold.tw-text-neutral-700,
p .tw-text-neutral-700 {
  color: var(--so-text-primary) !important;
}

.tw-text-neutral-500,
[class*="tw-text-neutral-500"],
address.tw-text-neutral-500 {
  color: var(--so-text-secondary) !important;
}

.tw-text-neutral-400,
[class*="tw-text-neutral-400"] {
  color: var(--so-text-secondary) !important;
}

.tw-text-neutral-600,
[class*="tw-text-neutral-600"] {
  color: var(--so-text-secondary) !important;
}

.tw-text-neutral-800,
[class*="tw-text-neutral-800"] {
  color: var(--so-text-primary) !important;
}

.tw-text-neutral-900,
[class*="tw-text-neutral-900"] {
  color: var(--so-text-primary) !important;
}

/* Text normal used in invoice info sections */
.tw-text-normal {
  color: var(--so-text-secondary) !important;
}

/* Font medium labels */
.tw-font-medium {
  color: var(--so-text-primary) !important;
}

.tw-font-semibold {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   6. Invoice/Estimate/Proposal specific
   --------------------------------------------------------------------------- */

/* Invoice number heading */
.invoice-html-number,
.invoice-html-number h3,
.invoice-html-number h4,
h4.invoice-html-number {
  color: var(--so-text-primary) !important;
}

/* Company info, customer info */
.invoice-html-company-info,
.invoice-html-customer-billing-info,
.invoice-html-customer-shipping-info,
.transaction-html-info-col-left address,
.transaction-html-info-col-right address {
  color: var(--so-text-secondary) !important;
}

/* Bill to / Ship to labels */
.invoice-html-bill-to,
.invoice-html-ship-to {
  color: var(--so-text-primary) !important;
}

/* Date, due date, sale agent, project info */
.invoice-html-date,
.invoice-html-duedate,
.invoice-html-sale-agent,
.invoice-html-project {
  color: var(--so-text-secondary) !important;
}

.invoice-html-date .tw-font-medium,
.invoice-html-duedate .tw-font-medium,
.invoice-html-sale-agent .tw-font-medium,
.invoice-html-project .tw-font-medium {
  color: var(--so-text-primary) !important;
}

/* Total to words */
.invoice-html-total-to-words,
.invoice-html-total-to-words p {
  color: var(--so-text-secondary) !important;
  background-color: transparent !important;
}

/* Client note, terms */
.invoice-html-note,
.invoice-html-note p,
.invoice-html-note b,
.invoice-html-terms-and-conditions,
.invoice-html-terms-and-conditions p,
.invoice-html-terms-and-conditions b {
  color: var(--so-text-primary) !important;
}

.invoice-html-note .tw-text-neutral-500,
.invoice-html-terms-and-conditions .tw-text-neutral-500 {
  color: var(--so-text-secondary) !important;
}

/* Files/Attachments */
.invoice-html-files,
.invoice-html-files p,
.invoice-html-files b,
.invoice-html-files a {
  color: var(--so-text-primary) !important;
}

.invoice-html-files a:hover {
  color: var(--so-accent-primary) !important;
}

/* Payments section */
.invoice-html-payments,
.invoice-html-payments p,
.invoice-html-payments b,
.invoice-html-payments h5 {
  color: var(--so-text-primary) !important;
}

/* Offline payment section */
.invoice-html-offline-payments,
.invoice-html-offline-payments p {
  color: var(--so-text-primary) !important;
}

/* Online payment section */
#online_payment_form label,
#online_payment_form .control-label {
  color: var(--so-text-primary) !important;
}

.online-payment-radio label {
  color: var(--so-text-secondary) !important;
}

/* Payment mode description */
.invoice-html-offline-payments .mbot15,
#online_payment_form .mbot15 {
  color: var(--so-text-muted) !important;
}

/* Amount due - text-danger still works, but ensure visibility */
.text-danger {
  color: var(--so-danger) !important;
}

/* No payments found */
.invoice-html-payments h5.tw-font-medium {
  color: var(--so-text-muted) !important;
}

/* ---------------------------------------------------------------------------
   7. Proposal Specific
   --------------------------------------------------------------------------- */
#proposal-wrapper {
  background-color: var(--so-bg-primary) !important;
}

.proposal-left .panel_s,
.proposal-left .panel-body,
.proposal-content.tc-content {
  background-color: var(--so-card-bg) !important;
  color: var(--so-text-primary) !important;
}

/* Proposal content — catch any white bg from HTML content */
.proposal-content.tc-content * {
  border-color: var(--so-border-color) !important;
}

.proposal-content.tc-content h1,
.proposal-content.tc-content h2,
.proposal-content.tc-content h3,
.proposal-content.tc-content h4,
.proposal-content.tc-content h5,
.proposal-content.tc-content h6 {
  color: var(--so-text-primary) !important;
}

.proposal-content.tc-content p,
.proposal-content.tc-content li,
.proposal-content.tc-content span,
.proposal-content.tc-content div {
  color: var(--so-text-secondary) !important;
}

/* Proposal sidebar */
.proposal-right,
.proposal-html-tabs {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
}

.proposal-html-tabs .nav-tabs {
  border-bottom-color: var(--so-border-color) !important;
}

.proposal-html-tabs .nav-tabs > li > a {
  color: var(--so-text-secondary) !important;
  background-color: transparent !important;
}

.proposal-html-tabs .nav-tabs > li.active > a,
.proposal-html-tabs .nav-tabs > li.active > a:hover,
.proposal-html-tabs .nav-tabs > li.active > a:focus {
  color: var(--so-text-primary) !important;
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  border-bottom-color: var(--so-card-bg) !important;
}

/* Proposal info items */
.proposal-html-tabs .tab-content {
  background-color: var(--so-card-bg) !important;
  color: var(--so-text-primary) !important;
}

/* Discussion/comments */
.jquery-comments,
.jquery-comments .comment,
.jquery-comments .comment-wrapper {
  background-color: var(--so-card-bg) !important;
  color: var(--so-text-primary) !important;
}

.jquery-comments .highlight-background {
  background-color: var(--so-bg-tertiary) !important;
}

.jquery-comments textarea,
.jquery-comments input {
  background-color: var(--so-input-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   8. Estimate Specific
   --------------------------------------------------------------------------- */
.estimate-html-number,
.estimate-html-number h3,
.estimate-html-number h4 {
  color: var(--so-text-primary) !important;
}

.estimate-html-company-info,
.estimate-html-customer-info {
  color: var(--so-text-secondary) !important;
}

/* ---------------------------------------------------------------------------
   9. Buttons — Ensure visibility on dark backgrounds
   --------------------------------------------------------------------------- */
.btn-default,
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
  background-color: var(--so-bg-tertiary) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.btn-default:hover {
  background-color: var(--so-card-bg-hover) !important;
}

.action-button {
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.btn-success.action-button,
.btn-success {
  background-color: var(--so-success) !important;
  border-color: var(--so-success) !important;
  color: #fff !important;
}

.btn-success:hover,
.btn-success.action-button:hover {
  background-color: #0d9668 !important;
  border-color: #0d9668 !important;
}

.btn-danger,
.btn-danger:hover {
  background-color: var(--so-danger) !important;
  border-color: var(--so-danger) !important;
  color: #fff !important;
}

.btn-warning,
.btn-warning:hover {
  background-color: var(--so-warning) !important;
  border-color: var(--so-warning) !important;
  color: #fff !important;
}

.btn-info,
.btn-info:hover {
  background-color: var(--so-info) !important;
  border-color: var(--so-info) !important;
  color: #fff !important;
}

.btn-primary,
.btn-primary:hover {
  background: var(--so-accent-gradient) !important;
  border-color: var(--so-accent-primary) !important;
  color: #fff !important;
}

/* Small icon buttons (like PDF download in payment table) */
.btn-icon.btn-default {
  background-color: var(--so-bg-tertiary) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-secondary) !important;
}

.btn-icon.btn-default:hover {
  color: var(--so-accent-primary) !important;
}

/* ---------------------------------------------------------------------------
   10. Forms — Payment forms, input groups
   --------------------------------------------------------------------------- */
.form-control,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
  background-color: var(--so-input-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--so-accent-primary) !important;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;
}

.input-group-addon {
  background-color: var(--so-bg-tertiary) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-secondary) !important;
}

/* Radio buttons (payment mode selection) */
.radio label,
.checkbox label {
  color: var(--so-text-secondary) !important;
}

.radio-success input[type="radio"]:checked + label::before {
  border-color: var(--so-success) !important;
}

/* ---------------------------------------------------------------------------
   11. Alerts
   --------------------------------------------------------------------------- */
.alert-danger {
  background-color: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
  color: #fca5a5 !important;
}

.alert-success {
  background-color: rgba(16, 185, 129, 0.15) !important;
  border-color: rgba(16, 185, 129, 0.3) !important;
  color: #6ee7b7 !important;
}

.alert-warning {
  background-color: rgba(245, 158, 11, 0.15) !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
  color: #fcd34d !important;
}

.alert-info {
  background-color: rgba(59, 130, 246, 0.15) !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
  color: #93c5fd !important;
}

.alert p,
.alert span,
.alert a {
  color: inherit !important;
}

/* ---------------------------------------------------------------------------
   12. Status Labels
   --------------------------------------------------------------------------- */
.label {
  font-weight: 500 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
}

.label-default {
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-secondary) !important;
}

.label-success {
  background-color: rgba(16, 185, 129, 0.2) !important;
  color: #6ee7b7 !important;
}

.label-danger {
  background-color: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}

.label-warning {
  background-color: rgba(245, 158, 11, 0.2) !important;
  color: #fcd34d !important;
}

.label-info {
  background-color: rgba(59, 130, 246, 0.2) !important;
  color: #93c5fd !important;
}

.label-primary {
  background-color: rgba(99, 102, 241, 0.2) !important;
  color: #a5b4fc !important;
}

/* Invoice status specific */
.invoice-html-status .label {
  font-size: 12px !important;
}

/* ---------------------------------------------------------------------------
   13. HRs and Dividers
   --------------------------------------------------------------------------- */
hr {
  border-color: var(--so-border-color) !important;
}

/* ---------------------------------------------------------------------------
   14. Links
   --------------------------------------------------------------------------- */
a {
  color: var(--so-accent-primary) !important;
}

a:hover {
  color: #818cf8 !important;
}

/* Keep button text colors */
.btn a,
a.btn,
.btn-success a,
.btn-danger a,
.btn-warning a,
.btn-info a,
.btn-primary a {
  color: #fff !important;
}

/* Go to dashboard link */
.go-to-portal {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   15. Dropdowns
   --------------------------------------------------------------------------- */
.dropdown-menu {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  box-shadow: var(--so-shadow-md) !important;
}

.dropdown-menu > li > a {
  color: var(--so-text-secondary) !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-primary) !important;
}

.dropdown-menu .divider {
  background-color: var(--so-border-color) !important;
}

/* ---------------------------------------------------------------------------
   16. Modals (identity confirmation, etc.)
   --------------------------------------------------------------------------- */
.modal-content {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.modal-header {
  border-bottom-color: var(--so-border-color) !important;
}

.modal-footer {
  border-top-color: var(--so-border-color) !important;
  background-color: var(--so-bg-secondary) !important;
}

.modal-title {
  color: var(--so-text-primary) !important;
}

.modal-backdrop.in {
  opacity: 0.7 !important;
}

/* ---------------------------------------------------------------------------
   17. Tabs (general, not just proposal)
   --------------------------------------------------------------------------- */
.nav-tabs {
  border-bottom-color: var(--so-border-color) !important;
}

.nav-tabs > li > a {
  color: var(--so-text-secondary) !important;
  background-color: transparent !important;
}

.nav-tabs > li > a:hover {
  border-color: transparent !important;
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-primary) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) var(--so-border-color) var(--so-card-bg) !important;
  color: var(--so-text-primary) !important;
}

.tab-content {
  background-color: var(--so-card-bg) !important;
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   18. Tooltips / Popovers
   --------------------------------------------------------------------------- */
.tooltip-inner {
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-primary) !important;
  border: 1px solid var(--so-border-color) !important;
}

.popover {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
}

.popover-title {
  background-color: var(--so-bg-tertiary) !important;
  border-bottom-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.popover-content {
  color: var(--so-text-secondary) !important;
}

/* ---------------------------------------------------------------------------
   19. Wells & Misc Containers
   --------------------------------------------------------------------------- */
.well {
  background-color: var(--so-bg-secondary) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.list-group-item {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-primary) !important;
}

.list-group-item:hover {
  background-color: var(--so-card-bg-hover) !important;
}

/* Breadcrumbs */
.breadcrumb {
  background-color: var(--so-bg-secondary) !important;
}

.breadcrumb > li,
.breadcrumb > .active {
  color: var(--so-text-muted) !important;
}

/* ---------------------------------------------------------------------------
   20. Scrollbar (webkit)
   --------------------------------------------------------------------------- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--so-bg-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--so-border-color);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--so-text-muted);
}

/* ---------------------------------------------------------------------------
   21. Bold text used as labels in views (e.g., "Subtotal", "Total", etc.)
   --------------------------------------------------------------------------- */
.bold,
b,
strong {
  color: var(--so-text-primary) !important;
}

/* Ensure bold inside table cells inherits properly */
.table td .bold,
.table td b,
.table td strong,
.table th .bold,
.table th b,
.table th strong {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   22. Overdue alert specifically
   --------------------------------------------------------------------------- */
.alert.alert-danger.text-center {
  background-color: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
}

.alert.alert-danger.text-center p {
  color: #fca5a5 !important;
}

/* ---------------------------------------------------------------------------
   23. Progress bars
   --------------------------------------------------------------------------- */
.progress {
  background-color: var(--so-bg-tertiary) !important;
  border-radius: 4px !important;
}

.progress-bar {
  background: var(--so-accent-gradient) !important;
}

.progress-bar-success {
  background-color: var(--so-success) !important;
}

.progress-bar-danger {
  background-color: var(--so-danger) !important;
}

.progress-bar-warning {
  background-color: var(--so-warning) !important;
}

/* ---------------------------------------------------------------------------
   24. Select2 (if loaded on client pages)
   --------------------------------------------------------------------------- */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background-color: var(--so-input-bg) !important;
  border-color: var(--so-border-color) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--so-text-primary) !important;
}

.select2-dropdown {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
}

.select2-results__option {
  color: var(--so-text-secondary) !important;
}

.select2-results__option--highlighted {
  background-color: var(--so-accent-primary) !important;
  color: #fff !important;
}

.select2-search__field {
  background-color: var(--so-input-bg) !important;
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   25. Pagination
   --------------------------------------------------------------------------- */
.pagination > li > a,
.pagination > li > span {
  background-color: var(--so-card-bg) !important;
  border-color: var(--so-border-color) !important;
  color: var(--so-text-secondary) !important;
}

.pagination > li > a:hover {
  background-color: var(--so-bg-tertiary) !important;
  color: var(--so-text-primary) !important;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > span {
  background-color: var(--so-accent-primary) !important;
  border-color: var(--so-accent-primary) !important;
  color: #fff !important;
}

.pagination > .disabled > a,
.pagination > .disabled > span {
  background-color: var(--so-bg-secondary) !important;
  color: var(--so-text-muted) !important;
}

/* ---------------------------------------------------------------------------
   26. Contract page
   --------------------------------------------------------------------------- */
.contract-content,
.contract-content * {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   27. Catch-all — Nuclear option for any remaining white backgrounds
   These use very specific selectors to avoid breaking intentional colors
   --------------------------------------------------------------------------- */

/* Any element with explicit white background inline or from style.css */
.col-md-10.col-md-offset-1,
.col-md-6.col-md-offset-6,
.col-md-12,
.row {
  background-color: transparent !important;
}

/* Ensure text remains readable */
p, span, div, li, td, th, label, h1, h2, h3, h4, h5, h6, address {
  color: inherit;
}

/* Override any remaining Perfex style.css white backgrounds */
.tc-content {
  background-color: var(--so-card-bg) !important;
}

/* Credit notes */
.creditnote-html-number,
.creditnote-html-company-info,
.creditnote-html-customer-info {
  color: var(--so-text-primary) !important;
}

/* ---------------------------------------------------------------------------
   28. Print Styles — Revert to light for printing
   --------------------------------------------------------------------------- */
@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
  }

  .table > thead > tr > th {
    background-color: #f5f5f5 !important;
    color: #333 !important;
  }

  .label-success {
    background-color: #dff0d8 !important;
    color: #3c763d !important;
  }

  .label-danger {
    background-color: #f2dede !important;
    color: #a94442 !important;
  }

  .label-warning {
    background-color: #fcf8e3 !important;
    color: #8a6d3b !important;
  }

  a {
    color: #337ab7 !important;
  }

  hr {
    border-color: #ddd !important;
  }
}

/* ============================================================================
   END OF DARK THEME PATCH
   ============================================================================ */

/* ============================================================================
   SCALERZ SIDEBAR — all selectors prefixed with #scalerz-sidebar or .szr-*
   Appended by sidebar-restructure feature. Do not edit existing rules above.
   ============================================================================ */

/* ── Layout: hide original nav, push content ─────────────────────────────── */

.szr-original-nav-hidden {
    display: none !important;
}

/* FOUC prevention: hide original nav items instantly via CSS before JS runs.
   JS restores this inline if sidebar init fails (via restoreOriginalNav). */
body.customers .navbar-default .navbar-nav.navbar-right {
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Hamburger is hidden on desktop; sidebar is always visible */
.szr-hamburger {
    display: none;
}

body.szr-sidebar-active {
    padding-left: var(--sidebar-width) !important;
    overflow-x: hidden;
}

/* ── Sidebar shell ────────────────────────────────────────────────────────── */

#scalerz-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    background: linear-gradient(180deg, #0c1219 0%, #0f1923 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.04);
    display: flex;
    flex-direction: column;
    z-index: 1040;
    overflow: hidden;
    box-shadow: 2px 0 24px rgba(0, 0, 0, 0.4), inset -1px 0 0 rgba(255, 255, 255, 0.02);
}

/* ── Logo area ────────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-logo {
    height: 60px;
    min-height: 60px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

#scalerz-sidebar .szr-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none !important;
    color: var(--text-primary) !important;
}

#scalerz-sidebar .szr-wordmark {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.06em;
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: filter 300ms ease;
}

#scalerz-sidebar .szr-logo-link:hover .szr-wordmark {
    filter: brightness(1.2);
}

/* ── Scrollable nav area ──────────────────────────────────────────────────── */

#scalerz-sidebar .szr-scroll {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px 0 8px;

    /* Thin custom scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(99, 102, 241, 0.25) transparent;
}

#scalerz-sidebar .szr-scroll::-webkit-scrollbar {
    width: 4px;
}

#scalerz-sidebar .szr-scroll::-webkit-scrollbar-track {
    background: transparent;
}

#scalerz-sidebar .szr-scroll::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.1);
    border-radius: 4px;
    transition: background 200ms ease;
}

#scalerz-sidebar .szr-scroll:hover::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.25);
}

#scalerz-sidebar .szr-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.45);
}

/* ── Nav lists ────────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Section labels ───────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-section {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px 4px;
    cursor: default;
    user-select: none;
    -webkit-user-select: none;
}

#scalerz-sidebar .szr-section-text {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(100, 116, 139, 0.7);
    white-space: nowrap;
    flex-shrink: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

#scalerz-sidebar .szr-section-line {
    flex: 1;
    height: 1px;
    background: var(--border-color);
    opacity: 0.6;
}

/* ── Nav items ────────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-item {
    list-style: none;
    margin: 1px 8px;
    border-radius: var(--radius-sm);
}

#scalerz-sidebar .szr-item-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: var(--radius-sm);
    text-decoration: none !important;
    color: var(--text-secondary) !important;
    font-size: 13.5px;
    font-weight: 400;
    transition: background var(--transition-fast), color var(--transition-fast);
    white-space: nowrap;
    overflow: hidden;
}

#scalerz-sidebar .szr-item-link:hover {
    background: var(--sidebar-item-hover) !important;
    color: var(--text-primary) !important;
    text-decoration: none !important;
    transform: translateX(2px);
    transition: all var(--transition-fast);
}

/* Active state — covers szr-active (JS-set) and Perfex's native .active class */
#scalerz-sidebar .szr-item-link.szr-active,
#scalerz-sidebar .szr-item.szr-active > .szr-item-link,
#scalerz-sidebar .szr-item.active > .szr-item-link,
#scalerz-sidebar li.active > .szr-item-link,
#scalerz-sidebar .szr-child.active > .szr-item-link {
    background: var(--sidebar-item-active) !important;
    color: var(--accent-primary) !important;
    font-weight: 500;
    border-left: 2px solid var(--accent-primary);
    padding-left: 10px;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.08);
    transform: none; /* cancel hover translateX on active items */
}

/* Active icon — match accent color, full opacity */
#scalerz-sidebar .szr-item-link.szr-active .szr-item-icon,
#scalerz-sidebar .szr-item.szr-active > .szr-item-link .szr-item-icon,
#scalerz-sidebar .szr-item.active > .szr-item-link .szr-item-icon,
#scalerz-sidebar li.active > .szr-item-link .szr-item-icon {
    color: var(--accent-primary);
    opacity: 1;
}

/* ── Item icon ────────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    flex-shrink: 0;
    font-size: 14px;
    opacity: 0.8;
}

#scalerz-sidebar .szr-item-link:hover .szr-item-icon {
    opacity: 1;
}

/* ── Item label ───────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-item-label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Badge ────────────────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--accent-primary);
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
}

/* ── Collapsible group ────────────────────────────────────────────────────── */

#scalerz-sidebar .szr-group {
    list-style: none;
    margin: 1px 8px;
}

#scalerz-sidebar .szr-group-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 13.5px;
    font-weight: 400;
    text-align: left;
    transition: background var(--transition-fast), color var(--transition-fast);
    white-space: nowrap;
    overflow: hidden;
}

#scalerz-sidebar .szr-group-trigger:hover {
    background: var(--sidebar-item-hover);
    color: var(--text-primary);
}

#scalerz-sidebar .szr-group.szr-has-active > .szr-group-trigger {
    color: var(--accent-hover);
}

/* Chevron rotation */
#scalerz-sidebar .szr-chevron {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--text-muted);
    transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

#scalerz-sidebar .szr-chevron svg {
    width: 12px;
    height: 12px;
}

#scalerz-sidebar .szr-group-trigger.szr-expanded .szr-chevron {
    transform: rotate(180deg);
}

/* Children list */
#scalerz-sidebar .szr-children {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 250ms ease;
}

#scalerz-sidebar .szr-children.szr-open {
    max-height: 600px; /* large enough for any child count */
}

/* Child items — indented */
#scalerz-sidebar .szr-child {
    margin: 1px 0 1px 18px;
}

#scalerz-sidebar .szr-child .szr-item-link {
    font-size: 13px;
    padding: 7px 12px;
    color: var(--text-muted) !important;
}

#scalerz-sidebar .szr-child .szr-item-link:hover {
    color: var(--text-primary) !important;
}

#scalerz-sidebar .szr-child.szr-active > .szr-item-link,
#scalerz-sidebar .szr-child .szr-item-link.szr-active,
#scalerz-sidebar .szr-child.active > .szr-item-link {
    color: var(--accent-primary) !important;
    background: var(--sidebar-item-active) !important;
    border-left: 2px solid var(--accent-primary);
    padding-left: 10px;
}

/* ── Bottom nav (pinned) ──────────────────────────────────────────────────── */

#scalerz-sidebar .szr-bottom-nav {
    border-top: none;
    padding: 8px 0;
    flex-shrink: 0;
    position: relative;
}

#scalerz-sidebar .szr-bottom-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-color), transparent);
}

#scalerz-sidebar .szr-bottom-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Entrance animation ───────────────────────────────────────────────────── */

@keyframes szr-fade-in {
    from { opacity: 0; transform: translateX(-8px) scale(0.98); }
    to   { opacity: 1; transform: translateX(0)   scale(1); }
}

@keyframes szr-active-pulse {
    0%   { box-shadow: 0 0 0 0   rgba(99, 102, 241, 0.3); }
    70%  { box-shadow: 0 0 0 6px rgba(99, 102, 241, 0); }
    100% { box-shadow: 0 0 0 0   rgba(99, 102, 241, 0); }
}

#scalerz-sidebar .szr-anim {
    animation: szr-fade-in 200ms var(--szr-delay, 0ms) both ease-out;
}

/* One-time gentle pulse on the active link after page load */
#scalerz-sidebar .szr-item-link.szr-active {
    animation: szr-active-pulse 1.5s ease-out 0.5s 1;
}

/* When the active link also carries szr-anim (both classes on same element),
   combine both animations so neither overwrites the other. */
#scalerz-sidebar .szr-item-link.szr-active.szr-anim {
    animation: szr-fade-in 200ms var(--szr-delay, 0ms) both ease-out,
               szr-active-pulse 1.5s ease-out 0.5s 1;
}

/* ── Mobile hamburger button ──────────────────────────────────────────────── */

.szr-hamburger {
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 1050;
    width: 36px;
    height: 36px;
    padding: 6px;
    background: var(--sidebar-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: none; /* shown only on mobile via media query below */
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.szr-hamburger span {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--text-secondary);
    border-radius: 2px;
    transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.szr-hamburger.szr-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.szr-hamburger.szr-active span:nth-child(2) { opacity: 0; }
.szr-hamburger.szr-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Backdrop (mobile) ────────────────────────────────────────────────────── */

.szr-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1035;
    opacity: 0;
    transition: opacity var(--transition-normal);
}

.szr-backdrop.szr-visible {
    display: block;
    opacity: 1;
}

/* ── Mobile breakpoint ────────────────────────────────────────────────────── */

@media (max-width: 767px) {
    /* Show hamburger */
    .szr-hamburger {
        display: flex;
    }

    /* Undo desktop content push */
    body.szr-sidebar-active {
        padding-left: 0 !important;
    }

    /* Sidebar starts off-screen, slides in with iOS-like spring feel */
    #scalerz-sidebar {
        transform: translateX(-100%);
        transition: transform 350ms cubic-bezier(0.32, 0.72, 0, 1);
    }

    #scalerz-sidebar.szr-open {
        transform: translateX(0);
    }

    /* Show hamburger-area padding at top so content isn't hidden behind it */
    body.szr-sidebar-active .container,
    body.szr-sidebar-active > .container {
        padding-top: 60px;
    }
}


/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 0 v4 — CLIENT PORTAL AUTH PAGE (LOGIN / REGISTER / FORGOT PASSWORD)
   Targets: body.customers_login, body.register
   DO NOT edit above this line.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 1. SIDEBAR NUCLEAR KILL ─────────────────────────────────────────────── */
body.customers_login #sidebar,
body.customers_login .sidebar,
body.customers_login #scalerz-sidebar,
body.customers_login .custom-sidebar-nav,
body.customers_login nav[class*="sidebar"],
body.customers_login [id*="sidebar"],
body.customers_login .left-sidebar,
body.customers_login .sidebar-wrapper,
body.register #sidebar,
body.register .sidebar,
body.register #scalerz-sidebar,
body.register .custom-sidebar-nav,
body.register nav[class*="sidebar"],
body.register [id*="sidebar"],
body.register .left-sidebar,
body.register .sidebar-wrapper {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ── 2. NAVBAR — transparent, static, zero height ───────────────────────── */
body.customers_login .navbar.navbar-default,
body.register .navbar.navbar-default {
    position: static !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
}

body.customers_login .navbar-brand,
body.customers_login .navbar-header,
body.customers_login .navbar-nav,
body.customers_login .navbar-collapse,
body.register .navbar-brand,
body.register .navbar-header,
body.register .navbar-nav,
body.register .navbar-collapse {
    display: none !important;
}

/* ── 3. FOUC override — restore navbar-right visibility ──────────────────── */
body.customers_login .navbar-default .navbar-nav.navbar-right,
body.register .navbar-default .navbar-nav.navbar-right {
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
}

/* ── 4. BODY — full-viewport flex column ─────────────────────────────────── */
body.customers_login,
body.register {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    background: #020617 !important;
    background-image:
        radial-gradient(ellipse at 20% 50%, rgba(99,102,241,0.08) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 20%, rgba(99,102,241,0.05) 0%, transparent 50%) !important;
    background-attachment: fixed !important;
}

/* ── 5. WRAPPER — center auth card, kill sidebar margin ──────────────────── */
body.customers_login #wrapper,
body.register #wrapper {
    margin-left: 0 !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px 16px !important;
}

/* ── 6. CONTENT + CONTAINER — constrain to card width ───────────────────── */
body.customers_login #content,
body.register #content {
    width: 100% !important;
    max-width: 460px !important;
    padding: 0 !important;
}

body.customers_login #content > .container,
body.register #content > .container {
    width: 100% !important;
    max-width: 460px !important;
    padding: 0 !important;
}

/* ── 7. KILL BOOTSTRAP GRID float/offset ─────────────────────────────────── */
body.customers_login #wrapper .col-md-4,
body.customers_login #wrapper .col-md-offset-4,
body.customers_login #wrapper .col-sm-8,
body.customers_login #wrapper .col-sm-offset-2,
body.customers_login #wrapper .mtop40,
body.customers_login #wrapper .row,
body.register #wrapper .col-md-4,
body.register #wrapper .col-md-offset-4,
body.register #wrapper .col-sm-8,
body.register #wrapper .col-sm-offset-2,
body.register #wrapper .mtop40,
body.register #wrapper .row {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
}

/* ── 8. LOGO / HEADING ────────────────────────────────────────────────────── */
body.customers_login #wrapper .login-heading,
body.register #wrapper .login-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
    text-align: center !important;
    font-size: 0 !important;
}

body.customers_login #wrapper .login-heading::before,
body.register #wrapper .login-heading::before {
    content: 'SCALERZ' !important;
    display: block !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: 4px !important;
    background: linear-gradient(135deg, #6366f1 0%, #818cf8 50%, #a5b4fc 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    margin-bottom: 4px !important;
}

body.customers_login #wrapper .login-heading::after,
body.register #wrapper .login-heading::after {
    content: 'Client Portal' !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    color: rgba(165,180,252,0.55) !important;
    -webkit-text-fill-color: rgba(165,180,252,0.55) !important;
    text-transform: uppercase !important;
}

/* ── 9. CARD — glassmorphism .panel_s ────────────────────────────────────── */
body.customers_login #wrapper .panel_s,
body.register #wrapper .panel_s {
    background: rgba(13,20,38,0.88) !important;
    background-color: rgba(13,20,38,0.88) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(99,102,241,0.18) !important;
    box-shadow:
        0 24px 48px rgba(0,0,0,0.45),
        0 0 0 1px rgba(255,255,255,0.03),
        inset 0 1px 0 rgba(255,255,255,0.05) !important;
    overflow: hidden !important;
    animation: authCardIn 0.45s ease-out both !important;
}

body.customers_login #wrapper .panel_s .panel-body,
body.register #wrapper .panel_s .panel-body {
    background: transparent !important;
    background-color: transparent !important;
    padding: 32px 28px 24px !important;
}

/* ── 10. INPUTS — dark glass ─────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s input.form-control,
body.customers_login #wrapper .panel_s input[type="text"],
body.customers_login #wrapper .panel_s input[type="email"],
body.customers_login #wrapper .panel_s input[type="password"],
body.register #wrapper .panel_s input.form-control,
body.register #wrapper .panel_s input[type="text"],
body.register #wrapper .panel_s input[type="email"],
body.register #wrapper .panel_s input[type="password"] {
    background: rgba(255,255,255,0.04) !important;
    background-image: none !important;
    background-color: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.09) !important;
    border-radius: 10px !important;
    color: #e2e8f0 !important;
    caret-color: #6366f1 !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    text-indent: 0 !important;
    box-shadow: none !important;
    height: 44px !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}

body.customers_login #wrapper .panel_s input.form-control:focus,
body.customers_login #wrapper .panel_s input[type="text"]:focus,
body.customers_login #wrapper .panel_s input[type="email"]:focus,
body.customers_login #wrapper .panel_s input[type="password"]:focus,
body.register #wrapper .panel_s input.form-control:focus,
body.register #wrapper .panel_s input[type="text"]:focus,
body.register #wrapper .panel_s input[type="email"]:focus,
body.register #wrapper .panel_s input[type="password"]:focus {
    background: rgba(255,255,255,0.07) !important;
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(99,102,241,0.55) !important;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
    outline: none !important;
    color: #fff !important;
}

body.customers_login #wrapper .panel_s input.form-control::placeholder,
body.register #wrapper .panel_s input.form-control::placeholder {
    color: rgba(148,163,184,0.4) !important;
}

body.customers_login #wrapper .panel_s input[type="password"],
body.register #wrapper .panel_s input[type="password"] {
    letter-spacing: 2px !important;
}

/* ── 11. KILL icon artifacts injected by clients.js ──────────────────────── */
body.customers_login .login_icon,
body.customers_login .line_toggler,
body.customers_login #wrapper .panel_s .form-group i,
body.customers_login #wrapper .panel_s .form-group .fa,
body.register .login_icon,
body.register .line_toggler,
body.register #wrapper .panel_s .form-group i,
body.register #wrapper .panel_s .form-group .fa {
    display: none !important;
}

/* ── 12. LABELS ───────────────────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s .form-group label,
body.register #wrapper .panel_s .form-group label {
    color: rgba(203,213,225,0.75) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    margin-bottom: 6px !important;
}

/* ── 13. LANGUAGE SELECT ─────────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s .bootstrap-select > .dropdown-toggle,
body.customers_login #wrapper .panel_s select.form-control,
body.register #wrapper .panel_s .bootstrap-select > .dropdown-toggle,
body.register #wrapper .panel_s select.form-control {
    background: rgba(255,255,255,0.04) !important;
    background-color: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.09) !important;
    border-radius: 10px !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
}

/* ── 14. SUBMIT BUTTON ────────────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s .btn.btn-primary,
body.customers_login #wrapper .panel_s button[type="submit"],
body.register #wrapper .panel_s .btn.btn-primary,
body.register #wrapper .panel_s button[type="submit"] {
    background: linear-gradient(135deg, #6366f1 0%, #818cf8 100%) !important;
    background-color: #6366f1 !important;
    border: none !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px !important;
    height: 46px !important;
    width: 100% !important;
    display: block !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    box-shadow: 0 4px 14px rgba(99,102,241,0.4) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.customers_login #wrapper .panel_s .btn.btn-primary:hover,
body.customers_login #wrapper .panel_s button[type="submit"]:hover,
body.register #wrapper .panel_s .btn.btn-primary:hover,
body.register #wrapper .panel_s button[type="submit"]:hover {
    background: linear-gradient(135deg, #5457e5 0%, #6366f1 100%) !important;
    box-shadow: 0 6px 20px rgba(99,102,241,0.55) !important;
    transform: translateY(-1px) !important;
}

body.customers_login #wrapper .panel_s .btn.btn-primary:active,
body.customers_login #wrapper .panel_s button[type="submit"]:active,
body.register #wrapper .panel_s .btn.btn-primary:active,
body.register #wrapper .panel_s button[type="submit"]:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(99,102,241,0.3) !important;
}

/* ── 15. LINKS ────────────────────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s a,
body.customers_login #wrapper .panel_s .text-muted,
body.register #wrapper .panel_s a,
body.register #wrapper .panel_s .text-muted {
    color: rgba(165,180,252,0.75) !important;
    font-size: 13px !important;
    transition: color 0.2s ease !important;
}

body.customers_login #wrapper .panel_s a:hover,
body.register #wrapper .panel_s a:hover {
    color: #818cf8 !important;
}

/* ── 16. REMEMBER ME ─────────────────────────────────────────────────────── */
body.customers_login #wrapper .panel_s .checkbox,
body.register #wrapper .panel_s .checkbox {
    color: rgba(148,163,184,0.65) !important;
    font-size: 13px !important;
}

/* ── 17. FOOTER ───────────────────────────────────────────────────────────── */
body.customers_login footer.footer,
body.register footer.footer {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: rgba(100,116,139,0.5) !important;
    flex-shrink: 0 !important;
}

/* ── 18. ENTRY ANIMATION ─────────────────────────────────────────────────── */
@keyframes authCardIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ── 19. MOBILE ───────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
    body.customers_login #wrapper .panel_s .panel-body,
    body.register #wrapper .panel_s .panel-body {
        padding: 24px 18px 20px !important;
    }

    body.customers_login #wrapper,
    body.register #wrapper {
        padding: 16px 12px !important;
    }

    body.customers_login #wrapper .login-heading::before,
    body.register #wrapper .login-heading::before {
        font-size: 22px !important;
    }
}

/* ── END PHASE 0 v4 ─────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════════════════
   PHASES 1–10 — SCALERZ CLIENT PORTAL: FULL PREMIUM UI
   Appended below Phase 0. Scoped to body.customers (logged-in portal pages).
   Auth pages (body.customers_login, body.register) handled by Phase 0 above.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 1 — FOUNDATION: TYPOGRAPHY & LAYOUT
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 1.1 New design tokens scoped to portal (don't pollute :root) ─────────── */
body.customers {
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-size-xs: 11px;
    --font-size-sm: 13px;
    --font-size-base: 14px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 22px;
    --font-size-2xl: 28px;
    --font-size-3xl: 36px;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --spacing-page-x: 32px;
    --spacing-page-y: 24px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.03);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.03);
    --shadow-lg: 0 12px 32px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.03);
    --shadow-xl: 0 24px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04);
    --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
    --surface-card: rgba(15, 23, 42, 0.6);
    --surface-card-hover: rgba(20, 30, 52, 0.7);
    --surface-card-border: rgba(99, 102, 241, 0.08);
    --surface-input: rgba(255, 255, 255, 0.04);
    --surface-input-border: rgba(255, 255, 255, 0.08);
    --surface-input-focus: rgba(99, 102, 241, 0.5);
    --glow-accent: 0 0 0 3px rgba(99, 102, 241, 0.12);
    scroll-behavior: smooth;
}

/* ── 1.2 Font application ─────────────────────────────────────────────────── */
body.customers,
body.customers #wrapper,
body.customers #wrapper * {
    font-family: var(--font-sans) !important;
}

/* ── 1.3 Heading hierarchy ────────────────────────────────────────────────── */
body.customers #wrapper h1 {
    font-size: var(--font-size-2xl) !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    line-height: var(--leading-tight) !important;
    margin-top: 0 !important;
}

body.customers #wrapper h2 {
    font-size: var(--font-size-xl) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    line-height: var(--leading-tight) !important;
}

body.customers #wrapper h3 {
    font-size: var(--font-size-lg) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

body.customers #wrapper h4 {
    font-size: var(--font-size-md) !important;
    font-weight: 600 !important;
    color: var(--text-secondary) !important;
}

body.customers #wrapper h5,
body.customers #wrapper h6 {
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* ── 1.4 Content area layout ──────────────────────────────────────────────── */
body.customers #wrapper #content {
    padding: var(--spacing-page-y) var(--spacing-page-x) !important;
}

body.customers #wrapper #content > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── 1.5 Mobile ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    body.customers {
        --spacing-page-x: 16px;
        --spacing-page-y: 16px;
    }
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 2 — PAGE CHROME
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 2.1 Page title / content heading ─────────────────────────────────────── */
body.customers #wrapper .content-heading,
body.customers #wrapper .page-title,
body.customers #wrapper .heading-top {
    font-size: var(--font-size-xl) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ── 2.2 Breadcrumbs ──────────────────────────────────────────────────────── */
body.customers #wrapper .breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    font-size: var(--font-size-sm) !important;
    color: var(--text-muted) !important;
}

body.customers #wrapper .breadcrumb > li > a {
    color: var(--text-muted) !important;
}

body.customers #wrapper .breadcrumb > li + li::before {
    color: rgba(255, 255, 255, 0.2) !important;
    content: "/" !important;
}

body.customers #wrapper .breadcrumb > .active {
    color: var(--text-secondary) !important;
}

/* ── 2.3 Top navbar on logged-in pages ───────────────────────────────────── */
body.customers .navbar.navbar-default.header {
    background: rgba(12, 18, 25, 0.85) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.customers .navbar.navbar-default.header .navbar-nav > li > a {
    color: var(--text-secondary) !important;
    font-size: var(--font-size-sm) !important;
    transition: color 0.15s !important;
}

body.customers .navbar.navbar-default.header .navbar-nav > li > a:hover {
    color: var(--text-primary) !important;
    background: transparent !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 3 — CARDS & PANELS
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 3.1 Base panel ───────────────────────────────────────────────────────── */
body.customers #wrapper .panel,
body.customers #wrapper .panel_s {
    background: var(--surface-card) !important;
    background-color: var(--surface-card) !important;
    border: 1px solid var(--surface-card-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-md) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
    transition: transform 0.25s var(--ease-spring), box-shadow 0.25s var(--ease-spring) !important;
}

/* ── 3.2 Panel hover ──────────────────────────────────────────────────────── */
body.customers #wrapper .panel_s:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* ── 3.3 Panel heading ────────────────────────────────────────────────────── */
body.customers #wrapper .panel > .panel-heading,
body.customers #wrapper .panel_s > .panel-heading,
body.customers #wrapper .panel-heading {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    padding: 16px 20px !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

body.customers #wrapper .panel > .panel-heading .panel-title,
body.customers #wrapper .panel_s > .panel-heading .panel-title {
    font-size: var(--font-size-base) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

/* ── 3.4 Panel body ───────────────────────────────────────────────────────── */
body.customers #wrapper .panel > .panel-body,
body.customers #wrapper .panel_s > .panel-body,
body.customers #wrapper .panel-body {
    background: transparent !important;
    background-color: transparent !important;
    padding: 20px 24px !important;
}

/* ── 3.5 Panel footer ─────────────────────────────────────────────────────── */
body.customers #wrapper .panel > .panel-footer,
body.customers #wrapper .panel_s > .panel-footer {
    background: transparent !important;
    background-color: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 12px 20px !important;
}

/* ── 3.6 Summary / stat cards ─────────────────────────────────────────────── */
body.customers #wrapper .project-status-card,
body.customers #wrapper .stat-card,
body.customers #wrapper .info-stat-box {
    background: var(--surface-card) !important;
    border: 1px solid var(--surface-card-border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 20px 24px !important;
    box-shadow: var(--shadow-md) !important;
}

body.customers #wrapper .project-status-card .stat-number,
body.customers #wrapper .stat-card .stat-number,
body.customers #wrapper .info-stat-box .stat-number {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    line-height: 1 !important;
}

body.customers #wrapper .project-status-card .stat-label,
body.customers #wrapper .stat-card .stat-label,
body.customers #wrapper .info-stat-box .stat-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--text-muted) !important;
    margin-top: 6px !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 4 — TABLES
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 4.1 Table base ───────────────────────────────────────────────────────── */
body.customers #wrapper .table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    width: 100% !important;
}

/* ── 4.2 Table header ─────────────────────────────────────────────────────── */
body.customers #wrapper .table > thead > tr > th {
    background: rgba(0, 0, 0, 0.25) !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
    color: var(--text-muted) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-top: none !important;
    position: sticky;
    top: 0;
    z-index: 10;
}

/* ── 4.3 Table cells ──────────────────────────────────────────────────────── */
body.customers #wrapper .table > tbody > tr > td {
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    border-top: none !important;
    color: var(--text-secondary) !important;
    font-size: var(--font-size-sm) !important;
    vertical-align: middle !important;
    transition: background 0.15s var(--ease-smooth) !important;
    background-color: transparent !important;
}

/* ── 4.4 Row hover ────────────────────────────────────────────────────────── */
body.customers #wrapper .table > tbody > tr:hover > td {
    background: rgba(255, 255, 255, 0.03) !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* ── 4.5 Alternating rows ─────────────────────────────────────────────────── */
body.customers #wrapper .table-striped > tbody > tr:nth-child(even) > td {
    background: rgba(255, 255, 255, 0.015) !important;
    background-color: rgba(255, 255, 255, 0.015) !important;
}

/* ── 4.6 DataTables controls ──────────────────────────────────────────────── */
body.customers .dataTables_length,
body.customers .dataTables_filter {
    font-size: var(--font-size-sm) !important;
    color: var(--text-muted) !important;
    margin-bottom: 12px !important;
}

body.customers .dataTables_length label,
body.customers .dataTables_filter label {
    color: var(--text-muted) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 400 !important;
}

body.customers #wrapper .dataTables_length select,
body.customers #wrapper .dataTables_filter input {
    background: var(--surface-input) !important;
    background-color: var(--surface-input) !important;
    border: 1px solid var(--surface-input-border) !important;
    border-radius: var(--radius-md) !important;
    color: var(--text-primary) !important;
    font-size: var(--font-size-sm) !important;
    padding: 6px 10px !important;
    box-shadow: none !important;
}

body.customers .dataTables_info {
    font-size: var(--font-size-xs) !important;
    color: var(--text-muted) !important;
    padding-top: 8px !important;
}

/* ── 4.7 Pagination ───────────────────────────────────────────────────────── */
body.customers #wrapper .pagination > li > a,
body.customers #wrapper .pagination > li > span {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: var(--text-secondary) !important;
    border-radius: var(--radius-md) !important;
    margin: 0 2px !important;
    padding: 6px 12px !important;
    font-size: var(--font-size-sm) !important;
    transition: all 0.2s var(--ease-smooth) !important;
}

body.customers #wrapper .pagination > .active > a,
body.customers #wrapper .pagination > .active > span,
body.customers #wrapper .pagination > .active > a:hover,
body.customers #wrapper .pagination > .active > span:hover {
    background: var(--accent-primary) !important;
    background-color: var(--accent-primary) !important;
    border-color: var(--accent-primary) !important;
    color: #fff !important;
}

body.customers #wrapper .pagination > li > a:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--text-primary) !important;
}

body.customers #wrapper .pagination > .disabled > a,
body.customers #wrapper .pagination > .disabled > span {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 5 — FORMS
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 5.1 All inputs — must include #wrapper to beat specificity at line 1944 */
body.customers #wrapper input.form-control,
body.customers #wrapper select.form-control,
body.customers #wrapper textarea.form-control,
body.customers #wrapper .form-control {
    background: var(--surface-input) !important;
    background-color: var(--surface-input) !important;
    border: 1px solid var(--surface-input-border) !important;
    border-radius: var(--radius-md) !important;
    color: var(--text-primary) !important;
    font-size: var(--font-size-base) !important;
    padding: 10px 14px !important;
    height: auto !important;
    min-height: 42px !important;
    transition: border-color 0.2s var(--ease-smooth), box-shadow 0.2s var(--ease-smooth) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

body.customers #wrapper input.form-control:focus,
body.customers #wrapper select.form-control:focus,
body.customers #wrapper textarea.form-control:focus,
body.customers #wrapper .form-control:focus {
    border-color: var(--surface-input-focus) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), var(--glow-accent) !important;
    outline: none !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
}

body.customers #wrapper input.form-control::placeholder,
body.customers #wrapper textarea.form-control::placeholder {
    color: rgba(226, 232, 240, 0.3) !important;
}

/* ── 5.2 Textarea ─────────────────────────────────────────────────────────── */
body.customers #wrapper textarea.form-control {
    min-height: 100px !important;
    resize: vertical !important;
    padding: 12px 14px !important;
}

/* ── 5.3 Labels ───────────────────────────────────────────────────────────── */
body.customers #wrapper .form-group > label,
body.customers #wrapper .control-label {
    font-size: var(--font-size-xs) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--text-muted) !important;
    margin-bottom: 6px !important;
}

/* ── 5.4 Form group spacing ───────────────────────────────────────────────── */
body.customers #wrapper .form-group {
    margin-bottom: 20px !important;
}

/* ── 5.5 Select — remove native appearance ────────────────────────────────── */
body.customers #wrapper select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 36px !important;
}

/* ── 5.6 Checkboxes and radios ────────────────────────────────────────────── */
body.customers #wrapper input[type="checkbox"],
body.customers #wrapper input[type="radio"] {
    accent-color: var(--accent-primary) !important;
    width: 16px !important;
    height: 16px !important;
}

/* ── 5.7 Input groups ─────────────────────────────────────────────────────── */
body.customers #wrapper .input-group-addon {
    background: rgba(255, 255, 255, 0.04) !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--surface-input-border) !important;
    color: var(--text-muted) !important;
}

/* ── 5.8 Bootstrap Select plugin ─────────────────────────────────────────── */
body.customers #wrapper .bootstrap-select > .dropdown-toggle.btn-default {
    background: var(--surface-input) !important;
    background-color: var(--surface-input) !important;
    border: 1px solid var(--surface-input-border) !important;
    border-radius: var(--radius-md) !important;
    color: var(--text-primary) !important;
    font-size: var(--font-size-base) !important;
}

body.customers #wrapper .bootstrap-select .dropdown-menu {
    background: rgba(15, 23, 42, 0.97) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
}

body.customers #wrapper .bootstrap-select .dropdown-menu li a {
    color: var(--text-secondary) !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--font-size-sm) !important;
}

body.customers #wrapper .bootstrap-select .dropdown-menu li.active a,
body.customers #wrapper .bootstrap-select .dropdown-menu li a:hover {
    background: rgba(99, 102, 241, 0.15) !important;
    color: var(--text-primary) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 6 — BUTTONS
   All must include #wrapper to beat `body #wrapper .btn { border-radius: 0px !important }`
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 6.1 Primary & Info buttons ───────────────────────────────────────────── */
body.customers #wrapper .btn.btn-primary,
body.customers #wrapper .btn.btn-info {
    background: var(--accent-gradient) !important;
    background-color: var(--accent-primary) !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: var(--font-size-sm) !important;
    padding: 10px 20px !important;
    min-height: 38px !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25) !important;
    transition: transform 0.2s var(--ease-spring), box-shadow 0.2s var(--ease-spring) !important;
    position: relative !important;
    z-index: 1 !important;
    cursor: pointer !important;
}

body.customers #wrapper .btn.btn-primary:hover,
body.customers #wrapper .btn.btn-info:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.35) !important;
}

body.customers #wrapper .btn.btn-primary:active,
body.customers #wrapper .btn.btn-info:active {
    transform: translateY(0) scale(0.98) !important;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2) !important;
}

/* ── 6.2 Default / ghost buttons ──────────────────────────────────────────── */
body.customers #wrapper .btn.btn-default {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--radius-md) !important;
    color: var(--text-secondary) !important;
    font-weight: 500 !important;
    font-size: var(--font-size-sm) !important;
    padding: 10px 20px !important;
    min-height: 38px !important;
    transition: all 0.2s var(--ease-smooth) !important;
    cursor: pointer !important;
}

body.customers #wrapper .btn.btn-default:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: var(--text-primary) !important;
}

/* ── 6.3 Danger button ────────────────────────────────────────────────────── */
body.customers #wrapper .btn.btn-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    background-color: rgba(239, 68, 68, 0.15) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    border-radius: var(--radius-md) !important;
    color: #f87171 !important;
    font-weight: 500 !important;
    font-size: var(--font-size-sm) !important;
    transition: all 0.2s var(--ease-smooth) !important;
    cursor: pointer !important;
}

body.customers #wrapper .btn.btn-danger:hover {
    background: rgba(239, 68, 68, 0.25) !important;
    background-color: rgba(239, 68, 68, 0.25) !important;
    border-color: rgba(239, 68, 68, 0.5) !important;
}

/* ── 6.4 Success button ───────────────────────────────────────────────────── */
body.customers #wrapper .btn.btn-success {
    background: rgba(34, 197, 94, 0.15) !important;
    background-color: rgba(34, 197, 94, 0.15) !important;
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    border-radius: var(--radius-md) !important;
    color: #4ade80 !important;
    font-weight: 500 !important;
    font-size: var(--font-size-sm) !important;
    transition: all 0.2s var(--ease-smooth) !important;
    cursor: pointer !important;
}

body.customers #wrapper .btn.btn-success:hover {
    background: rgba(34, 197, 94, 0.25) !important;
    background-color: rgba(34, 197, 94, 0.25) !important;
    border-color: rgba(34, 197, 94, 0.5) !important;
}

/* ── 6.5 Warning button ───────────────────────────────────────────────────── */
body.customers #wrapper .btn.btn-warning {
    background: rgba(245, 158, 11, 0.15) !important;
    background-color: rgba(245, 158, 11, 0.15) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    border-radius: var(--radius-md) !important;
    color: #fbbf24 !important;
    font-weight: 500 !important;
    font-size: var(--font-size-sm) !important;
    transition: all 0.2s var(--ease-smooth) !important;
    cursor: pointer !important;
}

body.customers #wrapper .btn.btn-warning:hover {
    background: rgba(245, 158, 11, 0.25) !important;
    background-color: rgba(245, 158, 11, 0.25) !important;
    border-color: rgba(245, 158, 11, 0.5) !important;
}

/* ── 6.6 Common focus state for all buttons ───────────────────────────────── */
body.customers #wrapper .btn:focus,
body.customers #wrapper .btn:active:focus {
    outline: none !important;
    box-shadow: var(--glow-accent) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 7 — MODALS
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 7.1 Backdrop ─────────────────────────────────────────────────────────── */
body.customers .modal-backdrop.in {
    opacity: 0.6 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* ── 7.2 Dialog entrance ──────────────────────────────────────────────────── */
body.customers .modal.in .modal-dialog {
    animation: modalEntrance 0.3s var(--ease-spring) both !important;
}

@keyframes modalEntrance {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* ── 7.3 Modal content ────────────────────────────────────────────────────── */
body.customers #wrapper .modal-content {
    background: rgba(13, 20, 40, 0.96) !important;
    background-color: rgba(13, 20, 40, 0.96) !important;
    border: 1px solid var(--surface-card-border) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-xl) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    overflow: hidden !important;
}

/* ── 7.4 Modal header ─────────────────────────────────────────────────────── */
body.customers #wrapper .modal-header {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 20px 24px !important;
}

body.customers #wrapper .modal-header .modal-title {
    font-size: var(--font-size-lg) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

/* ── 7.5 Modal body ───────────────────────────────────────────────────────── */
body.customers #wrapper .modal-body {
    background: transparent !important;
    background-color: transparent !important;
    padding: 24px !important;
}

/* ── 7.6 Modal footer ─────────────────────────────────────────────────────── */
body.customers #wrapper .modal-footer {
    background: transparent !important;
    background-color: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 16px 24px !important;
}

/* ── 7.7 Close button ─────────────────────────────────────────────────────── */
body.customers #wrapper .modal-header .close,
body.customers #wrapper .modal-header button.close {
    color: var(--text-muted) !important;
    opacity: 0.6 !important;
    font-size: 24px !important;
    text-shadow: none !important;
    transition: opacity 0.2s !important;
}

body.customers #wrapper .modal-header .close:hover,
body.customers #wrapper .modal-header button.close:hover {
    opacity: 1 !important;
    color: var(--text-primary) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 8 — BADGES, PILLS & STATUS
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 8.1 Base reset — must beat ID specificity via #wrapper ───────────────── */
body.customers #wrapper .badge,
body.customers #wrapper .label {
    font-size: var(--font-size-xs) !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    letter-spacing: 0.02em !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.4 !important;
}

/* ── 8.2 Status variants ──────────────────────────────────────────────────── */
body.customers #wrapper .label-default {
    background: rgba(148, 163, 184, 0.15) !important;
    background-color: rgba(148, 163, 184, 0.15) !important;
    color: #94a3b8 !important;
}

body.customers #wrapper .label-success,
body.customers #wrapper .badge-success {
    background: rgba(34, 197, 94, 0.15) !important;
    background-color: rgba(34, 197, 94, 0.15) !important;
    color: #4ade80 !important;
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.1) !important;
}

body.customers #wrapper .label-warning,
body.customers #wrapper .badge-warning {
    background: rgba(245, 158, 11, 0.15) !important;
    background-color: rgba(245, 158, 11, 0.15) !important;
    color: #fbbf24 !important;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.1) !important;
}

body.customers #wrapper .label-danger,
body.customers #wrapper .badge-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.1) !important;
}

body.customers #wrapper .label-info,
body.customers #wrapper .badge-info {
    background: rgba(99, 102, 241, 0.15) !important;
    background-color: rgba(99, 102, 241, 0.15) !important;
    color: #818cf8 !important;
    box-shadow: 0 0 12px rgba(99, 102, 241, 0.1) !important;
}

body.customers #wrapper .label-primary,
body.customers #wrapper .badge-primary {
    background: rgba(99, 102, 241, 0.2) !important;
    background-color: rgba(99, 102, 241, 0.2) !important;
    color: #a5b4fc !important;
    box-shadow: 0 0 12px rgba(99, 102, 241, 0.15) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 9 — GLOBAL POLISH
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 9.1 Scrollbars ───────────────────────────────────────────────────────── */
body.customers ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

body.customers ::-webkit-scrollbar-track {
    background: transparent;
}

body.customers ::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

body.customers ::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* ── 9.2 Alerts ───────────────────────────────────────────────────────────── */
body.customers #wrapper .alert {
    border-radius: var(--radius-md) !important;
    border: none !important;
    border-left: 4px solid transparent !important;
    padding: 14px 18px !important;
    font-size: var(--font-size-sm) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

body.customers #wrapper .alert-success {
    background: rgba(34, 197, 94, 0.08) !important;
    background-color: rgba(34, 197, 94, 0.08) !important;
    border-left-color: #22c55e !important;
    color: #4ade80 !important;
}

body.customers #wrapper .alert-danger {
    background: rgba(239, 68, 68, 0.08) !important;
    background-color: rgba(239, 68, 68, 0.08) !important;
    border-left-color: #ef4444 !important;
    color: #f87171 !important;
}

body.customers #wrapper .alert-warning {
    background: rgba(245, 158, 11, 0.08) !important;
    background-color: rgba(245, 158, 11, 0.08) !important;
    border-left-color: #f59e0b !important;
    color: #fbbf24 !important;
}

body.customers #wrapper .alert-info {
    background: rgba(99, 102, 241, 0.08) !important;
    background-color: rgba(99, 102, 241, 0.08) !important;
    border-left-color: #6366f1 !important;
    color: #818cf8 !important;
}

/* ── 9.3 Dropdowns ────────────────────────────────────────────────────────── */
body.customers #wrapper .dropdown-menu {
    background: rgba(15, 23, 42, 0.96) !important;
    background-color: rgba(15, 23, 42, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 6px !important;
    animation: dropdownIn 0.15s var(--ease-spring) both;
}

@keyframes dropdownIn {
    from { opacity: 0; transform: translateY(-4px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

body.customers #wrapper .dropdown-menu > li > a {
    color: var(--text-secondary) !important;
    padding: 8px 14px !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--font-size-sm) !important;
    transition: background 0.15s, color 0.15s !important;
    background: transparent !important;
}

body.customers #wrapper .dropdown-menu > li > a:hover,
body.customers #wrapper .dropdown-menu > li > a:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: var(--text-primary) !important;
}

body.customers #wrapper .dropdown-menu > .active > a,
body.customers #wrapper .dropdown-menu > .active > a:hover {
    background: rgba(99, 102, 241, 0.15) !important;
    background-color: rgba(99, 102, 241, 0.15) !important;
    color: var(--accent-primary) !important;
}

body.customers #wrapper .dropdown-menu .divider {
    background-color: rgba(255, 255, 255, 0.06) !important;
}

/* ── 9.4 Links ────────────────────────────────────────────────────────────── */
body.customers #wrapper a:not(.btn):not(.nav-link):not(.navbar-brand):not(.szr-item-link):not(.szr-logo-link) {
    color: var(--accent-primary);
    text-decoration: none;
    transition: color 0.15s;
}

body.customers #wrapper a:not(.btn):not(.nav-link):not(.navbar-brand):not(.szr-item-link):not(.szr-logo-link):hover {
    color: #818cf8;
    text-decoration: underline;
    text-decoration-color: rgba(99, 102, 241, 0.4);
    text-underline-offset: 2px;
}

/* ── 9.5 Text selection ───────────────────────────────────────────────────── */
body.customers ::selection {
    background: rgba(99, 102, 241, 0.3);
    color: #fff;
}

/* ── 9.6 Tooltips ─────────────────────────────────────────────────────────── */
body.customers .tooltip-inner {
    background: rgba(15, 23, 42, 0.95) !important;
    background-color: rgba(15, 23, 42, 0.95) !important;
    border-radius: var(--radius-md) !important;
    padding: 6px 12px !important;
    font-size: var(--font-size-xs) !important;
    box-shadow: var(--shadow-md) !important;
    backdrop-filter: blur(12px) !important;
    color: var(--text-primary) !important;
}

body.customers .tooltip.top .tooltip-arrow {
    border-top-color: rgba(15, 23, 42, 0.95) !important;
}

body.customers .tooltip.bottom .tooltip-arrow {
    border-bottom-color: rgba(15, 23, 42, 0.95) !important;
}

body.customers .tooltip.left .tooltip-arrow {
    border-left-color: rgba(15, 23, 42, 0.95) !important;
}

body.customers .tooltip.right .tooltip-arrow {
    border-right-color: rgba(15, 23, 42, 0.95) !important;
}

/* ── 9.7 Focus visible (accessibility) ───────────────────────────────────── */
body.customers #wrapper *:focus-visible {
    outline: 2px solid var(--accent-primary) !important;
    outline-offset: 2px !important;
    border-radius: var(--radius-sm) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHASE 10 — MOTION & TRANSITIONS
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 10.1 Page content fade-in ────────────────────────────────────────────── */
@keyframes pageContentIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

body.customers #wrapper #content {
    animation: pageContentIn 0.4s var(--ease-spring) both !important;
    animation-delay: 0.05s !important;
}

/* ── 10.2 Panel entrance (staggered) ─────────────────────────────────────── */
@keyframes panelIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

body.customers #wrapper .panel,
body.customers #wrapper .panel_s {
    animation: panelIn 0.35s var(--ease-spring) both !important;
}

body.customers #wrapper .panel:nth-child(1),
body.customers #wrapper .panel_s:nth-child(1) { animation-delay: 0.05s !important; }
body.customers #wrapper .panel:nth-child(2),
body.customers #wrapper .panel_s:nth-child(2) { animation-delay: 0.10s !important; }
body.customers #wrapper .panel:nth-child(3),
body.customers #wrapper .panel_s:nth-child(3) { animation-delay: 0.15s !important; }
body.customers #wrapper .panel:nth-child(4),
body.customers #wrapper .panel_s:nth-child(4) { animation-delay: 0.20s !important; }
body.customers #wrapper .panel:nth-child(5),
body.customers #wrapper .panel_s:nth-child(5) { animation-delay: 0.25s !important; }
body.customers #wrapper .panel:nth-child(6),
body.customers #wrapper .panel_s:nth-child(6) { animation-delay: 0.30s !important; }

/* ── 10.3 Table row stagger ───────────────────────────────────────────────── */
@keyframes rowFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

body.customers #wrapper .table > tbody > tr {
    animation: rowFadeIn 0.2s ease both !important;
}

body.customers #wrapper .table > tbody > tr:nth-child(1)  { animation-delay: 0.02s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(2)  { animation-delay: 0.04s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(3)  { animation-delay: 0.06s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(4)  { animation-delay: 0.08s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(5)  { animation-delay: 0.10s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(6)  { animation-delay: 0.12s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(7)  { animation-delay: 0.14s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(8)  { animation-delay: 0.16s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(9)  { animation-delay: 0.18s !important; }
body.customers #wrapper .table > tbody > tr:nth-child(10) { animation-delay: 0.20s !important; }

/* ── 10.4 Reduced motion respect ─────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    body.customers #wrapper #content,
    body.customers #wrapper .panel,
    body.customers #wrapper .panel_s,
    body.customers #wrapper .table > tbody > tr,
    body.customers .modal.in .modal-dialog,
    body.customers #wrapper .dropdown-menu {
        animation: none !important;
        transition-duration: 0.01ms !important;
    }
}

/* ══════════════════════════════════════════════════════════════════════════════
   ADDITIONAL OVERRIDES
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Progress bars ────────────────────────────────────────────────────────── */
body.customers #wrapper .progress {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border-radius: 20px !important;
    height: 8px !important;
    overflow: hidden !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

body.customers #wrapper .progress-bar {
    background: var(--accent-gradient) !important;
    background-color: var(--accent-primary) !important;
    border-radius: 20px !important;
    transition: width 0.6s var(--ease-spring) !important;
}

/* ── Tabs / nav-tabs ──────────────────────────────────────────────────────── */
body.customers #wrapper .nav-tabs {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.customers #wrapper .nav-tabs > li > a {
    color: var(--text-muted) !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 10px 16px !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 500 !important;
    transition: all 0.2s var(--ease-smooth) !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin-bottom: -1px !important;
}

body.customers #wrapper .nav-tabs > li > a:hover {
    color: var(--text-primary) !important;
    border-bottom-color: rgba(255, 255, 255, 0.15) !important;
    background: transparent !important;
}

body.customers #wrapper .nav-tabs > li.active > a,
body.customers #wrapper .nav-tabs > li.active > a:focus,
body.customers #wrapper .nav-tabs > li.active > a:hover {
    color: var(--accent-primary) !important;
    border: none !important;
    border-bottom: 2px solid var(--accent-primary) !important;
    background: transparent !important;
    background-color: transparent !important;
}

body.customers #wrapper .tab-content {
    padding-top: 20px !important;
}

/* ── Wells ────────────────────────────────────────────────────────────────── */
body.customers #wrapper .well {
    background: rgba(0, 0, 0, 0.15) !important;
    background-color: rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.04) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    padding: 16px !important;
    color: var(--text-secondary) !important;
}

/* ── List groups ──────────────────────────────────────────────────────────── */
body.customers #wrapper .list-group-item {
    background: transparent !important;
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.04) !important;
    color: var(--text-secondary) !important;
    padding: 12px 16px !important;
    transition: background 0.15s !important;
}

body.customers #wrapper .list-group-item:hover {
    background: rgba(255, 255, 255, 0.03) !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
}

body.customers #wrapper .list-group-item.active,
body.customers #wrapper .list-group-item.active:hover {
    background: rgba(99, 102, 241, 0.1) !important;
    background-color: rgba(99, 102, 241, 0.1) !important;
    border-color: rgba(99, 102, 241, 0.2) !important;
    color: var(--accent-primary) !important;
}

/* ── Popovers ─────────────────────────────────────────────────────────────── */
body.customers .popover {
    background: rgba(15, 23, 42, 0.96) !important;
    background-color: rgba(15, 23, 42, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
}

body.customers .popover-title {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
}

body.customers .popover-content {
    color: var(--text-secondary) !important;
    padding: 12px 16px !important;
}

body.customers .popover.top > .arrow::after    { border-top-color: rgba(15, 23, 42, 0.96) !important; }
body.customers .popover.bottom > .arrow::after { border-bottom-color: rgba(15, 23, 42, 0.96) !important; }
body.customers .popover.left > .arrow::after   { border-left-color: rgba(15, 23, 42, 0.96) !important; }
body.customers .popover.right > .arrow::after  { border-right-color: rgba(15, 23, 42, 0.96) !important; }

/* ── HR ───────────────────────────────────────────────────────────────────── */
body.customers #wrapper hr {
    border-color: rgba(255, 255, 255, 0.06) !important;
    border-top-color: rgba(255, 255, 255, 0.06) !important;
    margin: 20px 0 !important;
}

/* ── Table responsive wrapper ─────────────────────────────────────────────── */
body.customers #wrapper .table-responsive {
    border: none !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden !important;
}

/* ── Code blocks ──────────────────────────────────────────────────────────── */
body.customers #wrapper code,
body.customers #wrapper pre {
    background: rgba(0, 0, 0, 0.25) !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm) !important;
    color: #a5b4fc !important;
    font-size: var(--font-size-xs) !important;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
body.customers footer.footer {
    background: transparent !important;
    background-color: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
    color: var(--text-muted) !important;
    font-size: var(--font-size-xs) !important;
}

/* ── END PHASES 1–10 ────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════════════════
   HIDE DUPLICATE TOP NAVBAR — logged-in client portal pages
   The sidebar IS the navigation. The original Perfex horizontal navbar is
   redundant once body.szr-sidebar-active is set by sidebar-restructure.js.

   SAFETY: sidebar-restructure.js reads the nav DOM at scanNavItems() BEFORE
   any DOM/class mutations. CSS display:none does NOT prevent querySelector
   from finding elements — JS reads them regardless. This hide is safe.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Primary kill: when sidebar has successfully initialized ─────────────── */
body.customers.szr-sidebar-active .navbar.navbar-default.header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
}

/* ── Secondary kill: reinforce when JS adds .szr-original-nav-hidden ─────── */
body.customers .navbar.navbar-default.header.szr-original-nav-hidden {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* ── Belt-and-suspenders: hide the collapse wrapper with the nav links ────── */
body.customers.szr-sidebar-active #theme-navbar-collapse,
body.customers.szr-sidebar-active .navbar-collapse {
    display: none !important;
}

/* ── Belt-and-suspenders: hide the nav items list directly ───────────────── */
/* (supplements the existing FOUC rule at line 5839 which uses opacity:0)    */
body.customers.szr-sidebar-active .navbar-default .navbar-nav.navbar-right {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* ── END HIDE DUPLICATE NAV ─────────────────────────────────────────────── */
