/* SaaS design tokens. Theme stays controlled by the existing body.dark class. */
:root {
  color-scheme: light;
  --primary: #1f8ded;
  --primary-hover: #1a7acc;
  --neutral-50: #f9fafb;
  --neutral-100: #f3f4f6;
  --neutral-200: #e5e7eb;
  --neutral-300: #d1d5db;
  --neutral-400: #9ca3af;
  --neutral-500: #6b7280;
  --neutral-600: #4b5563;
  --neutral-700: #374151;
  --neutral-800: #1f2937;
  --neutral-900: #111827;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --info: #3b82f6;
  --bg: #f9fafb;
  --panel: #ffffff;
  --surface-hover: #f3f4f6;
  --surface-subtle: #f9fafb;
  --text: #111827;
  --muted: #6b7280;
  --line: #e5e7eb;
  --border-strong: #d1d5db;
  --blue: var(--primary);
  --blue2: #edf6ff;
  --green: #047857;
  --red: #b91c1c;
  --orange: #b45309;
  --purple: #7c3aed;
  --success-bg: #ecfdf5;
  --warning-bg: #fffbeb;
  --danger-bg: #fef2f2;
  --danger-border: #fca5a5;
  --danger-strong: #dc2626;
  --info-bg: #eff6ff;
  --purple-bg: #f5f3ff;
  --sidebar: #101827;
  --sidebar-text: #cbd5e1;
  --sidebar-muted: #94a3b8;
  --sidebar-hover: #1e293b;
  --sidebar-border: #283449;
  --sidebar-active: #1b3552;
  --sidebar-active-text: #91caff;
  --banner-start: #edf6ff;
  --banner-end: #f0f4ff;
  --focus-ring: 0 0 0 3px rgba(31, 141, 237, .2);
  --danger-ring: 0 0 0 3px rgba(239, 68, 68, .12);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, .1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);
  --shadow: var(--shadow-sm);
  --overlay: rgba(15, 23, 42, .48);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 50%;
  --r: var(--radius-md);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --font-family: Inter, "Segoe UI", Arial, sans-serif;
  --font-xs: 12px;
  --font-sm: 14px;
  --font-md: 16px;
  --font-lg: 18px;
  --font-xl: 20px;
  --font-2xl: 24px;
  --font-3xl: 32px;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-body: 1.5;
  --leading-heading: 1.3;
}
body.dark {
  color-scheme: dark;
  --bg: #0f172a;
  --panel: #1e293b;
  --surface-hover: #273449;
  --surface-subtle: #172235;
  --text: #f3f4f6;
  --muted: #a6b2c5;
  --line: #334155;
  --border-strong: #475569;
  --blue2: #17334e;
  --green: #6ee7b7;
  --red: #fca5a5;
  --orange: #fcd34d;
  --purple: #c4b5fd;
  --success-bg: #14352e;
  --warning-bg: #3c301b;
  --danger-bg: #44242b;
  --danger-border: #b95764;
  --danger-strong: #dc2626;
  --info-bg: #1b3150;
  --purple-bg: #30254c;
  --banner-start: #17334e;
  --banner-end: #252c49;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, .25);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);
  --overlay: rgba(2, 6, 23, .7);
}
