/**
 * Global Dynamic Theme System
 * Photography Management System
 */

:root {
    /* Typography Font Families */
    --font-bengali: "Hind Siliguri", sans-serif;
    --font-body: "Inter", sans-serif;
    --font-heading: "Geist", sans-serif;

    /* Brand & Accent Colors */
    --color-primary: #2563eb;
    --color-primary-hover: #1d4ed8;
    --color-primary-active: #1e40af;
    --color-primary-subtle-border: rgba(37, 99, 235, 0.3);

    /* Status Colors */
    --color-success: #16a34a;
    --color-warning: #f59e0b;
    --color-danger: #dc2626;
    --color-info: #0ea5e9;

    /* Backgrounds & Surfaces */
    --color-background: #f8fafc;
    --color-surface: #ffffff;
    --color-surface-glass: rgba(255, 255, 255, 0.85);
    --color-surface-translucent: rgba(255, 255, 255, 0.75);
    --color-white: #ffffff;

    /* Typography / Text Colors */
    --color-text: #0f172a;
    --color-text-secondary: #475569;
    --color-text-muted: #64748b;
    --color-text-pill: #334155;

    /* Borders & Dividers */
    --color-border: #e2e8f0;
    --color-border-subtle: rgba(226, 232, 240, 0.8);
    --color-border-pill: rgba(203, 213, 225, 0.8);
    --color-border-light: rgba(255, 255, 255, 0.85);
    --color-dot: #cbd5e1;

    /* Gradients */
    --gradient-bg-overlay: radial-gradient(circle at 50% 10%, rgba(219, 234, 254, 0.4) 0%, rgba(235, 244, 255, 0.65) 50%, rgba(240, 247, 255, 0.75) 100%);
    --gradient-hero-card: linear-gradient(180deg, rgba(255, 255, 255, 0.90) 0%, rgba(235, 244, 255, 0.82) 100%);
    --gradient-login-card: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(235, 244, 255, 0.88) 100%);
    --gradient-btn-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
    --gradient-btn-primary-hover: linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-active));
    --gradient-label-bg: linear-gradient(90deg, rgba(219, 234, 254, 0.95) 0%, rgba(239, 246, 255, 0.6) 60%, rgba(255, 255, 255, 0) 100%);

    /* Form Inputs & Component Specific Tokens */
    --color-input-bg: rgba(255, 255, 255, 0.85);
    --color-input-focus-bg: #ffffff;
    --color-input-border: rgba(226, 232, 240, 0.8);
    --shadow-input-focus: 0 0 0 3px rgba(37, 99, 235, 0.15);
    --color-card-header-bg: rgba(255, 255, 255, 0.6);
    --color-badge-bg: rgba(239, 246, 255, 0.85);
    --color-badge-border: rgba(191, 219, 254, 0.85);

    /* Elevation & Shadows */
    --shadow-sm: 0 1px 4px rgba(30, 90, 180, 0.04);
    --shadow-md: 0 4px 12px rgba(30, 90, 180, 0.05);
    --shadow-lg: 0 6px 20px rgba(30, 90, 180, 0.08);
    --shadow-hero: 0 20px 50px rgba(30, 90, 180, 0.15), 0 4px 15px rgba(255, 255, 255, 0.8) inset;
    --shadow-login-card: 0 20px 45px rgba(30, 90, 180, 0.12), 0 4px 15px rgba(255, 255, 255, 0.8) inset;
    --shadow-primary-btn: 0 6px 18px rgba(37, 99, 235, 0.28);
    --shadow-primary-btn-hover: 0 8px 22px rgba(37, 99, 235, 0.38);
    --shadow-outline-btn-hover: 0 6px 16px rgba(37, 99, 235, 0.12);

    /* Border Radius */
    --radius-xs: 2px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 28px;

    /* Animations & Transitions */
    --transition-base: all 0.2s ease-in-out;
    --transition-fast: all 0.2s ease;
}

/* Theme Architecture Override Skeletons */
[data-theme="blue"] {
    --color-primary: #2563eb;
    --color-primary-hover: #1d4ed8;
    --color-primary-active: #1e40af;
}

[data-theme="purple"] {
    --color-primary: #7c3aed;
    --color-primary-hover: #6d28d9;
    --color-primary-active: #5b21b6;
    --shadow-primary-btn: 0 6px 18px rgba(124, 58, 237, 0.28);
    --shadow-primary-btn-hover: 0 8px 22px rgba(124, 58, 237, 0.38);
}

[data-theme="green"] {
    --color-primary: #059669;
    --color-primary-hover: #047857;
    --color-primary-active: #065f46;
    --shadow-primary-btn: 0 6px 18px rgba(5, 150, 105, 0.28);
    --shadow-primary-btn-hover: 0 8px 22px rgba(5, 150, 105, 0.38);
}

[data-theme="dark"] {
    --color-background: #0f172a;
    --color-surface: #1e293b;
    --color-surface-glass: rgba(30, 41, 59, 0.85);
    --color-surface-translucent: rgba(30, 41, 59, 0.75);
    --color-text: #f8fafc;
    --color-text-secondary: #cbd5e1;
    --color-text-muted: #94a3b8;
    --color-text-pill: #e2e8f0;
    --color-border: #334155;
    --color-border-subtle: rgba(51, 65, 85, 0.8);
    --color-input-bg: rgba(30, 41, 59, 0.85);
    --color-input-focus-bg: #1e293b;
    --color-input-border: rgba(51, 65, 85, 0.8);
    --shadow-input-focus: 0 0 0 3px rgba(37, 99, 235, 0.3);
    --color-card-header-bg: rgba(30, 41, 59, 0.6);
    --color-badge-bg: rgba(30, 58, 138, 0.4);
    --color-badge-border: rgba(30, 58, 138, 0.6);
    --gradient-label-bg: linear-gradient(90deg, rgba(30, 58, 138, 0.5) 0%, rgba(30, 41, 59, 0.4) 60%, rgba(30, 41, 59, 0) 100%);
    --gradient-hero-card: linear-gradient(180deg, rgba(30, 41, 59, 0.90) 0%, rgba(15, 23, 42, 0.85) 100%);
    --gradient-login-card: linear-gradient(180deg, rgba(30, 41, 59, 0.94) 0%, rgba(15, 23, 42, 0.88) 100%);
    --shadow-login-card: 0 20px 45px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(255, 255, 255, 0.05) inset;
    --gradient-bg-overlay: radial-gradient(circle at 50% 10%, rgba(15, 23, 42, 0.7) 0%, rgba(15, 23, 42, 0.85) 50%, rgba(15, 23, 42, 0.95) 100%);
}
