/* ============================================
   FuelOdo - Design Tokens & CSS Variables
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Orbitron:wght@400;500;600;700&display=swap');

:root {
  /* ── Primary Palette ── */
  --primary-50: #eef2ff;
  --primary-100: #e0e7ff;
  --primary-200: #c7d2fe;
  --primary-300: #a5b4fc;
  --primary-400: #818cf8;
  --primary-500: #6366f1;
  --primary-600: #4f46e5;
  --primary-700: #4338ca;
  --primary-800: #3730a3;
  --primary-900: #312e81;

  /* ── Accent (Emerald/Green) ── */
  --accent-50: #f0fdf4;
  --accent-100: #dcfce7;
  --accent-200: #bbf7d0;
  --accent-300: #86efac;
  --accent-400: #4ade80;
  --accent-500: #22c55e;
  --accent-600: #16a34a;
  --accent-700: #15803d;
  --accent-800: #166534;
  --accent-900: #14532d;

  /* ── Cyan (Secondary Accent) ── */
  --cyan-50: #ecfeff;
  --cyan-100: #cffafe;
  --cyan-200: #a5f3fc;
  --cyan-300: #67e8f9;
  --cyan-400: #22d3ee;
  --cyan-500: #06b6d4;
  --cyan-600: #0891b2;
  --cyan-700: #0e7490;

  /* ── Warning (Amber) ── */
  --warning-50: #fffbeb;
  --warning-100: #fef3c7;
  --warning-200: #fde68a;
  --warning-300: #fcd34d;
  --warning-400: #fbbf24;
  --warning-500: #f59e0b;
  --warning-600: #d97706;
  --warning-700: #b45309;

  /* ── Danger (Rose/Red) ── */
  --danger-50: #fef2f2;
  --danger-100: #fee2e2;
  --danger-200: #fecaca;
  --danger-300: #fca5a5;
  --danger-400: #f87171;
  --danger-500: #ef4444;
  --danger-600: #dc2626;
  --danger-700: #b91c1c;

  /* ── Gradient Tokens ── */
  --gradient-primary: linear-gradient(135deg, var(--primary-500), var(--primary-700));
  --gradient-accent: linear-gradient(135deg, var(--accent-400), var(--cyan-500));
  --gradient-hero: linear-gradient(135deg, var(--primary-500), var(--cyan-400), var(--accent-400));
  --gradient-mesh-1: radial-gradient(ellipse at 20% 50%, rgba(99,102,241,0.15) 0%, transparent 50%);
  --gradient-mesh-2: radial-gradient(ellipse at 80% 20%, rgba(6,182,212,0.10) 0%, transparent 50%);
  --gradient-mesh-3: radial-gradient(ellipse at 60% 80%, rgba(34,197,94,0.08) 0%, transparent 50%);
  --gradient-shimmer: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.06) 50%, transparent 100%);

  /* ── Light Theme (default) ── */
  --bg-primary: #f0f2f8;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f8f9fc;
  --bg-glass: rgba(255, 255, 255, 0.72);
  --bg-glass-hover: rgba(255, 255, 255, 0.88);
  --bg-sidebar: #0f172a;
  --bg-sidebar-hover: rgba(255, 255, 255, 0.08);
  --bg-sidebar-active: rgba(59, 91, 255, 0.2);

  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-tertiary: #94a3b8;
  --text-inverse: #ffffff;
  --text-sidebar: #cbd5e1;
  --text-sidebar-active: #ffffff;

  --border-color: rgba(15, 23, 42, 0.08);
  --border-strong: rgba(15, 23, 42, 0.15);

  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 8px 30px rgba(15, 23, 42, 0.08);
  --shadow-xl: 0 16px 50px rgba(15, 23, 42, 0.12);
  --shadow-glow: 0 0 20px rgba(59, 91, 255, 0.15);
  --shadow-card: 0 2px 8px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
  --shadow-glow-primary: 0 0 30px rgba(99, 102, 241, 0.2);
  --shadow-glow-accent: 0 0 30px rgba(34, 197, 94, 0.15);
  --shadow-glow-cyan: 0 0 30px rgba(6, 182, 212, 0.15);

  /* ── Typography ── */
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: 'Outfit', 'Inter', sans-serif;
  --font-mono: 'Orbitron', 'Courier New', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-lg: 1.0625rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.5rem;

  /* ── Spacing ── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* ── Border Radius ── */
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* ── Transitions ── */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Sidebar ── */
  --sidebar-width: 260px;
  --sidebar-collapsed: 72px;
  --header-height: 64px;
}

/* ── Dark Theme ── */
[data-theme="dark"] {
  --bg-primary: #0a0e1a;
  --bg-secondary: #0f1629;
  --bg-tertiary: #161d35;
  --bg-glass: rgba(15, 22, 41, 0.85);
  --bg-glass-hover: rgba(22, 29, 53, 0.95);
  --bg-sidebar: #0a0e1a;
  --bg-sidebar-hover: rgba(255, 255, 255, 0.08);
  --bg-sidebar-active: rgba(99, 102, 241, 0.25);

  --text-primary: #e5e7eb;
  --text-secondary: #94a3b8;
  --text-tertiary: #64748b;
  --text-inverse: #0f172a;

  --border-color: rgba(148, 163, 184, 0.08);
  --border-strong: rgba(148, 163, 184, 0.15);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 16px 50px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 25px rgba(99, 102, 241, 0.25);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.2);
  --shadow-glow-primary: 0 0 40px rgba(99, 102, 241, 0.3);
  --shadow-glow-accent: 0 0 40px rgba(34, 197, 94, 0.2);
  --shadow-glow-cyan: 0 0 40px rgba(6, 182, 212, 0.2);

  --gradient-shimmer: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.03) 50%, transparent 100%);
}
