:root {
  /* ── Primary Blue ─────────────────────────── */
  --color-primary-50:  #EFF6FF;
  --color-primary-100: #DBEAFE;
  --color-primary-200: #BFDBFE;
  --color-primary-300: #93C5FD;
  --color-primary-400: #60A5FA;
  --color-primary-500: #3B82F6;
  --color-primary-600: #2563EB;
  --color-primary-700: #1D4ED8;
  --color-primary-800: #1E40AF;
  --color-primary-900: #1E3A8A;
  --color-primary-1000: #05142c;

  /* ── Neutral Scale ────────────────────────── */
  --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;

  /* ── Status ───────────────────────────────── */
  --color-success:     #16A34A;
  --color-success-bg:  #F0FDF4;
  --color-success-border: #86EFAC;
  --color-warning:     #D97706;
  --color-warning-bg:  #FFFBEB;
  --color-warning-border: #FDE68A;
  --color-error:       #DC2626;
  --color-error-bg:    #FEF2F2;
  --color-error-border: #FCA5A5;

  /* ── Semantic Surfaces ────────────────────── */
  --bg-page:    #FAFAFA;
  --bg-surface: #FFFFFF;
  --bg-subtle:  #F8FAFC;
  --bg-muted:   #F1F5F9;

  /* ── Semantic Text ────────────────────────── */
  --text-primary:   var(--color-neutral-900);
  --text-secondary: var(--color-neutral-600);
  --text-muted:     var(--color-neutral-400);
  --text-inverse:   #FFFFFF;

  /* ── Borders ──────────────────────────────── */
  --border-default: var(--color-neutral-200);
  --border-strong:  var(--color-neutral-300);
  --border-subtle:  var(--color-neutral-100);

  /* ── Typography ───────────────────────────── */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  --text-11: 0.6875rem;
  --text-12: 0.75rem;
  --text-13: 0.8125rem;
  --text-14: 0.875rem;
  --text-15: 0.9375rem;
  --text-16: 1rem;
  --text-17: 1.0625rem;
  --text-18: 1.125rem;
  --text-20: 1.25rem;
  --text-22: 1.375rem;
  --text-24: 1.5rem;
  --text-28: 1.75rem;
  --text-32: 2rem;
  --text-36: 2.25rem;
  --text-40: 2.5rem;
  --text-48: 3rem;
  --text-56: 3.5rem;
  --text-64: 4rem;

  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.7;

  --tracking-tightest: -0.035em;
  --tracking-tighter:  -0.025em;
  --tracking-tight:    -0.018em;
  --tracking-normal:   -0.008em;
  --tracking-wide:     0.03em;
  --tracking-wider:    0.06em;
  --tracking-widest:   0.1em;

  /* ── Spacing ──────────────────────────────── */
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.25rem;
  --sp-6:  1.5rem;
  --sp-8:  2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-14: 3.5rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-28: 7rem;
  --sp-32: 8rem;

  /* ── Border Radius ────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   6px;
  --radius-lg:   10px;
  --radius-xl:   14px;
  --radius-2xl:  20px;
  --radius-full: 9999px;

  /* ── Shadows ──────────────────────────────── */
  --shadow-xs:   0 1px 2px rgba(15,23,42,0.05);
  --shadow-sm:   0 1px 3px rgba(15,23,42,0.07), 0 1px 2px rgba(15,23,42,0.04);
  --shadow-md:   0 4px 8px rgba(15,23,42,0.06), 0 2px 4px rgba(15,23,42,0.04);
  --shadow-lg:   0 8px 24px rgba(15,23,42,0.07), 0 4px 8px rgba(15,23,42,0.04);
  --shadow-xl:   0 20px 40px rgba(15,23,42,0.08), 0 8px 16px rgba(15,23,42,0.04);
  --shadow-2xl:  0 32px 64px rgba(15,23,42,0.1), 0 16px 32px rgba(15,23,42,0.06);
  --shadow-primary: 0 4px 16px rgba(37,99,235,0.22);

  /* ── Layout ───────────────────────────────── */
  --container-max: 1200px;
  --container-pad: 1.5rem;

  /* ── Transitions ──────────────────────────── */
  --ease-out:    cubic-bezier(0.0, 0.0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0.0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  --t-fast:   150ms var(--ease-in-out);
  --t-base:   200ms var(--ease-in-out);
  --t-slow:   300ms var(--ease-in-out);
  --t-slower: 500ms var(--ease-out);

  /* ── Z-index ──────────────────────────────── */
  --z-base:     1;
  --z-above:    10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-toast:    600;
}
