/**
 * Fleet Management System - Theme Variables
 *
 * This file defines CSS custom properties (variables) for theming.
 * The .dark class on <html> activates dark mode overrides.
 *
 * Color naming convention:
 * --color-{category}-{variant}
 * Categories: bg, text, border, accent
 * Variants: primary, secondary, tertiary, muted, inverse
 */

/* ============================================
   LIGHT THEME (Default)
   ============================================ */
:root {
    /* Background Colors */
    --color-bg-primary: #ffffff;
    --color-bg-secondary: #f9fafb;      /* gray-50 */
    --color-bg-tertiary: #f3f4f6;       /* gray-100 */
    --color-bg-muted: #e5e7eb;          /* gray-200 */
    --color-bg-inverse: #1f2937;        /* gray-800 */
    --color-bg-hover: #f3f4f6;          /* gray-100 */
    --color-bg-active: #e5e7eb;         /* gray-200 */

    /* Surface Colors (cards, modals, dropdowns) */
    --color-surface-primary: #ffffff;
    --color-surface-secondary: #f9fafb;
    --color-surface-elevated: #ffffff;
    --color-surface-overlay: rgba(0, 0, 0, 0.5);

    /* Text Colors */
    --color-text-primary: #111827;      /* gray-900 */
    --color-text-secondary: #374151;    /* gray-700 */
    --color-text-tertiary: #6b7280;     /* gray-500 */
    --color-text-muted: #9ca3af;        /* gray-400 */
    --color-text-inverse: #f9fafb;      /* gray-50 */
    --color-text-link: #2563eb;         /* blue-600 */
    --color-text-link-hover: #1d4ed8;   /* blue-700 */

    /* Border Colors */
    --color-border-primary: #e5e7eb;    /* gray-200 */
    --color-border-secondary: #d1d5db;  /* gray-300 */
    --color-border-focus: #3b82f6;      /* blue-500 */
    --color-border-error: #ef4444;      /* red-500 */

    /* Accent Colors - Blue (Primary) */
    --color-accent-primary: #3b82f6;    /* blue-500 */
    --color-accent-primary-hover: #2563eb; /* blue-600 */
    --color-accent-primary-light: #dbeafe; /* blue-100 */
    --color-accent-primary-dark: #1d4ed8;  /* blue-700 */

    /* Accent Colors - Green (Success) */
    --color-accent-success: #22c55e;    /* green-500 */
    --color-accent-success-hover: #16a34a; /* green-600 */
    --color-accent-success-light: #dcfce7; /* green-100 */
    --color-accent-success-dark: #15803d;  /* green-700 */

    /* Accent Colors - Red (Error/Danger) */
    --color-accent-danger: #ef4444;     /* red-500 */
    --color-accent-danger-hover: #dc2626; /* red-600 */
    --color-accent-danger-light: #fee2e2; /* red-100 */
    --color-accent-danger-dark: #b91c1c;  /* red-700 */

    /* Accent Colors - Yellow (Warning) */
    --color-accent-warning: #f59e0b;    /* amber-500 */
    --color-accent-warning-hover: #d97706; /* amber-600 */
    --color-accent-warning-light: #fef3c7; /* amber-100 */
    --color-accent-warning-dark: #b45309;  /* amber-700 */

    /* Accent Colors - Purple (Info) */
    --color-accent-info: #8b5cf6;       /* violet-500 */
    --color-accent-info-hover: #7c3aed; /* violet-600 */
    --color-accent-info-light: #ede9fe; /* violet-100 */
    --color-accent-info-dark: #6d28d9;  /* violet-700 */

    /* Shadow Colors */
    --color-shadow: rgba(0, 0, 0, 0.1);
    --color-shadow-lg: rgba(0, 0, 0, 0.15);

    /* Input/Form Colors */
    --color-input-bg: #ffffff;
    --color-input-border: #d1d5db;
    --color-input-border-focus: #3b82f6;
    --color-input-text: #111827;
    --color-input-placeholder: #9ca3af;
    --color-input-disabled-bg: #f3f4f6;
    --color-input-disabled-text: #9ca3af;

    /* Table Colors */
    --color-table-header-bg: #f9fafb;
    --color-table-row-bg: #ffffff;
    --color-table-row-alt-bg: #f9fafb;
    --color-table-row-hover: #f3f4f6;
    --color-table-border: #e5e7eb;

    /* Navigation Colors */
    --color-nav-bg: #1e40af;            /* blue-800 */
    --color-nav-text: #ffffff;
    --color-nav-text-muted: #bfdbfe;    /* blue-200 */
    --color-nav-hover: #1d4ed8;         /* blue-700 */
    --color-nav-active: #1e3a8a;        /* blue-900 */

    /* Sidebar/Menu Colors */
    --color-sidebar-bg: #ffffff;
    --color-sidebar-text: #374151;
    --color-sidebar-hover: #f3f4f6;
    --color-sidebar-active: #dbeafe;
    --color-sidebar-active-text: #1d4ed8;

    /* Badge/Tag Colors */
    --color-badge-default-bg: #e5e7eb;
    --color-badge-default-text: #374151;
    --color-badge-primary-bg: #dbeafe;
    --color-badge-primary-text: #1d4ed8;
    --color-badge-success-bg: #dcfce7;
    --color-badge-success-text: #15803d;
    --color-badge-danger-bg: #fee2e2;
    --color-badge-danger-text: #b91c1c;
    --color-badge-warning-bg: #fef3c7;
    --color-badge-warning-text: #b45309;

    /* Scrollbar Colors */
    --color-scrollbar-track: #f3f4f6;
    --color-scrollbar-thumb: #d1d5db;
    --color-scrollbar-thumb-hover: #9ca3af;
}

