/* ===== Design Tokens =====
   Single source of truth for all visual values.
   Every component/view must reference these variables instead of hardcoded values.
*/

:root {
  /* ---- Color Palette ---- */
  --color-primary: #3b82f6;
  --color-primary-light: #eff6ff;
  --color-primary-dark: #1d4ed8;

  --color-success: #22c55e;
  --color-success-light: #f0fdf4;
  --color-success-dark: #15803d;

  --color-warning: #f59e0b;
  --color-warning-light: #fffbeb;
  --color-warning-dark: #b45309;

  --color-danger: #ef4444;
  --color-danger-light: #fef2f2;
  --color-danger-dark: #b91c1c;

  /* ---- Surfaces & Backgrounds ---- */
  --bg-page: #f3f7fc;
  --bg-surface: rgba(255, 255, 255, 0.94);
  --bg-sidebar: rgba(255, 255, 255, 0.92);
  --bg-subtle: rgba(15, 93, 216, 0.06);

  /* ---- Text ---- */
  --text-primary: #1e293b;
  --text-secondary: #64748b;
  --text-muted: #94a3b8;

  /* ---- Borders ---- */
  --border-default: rgba(86, 108, 138, 0.12);
  --border-hover: rgba(37, 99, 235, 0.28);

  /* ---- Spacing (4px base) ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  /* ---- Border Radius ---- */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;

  /* ---- Shadows ---- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 30px rgba(30, 49, 78, 0.08);

  /* ---- Typography ---- */
  --font-sans: 'PingFang SC', 'SF Pro Display', 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SFMono-Regular', ui-monospace, monospace;

  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 28px;

  /* ---- Breakpoints (for reference, not used as CSS variables directly) ---- */
  --bp-lg: 1200px;
  --bp-md: 900px;
  --bp-sm: 640px;
}
