/* VialMind site pages (home, sign-in, account, legal). Same tokens and type as the tracker (Version 17). */
:root{
  --bg:#EEF1F7; --surface:#FFFFFF; --ink:#0C1530; --muted:#56607A; --line:#D8DDEA; --soft:#E6EAF3;
  --accent:#2346D8; --accent-ink:#FFFFFF; --accent-soft:#E1E7FC; --due:#F2561D; --due-text:#B93B0A; --due-soft:#FFE8DD;
  --ok:#0E8A5F; --ok-soft:#D6F1E6; --danger:#C8261C; --danger-soft:#FBE4E2;
  --glass:#F5F7FB; --crimp:#B6BDCD; --track:#DFE3EE;
  --panel:#0C1530; --panel-ink:#F3F5FC; --panel-muted:#A9B3D1;
  --edge:rgba(12,21,48,.05); --glow:rgba(35,70,216,.09);
  --shadow:0 1px 2px rgba(12,21,48,.05), 0 6px 18px -8px rgba(12,21,48,.16);
  --shadow-lg:0 2px 6px rgba(12,21,48,.07), 0 18px 38px -14px rgba(12,21,48,.32);
  --f-display:"Archivo", ui-sans-serif, system-ui, sans-serif;
  --f-body:"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, SFMono-Regular, Menlo, monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#070B18; --surface:#10172B; --ink:#E8ECF7; --muted:#97A1BC; --line:#252F4C; --soft:#18213A;
  --accent:#7C95FF; --accent-ink:#0A1240; --accent-soft:#1B2552; --due:#FF6A33; --due-text:#FF9466; --due-soft:#3A1A0E;
  --ok:#4CD69B; --ok-soft:#10352A; --danger:#FF8A80; --danger-soft:#3A1C1A;
  --glass:#1B2340; --crimp:#69739A; --track:#232D4A;
  --panel:#18245A; --panel-ink:#F3F5FC; --panel-muted:#AAB6DD;
  --edge:rgba(255,255,255,.06); --glow:rgba(124,149,255,.10);
  --shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 22px -12px rgba(0,0,0,.75);
  --shadow-lg:inset 0 1px 0 rgba(255,255,255,.05), 0 20px 44px -16px rgba(0,0,0,.9); color-scheme:dark; } }
:root[data-theme="dark"]{
  --bg:#070B18; --surface:#10172B; --ink:#E8ECF7; --muted:#97A1BC; --line:#252F4C; --soft:#18213A;
  --accent:#7C95FF; --accent-ink:#0A1240; --accent-soft:#1B2552; --due:#FF6A33; --due-text:#FF9466; --due-soft:#3A1A0E;
  --ok:#4CD69B; --ok-soft:#10352A; --danger:#FF8A80; --danger-soft:#3A1C1A;
  --glass:#1B2340; --crimp:#69739A; --track:#232D4A;
  --panel:#18245A; --panel-ink:#F3F5FC; --panel-muted:#AAB6DD;
  --edge:rgba(255,255,255,.06); --glow:rgba(124,149,255,.10);
  --shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 22px -12px rgba(0,0,0,.75);
  --shadow-lg:inset 0 1px 0 rgba(255,255,255,.05), 0 20px 44px -16px rgba(0,0,0,.9); color-scheme:dark; }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.015em;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.sm{font-size:14px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

.container{max-width:1120px;margin:0 auto;padding-inline:20px}
.narrow{max-width:720px}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.brand{display:inline-flex;align-items:center;gap:9px;font:700 21px/1 var(--f-display);color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.brand svg{width:28px;height:28px}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{color:var(--muted);text-decoration:none;font-weight:500;font-size:15px;padding:10px 10px;border-radius:10px;white-space:nowrap}
.nav-links a:hover{color:var(--ink)}
.nav-links .btn{margin-left:6px}
@media (max-width:720px){ .nav-links .hide-sm{display:none} }
@media (max-width:440px){ .nav-links .btn.primary{display:none} .nav-links a{padding-inline:6px} }

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 15px/1 var(--f-body);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.lg{min-height:52px;padding:0 22px;font-size:16px}
.btn.block{width:100%}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.danger{color:var(--danger)}
.btn[disabled]{opacity:.55;cursor:default}
.nav-links .btn{min-height:42px;padding:0 16px;color:var(--accent-ink)}

/* cards & forms */
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.stack{display:flex;flex-direction:column;gap:14px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--muted)}
input[type=email],input[type=password],input[type=text],input[type=number]{width:100%;min-width:0;min-height:48px;padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:400 16px var(--f-body)}
input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.45}
.check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent)}
.msg{border-radius:12px;padding:11px 14px;font-size:14px;line-height:1.45}
.msg.err{background:var(--danger-soft);color:var(--danger)}
.msg.ok{background:var(--ok-soft);color:var(--ok)}
.msg.info{background:var(--accent-soft);color:var(--ink)}
.linkbtn{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* footer */
.foot{border-top:1px solid var(--line);margin-top:80px;padding-block:32px 48px;color:var(--muted);font-size:14px}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 40px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--ink)}
.foot .disc{max-width:520px}

/* vial glyph + syringe (same drawing as the tracker) */
.vg-glass{fill:var(--glass);stroke:var(--crimp);stroke-width:1}
.vg-crimp{fill:var(--crimp)}
.syringe{width:100%;height:auto;display:block}
.sy-barrel{fill:none;stroke:var(--ink);stroke-width:1.4}
.sy-fluid{fill:var(--cap,#0F7D86);opacity:.6}
.sy-fluid.over{fill:var(--danger)}
.sy-mark{fill:var(--cap,#0F7D86)}
.sy-tick{stroke:var(--ink);stroke-width:.8;opacity:.75}
.sy-lbl{fill:var(--muted);font:500 9px var(--f-mono)}
.sy-stopper{fill:var(--ink)}
.sy-rod{stroke:var(--muted);stroke-width:3}
.sy-thumb{fill:var(--muted)}
.sy-needle{stroke:var(--muted);stroke-width:1.4}
.sy-hub{fill:var(--muted)}
@media (prefers-reduced-motion: no-preference){ .sy-fluid,.sy-stopper,.sy-mark,.sy-rod{transition:all .25s ease-out} }

/* legal pages */
.legal{padding-block:24px 0}
.legal h1{font-size:clamp(32px,5vw,44px);margin-bottom:8px}
.legal h2{font-size:22px;margin:36px 0 10px}
.legal p,.legal li{color:var(--ink);max-width:68ch}
.legal p+p{margin-top:12px}
.legal ul{padding-left:22px;margin:10px 0}
.legal li+li{margin-top:6px}
.draft{margin-top:18px}

/* Version 17 look: soft shadowed cards instead of outlines, wide display type, a faint cobalt glow at the top */
body{background-image:radial-gradient(140% 420px at 50% -160px, var(--glow), transparent 70%);background-repeat:no-repeat}
h1,h2,h3{font-stretch:118%}
.brand{font-stretch:118%}
.card{border-color:var(--edge);box-shadow:var(--shadow);border-radius:20px}
.btn{border-radius:14px}
.btn.primary{box-shadow:0 8px 18px -10px var(--accent)}