/* ============================================
   DARK THEME
   ============================================ */
.dark {
    /* Background Colors */
    --color-bg-primary: #111827;        /* gray-900 */
    --color-bg-secondary: #1f2937;      /* gray-800 */
    --color-bg-tertiary: #374151;       /* gray-700 */
    --color-bg-muted: #4b5563;          /* gray-600 */
    --color-bg-inverse: #f9fafb;        /* gray-50 */
    --color-bg-hover: #374151;          /* gray-700 */
    --color-bg-active: #4b5563;         /* gray-600 */

    /* Surface Colors */
    --color-surface-primary: #1f2937;   /* gray-800 */
    --color-surface-secondary: #111827; /* gray-900 */
    --color-surface-elevated: #374151;  /* gray-700 */
    --color-surface-overlay: rgba(0, 0, 0, 0.7);

    /* Text Colors */
    --color-text-primary: #f9fafb;      /* gray-50 */
    --color-text-secondary: #e5e7eb;    /* gray-200 */
    --color-text-tertiary: #9ca3af;     /* gray-400 */
    --color-text-muted: #6b7280;        /* gray-500 */
    --color-text-inverse: #111827;      /* gray-900 */
    --color-text-link: #60a5fa;         /* blue-400 */
    --color-text-link-hover: #93c5fd;   /* blue-300 */

    /* Border Colors */
    --color-border-primary: #374151;    /* gray-700 */
    --color-border-secondary: #4b5563;  /* gray-600 */
    --color-border-focus: #60a5fa;      /* blue-400 */
    --color-border-error: #f87171;      /* red-400 */

    /* Accent Colors - Blue (Primary) */
    --color-accent-primary: #60a5fa;    /* blue-400 */
    --color-accent-primary-hover: #3b82f6; /* blue-500 */
    --color-accent-primary-light: #1e3a8a; /* blue-900 */
    --color-accent-primary-dark: #93c5fd;  /* blue-300 */

    /* Accent Colors - Green (Success) */
    --color-accent-success: #4ade80;    /* green-400 */
    --color-accent-success-hover: #22c55e; /* green-500 */
    --color-accent-success-light: #14532d; /* green-900 */
    --color-accent-success-dark: #86efac;  /* green-300 */

    /* Accent Colors - Red (Error/Danger) */
    --color-accent-danger: #f87171;     /* red-400 */
    --color-accent-danger-hover: #ef4444; /* red-500 */
    --color-accent-danger-light: #7f1d1d; /* red-900 */
    --color-accent-danger-dark: #fca5a5;  /* red-300 */

    /* Accent Colors - Yellow (Warning) */
    --color-accent-warning: #fbbf24;    /* amber-400 */
    --color-accent-warning-hover: #f59e0b; /* amber-500 */
    --color-accent-warning-light: #78350f; /* amber-900 */
    --color-accent-warning-dark: #fcd34d;  /* amber-300 */

    /* Accent Colors - Purple (Info) */
    --color-accent-info: #a78bfa;       /* violet-400 */
    --color-accent-info-hover: #8b5cf6; /* violet-500 */
    --color-accent-info-light: #4c1d95; /* violet-900 */
    --color-accent-info-dark: #c4b5fd;  /* violet-300 */

    /* Shadow Colors */
    --color-shadow: rgba(0, 0, 0, 0.3);
    --color-shadow-lg: rgba(0, 0, 0, 0.4);

    /* Input/Form Colors */
    --color-input-bg: #1f2937;
    --color-input-border: #4b5563;
    --color-input-border-focus: #60a5fa;
    --color-input-text: #f9fafb;
    --color-input-placeholder: #6b7280;
    --color-input-disabled-bg: #374151;
    --color-input-disabled-text: #6b7280;

    /* Table Colors */
    --color-table-header-bg: #1f2937;
    --color-table-row-bg: #111827;
    --color-table-row-alt-bg: #1f2937;
    --color-table-row-hover: #374151;
    --color-table-border: #374151;

    /* Navigation Colors */
    --color-nav-bg: #1e3a8a;            /* blue-900 */
    --color-nav-text: #ffffff;
    --color-nav-text-muted: #93c5fd;    /* blue-300 */
    --color-nav-hover: #1e40af;         /* blue-800 */
    --color-nav-active: #172554;        /* blue-950 */

    /* Sidebar/Menu Colors */
    --color-sidebar-bg: #1f2937;
    --color-sidebar-text: #e5e7eb;
    --color-sidebar-hover: #374151;
    --color-sidebar-active: #1e3a8a;
    --color-sidebar-active-text: #93c5fd;

    /* Badge/Tag Colors */
    --color-badge-default-bg: #374151;
    --color-badge-default-text: #e5e7eb;
    --color-badge-primary-bg: #1e3a8a;
    --color-badge-primary-text: #93c5fd;
    --color-badge-success-bg: #14532d;
    --color-badge-success-text: #86efac;
    --color-badge-danger-bg: #7f1d1d;
    --color-badge-danger-text: #fca5a5;
    --color-badge-warning-bg: #78350f;
    --color-badge-warning-text: #fcd34d;

    /* Scrollbar Colors */
    --color-scrollbar-track: #1f2937;
    --color-scrollbar-thumb: #4b5563;
    --color-scrollbar-thumb-hover: #6b7280;
}

