:root {
    --color-primary: #3B82F6;
    --color-primary-light: #60A5FA;
    --color-primary-dark: #2563EB;
    --color-accent: #8B5CF6;
    --color-bg: #F8FAFC;
    --color-surface: rgba(255, 255, 255, 0.7);
    --color-text: #1E293B;
    --color-text-muted: #64748B;
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    --pattern-bg: none;
    --glass-blur: 12px;
    --glass-bg: rgba(255, 255, 255, 0.6);
    --border-radius: 16px;
    --shadow: 0 8px 32px rgba(31, 38, 135, 0.1);
}

[data-theme="dark"] {
    --color-bg: #0F172A;
    --color-surface: rgba(30, 41, 59, 0.7);
    --color-text: #F1F5F9;
    --color-text-muted: #94A3B8;
    --glass-bg: rgba(30, 41, 59, 0.6);
    --shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Global Dark Mode Overrides */
[data-theme="dark"], [data-bs-theme="dark"] {
    color-scheme: dark;
}

[data-theme="dark"] body,
[data-bs-theme="dark"] body {
    background-color: var(--color-bg) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .card-header.bg-white,
[data-theme="dark"] .card-header.bg-light,
[data-theme="dark"] .card-footer.bg-white,
[data-theme="dark"] .card-footer.bg-light {
    background-color: var(--color-surface) !important;
    background: var(--color-surface) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .glass-card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .offcanvas {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    background-color: transparent !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--color-text) !important;
}

/* Table Header (thead) and DataTables Dark Fixes */
[data-theme="dark"] table thead,
[data-theme="dark"] table thead tr,
[data-theme="dark"] table thead th,
[data-theme="dark"] table thead td,
[data-theme="dark"] table.dataTable thead th,
[data-theme="dark"] table.dataTable thead td,
[data-theme="dark"] .table thead th,
[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light th,
[data-theme="dark"] .table-light td,
[data-theme="dark"] thead.table-light,
[data-theme="dark"] thead.table-light th {
    background-color: rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--color-text) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

[data-theme="dark"] table.dataTable tbody tr {
    background-color: transparent !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] table.dataTable tbody td {
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--color-text) !important;
}

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

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

[data-theme="dark"] table,
[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--color-text);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
    --bs-table-hover-color: var(--color-text);
    --bs-table-border-color: rgba(255, 255, 255, 0.1);
    color: var(--color-text) !important;
}

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

[data-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,
[data-theme="dark"] .dataTables_wrapper .dataTables_length select {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

[data-theme="dark"] .page-link {
    background-color: var(--color-surface) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--color-text-muted) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

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

[data-theme="dark"] ::placeholder {
    color: var(--color-text-muted) !important;
    opacity: 0.7;
}

/* Select2 & Native Select Dropdowns Dark Mode Overrides */
[data-theme="dark"] select option,
[data-theme="dark"] select optgroup,
[data-theme="dark"] select.form-select option {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--single,
[data-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--color-surface) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--color-text) !important;
}

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

[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--color-text-muted) transparent transparent transparent !important;
}

[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--color-text-muted) transparent !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .select2-dropdown {
    background-color: var(--color-surface) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: rgba(0, 0, 0, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--color-text) !important;
}

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

[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--color-primary-light) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .select2-results__option--no-results,
[data-theme="dark"] .select2-results__option--searching {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .dropdown-menu {
    background-color: var(--color-surface) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5) !important;
}

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

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .dropdown-divider {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .sidebar {
    background: var(--color-surface) !important;
    border-right-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .topbar {
    background: var(--color-surface) !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

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

[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] .nav-link.active {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .btn-light {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

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

[data-theme="dark"] .swal2-title,
[data-theme="dark"] .swal2-html-container {
    color: var(--color-text) !important;
}
