/* ════════════════════════════════════════════════════════════════════
   GLOBAL DARK MODE OVERRIDES — StationMGT / PGL ERP
   Loaded AFTER all theme CSS so it wins specificity ties.
   Covers ALL pages: dashboard, forms, tables, modals, auth, etc.
   ════════════════════════════════════════════════════════════════════ */

html[data-bs-theme="dark"] {

    /* ═══ COLOR PALETTE ═══ */
    --dm-bg-primary: #2d333c;
    --dm-bg-secondary: #313a46;
    --dm-bg-tertiary: #363f4a;
    --dm-bg-elevated: #3c4655;
    --dm-text-primary: #ffffff;
    --dm-text-secondary: #8391a2;
    --dm-text-muted: #6c7a8d;
    --dm-border: #464f5b;
    --dm-border-light: #3c4655;
    --dm-accent: #4361ee;
    --dm-success: #10b981;
    --dm-warning: #f59e0b;
    --dm-danger: #ef4444;
    --dm-info: #3b82f6;

    /* ═══ 1. BODY & BASE ═══ */
    body {
        color: var(--dm-text-primary) !important;
        background-color: var(--dm-bg-primary) !important;
    }

    /* ═══ 2. TEXT COLOR OVERRIDES ═══ */
    .text-dark { color: var(--dm-text-primary) !important; }
    .text-black { color: #ffffff !important; }
    .text-body { color: var(--dm-text-primary) !important; }
    .text-secondary { color: var(--dm-text-secondary) !important; }
    .text-muted { color: var(--dm-text-secondary) !important; }
    .text-gray { color: var(--dm-text-secondary) !important; }
    .text-gray-dark { color: var(--dm-text-primary) !important; }
    .text-light { color: var(--dm-text-secondary) !important; }
    .text-white-50 { color: rgba(255,255,255,0.6) !important; }

    /* Keep semantic colors but brighten for dark bg */
    .text-success { color: #34d399 !important; }
    .text-danger { color: #f87171 !important; }
    .text-warning { color: #fbbf24 !important; }
    .text-info { color: #60a5fa !important; }
    .text-primary { color: #818cf8 !important; }

    /* ═══ 3. INLINE STYLE OVERRIDES ═══ */
    /* Dark text colors → light */
    [style*="color:#000"], [style*="color: #000"],
    [style*="color:black"], [style*="color: black"],
    [style*="color:#000000"], [style*="color: #000000"],
    [style*="color:#111"], [style*="color: #111"],
    [style*="color:#1a1a1a"], [style*="color: #1a1a1a"],
    [style*="color:#1e293b"], [style*="color: #1e293b"],
    [style*="color:#212529"], [style*="color: #212529"],
    [style*="color:#222"], [style*="color: #222"],
    [style*="color:#222222"], [style*="color: #222222"],
    [style*="color:#2d3748"], [style*="color: #2d3748"],
    [style*="color:#2f2f2f"], [style*="color: #2f2f2f"],
    [style*="color:#333"], [style*="color: #333"],
    [style*="color:#333333"], [style*="color: #333333"],
    [style*="color:#334155"], [style*="color: #334155"],
    [style*="color:#343a40"], [style*="color: #343a40"],
    [style*="color:#444"], [style*="color: #444"],
    [style*="color:#444444"], [style*="color: #444444"],
    [style*="color:#475569"], [style*="color: #475569"],
    [style*="color:#495057"], [style*="color: #495057"],
    [style*="color:#555"], [style*="color: #555"],
    [style*="color:#555555"], [style*="color: #555555"],
    [style*="color:#666"], [style*="color: #666"],
    [style*="color:#666666"], [style*="color: #666666"],
    [style*="color:#6c757d"], [style*="color: #6c757d"],
    [style*="color:#64748b"], [style*="color: #64748b"],
    [style*="color:#718096"], [style*="color: #718096"],
    [style*="color:rgb(0,0,0"], [style*="color: rgb(0, 0, 0"],
    [style*="color:rgb(0,"], [style*="color: rgb(0, "],
    [style*="color:rgb(33,"], [style*="color: rgb(33, "],
    [style*="color:rgb(51,"], [style*="color: rgb(51, "],
    [style*="color:rgb(52,"], [style*="color: rgb(52, "],
    [style*="color:#0f172a"], [style*="color: #0f172a"],
    [style*="color:#15243b"], [style*="color: #15243b"],
    [style*="color:#1b2a4a"], [style*="color: #1b2a4a"],
    [style*="color:#272d3b"], [style*="color: #272d3b"],
    [style*="color:#28304e"], [style*="color: #28304e"],
    [style*="color:#3c4655"], [style*="color: #3c4655"],
    [style*="color:#324158"], [style*="color: #324158"] {
        color: var(--dm-text-primary) !important;
    }

    /* Medium grays → secondary text */
    [style*="color:#94a3b8"], [style*="color: #94a3b8"],
    [style*="color:#adb5bd"], [style*="color: #adb5bd"],
    [style*="color:#9089a0"], [style*="color: #9089a0"] {
        color: var(--dm-text-secondary) !important;
    }

    /* ═══ 4. BACKGROUND OVERRIDES ═══ */
    [style*="background-color:#ffffff"], [style*="background-color: #ffffff"],
    [style*="background:#ffffff"], [style*="background: #ffffff"],
    [style*="background-color:white"], [style*="background-color: white"],
    [style*="background:white"], [style*="background: white"],
    [style*="background-color:#fff"], [style*="background-color: #fff"],
    [style*="background:#fff"], [style*="background: #fff"] {
        background-color: var(--dm-bg-secondary) !important;
    }

    [style*="background-color:#f8fafc"], [style*="background-color: #f8fafc"],
    [style*="background:#f8fafc"], [style*="background: #f8fafc"],
    [style*="background-color:#f1f5f9"], [style*="background-color: #f1f5f9"],
    [style*="background:#f1f5f9"], [style*="background: #f1f5f9"],
    [style*="background-color:#eef2f6"], [style*="background-color: #eef2f6"],
    [style*="background:#eef2f6"], [style*="background: #eef2f6"],
    [style*="background-color:#f4f7ff"], [style*="background-color: #f4f7ff"],
    [style*="background:#f4f7ff"], [style*="background: #f4f7ff"],
    [style*="background-color:#f7f8fc"], [style*="background-color: #f7f8fc"],
    [style*="background:#f7f8fc"], [style*="background: #f7f8fc"],
    [style*="background-color:#f0f2f7"], [style*="background-color: #f0f2f7"],
    [style*="background:#f0f2f7"], [style*="background: #f0f2f7"],
    [style*="background-color:#ffffff"], [style*="background-color: #ffffff"],
    [style*="background:#ffffff"], [style*="background: #ffffff"],
    [style*="background-color:#f5f5f5"], [style*="background-color: #f5f5f5"],
    [style*="background:#f5f5f5"], [style*="background: #f5f5f5"],
    [style*="background-color:#fafafa"], [style*="background-color: #fafafa"],
    [style*="background:#fafafa"], [style*="background: #fafafa"],
    [style*="background-color:#eef0f4"], [style*="background-color: #eef0f4"],
    [style*="background:#eef0f4"], [style*="background: #eef0f4"] {
        background-color: var(--dm-bg-primary) !important;
    }

    /* Light gradient backgrounds */
    [style*="background: linear-gradient"][style*="255, 255, 255"],
    [style*="background:linear-gradient"][style*="255,255,255"],
    [style*="background: linear-gradient"][style*="#ffffff"],
    [style*="background:linear-gradient"][style*="#ffffff"] {
        background: var(--dm-bg-secondary) !important;
    }

    /* ═══ 5. BORDER OVERRIDES ═══ */
    [style*="border-color:#e2e8f0"], [style*="border-color: #e2e8f0"],
    [style*="border-color:#f1f5f9"], [style*="border-color: #f1f5f9"],
    [style*="border-color:#ffffff"], [style*="border-color: #ffffff"],
    [style*="border-color:#dee2e6"], [style*="border-color: #dee2e6"],
    [style*="border-color:#e8e8e8"], [style*="border-color: #e8e8e8"],
    [style*="border-color:#eee"], [style*="border-color: #eee"],
    [style*="border:1px solid #e2e8f0"], [style*="border: 1px solid #e2e8f0"],
    [style*="border:1px solid #f1f5f9"], [style*="border: 1px solid #f1f5f9"],
    [style*="border:1px solid #ffffff"], [style*="border: 1px solid #ffffff"],
    [style*="border:1px solid #dee2e6"], [style*="border: 1px solid #dee2e6"],
    [style*="border:1px solid #eee"], [style*="border: 1px solid #eee"],
    [style*="border:1px solid #ddd"], [style*="border: 1px solid #ddd"],
    [style*="border:1px solid #e8e8e8"], [style*="border: 1px solid #e8e8e8"] {
        border-color: var(--dm-border) !important;
    }

    [style*="border:1px solid #2f2f2f"], [style*="border: 1px solid #2f2f2f"],
    [style*="border:1px solid #333"], [style*="border: 1px solid #333"] {
        border-color: var(--dm-border-light) !important;
    }

    /* ═══ 6. CARDS ═══ */
    .card {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .card-header {
        background-color: var(--dm-bg-tertiary) !important;
        border-bottom-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .card-footer {
        background-color: var(--dm-bg-tertiary) !important;
        border-top-color: var(--dm-border) !important;
    }
    .card-body { color: var(--dm-text-primary) !important; }
    .card-title, .card-subtitle { color: var(--dm-text-primary) !important; }
    .card-text { color: var(--dm-text-secondary) !important; }

    /* ═══ 7. TABLES ═══ */
    .table {
        --bs-table-color: var(--dm-text-primary);
        --bs-table-bg: transparent;
        --bs-table-border-color: var(--dm-border);
        color: var(--dm-text-primary) !important;
    }
    .table > :not(caption) > * > * {
        background-color: transparent !important;
        color: var(--dm-text-primary) !important;
        border-bottom-color: var(--dm-border) !important;
    }
    .table thead th {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
        border-bottom-color: var(--dm-border) !important;
    }
    .table tbody tr:hover {
        background-color: var(--dm-bg-tertiary) !important;
    }
    .table-striped > tbody > tr:nth-of-type(odd) > * {
        background-color: rgba(255,255,255,0.02) !important;
    }
    .table-bordered { border-color: var(--dm-border) !important; }
    .table-dark {
        --bs-table-bg: var(--dm-bg-elevated);
        color: var(--dm-text-primary) !important;
    }

    /* DataTables dark mode */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        color: var(--dm-text-secondary) !important;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button {
        color: var(--dm-text-secondary) !important;
        border: 1px solid var(--dm-border) !important;
        background: transparent !important;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        background: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
        border-color: var(--dm-border) !important;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button.current,
    .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
        background: var(--dm-accent) !important;
        color: #fff !important;
        border-color: var(--dm-accent) !important;
    }

    /* ═══ 8. FORMS ═══ */
    .form-control, .form-select, .form-control:disabled, .form-control[readonly] {
        background-color: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .form-control::placeholder { color: var(--dm-text-muted) !important; }
    .form-control:focus, .form-select:focus {
        background-color: var(--dm-bg-primary) !important;
        border-color: var(--dm-accent) !important;
        color: var(--dm-text-primary) !important;
        box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.15) !important;
    }
    .form-label, .form-text { color: var(--dm-text-secondary) !important; }
    .input-group-text {
        background-color: var(--dm-bg-tertiary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-secondary) !important;
    }
    .input-group .form-control { border-color: var(--dm-border) !important; }

    /* Floating labels */
    .form-floating > label {
        color: var(--dm-text-muted) !important;
    }
    .form-floating input.form-control:focus ~ label,
    .form-floating input.form-control:not(:placeholder-shown) ~ label,
    .form-floating select.form-select:focus ~ label,
    .form-floating select.form-select:not([value=""]) ~ label,
    .form-floating textarea.form-control:focus ~ label,
    .form-floating textarea.form-control:not(:placeholder-shown) ~ label {
        color: #fff !important;
    }

    /* Checkboxes & radios */
    .form-check-input {
        background-color: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
    }
    .form-check-input:checked {
        background-color: var(--dm-accent) !important;
        border-color: var(--dm-accent) !important;
    }
    .form-check-label { color: var(--dm-text-primary) !important; }

    /* Select2 dark mode */
    .select2-container--default .select2-selection--single,
    .select2-container--default .select2-selection--multiple {
        background-color: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: var(--dm-text-primary) !important;
    }
    .select2-dropdown {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        background-color: var(--dm-accent) !important;
        color: #fff !important;
    }
    .select2-container--default .select2-results__option[aria-selected=true] {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 9. MODALS ═══ */
    .modal-content {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .modal-header {
        background-color: var(--dm-bg-tertiary) !important;
        border-bottom-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .modal-title { color: var(--dm-text-primary) !important; }
    .modal-body { color: var(--dm-text-primary) !important; }
    .modal-footer {
        background-color: var(--dm-bg-tertiary) !important;
        border-top-color: var(--dm-border) !important;
    }
    .modal-backdrop { opacity: 0.7; }
    .btn-close {
        filter: invert(1) grayscale(100%) brightness(200%);
    }

    /* ═══ 10. DROPDOWNS ═══ */
    .dropdown-menu {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
    }
    .dropdown-item {
        color: var(--dm-text-primary) !important;
    }
    .dropdown-item:hover, .dropdown-item:focus {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }
    .dropdown-item.active, .dropdown-item:active {
        background-color: var(--dm-accent) !important;
        color: #fff !important;
    }
    .dropdown-divider { border-color: var(--dm-border) !important; }
    .dropdown-header { color: var(--dm-text-secondary) !important; }
    .dropdown-item .text-muted, .dropdown-item .text-secondary {
        color: var(--dm-text-secondary) !important;
    }

    /* ═══ 11. NAV & TABS ═══ */
    .nav-tabs {
        border-bottom-color: var(--dm-border) !important;
    }
    .nav-tabs .nav-link {
        color: var(--dm-text-secondary) !important;
        border-color: transparent !important;
    }
    .nav-tabs .nav-link:hover {
        border-color: transparent !important;
        color: var(--dm-text-primary) !important;
        background-color: var(--dm-bg-tertiary) !important;
    }
    .nav-tabs .nav-link.active {
        background-color: var(--dm-bg-secondary) !important;
        color: var(--dm-text-primary) !important;
        border-color: var(--dm-border) var(--dm-border) transparent !important;
    }
    .nav-pills .nav-link {
        color: var(--dm-text-secondary) !important;
    }
    .nav-pills .nav-link.active {
        background-color: var(--dm-accent) !important;
        color: #fff !important;
    }

    /* ═══ 12. BADGES ═══ */
    .badge { color: #fff !important; }
    .badge.bg-light, .badge.text-dark {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }
    .badge.text-bg-light {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 13. ALERTS ═══ */
    .alert {
        border-color: var(--dm-border) !important;
    }
    .alert-info {
        background-color: rgba(59, 130, 246, 0.15) !important;
        color: #93c5fd !important;
        border-color: rgba(59, 130, 246, 0.3) !important;
    }
    .alert-success {
        background-color: rgba(16, 185, 129, 0.15) !important;
        color: #6ee7b7 !important;
        border-color: rgba(16, 185, 129, 0.3) !important;
    }
    .alert-warning {
        background-color: rgba(245, 158, 11, 0.15) !important;
        color: #fcd34d !important;
        border-color: rgba(245, 158, 11, 0.3) !important;
    }
    .alert-danger {
        background-color: rgba(239, 68, 68, 0.15) !important;
        color: #fca5a5 !important;
        border-color: rgba(239, 68, 68, 0.3) !important;
    }

    /* ═══ 14. BUTTONS ═══ */
    .btn-light {
        background-color: var(--dm-bg-tertiary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .btn-light:hover {
        background-color: var(--dm-bg-elevated) !important;
        color: var(--dm-text-primary) !important;
    }
    .btn-outline-dark {
        color: var(--dm-text-primary) !important;
        border-color: var(--dm-border) !important;
    }
    .btn-outline-dark:hover {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }
    .btn-outline-secondary {
        color: var(--dm-text-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .btn-link { color: #818cf8 !important; }

    /* ═══ 15. ACCORDIONS ═══ */
    .accordion-item {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .accordion-button {
        background-color: var(--dm-bg-secondary) !important;
        color: var(--dm-text-primary) !important;
    }
    .accordion-button:not(.collapsed) {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
        box-shadow: inset 0 -1px 0 var(--dm-border) !important;
    }
    .accordion-body { color: var(--dm-text-secondary) !important; }
    .accordion-button::after {
        filter: invert(1) grayscale(100%) brightness(150%);
    }

    /* ═══ 16. LIST GROUPS ═══ */
    .list-group-item {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .list-group-item:hover {
        background-color: var(--dm-bg-tertiary) !important;
    }
    .list-group-item.active {
        background-color: var(--dm-accent) !important;
        border-color: var(--dm-accent) !important;
        color: #fff !important;
    }

    /* ═══ 17. PROGRESS BARS ═══ */
    .progress {
        background-color: var(--dm-bg-primary) !important;
        border: 1px solid var(--dm-border);
    }

    /* ═══ 18. PAGE TITLE ═══ */
    .page-title-box .page-title { color: var(--dm-text-primary) !important; }
    .page-title-box .breadcrumb-item a { color: var(--dm-text-secondary) !important; }
    .breadcrumb-item.active { color: var(--dm-text-primary) !important; }
    .breadcrumb-item + .breadcrumb-item::before { color: var(--dm-text-muted) !important; }

    /* ═══ 19. SIDEBAR ═══ */
    .leftside-menu {
        background-color: var(--dm-bg-secondary) !important;
        border-right-color: var(--dm-border) !important;
    }
    .side-nav-link {
        color: var(--dm-text-secondary) !important;
    }
    .side-nav-link:hover {
        color: var(--dm-text-primary) !important;
        background-color: var(--dm-bg-tertiary) !important;
    }
    .side-nav-item.active .side-nav-link {
        color: #fff !important;
        background-color: var(--dm-accent) !important;
    }
    .side-nav-second-level li a {
        color: var(--dm-text-secondary) !important;
    }
    .side-nav-second-level li a:hover {
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 20. TOPBAR ═══ */
    .navbar-custom {
        background-color: var(--dm-bg-secondary) !important;
        border-bottom-color: var(--dm-border) !important;
    }
    .topbar .nav-link { color: var(--dm-text-secondary) !important; }
    .topbar .nav-link:hover { color: var(--dm-text-primary) !important; }
    .nav-user .user-name { color: var(--dm-text-primary) !important; }

    /* ═══ 21. FOOTER ═══ */
    .footer {
        background-color: var(--dm-bg-secondary) !important;
        border-top-color: var(--dm-border) !important;
        color: var(--dm-text-secondary) !important;
    }
    .footer a { color: var(--dm-text-secondary) !important; }
    .footer a:hover { color: var(--dm-text-primary) !important; }

    /* ═══ 22. OFFCANVAS ═══ */
    .offcanvas {
        background-color: var(--dm-bg-secondary) !important;
        color: var(--dm-text-primary) !important;
    }
    .offcanvas-header {
        border-bottom-color: var(--dm-border) !important;
    }

    /* ═══ 23. TOOLTIPS & POPOVERS ═══ */
    .tooltip-inner {
        background-color: var(--dm-bg-elevated) !important;
        color: var(--dm-text-primary) !important;
    }
    .popover {
        --bs-popover-bg: var(--dm-bg-secondary);
        --bs-popover-border-color: var(--dm-border);
        --bs-popover-body-color: var(--dm-text-primary);
        --bs-popover-header-bg: var(--dm-bg-tertiary);
        --bs-popover-header-color: var(--dm-text-primary);
    }

    /* ═══ 24. SWEETALERT2 ═══ */
    .swal2-popup {
        background-color: var(--dm-bg-secondary) !important;
        color: var(--dm-text-primary) !important;
    }
    .swal2-title { color: var(--dm-text-primary) !important; }
    .swal2-html-container { color: var(--dm-text-secondary) !important; }
    .swal2-input, .swal2-textarea {
        background-color: var(--dm-bg-primary) !important;
        color: var(--dm-text-primary) !important;
        border-color: var(--dm-border) !important;
    }

    /* ═══ 25. CHARTS ═══ */
    .apexcharts-canvas text, .apexcharts-text {
        fill: var(--dm-text-secondary) !important;
    }
    .apexcharts-legend-text {
        color: var(--dm-text-secondary) !important;
    }
    .apexcharts-gridline {
        stroke: var(--dm-border) !important;
    }
    .apexcharts-xaxis, .apexcharts-yaxis {
        stroke: var(--dm-border) !important;
    }

    /* ═══ 26. PAGE-SPECIFIC COMPONENTS ═══ */

    /* Dashboard hero */
    .dash-hero {
        background: linear-gradient(135deg, #1a2332 0%, #243044 100%) !important;
    }
    .dash-hero::before {
        background: radial-gradient(circle, rgba(67, 97, 238, 0.15) 0%, transparent 70%) !important;
    }
    .hero-title, .hero-sub { color: #fff !important; }
    .hero-badge {
        background: rgba(255,255,255,0.1) !important;
        color: #fff !important;
    }

    /* Stat cards */
    .stat-card-pms, .stat-card-ago, .stat-card-rev, .stat-card-pro,
    .stat-card-sales, .stat-card-var {
        background: linear-gradient(135deg, var(--dm-bg-secondary) 0%, var(--dm-bg-primary) 100%) !important;
        border-color: var(--dm-border) !important;
    }
    .stat-card-premium {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }
    .stat-card-premium:hover {
        border-color: var(--dm-accent) !important;
    }
    .stat-value { color: var(--dm-text-primary) !important; }
    .stat-label { color: var(--dm-text-secondary) !important; }

    /* Glass panels */
    .glass-panel {
        background: rgba(49, 58, 70, 0.8) !important;
        backdrop-filter: blur(10px);
        border-color: rgba(70, 79, 91, 0.5) !important;
        color: var(--dm-text-primary) !important;
    }
    .panel-title { color: var(--dm-text-primary) !important; }

    /* Premium tables */
    .table-ultra th {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
        border-bottom-color: var(--dm-border) !important;
    }
    .table-ultra tr td {
        border-bottom-color: var(--dm-border-light) !important;
        color: var(--dm-text-primary) !important;
    }
    .table-ultra tr:hover td {
        background-color: var(--dm-bg-tertiary) !important;
    }

    /* Expense rows */
    .expense-row {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .expense-row:hover {
        background: var(--dm-bg-tertiary) !important;
    }

    /* Premium stat cards (various pages) */
    .p-stat-card, .fc-card, .inv-card, .sr-section, .summary-card,
    .customer-hero, .fc-hero, .inv-hero, .sr-hero {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }

    /* Buttons */
    .btn-ultra-primary {
        background: var(--dm-accent) !important;
        color: #fff !important;
    }
    .btn-hero {
        background: rgba(255,255,255,0.1) !important;
        color: #fff !important;
        border-color: rgba(255,255,255,0.2) !important;
    }

    /* Progress bars */
    .progress-slim {
        background-color: var(--dm-bg-primary) !important;
    }

    /* Icon boxes */
    .icon-box-new {
        background: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
    }

    /* Background utility classes */
    .bg-pms, .bg-ago, .bg-rev, .bg-pro, .bg-sales, .bg-var {
        opacity: 0.8;
    }

    /* Page loader */
    .page-loader {
        background: var(--dm-bg-primary) !important;
    }

    /* Neumorphism */
    .neu-card, .neu-btn {
        background: var(--dm-bg-primary) !important;
        color: var(--dm-text-primary) !important;
        box-shadow: 8px 8px 16px #1e2329, -8px -8px 16px #3c4655 !important;
    }

    /* Sales report sections */
    .sr-section {
        background: var(--dm-bg-secondary) !important;
        border-color: rgba(233, 236, 239, 0.06) !important;
    }
    .sr-section-header {
        background: linear-gradient(to right, var(--dm-bg-primary), var(--dm-bg-tertiary)) !important;
        border-bottom-color: var(--dm-border) !important;
    }

    /* Premium table */
    .table-premium {
        background: var(--dm-bg-secondary) !important;
    }

    /* Upload zone */
    .upload-zone {
        background: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
    }

    /* Distribution hero */
    .distro-hero {
        background: var(--dm-bg-secondary) !important;
        color: var(--dm-text-primary) !important;
    }

    /* Station rows */
    .station-row {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }

    /* ═══ 27. COUNTRY SELECTOR ═══ */
    .country-selector-btn:hover {
        background: rgba(255, 255, 255, 0.08) !important;
    }
    .country-selector-menu {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .country-search-box {
        border-color: var(--dm-border) !important;
    }
    .country-item:hover, .country-item.active {
        background: rgba(67, 97, 238, 0.15) !important;
    }
    .country-iso { color: var(--dm-text-muted) !important; }
    .country-currency-badge {
        background: rgba(124, 162, 255, 0.18) !important;
        color: #a8c4ff !important;
    }
    .country-currency-tag {
        background: rgba(124, 162, 255, 0.12) !important;
        color: #a8c4ff !important;
    }
    .country-item.active .country-currency-tag {
        background: rgba(255, 255, 255, 0.18) !important;
        color: #fff !important;
    }

    /* ═══ 28. SCROLLBARS ═══ */
    ::-webkit-scrollbar { width: 8px; height: 8px; }
    ::-webkit-scrollbar-track { background: var(--dm-bg-primary); }
    ::-webkit-scrollbar-thumb {
        background: var(--dm-border);
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover { background: var(--dm-text-muted); }

    /* ═══ 29. FLATPICKR / DATEPICKER ═══ */
    .flatpickr-calendar {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
    }
    .flatpickr-day { color: var(--dm-text-primary) !important; }
    .flatpickr-day:hover {
        background: var(--dm-bg-tertiary) !important;
        border-color: var(--dm-border) !important;
    }
    .flatpickr-day.selected {
        background: var(--dm-accent) !important;
        border-color: var(--dm-accent) !important;
    }
    .flatpickr-month, .flatpickr-current-month,
    .flatpickr-weekday {
        color: var(--dm-text-primary) !important;
        fill: var(--dm-text-primary) !important;
    }
    .flatpickr-prev-month, .flatpickr-next-month {
        color: var(--dm-text-primary) !important;
        fill: var(--dm-text-primary) !important;
    }

    /* Bootstrap datepicker */
    .datepicker {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
    }
    .datepicker table tr td,
    .datepicker table tr th {
        color: var(--dm-text-primary) !important;
    }
    .datepicker table tr td.active,
    .datepicker table tr td.active:hover {
        background-color: var(--dm-accent) !important;
        color: #fff !important;
    }

    /* ═══ 30. DROPZONE ═══ */
    .dropzone {
        background: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
    }
    .dz-message { color: var(--dm-text-secondary) !important; }

    /* ═══ 31. QR CODES & IMAGES ═══ */
    /* Keep images as-is, but ensure containers are dark */
    .qr-container, .qr-code-box {
        background: #fff !important;
        padding: 10px;
        border-radius: 8px;
    }

    /* ═══ 32. TEXTAREA & CODE BLOCKS ═══ */
    textarea, pre, code {
        background-color: var(--dm-bg-primary) !important;
        color: var(--dm-text-primary) !important;
    }
    pre { border-color: var(--dm-border) !important; }

    /* ═══ 33. HR MANAGEMENT PAGES ═══ */
    .hr-stat-card, .hr-panel, .hr-table {
        background: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 34. TAB CONTENT (Employee modal etc) ═══ */
    .employee-tabs {
        background: var(--dm-bg-tertiary) !important;
        border-color: var(--dm-border) !important;
    }
    .employee-tab {
        color: var(--dm-text-secondary) !important;
    }
    .employee-tab.active {
        color: var(--dm-text-primary) !important;
        border-bottom-color: var(--dm-accent) !important;
    }
    .employee-tab-content {
        color: var(--dm-text-primary) !important;
    }
    .form-label-emp { color: var(--dm-text-secondary) !important; }
    .form-control-emp {
        background-color: var(--dm-bg-primary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 35. GENERIC TEXT FIXES ═══ */
    /* Force all headings to light in dark mode (unless they have a specific color class) */
    h1:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
    h2:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
    h3:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
    h4:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
    h5:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
    h6:not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary) {
        color: var(--dm-text-primary) !important;
    }

    /* Labels and small text */
    label:not(.form-check-label):not(.btn) {
        color: var(--dm-text-secondary) !important;
    }
    small, .small {
        color: var(--dm-text-secondary) !important;
    }

    /* Links */
    a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.breadcrumb-item) {
        color: #818cf8 !important;
    }
    a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.breadcrumb-item):hover {
        color: #a5b4fc !important;
    }

    /* ═══ 36. PAGINATION ═══ */
    .page-link {
        background-color: var(--dm-bg-secondary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-secondary) !important;
    }
    .page-link:hover {
        background-color: var(--dm-bg-tertiary) !important;
        color: var(--dm-text-primary) !important;
        border-color: var(--dm-border) !important;
    }
    .page-item.active .page-link {
        background-color: var(--dm-accent) !important;
        border-color: var(--dm-accent) !important;
        color: #fff !important;
    }
    .page-item.disabled .page-link {
        background-color: var(--dm-bg-primary) !important;
        color: var(--dm-text-muted) !important;
    }

    /* ═══ 37. CALLOUTS & INFO BOXES ═══ */
    .callout, .info-box, .info-card {
        background: var(--dm-bg-tertiary) !important;
        border-color: var(--dm-border) !important;
        color: var(--dm-text-primary) !important;
    }

    /* ═══ 38. TIMELINE ═══ */
    .timeline-item { border-left-color: var(--dm-border) !important; }
    .timeline-item::before { background: var(--dm-accent) !important; }

    /* ═══ 39. SPINNERS ═══ */
    .spinner-border { color: var(--dm-accent) !important; }

    /* ═══ 40. EMPTY STATES ═══ */
    .empty-state, .no-data {
        color: var(--dm-text-secondary) !important;
    }
    .empty-state i, .no-data i {
        color: var(--dm-text-muted) !important;
    }

    /* ═══ 41. CSS VARIABLE OVERRIDES FOR BLADE PAGES ═══ */
    --text-primary: #ffffff;
    --text-secondary: #8391a2;
    --bg-color: #2d333c;
    --shadow-light: #3c4655;
    --shadow-dark: #1e2329;
    --sr-text: #ffffff;
    --sr-muted: #8391a2;
    --sr-bg: #2d333c;
    --sr-border: #464f5b;
    --brand-dark: #ffffff;
    --brand-light: #313a46;
    --glass-bg: rgba(47, 55, 66, 0.8);
    --glass-border: rgba(70, 79, 91, 0.5);
    --card-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.3);

    /* ═══ 42. PRINT (dark mode should not affect print) ═══ */
    @media print {
        body { background: #fff !important; color: #000 !important; }
        .card, .modal-content, .dropdown-menu { background: #fff !important; color: #000 !important; }
    }

} /* end html[data-bs-theme="dark"] */

/* ════════════════════════════════════════════════════════════════════
   END GLOBAL DARK MODE OVERRIDES
   ════════════════════════════════════════════════════════════════════ */