/* ============================================
   TAILWIND CLASS OVERRIDES
   These override the compiled Tailwind classes
   to use our CSS variables in dark mode.
   ============================================ */

/* Background Overrides */
.dark .bg-white {
    background-color: var(--color-surface-primary) !important;
}

.dark .bg-gray-50 {
    background-color: var(--color-bg-secondary) !important;
}

.dark .bg-gray-100 {
    background-color: var(--color-bg-tertiary) !important;
}

.dark .bg-gray-200 {
    background-color: var(--color-bg-muted) !important;
}

.dark .bg-gray-800 {
    background-color: var(--color-bg-tertiary) !important;
}

.dark .bg-gray-900 {
    background-color: var(--color-bg-primary) !important;
}

/* Text Color Overrides */
.dark .text-gray-900 {
    color: var(--color-text-primary) !important;
}

.dark .text-gray-800 {
    color: var(--color-text-primary) !important;
}

.dark .text-gray-700 {
    color: var(--color-text-secondary) !important;
}

.dark .text-gray-600 {
    color: var(--color-text-secondary) !important;
}

.dark .text-gray-500 {
    color: var(--color-text-tertiary) !important;
}

.dark .text-gray-400 {
    color: var(--color-text-muted) !important;
}

.dark .text-black {
    color: var(--color-text-primary) !important;
}

/* Border Color Overrides */
.dark .border-gray-200 {
    border-color: var(--color-border-primary) !important;
}

.dark .border-gray-300 {
    border-color: var(--color-border-secondary) !important;
}

