:root {
  /* Brand */
  --color-brand-primary: #1f3a5f;
  --color-brand-primary-hover: #172d49;
  --color-background: #f6f8fa;
  --color-surface: #ffffff;
  --color-text-primary: #182230;
  --color-text-muted: #667085;
  --color-border: #dde3ea;

  /* Neutral */
  --color-neutral-50: #f8fafc;
  --color-neutral-100: #f1f5f9;
  --color-neutral-200: #e2e8f0;
  --color-neutral-300: #cbd5e1;
  --color-neutral-400: #94a3b8;
  --color-neutral-500: #64748b;
  --color-neutral-600: #475569;
  --color-neutral-700: #334155;
  --color-neutral-800: #1e293b;
  --color-neutral-900: #0f172a;

  /* Semantic */
  --color-success: #157347;
  --color-success-bg: #eaf7ef;
  --color-success-border: #a9d8bc;
  --color-warning: #9a6700;
  --color-warning-bg: #fff4d6;
  --color-warning-border: #e8c76d;
  --color-danger: #b42318;
  --color-danger-bg: #fdecec;
  --color-danger-border: #f0a8a3;
  --color-info: #175cd3;
  --color-info-bg: #eef4ff;
  --color-info-border: #b2ccff;

  /* Typography */
  --font-family-sans:
    "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --line-height-xs: 1rem;
  --line-height-sm: 1.25rem;
  --line-height-md: 1.5rem;
  --line-height-lg: 1.625rem;
  --line-height-xl: 1.75rem;
  --line-height-2xl: 2rem;
  --line-height-3xl: 2.375rem;
  --line-height-4xl: 2.75rem;

  /* Spacing: 4px base */
  --space-0: 0;
  --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;
  --space-20: 5rem;

  /* Radius */
  --radius-xs: 0.25rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 28px rgba(15, 23, 42, 0.12);

  /* Z-index */
  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 100;
  --z-dropdown: 300;
  --z-overlay: 500;
  --z-modal: 600;
  --z-toast: 700;
  --z-critical: 800;

  /* Motion */
  --motion-fast: 120ms;
  --motion-normal: 180ms;
  --motion-slow: 240ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
}

/*
  Responsive thresholds are documented rather than consumed as custom properties,
  because CSS custom properties cannot be relied on directly in ordinary @media
  conditions across the supported browser baseline:
  compact 480px | tablet 768px | desktop 1024px | wide 1440px.
*/
