/**
 * INFOBMS comprehensive dark mode overrides
 * Scoped to body.dark-mode — light mode is untouched
 */

/* ═══════════════════════════════════════════
   PAGE & TYPOGRAPHY
   ═══════════════════════════════════════════ */
body.dark-mode {
    color: var(--text-primary);
    background-color: var(--bg-page) !important;
}

html:has(body.dark-mode),
html:has(body.dark-mode).tw-bg-white {
    background-color: #0f1117 !important;
}

body.dark-mode main,
body.dark-mode #scrollable-container,
body.dark-mode #info-content-slot,
body.dark-mode #scrollable-container > .tw-mt-auto,
body.dark-mode .content-wrapper,
body.dark-mode section.content {
    background-color: var(--bg-page) !important;
    color: var(--text-primary);
}

body.dark-mode a:not(.btn):not(.list-group-item):not(.nav-link):not(.dropdown-item) {
    color: var(--text-link);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .box-title,
body.dark-mode .content-header h1,
body.dark-mode .content-header h1 small {
    color: var(--text-heading);
}

body.dark-mode p,
body.dark-mode span:not(.badge):not(.label):not(.fa):not(.fas):not(.far):not(.fab),
body.dark-mode small,
body.dark-mode .help-block {
    color: var(--text-secondary);
}

body.dark-mode label,
body.dark-mode .control-label,
body.dark-mode .form-group > label,
body.dark-mode legend {
    color: var(--text-label);
}

body.dark-mode hr {
    border-color: var(--border-color);
}

body.dark-mode .text-muted {
    color: var(--text-muted);
}

body.dark-mode .text-dark,
body.dark-mode .text-black,
body.dark-mode .tw-text-black,
body.dark-mode .tw-text-gray-900,
body.dark-mode .tw-text-gray-800,
body.dark-mode .tw-text-gray-700 {
    color: var(--text-heading);
}

body.dark-mode .tw-text-gray-600,
body.dark-mode .tw-text-gray-500 {
    color: var(--text-secondary);
}

body.dark-mode .tw-text-gray-400 {
    color: var(--text-muted);
}

body.dark-mode .tw-text-white {
    color: var(--text-on-dark);
}

body.dark-mode .tw-bg-gray-100,
body.dark-mode .tw-bg-gray-50 {
    background-color: var(--bg-page);
}

body.dark-mode .tw-bg-white,
body.dark-mode .bg-white {
    background-color: var(--bg-card);
}

body.dark-mode .hover\:tw-bg-white\/60:hover,
body.dark-mode [class*="hover:tw-bg-white"]:hover {
    background-color: var(--bg-table-head) !important;
}

body.dark-mode .tw-ring-gray-200,
body.dark-mode .tw-border-gray-200,
body.dark-mode .tw-border-gray-100 {
    --tw-ring-color: var(--border-color);
    border-color: var(--border-color);
}

/* ═══════════════════════════════════════════
   CARDS, BOXES, WIDGETS
   ═══════════════════════════════════════════ */
body.dark-mode .card,
body.dark-mode .box,
body.dark-mode .info-box,
body.dark-mode .small-box,
body.dark-mode .nav-tabs-custom,
body.dark-mode .tw-shadow-sm,
body.dark-mode .tw-rounded-xl.tw-bg-white,
body.dark-mode [class*="tw-bg-white"].tw-shadow-sm,
body.dark-mode .pf-card,
body.dark-mode .pf-kpi,
body.dark-mode .pf-plan-card,
body.dark-mode .pf-wrap .tw-shadow-sm {
    background-color: var(--bg-card);
    border-color: var(--border-card);
    box-shadow: var(--shadow-card);
    color: var(--text-primary);
}

body.dark-mode .card-header,
body.dark-mode .box-header,
body.dark-mode .card-footer,
body.dark-mode .box-footer {
    background-color: var(--bg-table-head);
    border-color: var(--border-color);
    color: var(--text-heading);
}

body.dark-mode .card-body,
body.dark-mode .box-body {
    color: var(--text-primary);
}

body.dark-mode .card-title,
body.dark-mode .card-subtitle {
    color: var(--text-heading);
}

/* Settings tab container (Business Settings, Superadmin) */
body.dark-mode div.pos-tab-container {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    box-shadow: var(--shadow-card);
}

body.dark-mode div.pos-tab-content {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

body.dark-mode div.pos-tab-menu div.list-group > a:not(.active) {
    background-color: var(--bg-sidebar);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode div.pos-tab-menu div.list-group > a:not(.active):hover {
    background-color: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode div.pos-tab-menu div.list-group > a .glyphicon,
body.dark-mode div.pos-tab-menu div.list-group > a .fa {
    color: inherit;
}

body.dark-mode .list-group-item:not(.active) {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .list-group-item:hover:not(.active) {
    background-color: var(--bg-table-head);
}

body.dark-mode .list-group-item.active {
    border-color: var(--accent-primary);
}

/* Layout preview picker */
body.dark-mode .layout-preview-card {
    background: var(--bg-input);
    border-color: var(--border-color);
}

body.dark-mode .layout-preview-label {
    color: var(--text-primary);
}

body.dark-mode .layout-settings-picker h4 {
    color: var(--text-heading);
}

/* ═══════════════════════════════════════════
   SIDEBAR
   ═══════════════════════════════════════════ */
body.dark-mode #side-bar,
body.dark-mode .side-bar,
body.dark-mode #sidebar-search-panel,
body.dark-mode #sidebar-menu,
body.dark-mode .sidebar-menu-scroll {
    background-color: var(--bg-sidebar);
    border-color: var(--border-color);
}

body.dark-mode #sidebar-search-panel .sidebar-search-inner {
    background-color: var(--bg-input);
    border-color: var(--border-input);
}

body.dark-mode #sidebar-search,
body.dark-mode .sidebar-search-input {
    color: var(--text-primary);
}

body.dark-mode #sidebar-search::placeholder,
body.dark-mode .sidebar-search-input::placeholder {
    color: var(--text-placeholder);
}

body.dark-mode #sidebar-menu a,
body.dark-mode #sidebar-menu .drop_down {
    color: var(--pos-sidebar-text);
}

body.dark-mode #sidebar-menu .sidebar-menu-header {
    color: var(--pos-sidebar-text-muted);
}

body.dark-mode #sidebar-menu .chiled a {
    color: var(--pos-sidebar-text);
}

body.dark-mode .main-sidebar,
body.dark-mode .sidebar-wrapper {
    background: var(--bg-sidebar);
}

/* ═══════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════ */
body.dark-mode.header-layout-2 .app-header-toolbar {
    background: var(--glass-bg);
    border-color: var(--border-color);
}

body.dark-mode.header-layout-1 .app-header-toolbar,
body.dark-mode.header-layout-4 .app-header-toolbar {
    background: var(--bg-header);
    border-bottom-color: var(--border-color);
}

body.dark-mode.header-layout-4 .app-header-toolbar {
    border-bottom-color: var(--accent-color);
}

body.dark-mode.header-layout-3 .app-header-toolbar {
    background: var(--accent-color);
    border-bottom: none;
}

body.dark-mode.header-layout-5 .app-header-toolbar {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--accent-color) 18%, var(--bg-header)),
        var(--bg-header)
    );
    border-color: var(--border-color);
}