.dark .border-gray-100 {
    border-color: var(--color-border-primary) !important;
}

.dark .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--color-border-primary) !important;
}

/* Link Color Overrides */
.dark .text-blue-600 {
    color: var(--color-text-link) !important;
}

.dark .text-blue-700 {
    color: var(--color-text-link) !important;
}

.dark a:not([class*="text-"]):not([class*="btn"]) {
    color: var(--color-text-link);
}

.dark a:not([class*="text-"]):not([class*="btn"]):hover {
    color: var(--color-text-link-hover);
}

/* Hover State Overrides */
.dark .hover\:bg-gray-50:hover {
    background-color: var(--color-bg-hover) !important;
}

.dark .hover\:bg-gray-100:hover {
    background-color: var(--color-bg-hover) !important;
}

.dark .hover\:bg-gray-200:hover {
    background-color: var(--color-bg-active) !important;
}

/* Focus State Overrides */
.dark .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-border-focus) !important;
}

.dark .focus\:border-blue-500:focus {
    border-color: var(--color-border-focus) !important;
}

/* Form Input Overrides */
.dark input:not([type="checkbox"]):not([type="radio"]),
.dark select,
.dark textarea {
    background-color: var(--color-input-bg) !important;
    border-color: var(--color-input-border) !important;
    color: var(--color-input-text) !important;
}

.dark input::placeholder,
.dark textarea::placeholder {
    color: var(--color-input-placeholder) !important;
}

.dark input:focus,
.dark select:focus,
.dark textarea:focus {
    border-color: var(--color-input-border-focus) !important;
}

.dark input:disabled,
.dark select:disabled,
.dark textarea:disabled {
    background-color: var(--color-input-disabled-bg) !important;
    color: var(--color-input-disabled-text) !important;
}

/* Card/Panel Overrides */
.dark .rounded-lg.bg-white,
.dark .rounded-xl.bg-white,
.dark .rounded-2xl.bg-white {
    background-color: var(--color-surface-primary) !important;
}

.dark .shadow,
.dark .shadow-sm,
.dark .shadow-md,
.dark .shadow-lg,
.dark .shadow-xl {
    --tw-shadow-color: var(--color-shadow) !important;
}

/* Table Overrides */
.dark table {
    background-color: var(--color-table-row-bg);
}

.dark thead {
    background-color: var(--color-table-header-bg);
}

.dark tbody tr {
    background-color: var(--color-table-row-bg);
}

.dark tbody tr:nth-child(even) {
    background-color: var(--color-table-row-alt-bg);
}

.dark tbody tr:hover {
    background-color: var(--color-table-row-hover) !important;
}

.dark th,
.dark td {
    border-color: var(--color-table-border) !important;
}

/* Modal/Dialog Overrides */
.dark .fixed.inset-0.bg-gray-500,
.dark .fixed.inset-0.bg-black {
    background-color: var(--color-surface-overlay) !important;
}

/* Badge Overrides */
.dark .bg-gray-100.text-gray-800 {
    background-color: var(--color-badge-default-bg) !important;
    color: var(--color-badge-default-text) !important;
}

.dark .bg-blue-100.text-blue-800,
.dark .bg-blue-100.text-blue-700 {
    background-color: var(--color-badge-primary-bg) !important;
    color: var(--color-badge-primary-text) !important;
}

.dark .bg-green-100.text-green-800,
.dark .bg-green-100.text-green-700 {
    background-color: var(--color-badge-success-bg) !important;
    color: var(--color-badge-success-text) !important;
}

.dark .bg-red-100.text-red-800,
.dark .bg-red-100.text-red-700 {
    background-color: var(--color-badge-danger-bg) !important;
    color: var(--color-badge-danger-text) !important;
}

.dark .bg-yellow-100.text-yellow-800,
.dark .bg-yellow-100.text-yellow-700,
.dark .bg-amber-100.text-amber-800 {
    background-color: var(--color-badge-warning-bg) !important;
    color: var(--color-badge-warning-text) !important;
}

/* Button Overrides - Keep accent colors but adjust for dark mode */
.dark .bg-blue-600 {
    background-color: var(--color-accent-primary) !important;
}

