/* tokens-admin.css — admin dark-neon design tokens.
 *
 * Phase 0 of the UI shared-asset refactor: these values are a verbatim copy of
 * the :root block in admin/templates/base.html. They are linked in <head>
 * BEFORE the inline <style>, so the still-present inline rules win the cascade
 * and there is zero visual change. The body::before/::after circuit-grid CSS
 * stays inline in admin base.html (admin-only identity, not a token).
 */
:root {
  /* ── Base palette (dark neon) ──────────────────────── */
  --bg:          #07090d;
  --surface:     #0c1018;
  --surface-2:   #101520;
  --surface-3:   #141a24;
  /* ── Borders ──────────────────────────────────────── */
  --border:      rgba(255,255,255,0.06);
  --border-2:    rgba(255,255,255,0.10);
  /* ── Accents ──────────────────────────────────────── */
  --accent:      #00d4f0;
  --accent-dim:  rgba(0,212,240,0.12);
  --accent-2:    #e040fb;
  /* aliases matching marketing-site naming */
  --cyan:        var(--accent);
  --cyan-dim:    var(--accent-dim);
  --magenta:     var(--accent-2);
  /* ── Text ─────────────────────────────────────────── */
  --text:        #dde4ed;
  --text-2:      #a0adbf;  /* ~9:1 on --bg — readable body/secondary */
  --text-3:      #7d8a99;  /* ~5:1 on --bg — readable muted/tertiary */
  --text-muted:  var(--text-2);  /* alias used by source_dashboard.html */
  /* ── Status: success ──────────────────────────────── */
  --success:     #22c55e;
  --success-bg:  rgba(34,197,94,0.10);
  --success-br:  rgba(34,197,94,0.25);
  /* ── Status: error ────────────────────────────────── */
  --error:       #f87171;
  --error-bg:    rgba(248,113,113,0.10);
  --error-br:    rgba(248,113,113,0.25);
  /* ── Status: running ──────────────────────────────── */
  --running:     #60a5fa;
  --running-bg:  rgba(96,165,250,0.10);
  --running-br:  rgba(96,165,250,0.25);
  /* ── Status: never ────────────────────────────────── */
  --never-bg:    rgba(255,255,255,0.06);
  --never-br:    rgba(255,255,255,0.08);
  /* ── Typography ───────────────────────────────────── */
  --font-hd:     'Chakra Petch', monospace;
  --font-display: var(--font-hd);  /* alias used by source_dashboard.html */
  --font-body:   'DM Sans', sans-serif;
  --font-mono:   'JetBrains Mono', monospace;
  /* ── Radius / timing ──────────────────────────────── */
  --r:           6px;
  --r-sm:        4px;
  --ease:        130ms ease;
  /* ── Glow effects (referenced by source_dashboard.html) ── */
  --glow-cyan:   0 0 18px rgba(0,212,240,0.45), 0 0 50px rgba(0,212,240,0.12);
  --glow-magenta: 0 0 18px rgba(224,64,251,0.45), 0 0 50px rgba(224,64,251,0.12);
  /* ── Additional border / radius aliases ──────────────── */
  --border-mid:  rgba(255,255,255,0.10);
  --radius:      6px;
  --radius-lg:   12px;
  /* ── Theme-divergent component tokens ────────────────── */
  --nav-bg:               rgba(7,9,13,0.85);
  --link-hover:           #00aac4;
  --btn-primary-fg:       var(--bg);
  --btn-primary-hover-bg: #20dff5;
  --btn-danger-hover-fg:  var(--text);
  --tile-hover-shadow:       0 4px 18px rgba(0,0,0,0.25);
  --tile-error-hover-shadow: 0 4px 18px rgba(248,113,113,0.10);
  /* ── Warning (amber) — review / sensitivity badges ───── */
  --warning:    #f59e0b;
  --warning-bg: rgba(245,158,11,0.12);
  --warning-br: rgba(245,158,11,0.30);
}
