/* ═══════════════════════════════════════════════════════════════
   KiLu Operator Console v2 — Design Tokens (U1-B2 Rebuild)
   Product grammar: mail-ops console, not infra table viewer
═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* ── Three clear surface layers ─────────────────────────────── */
  --bg-base:       #0d1117;   /* deepest — body background */
  --bg-primary:    #161b22;   /* main content areas */
  --bg-secondary:  #1c2128;   /* cards, panels, list items */
  --bg-tertiary:   #21262d;   /* hover, selected, elevated */
  --bg-input:      #22272e;   /* form inputs */

  --border-faint:  rgba(48, 54, 61, 0.8);   /* structural separators */
  --border-subtle: rgba(48, 54, 61, 1);
  --border-mid:    rgba(99, 110, 123, 0.4);
  --border-strong: rgba(99, 110, 123, 0.8);

  /* ── Text hierarchy ─────────────────────────────────────────── */
  --text-primary:   #e6edf3;   /* subjects, values, actions */
  --text-secondary: #8b949e;   /* labels, metadata keys */
  --text-tertiary:  #484f58;   /* muted, disabled, noise */
  --text-accent:    #58a6ff;   /* links, focus, active nav */

  /* ── Decision-signal colours (vivid) ────────────────────────── */
  --signal-reply:    #3fb950;   /* needs_reply — green */
  --signal-pending:  #a371f7;   /* pending_internal — purple */
  --signal-waiting:  #e3b341;   /* waiting_client — amber */
  --signal-noise:    #484f58;   /* noise — muted */
  --signal-warn:     #f85149;   /* risk, errors */
  --signal-info:     #58a6ff;   /* catch-all, info */

  /* ── Confidence ─────────────────────────────────────────────── */
  --conf-high:   #3fb950;
  --conf-med:    #e3b341;
  --conf-low:    #f85149;

  /* ── Status dots (3-state heartbeat model) ──────────────────── */
  --online:   #3fb950;   /* heartbeat fresh (age <= 120s) */
  --stale:    #e3b341;   /* heartbeat late (120s < age <= 300s) */
  --unknown:  #484f58;   /* no heartbeat record in KV */
  --offline:  #484f58;   /* alias: kept for backwards compat */

  /* ── Accent (use only for decisions and primary actions) ──────── */
  --accent:         #58a6ff;
  --accent-hover:   #79b8ff;
  --accent-dim:     rgba(88, 166, 255, 0.12);

  /* ── Tight spacing scale ─────────────────────────────────────── */
  --sp-1: 4px;   --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-5: 20px;  --sp-6: 24px;  --sp-8: 32px;  --sp-10: 40px;

  /* ── Tight radius (less bubble-y) ───────────────────────────── */
  --r-xs: 3px;
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;

  /* ── Typography ──────────────────────────────────────────────── */
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --fs-xs:  11px;
  --fs-sm:  12px;
  --fs-md:  13px;
  --fs-base: 14px;
  --fs-lg:  15px;
  --fs-xl:  18px;
  --fs-2xl: 22px;

  /* ── Layout ──────────────────────────────────────────────────── */
  --sidebar-w: 200px;
  --topbar-h:  44px;

  /* ── Transitions ─────────────────────────────────────────────── */
  --t-fast:   80ms ease;
  --t-normal: 150ms ease;
}
