/* UG-EDIS design tokens (Design System v1 "Kampala", DESIGN_SYSTEM.md section 9).
   Loaded before portal.css, login.css and account.css on every page.
   Per-school colours (--brand-primary*) still override --primary.
   Legacy names at the end keep older rules working. */
:root {
  /* brand */
  --green-25:#F3FBF7; --green-50:#ECFDF5; --green-100:#D1FAE5; --green-200:#A7F3D0; --green-300:#6EE7B7;
  --green-500:#10B981; --green-600:#059669; --green-700:#047857; --green-800:#065F46; --green-900:#064E3B; --green-950:#022C22;
  /* neutrals */
  --n-0:#FFFFFF; --n-25:#FBFCFB; --n-50:#F5F7F6; --n-100:#EEF1EF; --n-150:#E6EAE8; --n-200:#DCE1DE;
  --n-300:#C3CAC6; --n-400:#8A948F; --n-500:#5F6964; --n-600:#4B5550; --n-700:#343C38; --n-900:#111614;
  /* roles */
  --canvas:var(--n-50); --surface:var(--n-0); --surface-2:var(--n-25);
  --border:var(--n-150); --border-strong:var(--n-200);
  --text:var(--n-900); --text-2:var(--n-600); --text-3:var(--n-500);
  --primary:var(--brand-primary, var(--green-700)); --primary-hover:var(--brand-primary-dark, var(--green-800));
  --focus-ring:0 0 0 3px rgba(4,120,87,.18);
  /* semantic */
  --success:#047857; --success-bg:#ECFDF5; --warning:#92400E; --warning-icon:#D97706; --warning-bg:#FEF3C7;
  --danger:#B91C1C; --danger-bg:#FEE2E2; --info:#1D4ED8; --info-bg:#DBEAFE;
  --st-present:#10B981; --st-absent:#EF4444; --st-late:#F59E0B; --st-excused:#3B82F6; --st-half:#8B5CF6; --st-none:#C3CAC6;
  /* type */
  --font-display:"Plus Jakarta Sans", Inter, system-ui, sans-serif;
  --font-body:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-display:32px; --fs-h1:24px; --fs-h2:17px; --fs-h3:15px; --fs-stat:26px;
  --fs-body:14px; --fs-small:13px; --fs-caption:12px; --fs-overline:11px;
  /* space (4/8) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px;
  /* radius */
  --r-xs:6px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-pill:999px;
  /* elevation */
  --e-1:0 1px 2px rgba(17,22,20,.05);
  --e-2:0 1px 2px rgba(17,22,20,.04), 0 4px 12px -4px rgba(17,22,20,.08);
  --e-3:0 2px 6px rgba(17,22,20,.05), 0 16px 32px -12px rgba(17,22,20,.18);

  /* legacy aliases used by portal.css / login.css today */
  --brand-50:var(--green-50); --brand-100:var(--green-100); --brand-600:var(--green-600);
  --brand-700:var(--green-700); --brand-800:var(--green-800);
  --ink:var(--text); --muted:var(--text-3); --line:var(--border); --bg:var(--canvas); --bg-mid:var(--canvas);
  --card:var(--surface); --head:var(--surface-2); --radius:var(--r-md); --shadow-soft:var(--e-2);
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    --canvas:#0B100E; --surface:#131A17; --surface-2:#18201C; --border:#222C27; --border-strong:#2C3732;
    --text:#E8EEEA; --text-2:#B4BEB8; --text-3:#8E9893; --primary:#34D399; --primary-hover:#6EE7B7;
    --success:#34D399; --success-bg:rgba(52,211,153,.12); --warning:#FBBF24; --warning-bg:rgba(251,191,36,.12);
    --danger:#F87171; --danger-bg:rgba(248,113,113,.12); --info:#93C5FD; --info-bg:rgba(147,197,253,.12);
    --e-1:none; --e-2:none;
  }
}
.num, .kpi-value, td.num { font-variant-numeric: tabular-nums; }
:focus-visible { outline: 2px solid var(--green-600); outline-offset: 2px; }
