/* gsecure console - shared design tokens.
 *
 * Loaded by admin.html, onboard.html, landing.html and kb.html via
 * <link rel="stylesheet" href="/console.css"> - same-origin, served by
 * policy_server.py, NOT a CDN. This product may be the only thing reachable
 * on an endpoint sitting behind its own egress filtering, so every asset the
 * console needs has to come from this server, never an external host.
 *
 * WHY THIS FILE EXISTS: the four pages used to each carry their OWN copy of
 * this :root block, kept in sync by a code comment asking whoever edited one
 * file to remember to edit the other three by hand. That is not a mechanism,
 * it is a hope, and it already failed once (landing.html quietly picked up
 * --accent2/--warn that the other three never got, and a --line value once
 * drifted by a single hex digit - invisible by eye, real in the DOM). Tokens
 * now live in exactly one place. Changing a color here changes it on every
 * page that loads this file - there is no second copy left to forget.
 *
 * Component-level CSS (the actual look of .card, .btn, tables, forms) still
 * lives in each page's own <style> block for now, because several of those
 * rules differ between pages for real reasons (the registration page wants
 * more breathing room than the dense admin console) rather than by drift.
 * Unifying those is a separate, later pass - this file's job is only to make
 * the TOKENS impossible to disagree with each other.
 */

:root{
  /* ---- color --------------------------------------------------------- */
  --bg:#0b1220; --bg2:#101c33; --card:#16233c; --line:#24334d;
  --fg:#e8eefb; --muted:#93a5c4;
  --accent:#3b82f6; --accent2:#22d3ee;
  --good:#4ade80; --warn:#fbbf24; --bad:#f87171;
  color-scheme:dark;

  /* ---- spacing (4/8pt-ish scale, derived from what the pages already use:
     18/20/22/24/26px paddings and gaps were five near-identical numbers doing
     the same job - this converges them onto a small set of real steps) ---- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-7:32px; --sp-8:40px;

  /* ---- type (derived from existing sizes: 11/12/13.5/15/18/22px were
     already in use ad hoc - this just names them) ----------------------- */
  --fs-xs:11px; --fs-sm:12.5px; --fs-base:13.5px; --fs-md:15px;
  --fs-lg:18px; --fs-xl:22px;
  --fw-normal:500; --fw-semibold:650; --fw-bold:700;
  --lh-tight:1.25; --lh-base:1.5; --lh-relaxed:1.65;

  /* ---- radius (matches the .card/nav-button radii already in use) ---- */
  --radius-sm:6px; --radius-md:9px; --radius-lg:12px; --radius-xl:16px;

  /* ---- elevation + motion --------------------------------------------- */
  --shadow-card:0 1px 2px rgba(0,0,0,.3);
  --dur-fast:120ms; --dur-base:200ms;
}

*{box-sizing:border-box}