.dark .bg-blue-600:hover,
.dark .hover\:bg-blue-700:hover {
    background-color: var(--color-accent-primary-hover) !important;
}

.dark .bg-green-600 {
    background-color: var(--color-accent-success) !important;
}

.dark .bg-green-600:hover,
.dark .hover\:bg-green-700:hover {
    background-color: var(--color-accent-success-hover) !important;
}

.dark .bg-red-600 {
    background-color: var(--color-accent-danger) !important;
}

.dark .bg-red-600:hover,
.dark .hover\:bg-red-700:hover {
    background-color: var(--color-accent-danger-hover) !important;
}

/* Alert/Notification Overrides */
.dark .bg-blue-50 {
    background-color: var(--color-accent-primary-light) !important;
}

.dark .bg-green-50 {
    background-color: var(--color-accent-success-light) !important;
}

.dark .bg-red-50 {
    background-color: var(--color-accent-danger-light) !important;
}

.dark .bg-yellow-50,
.dark .bg-amber-50 {
    background-color: var(--color-accent-warning-light) !important;
}

/* Icon Color Overrides */
.dark .text-gray-400 svg,
.dark .text-gray-500 svg {
    color: var(--color-text-tertiary) !important;
}

/* Scrollbar Styling */
.dark ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.dark ::-webkit-scrollbar-track {
    background: var(--color-scrollbar-track);
}

.dark ::-webkit-scrollbar-thumb {
    background: var(--color-scrollbar-thumb);
    border-radius: 4px;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: var(--color-scrollbar-thumb-hover);
}

/* Ring Color Overrides */
.dark .ring-gray-200 {
    --tw-ring-color: var(--color-border-primary) !important;
}

.dark .ring-gray-300 {
    --tw-ring-color: var(--color-border-secondary) !important;
}

/* Placeholder Text Override */
.dark .placeholder-gray-400::placeholder,
.dark .placeholder-gray-500::placeholder {
    color: var(--color-input-placeholder) !important;
}

/* ============================================
   PAGE-SPECIFIC COMPONENT OVERRIDES
   Custom classes used in HTML <style> tags
   ============================================ */

/* Card Components with Gradient Backgrounds */
.dark .vehicle-card,
.dark .metric-card,
.dark .driver-card,
.dark .maintenance-card,
.dark .report-card,
.dark .mileage-card,
.dark .tire-card,
.dark .section-card,
.dark .setting-card,
.dark .notification-card,
.dark .export-card,
.dark .stat-card {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    border-color: var(--color-border-primary) !important;
}

/* Login Card */
.dark .login-card {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-secondary)) !important;
    border-color: var(--color-border-primary) !important;
}

/* Glass Effect */
.dark .glass-effect {
    background: rgba(31, 41, 55, 0.8) !important;
    backdrop-filter: blur(10px) !important;
}