body.dark-mode.header-layout-1 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn),
body.dark-mode.header-layout-4 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn),
body.dark-mode.header-layout-5 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn) {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

body.dark-mode[class*="sidebar-mode-"] .topbar-nav .topbar-nav-item {
    color: var(--header-text, var(--text-primary));
}

body.dark-mode[class*="sidebar-mode-"] .topbar-nav .topbar-nav-item:hover,
body.dark-mode[class*="sidebar-mode-"] .topbar-nav .topbar-nav-item.active {
    background: color-mix(in srgb, var(--header-text, var(--text-primary)) 14%, transparent);
    color: var(--header-text, var(--text-primary));
}

body.dark-mode.header-layout-3[class*="sidebar-mode-"] .topbar-nav .topbar-nav-item:hover,
body.dark-mode.header-layout-3[class*="sidebar-mode-"] .topbar-nav .topbar-nav-item.active {
    background: color-mix(in srgb, var(--header-text, #fff) 18%, transparent);
}

body.dark-mode.header-layout-3 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn):not(.app-header-user-menu):not(.app-header-back-user),
body.dark-mode.header-layout-3 .app-header-toolbar summary.app-header-chip:not(.theme-btn-bg) {
    background: color-mix(in srgb, #ffffff 18%, transparent);
    color: #ffffff;
    border-color: color-mix(in srgb, #ffffff 28%, transparent);
}

body.dark-mode.header-layout-3 .app-header-toolbar .theme-btn-bg,
body.dark-mode.header-layout-3 .app-header-toolbar .app-header-user-menu {
    background: #ffffff;
    color: var(--accent-on-light, var(--theme-700)) !important;
}

body.dark-mode.header-layout-3 .app-header-toolbar .theme-btn-bg svg,
body.dark-mode.header-layout-3 .app-header-toolbar .app-header-user-menu svg,
body.dark-mode.header-layout-3 .app-header-toolbar .theme-btn-bg i,
body.dark-mode.header-layout-3 .app-header-toolbar .app-header-user-menu i {
    color: var(--accent-on-light, var(--theme-700)) !important;
}

body.dark-mode.header-layout-3 .app-header-toolbar .pos-sale-btn {
    background: #16a34a;
    color: var(--btn-text-on-filled, #ffffff) !important;
}

body.dark-mode.header-layout-5 .app-header-actions {
    background: var(--bg-input);
    border-color: var(--border-input);
}

@media (max-width: 1023px) {
    body.dark-mode.header-layout-1 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn),
    body.dark-mode.header-layout-4 .app-header-toolbar .app-header-chip:not(.theme-btn-bg):not(.pos-sale-btn) {
        border-color: var(--border-strong, var(--border-input));
    }

    body.dark-mode .app-header-toolbar .app-header-chip,
    body.dark-mode .app-header-toolbar summary.app-header-chip {
        flex-shrink: 0;
    }

    body.dark-mode .app-header-toolbar details.tw-dw-dropdown,
    body.dark-mode .app-header-toolbar .notifications-menu {
        flex-shrink: 0;
        overflow: visible;
    }
}

body.dark-mode .app-header-center-search input {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

body.dark-mode .app-header-dropdown > ul,
body.dark-mode .app-header-user-dropdown-menu {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .app-header-dropdown > ul a,
body.dark-mode .app-header-user-dropdown-menu a {
    color: var(--text-primary);
}

body.dark-mode .app-header-dropdown > ul a:hover,
body.dark-mode .app-header-user-dropdown-menu a:hover {
    background: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode .app-header-dropdown-menu-title span {
    color: var(--text-muted);
}

body.dark-mode .breadcrumb {
    background: transparent;
}

body.dark-mode .breadcrumb-item,
body.dark-mode .breadcrumb-item a {
    color: var(--text-secondary);
}

body.dark-mode .breadcrumb-item.active {
    color: var(--text-primary);
}

body.dark-mode .breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-muted);
}

/* ═══════════════════════════════════════════
   FORMS & INPUTS
   ═══════════════════════════════════════════ */
body.dark-mode .form-control,
body.dark-mode select.form-control,
body.dark-mode textarea.form-control,
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="password"],
body.dark-mode input[type="number"],
body.dark-mode input[type="search"],
body.dark-mode input[type="tel"],
body.dark-mode input[type="url"],
body.dark-mode input[type="date"],
body.dark-mode input[type="datetime-local"],
body.dark-mode .tw-dw-input,
body.dark-mode .input-group .form-control {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

body.dark-mode .form-control::placeholder,
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

body.dark-mode .form-control:focus,
body.dark-mode select.form-control:focus {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.25);
}

body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly],
body.dark-mode fieldset[disabled] .form-control {
    background-color: var(--bg-table-head);
    color: var(--text-muted);
}

body.dark-mode .input-group-addon,
body.dark-mode .input-group-text {
    background-color: var(--bg-table-head);
    color: var(--text-secondary);
    border-color: var(--border-input);
}

body.dark-mode .custom-file-label,
body.dark-mode .custom-control-label {
    color: var(--text-primary);
}

body.dark-mode .custom-file-label::after {
    background-color: var(--bg-table-head);
    color: var(--text-primary);
    border-color: var(--border-input);
}

body.dark-mode .icheckbox_square-blue,
body.dark-mode .iradio_square-blue {
    background-color: var(--bg-input);
    border-color: var(--border-input);
}

body.dark-mode .icheckbox_square-blue.checked,
body.dark-mode .iradio_square-blue.checked {
    background-color: var(--accent-primary);
    border-color: var(--accent-primary);
}

body.dark-mode .iCheck-helper {
    background: transparent !important;
}

/* ═══════════════════════════════════════════
   TABLES & DATATABLES
   ═══════════════════════════════════════════ */
body.dark-mode .table,
body.dark-mode table.dataTable {
    color: var(--text-primary);
    background-color: transparent;
}

body.dark-mode .table > thead > tr > th,
body.dark-mode .table > thead > tr > td,
body.dark-mode table.dataTable thead th,
body.dark-mode table.dataTable thead td {
    background-color: var(--bg-table-head);
    color: var(--text-heading);
    border-color: var(--border-color);
}

body.dark-mode .table > tbody > tr > td,
body.dark-mode .table > tbody > tr > th,
body.dark-mode table.dataTable tbody td,
body.dark-mode table.dataTable tbody th {
    background-color: var(--bg-table-row);
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode .table > tbody > tr:nth-child(even) > td,
body.dark-mode table.dataTable.stripe tbody tr:nth-child(even) td {
    background-color: var(--bg-table-alt);
}

body.dark-mode .table > tbody > tr:hover > td,
body.dark-mode table.dataTable.hover tbody tr:hover td {
    background-color: var(--bg-table-head);
}

body.dark-mode .table-bordered,
body.dark-mode .table-bordered > thead > tr > th,
body.dark-mode .table-bordered > tbody > tr > td {
    border-color: var(--border-color);
}

body.dark-mode .dataTables_wrapper,
body.dark-mode .dataTables_info,
body.dark-mode .dataTables_length,
body.dark-mode .dataTables_filter {
    color: var(--text-primary);
}

body.dark-mode .dataTables_scroll,
body.dark-mode .dataTables_scrollBody,
body.dark-mode .dataTables_scrollHead,
body.dark-mode .dataTables_scrollFoot {
    background-color: var(--bg-card) !important;
}

body.dark-mode table.DTFC_Cloned tr,
body.dark-mode div.DTFC_LeftHeadWrapper table,
body.dark-mode div.DTFC_RightHeadWrapper table,
body.dark-mode div.DTFC_LeftFootWrapper table,
body.dark-mode div.DTFC_RightFootWrapper table,
body.dark-mode div.DTFC_Blocker,
body.dark-mode table.dataTable.fixedHeader-floating,
body.dark-mode table.dataTable.fixedHeader-locked {
    background-color: var(--bg-table-row) !important;
}

body.dark-mode table.dataTable > tbody > tr.child ul.dtr-details > li {
    border-color: var(--border-color) !important;
}

body.dark-mode div.dt-button-info {
    background: var(--bg-modal) !important;
    color: var(--text-primary);
}

body.dark-mode .div-overlay {
    background: var(--bg-overlay) !important;
}

body.dark-mode #product_table .product-thumbnail-small {
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

body.dark-mode .dataTables_length select,
body.dark-mode .dataTables_filter input {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

/* Pagination button colors: theme-pagination.css */

body.dark-mode .dt-buttons .btn,
body.dark-mode .dataTables_wrapper .btn-default {
    background: var(--bg-table-head);
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode .footer-total,
body.dark-mode tr.footer-total td {
    background-color: var(--bg-table-head);
    color: var(--text-heading);
}

/* ═══════════════════════════════════════════
   SELECT2
   ═══════════════════════════════════════════ */
body.dark-mode .select2-container--default .select2-selection--single,
body.dark-mode .select2-container--default .select2-selection--multiple {
    background: var(--bg-input);
    border-color: var(--border-input);
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered,
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--text-primary);
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--text-secondary) transparent transparent transparent;
}

body.dark-mode .select2-dropdown {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
}

body.dark-mode .select2-search--dropdown .select2-search__field {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

body.dark-mode .select2-results__option {
    color: var(--text-primary);
}

body.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--accent-primary);
    color: #fff;
}

body.dark-mode .select2-container--default .select2-results__option[aria-selected="true"] {
    background: var(--bg-table-head);
}

/* ═══════════════════════════════════════════
   DROPDOWNS & NAV
   ═══════════════════════════════════════════ */
body.dark-mode .dropdown-menu,
body.dark-mode .tw-dw-dropdown-content,
body.dark-mode ul.tw-dw-menu {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
    box-shadow: var(--shadow-dropdown);
}

body.dark-mode .dropdown-menu > li > a,
body.dark-mode .dropdown-item {
    color: var(--text-primary);
}

body.dark-mode .dropdown-menu > li > a:hover,
body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
    background: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode .dropdown-header {
    color: var(--text-muted);
}

body.dark-mode .dropdown-divider {
    border-color: var(--border-color);
}

body.dark-mode .nav-tabs {
    border-bottom-color: var(--border-color);
}

body.dark-mode .nav-tabs > li > a,
body.dark-mode .nav-tabs .nav-link {
    color: var(--text-secondary);
}

body.dark-mode .nav-tabs > li.active > a,
body.dark-mode .nav-tabs > li.active > a:hover,
body.dark-mode .nav-tabs .nav-link.active {
    background: var(--bg-card);
    border-color: var(--border-color) var(--border-color) var(--bg-card);
    color: var(--text-primary);
}

body.dark-mode .tab-content,
body.dark-mode .tab-pane {
    color: var(--text-primary);
}

body.dark-mode .nav-pills > li > a {
    color: var(--text-secondary);
}

body.dark-mode .nav-pills > li.active > a {
    color: var(--text-on-dark);
}

/* ═══════════════════════════════════════════
   MODALS
   ═══════════════════════════════════════════ */
body.dark-mode .modal-content {
    background: var(--bg-modal);
    border-color: var(--border-color);
    box-shadow: var(--shadow-modal);
    color: var(--text-primary);
}

body.dark-mode .modal-header {
    background: var(--bg-table-head);
    border-bottom-color: var(--border-color);
}

body.dark-mode .modal-title {
    color: var(--text-heading);
}

body.dark-mode .modal-body {
    color: var(--text-primary);
}

body.dark-mode .modal-footer {
    background: var(--bg-table-head);
    border-top-color: var(--border-color);
}

body.dark-mode .modal .close,
body.dark-mode button.close {
    color: var(--text-primary);
    opacity: 0.8;
    text-shadow: none;
}

body.dark-mode .modal-backdrop {
    background-color: var(--bg-overlay);
}

/* ═══════════════════════════════════════════
   SWEETALERT2 & TOASTR
   ═══════════════════════════════════════════ */
body.dark-mode .swal2-popup {
    background: var(--bg-modal);
    color: var(--text-primary);
}

body.dark-mode .swal2-title {
    color: var(--text-heading);
}

body.dark-mode .swal2-html-container,
body.dark-mode .swal2-content {
    color: var(--text-primary);
}

body.dark-mode .swal2-input,
body.dark-mode .swal2-textarea,
body.dark-mode .swal2-select {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

/* SweetAlert v1 (legacy) — extracss hardcodes #fff on these */
body.dark-mode .swal-content__input,
body.dark-mode .swal-content__textarea {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-input) !important;
}

body.dark-mode .swal2-styled.swal2-cancel {
    background: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode #toast-container > div {
    box-shadow: var(--shadow-dropdown);
}

body.dark-mode .toast-success {
    background-color: #1a472a;
}

body.dark-mode .toast-error {
    background-color: #5c1a1a;
}

body.dark-mode .toast-warning {
    background-color: #5c4a00;
}

body.dark-mode .toast-info {
    background-color: #1a3a5c;
}

/* ═══════════════════════════════════════════
   DATE / TIME PICKERS
   ═══════════════════════════════════════════ */
body.dark-mode .daterangepicker,
body.dark-mode .datepicker,
body.dark-mode .bootstrap-datetimepicker-widget,
body.dark-mode .bootstrap-datetimepicker-widget.dropdown-menu {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .daterangepicker .calendar-table,
body.dark-mode .datepicker table {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
}

body.dark-mode .daterangepicker td,
body.dark-mode .daterangepicker th,
body.dark-mode .datepicker table tr td,
body.dark-mode .datepicker table tr th {
    color: var(--text-primary);
}

body.dark-mode .daterangepicker td.available:hover,
body.dark-mode .datepicker table tr td.day:hover {
    background: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode .daterangepicker td.active,
body.dark-mode .daterangepicker td.active:hover,
body.dark-mode .datepicker table tr td.active,
body.dark-mode .datepicker table tr td.active:hover {
    background: var(--accent-primary);
    color: #fff;
}

body.dark-mode .daterangepicker .ranges li {
    color: var(--text-primary);
}

body.dark-mode .daterangepicker .ranges li:hover {
    background: var(--bg-table-head);
}

body.dark-mode .daterangepicker .drp-buttons {
    border-top-color: var(--border-color);
}

body.dark-mode .daterangepicker .calendar-table .next span,
body.dark-mode .daterangepicker .calendar-table .prev span {
    border-color: var(--text-secondary);
}

/* ═══════════════════════════════════════════
   BADGES, ALERTS, PROGRESS
   ═══════════════════════════════════════════ */
body.dark-mode .badge-light,
body.dark-mode .label-default {
    background: var(--bg-badge);
    color: var(--text-primary);
}

body.dark-mode .alert-light {
    background: var(--bg-table-head);
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode .alert {
    border-color: var(--border-color);
}

body.dark-mode .progress {
    background: var(--bg-table-head);
}

/* ═══════════════════════════════════════════
   POPOVERS & TOOLTIPS
   ═══════════════════════════════════════════ */
body.dark-mode .popover {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
}

body.dark-mode .popover-title,
body.dark-mode .popover-header {
    background: var(--bg-table-head);
    color: var(--text-heading);
    border-bottom-color: var(--border-color);
}

body.dark-mode .popover-content,
body.dark-mode .popover-body {
    color: var(--text-primary);
}

body.dark-mode .tooltip-inner {
    background: var(--bg-tooltip);
    color: var(--text-on-dark);
}

/* ═══════════════════════════════════════════
   MISC COMPONENTS
   ═══════════════════════════════════════════ */
body.dark-mode .well,
body.dark-mode .callout,
body.dark-mode .panel,
body.dark-mode .panel-default {
    background: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .panel-heading {
    background: var(--bg-table-head);
    border-color: var(--border-color);
    color: var(--text-heading);
}

body.dark-mode .overlay,
body.dark-mode .sidebar-mobile-overlay {
    background: var(--bg-overlay);
}

body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--bg-table-head);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .file-preview,
body.dark-mode .file-drop-zone,
body.dark-mode .krajee-default.file-preview-frame {
    background: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .error {
    color: var(--accent-danger);
}

body.dark-mode .content-header {
    color: var(--text-heading);
}

body.dark-mode section.content-header h1,
body.dark-mode section.content-header h1 small {
    color: var(--text-heading);
}

body.dark-mode .input-group .select2-container .select2-selection--single {
    background: var(--bg-input);
    border-color: var(--border-input);
}

/* Keep status badge colors intact — do not override .bg-green, .label-success, etc. */

body.dark-mode .dashboard-hero-section .theme-header-bg {
    /* preserve branded hero strip */
}

body.dark-mode .highcharts-background {
    fill: transparent;
}

body.dark-mode .highcharts-title,
body.dark-mode .highcharts-axis-labels text,
body.dark-mode .highcharts-legend-item text {
    fill: var(--text-secondary);
}

body.dark-mode .highcharts-grid-line {
    stroke: var(--border-color);
}

body.dark-mode .highcharts-axis-line,
body.dark-mode .highcharts-tick {
    stroke: var(--border-color);
}

/* Footer */
body.dark-mode .main-footer,
body.dark-mode footer {
    background: var(--bg-sidebar);
    border-color: var(--border-color);
    color: var(--text-secondary);
}

/* POS-specific (when not lockscreen-only) */
body.dark-mode:not(.lockscreen) .pos-product-card,
body.dark-mode:not(.lockscreen) .product_box,
body.dark-mode:not(.lockscreen) #product_list_body .product_list {
    background: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode:not(.lockscreen) #pos_table,
body.dark-mode:not(.lockscreen) .pos-form-actions {
    background: var(--bg-card);
    color: var(--text-primary);
}

body.dark-mode:not(.lockscreen) [class*="pos-th-"] {
    background-color: var(--bg-table-head) !important;
    color: var(--text-muted) !important;
    border-color: var(--border-color) !important;
}

/* FullCalendar */
body.dark-mode .fc-unthemed .fc-content,
body.dark-mode .fc-unthemed .fc-divider,
body.dark-mode .fc-unthemed .fc-list-heading td,
body.dark-mode .fc-unthemed .fc-popover,
body.dark-mode .fc-unthemed .fc-row,
body.dark-mode .fc-unthemed tbody,
body.dark-mode .fc-unthemed td,
body.dark-mode .fc-unthemed th,
body.dark-mode .fc-unthemed thead {
    border-color: var(--border-color);
}

body.dark-mode .fc-unthemed .fc-popover {
    background: var(--bg-dropdown);
}

body.dark-mode .fc-unthemed .fc-popover .fc-header {
    background: var(--bg-table-head);
}

body.dark-mode .fc-unthemed td.fc-today {
    background: var(--bg-table-head);
}

body.dark-mode .fc-day-header,
body.dark-mode .fc-list-heading-main {
    color: var(--text-heading);
}

body.dark-mode .fc-day-number,
body.dark-mode .fc-list-item-title {
    color: var(--text-primary);
}

/* Tinymce */
body.dark-mode .tox-tinymce,
body.dark-mode .tox .tox-editor-header,
body.dark-mode .tox .tox-toolbar-overlord,
body.dark-mode .tox .tox-toolbar,
body.dark-mode .tox .tox-toolbar__primary,
body.dark-mode .tox .tox-menubar,
body.dark-mode .tox .tox-statusbar,
body.dark-mode .tox .tox-sidebar {
    background-color: var(--bg-table-head) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .tox-tinymce {
    border-color: var(--border-color) !important;
}

body.dark-mode .tox .tox-mbtn,
body.dark-mode .tox .tox-tbtn,
body.dark-mode .tox .tox-toolbar-label,
body.dark-mode .tox .tox-statusbar__path-item,
body.dark-mode .tox .tox-statusbar__wordcount {
    color: var(--text-primary) !important;
}

body.dark-mode .tox .tox-tbtn svg,
body.dark-mode .tox .tox-mbtn svg {
    fill: var(--text-primary) !important;
}

body.dark-mode .tox .tox-edit-area__iframe {
    background: var(--bg-input) !important;
}

body.dark-mode .tox .tox-menu,
body.dark-mode .tox .tox-dialog,
body.dark-mode .tox .tox-dialog__header,
body.dark-mode .tox .tox-dialog__body,
body.dark-mode .tox .tox-dialog__footer {
    background-color: var(--bg-modal) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Bare inputs / textareas / selects (including inside modals) */
body.dark-mode textarea,
body.dark-mode select,
body.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]) {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-input) !important;
}

body.dark-mode textarea::placeholder,
body.dark-mode input::placeholder {
    color: var(--text-placeholder) !important;
    opacity: 1;
}

body.dark-mode textarea:focus,
body.dark-mode select:focus,
body.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent-primary) !important;
}

/* Tables inside modals and content areas */
body.dark-mode .modal .table,
body.dark-mode .modal table,
body.dark-mode .quick_add_product_modal .table,
body.dark-mode .quick_add_product_modal table {
    color: var(--text-primary) !important;
    background-color: transparent !important;
}

body.dark-mode .modal .table > thead > tr > th,
body.dark-mode .modal .table > thead > tr > td,
body.dark-mode .quick_add_product_modal .table > thead > tr > th {
    background-color: var(--bg-table-head) !important;
    color: var(--text-heading) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .modal .table > tbody > tr > td,
body.dark-mode .modal .table > tbody > tr > th,
body.dark-mode .quick_add_product_modal .table > tbody > tr > td {
    background-color: var(--bg-table-row) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .modal .table > tbody > tr:hover > td,
body.dark-mode .quick_add_product_modal .table > tbody > tr:hover > td {
    background-color: var(--bg-table-alt) !important;
}

body.dark-mode .quick_add_product_modal .modal-content,
body.dark-mode .quick_add_product_modal .modal-header,
body.dark-mode .quick_add_product_modal .modal-body,
body.dark-mode .quick_add_product_modal .modal-footer {
    background-color: var(--bg-modal) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* jQuery UI autocomplete */
body.dark-mode .ui-autocomplete,
body.dark-mode .ui-menu {
    background: var(--bg-dropdown);
    border-color: var(--border-color);
}

body.dark-mode .ui-menu-item-wrapper {
    color: var(--text-primary);
}

body.dark-mode .ui-state-active,
body.dark-mode .ui-menu-item-wrapper.ui-state-active {
    background: var(--bg-table-head);
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* ═══════════════════════════════════════════
   TARGETED FIXES — sidebar gap, hovers, pagination
   ═══════════════════════════════════════════ */

/* ISSUE 1: White gap below last sidebar menu item — layout only when sidebar is visible */
body.dark-mode #side-bar,
body.dark-mode #side-bar.side-bar,
body.dark-mode aside.side-bar,
body.dark-mode .thetop > aside,
body.dark-mode .main-sidebar,
body.dark-mode .main-sidebar .sidebar,
body.dark-mode .layout-fixed .main-sidebar,
body.dark-mode .sidebar-mini .main-sidebar,
body.dark-mode .main-sidebar.sidebar-dark-primary,
body.dark-mode .main-sidebar.sidebar-light-primary {
    background-color: var(--bg-sidebar) !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
}

@media (min-width: 1024px) {
    body.dark-mode:not(.sidebar-desktop-collapsed) #side-bar,
    body.dark-mode:not(.sidebar-desktop-collapsed) .thetop > aside {
        display: flex !important;
        flex-direction: column !important;
    }

    body.dark-mode.sidebar-desktop-collapsed #side-bar,
    body.dark-mode.sidebar-desktop-collapsed .thetop > aside {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    body.dark-mode #side-bar:not(.small-view-side-active),
    body.dark-mode .thetop > aside:not(.small-view-side-active) {
        display: none !important;
    }

    body.dark-mode #side-bar.small-view-side-active,
    body.dark-mode .thetop > aside.small-view-side-active {
        display: flex !important;
        flex-direction: column !important;
    }
}

body.dark-mode .main-sidebar,
body.dark-mode .main-sidebar .sidebar,
body.dark-mode .layout-fixed .main-sidebar,
body.dark-mode .sidebar-mini .main-sidebar,
body.dark-mode .main-sidebar.sidebar-dark-primary,
body.dark-mode .main-sidebar.sidebar-light-primary {
    display: flex !important;
    flex-direction: column !important;
}

body.dark-mode #side-bar.tw-bg-white,
body.dark-mode #sidebar-search-panel.tw-bg-white {
    background-color: var(--bg-sidebar) !important;
}

body.dark-mode #sidebar-menu,
body.dark-mode .sidebar-menu-scroll,
body.dark-mode .nav-sidebar,
body.dark-mode .main-sidebar .nav,
body.dark-mode .sidebar-menu {
    background-color: var(--bg-sidebar) !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}

body.dark-mode #app-sidebar-menu-chrome {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden;
}

body.dark-mode #sidebar-no-results {
    background-color: var(--bg-sidebar) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode #side-bar .sidebar-brand,
body.dark-mode #side-bar .theme-logo-bg {
    background-color: var(--sidebar-brand-bg, var(--bg-sidebar)) !important;
    border-color: var(--sidebar-brand-border, var(--border-color)) !important;
    color: var(--sidebar-brand-text, var(--text-heading));
}

body.dark-mode #side-bar .sidebar-brand .side-bar-heading,
body.dark-mode #side-bar .sidebar-brand .sidebar-monogram {
    color: var(--sidebar-brand-text, var(--text-heading)) !important;
}

body.dark-mode #sidebar-search-panel,
body.dark-mode #sidebar-menu,
body.dark-mode #sidebar-no-results {
    background-color: var(--bg-sidebar) !important;
}

/* Scrollbar plugins + native track */
body.dark-mode #side-bar .ps,
body.dark-mode #side-bar .ps__rail-y,
body.dark-mode #side-bar .ps__rail-x,
body.dark-mode .main-sidebar .ps,
body.dark-mode .main-sidebar .ps__rail-y {
    background-color: transparent !important;
}

body.dark-mode #side-bar .os-host,
body.dark-mode #side-bar .os-content,
body.dark-mode #side-bar .os-viewport,
body.dark-mode #side-bar .os-padding,
body.dark-mode .main-sidebar .os-host,
body.dark-mode .main-sidebar .os-content,
body.dark-mode .main-sidebar .os-viewport {
    background-color: var(--bg-sidebar) !important;
}

body.dark-mode #side-bar ::-webkit-scrollbar,
body.dark-mode .main-sidebar ::-webkit-scrollbar {
    width: 4px;
}

body.dark-mode #side-bar ::-webkit-scrollbar-track,
body.dark-mode .main-sidebar ::-webkit-scrollbar-track {
    background: var(--bg-sidebar) !important;
}

body.dark-mode #side-bar ::-webkit-scrollbar-thumb,
body.dark-mode .main-sidebar ::-webkit-scrollbar-thumb {
    background: #2d3147 !important;
    border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-track {
    background: var(--bg-page) !important;
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background: #2d3147 !important;
    border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-corner {
    background: var(--bg-page) !important;
}

/* White gap prevention — page wrappers */
body.dark-mode .content-wrapper,
body.dark-mode .main-content,
body.dark-mode #content,
body.dark-mode .wrapper,
body.dark-mode .thetop {
    background-color: var(--bg-page) !important;
    min-height: 100vh;
}

/* Home hero — kill leftover Tailwind theme gradients in dark mode */
body.dark-mode #dashboard-root [class*="tw-bg-gradient-to-r"],
body.dark-mode .home-dashboard-root [class*="tw-from-"] {
    background-image: none !important;
    background-color: var(--bg-page) !important;
}

body.dark-mode #dashboard-root.home-dashboard-root .dashboard-hero-section,
body.dark-mode #dashboard-root.home-dashboard-root .dashboard-main-section {
    background-color: var(--bg-page) !important;
    background-image: none !important;
}

body.dark-mode .dataTables_wrapper,
body.dark-mode .table-responsive {
    background-color: var(--bg-card) !important;
}

/* ISSUE 1 + Phase 6: Sidebar menu item hover */
body.dark-mode #sidebar-menu a:hover,
body.dark-mode #sidebar-menu .drop_down:hover,
body.dark-mode #sidebar-menu .chiled a:hover,
body.dark-mode .nav-sidebar .nav-item .nav-link:hover,
body.dark-mode .nav-sidebar .nav-treeview .nav-link:hover {
    background-color: var(--sidebar-active-bg) !important;
    color: var(--pos-sidebar-text-hover, #ffffff) !important;
    font-weight: 600 !important;
    box-shadow: none;
}

body.dark-mode #sidebar-menu a:hover svg,
body.dark-mode #sidebar-menu a:hover i,
body.dark-mode #sidebar-menu .drop_down:hover svg,
body.dark-mode #sidebar-menu .drop_down:hover i,
body.dark-mode #sidebar-menu .chiled a:hover svg,
body.dark-mode #sidebar-menu .chiled a:hover i {
    color: var(--pos-sidebar-text-hover, #ffffff) !important;
}

body.dark-mode #sidebar-menu .theme-sidebar-active,
body.dark-mode #sidebar-menu .drop_down.theme-sidebar-active,
body.dark-mode .nav-sidebar .nav-item .nav-link.active {
    background-color: var(--sidebar-active-bg) !important;
    color: var(--pos-sidebar-text-active) !important;
    box-shadow: none;
}

body.dark-mode #sidebar-menu a,
body.dark-mode #sidebar-menu .drop_down,
body.dark-mode .nav-sidebar .nav-link {
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

/* ISSUE 2: Button hover states */
body.dark-mode .btn-primary:hover,
body.dark-mode .btn-primary:focus {
    background-color: var(--btn-primary-hover, var(--secondary, var(--accent-primary))) !important;
    border-color: color-mix(in srgb, var(--btn-primary-hover, var(--secondary, var(--accent-primary))) 70%, var(--border-strong)) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 30%, transparent) !important;
    color: var(--btn-text-on-filled, #ffffff) !important;
}

body.dark-mode .btn-secondary:hover,
body.dark-mode .btn-default:hover,
body.dark-mode .btn-secondary:focus,
body.dark-mode .btn-default:focus {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.2) !important;
}

body.dark-mode .btn-success:hover,
body.dark-mode .btn-success:focus {
    background-color: #16a34a !important;
    border-color: #15803d !important;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.25) !important;
    color: #ffffff !important;
}

body.dark-mode .btn-danger:hover,
body.dark-mode .btn-danger:focus {
    background-color: #dc2626 !important;
    border-color: #b91c1c !important;
    box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.25) !important;
    color: #ffffff !important;
}

body.dark-mode .btn-warning:hover,
body.dark-mode .btn-warning:focus {
    background-color: #d97706 !important;
    border-color: #b45309 !important;
    box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.25) !important;
    color: #ffffff !important;
}

body.dark-mode .btn-info:hover,
body.dark-mode .btn-info:focus {
    background-color: #0891b2 !important;
    border-color: #0e7490 !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.25) !important;
    color: #ffffff !important;
}

body.dark-mode .btn-light,
body.dark-mode .btn-default,
body.dark-mode .btn-outline-secondary {
    background-color: #1e2130 !important;
    border-color: #374151 !important;
    color: #cbd5e1 !important;
}

body.dark-mode .btn-light:hover,
body.dark-mode .btn-outline-secondary:hover,
body.dark-mode .btn-light:focus {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.2) !important;
}

/* Active / pressed buttons must keep readable contrast in dark mode */
body.dark-mode .btn:active,
body.dark-mode .btn.active,
body.dark-mode .btn:active:hover,
body.dark-mode .btn:active:focus,
body.dark-mode .btn:active.focus,
body.dark-mode .btn.active:hover,
body.dark-mode .btn.active:focus,
body.dark-mode .btn.active.focus {
    color: #f1f5f9 !important;
}

body.dark-mode .btn-default:active,
body.dark-mode .btn-default.active,
body.dark-mode .btn-default:active:hover,
body.dark-mode .btn-default:active:focus,
body.dark-mode .btn-default.active:hover,
body.dark-mode .btn-default.active:focus,
body.dark-mode .btn-light:active,
body.dark-mode .btn-light.active,
body.dark-mode .btn-light:active:hover,
body.dark-mode .btn-light:active:focus,
body.dark-mode .btn-light.active:hover,
body.dark-mode .btn-light.active:focus,
body.dark-mode .btn-secondary:active,
body.dark-mode .btn-secondary.active,
body.dark-mode .btn-secondary:active:hover,
body.dark-mode .btn-secondary:active:focus,
body.dark-mode .btn-outline-secondary:active,
body.dark-mode .btn-outline-secondary.active,
body.dark-mode .open > .dropdown-toggle.btn-default,
body.dark-mode .open > .dropdown-toggle.btn-light,
body.dark-mode .open > .dropdown-toggle.btn-secondary {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
    background-image: none !important;
}

body.dark-mode .btn-primary:active,
body.dark-mode .btn-primary.active,
body.dark-mode .btn-primary:active:hover,
body.dark-mode .btn-primary:active:focus,
body.dark-mode .open > .dropdown-toggle.btn-primary {
    background-color: var(--btn-primary-hover, var(--secondary, var(--accent-primary))) !important;
    border-color: color-mix(in srgb, var(--btn-primary-hover, var(--secondary, var(--accent-primary))) 70%, var(--border-strong)) !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.dark-mode .btn-success:active,
body.dark-mode .btn-success.active,
body.dark-mode .btn-success:active:hover,
body.dark-mode .btn-success:active:focus,
body.dark-mode .open > .dropdown-toggle.btn-success {
    background-color: #15803d !important;
    border-color: #166534 !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.dark-mode .btn-danger:active,
body.dark-mode .btn-danger.active,
body.dark-mode .btn-danger:active:hover,
body.dark-mode .btn-danger:active:focus,
body.dark-mode .open > .dropdown-toggle.btn-danger {
    background-color: #b91c1c !important;
    border-color: #991b1b !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.dark-mode .btn-warning:active,
body.dark-mode .btn-warning.active,
body.dark-mode .btn-warning:active:hover,
body.dark-mode .btn-warning:active:focus,
body.dark-mode .open > .dropdown-toggle.btn-warning {
    background-color: #b45309 !important;
    border-color: #92400e !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.dark-mode .btn-info:active,
body.dark-mode .btn-info.active,
body.dark-mode .btn-info:active:hover,
body.dark-mode .btn-info:active:focus,
body.dark-mode .open > .dropdown-toggle.btn-info {
    background-color: #0e7490 !important;
    border-color: #155e75 !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.dark-mode .btn span,
body.dark-mode .btn small,
body.dark-mode .tw-dw-btn span,
body.dark-mode .dt-button span {
    color: inherit !important;
}

body.dark-mode .dt-button:active,
body.dark-mode .dt-button.active,
body.dark-mode .dt-buttons .btn:active,
body.dark-mode .dt-buttons .btn.active,
body.dark-mode .buttons-csv:active,
body.dark-mode .buttons-excel:active,
body.dark-mode .buttons-print:active,
body.dark-mode .buttons-colvis:active,
body.dark-mode .buttons-pdf:active {
    background-color: #2d3147 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
    filter: none !important;
}

body.dark-mode .dt-button:hover,
body.dark-mode .dt-buttons .btn:hover,
body.dark-mode .buttons-csv:hover,
body.dark-mode .buttons-excel:hover,
body.dark-mode .buttons-print:hover,
body.dark-mode .buttons-colvis:hover,
body.dark-mode .buttons-pdf:hover {
    background-color: #2d3147 !important;
    border-color: #4b5563 !important;
    color: #f1f5f9 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    filter: brightness(1.2) !important;
}

body.dark-mode .btn-xs:hover,
body.dark-mode .btn-sm:hover,
body.dark-mode table .btn:hover {
    filter: brightness(1.3) !important;
    box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.3) !important;
}

/* Pagination: see public/css/theme-pagination.css (unified light/dark + scheme) */

/* ═══════════════════════════════════════════
   ADMINLTE TABS, MODAL BODIES & WHITE PATCHES
   ═══════════════════════════════════════════ */
body.dark-mode .nav-tabs-custom > .tab-content {
    background-color: var(--bg-card) !important;
    color: var(--text-primary);
}

body.dark-mode .nav-tabs-custom > .nav-tabs {
    border-bottom-color: var(--border-color);
}

body.dark-mode .nav-tabs-custom > .nav-tabs > li > a {
    color: var(--text-secondary);
    background: transparent;
}

body.dark-mode .nav-tabs-custom > .nav-tabs > li.active > a,
body.dark-mode .nav-tabs-custom > .nav-tabs > li.active > a:hover,
body.dark-mode .nav-tabs-custom > .nav-tabs > li.active > a:focus {
    background-color: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
    border-top-color: var(--accent-primary);
}

body.dark-mode .modal-body {
    background-color: var(--bg-modal);
}

body.dark-mode .btn.bg-white,
body.dark-mode .btn-default.bg-white,
body.dark-mode button.bg-white {
    background-color: var(--bg-input) !important;
    border-color: var(--border-input) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .bg-light {
    background-color: var(--bg-table-head) !important;
    color: var(--text-primary);
}

body.dark-mode .well {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .callout {
    background-color: var(--bg-table-head);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .callout-info,
body.dark-mode .callout-success,
body.dark-mode .callout-warning,
body.dark-mode .callout-danger {
    color: var(--text-primary);
}

/* Tailwind pastel utility backgrounds */
body.dark-mode .tw-bg-slate-50,
body.dark-mode .tw-bg-slate-100,
body.dark-mode .tw-bg-indigo-50,
body.dark-mode .tw-bg-violet-50,
body.dark-mode .tw-bg-amber-50,
body.dark-mode .tw-bg-emerald-50,
body.dark-mode .tw-bg-red-50,
body.dark-mode .tw-bg-blue-50,
body.dark-mode .tw-bg-purple-50,
body.dark-mode .tw-bg-orange-50,
body.dark-mode .tw-bg-yellow-50,
body.dark-mode .tw-bg-green-50,
body.dark-mode [class*="tw-bg-indigo-50"],
body.dark-mode [class*="tw-bg-violet-50"],
body.dark-mode [class*="tw-bg-amber-50"],
body.dark-mode [class*="tw-bg-emerald-50"],
body.dark-mode [class*="tw-bg-red-50"],
body.dark-mode [class*="tw-bg-blue-50"],
body.dark-mode [class*="tw-bg-purple-50"],
body.dark-mode [class*="tw-bg-slate-50"],
body.dark-mode [class*="tw-bg-slate-100"] {
    background-color: var(--bg-table-head) !important;
}

body.dark-mode .tw-dw-btn-outline {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .tw-dw-btn-outline.tw-dw-btn-info {
    color: var(--text-link) !important;
    border-color: var(--text-link) !important;
}

body.dark-mode .tw-dw-btn-outline.tw-dw-btn-success {
    color: var(--accent-success) !important;
    border-color: var(--accent-success) !important;
}

body.dark-mode .tw-dw-btn-outline.tw-dw-btn-error {
    color: var(--accent-danger) !important;
    border-color: var(--accent-danger) !important;
}

body.dark-mode .tw-dw-btn-neutral {
    background-color: var(--bg-table-head) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .panel,
body.dark-mode .panel-default {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .panel-default > .panel-heading {
    background-color: var(--bg-table-head);
    border-color: var(--border-color);
    color: var(--text-heading);
}

body.dark-mode .panel-body {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

body.dark-mode .list-group-item {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .list-group-item.active {
    background-color: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--text-on-dark);
}

body.dark-mode .external-event {
    background-color: var(--bg-table-head);
    color: var(--text-primary);
}

body.dark-mode .info-box-content {
    background-color: transparent;
    color: var(--text-primary);
}

body.dark-mode .direct-chat-messages,
body.dark-mode .direct-chat-contacts {
    background-color: var(--bg-card);
}

body.dark-mode .content-header {
    background-color: transparent;
}

body.dark-mode .main-footer {
    background-color: var(--bg-sidebar);
    border-top-color: var(--border-color);
    color: var(--text-secondary);
}

body.dark-mode .view_modal .modal-content {
    background: var(--bg-modal);
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* ═══════════════════════════════════════════
   HARD-CODED LIGHT BACKGROUNDS — global fixes
   (classes using !important or inline light colors)
   ═══════════════════════════════════════════ */

/* Tailwind !important utilities (beat non-important dark overrides) */
body.dark-mode [class*="!tw-bg-white"] {
    background-color: var(--bg-card) !important;
}

body.dark-mode [class*="!tw-ring-gray"] {
    --tw-ring-color: var(--border-color);
    border-color: var(--border-color);
}

body.dark-mode .hover\:tw-bg-gray-50:hover,
body.dark-mode [class*="hover:tw-bg-gray-50"]:hover {
    background-color: var(--bg-table-head) !important;
}

body.dark-mode .bg-lightgray,
body.dark-mode .bg-light-gray {
    background-color: var(--bg-table-head) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .option-div {
    background-color: var(--bg-table-head) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .option-div:hover {
    border-color: var(--border-input) !important;
}

body.dark-mode .option-div-group .option-div.active {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .payment_row,
body.dark-mode .payment_row .box-body,
body.dark-mode .payment_row.bg-lightgray,
body.dark-mode .box.payment_row,
body.dark-mode .box.payment_row.bg-lightgray {
    background-color: var(--bg-table-head) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode #modal_payment .modal-body,
body.dark-mode #card_details_modal .modal-body,
body.dark-mode #card_details_modal .modal-content,
body.dark-mode #card_details_modal .modal-header {
    background-color: var(--bg-modal) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .box.bg-orange,
body.dark-mode .bg-orange.box {
    background-color: #c87f0a !important;
    color: #fff !important;
    border-color: #a66a08 !important;
}

body.dark-mode .box.bg-orange .box-body,
body.dark-mode .box.bg-orange strong,
body.dark-mode .box.bg-orange .lead,
body.dark-mode .box.bg-orange .text-bold,
body.dark-mode .box.bg-orange span:not(.badge):not(.label) {
    color: #fff !important;
}

body.dark-mode .box.bg-orange hr {
    border-color: rgba(255, 255, 255, 0.35) !important;
}

body.dark-mode .tw-bg-green-100,
body.dark-mode .tw-bg-yellow-100,
body.dark-mode .tw-bg-red-100,
body.dark-mode .tw-bg-blue-100,
body.dark-mode .tw-bg-orange-100,
body.dark-mode [class*="tw-bg-green-100"],
body.dark-mode [class*="tw-bg-yellow-100"],
body.dark-mode [class*="tw-bg-red-100"],
body.dark-mode [class*="tw-bg-blue-100"],
body.dark-mode [class*="tw-bg-orange-100"] {
    background-color: var(--bg-table-head) !important;
}

body.dark-mode .app-header-user-dropdown-menu,
body.dark-mode .app-header-toolbar .tw-dw-menu.tw-bg-white,
body.dark-mode .app-header-toolbar ul.tw-bg-white {
    background-color: var(--bg-dropdown) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .app-header-toolbar .tw-dw-menu a,
body.dark-mode .app-header-user-dropdown-menu a {
    color: var(--text-secondary) !important;
}

body.dark-mode .app-header-toolbar .tw-dw-menu a:hover,
body.dark-mode .app-header-user-dropdown-menu a:hover {
    background-color: var(--bg-table-head) !important;
    color: var(--text-heading) !important;
}

body.dark-mode .app-header-dropdown-menu-title span,
body.dark-mode .app-header-dropdown-menu-title p {
    color: var(--text-muted) !important;
}

body.dark-mode .app-header-dropdown-menu-title p.tw-text-gray-900 {
    color: var(--text-heading) !important;
}

body.dark-mode .dataTables_processing {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .swal-modal {
    background: var(--bg-modal) !important;
}

body.dark-mode .swal-title {
    color: var(--text-heading) !important;
}

body.dark-mode .swal-text {
    color: var(--text-secondary) !important;
}

body.dark-mode .bootbox .modal-content {
    background: var(--bg-modal) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .bootstrap-datetimepicker-widget,
body.dark-mode .bootstrap-datetimepicker-widget table td,
body.dark-mode .bootstrap-datetimepicker-widget table th {
    background-color: var(--bg-dropdown) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .bootstrap-datetimepicker-widget table td.active,
body.dark-mode .bootstrap-datetimepicker-widget table td.active:hover {
    background-color: var(--accent-primary) !important;
    color: #fff !important;
}

body.dark-mode .kanban-board,
body.dark-mode .kanban-item {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .kanban-board header {
    background-color: var(--bg-table-head) !important;
    color: var(--text-heading) !important;
}

body.dark-mode .file-error-message {
    background-color: rgba(220, 53, 69, 0.15) !important;
    border-color: var(--accent-danger) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .file-caption,
body.dark-mode .file-preview-frame,
body.dark-mode .kv-file-content,
body.dark-mode .file-preview {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .dropdown-menu > li > a {
    color: var(--text-primary) !important;
}

body.dark-mode .dropdown-menu > li > a:hover,
body.dark-mode .dropdown-menu > li > a:focus {
    background-color: var(--bg-table-head) !important;
    color: var(--text-heading) !important;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--bg-table-row) !important;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(even) {
    background-color: var(--bg-table-alt) !important;
}

body.dark-mode .bg-gray,
body.dark-mode .bg-gray-light {
    background-color: var(--bg-table-head) !important;
    color: var(--text-primary) !important;
}

/* Business Settings V2 */
body.dark-mode .business-settings-v2 .settings-card,
body.dark-mode .business-settings-v2 .settings-card-header,
body.dark-mode .business-settings-v2 .settings-card-body {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode .business-settings-v2 .settings-card-header strong,
body.dark-mode .business-settings-v2 .settings-card-header {
    color: var(--text-heading);
}

body.dark-mode .business-settings-v2 .settings-search .form-control {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

/* Business Settings tab layouts */
body.dark-mode[class*="business-settings-layout-"]:not(.business-settings-layout-v2) .pos-tab-container {
    border-color: var(--border-color);
    background: var(--bg-card);
}

body.dark-mode[class*="business-settings-layout-"]:not(.business-settings-layout-v2) .pos-tab-container .pos-tab-menu {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

body.dark-mode[class*="business-settings-layout-"]:not(.business-settings-layout-v2) .pos-tab-container .pos-tab-menu .list-group-item {
    background: transparent;
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode.business-settings-layout-modern .pos-tab-container .pos-tab-menu .list-group-item.active {
    color: var(--btn-text-on-filled, #ffffff) !important;
}

body.dark-mode.business-settings-layout-minimal .pos-tab-container .pos-tab-menu .list-group-item.active {
    background: color-mix(in srgb, var(--accent-color) 15%, var(--bg-card));
    color: var(--text-primary);
}

body.dark-mode[class*="business-settings-layout-"]:not(.business-settings-layout-v2) .pos-tab-container .pos-tab {
    background: var(--bg-card);
    color: var(--text-primary);
}

/* Hospital module navigation */
body.dark-mode .hospital-module-nav .hospital-nav-bar {
    background: var(--bg-card);
    border-color: var(--border-color);
}

body.dark-mode .hospital-module-nav .hospital-nav-brand,
body.dark-mode .hospital-module-nav .navbar-nav > li > a {
    color: var(--text-heading);
}

body.dark-mode .hospital-module-nav .navbar-nav > .active > a,
body.dark-mode .hospital-module-nav .navbar-nav > li > a:hover,
body.dark-mode .hospital-module-nav .navbar-nav > li > a:focus {
    color: var(--text-link);
    background: var(--bg-table-head);
}

body.dark-mode .hospital-module-nav .navbar-toggle .icon-bar {
    background-color: var(--text-heading);
}

.hospital-module-nav .hospital-nav-bar {
    background: var(--bg-card, #fff);
    border-color: var(--border-color, #e5e7eb);
}

.hospital-module-nav .hospital-nav-brand,
.hospital-module-nav .navbar-nav > li > a {
    color: var(--text-heading, #1a1a2e);
}

body.dark-mode .hospital-stat-title,
body.dark-mode .hospital-stat-value {
    color: var(--text-heading);
}

/* Module sub-navigation bars (CMS, Superadmin, Accounting, etc.) */
body.dark-mode section.no-print nav.navbar-default,
body.dark-mode nav.navbar.navbar-default.bg-white {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary);
}

body.dark-mode section.no-print nav.navbar-default .navbar-brand,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-brand {
    color: var(--text-heading);
}

body.dark-mode section.no-print nav.navbar-default .navbar-nav > li > a,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > li > a {
    color: var(--text-heading);
}

body.dark-mode section.no-print nav.navbar-default .navbar-nav > .active > a,
body.dark-mode section.no-print nav.navbar-default .navbar-nav > .active > a:hover,
body.dark-mode section.no-print nav.navbar-default .navbar-nav > .active > a:focus,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > .active > a,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > .active > a:hover,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > .active > a:focus {
    color: var(--text-link);
    background-color: var(--bg-table-head);
}

body.dark-mode section.no-print nav.navbar-default .navbar-nav > li > a:hover,
body.dark-mode section.no-print nav.navbar-default .navbar-nav > li > a:focus,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > li > a:hover,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-nav > li > a:focus {
    color: var(--text-link);
    background-color: var(--bg-table-head);
}

body.dark-mode section.no-print nav.navbar-default .navbar-toggle .icon-bar,
body.dark-mode nav.navbar.navbar-default.bg-white .navbar-toggle .icon-bar {
    background-color: var(--text-heading);
}

/* Filter panel component */
body.dark-mode .pf-btn:hover {
    background-color: var(--bg-table-head) !important;
}

/* Notifications dropdown */
body.dark-mode .notifications-menu .dropdown-menu[class*="!tw-bg-white"] {
    background-color: var(--bg-dropdown) !important;
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* Code / pre blocks in modals */
body.dark-mode .dark-mode-code-block {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Print protection moved to print-light.css (loaded globally) */

/* ═══════════════════════════════════════════
   AUTH PAGES (login, register, password reset)
   ═══════════════════════════════════════════ */
body.dark-mode.auth-page .tw-text-\[\#1e1e1e\],
body.dark-mode.auth-page .tw-text-black {
    color: var(--text-heading) !important;
}

body.dark-mode.auth-page .tw-text-gray-500,
body.dark-mode.auth-page .tw-text-gray-600 {
    color: var(--text-secondary) !important;
}

body.dark-mode.auth-page .tw-bg-white,
body.dark-mode.auth-page [class*="tw-bg-white"] {
    background-color: var(--bg-card) !important;
}

body.dark-mode.auth-page [class*="tw-ring-gray-200"] {
    --tw-ring-color: var(--border-color) !important;
}

body.dark-mode.auth-page .tw-border-\[\#D1D5DA\],
body.dark-mode.auth-page input.form-control,
body.dark-mode.auth-page .form-control {
    border-color: var(--border-color) !important;
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
}

body.dark-mode.auth-page input.form-control::placeholder,
body.dark-mode.auth-page .form-control::placeholder {
    color: var(--text-muted) !important;
}

body.dark-mode.auth-page .show_hide_icon svg {
    stroke: var(--text-secondary) !important;
}

body.dark-mode.auth-page .wizard > .content {
    background-color: var(--bg-card) !important;
}

body.dark-mode.auth-page .wizard > .steps .disabled a,
body.dark-mode.auth-page .wizard > .steps .disabled a:hover,
body.dark-mode.auth-page .wizard > .steps .disabled a:active {
    background: var(--bg-input) !important;
    color: var(--text-muted) !important;
}

body.dark-mode.auth-page .wizard > .steps .done a,
body.dark-mode.auth-page .wizard > .steps .done a:hover,
body.dark-mode.auth-page .wizard > .steps .done a:active {
    background: var(--bg-table-head) !important;
    color: var(--text-primary) !important;
}

body.dark-mode.auth-page .wizard > .steps .current a,
body.dark-mode.auth-page .wizard > .steps .current a:hover,
body.dark-mode.auth-page .wizard > .steps .current a:active {
    background: var(--theme-800, #0040c1) !important;
    color: var(--text-on-dark, #fff) !important;
}

body.dark-mode.auth-page .wizard > .actions a,
body.dark-mode.auth-page .wizard > .actions a:hover,
body.dark-mode.auth-page .wizard > .actions a:active,
body.dark-mode.auth-page .wizard > .actions .disabled a,
body.dark-mode.auth-page .wizard > .actions .disabled a:hover,
body.dark-mode.auth-page .wizard > .actions .disabled a:active {
    background: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode.auth-page .wizard legend,
body.dark-mode.auth-page .wizard legend.text-black,
body.dark-mode.auth-page .wizard > .content label {
    color: var(--text-label) !important;
}

body.dark-mode.auth-page .file-input,
body.dark-mode.auth-page .file-input .file-caption,
body.dark-mode.auth-page .file-input .btn-file {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode.auth-page .box,
body.dark-mode.auth-page .box-solid {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary);
}

body.dark-mode.auth-page .alert-info {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* InfobMS auth shell — wizard & top bar */
body.dark-mode.auth-page .auth-top-bar {
    background: linear-gradient(180deg, rgba(13, 13, 13, 0.94) 0%, rgba(13, 13, 13, 0.6) 80%, transparent 100%);
}

body.dark-mode.auth-page .auth-top-bar a,
body.dark-mode.auth-page .auth-top-bar summary {
    color: #ffffff !important;
}

body.dark-mode.auth-page .auth-top-bar__chip {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.25);
}

body.dark-mode.auth-page .auth-top-bar__logo {
    background: rgba(255, 255, 255, 0.08);
}

body.dark-mode.auth-page .register-content .wizard > .content {
    background: transparent !important;
}

body.dark-mode.auth-page .form-login .btn-primary.auth-submit-btn {
    background: #FE9F43;
    border-color: #FE9F43;
    color: #ffffff;
}
