/* AdmitIP design tokens — single source of truth.
   Plain CSS custom properties only: no layered at-rules, no oklch, no color-mix. */
:root {
  --p-navy-950: #080e1a;
  --p-navy-900: #0b1424;
  --p-navy-850: #101b30;
  --p-navy-800: #142138;
  --p-navy-700: #1d2c49;
  --p-slate-200: #e2e8f0;
  --p-slate-300: #cbd5e1;
  --p-slate-400: #94a3b8;
  --p-slate-500: #64748b;
  --p-white: #ffffff;
  --p-blue-600: #2563eb;
  --p-blue-500: #3b82f6;
  --p-blue-400: #60a5fa;
  --p-teal-500: #0ea5a4;
  --p-green-600: #16a34a;
  --p-amber-600: #d97706;
  --p-orange-600: #ea580c;
  --p-red-600: #dc2626;

  --color-bg: var(--p-navy-950);
  --color-surface: var(--p-navy-900);
  --color-surface-raised: var(--p-navy-800);
  --color-surface-hover: var(--p-navy-700);
  --color-border: #24334f;
  --color-border-strong: #33456a;
  --color-text-primary: var(--p-slate-200);
  --color-text-secondary: var(--p-slate-400);
  --color-text-muted: var(--p-slate-500);
  --color-brand: var(--p-blue-500);
  --color-brand-strong: var(--p-blue-600);
  --color-brand-contrast: var(--p-white);
  --color-accent: var(--p-teal-500);

  --color-risk-safe: var(--p-green-600);
  --color-risk-caution: var(--p-amber-600);
  --color-risk-high: var(--p-orange-600);
  --color-risk-critical: var(--p-red-600);
  --color-risk-unknown: var(--p-slate-500);
  --color-risk-safe-soft: rgba(22, 163, 74, 0.12);
  --color-risk-caution-soft: rgba(217, 119, 6, 0.12);
  --color-risk-high-soft: rgba(234, 88, 12, 0.12);
  --color-risk-critical-soft: rgba(220, 38, 38, 0.12);
  --color-risk-unknown-soft: rgba(100, 116, 139, 0.14);

  --font-sans: "Inter", "SF Pro Text", "Segoe UI Variable", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 14px;
  --text-md: 16px;
  --text-lg: 20px;
  --text-xl: 28px;
  --text-3xl: 40px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-body: 1.6;
  --leading-tight: 1.25;
  --tracking-tight: -0.01em;
  --tracking-wide: 0.04em;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-card: 0 1px 2px rgba(8, 14, 26, 0.28);
  --border-hairline: 1px solid var(--color-border);
  --content-max: 1120px;
  --motion-fast: 120ms ease-out;
}

:root[data-theme="light"] {
  --color-bg: #f6f8fc;
  --color-surface: #ffffff;
  --color-surface-raised: #f1f5fb;
  --color-surface-hover: #e8eef8;
  --color-border: #dce4f0;
  --color-border-strong: #c3d0e4;
  --color-text-primary: #16233c;
  --color-text-secondary: #4a5b78;
  --color-text-muted: #697a96;
  --color-brand: var(--p-blue-600);
  --color-brand-strong: #1d4ed8;
  --color-risk-unknown: #52627d;
  --color-risk-unknown-soft: rgba(82, 98, 125, 0.1);
  --shadow-card: 0 1px 2px rgba(22, 35, 60, 0.08);
}

@media (prefers-color-scheme: light) {
  :root[data-theme="auto"] {
    --color-bg: #f6f8fc;
    --color-surface: #ffffff;
    --color-surface-raised: #f1f5fb;
    --color-surface-hover: #e8eef8;
    --color-border: #dce4f0;
    --color-border-strong: #c3d0e4;
    --color-text-primary: #16233c;
    --color-text-secondary: #4a5b78;
    --color-text-muted: #697a96;
    --color-brand: #2563eb;
    --color-brand-strong: #1d4ed8;
    --color-risk-unknown: #52627d;
    --color-risk-unknown-soft: rgba(82, 98, 125, 0.1);
    --shadow-card: 0 1px 2px rgba(22, 35, 60, 0.08);
  }
}