/* Search Results Dropdown */
.dark .search-results {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .search-results li:hover,
.dark .search-result-item:hover {
    background: var(--color-bg-hover) !important;
}

/* Section Headers */
.dark .section-header {
    background: linear-gradient(90deg, var(--color-bg-tertiary), var(--color-bg-secondary)) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .section-header h3 {
    color: var(--color-text-primary) !important;
}

/* Settings Page Specific */
.dark .settings-header {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .settings-header h2 {
    color: var(--color-text-primary) !important;
}

.dark .settings-header .subtitle,
.dark .settings-header .status-text {
    color: var(--color-text-tertiary) !important;
}

.dark .setting-row {
    border-color: var(--color-border-primary) !important;
}

.dark .setting-row:hover {
    background: var(--color-bg-hover) !important;
}

.dark .setting-label {
    color: var(--color-text-primary) !important;
}

.dark .setting-description {
    color: var(--color-text-tertiary) !important;
}

/* Form Select Styling */
.dark .form-select,
.dark select.form-select {
    background-color: var(--color-input-bg) !important;
    border-color: var(--color-input-border) !important;
    color: var(--color-input-text) !important;
}

.dark .form-select:focus {
    border-color: var(--color-input-border-focus) !important;
}

/* Export Cards */
.dark .export-item {
    background: var(--color-bg-tertiary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .export-item:hover {
    background: var(--color-bg-hover) !important;
    border-color: var(--color-accent-primary) !important;
}

.dark .export-item.selected {
    background: var(--color-accent-primary-light) !important;
    border-color: var(--color-accent-primary) !important;
}

/* Stat Badges */
.dark .stat-badge {
    background: var(--color-bg-tertiary) !important;
    color: var(--color-text-secondary) !important;
}

.dark .stat-badge.total {
    background: var(--color-accent-info-light) !important;
    color: var(--color-accent-info-dark) !important;
}

.dark .stat-badge.valid {
    background: var(--color-accent-success-light) !important;
    color: var(--color-accent-success-dark) !important;
}

.dark .stat-badge.warning {
    background: var(--color-accent-warning-light) !important;
    color: var(--color-accent-warning-dark) !important;
}

.dark .stat-badge.error {
    background: var(--color-accent-danger-light) !important;
    color: var(--color-accent-danger-dark) !important;
}

/* Filter Buttons */
.dark .filter-btn,
.dark .filter-button {
    background: var(--color-bg-tertiary) !important;
    color: var(--color-text-secondary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .filter-btn:hover,
.dark .filter-button:hover {
    background: var(--color-bg-hover) !important;
}

.dark .filter-btn.active,
.dark .filter-button.active,
.dark .filter-active {
    background: var(--color-accent-primary) !important;
    color: white !important;
}

/* Page Headers */
.dark .page-header,
.dark .bg-white.border-b {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

/* Detail Pages */
.dark .detail-card,
.dark .info-card {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .detail-label {
    color: var(--color-text-tertiary) !important;
}

.dark .detail-value {
    color: var(--color-text-primary) !important;
}

/* Tabs */
.dark .tab-button {
    color: var(--color-text-tertiary) !important;
}

.dark .tab-button:hover {
    color: var(--color-text-primary) !important;
    background: var(--color-bg-hover) !important;
}

.dark .tab-button.active {
    color: var(--color-accent-primary) !important;
    border-color: var(--color-accent-primary) !important;
}

/* Timeline/History Items */
.dark .timeline-item,
.dark .history-item {
    border-color: var(--color-border-primary) !important;
}

.dark .timeline-dot {
    background: var(--color-bg-tertiary) !important;
    border-color: var(--color-border-secondary) !important;
}

/* Data List Items */
.dark .data-row,
.dark .list-item {
    border-color: var(--color-border-primary) !important;
}

.dark .data-row:hover,
.dark .list-item:hover {
    background: var(--color-bg-hover) !important;
}

/* Empty States */
.dark .empty-state {
    color: var(--color-text-tertiary) !important;
}

.dark .empty-state svg {
    color: var(--color-text-muted) !important;
}

/* Loading States */
.dark .loading-skeleton {
    background: linear-gradient(90deg, var(--color-bg-tertiary) 25%, var(--color-bg-muted) 50%, var(--color-bg-tertiary) 75%) !important;
}

/* Notification/Toast Styling */
.dark .toast,
.dark .notification-toast {
    background: var(--color-surface-elevated) !important;
    border-color: var(--color-border-primary) !important;
    color: var(--color-text-primary) !important;
}

/* Modal/Dialog Styling */
.dark .modal-content,
.dark .dialog-content {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .modal-header,
.dark .dialog-header {
    border-color: var(--color-border-primary) !important;
}

.dark .modal-footer,
.dark .dialog-footer {
    background: var(--color-bg-secondary) !important;
    border-color: var(--color-border-primary) !important;
}

/* Dropdown Menus */
.dark .dropdown-menu {
    background: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .dropdown-item {
    color: var(--color-text-primary) !important;
}

.dark .dropdown-item:hover {
    background: var(--color-bg-hover) !important;
}

/* Progress Bars */
.dark .progress-bar-bg {
    background: var(--color-bg-tertiary) !important;
}

/* Info/Help Text */
.dark .info-text,
.dark .help-text,
.dark .hint-text {
    color: var(--color-text-tertiary) !important;
}

/* Dividers */
.dark hr,
.dark .divider {
    border-color: var(--color-border-primary) !important;
}

/* Code/Pre Blocks */
.dark pre,
.dark code {
    background: var(--color-bg-tertiary) !important;
    color: var(--color-text-primary) !important;
}

/* Blockquotes */
.dark blockquote {
    border-left-color: var(--color-border-secondary) !important;
    color: var(--color-text-secondary) !important;
}

/* Chart Container Backgrounds */
.dark .chart-container,
.dark .echarts-container {
    background: var(--color-surface-primary) !important;
}

/* Leaflet Map Tiles (keep as-is, but style controls) */
.dark .leaflet-control {
    background: var(--color-surface-primary) !important;
    color: var(--color-text-primary) !important;
}

.dark .leaflet-popup-content-wrapper {
    background: var(--color-surface-primary) !important;
    color: var(--color-text-primary) !important;
}

/* ============================================
   BODY AND ROOT OVERRIDES
   ============================================ */

/* Main Body Background */
.dark body {
    background-color: var(--color-bg-primary) !important;
    color: var(--color-text-primary) !important;
}

/* Ensure bg-gray-50 on body works */
.dark body.bg-gray-50 {
    background-color: var(--color-bg-primary) !important;
}

/* ============================================
   ADDITIONAL TEXT OVERRIDES
   For inline styles in HTML
   ============================================ */

/* Common text patterns from inline styles */
.dark [style*="color: #111827"],
.dark [style*="color:#111827"] {
    color: var(--color-text-primary) !important;
}

.dark [style*="color: #374151"],
.dark [style*="color:#374151"] {
    color: var(--color-text-secondary) !important;
}

.dark [style*="color: #4b5563"],
.dark [style*="color:#4b5563"] {
    color: var(--color-text-secondary) !important;
}

.dark [style*="color: #6b7280"],
.dark [style*="color:#6b7280"] {
    color: var(--color-text-tertiary) !important;
}

.dark [style*="color: #64748b"],
.dark [style*="color:#64748b"] {
    color: var(--color-text-tertiary) !important;
}

.dark [style*="color: #334155"],
.dark [style*="color:#334155"] {
    color: var(--color-text-secondary) !important;
}

/* Background patterns from inline styles */
.dark [style*="background: #f8fafc"],
.dark [style*="background:#f8fafc"],
.dark [style*="background-color: #f8fafc"],
.dark [style*="background-color:#f8fafc"] {
    background-color: var(--color-bg-secondary) !important;
}

.dark [style*="background: #f1f5f9"],
.dark [style*="background:#f1f5f9"],
.dark [style*="background-color: #f1f5f9"],
.dark [style*="background-color:#f1f5f9"] {
    background-color: var(--color-bg-tertiary) !important;
}

.dark [style*="background: white"],
.dark [style*="background:white"],
.dark [style*="background: #ffffff"],
.dark [style*="background:#ffffff"] {
    background-color: var(--color-surface-primary) !important;
}

/* ================================================================
   VIEW TOGGLE & LIST VIEW - Dark Mode Overrides
   ================================================================ */

/* View Toggle Component */
.dark .view-toggle {
    background: linear-gradient(145deg, var(--color-bg-tertiary), var(--color-bg-secondary)) !important;
    border-color: var(--color-border-primary) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.dark .view-toggle-slider {
    background: linear-gradient(145deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.dark .view-toggle-btn {
    color: var(--color-text-tertiary) !important;
}

.dark .view-toggle-btn:hover:not(.active) {
    color: var(--color-text-secondary) !important;
}

.dark .view-toggle-btn.active {
    color: var(--color-text-brand) !important;
}

/* Vehicle List View Items */
.dark .vehicle-list-item {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .vehicle-list-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    border-color: var(--color-border-secondary) !important;
}

.dark .vehicle-list-plate {
    color: var(--color-text-primary) !important;
}

.dark .vehicle-list-model {
    color: var(--color-text-tertiary) !important;
}

.dark .vehicle-list-label {
    color: var(--color-text-muted) !important;
}

.dark .vehicle-list-value {
    color: var(--color-text-secondary) !important;
}

/* Driver List View Items */
.dark .driver-list-item {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .driver-list-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    border-color: var(--color-border-secondary) !important;
}

.dark .driver-list-name {
    color: var(--color-text-primary) !important;
}

.dark .driver-list-email {
    color: var(--color-text-tertiary) !important;
}

.dark .driver-list-label {
    color: var(--color-text-muted) !important;
}

.dark .driver-list-value {
    color: var(--color-text-secondary) !important;
}

/* List view icon containers */
.dark .vehicle-list-icon,
.dark .driver-list-avatar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* ================================================================
   DASHBOARD - Dark Mode Overrides
   ================================================================ */

/* Maintenance Alerts */
.dark .bg-orange-50 {
    background-color: rgba(245, 158, 11, 0.15) !important;
}

.dark .bg-orange-100 {
    background-color: rgba(245, 158, 11, 0.25) !important;
}

.dark .text-orange-800 {
    color: #fbbf24 !important;
}

.dark .text-orange-600 {
    color: #f59e0b !important;
}

/* Tire Alerts */
.dark .bg-red-100 {
    background-color: rgba(239, 68, 68, 0.25) !important;
}

.dark .text-red-800 {
    color: #f87171 !important;
}

.dark .text-red-600 {
    color: #ef4444 !important;
}

/* Chart containers - ensure dark background */
.dark #costChart,
.dark #vehicleUsageChart {
    background-color: transparent !important;
}

/* ================================================================
   VEHICLE DETAIL PAGE - Dark Mode Overrides
   ================================================================ */

/* Section cards */
.dark .section-card {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    border-color: var(--color-border-primary) !important;
}

/* Tire cards */
.dark .tire-card {
    background: linear-gradient(135deg, var(--color-surface-primary), var(--color-bg-tertiary)) !important;
    border-color: var(--color-border-primary) !important;
}

.dark .tire-card:hover {
    border-color: var(--color-border-secondary) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3) !important;
}

.dark .tire-card-empty {
    background: linear-gradient(135deg, var(--color-bg-tertiary), var(--color-bg-secondary)) !important;
    border-color: var(--color-border-secondary) !important;
}

/* Tread depth colors */
.dark .tread-depth-good {
    color: #4ade80 !important;
}

.dark .tread-depth-warning {
    color: #fbbf24 !important;
}

.dark .tread-depth-critical {
    color: #f87171 !important;
}

/* Condition badges - dark mode friendly */
.dark .condition-good {
    background-color: rgba(34, 197, 94, 0.2) !important;
    color: #4ade80 !important;
}

.dark .condition-fair {
    background-color: rgba(251, 191, 36, 0.2) !important;
    color: #fbbf24 !important;
}

.dark .condition-poor {
    background-color: rgba(251, 146, 60, 0.2) !important;
    color: #fb923c !important;
}

.dark .condition-replace {
    background-color: rgba(248, 113, 113, 0.2) !important;
    color: #f87171 !important;
}

/* Inline edit styles */
.dark .inline-edit-field.editing-active {
    background: rgba(59, 130, 246, 0.2) !important;
    border-color: #3b82f6 !important;
}

.dark .inline-edit-field:hover .inline-edit-display svg {
    color: #60a5fa !important;
}

/* Status maintenance orange override for dark mode */
.dark .status-maintenance {
    background: linear-gradient(135deg, #b45309, #92400e) !important;
}

/* Vehicle image placeholder */
.dark #vehicleImage {
    background-color: var(--color-bg-tertiary) !important;
}

/* Driver dropdown */
.dark #driverDropdown {
    background-color: var(--color-surface-primary) !important;
    border-color: var(--color-border-primary) !important;
}

.dark #driverDropdown .bg-gray-50 {
    background-color: var(--color-bg-tertiary) !important;
}

.dark #driverDropdown .border-gray-200 {
    border-color: var(--color-border-primary) !important;
}

.dark #driverDropdown .hover\:bg-red-50:hover {
    background-color: rgba(239, 68, 68, 0.15) !important;
}

/* Driver list items in dropdown */
.dark #driverListContainer > div {
    border-color: var(--color-border-primary) !important;
}

.dark #driverListContainer .hover\:bg-gray-50:hover,
.dark #driverListContainer .hover\:bg-blue-50:hover {
    background-color: var(--color-bg-hover) !important;
}

/* Transition for smooth theme switching */
html.theme-transition,
html.theme-transition *,
html.theme-transition *:before,
html.theme-transition *:after {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
    transition-delay: 0s !important;
}
