/* FloorView shell — Blueprint Terminal grammar for the non-cockpit pages (login · home · admin ·
   surface). Mirrors web/index.html :root EXACTLY (one token system, no drift) and the DESIGN.md rules:
   monospace everywhere · near-black canvas · 1px desaturated-cyan blueprint lines · sharp corners
   (rectangles, never pills) · UPPERCASE letterspaced labels · amber = attention only · no gradients,
   no shadows, no rounded SaaS tiles, no card-grid slop. This is the Foundry-Graphite (decider) skin:
   calm, lineage-forward — same DNA as the Ops Holograph cockpit. */
:root{
  /* Full mirror of index.html :root — was an INCOMPLETE subset (missing --accent-dim, the tier/live/
     act-* colours, --focus-ring, --sp-5, --dur-cam, --ink-faint), so those resolved to nothing on the
     satellite pages. Kept in lockstep with the cockpit's :root. */
  --bg:#080b0f; --panel:#0d141a; --panel-2:#121b22; --panel-3:#18242c;
  --ink-0:#e8eef0; --ink-1:#c4d2d9; --ink-2:#9fb4bd; --ink-3:#7d929b; --ink-4:#5c6f78; --ink-5:#45555d;
  --line:#3a6f7a; --line-dim:#1f3038;
  --accent:#e0a23b; --accent-dim:#8a6622; --structural:#5fc6dd;
  --sem-good:#3fbf6f; --sem-bad:#e8745f; --sem-warn:var(--accent);
  --tier-reconciled:var(--sem-good); --tier-modeled:var(--accent); --tier-fallback:var(--sem-bad);
  --focus-ring:#5fc6dd;
  --live:#5fc6dd;
  --act-pick:#56B4E9; --act-replenish:#CC79A7; --act-putaway:#E69F00;
  --act-shipout:#009E73; --act-receive:#0072B2; --act-verify:#7d929b; --act-move:#7d929b;
  --fs-micro:11px; --fs-label:12px; --fs-body:14px; --fs-val:15px; --fs-num:18px; --fs-hero:26px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px;
  --ease:cubic-bezier(.22,.61,.36,1); --dur:160ms; --dur-cam:600ms;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ink:var(--ink-0); --ink-dim:var(--ink-3); --ink-faint:var(--ink-4); --amber:var(--accent); --cyan:var(--structural);
}
*{box-sizing:border-box}
html{background:var(--bg)}                       /* root bg fills the whole canvas — never a white gutter */
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);
  font-family:var(--mono);font-size:var(--fs-body);line-height:1.5;
  font-variant-numeric:tabular-nums slashed-zero;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

/* TOP BAR — blueprint chrome, hairline rule, no shadow */
.bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding:9px 18px;border-bottom:1px solid var(--line-dim);background:var(--panel)}
.brand{letter-spacing:.32em;font-weight:700;font-size:var(--fs-body)} .brand b{color:var(--cyan)}
.bar nav a{color:var(--ink-4);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;margin-left:18px}
.bar nav a:hover{color:var(--ink-1)}

/* LABELS — UPPERCASE letterspaced telemetry labels */
.lbl{display:block;font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);margin-bottom:5px}
.dim{color:var(--ink-3)} .faint{color:var(--ink-4)} .cyan{color:var(--cyan)} .amber{color:var(--amber)}
.stamp{font-size:var(--fs-label);color:var(--amber);letter-spacing:.08em}

/* INPUTS — sharp, blueprint border, mono. No radius. */
input,select{width:100%;background:var(--panel-2);border:1px solid var(--line-dim);color:var(--ink-0);
  font-family:var(--mono);font-size:var(--fs-val);padding:9px 10px;border-radius:0}
input::placeholder{color:var(--ink-5)}
input:focus,select:focus{outline:none;border-color:var(--cyan)}

/* BUTTONS — bordered, letterspaced, sharp; never a filled pill */
button,.btn{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;
  background:transparent;border:1px solid var(--line);color:var(--ink-1);padding:9px 16px;border-radius:0;
  cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
button:hover,.btn:hover{border-color:var(--cyan);color:var(--cyan)}
button.primary{border-color:var(--cyan);color:var(--cyan)} button.primary:hover{background:rgba(95,198,221,.07)}
button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--line-dim);color:var(--ink-5)}
button.mini{padding:4px 9px;font-size:var(--fs-micro);letter-spacing:.12em}

/* PANELS — sharp blueprint frames; no shadow, no gradient, no radius */
.panel{background:var(--panel);border:1px solid var(--line-dim)}
.panel-h{font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);
  padding:11px 15px;border-bottom:1px solid var(--line-dim)}

/* TAGS — rectangles, not pills */
.tag{display:inline-block;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;
  padding:2px 6px;border-radius:0;border:1px solid var(--line-dim);color:var(--ink-3)}
.tag.green{border-color:var(--sem-good);color:var(--sem-good)}
.tag.amber{border-color:var(--amber);color:var(--amber)}
.tag.dim{border-color:var(--line-dim);color:var(--ink-5)}

/* STATUS GLYPHS — shape first (CVD-safe), reusing the DESIGN provenance language:
   ● live/reconciled · ◐ planned/modeled · ○ stub/fallback */
.gly{font-size:11px;line-height:1}
.gly.live{color:var(--cyan)} .gly.planned{color:var(--amber)} .gly.stub{color:var(--ink-5)}

/* corner-bracket reticle (the HUD motif) for framed hero blocks */
.reticle{position:relative}
.reticle::before,.reticle::after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--line);pointer-events:none}
.reticle::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.reticle::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
