/* =====================================================================
   NEXUS · Design Tokens
   Finkraft · Executive GovTech & Decision Intelligence
   Palette: cool graphite + executive teal · warm signal amber
   Distinct from NPS gold-on-navy police palette.
   ===================================================================== */

:root {
  /* ---------- BRAND ---------- */
  --nx-teal-50:   #ECFEFF;
  --nx-teal-100:  #CFFAFE;
  --nx-teal-200:  #A5F3FC;
  --nx-teal-300:  #67E8F9;
  --nx-teal-400:  #22D3EE;
  --nx-teal-500:  #06B6D4;   /* primary accent */
  --nx-teal-600:  #0891B2;
  --nx-teal-700:  #0E7490;
  --nx-teal-800:  #155E75;
  --nx-teal-900:  #164E63;
  --nx-teal-950:  #083344;

  /* Graphite ink — the executive base */
  --nx-ink-50:    #F8FAFC;
  --nx-ink-100:   #F1F5F9;
  --nx-ink-200:   #E2E8F0;
  --nx-ink-300:   #CBD5E1;
  --nx-ink-400:   #94A3B8;
  --nx-ink-500:   #64748B;
  --nx-ink-600:   #475569;
  --nx-ink-700:   #334155;
  --nx-ink-800:   #1E293B;
  --nx-ink-900:   #0F172A;
  --nx-ink-950:   #020617;

  /* Signal amber — for CS-attention items */
  --nx-amber-100: #FEF3C7;
  --nx-amber-400: #FBBF24;
  --nx-amber-500: #F59E0B;
  --nx-amber-600: #D97706;
  --nx-amber-700: #B45309;

  /* Semantic */
  --nx-ok:        #10B981;
  --nx-ok-100:    #D1FAE5;
  --nx-warn:      #F59E0B;
  --nx-warn-100:  #FEF3C7;
  --nx-alert:     #EF4444;
  --nx-alert-100: #FEE2E2;
  --nx-info:      #3B82F6;
  --nx-info-100:  #DBEAFE;

  /* National status colours (Section 4.4) */
  --status-normal:   #10B981;
  --status-watch:    #FBBF24;
  --status-elevated: #F97316;
  --status-critical: #DC2626;

  /* Kenya flag accents (subtle, not the primary palette) */
  --ke-black:  #000000;
  --ke-red:    #BB0000;
  --ke-white:  #FFFFFF;
  --ke-green:  #006600;

  /* ---------- SEMANTIC ---------- */
  --surface-0: #FFFFFF;
  --surface-1: #F8FAFC;
  --surface-2: #F1F5F9;
  --surface-3: #E2E8F0;
  --stroke-1:  #E2E8F0;
  --stroke-2:  #CBD5E1;

  --ink-1: var(--nx-ink-900);
  --ink-2: var(--nx-ink-700);
  --ink-3: var(--nx-ink-500);
  --ink-4: var(--nx-ink-400);

  /* Primary action colour */
  --primary:      var(--nx-teal-600);
  --primary-hover:var(--nx-teal-700);
  --accent:       var(--nx-amber-500);

  /* ---------- TYPE ---------- */
  --font-sans: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  --fs-10: 10px;
  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-24: 24px;
  --fs-30: 30px;
  --fs-36: 36px;
  --fs-48: 48px;
  --fs-60: 60px;

  --fw-reg: 400;
  --fw-med: 500;
  --fw-semi: 600;
  --fw-bold: 700;
  --fw-black: 900;

  --tracking-tight: -0.02em;
  --tracking-normal: 0em;
  --tracking-wide: 0.05em;
  --tracking-wider: 0.1em;

  /* ---------- SPACE ---------- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  --s-9: 48px;
  --s-10: 64px;

  /* ---------- RADIUS ---------- */
  --r-1: 4px;
  --r-2: 6px;
  --r-3: 8px;
  --r-4: 10px;
  --r-5: 12px;
  --r-6: 16px;
  --r-round: 999px;

  /* ---------- TIMING ---------- */
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* ---------- SHELL ---------- */
  --topbar-h: 60px;
}
