/* ============================================
   theme.css — Light & Dark Mode CSS Variables
   Palette: Slate + Electric Indigo
   ============================================ */

:root {
  /* ---- Typography ---- */
  --font-primary: 'Inter', 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* ---- Transitions ---- */
  --transition-fast: 0.15s ease;
  --transition-base: 0.25s ease;
  --transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Border Radius ---- */
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 18px;
  --radius-pill: 9999px;

  /* ---- Spacing ---- */
  --sidebar-width: 252px;
  --sidebar-collapsed-width: 64px;
  --header-height: 56px;
}

/* =========================================
   LIGHT MODE (default)
   ========================================= */
[data-theme="light"] {
  /* ---- Surface / Background ---- */
  --bg-body: #f3f4f8;
  --bg-surface: #ffffff;
  --bg-surface-hover: #f5f6fa;
  --bg-sidebar: rgba(255, 255, 255, 0.97);
  --bg-card: #ffffff;
  --bg-card-hover: #fafbfe;
  --bg-input: #f3f4f8;
  --bg-badge: #eef0f7;

  /* ---- Glass ---- */
  --glass-bg: rgba(255, 255, 255, 0.92);
  --glass-blur: 16px;
  --glass-border: rgba(210, 215, 230, 0.7);

  /* ---- Text ---- */
  --text-primary: #111827;
  --text-secondary: #4b5563;
  --text-muted: #9ca3af;
  --text-inverse: #f9fafb;

  /* ---- Brand / Accent — Electric Indigo ---- */
  --accent: #6366f1;
  --accent-hover: #4f46e5;
  --accent-subtle: rgba(99, 102, 241, 0.08);
  --accent-light: rgba(99, 102, 241, 0.14);
  --accent-text: #4338ca;
  --accent-glow: rgba(99, 102, 241, 0.28);

  /* ---- Semantic Colors ---- */
  --success: #16a34a;
  --success-subtle: rgba(22, 163, 74, 0.09);
  --warning: #d97706;
  --warning-subtle: rgba(217, 119, 6, 0.09);
  --danger: #dc2626;
  --danger-subtle: rgba(220, 38, 38, 0.08);
  --info: #2563eb;
  --info-subtle: rgba(37, 99, 235, 0.08);

  /* ---- Borders ---- */
  --border-color: #e4e7ef;
  --border-subtle: rgba(220, 225, 237, 0.9);

  /* ---- Shadows ---- */
  --shadow-xs: 0 1px 2px rgba(17, 24, 39, 0.05);
  --shadow-sm: 0 1px 4px rgba(17, 24, 39, 0.08), 0 1px 2px rgba(17, 24, 39, 0.05);
  --shadow-md: 0 3px 10px rgba(17, 24, 39, 0.09), 0 1px 4px rgba(17, 24, 39, 0.06);
  --shadow-lg: 0 8px 20px rgba(17, 24, 39, 0.1), 0 3px 8px rgba(17, 24, 39, 0.06);
  --shadow-xl: 0 16px 32px rgba(17, 24, 39, 0.12), 0 6px 12px rgba(17, 24, 39, 0.07);
  --shadow-glow: 0 0 0 3px var(--accent-glow);

  /* ---- Scrollbar ---- */
  --scrollbar-track: #f1f3f8;
  --scrollbar-thumb: #d1d8e8;
  --scrollbar-thumb-hover: #b0bbcf;

  /* ---- Card Gradients ---- */
  --card-gradient: linear-gradient(145deg, #ffffff 0%, #fafbfe 100%);
  --card-shimmer: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.7) 50%, transparent 60%);
}

/* =========================================
   DARK MODE
   ========================================= */
[data-theme="dark"] {
  /* ---- Surface / Background ---- */
  --bg-body: #080c14;
  --bg-surface: #0f1625;
  --bg-surface-hover: #1a2235;
  --bg-sidebar: rgba(10, 14, 25, 0.9);
  --bg-card: rgba(20, 28, 48, 0.6);
  --bg-card-hover: rgba(26, 36, 58, 0.85);
  --bg-input: #141e33;
  --bg-badge: #141e33;

  /* ---- Glass ---- */
  --glass-bg: rgba(10, 14, 25, 0.7);
  --glass-blur: 20px;
  --glass-border: rgba(99, 102, 241, 0.12);

  /* ---- Text ---- */
  --text-primary: #e8edf5;
  --text-secondary: #8899b4;
  --text-muted: #4a5a78;
  --text-inverse: #0f172a;

  /* ---- Brand / Accent — Electric Indigo ---- */
  --accent: #818cf8;
  --accent-hover: #6366f1;
  --accent-subtle: rgba(129, 140, 248, 0.12);
  --accent-light: rgba(129, 140, 248, 0.2);
  --accent-text: #a5b4fc;
  --accent-glow: rgba(129, 140, 248, 0.4);

  /* ---- Semantic Colors ---- */
  --success: #4ade80;
  --success-subtle: rgba(74, 222, 128, 0.12);
  --warning: #fbbf24;
  --warning-subtle: rgba(251, 191, 36, 0.12);
  --danger: #f87171;
  --danger-subtle: rgba(248, 113, 113, 0.12);
  --info: #60a5fa;
  --info-subtle: rgba(96, 165, 250, 0.12);

  /* ---- Borders ---- */
  --border-color: #1e2a42;
  --border-subtle: rgba(99, 102, 241, 0.1);

  /* ---- Shadows ---- */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.45), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 0 3px var(--accent-glow);

  /* ---- Scrollbar ---- */
  --scrollbar-track: #0f1625;
  --scrollbar-thumb: #1e2a42;
  --scrollbar-thumb-hover: #2d3c58;

  /* ---- Card Gradients ---- */
  --card-gradient: linear-gradient(135deg, rgba(20,28,48,0.9) 0%, rgba(15,22,40,0.7) 100%);
  --card-shimmer: linear-gradient(105deg, transparent 40%, rgba(129,140,248,0.06) 50%, transparent 60%);
}

