/* ==========================================================================
   Custom Dark Mode CSS
   Sobrescrituras para body.dark-only y variantes oscuras del sidebar.
   ========================================================================== */

body.dark-only{
    --sb-accent: #4f9daa;
    --sb-accent-600:#428b96;
    --sb-bg:#101820;
    --sb-surface:#17212b;
    --sb-muted:#9fb0bf;
    --sb-border:rgba(79, 157, 170, 0.28);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav{
    background: var(--sb-bg);
    border-right: 1px solid var(--sb-border);
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.45);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li > .nav-link.menu-title{
    color: #e2edf0;
    background: transparent;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li > .nav-link.menu-title:hover{
    background: var(--sb-surface);
    color: var(--sb-accent);
    box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.22);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li.open > .nav-link.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > .nav-link.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li > .nav-link.menu-title.active{
    background: linear-gradient(120deg, rgba(79, 157, 170, 0.22), rgba(79, 157, 170, 0.08));
    color: var(--sb-accent);
    box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.35);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li.open > .nav-link.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > .nav-link.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li > .nav-link.menu-title.active .according-menu i{
    color: #102b33;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li > .nav-link.menu-title .according-menu i{
    color: var(--sb-muted);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu{
    border-left: 2px solid var(--sb-border);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li > a{
    color: #c8d8dd;
    background: transparent;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li > a:hover{
    background: rgba(28, 40, 37, 0.88);
    color: var(--sb-accent);
    box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.18);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li.selected > a{
    color: var(--sb-accent);
    background: linear-gradient(90deg, rgba(79, 157, 170, 0.2), transparent);
    box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.18);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li.active > a::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li > a.active::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
.main-navbar .nav-menu > li .nav-submenu > li.selected > a::before{
    background: var(--sb-accent);
}

/* Modo oscuro opcional (si usas prefers-color-scheme) */
@media (prefers-color-scheme: dark){
    body.dark-only{
        --sb-bg:#101615;
        --sb-border:#23302d;
        --sb-muted:#b2c2be;
        --sb-accent-600:#428b96;
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav{
        border-right: 1px solid var(--sb-border);
        box-shadow: inset -1px 0 0 rgba(0,0,0,.35);
    }

    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li.open > .nav-link.menu-title,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > .nav-link.menu-title{
        color: #102b33;
        background: rgba(79, 157, 170, 0.24);
        box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.35);
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li.open > .nav-link.menu-title .according-menu i,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > .nav-link.menu-title .according-menu i{
        color: #102b33;
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li > .nav-link.menu-title .according-menu i{
        color: #c7d5d1;
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu{
        border-left: 2px solid rgba(35, 48, 45, 0.85);
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li.active > a,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li > a.active,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li.selected > a{
        background: linear-gradient(90deg, rgba(79, 157, 170, 0.18), transparent);
    }
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li.active > a::before,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li > a.active::before,
    body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav
    .main-navbar .nav-menu > li .nav-submenu > li.selected > a::before{
        background: var(--sb-accent);
    }
}

/* ---------------------------------------------- */
/* Dark mode adjustments                          */
/* ---------------------------------------------- */

body.dark-only {
    --dt-bg: #101820;
    --dt-surface: #17212b;
    --dt-text: #e2e8f0;
    --dt-muted: #9fb0bf;
    --dt-border: rgba(148, 163, 184, 0.22);
    --dt-row-odd: #121d27;
    --dt-row-hover: #1e2a36;
    --dt-selected-bg: rgba(79, 157, 170, 0.24);
}

body.dark-only .btn-primary-light {
    background-color: rgba(79, 157, 170, 0.35) !important;
    color: #d5ecef;
}

body.dark-only .btn-primary-light:focus,
body.dark-only .btn-primary-light:hover {
    background-color: rgba(79, 157, 170, 0.6) !important;
    color: #ffffff;
}

body.dark-only .form-control,
body.dark-only .form-select {
    background-color: var(--dt-bg);
    border-color: var(--dt-border);
    color: rgba(255, 255, 255, 0.88);
}

body.dark-only .form-control:focus,
body.dark-only .form-select:focus {
    border-color: #245a66;
    box-shadow: 0 0 0 0.2rem rgba(79, 157, 170, 0.25);
    color: rgba(255, 255, 255, 0.92);
}

body.dark-only .form-control::placeholder,
body.dark-only .form-select option {
    color: rgba(226, 232, 240, 0.55);
}

body.dark-only .navbar-nav-down .nav-item-down {
    background-color: rgba(79, 157, 170, 0.25) !important;
    border: none !important;
}

body.dark-only .navbar-nav-down .nav-item-down:hover,
body.dark-only .navbar-nav-down .nav-item-down:focus,
body.dark-only .navbar-nav-down .nav-item-down:active,
body.dark-only .navbar-nav-down .nav-item-down.selected {
    background-color: rgba(79, 157, 170, 0.6) !important;
}

body.dark-only .navbar-nav-down .nav-link-down,
body.dark-only .navbar-nav-down .nav-item-down a {
    color: #d5ecef;
}

body.dark-only .navbar-nav-down .nav-item-down:hover a,
body.dark-only .navbar-nav-down .nav-item-down.selected a {
    color: #ffffff;
}

body.dark-only .navbar-nav-down .nav-item-down .icon-pencil-alt,
body.dark-only .navbar-nav-down .nav-item-down .icon-files {
    color: inherit;
}

body.dark-only .main-navbar .nav-menu > li > a,
body.dark-only .main-navbar .nav-menu > li > a .menu-title,
body.dark-only .main-navbar .nav-menu > li > a i,
body.dark-only .main-navbar .nav-menu .dropdown ul.nav-submenu li a {
    color: rgba(255, 255, 255, 0.85);
}

body.dark-only .main-navbar .nav-menu .dropdown ul.nav-submenu li a:hover,
body.dark-only .main-navbar .nav-menu > li > a:hover {
    color: #ffffff;
}

body.dark-only .dataTables_wrapper .dataTables_length,
body.dark-only .dataTables_wrapper .dataTables_filter,
body.dark-only .dataTables_wrapper .dataTables_info,
body.dark-only .dataTables_wrapper .dataTables_processing,
body.dark-only .dataTables_wrapper .dataTables_paginate {
    color: var(--dt-muted);
}

body.dark-only .dataTables_wrapper .dataTables_length select,
body.dark-only .dataTables_wrapper .dataTables_filter input[type="search"] {
    background-color: var(--dt-bg);
    border: 1px solid var(--dt-border);
    color: rgba(255, 255, 255, 0.88);
}

body.dark-only .dataTables_wrapper .dataTables_length select:focus,
body.dark-only .dataTables_wrapper .dataTables_filter input[type="search"]:focus {
    background-color: #182236;
}

body.dark-only .dataTables_wrapper .dataTables_filter input[type="search"]::placeholder {
    color: rgba(226, 232, 240, 0.5);
}

body.dark-only .dataTables_wrapper table.dataTable {
    border: 1px solid var(--dt-border) !important;
    border-bottom-color: var(--dt-grid-border) !important;
    background-color: transparent;
}

body.dark-only .dataTables_wrapper table.dataTable thead th,
body.dark-only .dataTables_wrapper table.dataTable thead td,
body.dark-only .dataTables_wrapper table.dataTable tbody th,
body.dark-only .dataTables_wrapper table.dataTable tbody td {
    color: var(--dt-text);
    border-color: rgba(148, 163, 184, 0.16);
}

body.dark-only .dataTables_wrapper table.dataTable thead th,
body.dark-only .dataTables_wrapper table.dataTable thead td,
body.dark-only .dataTables_wrapper table.dataTable tfoot th,
body.dark-only .dataTables_wrapper table.dataTable tfoot td {
    background-color: var(--dt-surface);
    color: var(--dt-text);
}

body.dark-only .dataTables_wrapper table.dataTable tbody th,
body.dark-only .dataTables_wrapper table.dataTable tbody td {
    background-color: var(--dt-bg);
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:nth-of-type(even) th,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:nth-of-type(even) td {
    background-color: var(--dt-row-odd);
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:hover th,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:hover td {
    background-color: var(--dt-row-hover);
}

body.dark-only .dataTables_wrapper .dataTables_paginate {
    border: 1px solid var(--dt-border);
    background-color: var(--dt-bg);
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: rgba(226, 232, 240, 0.78) !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(79, 157, 170, 0.18) !important;
    border-color: rgba(79, 157, 170, 0.75) !important;
    color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button:active {
    background: #245a66 !important;
    border-color: #245a66 !important;
    color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: transparent !important;
    border-color: var(--dt-border) !important;
    color: rgba(148, 163, 184, 0.45) !important;
}

body.dark-only .dataTables_wrapper .dataTables_processing {
    background: rgba(20, 27, 43, 0.78);
    color: transparent;
}

body.dark-only .dataTables_wrapper .dt-processing-loader {
    background: #141b2b;
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
}

body.dark-only .dataTables_wrapper .dt-processing-loader__spinner {
    border-color: rgba(79, 157, 170, 0.28);
    border-top-color: #5fb7a8;
}

body.dark-only .dataTables_wrapper .dt-processing-loader__title {
    color: rgba(255, 255, 255, 0.92);
}

body.dark-only .dataTables_wrapper .dt-processing-loader__subtitle {
    color: rgba(226, 232, 240, 0.68);
}

body.dark-only .modal .btn-close {
    -webkit-filter: invert(0.9) grayscale(100%) brightness(160%);
    filter: invert(0.9) grayscale(100%) brightness(160%);
    opacity: 0.85;
}

body.dark-only .modal .btn-close:hover,
body.dark-only .modal .btn-close:focus {
    opacity: 1;
    -webkit-filter: invert(1) grayscale(100%) brightness(200%);
    filter: invert(1) grayscale(100%) brightness(200%);
    box-shadow: 0 0 0 0.25rem rgba(226, 232, 240, 0.25);
}

body.dark-only .modal .modal-content {
    background: #141b2b;
    border-color: rgba(148, 163, 184, 0.24);
    border-top-color: #4f9daa;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .44);
}

body.dark-only .modal:has(.modal-footer .btn-danger[type="submit"]) .modal-content {
    border-top-color: #f87171;
}

body.dark-only .modal .modal-header:not(.bg-primary):not(.bg-gradient) {
    background: linear-gradient(180deg, #182236 0%, #141b2b 100%);
    border-bottom-color: rgba(148, 163, 184, 0.18);
}

body.dark-only .modal .modal-title {
    color: #edf7f8;
}

body.dark-only .modal .modal-body {
    background: #141b2b;
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

body.dark-only .modal .alert {
    color: #e5eef0;
    background-color: rgba(148, 163, 184, 0.10);
    border-color: rgba(148, 163, 184, 0.22);
}

body.dark-only .modal .alert-danger {
    color: #fee2e2;
    background-color: rgba(248, 113, 113, 0.12);
    border-color: rgba(248, 113, 113, 0.28);
}

body.dark-only .modal .alert-light {
    color: #dbeafe;
    background-color: rgba(59, 130, 246, 0.10);
    border-color: rgba(147, 197, 253, 0.22);
}

body.dark-only .modal .modal-footer {
    background: #111827;
    border-top-color: rgba(148, 163, 184, 0.18);
}

body.dark-only .modal .modal-body .nav-tabs {
    background: #101827;
    border-color: rgba(148, 163, 184, 0.22);
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

body.dark-only .modal .modal-body .nav-tabs .nav-link {
    color: #aebfc4;
}

body.dark-only .modal .modal-body .nav-tabs .nav-link.active {
    color: #edf7f8;
    background: #182236;
    box-shadow: none;
}

body.dark-only .modal .modal-body h5.fw-bold.border-bottom {
    color: #dce8ea;
    border-bottom-color: rgba(148, 163, 184, 0.20) !important;
}

body.dark-only .modal .modal-body h5.fw-bold.border-bottom::before {
    background: #4f9daa;
}

body.dark-only .modal .modal-body .alert-light.border,
body.dark-only .modal .modal-body .alert-light[class*="border"] {
    color: #dce8ea;
    background: #101827;
    border-color: rgba(148, 163, 184, 0.22) !important;
}

body.dark-only .modal .modal-body .list-group-item {
    color: #dce8ea;
    border-color: rgba(148, 163, 184, 0.16);
}

body.dark-only .modal .modal-body .list-group-item strong {
    color: #edf7f8;
}

body.dark-only .modal .modal-footer .btn[data-bs-dismiss="modal"]:not(.btn-primary):not(.btn-success),
body.dark-only .modal .modal-footer .btn[data-dismiss="modal"]:not(.btn-primary):not(.btn-success) {
    border-color: rgba(148, 163, 184, 0.34) !important;
    background: #141b2b !important;
    color: #cbd5e1 !important;
    box-shadow: none !important;
}

body.dark-only .modal .modal-footer .btn[data-bs-dismiss="modal"]:not(.btn-primary):not(.btn-success):hover,
body.dark-only .modal .modal-footer .btn[data-bs-dismiss="modal"]:not(.btn-primary):not(.btn-success):focus,
body.dark-only .modal .modal-footer .btn[data-dismiss="modal"]:not(.btn-primary):not(.btn-success):hover,
body.dark-only .modal .modal-footer .btn[data-dismiss="modal"]:not(.btn-primary):not(.btn-success):focus {
    border-color: rgba(148, 163, 184, 0.52) !important;
    background: #182236 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(79, 157, 170, 0.14) !important;
}

body.dark-only .no-datatables .btn-outline-dark,
body.dark-only .btn-outline-dark {
    color: rgba(226, 232, 240, 0.88);
    border-color: rgba(148, 163, 184, 0.45);
}

body.dark-only .no-datatables .btn-outline-dark:hover,
body.dark-only .no-datatables .btn-outline-dark:focus,
body.dark-only .no-datatables .btn-outline-dark:active,
body.dark-only .no-datatables .btn-outline-dark.active,
body.dark-only .no-datatables .btn-outline-dark.dropdown-toggle.show,
body.dark-only .btn-outline-dark:hover,
body.dark-only .btn-outline-dark:focus,
body.dark-only .btn-outline-dark:active,
body.dark-only .btn-outline-dark.active,
body.dark-only .btn-outline-dark.dropdown-toggle.show {
    color: #ffffff;
    background-color: rgba(79, 157, 170, 0.35);
    border-color: rgba(79, 157, 170, 0.65);
}

body.dark-only .no-datatables .btn-outline-dark:disabled,
body.dark-only .btn-outline-dark:disabled,
body.dark-only .btn-outline-dark.disabled {
    color: rgba(148, 163, 184, 0.55);
    border-color: rgba(148, 163, 184, 0.35);
}

body.dark-only .no-datatables .btn-outline-dark i,
body.dark-only .btn-outline-dark i,
body.dark-only .no-datatables .btn-outline-dark svg,
body.dark-only .btn-outline-dark svg {
    color: inherit;
    stroke: currentColor;
}

/* Sidebar polish en modo oscuro */
body.dark-only {
    --sb-accent-soft: rgba(79, 157, 170, 0.11);
    --sb-accent-tint: rgba(79, 157, 170, 0.18);
    --sb-text: #e2edf0;
    --sb-text-muted: #b7cac5;
    --sb-bottom-bg: #101615;
    --sb-active-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title {
    color: var(--sb-text-muted);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title) {
    background: var(--sb-accent-soft);
    color: var(--sb-accent);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title {
    background: rgba(79, 157, 170, 0.22);
    border: 1px solid rgba(79, 157, 170, 0.28);
    box-shadow: var(--sb-active-shadow);
    color: var(--sb-accent);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    color: var(--sb-text-muted);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:focus,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.selected > a {
    background: linear-gradient(90deg, var(--sb-accent-tint), rgba(79, 157, 170, 0.04));
    color: var(--sb-accent);
}

body.dark-only .main-navbar-down {
    background: linear-gradient(180deg, rgba(16, 22, 21, 0.86), var(--sb-bg) 26%);
    border-top-color: var(--sb-border);
}

body.dark-only .navbar-nav-down .nav-item-down {
    background: transparent !important;
    border-color: transparent !important;
}

body.dark-only .navbar-nav-down .nav-link-down,
body.dark-only .navbar-nav-down .nav-item-down a {
    color: var(--sb-accent);
}

body.dark-only .navbar-nav-down .nav-item-down:hover,
body.dark-only .navbar-nav-down .nav-item-down:focus-within {
    background: var(--sb-accent-soft) !important;
    border-color: rgba(79, 157, 170, 0.24) !important;
}

body.dark-only .navbar-nav-down .nav-item-down.selected {
    background: rgba(79, 157, 170, 0.22) !important;
    border-color: rgba(79, 157, 170, 0.3) !important;
}

body.dark-only .navbar-nav-down .nav-item-down:hover a,
body.dark-only .navbar-nav-down .nav-item-down:focus-within a,
body.dark-only .navbar-nav-down .nav-item-down.selected a {
    color: #ffffff;
}

/* Modulos, formularios y tablas operativas en modo oscuro */
body.dark-only {
    --op-page-text: #e5eef0;
    --op-page-muted: #9fb0bf;
    --op-page-border: rgba(148, 163, 184, 0.22);
    --op-page-surface: #17212b;
    --op-page-accent-soft: rgba(79, 157, 170, 0.12);
    --dt-control-bg: #101820;
    --dt-control-border: rgba(148, 163, 184, 0.28);
    --dt-grid-border: rgba(148, 163, 184, 0.16);
    --dt-header-bg: #1b2436;
    --dt-header-text: #dce8ea;
    --dt-row-selected: rgba(79, 157, 170, 0.18);
}

body.dark-only .app-topbar-title__heading {
    color: var(--op-page-text);
}

body.dark-only .app-topbar-title__subtitle {
    color: var(--op-page-muted);
}

body.dark-only .app-topbar-title__eyebrow {
    color: #6ea8d8;
}

body.dark-only .app-topbar-title__crumb {
    color: var(--op-page-muted);
}

body.dark-only .app-topbar-title__crumb:first-child:not(.is-current) {
    color: #6ea8d8;
}

body.dark-only .app-topbar-title__crumb.is-current {
    color: var(--op-page-text);
}

body.dark-only .app-topbar-title__separator {
    color: rgba(167, 182, 189, .72);
}

body.dark-only .page-body .page-header {
    border-bottom-color: var(--op-page-border);
}

body.dark-only .page-body .page-header h3,
body.dark-only .page-body .card > .card-header h5,
body.dark-only .page-body .card > .card-header h6 {
    color: var(--op-page-text);
}

body.dark-only .page-body .card {
    background: #141b2b;
    border-color: var(--op-page-border);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

body.dark-only .page-body .card > .card-header,
body.dark-only .page-body .card > .card-body {
    background: #141b2b;
    border-color: var(--op-page-border);
}

body.dark-only .page-body [class*="-filters"],
body.dark-only .page-body [class*="__filters"],
body.dark-only .page-body .app-datatable-filters,
body.dark-only .page-body .app-report-filters {
    background: var(--op-page-surface);
    border-color: var(--op-page-border);
}

body.dark-only .page-body .dropzone {
    background: #141b2b;
    border-color: rgba(79, 157, 170, 0.42);
}

body.dark-only .page-body .dropzone .dz-message h6 {
    color: #e5eef0;
}

body.dark-only .page-body [class*="-filters"] label,
body.dark-only .page-body [class*="__filters"] label,
body.dark-only .page-body .app-datatable-filters label,
body.dark-only .page-body .app-report-filters label,
body.dark-only .page-body .form-label,
body.dark-only .page-body .col-form-label {
    color: #cbd5e1;
}

body.dark-only .form-control,
body.dark-only .form-select,
body.dark-only .input-group-text,
body.dark-only .select2-container--default .select2-selection--single,
body.dark-only .select2-container--default .select2-selection--multiple {
    background-color: #141b2b;
    border-color: rgba(148, 163, 184, 0.28);
    color: #e5eef0;
    box-shadow: none;
}

body.dark-only .form-control:focus,
body.dark-only .form-select:focus,
body.dark-only .select2-container--default.select2-container--focus .select2-selection,
body.dark-only .select2-container--default.select2-container--open .select2-selection {
    border-color: #4f9daa;
    background-color: #18324a;
    box-shadow: 0 0 0 3px rgba(79, 157, 170, 0.16);
}

body.dark-only .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e5eef0;
}

body.dark-only .modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: rgba(79, 157, 170, 0.16) !important;
    border-color: rgba(79, 157, 170, 0.34) !important;
    color: #e5eef0;
}

body.dark-only .modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #9bd8d1 !important;
}

body.dark-only .select2-dropdown {
    background: #141b2b;
    border-color: rgba(148, 163, 184, 0.28);
    color: #e5eef0;
}

body.dark-only .select2-results__option--highlighted[aria-selected] {
    background: rgba(79, 157, 170, 0.24);
    color: #ffffff;
}

body.dark-only .dt-accounting-shell,
body.dark-only .dt-accounting-wrapper > .row:first-child,
body.dark-only .dt-accounting-wrapper > .row:last-child {
    background: #141b2b;
    border-color: var(--dt-border);
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

body.dark-only .dt-accounting-wrapper > .row:first-child {
    background: transparent;
}

body.dark-only .dt-accounting-wrapper > .row.dt-accounting-toolbar {
    background: #141b2b;
    border-color: var(--dt-border);
}

body.dark-only .dt-accounting-wrapper > .row:last-child {
    background: #182236;
}

body.dark-only .dt-accounting-wrapper .dataTables_length label {
    background: #182236;
    border-color: var(--dt-border);
}

body.dark-only .dt-accounting-wrapper .dataTables_length label,
body.dark-only .dt-accounting-wrapper .dataTables_filter label,
body.dark-only .dt-accounting-wrapper .dataTables_info {
    color: #a7b6bd;
}

body.dark-only .dt-accounting-wrapper .dataTables_length select,
body.dark-only .dt-accounting-wrapper .dataTables_filter input[type="search"] {
    background: var(--dt-control-bg);
    border-color: var(--dt-control-border);
    color: #e5eef0;
}

body.dark-only .dt-accounting-wrapper .dataTables_length select:focus,
body.dark-only .dt-accounting-wrapper .dataTables_filter input[type="search"]:focus {
    background: #18324a;
}

body.dark-only .dt-accounting-wrapper .dataTables_filter:focus-within input[type="search"] {
    background: #18324a;
}

body.dark-only {
    --form-focus-bg: #172c35;
    --form-focus-border: #4f9daa;
    --form-focus-ring: rgba(79, 157, 170, 0.18);
}

body.dark-only .select2-container--default.select2-container--disabled .select2-selection {
    background-color: #111827;
    color: rgba(226, 232, 240, 0.55);
}

body.dark-only .dt-accounting-table.dataTable thead th,
body.dark-only .dt-accounting-table.dataTable tfoot th {
    background: var(--dt-header-bg);
    color: var(--dt-header-text);
    border-color: var(--dt-border);
}

body.dark-only .dt-accounting-table.dataTable tbody td {
    background: var(--dt-bg);
    color: #dce8ea;
    border-color: var(--dt-grid-border) !important;
    box-shadow: none;
}

body.dark-only .dataTables_wrapper table.dataTable.cell-border thead th,
body.dark-only .dataTables_wrapper table.dataTable.cell-border thead td,
body.dark-only .dataTables_wrapper table.dataTable.cell-border tbody th,
body.dark-only .dataTables_wrapper table.dataTable.cell-border tbody td,
body.dark-only .dataTables_wrapper table.dataTable.display thead th,
body.dark-only .dataTables_wrapper table.dataTable.display thead td,
body.dark-only .dataTables_wrapper table.dataTable.display tbody th,
body.dark-only .dataTables_wrapper table.dataTable.display tbody td,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody th,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody td {
    border-color: var(--dt-grid-border) !important;
}

body.dark-only .dataTables_wrapper .dataTables_scroll,
body.dark-only .dataTables_wrapper .dataTables_scrollHead,
body.dark-only .dataTables_wrapper .dataTables_scrollBody,
body.dark-only .dataTables_wrapper .dataTables_scrollFoot,
body.dark-only .dataTables_wrapper .dataTables_scrollHeadInner,
body.dark-only .dataTables_wrapper .dataTables_scrollFootInner {
    border-color: var(--dt-grid-border) !important;
}

body.dark-only .dataTables_wrapper.no-footer .dataTables_scrollBody,
body.dark-only .dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
body.dark-only .dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
    border-color: var(--dt-grid-border) !important;
}

body.dark-only .dt-accounting-table.dataTable th.dt-col-actions,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions {
    background: var(--dt-bg) !important;
    border-color: var(--dt-grid-border) !important;
    border-left-color: rgba(79, 157, 170, .16) !important;
    box-shadow: none !important;
}

body.dark-only .dataTables_wrapper table.dt-accounting-table.dataTable.cell-border thead th.dt-col-actions,
body.dark-only .dataTables_wrapper table.dt-accounting-table.dataTable.cell-border tbody td.dt-col-actions,
body.dark-only .dataTables_wrapper table.dt-accounting-table.dataTable.display thead th.dt-col-actions,
body.dark-only .dataTables_wrapper table.dt-accounting-table.dataTable.display tbody td.dt-col-actions {
    border-color: var(--dt-grid-border) !important;
    border-left-color: rgba(79, 157, 170, .16) !important;
    box-shadow: none !important;
}

body.dark-only .dt-accounting-table.dataTable thead th.dt-col-actions {
    background: var(--dt-header-bg) !important;
    border-left-color: rgba(79, 157, 170, .18) !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr:hover td.dt-col-actions {
    background: #202b40 !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr.selected > td.dt-col-actions {
    background: var(--dt-row-selected) !important;
    box-shadow: none !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr:hover td {
    background: #202b40 !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr.selected > * {
    background: var(--dt-row-selected) !important;
    color: #e5fff9;
}

body.dark-only .dt-accounting-wrapper .dataTables_paginate {
    background: #141b2b;
    border-color: var(--dt-border);
}

body.dark-only .dt-accounting-wrapper .dataTables_paginate .paginate_button.previous,
body.dark-only .dt-accounting-wrapper .dataTables_paginate .paginate_button.next,
body.dark-only .dt-accounting-wrapper .dataTables_paginate .paginate_button.first,
body.dark-only .dt-accounting-wrapper .dataTables_paginate .paginate_button.last {
    color: #a7b6bd !important;
}

body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr:not(.child) > td:first-child::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr:not(.child) > th:first-child::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
    color: #d5ecef;
    background: rgba(79, 157, 170, 0.14);
    border-color: rgba(79, 157, 170, 0.35);
}

body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control::before,
body.dark-only .dt-accounting-table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control::before {
    color: #0f172a;
    background: #7fd2c7;
    border-color: #7fd2c7;
}

body.dark-only .dt-accounting-table.dataTable > tbody > tr.child td.child {
    background: #182236 !important;
    border-color: var(--dt-grid-border);
}

body.dark-only .dt-accounting-table.dataTable > tbody > tr.child ul.dtr-details > li {
    background: #141b2b;
    border-color: rgba(148, 163, 184, 0.18);
}

body.dark-only .dt-accounting-table.dataTable > tbody > tr.child span.dtr-title {
    color: #a7b6bd;
}

body.dark-only .dt-accounting-table.dataTable > tbody > tr.child span.dtr-data {
    color: #e5eef0;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button {
    background: rgba(15, 23, 42, 0.58) !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
    box-shadow: none;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button:hover:not(:disabled),
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button:focus:not(:disabled) {
    color: #0f172a !important;
    background: #7fd2c7 !important;
    border-color: #7fd2c7 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .32);
}

body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown .dropdown-content,
body.dark-only .dt-action-dropdown-menu {
    background: #141b2b;
    border-color: rgba(148, 163, 184, 0.28);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.34);
}

body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .text-muted.small,
body.dark-only .dt-action-dropdown-menu .text-muted.small {
    color: #a7b6bd !important;
}

body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn,
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content a.btn,
body.dark-only .dt-action-dropdown-menu .btn,
body.dark-only .dt-action-dropdown-menu a.btn {
    color: #d5ecef !important;
}

body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn:focus:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content a.btn:hover:not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content a.btn:focus:not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-action-dropdown-menu .btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-action-dropdown-menu .btn:focus:not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-action-dropdown-menu a.btn:hover:not(.disabled):not([aria-disabled="true"]),
body.dark-only .dt-action-dropdown-menu a.btn:focus:not(.disabled):not([aria-disabled="true"]) {
    background: rgba(79, 157, 170, 0.16) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn:disabled,
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn.disabled,
body.dark-only .dt-accounting-table.dataTable td .dropdown-basic:not(.dropdown-basic--floating) .dropdown-content .btn[aria-disabled="true"],
body.dark-only .dt-action-dropdown-menu .btn:disabled,
body.dark-only .dt-action-dropdown-menu .btn.disabled,
body.dark-only .dt-action-dropdown-menu .btn[aria-disabled="true"] {
    color: rgba(208, 239, 233, .42) !important;
}

body.dark-only .dt-action-tooltip {
    color: #0f172a;
    background: #bdf4e9;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .38);
}

body.dark-only .dt-action-tooltip[data-placement="top"]::after {
    border-top-color: #bdf4e9;
}

body.dark-only .dt-action-tooltip[data-placement="bottom"]::after {
    border-bottom-color: #bdf4e9;
}

body.dark-only .dt-accounting-table.dataTable td.dataTables_empty {
    background: #141b2b;
    border-color: var(--dt-control-border);
    color: #a7b6bd;
}

/* Cobertura general para secciones y plugins que usan superficies claras */
body.dark-only {
    --dm-page-bg: #101820;
    --dm-surface: #17212b;
    --dm-surface-2: #1e2a36;
    --dm-surface-3: #0f1720;
    --dm-text: #e5eef0;
    --dm-muted: #9fb0bf;
    --dm-border: rgba(148, 163, 184, 0.22);
    --dm-border-strong: rgba(148, 163, 184, 0.34);
    --dm-accent: #4f9daa;
    --dm-accent-soft: rgba(79, 157, 170, 0.14);
}

body.dark-only,
body.dark-only .page-wrapper,
body.dark-only .page-body-wrapper,
body.dark-only .page-body,
body.dark-only .page-body > .container-fluid {
    background: var(--dm-page-bg);
    color: var(--dm-text);
}

body.dark-only .page-main-header,
body.dark-only .page-main-header .main-header-right,
body.dark-only .page-main-header .main-header-left,
body.dark-only .footer,
body.dark-only footer {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

body.dark-only .page-main-header .nav-menus > li,
body.dark-only .page-main-header .nav-menus > li > a,
body.dark-only .page-main-header .nav-menus svg,
body.dark-only .page-main-header .nav-menus i {
    color: var(--dm-text) !important;
    stroke: currentColor;
}

body.dark-only .card,
body.dark-only .card-header,
body.dark-only .card-body,
body.dark-only .card-footer,
body.dark-only .starter-main,
body.dark-only .app-card,
body.dark-only .media,
body.dark-only .media-body {
    background-color: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

body.dark-only .page-body .card,
body.dark-only .modal .card,
body.dark-only .border-0.bg-white,
body.dark-only .shadow-sm.bg-white {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}

body.dark-only .bg-white,
body.dark-only .bg-light,
body.dark-only .bg-body,
body.dark-only .bg-body-tertiary,
body.dark-only .form-control.bg-light,
body.dark-only .section-title.bg-light,
body.dark-only pre.bg-light,
body.dark-only .alert-light,
body.dark-only .alert-light-primary,
body.dark-only .b-light {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

body.dark-only .text-dark,
body.dark-only .text-body,
body.dark-only .card .text-dark,
body.dark-only .modal .text-dark,
body.dark-only .page-body .text-dark {
    color: var(--dm-text) !important;
}

body.dark-only .text-muted,
body.dark-only .card .text-muted,
body.dark-only .modal .text-muted,
body.dark-only .page-body .text-muted,
body.dark-only small,
body.dark-only .small {
    color: var(--dm-muted) !important;
}

body.dark-only .border,
body.dark-only .border-top,
body.dark-only .border-end,
body.dark-only .border-bottom,
body.dark-only .border-start,
body.dark-only .border-light {
    border-color: var(--dm-border) !important;
}

body.dark-only hr,
body.dark-only .dropdown-divider {
    border-color: var(--dm-border);
}

body.dark-only .badge.bg-light,
body.dark-only .badge-light-primary,
body.dark-only .badge[class*="badge-light"],
body.dark-only span.bg-light[class*="badge"] {
    background: rgba(79, 157, 170, 0.13) !important;
    border-color: rgba(79, 157, 170, 0.28) !important;
    color: #d5ecef !important;
}

body.dark-only .badge.bg-light.text-primary,
body.dark-only span.bg-light.text-primary[class*="badge"] {
    color: #93c5fd !important;
}

body.dark-only .badge.bg-warning.text-dark,
body.dark-only .badge.bg-info.text-dark,
body.dark-only .btn-warning.text-dark,
body.dark-only .alert-warning.text-dark {
    color: #111827 !important;
}

body.dark-only .dropdown-menu,
body.dark-only .dropdown-content,
body.dark-only .profile-dropdown,
body.dark-only .notification-dropdown,
body.dark-only .onhover-show-div,
body.dark-only .dropdown-basic .dropdown .dropdown-content,
body.dark-only .cancel-dropdown-menu,
body.dark-only .popover,
body.dark-only .tooltip-inner {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.36);
}

body.dark-only .dropdown-menu a,
body.dark-only .dropdown-menu .dropdown-item,
body.dark-only .dropdown-content a,
body.dark-only .dropdown-content button,
body.dark-only .cancel-dropdown-menu button,
body.dark-only .onhover-show-div a {
    color: var(--dm-text);
}

body.dark-only .dropdown-menu a:hover,
body.dark-only .dropdown-menu .dropdown-item:hover,
body.dark-only .dropdown-menu .dropdown-item:focus,
body.dark-only .dropdown-content a:hover,
body.dark-only .dropdown-content button:hover,
body.dark-only .dropdown-content button:focus,
body.dark-only .cancel-dropdown-menu button:hover,
body.dark-only .cancel-dropdown-menu button:focus,
body.dark-only .onhover-show-div a:hover {
    background: var(--dm-accent-soft);
    color: #ffffff;
}

body.dark-only .btn-light,
body.dark-only .btn-air-light,
body.dark-only .no-datatables .btn-light,
body.dark-only .no-datatables .btn-air-light,
body.dark-only .btn-outline-secondary {
    background: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

body.dark-only .btn-light:hover,
body.dark-only .btn-light:focus,
body.dark-only .btn-air-light:hover,
body.dark-only .btn-air-light:focus,
body.dark-only .no-datatables .btn-light:hover,
body.dark-only .no-datatables .btn-light:focus,
body.dark-only .btn-outline-secondary:hover,
body.dark-only .btn-outline-secondary:focus {
    background: rgba(79, 157, 170, 0.18);
    border-color: rgba(79, 157, 170, 0.42);
    color: #ffffff;
}

body.dark-only .table {
    --bs-table-bg: var(--dm-surface);
    --bs-table-color: var(--dm-text);
    --bs-table-border-color: var(--dm-border);
    --bs-table-striped-bg: #192338;
    --bs-table-striped-color: var(--dm-text);
    --bs-table-hover-bg: #212d43;
    --bs-table-hover-color: var(--dm-text);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

body.dark-only .table > :not(caption) > * > * {
    background-color: var(--bs-table-bg);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

body.dark-only .table-secondary,
body.dark-only .table-light {
    --bs-table-bg: #182236;
    --bs-table-color: var(--dm-text);
    --bs-table-border-color: var(--dm-border);
}

body.dark-only .nav-tabs,
body.dark-only .nav-pills,
body.dark-only .pagination {
    border-color: var(--dm-border);
}

body.dark-only .nav-tabs .nav-link,
body.dark-only .nav-pills .nav-link,
body.dark-only .page-link {
    background: transparent;
    border-color: var(--dm-border);
    color: var(--dm-muted);
}

body.dark-only .nav-tabs .nav-link:hover,
body.dark-only .nav-tabs .nav-link:focus,
body.dark-only .nav-pills .nav-link:hover,
body.dark-only .nav-pills .nav-link:focus,
body.dark-only .page-link:hover,
body.dark-only .page-link:focus {
    background: var(--dm-accent-soft);
    color: #ffffff;
}

body.dark-only .nav-tabs .nav-link.active,
body.dark-only .nav-pills .nav-link.active,
body.dark-only .page-item.active .page-link {
    background: var(--dm-surface-2);
    border-color: rgba(79, 157, 170, 0.42);
    color: var(--dm-text);
}

body.dark-only .page-item.disabled .page-link {
    background: var(--dm-surface-3);
    color: rgba(167, 182, 189, 0.48);
}

body.dark-only .accordion,
body.dark-only .accordion-item,
body.dark-only .accordion-button {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

body.dark-only .accordion-button:not(.collapsed) {
    background: var(--dm-surface-2);
    color: #ffffff;
}

body.dark-only .accordion-button::after {
    filter: invert(1) grayscale(1);
}

body.dark-only .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.dark-only .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
body.dark-only .select2-container--default .select2-search--inline .select2-search__field {
    color: rgba(226, 232, 240, 0.58);
}

body.dark-only .select2-container--default .select2-selection--single,
body.dark-only .select2-container--default .select2-selection--multiple {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .select2-container--default:not(.select2-container--disabled).select2-container--focus .select2-selection,
body.dark-only .select2-container--default:not(.select2-container--disabled).select2-container--open .select2-selection,
body.dark-only .select2-container--default:not(.select2-container--disabled):focus-within .select2-selection,
body.dark-only .select2-container--default:not(.select2-container--disabled) .selection:focus-within .select2-selection,
body.dark-only .select2-container--default:not(.select2-container--disabled) .select2-selection:focus,
body.dark-only .select2-container--default:not(.select2-container--disabled).is-app-focused .select2-selection,
body.dark-only .select2-container--default:not(.select2-container--disabled) .select2-selection.is-app-focused,
body.dark-only .select2-container--default:not(.select2-container--disabled) .select2-selection[aria-expanded="true"] {
    background-color: #18324a !important;
    border-color: var(--dm-accent) !important;
    box-shadow: 0 0 0 3px rgba(79, 157, 170, 0.16) !important;
}

body.dark-only .select2-container--default .select2-selection--single .select2-selection__rendered,
body.dark-only .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.dark-only .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,
body.dark-only .select2-container--default .select2-selection__clear {
    color: var(--dm-text) !important;
}

body.dark-only .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--dm-muted) transparent transparent transparent !important;
}

body.dark-only .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--dm-muted) transparent !important;
}

body.dark-only .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: rgba(79, 157, 170, 0.16) !important;
    border-color: rgba(79, 157, 170, 0.34) !important;
    color: var(--dm-text);
}

body.dark-only .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #9bd8d1 !important;
}

body.dark-only .select2-container--default.select2-container--disabled .select2-selection {
    background-color: var(--dm-surface-3) !important;
    border-color: rgba(148, 163, 184, 0.16) !important;
    color: rgba(226, 232, 240, 0.48) !important;
}

body.dark-only .select2-dropdown,
body.dark-only .select2-container--default .select2-results,
body.dark-only .select2-container--default .select2-results__options {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}

body.dark-only .select2-dropdown {
    border-color: var(--dm-border-strong) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.38);
}

body.dark-only .select2-results__option {
    color: var(--dm-text) !important;
}

body.dark-only .select2-container--default .select2-results__option[aria-selected="true"],
body.dark-only .select2-container--default .select2-results__option[data-selected="true"] {
    background: rgba(79, 157, 170, 0.18) !important;
    color: var(--dm-text) !important;
}

body.dark-only .select2-container--default .select2-results__option--highlighted[aria-selected],
body.dark-only .select2-container--default .select2-results__option--highlighted[data-selected] {
    background: rgba(79, 157, 170, 0.28) !important;
    color: #ffffff !important;
}

body.dark-only .select2-container--default .select2-results__option[aria-disabled="true"] {
    color: rgba(167, 182, 189, 0.45) !important;
}

body.dark-only .select2-search--dropdown .select2-search__field {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .select2-search--dropdown .select2-search__field::placeholder {
    color: rgba(226, 232, 240, 0.52);
}

body.dark-only .page-body .form-control,
body.dark-only .page-body .form-select,
body.dark-only .page-body .input-group-text,
body.dark-only .page-body .select2-container--default .select2-selection--single,
body.dark-only .page-body .select2-container--default .select2-selection--multiple,
body.dark-only .modal .form-control,
body.dark-only .modal .form-select,
body.dark-only .modal .input-group-text,
body.dark-only .modal .select2-container--default .select2-selection--single,
body.dark-only .modal .select2-container--default .select2-selection--multiple {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .dropzone,
body.dark-only .dropzone-info,
body.dark-only #cajaAhorroLayoutDropzone {
    background: var(--dm-surface-3) !important;
    border-color: rgba(79, 157, 170, 0.42) !important;
    color: var(--dm-text);
}

body.dark-only .dropzone .dz-message,
body.dark-only .dropzone .dz-message span,
body.dark-only .dropzone .dz-message h6,
body.dark-only .dropzone .dz-preview .dz-details,
body.dark-only .dropzone .dz-preview .dz-filename,
body.dark-only .dropzone .dz-preview .dz-size {
    color: var(--dm-text) !important;
}

body.dark-only .dropzone .dz-preview {
    background: var(--dm-surface);
    border-color: var(--dm-border);
}

body.dark-only .caja-ahorro-page #cajaAhorroFilters {
    margin-right: 0;
    margin-left: 0;
    padding: 12px;
    background: var(--dm-surface-2);
    border: 1px solid var(--dm-border);
    border-radius: 8px;
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric:hover {
    border-color: rgba(79, 157, 170, 0.34);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric span:not(.caja-ahorro-metric-icon) {
    color: var(--dm-muted);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric strong {
    color: var(--dm-text);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric-abonos .caja-ahorro-metric-icon {
    color: #86efac;
    background: rgba(34, 197, 94, 0.14);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric-cargos .caja-ahorro-metric-icon {
    color: #fdba74;
    background: rgba(249, 115, 22, 0.14);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric-saldo .caja-ahorro-metric-icon {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.14);
}

body.dark-only .caja-ahorro-page .caja-ahorro-metric-movimientos .caja-ahorro-metric-icon {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.16);
}

body.dark-only .caja-ahorro-page #cajaAhorroLayoutDropzone {
    background: var(--dm-surface-3) !important;
    border-color: rgba(79, 157, 170, 0.38) !important;
}

body.dark-only .caja-ahorro-page #cajaAhorroLayoutDropzone:hover,
body.dark-only .caja-ahorro-page #cajaAhorroLayoutDropzone.dz-drag-hover {
    background: rgba(79, 157, 170, 0.10) !important;
    border-color: var(--dm-accent) !important;
}

body.dark-only .caja-ahorro-page #cajaAhorroLayoutDropzone .dz-message i {
    color: var(--dm-accent);
}

body.dark-only .caja-ahorro-page #cajaAhorroLayoutDropzone .dz-message h6 {
    color: var(--dm-text) !important;
}

body.dark-only .caja-ahorro-page #cajaAhorroTabs {
    border-bottom-color: var(--dm-border);
}

body.dark-only .caja-ahorro-page #cajaAhorroTabs .nav-link {
    background: transparent;
    border-color: transparent;
    color: var(--dm-muted);
}

body.dark-only .caja-ahorro-page #cajaAhorroTabs .nav-link:hover,
body.dark-only .caja-ahorro-page #cajaAhorroTabs .nav-link:focus {
    background: rgba(79, 157, 170, 0.10);
    border-color: rgba(79, 157, 170, 0.20);
    color: #ffffff;
}

body.dark-only .caja-ahorro-page #cajaAhorroTabs .nav-link.active {
    background: var(--dm-surface);
    border-color: var(--dm-border) var(--dm-border) var(--dm-surface);
    color: var(--dm-text);
}

body.dark-only .caja-ahorro-page .tab-content {
    color: var(--dm-text);
}

body.dark-only .daterangepicker,
body.dark-only .daterangepicker .calendar-table,
body.dark-only .daterangepicker .calendar-time,
body.dark-only .daterangepicker .ranges,
body.dark-only .daterangepicker .drp-buttons {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}

body.dark-only .daterangepicker:before {
    border-bottom-color: var(--dm-border);
}

body.dark-only .daterangepicker:after {
    border-bottom-color: var(--dm-surface);
}

body.dark-only .daterangepicker.dropup:before {
    border-top-color: var(--dm-border);
}

body.dark-only .daterangepicker.dropup:after {
    border-top-color: var(--dm-surface);
}

body.dark-only .daterangepicker td,
body.dark-only .daterangepicker th {
    color: var(--dm-text);
}

body.dark-only .daterangepicker td.off,
body.dark-only .daterangepicker td.off.in-range,
body.dark-only .daterangepicker td.off.start-date,
body.dark-only .daterangepicker td.off.end-date,
body.dark-only .daterangepicker td.disabled,
body.dark-only .daterangepicker option.disabled {
    background: var(--dm-surface-3);
    color: rgba(167, 182, 189, 0.44);
}

body.dark-only .daterangepicker td.in-range {
    background: rgba(79, 157, 170, 0.14);
    color: var(--dm-text);
}

body.dark-only .daterangepicker td.available:hover,
body.dark-only .daterangepicker th.available:hover,
body.dark-only .ranges li:hover {
    background: rgba(79, 157, 170, 0.20);
    color: #ffffff;
}

body.dark-only .daterangepicker td.active,
body.dark-only .daterangepicker td.active:hover,
body.dark-only .ranges li.active {
    background: #245a66;
    color: #ffffff;
}

body.dark-only .daterangepicker select,
body.dark-only .daterangepicker .input-mini {
    background: var(--dm-surface-3);
    border-color: var(--dm-border);
    color: var(--dm-text);
}

body.dark-only .jsgrid,
body.dark-only .jsgrid-grid-header,
body.dark-only .jsgrid-grid-body,
body.dark-only .jsgrid-table,
body.dark-only .jsgrid-header-row > .jsgrid-header-cell,
body.dark-only .jsgrid-filter-row > .jsgrid-cell,
body.dark-only .jsgrid-row > .jsgrid-cell,
body.dark-only .jsgrid-alt-row > .jsgrid-cell,
body.dark-only .jsgrid-pager-container {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}

body.dark-only .jsgrid-header-row > .jsgrid-header-cell {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text);
}

body.dark-only .jsgrid-alt-row > .jsgrid-cell {
    background: #192338 !important;
}

body.dark-only .jsgrid-selected-row > .jsgrid-cell,
body.dark-only .jsgrid-row:hover > .jsgrid-cell,
body.dark-only .jsgrid-alt-row:hover > .jsgrid-cell {
    background: #212d43 !important;
}

body.dark-only .jsgrid-pager-page a,
body.dark-only .jsgrid-pager-nav-button a {
    color: #9fe8dc;
}

body.dark-only .calendar-basic,
body.dark-only .calendar-basic #top,
body.dark-only .calendar-basic #lnb,
body.dark-only .calendar-basic #right,
body.dark-only .calendar-basic .dropdown-menu,
body.dark-only .tui-full-calendar-layout,
body.dark-only .tui-full-calendar-popup,
body.dark-only .tui-datepicker,
body.dark-only .tui-calendar,
body.dark-only .tui-timepicker {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

body.dark-only .calendar-basic .dropdown-menu > li > a,
body.dark-only .calendar-basic .lnb-calendars-item,
body.dark-only .calendar-basic #renderRange,
body.dark-only .tui-full-calendar-month-dayname span,
body.dark-only .tui-full-calendar-weekday-schedule-title,
body.dark-only .tui-calendar th,
body.dark-only .tui-calendar td {
    color: var(--dm-text) !important;
}

body.dark-only .tui-full-calendar-weekday-grid-line,
body.dark-only .tui-full-calendar-month-dayname,
body.dark-only .tui-full-calendar-timegrid-gridline,
body.dark-only .tui-full-calendar-time-date,
body.dark-only .tui-full-calendar-timegrid-hour,
body.dark-only .tui-full-calendar-timegrid-timezone {
    border-color: var(--dm-border) !important;
}

body.dark-only .calendar-basic #menu-navi button,
body.dark-only .calendar-basic #dropdownMenu-calendarType,
body.dark-only .tui-full-calendar-button {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

body.dark-only .jstree-default,
body.dark-only .jstree-default .jstree-anchor,
body.dark-only .jstree-default .jstree-node,
body.dark-only .jstree-default-small .jstree-anchor,
body.dark-only .jstree-default-large .jstree-anchor {
    color: var(--dm-text);
}

body.dark-only .jstree-default .jstree-hovered,
body.dark-only .jstree-default .jstree-wholerow-hovered {
    background: rgba(79, 157, 170, 0.12);
    color: #ffffff;
}

body.dark-only .jstree-default .jstree-clicked,
body.dark-only .jstree-default .jstree-wholerow-clicked {
    background: rgba(79, 157, 170, 0.22);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(79, 157, 170, 0.34);
}

body.dark-only .vakata-context,
body.dark-only .vakata-context ul {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    color: var(--dm-text);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.36);
}

body.dark-only .vakata-context li > a {
    color: var(--dm-text);
}

body.dark-only .vakata-context li > a:hover,
body.dark-only .vakata-context .vakata-context-hover > a {
    background: var(--dm-accent-soft);
    color: #ffffff;
}

body.dark-only .cropper-container,
body.dark-only .cropper-wrap-box,
body.dark-only .cropper-canvas,
body.dark-only .cropper-drag-box {
    background-color: var(--dm-surface-3);
}

body.dark-only .cropper-modal {
    background-color: rgba(15, 23, 42, 0.64);
}

body.dark-only .cropper-view-box {
    outline-color: var(--dm-accent);
}

body.dark-only .cropper-line,
body.dark-only .cropper-point {
    background-color: var(--dm-accent);
}

/* Pantallas propias que no dependen de utilidades Bootstrap */
body.dark-only.login-page,
body.dark-only .login-page,
.login-page.dark-only {
    background: var(--dm-page-bg);
    color: var(--dm-text);
}

body.dark-only.login-page .login-shell,
body.dark-only .login-page .login-shell,
.login-page.dark-only .login-shell {
    background:
        linear-gradient(135deg, rgba(37, 99, 235, .14), rgba(20, 184, 166, .10) 46%, rgba(15, 23, 42, .92)),
        var(--dm-page-bg);
}

body.dark-only.login-page .app-login-form,
body.dark-only .login-page .app-login-form,
.login-page.dark-only .app-login-form {
    background: var(--dm-surface);
    border-color: var(--dm-border);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .38);
}

body.dark-only.login-page .app-login-heading h4,
body.dark-only.login-page .login-form label,
body.dark-only .login-page .app-login-heading h4,
body.dark-only .login-page .login-form label,
.login-page.dark-only .app-login-heading h4,
.login-page.dark-only .login-form label {
    color: var(--dm-text);
}

body.dark-only.login-page .app-login-kicker,
body.dark-only .login-page .app-login-kicker,
.login-page.dark-only .app-login-kicker {
    color: #9bd8d1;
}

body.dark-only.login-page .login-form .input-group-text,
body.dark-only .login-page .login-form .input-group-text,
.login-page.dark-only .login-form .input-group-text {
    background: var(--dm-surface-2);
    border-color: var(--dm-border-strong);
    color: #93c5fd;
}

body.dark-only.login-page .login-form .form-control,
body.dark-only .login-page .login-form .form-control,
.login-page.dark-only .login-form .form-control {
    background-color: var(--dm-surface-3);
    border-color: var(--dm-border-strong);
    color: var(--dm-text);
}

body.dark-only.login-page .login-form .form-control::placeholder,
body.dark-only .login-page .login-form .form-control::placeholder,
.login-page.dark-only .login-form .form-control::placeholder {
    color: rgba(226, 232, 240, .54);
}

body.dark-only.login-page .login-form .form-control:focus,
body.dark-only .login-page .login-form .form-control:focus,
.login-page.dark-only .login-form .form-control:focus {
    background-color: #18324a;
    border-color: var(--dm-accent);
    box-shadow: 0 0 0 .18rem rgba(79, 157, 170, .18);
    color: var(--dm-text);
}

body.dark-only .no-datatables .form-bg-light,
body.dark-only .form-bg-light.no-datatables,
body.dark-only .no-datatables .form-bg-light:focus,
body.dark-only .form-bg-light.no-datatables:focus,
body.dark-only .no-datatables .form-bg-light:focus:active,
body.dark-only .form-bg-light.no-datatables:focus:active {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .no-datatables .btn-light,
body.dark-only .no-datatables .btn-light:hover,
body.dark-only .no-datatables .btn-light:focus,
body.dark-only .no-datatables .btn-light:active,
body.dark-only .no-datatables .btn-light.active,
body.dark-only .no-datatables .btn-light.dropdown-toggle.show,
body.dark-only .no-datatables .btn-light:disabled,
body.dark-only .no-datatables .btn-light.disabled {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .no-datatables .btn-outline-light,
body.dark-only .no-datatables .btn-outline-light:hover,
body.dark-only .no-datatables .btn-outline-light:focus,
body.dark-only .no-datatables .btn-outline-light:active,
body.dark-only .no-datatables .btn-outline-light.active,
body.dark-only .no-datatables .btn-outline-light.dropdown-toggle.show,
body.dark-only .no-datatables .btn-outline-light:disabled,
body.dark-only .no-datatables .btn-outline-light.disabled {
    background: transparent !important;
    border-color: var(--dm-border-strong) !important;
    color: var(--dm-text) !important;
}

body.dark-only .dataTables_wrapper .dataTables_processing {
    background: rgba(15, 23, 42, .72) !important;
}

body.dark-only .dataTables_wrapper .dt-processing-loader {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}

body.dark-only .dataTables_wrapper .dt-processing-loader__title {
    color: var(--dm-text) !important;
}

body.dark-only .dataTables_wrapper .dt-processing-loader__subtitle {
    color: var(--dm-muted) !important;
}

/* ==========================================================================
   Desktop accounting skin - dark mode
   ========================================================================== */

body.dark-only .page-body .card,
body.dark-only .page-body .starter-main,
body.dark-only .page-body .app-card,
body.dark-only .modal .modal-content {
    background: #17212b;
    border-color: rgba(148, 163, 184, .24);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}

body.dark-only .page-body .card > .card-header,
body.dark-only .modal .modal-header:not(.bg-primary):not(.bg-gradient) {
    background: linear-gradient(180deg, #1e2a36 0%, #17212b 100%);
    border-color: rgba(148, 163, 184, .20);
}

body.dark-only .page-body [class*="-filters"],
body.dark-only .page-body [class*="__filters"],
body.dark-only .page-body .app-datatable-filters,
body.dark-only .page-body .app-report-filters,
body.dark-only .dt-accounting-wrapper > .row:first-child,
body.dark-only .dt-accounting-wrapper > .row.dt-accounting-toolbar,
body.dark-only .dt-accounting-wrapper > .row:last-child {
    background: #1e2a36;
    border-color: rgba(148, 163, 184, .22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

body.dark-only .page-body .btn:not(.btn-link):not(.btn-close) {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1px 2px rgba(0, 0, 0, .28) !important;
}

body.dark-only .page-body .app-filter-button--clear {
    color: #cbd5e1 !important;
    background: #121a25 !important;
    border-color: rgba(148, 163, 184, .30) !important;
}

body.dark-only .page-body .app-filter-button--clear:hover,
body.dark-only .page-body .app-filter-button--clear:focus {
    color: #edf7f8 !important;
    background: #1e2a36 !important;
    border-color: rgba(155, 216, 209, .38) !important;
}

body.dark-only .page-body .app-filter-button--apply {
    color: #ffffff !important;
    background: #245a66 !important;
    border-color: rgba(155, 216, 209, .38) !important;
}

body.dark-only .form-control,
body.dark-only .form-select,
body.dark-only .input-group-text,
body.dark-only .select2-container--default .select2-selection--single,
body.dark-only .select2-container--default .select2-selection--multiple {
    background-color: #101820;
    border-color: rgba(148, 163, 184, .28);
}

body.dark-only .dt-accounting-table.dataTable thead th,
body.dark-only .dt-accounting-table.dataTable tfoot th {
    background: #1e2a36 !important;
    border-color: rgba(148, 163, 184, .22) !important;
}

body.dark-only .dt-accounting-table.dataTable tbody td {
    background: #101820 !important;
    border-color: rgba(148, 163, 184, .14) !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr:nth-child(odd) td {
    background: #121d27 !important;
}

body.dark-only .dt-accounting-table.dataTable tbody tr:hover td {
    background: #1e2a36 !important;
}

/* ==========================================================================
   Desktop accounting table headers - dark mode
   ========================================================================== */

body.dark-only .dataTables_wrapper table.dataTable {
    border-top-color: rgba(148, 163, 184, .24) !important;
}

body.dark-only .dataTables_wrapper table.dataTable thead th,
body.dark-only .dataTables_wrapper table.dataTable thead td {
    background: linear-gradient(180deg, #223040 0%, #192634 100%) !important;
    border-top-color: rgba(148, 163, 184, .24) !important;
    border-bottom-color: rgba(79, 157, 170, .28) !important;
    color: #e2edf0 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.18;
    text-transform: uppercase;
    vertical-align: middle;
}

body.dark-only .dataTables_wrapper table.dataTable thead th + th,
body.dark-only .dataTables_wrapper table.dataTable thead td + td {
    border-left-color: rgba(148, 163, 184, .16) !important;
}

body.dark-only .dt-accounting-table.dataTable thead th,
body.dark-only .dt-accounting-table.dataTable thead td {
    padding-top: 8px;
    padding-bottom: 8px;
}

body.dark-only .dataTables_wrapper table.dataTable thead th.dt-col-actions,
body.dark-only .dataTables_wrapper table.dataTable thead td.dt-col-actions {
    background: linear-gradient(180deg, #253647 0%, #1c2b3a 100%) !important;
    border-left-color: rgba(79, 157, 170, .24) !important;
}

body.dark-only table.dataTable thead .sorting,
body.dark-only table.dataTable thead .sorting_asc,
body.dark-only table.dataTable thead .sorting_desc {
    padding-right: 30px;
}

body.dark-only table.dataTable thead th.sorting::after,
body.dark-only table.dataTable thead th.sorting_asc::after,
body.dark-only table.dataTable thead th.sorting_desc::after {
    right: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 5px;
    background: rgba(15, 23, 42, .46);
    color: #9fb0bf;
    font-size: 10px;
    font-weight: 800;
    opacity: .86;
}

body.dark-only table.dataTable thead th.sorting_asc::after,
body.dark-only table.dataTable thead th.sorting_desc::after {
    border-color: rgba(79, 157, 170, .46);
    background: rgba(79, 157, 170, .14);
    color: #7fd2c7;
    opacity: 1;
}

body.dark-only table.dataTable thead th.sorting:hover::after,
body.dark-only table.dataTable thead th.sorting_asc:hover::after,
body.dark-only table.dataTable thead th.sorting_desc:hover::after {
    border-color: rgba(127, 210, 199, .54);
    background: rgba(79, 157, 170, .2);
    color: #9be3dc;
}

body.dark-only table.dataTable thead th.sorting:focus-visible,
body.dark-only table.dataTable thead th.sorting_asc:focus-visible,
body.dark-only table.dataTable thead th.sorting_desc:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(79, 157, 170, .24), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
    border-radius: 0;
}

/* ==========================================================================
   Desktop accounting sidebar - dark mode
   ========================================================================== */

body.dark-only {
    --sb-desktop-bg: #101820;
    --sb-desktop-surface: #17212b;
    --sb-desktop-surface-soft: #1e2a36;
    --sb-desktop-border: rgba(148, 163, 184, .22);
    --sb-desktop-border-soft: rgba(148, 163, 184, .14);
    --sb-desktop-text: #dce8ea;
    --sb-desktop-muted: #9fb0bf;
    --sb-desktop-accent: #7fd2c7;
    --sb-desktop-accent-600: #4f9daa;
    --sb-desktop-accent-soft: rgba(79, 157, 170, .14);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav {
    background: var(--sb-desktop-bg) !important;
    border-right-color: var(--sb-desktop-border) !important;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .42);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav::before {
    background: linear-gradient(90deg, transparent, rgba(148, 163, 184, .2), transparent);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title {
    background: transparent;
    border-color: transparent;
    color: var(--sb-desktop-text);
    box-shadow: none;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a i {
    color: var(--sb-desktop-muted);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus {
    background: var(--sb-desktop-surface);
    border-color: var(--sb-desktop-border-soft);
    color: var(--sb-desktop-accent);
    box-shadow: inset 3px 0 0 var(--sb-desktop-accent-600);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title {
    background: linear-gradient(180deg, #1e2a36 0%, #17212b 100%) !important;
    border-color: rgba(79, 157, 170, .28) !important;
    color: var(--sb-desktop-accent);
    box-shadow: inset 3px 0 0 var(--sb-desktop-accent-600), inset 0 1px 0 rgba(255, 255, 255, .04);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu {
    border-left-color: rgba(148, 163, 184, .18);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    background: transparent;
    border-color: transparent;
    color: var(--sb-desktop-muted);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:focus {
    background: var(--sb-desktop-surface);
    border-color: var(--sb-desktop-border-soft);
    color: var(--sb-desktop-accent);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.selected > a {
    background: var(--sb-desktop-accent-soft);
    border-color: rgba(79, 157, 170, .24);
    color: var(--sb-desktop-accent);
    box-shadow: inset 3px 0 0 var(--sb-desktop-accent-600);
}

body.dark-only .main-navbar-down {
    background: linear-gradient(180deg, rgba(16, 24, 32, .72), var(--sb-desktop-bg) 24%);
    border-top-color: var(--sb-desktop-border);
}

body.dark-only .navbar-nav-down .nav-item-down {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none;
}

body.dark-only .navbar-nav-down .nav-link-down,
body.dark-only .navbar-nav-down .nav-item-down a {
    color: var(--sb-desktop-text);
}

body.dark-only .navbar-nav-down .nav-link-down i {
    color: var(--sb-desktop-muted);
}

body.dark-only .navbar-nav-down .nav-item-down:hover,
body.dark-only .navbar-nav-down .nav-item-down:focus-within {
    background: var(--sb-desktop-surface) !important;
    border-color: var(--sb-desktop-border-soft) !important;
}

body.dark-only .navbar-nav-down .nav-item-down:hover a,
body.dark-only .navbar-nav-down .nav-item-down:focus-within a {
    color: var(--sb-desktop-accent);
}

body.dark-only .navbar-nav-down .nav-item-down.selected {
    background: linear-gradient(180deg, #245a66 0%, #1d4c57 100%) !important;
    border-color: rgba(127, 210, 199, .3) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.dark-only .navbar-nav-down .nav-item-down.selected a,
body.dark-only .navbar-nav-down .nav-item-down.selected i {
    color: #ffffff;
}

/* ==========================================================================
   Sidebar desktop refinement - dark mode
   ========================================================================== */

body.dark-only .page-main-header .main-header-right .main-header-left {
    background: #111a23;
    border-right-color: rgba(148, 163, 184, .2);
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .35);
}

body.dark-only .page-main-header .main-header-right .toggle-sidebar {
    color: #8fd7cf;
}

body.dark-only .page-main-header .main-header-right .toggle-sidebar svg {
    color: #8fd7cf;
}

body.dark-only .page-main-header .main-header-right .toggle-sidebar:hover {
    background: rgba(79, 157, 170, .12);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav {
    background: #111a23 !important;
    border-right-color: rgba(148, 163, 184, .2) !important;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .4);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav::before {
    display: none !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #d6e1e6 !important;
    letter-spacing: 0 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a span,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active span,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title span,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title span {
    color: inherit !important;
    opacity: 1 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a i {
    color: #9fb0bf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus {
    background: #172331 !important;
    border-color: rgba(148, 163, 184, .18) !important;
    box-shadow: inset 3px 0 0 #4f9daa !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title {
    background: #1a2936 !important;
    border-color: rgba(79, 157, 170, .28) !important;
    box-shadow: inset 3px 0 0 #4f9daa !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title i {
    color: inherit !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a .according-menu i {
    color: #9fb0bf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title .according-menu i {
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu {
    border-left-color: rgba(148, 163, 184, .2) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #9fb0bf !important;
    letter-spacing: 0 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:focus {
    background: #172331 !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.selected > a {
    background: rgba(79, 157, 170, .14) !important;
    box-shadow: inset 3px 0 0 #4f9daa !important;
    color: #8fd7cf !important;
}

body.dark-only .main-navbar-down {
    background: #111a23 !important;
    border-top-color: rgba(148, 163, 184, .2) !important;
}

body.dark-only .navbar-nav-down .nav-item-down {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.dark-only .navbar-nav-down .nav-link-down,
body.dark-only .navbar-nav-down .nav-item-down a {
    color: #d6e1e6 !important;
    letter-spacing: 0 !important;
}

body.dark-only .navbar-nav-down .nav-link-down i {
    color: #9fb0bf !important;
}

body.dark-only .navbar-nav-down .nav-item-down:hover,
body.dark-only .navbar-nav-down .nav-item-down:focus-within {
    background: #172331 !important;
    border-color: rgba(148, 163, 184, .18) !important;
}

body.dark-only .navbar-nav-down .nav-item-down:hover a,
body.dark-only .navbar-nav-down .nav-item-down:focus-within a,
body.dark-only .navbar-nav-down .nav-item-down:hover i,
body.dark-only .navbar-nav-down .nav-item-down:focus-within i {
    color: #8fd7cf !important;
}

body.dark-only .navbar-nav-down .nav-item-down.selected {
    background: rgba(79, 157, 170, .14) !important;
    border-color: rgba(79, 157, 170, .26) !important;
    box-shadow: inset 3px 0 0 #4f9daa !important;
}

body.dark-only .navbar-nav-down .nav-item-down.selected a,
body.dark-only .navbar-nav-down .nav-item-down.selected i {
    color: #8fd7cf !important;
}

/* ==========================================================================
   Sidebar top menu spacing refinement - dark mode
   ========================================================================== */

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu {
    padding: 10px 20px 14px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li {
    margin: 3px 0 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title {
    min-height: 34px !important;
    padding: 8px 11px !important;
    border-color: rgba(148, 163, 184, .14) !important;
    border-radius: 6px !important;
    background: rgba(23, 35, 49, .34) !important;
    color: #d7e2e7 !important;
    font-size: 12.25px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus {
    background: #172331 !important;
    border-color: rgba(148, 163, 184, .24) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title {
    background: rgba(79, 157, 170, .16) !important;
    border-color: rgba(79, 157, 170, .32) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu {
    margin: 4px 0 8px 18px !important;
    padding: 3px 0 3px 11px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    min-height: 30px !important;
    padding: 6px 9px !important;
    color: #9fb0bf !important;
    font-size: 12px !important;
}

/* ==========================================================================
   Sidebar menu final polish - dark mode
   ========================================================================== */

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu {
    padding: 14px 24px 16px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li {
    margin: 4px 0 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title {
    min-height: 38px !important;
    padding: 9px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d8e3e8 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 999px;
    background: transparent;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus {
    background: rgba(23, 35, 49, .72) !important;
    border-color: rgba(148, 163, 184, .2) !important;
    box-shadow: none !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open:not(.active) > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]):not(.active) > a.menu-title {
    background: rgba(79, 157, 170, .09) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active {
    background: rgba(79, 157, 170, .16) !important;
    border-color: rgba(79, 157, 170, .34) !important;
    box-shadow: none !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title)::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title)::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active::before {
    background: #4f9daa;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open:not(.active) > a.menu-title::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]):not(.active) > a.menu-title::before {
    background: transparent !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a .according-menu i {
    color: #9fb0bf !important;
    font-size: 12px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active .according-menu i {
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu {
    margin: 4px 0 12px 20px !important;
    padding: 4px 0 4px 12px !important;
    border-left-color: rgba(148, 163, 184, .2) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li {
    margin: 2px 0 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    min-height: 31px !important;
    padding: 7px 10px !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #9fb0bf !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:focus {
    background: rgba(23, 35, 49, .72) !important;
    color: #8fd7cf !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.selected > a {
    background: rgba(23, 35, 49, .86) !important;
    box-shadow: inset 3px 0 0 #4f9daa !important;
    color: #8fd7cf !important;
}

/* ==========================================================================
   Sidebar visual finishing pass - dark mode
   ========================================================================== */

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav {
    background: linear-gradient(180deg, #111a23 0%, #0f1720 100%) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu {
    padding-top: 16px !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.nav-link.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a,
body.dark-only .navbar-nav-down .nav-item-down {
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a .according-menu {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    border-radius: 6px;
    background: rgba(148, 163, 184, .08);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover .according-menu,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus .according-menu,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open > a.menu-title .according-menu {
    background: rgba(79, 157, 170, .14);
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open:not(.active) > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]):not(.active) > a.menu-title {
    background: linear-gradient(90deg, rgba(79, 157, 170, .11), rgba(23, 35, 49, .34)) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title),
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active {
    background: linear-gradient(90deg, rgba(79, 157, 170, .18), rgba(23, 35, 49, .78)) !important;
    border-color: rgba(79, 157, 170, .36) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a:not(.menu-title)::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.active:not(.menu-title)::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title::before,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active::before {
    width: 4px;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu {
    border-left-color: rgba(148, 163, 184, .24) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a {
    border: 1px solid transparent !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:hover,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a:focus {
    border-color: rgba(148, 163, 184, .2) !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.active > a,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li > a.active,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-submenu > li.selected > a {
    border-color: rgba(79, 157, 170, .24) !important;
}

body.dark-only .main-navbar-down {
    background: linear-gradient(180deg, #111a23 0%, #0f1720 100%) !important;
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, .08);
}

body.dark-only .navbar-nav-down .nav-item-down.selected {
    background: linear-gradient(90deg, rgba(79, 157, 170, .18), rgba(23, 35, 49, .62)) !important;
}

/* ==========================================================================
   Sidebar chevron cleanup - dark mode
   ========================================================================== */

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a .according-menu {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover .according-menu,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:focus .according-menu,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open > a.menu-title .according-menu,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title .according-menu {
    background: transparent !important;
    box-shadow: none !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a .according-menu i {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    color: #9fb0bf !important;
    font-size: 12px !important;
    line-height: 1 !important;
    transform: none !important;
}

body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown.is-open > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.dropdown:has(> ul.nav-submenu[style*="display: block"]) > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li.active > a.menu-title .according-menu i,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a.menu-title.active .according-menu i {
    color: #8fd7cf !important;
    transform: none !important;
}

/* ==========================================================================
   Desktop accounting app topbar - dark mode
   ========================================================================== */

body.dark-only .page-wrapper .page-main-header {
    background: linear-gradient(180deg, #17212b 0%, #111a23 100%) !important;
    border-bottom-color: rgba(148, 163, 184, .2);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .04), 0 8px 18px rgba(0, 0, 0, .22) !important;
}

body.dark-only .page-main-header .main-header-right {
    background: transparent !important;
}

body.dark-only .page-main-header .main-header-right .main-header-left {
    background: linear-gradient(180deg, #141e28 0%, #101820 100%) !important;
    border-right-color: rgba(148, 163, 184, .2) !important;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .35);
}

body.dark-only .page-main-header .main-header-right .toggle-sidebar {
    color: #8fd7cf;
}

body.dark-only .page-main-header .main-header-right .toggle-sidebar:hover,
body.dark-only .page-main-header .main-header-right .toggle-sidebar:focus {
    background: rgba(79, 157, 170, .13);
    border-color: rgba(79, 157, 170, .28);
    color: #b9ece7;
}

body.dark-only .app-topbar-title__crumb {
    color: #9fb0bf;
}

body.dark-only .app-topbar-title__crumb:first-child:not(.is-current) {
    color: #7fb4ed;
}

body.dark-only .app-topbar-title__crumb.is-current {
    color: #edf7f8;
}

body.dark-only .app-topbar-title__separator {
    color: rgba(159, 176, 191, .72);
}

body.dark-only .page-main-header .main-header-right .nav-right {
    background: rgba(16, 24, 32, .54);
    border-left-color: rgba(148, 163, 184, .16);
}

body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > a,
body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > .mode {
    background: #17212b;
    border-color: rgba(148, 163, 184, .24);
    color: #dce8ea !important;
    box-shadow: none;
}

body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > a:hover,
body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > a:focus,
body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > .mode:hover,
body.dark-only .page-main-header .main-header-right .nav-right .nav-menus > li > .mode:focus {
    background: rgba(79, 157, 170, .14);
    border-color: rgba(79, 157, 170, .32);
    color: #b9ece7 !important;
}

body.dark-only .page-main-header .main-header-right .nav-right .btn-primary-light {
    background: rgba(79, 157, 170, .16) !important;
    border-color: rgba(79, 157, 170, .28) !important;
    color: #b9ece7 !important;
}

body.dark-only .page-main-header .main-header-right .nav-right .btn-primary-light:hover,
body.dark-only .page-main-header .main-header-right .nav-right .btn-primary-light:focus {
    background: #4f9daa !important;
    border-color: #4f9daa !important;
    color: #07151a !important;
}

/* ==========================================================================
   Accounting grid final pass - dark mode
   ========================================================================== */

body.dark-only .dt-accounting-shell {
    background: #101820;
    border-color: rgba(148, 163, 184, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

body.dark-only .dt-accounting-wrapper > .row.dt-accounting-toolbar {
    background: linear-gradient(180deg, #17212b 0%, #111a23 100%);
    border-color: rgba(148, 163, 184, .2);
}

body.dark-only .dt-accounting-wrapper > .row.dt-accounting-footer,
body.dark-only .dt-accounting-wrapper > .row:last-child {
    background: #111a23;
    border-color: rgba(148, 163, 184, .18);
}

body.dark-only .dt-accounting-wrapper .dataTables_length label,
body.dark-only .dt-accounting-wrapper .dataTables_filter label,
body.dark-only .dt-accounting-wrapper .dataTables_info {
    color: #9fb0bf;
}

body.dark-only .dt-accounting-wrapper .dataTables_length label {
    background: #17212b;
    border-color: rgba(148, 163, 184, .22);
}

body.dark-only .dt-accounting-wrapper .dataTables_paginate {
    background: #17212b;
    border-color: rgba(148, 163, 184, .22);
}

body.dark-only .dataTables_wrapper table.dataTable thead th,
body.dark-only .dataTables_wrapper table.dataTable thead td,
body.dark-only .dt-accounting-table.dataTable thead th,
body.dark-only .dt-accounting-table.dataTable thead td {
    background: #1b2633 !important;
    border-right-color: rgba(148, 163, 184, .15) !important;
    border-bottom-color: rgba(79, 157, 170, .2) !important;
    color: #dce8ea !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

body.dark-only table.dataTable thead th.sorting::after,
body.dark-only table.dataTable thead th.sorting_asc::after,
body.dark-only table.dataTable thead th.sorting_desc::after,
body.dark-only table.dataTable thead td.sorting::after,
body.dark-only table.dataTable thead td.sorting_asc::after,
body.dark-only table.dataTable thead td.sorting_desc::after {
    border: 0 !important;
    background: transparent !important;
    color: #9fb0bf !important;
    opacity: .6 !important;
}

body.dark-only table.dataTable thead th.sorting_asc::after,
body.dark-only table.dataTable thead th.sorting_desc::after,
body.dark-only table.dataTable thead td.sorting_asc::after,
body.dark-only table.dataTable thead td.sorting_desc::after {
    color: #8fd7cf !important;
    opacity: 1 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody th,
body.dark-only .dataTables_wrapper table.dataTable tbody td,
body.dark-only .dt-accounting-table.dataTable tbody th,
body.dark-only .dt-accounting-table.dataTable tbody td {
    background: #101820 !important;
    border-right-color: rgba(148, 163, 184, .13) !important;
    border-bottom-color: rgba(148, 163, 184, .13) !important;
    color: #dce8ea !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:nth-child(even) > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:nth-child(even) > * {
    background: #121d27 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:hover > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:hover > * {
    background: #1b2633 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr.selected > *,
body.dark-only .dt-accounting-table.dataTable tbody tr.selected > * {
    background: rgba(79, 157, 170, .18) !important;
    color: #edf7f8 !important;
    box-shadow: inset 3px 0 0 #4f9daa;
}

body.dark-only .dataTables_wrapper table.dataTable th.dt-col-actions,
body.dark-only .dataTables_wrapper table.dataTable td.dt-col-actions,
body.dark-only .dt-accounting-table.dataTable th.dt-col-actions,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions {
    background: #111a23 !important;
    border-left-color: rgba(79, 157, 170, .18) !important;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-rail > .dropdown-basic {
    background: #17212b !important;
    border-color: rgba(148, 163, 184, .24) !important;
}

body.dark-only .dt-accounting-table.dataTable td.dataTables_empty {
    background: #101820 !important;
    color: #9fb0bf !important;
}

body.dark-only .dataTables_wrapper table.dataTable td.dataTables_empty,
body.dark-only .dt-accounting-table.dataTable td.dataTables_empty {
    background: #101820 !important;
    color: #9fb0bf !important;
}

body.dark-only .dt-empty-state {
    color: #9fb0bf;
    background: #17212b;
    border-color: rgba(148, 163, 184, .24);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}

body.dark-only .dt-empty-state__icon {
    color: #b9ece7;
    background: rgba(79, 157, 170, .14);
    border-color: rgba(79, 157, 170, .34);
}

body.dark-only .dt-empty-state__title {
    color: #e5eef0;
}

body.dark-only .dt-empty-state__message {
    color: #9fb0bf;
}

body.dark-only .dt-action-empty {
    color: #9fb0bf !important;
    background: rgba(148, 163, 184, .10) !important;
    border-color: rgba(148, 163, 184, .22) !important;
}

body.dark-only .dt-accounting-table.dataTable > tbody > tr.child > td.child,
body.dark-only .dt-accounting-table.dataTable > tbody > tr.child:hover > td.child {
    background: #111a23 !important;
    border-right: 0 !important;
}

/* ==========================================================================
   Operational state system - dark mode
   ========================================================================== */

body.dark-only {
    --app-bg: #101820;
    --app-surface: #17212b;
    --app-surface-soft: #111a23;
    --app-border: rgba(148, 163, 184, .22);
    --app-border-strong: rgba(148, 163, 184, .34);
    --app-text: #e5eef0;
    --app-muted: #9fb0bf;
    --app-primary: #4f9daa;
    --app-primary-600: #63b9c1;
    --app-primary-700: #b9ece7;
    --app-primary-rgb: 79, 157, 170;
    --app-accent: #54b89f;
    --app-accent-600: #6ed1bb;
    --app-accent-700: #b7f3df;
    --app-accent-rgb: 84, 184, 159;
    --app-success: #54b89f;
    --app-success-600: #6ed1bb;
    --app-success-700: #b7f3df;
    --app-success-rgb: 84, 184, 159;
    --app-info: #68a7e6;
    --app-info-600: #8fc1f0;
    --app-info-700: #cfe7ff;
    --app-info-rgb: 104, 167, 230;
    --app-warning: #d99a2b;
    --app-warning-600: #f0b650;
    --app-warning-700: #f8d58d;
    --app-warning-rgb: 217, 154, 43;
    --app-danger: #f87171;
    --app-danger-600: #fb8f8f;
    --app-danger-700: #fecaca;
    --app-danger-rgb: 248, 113, 113;
    --app-secondary: #9fb0bf;
    --app-secondary-600: #c1ccd6;
    --app-secondary-700: #e2e8f0;
    --app-secondary-rgb: 159, 176, 191;
    --app-primary-soft: rgba(79, 157, 170, .14);
    --app-success-soft: rgba(84, 184, 159, .14);
    --app-info-soft: rgba(104, 167, 230, .14);
    --app-warning-soft: rgba(217, 154, 43, .16);
    --app-danger-soft: rgba(248, 113, 113, .14);
    --app-neutral-soft: rgba(148, 163, 184, .10);
    --app-primary-border-soft: rgba(79, 157, 170, .34);
    --app-success-border-soft: rgba(84, 184, 159, .34);
    --app-info-border-soft: rgba(104, 167, 230, .34);
    --app-warning-border-soft: rgba(217, 154, 43, .36);
    --app-danger-border-soft: rgba(248, 113, 113, .36);
    --app-neutral-border-soft: rgba(148, 163, 184, .24);
    --app-disabled-bg: #1b2633;
    --app-disabled-text: #728394;
    --app-selected-bg: rgba(79, 157, 170, .18);
    --app-focus-ring: rgba(79, 157, 170, .24);
    --app-loading-bg: rgba(8, 13, 18, .72);
    --app-panel-header: #1b2633;
    --app-shadow-panel: 0 1px 2px rgba(0, 0, 0, .18);
    --app-shadow-control: none;
    --app-control-bg: #111a23;
    --app-control-bg-soft: #17212b;
    --app-control-border: rgba(148, 163, 184, .28);
    --app-control-border-hover: rgba(148, 163, 184, .42);
    --app-control-text: #e5eef0;
    --app-control-placeholder: #7d8fa1;
    --app-control-focus: rgba(79, 157, 170, .24);
    --app-modal-bg: #17212b;
    --app-modal-bg-soft: #111a23;
    --app-modal-header: #1b2633;
    --app-modal-footer: #111a23;
    --app-modal-border: rgba(148, 163, 184, .22);
    --app-modal-shadow: 0 18px 46px rgba(0, 0, 0, .42);
    --dm-page-bg: var(--app-bg);
    --dm-surface: var(--app-surface);
    --dm-surface-2: var(--app-panel-header);
    --dm-surface-3: var(--app-surface-soft);
    --dm-text: var(--app-text);
    --dm-muted: var(--app-muted);
    --dm-border: var(--app-border);
    --dm-border-strong: var(--app-border-strong);
    --dm-accent: var(--app-primary);
    --dm-accent-soft: var(--app-primary-soft);
}

body.dark-only .modal.app-standard-modal .modal-content {
    background: var(--app-modal-bg);
    border-color: var(--app-modal-border);
    border-top-color: var(--app-primary);
    box-shadow: var(--app-modal-shadow);
}

body.dark-only .modal.app-standard-modal.app-standard-modal--danger .modal-content,
body.dark-only .modal.app-standard-modal:has(.modal-footer .btn-danger[type="submit"]) .modal-content {
    border-top-color: var(--app-danger);
}

body.dark-only .modal.app-standard-modal .modal-header:not(.bg-primary):not(.bg-gradient) {
    background: linear-gradient(180deg, var(--app-modal-header) 0%, var(--app-modal-bg) 100%);
    border-bottom-color: var(--app-border);
}

body.dark-only .modal.app-standard-modal .modal-body {
    background: var(--app-modal-bg);
}

body.dark-only .modal.app-standard-modal .modal-title {
    color: var(--app-text);
}

body.dark-only .modal.app-standard-modal .btn-close {
    border-color: var(--app-border);
    background-color: var(--app-neutral-soft);
}

body.dark-only .modal.app-standard-modal .modal-body :is(.form-control, .form-select),
body.dark-only .modal.app-standard-modal .modal-body .select2-container--default .select2-selection--single {
    background-color: var(--app-control-bg);
    border-color: var(--app-control-border);
    color: var(--app-control-text);
}

body.dark-only .modal.app-standard-modal .modal-body :is(.form-control, .form-select)::placeholder {
    color: var(--app-control-placeholder);
}

body.dark-only .modal.app-standard-modal .modal-body .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--app-control-text);
}

body.dark-only .modal.app-standard-modal .form-label,
body.dark-only .modal.app-standard-modal .col-form-label,
body.dark-only .modal.app-standard-modal .form-text {
    color: var(--app-muted);
}

body.dark-only .modal.app-standard-modal .modal-body .nav-tabs,
body.dark-only .modal.app-standard-modal .modal-body .alert-light.border,
body.dark-only .modal.app-standard-modal .modal-body .alert-light[class*="border"] {
    background: var(--app-modal-bg-soft);
    border-color: var(--app-border) !important;
}

body.dark-only .modal.app-standard-modal .modal-body .nav-tabs .nav-link.active {
    color: var(--app-text);
    background: var(--app-modal-bg);
}

body.dark-only .modal.app-standard-modal .modal-footer {
    background: var(--app-modal-footer);
    border-top-color: var(--app-border);
}

body.dark-only .modal.app-standard-modal .modal-footer .btn[data-bs-dismiss="modal"]:not(.btn-primary):not(.btn-success),
body.dark-only .modal.app-standard-modal .modal-footer .btn[data-dismiss="modal"]:not(.btn-primary):not(.btn-success) {
    background: var(--app-control-bg) !important;
    border-color: var(--app-control-border) !important;
    color: var(--app-text) !important;
}

body.dark-only .page-body .btn-outline-primary,
body.dark-only .modal .btn-outline-primary {
    color: var(--app-primary-700) !important;
    background: var(--app-primary-soft) !important;
    border-color: var(--app-primary-border-soft) !important;
}

body.dark-only .page-body .btn-outline-success,
body.dark-only .modal .btn-outline-success {
    color: var(--app-success-700) !important;
    background: var(--app-success-soft) !important;
    border-color: var(--app-success-border-soft) !important;
}

body.dark-only .page-body .btn-outline-info,
body.dark-only .modal .btn-outline-info {
    color: var(--app-info-700) !important;
    background: var(--app-info-soft) !important;
    border-color: var(--app-info-border-soft) !important;
}

body.dark-only .page-body .btn-outline-warning,
body.dark-only .modal .btn-outline-warning {
    color: var(--app-warning-700) !important;
    background: var(--app-warning-soft) !important;
    border-color: var(--app-warning-border-soft) !important;
}

body.dark-only .page-body .btn-outline-danger,
body.dark-only .modal .btn-outline-danger {
    color: var(--app-danger-700) !important;
    background: var(--app-danger-soft) !important;
    border-color: var(--app-danger-border-soft) !important;
}

body.dark-only .page-body .btn-outline-secondary,
body.dark-only .page-body .btn-outline-dark,
body.dark-only .modal .btn-outline-secondary,
body.dark-only .modal .btn-outline-dark {
    color: var(--app-secondary-700) !important;
    background: var(--app-neutral-soft) !important;
    border-color: var(--app-neutral-border-soft) !important;
}

body.dark-only .page-body .btn-outline-primary:hover,
body.dark-only .page-body .btn-outline-primary:focus,
body.dark-only .modal .btn-outline-primary:hover,
body.dark-only .modal .btn-outline-primary:focus {
    background: rgba(var(--app-primary-rgb), .24) !important;
    border-color: rgba(var(--app-primary-rgb), .54) !important;
    color: #edf7f8 !important;
}

body.dark-only .page-body .btn-outline-success:hover,
body.dark-only .page-body .btn-outline-success:focus,
body.dark-only .modal .btn-outline-success:hover,
body.dark-only .modal .btn-outline-success:focus {
    background: rgba(var(--app-success-rgb), .24) !important;
    border-color: rgba(var(--app-success-rgb), .54) !important;
    color: #edf7f8 !important;
}

body.dark-only .page-body .btn-outline-info:hover,
body.dark-only .page-body .btn-outline-info:focus,
body.dark-only .modal .btn-outline-info:hover,
body.dark-only .modal .btn-outline-info:focus {
    background: rgba(var(--app-info-rgb), .24) !important;
    border-color: rgba(var(--app-info-rgb), .54) !important;
    color: #edf7f8 !important;
}

body.dark-only .page-body .btn-outline-warning:hover,
body.dark-only .page-body .btn-outline-warning:focus,
body.dark-only .modal .btn-outline-warning:hover,
body.dark-only .modal .btn-outline-warning:focus {
    background: rgba(var(--app-warning-rgb), .24) !important;
    border-color: rgba(var(--app-warning-rgb), .54) !important;
    color: #fff5d7 !important;
}

body.dark-only .page-body .btn-outline-danger:hover,
body.dark-only .page-body .btn-outline-danger:focus,
body.dark-only .modal .btn-outline-danger:hover,
body.dark-only .modal .btn-outline-danger:focus {
    background: rgba(var(--app-danger-rgb), .24) !important;
    border-color: rgba(var(--app-danger-rgb), .54) !important;
    color: #fff1f2 !important;
}

body.dark-only .page-body .btn-outline-secondary:hover,
body.dark-only .page-body .btn-outline-secondary:focus,
body.dark-only .page-body .btn-outline-dark:hover,
body.dark-only .page-body .btn-outline-dark:focus,
body.dark-only .modal .btn-outline-secondary:hover,
body.dark-only .modal .btn-outline-secondary:focus,
body.dark-only .modal .btn-outline-dark:hover,
body.dark-only .modal .btn-outline-dark:focus {
    background: rgba(var(--app-secondary-rgb), .18) !important;
    border-color: rgba(var(--app-secondary-rgb), .36) !important;
    color: #edf7f8 !important;
}

body.dark-only .page-body .app-filter-button--clear,
body.dark-only .page-body .app-filter-button--clear:hover,
body.dark-only .page-body .app-filter-button--clear:focus {
    color: #cbd5e1 !important;
    background: #121a25 !important;
    border-color: rgba(148, 163, 184, .30) !important;
}

body.dark-only .page-body .app-filter-button--clear:hover,
body.dark-only .page-body .app-filter-button--clear:focus {
    color: #edf7f8 !important;
    background: #1e2a36 !important;
    border-color: rgba(155, 216, 209, .38) !important;
}

body.dark-only .page-body .app-filter-button--apply {
    color: #ffffff !important;
    background: #245a66 !important;
    border-color: rgba(155, 216, 209, .38) !important;
}

body.dark-only .page-body :is(.badge.bg-warning.text-dark, .badge-warning.text-dark, .badge-light-warning.text-dark),
body.dark-only .modal :is(.badge.bg-warning.text-dark, .badge-warning.text-dark, .badge-light-warning.text-dark),
body.dark-only .dataTables_wrapper :is(.badge.bg-warning.text-dark, .badge-warning.text-dark, .badge-light-warning.text-dark) {
    color: var(--app-warning-700) !important;
}

body.dark-only .page-body :is(.badge.bg-info.text-dark, .badge-info.text-dark, .badge-light-info.text-dark),
body.dark-only .modal :is(.badge.bg-info.text-dark, .badge-info.text-dark, .badge-light-info.text-dark),
body.dark-only .dataTables_wrapper :is(.badge.bg-info.text-dark, .badge-info.text-dark, .badge-light-info.text-dark) {
    color: var(--app-info-700) !important;
}

body.dark-only .global-spinner__card,
body.dark-only .dataTables_wrapper .dt-processing-loader {
    background: #17212b;
    border-color: rgba(148, 163, 184, .24);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .38);
}

body.dark-only .custom-full-spinner,
body.dark-only .global-spinner-overlay {
    background: var(--app-loading-bg);
}

/* ==========================================================================
   Module toolbars - dark mode
   ========================================================================== */

body.dark-only .app-module-toolbar {
    background: linear-gradient(180deg, #17212b 0%, #111a23 100%);
    border-color: rgba(148, 163, 184, .2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

/* ==========================================================================
   Operational feedback - dark mode
   ========================================================================== */

body.dark-only [data-notify="container"].app-feedback-notify {
    color: var(--app-text);
    background: #17212b;
    border-color: rgba(148, 163, 184, .26);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .42);
}

body.dark-only [data-notify="container"].app-feedback-notify.alert-success {
    border-left-color: var(--app-success);
}

body.dark-only [data-notify="container"].app-feedback-notify.alert-danger {
    border-left-color: var(--app-danger);
}

body.dark-only [data-notify="container"].app-feedback-notify.alert-warning {
    border-left-color: var(--app-warning);
}

body.dark-only [data-notify="container"].app-feedback-notify.alert-info {
    border-left-color: var(--app-info);
}

body.dark-only .app-feedback-notify__close {
    color: var(--app-muted);
}

body.dark-only .app-feedback-notify__close:hover,
body.dark-only .app-feedback-notify__close:focus {
    color: var(--app-text);
    background: rgba(148, 163, 184, .12);
}

body.dark-only .app-feedback-toast__title {
    color: var(--app-text);
}

body.dark-only .app-feedback-toast__message {
    color: var(--app-muted);
}

body.dark-only [data-notify="container"].app-feedback-notify .progress {
    background: rgba(148, 163, 184, .16);
}

body.dark-only .page-body .btn:disabled,
body.dark-only .page-body .btn.disabled,
body.dark-only .page-body .btn.is-disabled,
body.dark-only .modal .btn:disabled,
body.dark-only .modal .btn.disabled,
body.dark-only .modal .btn.is-disabled {
    opacity: .48;
    filter: saturate(.72);
    box-shadow: none !important;
}

body.dark-only .page-body :is(.form-control, .form-select, .custom-select, select, textarea, input):disabled,
body.dark-only .page-body :is(.form-control, .form-select, .custom-select, select, textarea, input).is-disabled,
body.dark-only .modal :is(.form-control, .form-select, .custom-select, select, textarea, input):disabled,
body.dark-only .modal :is(.form-control, .form-select, .custom-select, select, textarea, input).is-disabled {
    color: #7f91a4 !important;
    background: #111a23 !important;
    border-color: rgba(148, 163, 184, .22) !important;
}

body.dark-only .select2-container.is-disabled .select2-selection,
body.dark-only .select2-container--default.is-disabled .select2-selection--single,
body.dark-only .select2-container--default.is-disabled .select2-selection--multiple {
    color: #7f91a4 !important;
    background: #111a23 !important;
    border-color: rgba(148, 163, 184, .22) !important;
}

body.dark-only .app-field-error-scope label,
body.dark-only .app-field-error-scope .form-label {
    color: var(--app-danger-700) !important;
}

body.dark-only .app-field-error-target,
body.dark-only .select2-container.app-select2-invalid .select2-selection,
body.dark-only .select2-container.is-invalid .select2-selection {
    border-color: var(--app-danger) !important;
    box-shadow: 0 0 0 3px rgba(var(--app-danger-rgb), .16) !important;
}

body.dark-only .invalid-feedback.app-field-error {
    color: var(--app-danger-700);
}

/* ==========================================================================
   Dashboard - dark mode
   ========================================================================== */

body.dark-only .dashboard-empty-state {
    background: var(--app-surface-soft);
    border-color: var(--app-border);
}

body.dark-only .dashboard-start,
body.dark-only .dashboard-nav-section {
    background: var(--app-surface);
    border-color: var(--app-border);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

body.dark-only .dashboard-primary-link {
    background: var(--app-surface-soft);
    border-color: var(--app-border);
}

body.dark-only .dashboard-primary-link:hover,
body.dark-only .dashboard-primary-link:focus {
    border-color: rgba(79, 157, 170, .45);
    box-shadow: 0 12px 24px rgba(0, 0, 0, .24);
}

body.dark-only .dashboard-start__icon,
body.dark-only .dashboard-primary-link__icon {
    background: var(--app-primary-soft);
    border-color: rgba(79, 157, 170, .30);
}

body.dark-only .dashboard-primary-link--success .dashboard-primary-link__icon {
    background: var(--app-success-soft);
    border-color: rgba(84, 184, 159, .30);
}

body.dark-only .dashboard-primary-link--info .dashboard-primary-link__icon {
    background: rgba(96, 165, 250, .13);
    border-color: rgba(96, 165, 250, .30);
}

body.dark-only .dashboard-primary-link--warning .dashboard-primary-link__icon {
    background: rgba(245, 158, 11, .14);
    border-color: rgba(245, 158, 11, .32);
}

body.dark-only .dashboard-primary-link--danger .dashboard-primary-link__icon {
    background: rgba(var(--app-danger-rgb), .16);
    border-color: rgba(var(--app-danger-rgb), .34);
}

body.dark-only .dashboard-primary-link--secondary .dashboard-primary-link__icon,
body.dark-only .dashboard-primary-link--neutral .dashboard-primary-link__icon {
    background: rgba(148, 163, 184, .12);
    border-color: rgba(148, 163, 184, .24);
}

/* ==========================================================================
   DataTable zebra row backgrounds - dark mode
   ========================================================================== */

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):nth-child(odd) > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):nth-child(odd) > * {
    background: #101820 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):nth-child(even) > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):nth-child(even) > * {
    background: #142030 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover {
    --bs-table-bg: #1f3041;
    --bs-table-accent-bg: #1f3041;
    --bs-table-hover-bg: #1f3041;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > th {
    --bs-table-bg: #1f3041;
    --bs-table-accent-bg: #1f3041;
    --bs-table-hover-bg: #1f3041;
    background: #1f3041 !important;
    background-color: #1f3041 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #1f3041, inset 0 1px 0 rgba(79, 157, 170, .10), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > th:first-child {
    box-shadow: inset 4px 0 0 #4f9daa, inset 0 0 0 9999px #1f3041, inset 0 1px 0 rgba(79, 157, 170, .10), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr.selected > *,
body.dark-only .dt-accounting-table.dataTable tbody tr.selected > * {
    background: rgba(79, 157, 170, .18) !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody td.dataTables_empty,
body.dark-only .dt-accounting-table.dataTable tbody td.dataTables_empty {
    background: #111a23 !important;
}

body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover {
    --bs-table-bg: #1f3041;
    --bs-table-accent-bg: #1f3041;
    --bs-table-hover-bg: #1f3041;
    --bs-table-striped-bg: #1f3041;
}

body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_1,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_2,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_3,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th.sorting_1,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th.sorting_2,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th.sorting_3 {
    --bs-table-bg: #1f3041;
    --bs-table-accent-bg: #1f3041;
    --bs-table-hover-bg: #1f3041;
    --bs-table-striped-bg: #1f3041;
    background: #1f3041 !important;
    background-color: #1f3041 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #1f3041, inset 0 1px 0 rgba(79, 157, 170, .10), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
}

body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > th:first-child {
    box-shadow: inset 4px 0 0 #4f9daa, inset 0 0 0 9999px #1f3041, inset 0 1px 0 rgba(79, 157, 170, .10), inset 0 -1px 0 rgba(79, 157, 170, .12) !important;
}

/* ==========================================================================
   Dark mode color refinement
   ========================================================================== */

body.dark-only {
    --app-bg: #0f151c;
    --app-surface: #151d26;
    --app-surface-soft: #111922;
    --app-surface-strong: #1b2632;
    --app-panel-header: #1b2632;
    --app-border: rgba(137, 151, 165, .22);
    --app-border-strong: rgba(137, 151, 165, .34);
    --app-text: #e6edf3;
    --app-muted: #9aa8b6;
    --app-primary: #3f7d87;
    --app-primary-600: #4c909a;
    --app-primary-700: #bdd7dc;
    --app-primary-rgb: 63, 125, 135;
    --app-primary-soft: rgba(63, 125, 135, .15);
    --app-primary-border-soft: rgba(93, 142, 153, .34);
    --app-success: #3f7b67;
    --app-success-600: #4c927b;
    --app-success-700: #badccb;
    --app-success-rgb: 63, 123, 103;
    --app-success-soft: rgba(63, 123, 103, .15);
    --app-success-border-soft: rgba(91, 151, 124, .34);
    --app-info: #4a7894;
    --app-info-600: #5c8fab;
    --app-info-700: #c1d4e4;
    --app-info-rgb: 74, 120, 148;
    --app-info-soft: rgba(74, 120, 148, .15);
    --app-info-border-soft: rgba(92, 143, 171, .34);
    --app-warning: #a06c24;
    --app-warning-600: #bd8431;
    --app-warning-700: #dfbd7d;
    --app-warning-rgb: 160, 108, 36;
    --app-warning-soft: rgba(160, 108, 36, .16);
    --app-warning-border-soft: rgba(189, 132, 49, .36);
    --app-danger: #aa4147;
    --app-danger-600: #c4545b;
    --app-danger-700: #efb8bd;
    --app-danger-rgb: 170, 65, 71;
    --app-danger-soft: rgba(170, 65, 71, .15);
    --app-danger-border-soft: rgba(196, 84, 91, .38);
    --app-secondary: #7d8b99;
    --app-secondary-600: #a6b3bf;
    --app-secondary-700: #d7e0e8;
    --app-secondary-rgb: 125, 139, 153;
    --dm-page-bg: var(--app-bg);
    --dm-surface: var(--app-surface);
    --dm-surface-2: var(--app-panel-header);
    --dm-surface-3: var(--app-surface-soft);
    --dm-text: var(--app-text);
    --dm-muted: var(--app-muted);
    --dm-border: var(--app-border);
    --dm-border-strong: var(--app-border-strong);
    --dm-accent: var(--app-primary);
    --dm-accent-soft: var(--app-primary-soft);
    --sb-desktop-accent: #9fbec5;
    --sb-desktop-accent-600: #4c909a;
    --sb-desktop-accent-soft: rgba(63, 125, 135, .16);
}

body.dark-only .page-wrapper,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper,
body.dark-only .page-wrapper.compact-wrapper .page-body-wrapper .page-body {
    background: var(--app-bg) !important;
}

body.dark-only .page-body .card > .card-header,
body.dark-only .modal .modal-header:not(.bg-primary):not(.bg-gradient) {
    background: linear-gradient(180deg, #1b2632 0%, #151d26 100%) !important;
    border-color: var(--app-border) !important;
}

body.dark-only .page-body .btn-success:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-success:not(.btn-link):not(.btn-close) {
    color: #eef7f3 !important;
    background: #2f6454 !important;
    border-color: #477c6b !important;
}

body.dark-only .page-body .btn-success:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-success:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-success:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-success:not(.btn-link):not(.btn-close):focus {
    background: #397765 !important;
    border-color: #679782 !important;
}

body.dark-only .page-body .btn-info:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-info:not(.btn-link):not(.btn-close) {
    color: #eef5f9 !important;
    background: #365f77 !important;
    border-color: #527f98 !important;
}

body.dark-only .page-body .btn-info:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-info:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-info:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-info:not(.btn-link):not(.btn-close):focus {
    background: #426f89 !important;
    border-color: #719bb2 !important;
}

body.dark-only .page-body .btn-warning:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-warning:not(.btn-link):not(.btn-close) {
    color: #f5e6c7 !important;
    background: #634a20 !important;
    border-color: #9a7330 !important;
}

body.dark-only .page-body .btn-warning:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-warning:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-warning:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-warning:not(.btn-link):not(.btn-close):focus {
    background: #785a27 !important;
    border-color: #bd8b37 !important;
}

body.dark-only .page-body .btn-danger:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-danger:not(.btn-link):not(.btn-close) {
    color: #fff2f3 !important;
    background: #873239 !important;
    border-color: #ad4a51 !important;
}

body.dark-only .page-body .btn-danger:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-danger:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-danger:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-danger:not(.btn-link):not(.btn-close):focus {
    background: #9b3c43 !important;
    border-color: #c45b62 !important;
}

body.dark-only .page-body .btn-secondary:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-dark:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-secondary:not(.btn-link):not(.btn-close),
body.dark-only .page-body .btn-outline-dark:not(.btn-link):not(.btn-close) {
    color: #d9e2ea !important;
    background: #273542 !important;
    border-color: #3a4b5a !important;
}

body.dark-only .page-body .btn-secondary:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-dark:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-secondary:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-outline-dark:not(.btn-link):not(.btn-close):hover,
body.dark-only .page-body .btn-secondary:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-dark:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-secondary:not(.btn-link):not(.btn-close):focus,
body.dark-only .page-body .btn-outline-dark:not(.btn-link):not(.btn-close):focus {
    background: #314251 !important;
    border-color: #536677 !important;
}

body.dark-only .dropzone,
body.dark-only .dropzone-info,
body.dark-only #cajaAhorroLayoutDropzone {
    background: #101820 !important;
    border-color: rgba(76, 144, 154, .42) !important;
    color: var(--app-text) !important;
}

body.dark-only .dataTables_wrapper table.dataTable thead th,
body.dark-only .dataTables_wrapper table.dataTable thead td,
body.dark-only .dt-accounting-table.dataTable thead th,
body.dark-only .dt-accounting-table.dataTable thead td {
    background: linear-gradient(180deg, #1e2a35 0%, #18232d 100%) !important;
    border-color: rgba(137, 151, 165, .22) !important;
    border-bottom-color: rgba(93, 142, 153, .32) !important;
    color: #e2e9ef !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

body.dark-only .dataTables_wrapper table.dataTable thead th.dt-col-actions,
body.dark-only .dataTables_wrapper table.dataTable thead td.dt-col-actions,
body.dark-only .dt-accounting-table.dataTable thead th.dt-col-actions,
body.dark-only .dt-accounting-table.dataTable thead td.dt-col-actions {
    background: linear-gradient(180deg, #1f2b36 0%, #192530 100%) !important;
    border-left-color: rgba(137, 151, 165, .24) !important;
}

body.dark-only table.dataTable thead th.sorting_asc::after,
body.dark-only table.dataTable thead th.sorting_desc::after,
body.dark-only table.dataTable thead td.sorting_asc::after,
body.dark-only table.dataTable thead td.sorting_desc::after {
    border-color: rgba(93, 142, 153, .46) !important;
    background: rgba(63, 125, 135, .16) !important;
    color: #9fbec5 !important;
}

body.dark-only table.dataTable thead th.sorting:hover::after,
body.dark-only table.dataTable thead th.sorting_asc:hover::after,
body.dark-only table.dataTable thead th.sorting_desc:hover::after,
body.dark-only table.dataTable thead td.sorting:hover::after,
body.dark-only table.dataTable thead td.sorting_asc:hover::after,
body.dark-only table.dataTable thead td.sorting_desc:hover::after {
    border-color: rgba(93, 142, 153, .56) !important;
    background: rgba(63, 125, 135, .22) !important;
    color: #b7d3db !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):nth-child(odd) > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):nth-child(odd) > * {
    background: #101820 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):nth-child(even) > *,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):nth-child(even) > * {
    background: #151f29 !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover {
    --bs-table-bg: #1d2a35;
    --bs-table-accent-bg: #1d2a35;
    --bs-table-hover-bg: #1d2a35;
    --bs-table-striped-bg: #1d2a35;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_1,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_2,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td.sorting_3 {
    --bs-table-bg: #1d2a35;
    --bs-table-accent-bg: #1d2a35;
    --bs-table-hover-bg: #1d2a35;
    --bs-table-striped-bg: #1d2a35;
    background: #1d2a35 !important;
    background-color: #1d2a35 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #1d2a35, inset 0 1px 0 rgba(93, 142, 153, .09), inset 0 -1px 0 rgba(93, 142, 153, .11) !important;
}

body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dt-accounting-table.dataTable tbody tr:not(.child):not(.selected):hover > th:first-child {
    box-shadow: inset 4px 0 0 #5d8e99, inset 0 0 0 9999px #1d2a35, inset 0 1px 0 rgba(93, 142, 153, .09), inset 0 -1px 0 rgba(93, 142, 153, .11) !important;
}

body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > td,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > th,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td.sorting_1,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td.sorting_2,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td.sorting_3 {
    --bs-table-bg: #1d2a35;
    --bs-table-accent-bg: #1d2a35;
    --bs-table-hover-bg: #1d2a35;
    --bs-table-striped-bg: #1d2a35;
    background: #1d2a35 !important;
    background-color: #1d2a35 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #1d2a35, inset 0 1px 0 rgba(93, 142, 153, .09), inset 0 -1px 0 rgba(93, 142, 153, .11) !important;
}

body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.display tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.hover tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.table-hover tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.order-column tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.stripe tbody tr:not(.child):not(.selected):hover > th:first-child,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > td:first-child,
body.dark-only .dataTables_wrapper table.dataTable.row-border tbody tr:not(.child):not(.selected):hover > th:first-child {
    box-shadow: inset 4px 0 0 #5d8e99, inset 0 0 0 9999px #1d2a35, inset 0 1px 0 rgba(93, 142, 153, .09), inset 0 -1px 0 rgba(93, 142, 153, .11) !important;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button {
    --dt-action-color: #9dbbc2;
    --dt-action-bg: #17232d;
    --dt-action-border: #2f414f;

    color: var(--dt-action-color) !important;
    background: var(--dt-action-bg) !important;
    border-color: var(--dt-action-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045) !important;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-success,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-success,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.dt-action-button--success {
    --dt-action-color: #8fbfa9;
    --dt-action-bg: #172820;
    --dt-action-border: #345846;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-primary,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-primary,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.dt-action-button--primary {
    --dt-action-color: #9dbbc2;
    --dt-action-bg: #17262d;
    --dt-action-border: #355762;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-info,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-info {
    --dt-action-color: #a8c4d6;
    --dt-action-bg: #172634;
    --dt-action-border: #38576a;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-warning,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-warning {
    --dt-action-color: #dfbd7d;
    --dt-action-bg: #2a2115;
    --dt-action-border: #685127;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-danger,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-danger,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.dt-action-button--danger {
    --dt-action-color: #efb8bd;
    --dt-action-bg: #2b1a1d;
    --dt-action-border: #653037;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-secondary,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.btn-outline-secondary,
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button.text-muted {
    --dt-action-color: #b8c3cf;
    --dt-action-bg: #1b2530;
    --dt-action-border: #384857;
}

body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button:hover:not(:disabled),
body.dark-only .dt-accounting-table.dataTable td.dt-col-actions .dt-action-button:focus:not(:disabled) {
    color: #f5f8fa !important;
    background: #263a45 !important;
    border-color: #597380 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 1px 3px rgba(0, 0, 0, .34) !important;
    transform: none !important;
}
