[data-theme="dark"] {
  --bg-primary: #1a1a1a;
  --bg-secondary: #222;
  --text-primary: #F0F0F0;
  --text-secondary: #aaa;
  --text-disabled: #777;
  --divider: rgba(200, 200, 200, 0.12);
  --border: rgba(200, 200, 200, 0.18);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .card {
    background: var(--bg-primary);
    border-color: var(--border);
}

[data-theme="dark"] .sidebar {
    border-right-color: var(--border);
}

[data-theme="dark"] .sidebar-nav .nav-item:hover {
    background: var(--sidebar-hover-bg, rgba(0, 167, 111, 0.08));
}

[data-theme="dark"] .text-dark {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-light {
    background: var(--bg-secondary) !important;
}

[data-theme="dark"] .bg-white {
    background: var(--bg-primary) !important;
}

[data-theme="dark"] .table-light {
    --bs-table-bg: var(--bg-secondary);
    --bs-table-color: var(--text-primary);
}

[data-theme="dark"] .table thead th {
    color: var(--text-secondary);
}

[data-theme="dark"] .table tbody td {
    border-bottom-color: var(--divider);
}

[data-theme="dark"] .table tbody tr:hover {
    background: rgba(0, 167, 111, 0.06);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--bg-primary);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: var(--primary-main);
    box-shadow: 0 0 0 3px rgba(0, 167, 111, 0.15);
}

[data-theme="dark"] .input-group-text {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-secondary);
}

[data-theme="dark"] .dropdown-menu {
    background: var(--bg-primary);
    border-color: var(--border);
    box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background: rgba(0, 167, 111, 0.08);
}

[data-theme="dark"] .sidebar-logo {
    border-bottom-color: var(--divider);
}

[data-theme="dark"] .app-header {
    background: var(--bg-primary);
    border-bottom-color: var(--border);
}

[data-theme="dark"] .app-footer {
    border-top-color: var(--divider);
}

[data-theme="dark"] .toast {
    background: var(--bg-primary);
    border-color: var(--border);
}

[data-theme="dark"] .toast-header {
    border-bottom-color: var(--divider);
}

[data-theme="dark"] .btn-secondary {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-secondary:hover {
    background: var(--grey-700);
    border-color: var(--grey-600);
}

[data-theme="dark"] .btn-outline-secondary {
    border-color: var(--grey-600);
    color: var(--text-secondary);
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background: var(--grey-700);
    border-color: var(--grey-500);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-outline-primary {
    border-color: var(--primary-main);
    color: var(--primary-light);
}

[data-theme="dark"] .btn-outline-primary:hover {
    background: var(--primary-main);
    color: #fff;
}

[data-theme="dark"] .btn-outline-danger {
    border-color: var(--error-main);
    color: var(--error-light);
}

[data-theme="dark"] .btn-outline-danger:hover {
    background: var(--error-main);
    color: #fff;
}

[data-theme="dark"] .btn-outline-info {
    border-color: var(--info-main);
    color: var(--info-light);
}

[data-theme="dark"] .form-label,
[data-theme="dark"] label {
    color: var(--text-secondary);
}

[data-theme="dark"] .small,
[data-theme="dark"] small {
    color: var(--text-secondary);
}

[data-theme="dark"] .card-header {
    color: var(--text-primary);
    border-bottom-color: var(--divider);
}

[data-theme="dark"] .modal-content {
    background: var(--bg-primary);
    color: var(--text-primary);
}

[data-theme="dark"] .modal-header {
    border-bottom-color: var(--divider);
}

[data-theme="dark"] .modal-footer {
    border-top-color: var(--divider);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) brightness(200%);
}

[data-theme="dark"] .badge.bg-secondary {
    background: var(--grey-700) !important;
    color: var(--grey-300);
}

[data-theme="dark"] .badge.bg-success {
    background: #00a76f !important;
    color: #ffffff;
}

[data-theme="dark"] .badge.bg-danger {
    background: #b71d1d !important;
    color: #ffffff;
}

[data-theme="dark"] .text-success {
    color: #22c55e !important;
}

[data-theme="dark"] .text-warning {
    color: #ffab00 !important;
}

[data-theme="dark"] .text-danger {
    color: #ff5630 !important;
}

[data-theme="dark"] .badge.bg-warning {
    color: #1a1a1a !important;
}

[data-theme="dark"] code {
    background: var(--grey-800);
    color: var(--error-light);
}

[data-theme="dark"] .select2-container--default .select2-selection--single,
[data-theme="dark"] .select2-container--default .select2-selection--multiple {
    background: var(--bg-primary);
    border-color: var(--border);
}

[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary);
}

[data-theme="dark"] .select2-container--default .select2-results__option {
    color: var(--text-primary);
}

[data-theme="dark"] .select2-container--default .select2-results__option--highlighted {
    background: rgba(0, 167, 111, 0.15);
    color: var(--text-primary);
}

