:root {
  /* Brand Colors */
  --brand-blue: #4BA3E3;
  --brand-blue-dark: #1B3A57;
  --brand-blue-light: #E8F4FD;
  --brand-cyan: #5BC0DE;
  --brand-green: #5CB85C;
  --brand-red: #E07A6E;
  --brand-yellow: #F0AD4E;
  --brand-white: #FFFFFF;

  /* Gray Scale */
  --gray-50: #F9FAFB;
  --gray-100: #F3F4F6;
  --gray-200: #E5E7EB;
  --gray-300: #D1D5DB;
  --gray-400: #9CA3AF;
  --gray-500: #6B7280;
  --gray-600: #4B5563;
  --gray-700: #374151;
  --gray-800: #1F2937;
  --gray-900: #111827;
  --gray-950: #030712;

  /* Semantic Colors - Light Theme */
  --color-bg: var(--brand-white);
  --color-bg-muted: var(--gray-50);
  --color-bg-accent: var(--brand-blue-light);
  --color-text: var(--brand-blue-dark);
  --color-text-muted: var(--gray-500);
  --color-text-subtle: var(--gray-400);
  --color-border: var(--gray-200);
  --color-border-muted: var(--gray-100);

  /* Primary */
  --color-primary: var(--brand-blue);
  --color-primary-hover: #3A8BC9;
  --color-primary-dark: var(--brand-blue-dark);

  /* Status */
  --color-success: var(--brand-green);
  --color-warning: var(--brand-yellow);
  --color-danger: var(--brand-red);

  /* Typography */
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Fira Code', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;

  /* Font Sizes */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;

  /* Line Heights */
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* Letter Spacing */
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;

  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Spacing */
  --space-0: 0;
  --space-1: 0.25rem;
  --space-1-5: 0.375rem;
  --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;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Container Widths */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;

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

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

  /* Transitions */
  --duration-fast: 200ms;
  --duration-normal: 250ms;
  --duration-slow: 350ms;
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-Index */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-tooltip: 700;

  /* Form Tokens */
  --input-bg: var(--color-bg);
  --input-border: var(--color-border);
  --input-border-focus: var(--color-primary);
  --input-placeholder: var(--color-text-muted);
  --input-radius: var(--radius-md);
  --input-padding-x: var(--space-3);
  --input-padding-y: var(--space-2);

  /* Button Tokens */
  --button-radius: var(--radius-sm);
  --button-padding-x: var(--space-6);
  --button-padding-y: var(--space-2);

  /* Red Scale (for errors) */
  --red-50: #FEF2F2;
  --red-100: #FEE2E2;
  --red-200: #FECACA;
  --red-500: #EF4444;
  --red-600: #DC2626;
  --red-700: #B91C1C;
}

/* Dark Theme (opt-in) */
[data-theme="dark"] {
  --color-bg: var(--brand-blue-dark);
  --color-bg-muted: #152A3D;
  --color-text: var(--gray-100);
  --color-text-muted: var(--gray-400);
  --color-border: var(--gray-700);
}
