/* Shared look for sign-in, registration and admin pages: same flight-deck tokens as the companion. */
:root{
  --bg:#eef1f3; --surface:#fbfcfc; --sunk:#e3e8eb; --ink:#1b2328; --muted:#56636c; --rule:#cfd7dc;
  --accent:#166a86; --accent-ink:#ffffff; --accent-soft:#d6e9f0;
  --ok:#1f7a45; --ok-soft:#dcefe3; --warn:#b3261e; --warn-soft:#f6dedc; --caut:#a86400; --caut-soft:#f7ead2;
  --panel:#5d676e;
  --f-disp:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#12171a; --surface:#192024; --sunk:#0f1416; --ink:#e3e9ec; --muted:#9aa8b1; --rule:#2c363c;
  --accent:#5cc2e3; --accent-ink:#071419; --accent-soft:#163440;
  --ok:#5fd28c; --ok-soft:#163324; --warn:#ff8a80; --warn-soft:#3a1b19; --caut:#ffbf55; --caut-soft:#3a2a10; color-scheme:dark}}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--f-body);
  padding-block:max(24px,env(safe-area-inset-top,0px)) 40px;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.card{max-width:26rem;margin:4vh auto 0;background:var(--surface);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.card-h{background:var(--panel);color:#f2f4f5;padding:1.1rem 1.4rem}
.card-h .eyebrow{font:500 .72rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.card-h h1{font:700 1.9rem/1 var(--f-disp);text-transform:uppercase;letter-spacing:.02em;margin:.35rem 0 0}
.card-b{padding:1.3rem 1.4rem 1.5rem;display:grid;gap:.9rem}
label{display:grid;gap:.3rem;font-size:.86rem;font-weight:600}
input{font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:6px;background:var(--bg);color:var(--ink);width:100%}
.hint{font-size:.78rem;color:var(--muted);font-weight:400}
button.primary{font:700 1.05rem var(--f-disp);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.7rem 1rem;cursor:pointer}
button.primary:disabled{opacity:.6;cursor:wait}
.msg{border-radius:6px;padding:.6rem .75rem;font-size:.9rem}
.msg.err{background:var(--warn-soft);color:var(--warn)}
.msg.ok{background:var(--ok-soft);color:var(--ok)}
.msg.info{background:var(--caut-soft);color:var(--caut)}
.foot{font-size:.85rem;color:var(--muted);text-align:center}
.legal{max-width:26rem;margin:1rem auto 0;font-size:.75rem;color:var(--muted);text-align:center}
