/* Dark Mode Styles */
/* Preserves intentional highlighting colors while providing comfortable dark backgrounds */

/* Root variables for easy theme switching */
:root {
    --primary-bg: #ffffff;
    --secondary-bg: #f8f9fa;
    --tertiary-bg: #e9ecef;
    --primary-text: #212529;
    --secondary-text: #6c757d;
    --border-color: #dee2e6;
    --accent-color: #007bff;
    --success-color: #28a745;
    --danger-color: #dc3545;
    --warning-color: #ffc107;
    --info-color: #17a2b8;
    --shadow: rgba(0, 0, 0, 0.1);
    --navbar-bg: #ffffff;
    --table-stripe: #f2f2f2;
    --input-bg: #ffffff;
    --input-border: #ced4da;
    --modal-bg: #ffffff;
    --dropdown-bg: #ffffff;
    --link-color: #007bff;
    --link-hover-color: #0056b3;
    --card-bg: #ffffff;
    --card-shadow: rgba(3, 8, 20, 0.1);
}

/* Dark theme - Softer, easier on the eyes */
[data-theme="dark"] {
    /* Warm, soft dark backgrounds */
    --primary-bg: #1e1e24;
    --secondary-bg: #26262e;
    --tertiary-bg: #2e2e38;
    
    /* Soft text colors */
    --primary-text: #e4e4e7;
    --secondary-text: #9ca3af;
    
    /* Muted border color */
    --border-color: #3f3f46;
    
    /* Keep accent colors visible but softer */
    --accent-color: #60a5fa;
    --success-color: #4ade80;
    --danger-color: #f87171;
    --warning-color: #fbbf24;
    --info-color: #38bdf8;
    
    /* Subtle shadow */
    --shadow: rgba(0, 0, 0, 0.25);
    
    /* Component backgrounds */
    --navbar-bg: #26262e;
    --table-stripe: #2a2a32;
    --input-bg: #2e2e38;
    --input-border: #4b4b56;
    --modal-bg: #26262e;
    --dropdown-bg: #2e2e38;
    
    /* Link colors */
    --link-color: #60a5fa;
    --link-hover-color: #93c5fd;
    
    /* Card styles */
    --card-bg: #26262e;
    --card-shadow: rgba(0, 0, 0, 0.2);
}

/* ============================================
   BASE STYLES
   ============================================ */

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

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

