/* ==========================================================================
   MBATS Control Centre — Robot Ops Floor design tokens.
   Single source of truth for every color, face, and effect on the page.
   Components must derive from these variables — no hard-coded hex there.
   Theme: neon space — deep indigo void, starfield, and panel borders that
   run the --grad-neon gradient (green → cyan → violet).
   ========================================================================== */
:root {
  /* Surfaces — space indigo */
  --bg-0: #040510;        /* page background (deep space) */
  --bg-1: #0a0d1c;        /* panel background */
  --bg-2: #0e1224;        /* card background */
  --line: #212a4d;        /* muted borders, dividers, table rules */
  --grid: rgba(99, 140, 255, 0.05);  /* backdrop grid lines */

  /* Text */
  --text-hi: #eef4ff;
  --text-mid: #98a6c8;
  --text-dim: #55618a;

  /* Status */
  --ok: #00e676;          /* online */
  --warn: #ffc400;        /* standby / starting */
  --down: #ff3d3d;        /* offline */

  /* The space-gradient tail: every accent border fades into this violet */
  --violet: #7b3bff;

  /* Per-service accents — mapped by service `key` from the demo status payload.
     One distinct neon per worker; see static/README.md to add a service. */
  --acc-f9_trader:    #00e676;  /* green — live trader (demo) */
  --acc-tradevault:   #2ee6a6;  /* emerald — journal + charts */
  --acc-superset:     #b44dff;  /* purple — BI */
  --acc-airflow:      #4d8dff;  /* blue — orchestration */
  --acc-jupyter:      #ff8a00;  /* orange — research */
  --acc-jupyter_gpu:  #ff5c8a;  /* rose — GPU research */
  --acc-mlflow:       #ff5ce1;  /* magenta — experiments */
  --acc-minio:        #ffd400;  /* gold — artifact storage */
  --acc-pgadmin:      #7ab8ff;  /* light blue — db admin */
  --acc-tunnel:       #a3e635;  /* lime — tunnel (demo stand-in) */
  --acc-pg_secmaster: #00ffc8;  /* teal — market data db */
  --acc-pg_airflow:   #8d6bff;  /* violet — airflow db */
  --acc-redis:        #ff4d4d;  /* red — cache */
  --acc-paper_legacy: #9aa7b0;  /* silver — legacy trader */
  --acc-mlfrontend:   #ff7a5c;  /* coral — ML research front end */
  --acc-ib_gateway:   #ffb020;  /* amber — broker connectivity (demo) */
  --acc-trader_watchdog: #66d9ef; /* sky — health monitor */
  --acc-control:      #31d6ff;  /* electric cyan — this hub (MBATS brand glow) */
  --acc-fallback:     #31d6ff;  /* any service key without a mapping */

  /* Type roles */
  --font-display: "Orbitron", "Bahnschrift", "Segoe UI Semibold", sans-serif;
  --font-mono: "JetBrains Mono", "Cascadia Mono", ui-monospace, Consolas, monospace;
  --font-body: system-ui, "Segoe UI", sans-serif;

  /* Effects recipe — reuse, don't improvise per component.
     Glow expects --accent set on the element. */
  --glow: 0 0 12px color-mix(in srgb, var(--accent, var(--acc-fallback)) 45%, transparent),
          0 0 32px color-mix(in srgb, var(--accent, var(--acc-fallback)) 18%, transparent);
  /* The signature neon-space gradient for panel borders */
  --grad-neon: linear-gradient(120deg,
          color-mix(in srgb, var(--ok) 60%, transparent),
          color-mix(in srgb, var(--acc-control) 60%, transparent) 45%,
          color-mix(in srgb, var(--violet) 70%, transparent));
  --radius-card: 14px;
}