[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .select2-dropdown {
    background: var(--bg-primary);
    border-color: var(--border);
}

[data-theme="dark"] .dataTables_wrapper .dataTables_length select,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input {
    background: var(--bg-primary);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .dataTables_wrapper .dataTables_info {
    color: var(--text-secondary);
}

[data-theme="dark"] .dataTables_wrapper table.dataTable thead th {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--text-secondary) !important;
    border-color: var(--border);
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--primary-main) !important;
    border-color: var(--primary-main) !important;
    color: #fff !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--grey-700) !important;
    border-color: var(--grey-600) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .sidebar-footer {
    border-top-color: var(--divider);
}

[data-theme="dark"] .form-switch .form-check-input[type="checkbox"] {
    background: var(--grey-600);
}

[data-theme="dark"] .form-check-input:not(.form-switch .form-check-input) {
    accent-color: var(--primary-light);
}

[data-theme="dark"] .card.stat-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.30); }
[data-theme="dark"] .stat-card .stat-value { color: #FFFFFF; }
[data-theme="dark"] .stat-card.stat-success { background: linear-gradient(135deg, rgba(0,167,111,0.08), rgba(34,197,94,0.12)); }
[data-theme="dark"] .stat-card.stat-primary { background: linear-gradient(135deg, rgba(0,108,156,0.08), rgba(0,184,217,0.12)); }
[data-theme="dark"] .stat-card.stat-info { background: linear-gradient(135deg, rgba(0,55,104,0.08), rgba(0,108,156,0.12)); }
[data-theme="dark"] .stat-card.stat-warning { background: linear-gradient(135deg, rgba(183,110,0,0.08), rgba(255,171,0,0.12)); }
[data-theme="dark"] .stat-card.stat-error { background: linear-gradient(135deg, rgba(183,29,24,0.08), rgba(255,86,48,0.12)); }
[data-theme="dark"] .stat-card.stat-secondary { background: linear-gradient(135deg, rgba(99,115,129,0.08), rgba(145,158,171,0.12)); }
[data-theme="dark"] .stat-card.stat-orange { background: linear-gradient(135deg, rgba(183,62,0,0.08), rgba(255,107,53,0.12)); }
[data-theme="dark"] .stat-card.stat-teal { background: linear-gradient(135deg, rgba(13,94,92,0.08), rgba(20,184,166,0.12)); }

[data-theme="dark"] .timeline-content { background: var(--bg-secondary); }

[data-theme="dark"] table.dataTable tbody tr {
    background: transparent;
}

[data-theme="dark"] table.dataTable.stripe tbody tr.odd {
    background: rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] table.dataTable.hover tbody tr:hover {
    background: rgba(0, 167, 111, 0.06);
}

[data-theme="dark"] .table-report thead th { background: var(--bg-secondary); color: var(--text-secondary); border-bottom-color: var(--border); }
[data-theme="dark"] .table-report tbody td { border-bottom-color: var(--divider); }
[data-theme="dark"] .table-report tbody tr:hover { background: rgba(0, 167, 111, 0.06); }
[data-theme="dark"] .table-report tfoot td { border-top-color: var(--border); }
[data-theme="dark"] .gst-tab .nav-link { color: var(--text-secondary); }
[data-theme="dark"] .gst-tab .nav-link.active { color: var(--text-primary); background: var(--bg-primary); border-color: var(--border) var(--border) var(--bg-primary); }
[data-theme="dark"] .gst-summary-card .card { background: var(--bg-primary); }

/* Stat icon wraps - ensure white icons are visible */
[data-theme="dark"] .stat-icon-wrap.bg-primary { background: #006C9C !important; }
[data-theme="dark"] .stat-icon-wrap.bg-success { background: #00A76F !important; }
[data-theme="dark"] .stat-icon-wrap.bg-info { background: #003768 !important; }

/* Autocomplete dropdown */
[data-theme="dark"] .ac-dropdown { background: var(--bg-primary) !important; border-color: var(--border) !important; box-shadow: var(--shadow-lg) !important; }
[data-theme="dark"] .ac-dropdown .ac-item { color: var(--text-primary) !important; border-bottom-color: var(--divider) !important; }
[data-theme="dark"] .ac-dropdown .ac-item:hover,
[data-theme="dark"] .ac-dropdown .ac-item.active { background: rgba(0, 167, 111, 0.08) !important; }
[data-theme="dark"] .ac-dropdown .ac-item .ac-code { color: var(--text-primary) !important; }
[data-theme="dark"] .ac-dropdown .ac-item .ac-desc { color: var(--text-secondary) !important; }
[data-theme="dark"] .ac-dropdown .ac-item .ac-rate { background: rgba(0, 184, 217, 0.15) !important; color: #00B8D9 !important; }