/* Main containers */
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] main,
[data-theme="dark"] main.pb-3,
[data-theme="dark"] .main-block {
    background-color: var(--primary-bg) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   TEXT ELEMENTS - Selective application
   ============================================ */

/* Only override default text colors, not styled ones */
[data-theme="dark"] h1:not([style*="color"]),
[data-theme="dark"] h2:not([style*="color"]),
[data-theme="dark"] h3:not([style*="color"]),
[data-theme="dark"] h4:not([style*="color"]),
[data-theme="dark"] h5:not([style*="color"]),
[data-theme="dark"] h6:not([style*="color"]) {
    color: var(--primary-text) !important;
}

[data-theme="dark"] p:not([style*="color"]),
[data-theme="dark"] span:not([style*="color"]):not(.badge):not(.notif-badge):not(.new-notif-badge),
[data-theme="dark"] label:not([style*="color"]),
[data-theme="dark"] li:not([style*="color"]) {
    color: var(--primary-text);
}

/* ============================================
   BACKGROUND UTILITY CLASSES
   ============================================ */

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

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

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

/* ============================================
   HARDCODED BACKGROUND FIXES - ROW HIGHLIGHTING
   ============================================ */

/* 1. .lastaction class - used for candidate last action rows (lightsteelblue -> dark equivalent) */
[data-theme="dark"] .lastaction {
    background-color: #2d3a4d !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .lastaction td {
    background-color: #2d3a4d !important;
    color: var(--primary-text) !important;
}

/* 2. .nolastaction class - ensure proper dark mode styling */
[data-theme="dark"] .nolastaction {
    background-color: var(--primary-bg) !important;
}

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

/* 3. .refreshclass - yellow highlight for refresh state (keep visible but softer) */
[data-theme="dark"] .refreshclass {
    background-color: #4d4a2d !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .refreshclass td {
    background-color: #4d4a2d !important;
    color: var(--primary-text) !important;
}

/* ============================================
   LOADER BACKGROUNDS
   ============================================ */

/* Loader overlay backgrounds (originally #b9bddc36) */
[data-theme="dark"] #loader,
[data-theme="dark"] #EngagementsLoader,
[data-theme="dark"] #ControlsLoader,
[data-theme="dark"] #ShortListedCandidateAnalysisLoader,
[data-theme="dark"] div[style*="background: #b9bddc36"],
[data-theme="dark"] div[style*="background:#b9bddc36"] {
    background: rgba(30, 30, 36, 0.85) !important;
}

/* ============================================
   READONLY FIELDS AND TEXTAREAS
   ============================================ */

/* Readonly fields with gray backgrounds */
[data-theme="dark"] .readonly-field,
[data-theme="dark"] .readonly-textarea,
[data-theme="dark"] .readonly-textarea-scrollable,
[data-theme="dark"] .readonly-textarea-scrollable-large {
    background-color: var(--tertiary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

/* Skill badges */
[data-theme="dark"] .skill-badge {
    background-color: var(--tertiary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

/* Output sections */
[data-theme="dark"] .output-section {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
}

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

/* ============================================
   CLIENT ITEM / SIDE NAV STYLES
   ============================================ */

/* Client item cards (originally #f8f9fa background) */
[data-theme="dark"] .client-item {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .client-item:hover {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] .client-item.selected {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* Side navigation */
[data-theme="dark"] .side-nav {
    background-color: var(--primary-bg) !important;
}

/* ============================================
   ACCURACY CARDS / STATUS BADGES (SMS Bot Feedback)
   ============================================ */

/* Accuracy cards */
[data-theme="dark"] .accuracy-card {
    background-color: #1e2d1e !important;
    border-color: #2d4a2d !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .accuracy-card-empty {
    background-color: #2d2a1e !important;
    border-color: #4a4520 !important;
}

[data-theme="dark"] .accuracy-head {
    color: #4ade80 !important;
}

[data-theme="dark"] .accuracy-percent {
    color: #4ade80 !important;
}

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

[data-theme="dark"] .acc-correct {
    color: #4ade80 !important;
}

[data-theme="dark"] .acc-incorrect {
    color: #f87171 !important;
}

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

[data-theme="dark"] .acc-null {
    color: #60a5fa !important;
}

/* ============================================
   SEARCH / FILTER SECTIONS
   ============================================ */

/* Search sections with background #f8f9fa */
[data-theme="dark"] .search-section {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
}

/* Action bar */
[data-theme="dark"] .action-bar {
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .action-bar-left {
    background-color: transparent !important;
}

/* Summary items */
[data-theme="dark"] .summary-item {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   TABLE HEADER GRADIENTS
   ============================================ */

/* Table headers with gradient backgrounds */
[data-theme="dark"] .table-modern thead {
    background: linear-gradient(135deg, #3d4a7a 0%, #4a3d6a 100%) !important;
}

[data-theme="dark"] .table-modern tbody tr:hover {
    background-color: var(--tertiary-bg) !important;
}

/* Status badges */
[data-theme="dark"] .status-success {
    background: linear-gradient(135deg, #1e3d1e 0%, #2d4a2d 100%) !important;
    color: #4ade80 !important;
    border-color: #2d5a2d !important;
}

[data-theme="dark"] .status-failed {
    background: linear-gradient(135deg, #3d1e1e 0%, #4a2d2d 100%) !important;
    color: #f87171 !important;
    border-color: #5a2d2d !important;
}

[data-theme="dark"] .status-checking {
    background: linear-gradient(135deg, #3d3a1e 0%, #4a4520 100%) !important;
    color: #fbbf24 !important;
    border-color: #5a5020 !important;
}

/* Client ID code styling */
[data-theme="dark"] .client-id-code {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

/* ATS badge */
[data-theme="dark"] .ats-badge {
    background-color: #1e2d4a !important;
    color: #60a5fa !important;
    border-color: #2d4a6a !important;
}

/* ============================================
   AERIAL / ANALYTICS STYLES
   ============================================ */

/* Analytics container */
[data-theme="dark"] .analytics-container {
    background-color: var(--primary-bg) !important;
}

/* Section cards */
[data-theme="dark"] .section-card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .section-header {
    background-color: var(--secondary-bg) !important;
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .section-body {
    background-color: var(--card-bg) !important;
}

/* Nav buttons */
[data-theme="dark"] .nav-btn {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .nav-btn:hover {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] .nav-btn.active {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* Chart containers */
[data-theme="dark"] .chart-container {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) !important;
}

/* Analytics stats card */
[data-theme="dark"] .analytics-stats {
    background-color: var(--secondary-bg) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    color: var(--primary-text) !important;
}

/* KPI cards */
[data-theme="dark"] .card-kpi {
    border-right-color: var(--border-color) !important;
}

/* Summary cards */
[data-theme="dark"] .summary-cards .card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .summary-cards .card-title {
    color: var(--accent-color) !important;
}

/* Last submission info */
[data-theme="dark"] .last-submission-info {
    background-color: #1e2d4a !important;
    border-color: #2d4a6a !important;
}

/* Date filter card */
[data-theme="dark"] .date-filter-card {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
}

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

/* ============================================
   HEADING / GRADIENT BACKGROUNDS
   ============================================ */

/* Heading divs with gradient backgrounds */
[data-theme="dark"] .heading-div {
    background: linear-gradient(135deg, #3d4a7a 0%, #4a3d6a 100%) !important;
}

/* Status container */
[data-theme="dark"] .status-container {
    background-color: var(--card-bg) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

/* ============================================
   CONTEXT MENU STYLES (Feedback pages)
   ============================================ */

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

[data-theme="dark"] .menu-item {
    background-color: var(--tertiary-bg) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .menu-item:hover {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

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

/* Edit box */
[data-theme="dark"] #edit-box {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
}

/* Tag container */
[data-theme="dark"] .tag {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   INPUT CONTAINER (Tags/Forms)
   ============================================ */

[data-theme="dark"] .input-container button {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .input-container button:hover {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* ============================================
   AUTOCOMPLETE STYLES
   ============================================ */

[data-theme="dark"] .autocomplete-items {
    background-color: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
}

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

[data-theme="dark"] .autocomplete-items div:hover,
[data-theme="dark"] .autocomplete-active {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* ============================================
   MULTISELECT DROPDOWN
   ============================================ */

[data-theme="dark"] .multiselect-container {
    background-color: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .multiselect-container .dropdown-menu {
    background-color: var(--dropdown-bg) !important;
}

[data-theme="dark"] .btn-group .btn.multiselect.dropdown-toggle {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   CHECKBOX CONTAINERS (Modal lists)
   ============================================ */

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

[data-theme="dark"] div[style*="border: 1px solid #ccc"] {
    border-color: var(--border-color) !important;
    background-color: var(--secondary-bg) !important;
}

/* ============================================
   EXPERIMENTAL SCORING STYLES
   ============================================ */

[data-theme="dark"] .config-section .card,
[data-theme="dark"] .details-row .card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .config-section .card-header,
[data-theme="dark"] .details-row .card-header {
    background-color: var(--secondary-bg) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   CALL ANALYZER TEST CASE ROWS
   ============================================ */

/* Passed test cases - green background */
[data-theme="dark"] tr[style*="background-color:#e5ffe5"],
[data-theme="dark"] tr[style*="background-color: #e5ffe5"] {
    background-color: #1e3d1e !important;
}

[data-theme="dark"] tr[style*="background-color:#e5ffe5"] td,
[data-theme="dark"] tr[style*="background-color: #e5ffe5"] td {
    background-color: #1e3d1e !important;
    color: var(--primary-text) !important;
}

/* Failed test cases - red background */
[data-theme="dark"] tr[style*="background-color:#ffe5e5"],
[data-theme="dark"] tr[style*="background-color: #ffe5e5"] {
    background-color: #3d1e1e !important;
}

[data-theme="dark"] tr[style*="background-color:#ffe5e5"] td,
[data-theme="dark"] tr[style*="background-color: #ffe5e5"] td {
    background-color: #3d1e1e !important;
    color: var(--primary-text) !important;
}

/* Status text in test cases */
[data-theme="dark"] span[style*="color:lightcoral"] {
    color: #f87171 !important;
}

[data-theme="dark"] span[style*="color:lightgreen"] {
    color: #4ade80 !important;
}

/* ============================================
   JOB ORDER SANITY NOTES
   ============================================ */

/* Auto sanity notes list (originally #ced4da background) */
[data-theme="dark"] ul#ai-sanity-notes,
[data-theme="dark"] ul[style*="background-color: #ced4da"] {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   COMPARE VERSIONS - YELLOW HIGHLIGHT
   ============================================ */

/* Yellow highlighted fields for differences */
[data-theme="dark"] p[style*="Background:yellow"],
[data-theme="dark"] p[style*="background:yellow"],
[data-theme="dark"] p[style*="background-color:yellow"],
[data-theme="dark"] p[style*="background-color: yellow"] {
    background-color: #4d4a2d !important;
    color: var(--primary-text) !important;
}

/* ============================================
   NAVIGATION
   ============================================ */

[data-theme="dark"] .navbar {
    background-color: var(--navbar-bg) !important;
    border-bottom-color: var(--border-color) !important;
}

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

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

[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
[data-theme="dark"] .nav-link:hover {
    color: var(--accent-color) !important;
}

[data-theme="dark"] .navbar-toggler {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28228, 228, 231, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

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

/* ============================================
   CLOCK STYLES
   ============================================ */

[data-theme="dark"] .clock-label,
[data-theme="dark"] .clock {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

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

/* ============================================
   CARDS
   ============================================ */

[data-theme="dark"] .card:not([style*="background"]) {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .card:hover:not([style*="background"]) {
    border-color: var(--accent-color) !important;
}

[data-theme="dark"] .card-header:not([style*="background"]) {
    background-color: var(--tertiary-bg) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .card-body:not([style*="background"]) {
    background-color: var(--card-bg) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .card-footer:not([style*="background"]) {
    background-color: var(--tertiary-bg) !important;
    border-top-color: var(--border-color) !important;
}

/* Demo card with gradient */
[data-theme="dark"] .demo-card {
    background: linear-gradient(135deg, #4a3d7a 0%, #5a3d8a 100%) !important;
}

/* ============================================
   TABLES - Preserve row highlighting
   ============================================ */

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

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

/* Only style td that doesn't have inline background styles (preserving highlights) */
[data-theme="dark"] .table td:not([style*="background"]) {
    background-color: var(--primary-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

/* For cells WITH inline background (highlights), just fix the border */
[data-theme="dark"] .table td[style*="background"] {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) td:not([style*="background"]) {
    background-color: var(--table-stripe) !important;
}

[data-theme="dark"] .table-bordered,
[data-theme="dark"] .table-bordered th,
[data-theme="dark"] .table-bordered td {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .table-hover tbody tr:hover td:not([style*="background"]) {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] .table-responsive {
    background-color: transparent !important;
}

/* DataTables specific styling */
[data-theme="dark"] #trendsTable tbody tr:nth-child(odd),
[data-theme="dark"] #candidatesTable tbody tr:nth-child(odd) {
    background-color: var(--table-stripe) !important;
}

[data-theme="dark"] #trendsTable_wrapper,
[data-theme="dark"] #candidatesTable_wrapper {
    background-color: var(--secondary-bg) !important;
}

[data-theme="dark"] #trendsTable thead th,
[data-theme="dark"] #candidatesTable thead th {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] #trendsTable tbody tr:hover,
[data-theme="dark"] #candidatesTable tbody tr:hover {
    background-color: var(--tertiary-bg) !important;
}

/* ============================================
   FORMS
   ============================================ */

[data-theme="dark"] .form-control,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="datetime-local"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .custom-select {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.2) !important;
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--secondary-text) !important;
    opacity: 1 !important;
}

[data-theme="dark"] select option {
    background-color: var(--dropdown-bg) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .form-group label,
[data-theme="dark"] .form-label,
[data-theme="dark"] label:not([style*="color"]),
[data-theme="dark"] .control-label {
    color: var(--primary-text) !important;
}

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

[data-theme="dark"] .custom-file-label {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .custom-file-label::after {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   BUTTONS - Keep semantic colors
   ============================================ */

[data-theme="dark"] .btn-primary {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .btn-primary:hover {
    background-color: #93c5fd !important;
    border-color: #93c5fd !important;
}

[data-theme="dark"] .btn-secondary {
    background-color: #52525b !important;
    border-color: #52525b !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .btn-success {
    background-color: var(--success-color) !important;
    border-color: var(--success-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .btn-danger {
    background-color: var(--danger-color) !important;
    border-color: var(--danger-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .btn-warning {
    background-color: var(--warning-color) !important;
    border-color: var(--warning-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .btn-info {
    background-color: var(--info-color) !important;
    border-color: var(--info-color) !important;
    color: #1e1e24 !important;
}

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

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

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

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

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

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

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

/* Check individual button */
[data-theme="dark"] .btn-check-individual {
    background: linear-gradient(135deg, #3d4a7a 0%, #4a3d6a 100%) !important;
}

[data-theme="dark"] .btn-check-individual:hover {
    background: linear-gradient(135deg, #4d5a8a 0%, #5a4d7a 100%) !important;
}

/* Refresh all button */
[data-theme="dark"] .btn-refresh-all {
    box-shadow: 0 2px 4px rgba(96, 165, 250, 0.3) !important;
}

/* ============================================
   MODALS
   ============================================ */

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

[data-theme="dark"] .modal-header {
    background-color: var(--tertiary-bg) !important;
    border-bottom-color: var(--border-color) !important;
}

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

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

[data-theme="dark"] .modal-footer {
    background-color: var(--tertiary-bg) !important;
    border-top-color: var(--border-color) !important;
}

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

/* ============================================
   DROPDOWNS
   ============================================ */

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

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

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--tertiary-bg) !important;
}

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

/* ============================================
   PAGINATION
   ============================================ */

[data-theme="dark"] .page-link {
    background-color: var(--secondary-bg) !important;
    color: var(--accent-color) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .page-link:hover {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--secondary-bg) !important;
    color: var(--secondary-text) !important;
}

/* ============================================
   ALERTS - Keep semantic colors
   ============================================ */

[data-theme="dark"] .alert-primary {
    background-color: rgba(96, 165, 250, 0.15) !important;
    border-color: rgba(96, 165, 250, 0.4) !important;
    color: #93c5fd !important;
}

[data-theme="dark"] .alert-success {
    background-color: rgba(74, 222, 128, 0.15) !important;
    border-color: rgba(74, 222, 128, 0.4) !important;
    color: #4ade80 !important;
}

[data-theme="dark"] .alert-danger {
    background-color: rgba(248, 113, 113, 0.15) !important;
    border-color: rgba(248, 113, 113, 0.4) !important;
    color: #f87171 !important;
}

[data-theme="dark"] .alert-warning {
    background-color: rgba(251, 191, 36, 0.15) !important;
    border-color: rgba(251, 191, 36, 0.4) !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] .alert-info {
    background-color: rgba(56, 189, 248, 0.15) !important;
    border-color: rgba(56, 189, 248, 0.4) !important;
    color: #38bdf8 !important;
}

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

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

/* ============================================
   BADGES
   ============================================ */

[data-theme="dark"] .badge-primary,
[data-theme="dark"] .bg-primary.badge {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .badge-success,
[data-theme="dark"] .bg-success.badge {
    background-color: var(--success-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .badge-danger,
[data-theme="dark"] .bg-danger.badge {
    background-color: var(--danger-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .badge-warning,
[data-theme="dark"] .bg-warning.badge {
    background-color: var(--warning-color) !important;
    color: #1e1e24 !important;
}

[data-theme="dark"] .badge-info,
[data-theme="dark"] .bg-info.badge {
    background-color: var(--info-color) !important;
    color: #1e1e24 !important;
}

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

[data-theme="dark"] .badge-secondary,
[data-theme="dark"] .bg-secondary.badge {
    background-color: #52525b !important;
    color: var(--primary-text) !important;
}

/* ============================================
   PROGRESS BARS
   ============================================ */

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

[data-theme="dark"] .progress-bar {
    background-color: var(--accent-color) !important;
}

/* ============================================
   LIST GROUPS
   ============================================ */

[data-theme="dark"] .list-group-item {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .list-group-item:hover {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] .list-group-item.active {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* ============================================
   LINKS
   ============================================ */

[data-theme="dark"] a:not([style*="color"]):not(.btn):not(.badge):not(.page-link):not(.nav-link):not(.dropdown-item) {
    color: var(--link-color) !important;
}

[data-theme="dark"] a:hover:not([style*="color"]):not(.btn):not(.badge):not(.page-link):not(.nav-link):not(.dropdown-item) {
    color: var(--link-hover-color) !important;
}

/* Visited links */
[data-theme="dark"] a.visited {
    color: #a78bfa !important;
}

/* ============================================
   TOOLTIPS
   ============================================ */

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

[data-theme="dark"] .tooltip .arrow::before {
    border-top-color: var(--tertiary-bg) !important;
}

/* ============================================
   CODE BLOCKS
   ============================================ */

[data-theme="dark"] code {
    background-color: var(--tertiary-bg) !important;
    color: #f472b6 !important;
}

[data-theme="dark"] pre {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

/* ============================================
   HORIZONTAL RULES
   ============================================ */

[data-theme="dark"] hr {
    border-top-color: var(--border-color) !important;
}

/* ============================================
   BREADCRUMBS
   ============================================ */

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

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

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

/* ============================================
   CUSTOM SWITCHES
   ============================================ */

[data-theme="dark"] .custom-control-label::before {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

/* ============================================
   SCROLLBARS (Webkit browsers)
   ============================================ */

[data-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--secondary-bg);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--tertiary-bg);
    border-radius: 5px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #4b4b56;
}

/* ============================================
   MISC ELEMENTS
   ============================================ */

/* Info icons */
[data-theme="dark"] .info-icon {
    color: var(--accent-color) !important;
}

[data-theme="dark"] .info-icon::after {
    background: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

/* Empty state */
[data-theme="dark"] .empty-state {
    color: var(--secondary-text) !important;
}

/* Result containers */
[data-theme="dark"] .result-container {
    background-color: var(--secondary-bg) !important;
}

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

/* Client name cell */
[data-theme="dark"] .client-name-cell {
    color: var(--primary-text) !important;
}

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

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

/* Row number */
[data-theme="dark"] .row-number {
    color: var(--secondary-text) !important;
}

/* Last checked */
[data-theme="dark"] .last-checked {
    color: var(--secondary-text) !important;
}

/* Action cell */
[data-theme="dark"] .action-cell {
    background-color: var(--primary-bg) !important;
}

/* Table wrapper */
[data-theme="dark"] .table-wrapper {
    border-color: var(--border-color) !important;
}

/* ============================================
   AERIAL DASHBOARD - COMPREHENSIVE DARK MODE
   ============================================ */

/* Main container and body */
[data-theme="dark"] .container-fluid {
    background-color: var(--primary-bg) !important;
    color: var(--primary-text) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

/* Aerial dashboard header */
[data-theme="dark"] .aerial-header h2 {
    color: var(--primary-text) !important;
    border-bottom-color: var(--accent-color) !important;
}

/* Trends and Candidates tables wrapper */
[data-theme="dark"] #trendsTable_wrapper,
[data-theme="dark"] #candidatesTable_wrapper {
    background-color: var(--secondary-bg) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

/* Trends table odd rows */
[data-theme="dark"] #trendsTable tbody tr:nth-child(odd),
[data-theme="dark"] #candidatesTable tbody tr:nth-child(odd) {
    background-color: var(--table-stripe) !important;
}

/* Table hover state */
[data-theme="dark"] #trendsTable tbody tr:hover,
[data-theme="dark"] #candidatesTable tbody tr:hover {
    background-color: var(--tertiary-bg) !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) !important;
}

/* Table headers */
[data-theme="dark"] #trendsTable thead th,
[data-theme="dark"] #candidatesTable thead th {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* Table cells */
[data-theme="dark"] #trendsTable tbody td,
[data-theme="dark"] #candidatesTable tbody td {
    background-color: inherit !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #trendsTable tbody td:hover {
    color: var(--accent-color) !important;
}

/* DataTables controls styling */
[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_processing,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--primary-text) !important;
}

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

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

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: var(--tertiary-bg) !important;
    color: var(--accent-color) !important;
}

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

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

/* Summary cards in Aerial */
[data-theme="dark"] .summary-cards .card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] .summary-cards .card-title {
    color: var(--accent-color) !important;
}

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

/* Aerial chart containers */
[data-theme="dark"] .chart-container {
    background-color: var(--secondary-bg) !important;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3) !important;
}

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

/* Analytics stats container */
[data-theme="dark"] .analytics-stats {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .analytics-stats:hover {
    box-shadow: 0 4px 16px -7px rgba(0, 0, 0, 0.4) !important;
}

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

[data-theme="dark"] .analytics-stats .details .percentage {
    color: var(--danger-color) !important;
}

/* Consolidated KPIs cards */
[data-theme="dark"] #consolidatedKpisDiv .card,
[data-theme="dark"] #consolidatedChartsDiv .card,
[data-theme="dark"] #placementChartsDiv .card,
[data-theme="dark"] #callChartsDiv .card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] #consolidatedKpisDiv .card-header,
[data-theme="dark"] #consolidatedChartsDiv .card-header,
[data-theme="dark"] #placementChartsDiv .card-header,
[data-theme="dark"] #callChartsDiv .card-header {
    background-color: #3d4a7a !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] #consolidatedKpisDiv .card-body,
[data-theme="dark"] #consolidatedChartsDiv .card-body,
[data-theme="dark"] #placementChartsDiv .card-body,
[data-theme="dark"] #callChartsDiv .card-body {
    background-color: var(--card-bg) !important;
    color: var(--primary-text) !important;
}

/* Card KPI elements */
[data-theme="dark"] .card-kpi {
    border-right-color: var(--border-color) !important;
}

[data-theme="dark"] .card-kpi .card-subtitle,
[data-theme="dark"] .card-body h6 {
    color: var(--secondary-text) !important;
}

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

/* Aerial modal styling */
[data-theme="dark"] #candidatesModal .modal-header {
    background-color: var(--tertiary-bg) !important;
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] #candidatesModal .modal-body {
    background-color: var(--modal-bg) !important;
}

[data-theme="dark"] #candidatesModal .modal-footer {
    background-color: var(--tertiary-bg) !important;
    border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .bg-gradient-light {
    background: linear-gradient(to right, var(--secondary-bg), var(--primary-bg)) !important;
}

/* Breadcrumb trail in modal */
[data-theme="dark"] #breadcrumbTrail {
    background-color: var(--secondary-bg) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] #breadcrumbTrail span {
    color: var(--secondary-text) !important;
}

/* Multiselect dropdown customizations for Aerial */
[data-theme="dark"] #clientSelection + .btn-group,
[data-theme="dark"] #candidateSourceSelection + .btn-group,
[data-theme="dark"] #rolesSelection + .btn-group,
[data-theme="dark"] #reportDataTypesSelection + .btn-group {
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .custom-multiselect .dropdown-menu {
    background-color: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .multiselect-container.dropdown-menu {
    background-color: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
}

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

[data-theme="dark"] .multiselect-container .multiselect-item:hover,
[data-theme="dark"] .multiselect-container .multiselect-item:focus {
    background-color: var(--tertiary-bg) !important;
}

/* Info icon tooltip */
[data-theme="dark"] .info-icon {
    color: var(--accent-color) !important;
}

[data-theme="dark"] .info-icon::after {
    background: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

/* Geocode heatmap container */
[data-theme="dark"] #geocodeheatmap {
    background-color: var(--secondary-bg) !important;
}

/* Export container */
[data-theme="dark"] .export-container {
    background-color: transparent !important;
}

/* Error and success modals */
[data-theme="dark"] #errorModal .modal-header {
    background-color: rgba(248, 113, 113, 0.2) !important;
    color: #f87171 !important;
}

[data-theme="dark"] #successModal .modal-header {
    background-color: rgba(74, 222, 128, 0.2) !important;
    color: #4ade80 !important;
}

/* Row mt-custom styling */
[data-theme="dark"] .row.mt-custom label {
    color: var(--primary-text) !important;
}

[data-theme="dark"] .row.mt-custom select,
[data-theme="dark"] .row.mt-custom input[type="date"] {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

/* Last submission info box */
[data-theme="dark"] .last-submission-info {
    background-color: #1e2d4a !important;
    border-color: #2d4a6a !important;
    color: var(--accent-color) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

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

/* Customer followup chart container */
[data-theme="dark"] #customerFollowupChartDiv {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
}

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

/* Card-header with specific background colors - maintain readability */
[data-theme="dark"] .card-header.bg-primary {
    background-color: #3d5a9a !important;
}

[data-theme="dark"] .card-header.bg-success {
    background-color: #2d6a4a !important;
}

[data-theme="dark"] .card-header.bg-secondary {
    background-color: #5a4a2d !important;
}

[data-theme="dark"] .card-header.bg-info {
    background-color: #2d5a6a !important;
}

/* ============================================
   END AERIAL DASHBOARD DARK MODE
   ============================================ */

/* ============================================
   CLIENT SNAPSHOT VIEW - DARK MODE
   ============================================ */

/* Client Snapshot table styling */
[data-theme="dark"] #clientTable {
    background-color: var(--primary-bg) !important;
}

[data-theme="dark"] #clientTable th,
[data-theme="dark"] #clientTable td {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #clientTable thead th {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3) !important;
}

/* Sticky columns in Client Snapshot */
[data-theme="dark"] #clientTable tbody td:first-child,
[data-theme="dark"] #clientTable thead th:first-child {
    background-color: var(--secondary-bg) !important;
    box-shadow: 2px 0px 5px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] #clientTable thead th:first-child {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3) !important;
}

/* Enabled/Disabled status cells */
[data-theme="dark"] .enabled {
    background-color: #1e3d1e !important;
    color: #4ade80 !important;
}

[data-theme="dark"] .disabled {
    background-color: #3d1e1e !important;
    color: #f87171 !important;
}

/* Client Snapshot multiselect */
[data-theme="dark"] #clientSelect + .btn-group,
[data-theme="dark"] .btn-group {
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .btn-group.custom-multiselect > .btn {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

/* Client Snapshot loader */
[data-theme="dark"] #loader.spinner-border {
    color: var(--accent-color) !important;
}

/* Unauthorized modal in Client Snapshot */
[data-theme="dark"] #unauthorizedModal .modal-header {
    background-color: #4a3d7a !important;
    color: var(--primary-text) !important;
}

/* Client popup modals */
[data-theme="dark"] div[id^="clientPopup-"] .modal-content {
    background-color: var(--modal-bg) !important;
}

/* Nested tables in Client Snapshot (SourcingBasedDayWiseFollowUpChannelPreference) */
[data-theme="dark"] #clientTable .table-sm {
    background-color: var(--secondary-bg) !important;
}

[data-theme="dark"] #clientTable .table-sm thead.table-light {
    background-color: var(--tertiary-bg) !important;
}

[data-theme="dark"] #clientTable .table-sm thead.table-light th {
    background-color: var(--tertiary-bg) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] #clientTable .table-sm td,
[data-theme="dark"] #clientTable .table-sm th {
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

/* ============================================
   CLIENT TROUBLESHOOTING VIEW - DARK MODE
   ============================================ */

/* Troubleshooting loader */
[data-theme="dark"] #loader[style*="background: #b9bddc36"],
[data-theme="dark"] div[style*="background: #b9bddc36"] {
    background: rgba(30, 30, 36, 0.85) !important;
}

/* Troubleshooting tables */
[data-theme="dark"] .table-responsive .table {
    background-color: var(--primary-bg) !important;
}

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

[data-theme="dark"] .table-responsive .table thead.bg-light tr,
[data-theme="dark"] .table-responsive .table thead.bg-light th {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
}

/* Summary info box in troubleshooting */
[data-theme="dark"] #summaryInfo {
    background-color: var(--secondary-bg) !important;
    border-color: var(--border-color) !important;
}

/* Updated jobs modal table */
[data-theme="dark"] #updatedJobsModal .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--table-stripe) !important;
}

[data-theme="dark"] #updatedJobsModal .table-danger {
    background-color: rgba(248, 113, 113, 0.15) !important;
}

/* Job properties sync input */
[data-theme="dark"] #propertiesToSync {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

/* ============================================
   HOME/INDEX VIEW - DARK MODE
   ============================================ */

/* Home page cards */
[data-theme="dark"] .basic-grid3 .card,
[data-theme="dark"] .basic-grid2 .card,
[data-theme="dark"] .basic-grid1 .card {
    background-color: var(--card-bg) !important;
    color: var(--primary-text) !important;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0.15rem 0.5rem, rgba(0, 0, 0, 0.2) 0px 0.075rem 0.175rem !important;
}

[data-theme="dark"] .basic-grid3 .card:hover,
[data-theme="dark"] .basic-grid2 .card:hover,
[data-theme="dark"] .basic-grid1 .card:hover {
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0.25rem 0.75rem !important;
}

/* Home page form text */
[data-theme="dark"] .form-text {
    color: var(--secondary-text) !important;
}

/* Demo card gradient */
[data-theme="dark"] .demo-card {
    background: linear-gradient(135deg, #4a5a9a 0%, #5a4a7a 100%) !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] .demo-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

/* Home page navbar */
[data-theme="dark"] .navbar.navbar-light.bg-light {
    background-color: var(--navbar-bg) !important;
}

/* Home page h6 headings in cards */
[data-theme="dark"] .card h6 {
    color: var(--primary-text) !important;
}

/* Home page loader overlay */
[data-theme="dark"] div[style*="background: #b9bddc36"],
[data-theme="dark"] div[style*="background:#b9bddc36"] {
    background: rgba(30, 30, 36, 0.85) !important;
}

/* Home page form inputs */
[data-theme="dark"] .card input[type="text"] {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .card input[type="text"]::placeholder {
    color: var(--secondary-text) !important;
}

/* Home page horizontal rules */
[data-theme="dark"] hr {
    border-color: var(--border-color) !important;
}

/* Custom file input labels */
[data-theme="dark"] .custom-file-label {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

/* ============================================
   ERROR VIEW - DARK MODE
   ============================================ */

/* Error page text */
[data-theme="dark"] h1.text-danger,
[data-theme="dark"] h2.text-danger {
    color: #f87171 !important;
}

/* Error page code blocks */
[data-theme="dark"] code {
    background-color: var(--tertiary-bg) !important;
    color: #f472b6 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

/* ============================================
   GENERAL BOOTSTRAP OVERRIDES FOR DARK MODE
   ============================================ */

/* bg-light class override */
[data-theme="dark"] .bg-light {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
}

/* table-light class for table headers */
[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light th,
[data-theme="dark"] .table-light td {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
}

/* Bootstrap info circle icons */
[data-theme="dark"] .bi-info-circle {
    color: var(--accent-color) !important;
}

/* Bootstrap spinner */
[data-theme="dark"] .spinner-border.text-primary {
    color: var(--accent-color) !important;
}

/* Select elements */
[data-theme="dark"] select.form-control {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

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

/* ListBox for multiple selection */
[data-theme="dark"] select[multiple] {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] select[multiple] option:checked {
    background-color: var(--accent-color) !important;
    color: #1e1e24 !important;
}

/* Validation messages */
[data-theme="dark"] .text-danger {
    color: #f87171 !important;
}

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

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

/* Font-weight bold text */
[data-theme="dark"] strong,
[data-theme="dark"] b {
    color: var(--primary-text) !important;
}

/* ============================================
   MODAL GENERIC DARK MODE IMPROVEMENTS
   ============================================ */

/* Generic modal close button */
[data-theme="dark"] .modal .close,
[data-theme="dark"] .modal .btn-close {
    color: var(--primary-text) !important;
    opacity: 0.8 !important;
}

/* Modal backdrop */
[data-theme="dark"] .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.7) !important;
}

/* ============================================
   IFRAME CONTENT (for embedded views)
   ============================================ */

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

/* ============================================
   CALL ANALYZER VIEW - DARK MODE
   ============================================ */

/* Call Analyzer test case rows - failed (red background) */
[data-theme="dark"] tr[style*="background-color:#ffe5e5"],
[data-theme="dark"] tr[style*="background-color: #ffe5e5"] {
    background-color: #3d1e1e !important;
}

[data-theme="dark"] tr[style*="background-color:#ffe5e5"] td,
[data-theme="dark"] tr[style*="background-color: #ffe5e5"] td {
    background-color: #3d1e1e !important;
    color: var(--primary-text) !important;
}

/* Call Analyzer test case rows - passed (green background) */
[data-theme="dark"] tr[style*="background-color:#e5ffe5"],
[data-theme="dark"] tr[style*="background-color: #e5ffe5"] {
    background-color: #1e3d1e !important;
}

[data-theme="dark"] tr[style*="background-color:#e5ffe5"] td,
[data-theme="dark"] tr[style*="background-color: #e5ffe5"] td {
    background-color: #1e3d1e !important;
    color: var(--primary-text) !important;
}

/* Call Analyzer status text colors */
[data-theme="dark"] span[style*="color:lightcoral"],
[data-theme="dark"] span[style*="color: lightcoral"] {
    color: #f87171 !important;
}

[data-theme="dark"] span[style*="color:lightgreen"],
[data-theme="dark"] span[style*="color: lightgreen"] {
    color: #4ade80 !important;
}

/* Call Analyzer violation headers */
[data-theme="dark"] h3[style*="color: #dc3545"],
[data-theme="dark"] h3[style*="color:#dc3545"] {
    color: #f87171 !important;
}

[data-theme="dark"] h3[style*="color: green"],
[data-theme="dark"] h3[style*="color:green"] {
    color: #4ade80 !important;
}

[data-theme="dark"] h5[style*="color: #dc3545"],
[data-theme="dark"] h5[style*="color:#dc3545"] {
    color: #f87171 !important;
}

/* Call Analyzer cards and summary */
[data-theme="dark"] .card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .card-header {
    background-color: var(--secondary-bg) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

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

/* Call Analyzer badges */
[data-theme="dark"] .badge.bg-secondary {
    background-color: #52525b !important;
    color: var(--primary-text) !important;
}

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

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

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

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

/* Call Analyzer textarea */
[data-theme="dark"] textarea.form-control {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

/* Call Analyzer form labels */
[data-theme="dark"] .form-group label,
[data-theme="dark"] .form-check-label {
    color: var(--primary-text) !important;
}

/* ============================================
   END CALL ANALYZER VIEW DARK MODE
   ============================================ */