/**
 * RailBud - Theme System
 * Light and Dark mode color schemes
 */

/* ========================================
   LIGHT THEME (Default)
   ======================================== */
:root,
[data-theme="light"] {
    /* Primary Colors */
    --color-primary-50: #eff6ff;
    --color-primary-100: #dbeafe;
    --color-primary-200: #bfdbfe;
    --color-primary-300: #93c5fd;
    --color-primary-400: #60a5fa;
    --color-primary-500: #3b82f6;
    --color-primary-600: #2563eb;
    --color-primary-700: #1d4ed8;
    --color-primary-800: #1e40af;
    --color-primary-900: #1e3a8a;

    /* Accent Colors */
    --color-accent-400: #fb923c;
    --color-accent-500: #f97316;
    --color-accent-600: #ea580c;

    /* Semantic Colors */
    --color-success-50: #ecfdf5;
    --color-success-100: #d1fae5;
    --color-success-500: #10b981;
    --color-success-600: #059669;
    --color-success-700: #047857;

    --color-warning-50: #fffbeb;
    --color-warning-100: #fef3c7;
    --color-warning-500: #f59e0b;
    --color-warning-600: #d97706;
    --color-warning-700: #b45309;

    --color-error-50: #fef2f2;
    --color-error-100: #fee2e2;
    --color-error-500: #ef4444;
    --color-error-600: #dc2626;
    --color-error-700: #b91c1c;

    /* Neutral Colors */
    --color-gray-50: #f8fafc;
    --color-gray-100: #f1f5f9;
    --color-gray-200: #e2e8f0;
    --color-gray-300: #cbd5e1;
    --color-gray-400: #94a3b8;
    --color-gray-500: #64748b;
    --color-gray-600: #475569;
    --color-gray-700: #334155;
    --color-gray-800: #1e293b;
    --color-gray-900: #0f172a;
    --color-gray-950: #020617;

    /* Semantic Mappings */
    --bg-primary: #ffffff;
    --bg-secondary: var(--color-gray-50);
    --bg-tertiary: var(--color-gray-100);
    --bg-inverse: var(--color-gray-900);
    --bg-overlay: rgb(15 23 42 / 0.5);

    --surface-primary: #ffffff;
    --surface-secondary: var(--color-gray-50);
    --surface-elevated: #ffffff;
    --surface-sunken: var(--color-gray-100);

    --text-primary: var(--color-gray-900);
    --text-secondary: var(--color-gray-600);
    --text-tertiary: var(--color-gray-500);
    --text-muted: var(--color-gray-400);
    --text-inverse: #ffffff;
    --text-link: var(--color-primary-600);

    --border-primary: var(--color-gray-200);
    --border-secondary: var(--color-gray-100);
    --border-focus: var(--color-primary-500);

    --icon-primary: var(--color-gray-600);
    --icon-secondary: var(--color-gray-400);
    --icon-accent: var(--color-primary-500);

    /* Component Specific */
    --header-bg: #ffffff;
    --header-border: var(--color-gray-100);
    --header-shadow: var(--shadow-sm);

    --input-bg: #ffffff;
    --input-border: var(--color-gray-200);
    --input-border-hover: var(--color-gray-300);
    --input-border-focus: var(--color-primary-500);
    --input-placeholder: var(--color-gray-400);

    --card-bg: #ffffff;
    --card-border: var(--color-gray-100);
    --card-shadow: var(--shadow-sm);
    --card-hover-shadow: var(--shadow-md);

    --badge-bg: var(--color-gray-100);
    --badge-text: var(--color-gray-700);

    --skeleton-base: var(--color-gray-100);
    --skeleton-shine: var(--color-gray-200);

    /* Scrollbar */
    --scrollbar-track: var(--color-gray-100);
    --scrollbar-thumb: var(--color-gray-300);
    --scrollbar-thumb-hover: var(--color-gray-400);
}

/* ========================================
   DARK THEME
   ======================================== */
[data-theme="dark"] {
    /* Primary Colors - slightly adjusted for dark */
    --color-primary-50: #1e3a5f;
    --color-primary-100: #1e40af;
    --color-primary-200: #1d4ed8;
    --color-primary-300: #2563eb;
    --color-primary-400: #3b82f6;
    --color-primary-500: #60a5fa;
    --color-primary-600: #93c5fd;
    --color-primary-700: #bfdbfe;

    /* Semantic Mappings */
    --bg-primary: #0a0f1a;
    --bg-secondary: #0f172a;
    --bg-tertiary: #1e293b;
    --bg-inverse: #f8fafc;
    --bg-overlay: rgb(0 0 0 / 0.7);

    --surface-primary: #111827;
    --surface-secondary: #1e293b;
    --surface-elevated: #1e293b;
    --surface-sunken: #0a0f1a;

    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-tertiary: #64748b;
    --text-muted: #475569;
    --text-inverse: #0f172a;
    --text-link: var(--color-primary-400);

    --border-primary: #334155;
    --border-secondary: #1e293b;
    --border-focus: var(--color-primary-500);

    --icon-primary: #94a3b8;
    --icon-secondary: #64748b;
    --icon-accent: var(--color-primary-400);

    /* Component Specific */
    --header-bg: #0f172a;
    --header-border: #1e293b;
    --header-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3);

    --input-bg: #1e293b;
    --input-border: #334155;
    --input-border-hover: #475569;
    --input-border-focus: var(--color-primary-500);
    --input-placeholder: #64748b;

    --card-bg: #1e293b;
    --card-border: #334155;
    --card-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3);
    --card-hover-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.4);

    --badge-bg: #334155;
    --badge-text: #cbd5e1;

    --skeleton-base: #1e293b;
    --skeleton-shine: #334155;

    /* Semantic - adjusted for dark */
    --color-success-50: #064e3b;
    --color-success-100: #065f46;
    --color-warning-50: #451a03;
    --color-warning-100: #78350f;
    --color-error-50: #450a0a;
    --color-error-100: #7f1d1d;

    /* Scrollbar */
    --scrollbar-track: #1e293b;
    --scrollbar-thumb: #475569;
    --scrollbar-thumb-hover: #64748b;

    /* Shadows - darker for dark theme */
    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.2);
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.3), 0 1px 2px -1px rgb(0 0 0 / 0.3);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.4);
}

/* ========================================
   THEME TOGGLE ICON VISIBILITY
   ======================================== */
[data-theme="light"] .theme-icon-light {
    display: block;
}
[data-theme="light"] .theme-icon-dark {
    display: none;
}
[data-theme="dark"] .theme-icon-light {
    display: none;
}
[data-theme="dark"] .theme-icon-dark {
    display: block;
}

/* ========================================
   SYSTEM PREFERENCE DETECTION
   ======================================== */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        /* Inherit dark theme variables */
    }
}