/* theme.css — one token set for every page (index, intake, admin, deck, value).
   Lineage: the Dispatch flow-viewer's CSS-variable theming; palette re-cut for a clinical brand.
   Light is the default (patients + front desk); dark via :root[data-theme="dark"] or prefers-color-scheme. */
:root{
  --bg:#F6F8F7; --panel:#FFFFFF; --panel2:#EEF3F1; --line:#D7E0DC;
  --ink:#152420; --dim:#5B6C66; --soft:#3B4B46;
  --acc:#0F766E; --acc-ink:#FFFFFF; --acc2:#0E9F8A;          /* teal: clinical, calm */
  --warm:#C2410C;                                            /* accent for CTAs: "Relief" */
  --ok:#1E7F4F; --hold:#9A6D12; --drop:#C6473A; --info:#1D4ED8;
  --shadow:0 1px 2px rgba(21,36,32,.06), 0 8px 24px rgba(21,36,32,.08);
  --radius:12px;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0E1512; --panel:#141D19; --panel2:#1A2620; --line:#263430;
  --ink:#E7ECE9; --dim:#8A9A93; --soft:#C3CDC8;
  --acc:#2DD4BF; --acc-ink:#06201B; --acc2:#5EEAD4; --warm:#FB923C;
  --ok:#34D399; --hold:#FBBF24; --drop:#F87171; --info:#60A5FA;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]){
    --bg:#0E1512; --panel:#141D19; --panel2:#1A2620; --line:#263430;
    --ink:#E7ECE9; --dim:#8A9A93; --soft:#C3CDC8;
    --acc:#2DD4BF; --acc-ink:#06201B; --acc2:#5EEAD4; --warm:#FB923C;
    --ok:#34D399; --hold:#FBBF24; --drop:#F87171; --info:#60A5FA;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
    color-scheme:dark;
  }
}
*{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.5; }
a{ color:var(--acc); }
h1,h2,h3{ line-height:1.15; letter-spacing:-.01em; margin:0 0 .4em; }
.serif{ font-family:var(--serif); font-weight:500; }
.mono{ font-family:var(--mono); font-size:12px; letter-spacing:.04em; }
.eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 20px; }
.btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--panel); color:var(--ink);
      border-radius:8px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; }
.btn:hover{ border-color:var(--acc); }
.btn.primary{ background:var(--acc); border-color:var(--acc); color:var(--acc-ink); }
.btn.warm{ background:var(--warm); border-color:var(--warm); color:#fff; }
.btn.small{ padding:6px 10px; font-size:13px; }
.btn[disabled]{ opacity:.55; cursor:not-allowed; }
.chip{ display:inline-block; font-family:var(--mono); font-size:11px; letter-spacing:.06em; padding:3px 8px; border-radius:999px;
       border:1px solid var(--line); background:var(--panel2); color:var(--soft); }
.chip.ok{ color:var(--ok); border-color:var(--ok); } .chip.hold{ color:var(--hold); border-color:var(--hold); }
.chip.drop{ color:var(--drop); border-color:var(--drop); } .chip.info{ color:var(--info); border-color:var(--info); }
.chip.sim{ color:var(--hold); border-style:dashed; }
input,select,textarea{ font:inherit; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:10px 12px; width:100%; }
input:focus,select:focus,textarea:focus{ outline:2px solid var(--acc2); outline-offset:1px; border-color:var(--acc); }
label{ display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
.field{ margin-bottom:14px; } .field .hint{ font-size:12px; color:var(--dim); margin-top:4px; }
table{ width:100%; border-collapse:collapse; font-size:14px; }
th{ text-align:left; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); padding:8px 10px; border-bottom:1px solid var(--line); }
td{ padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
tr:hover td{ background:var(--panel2); }
.scroll-x{ overflow-x:auto; }
.muted{ color:var(--dim); } .right{ text-align:right; }
.grid{ display:grid; gap:16px; } .g2{ grid-template-columns:repeat(2,1fr); } .g3{ grid-template-columns:repeat(3,1fr); } .g4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .g2,.g3,.g4{ grid-template-columns:1fr; } }
.synthetic-banner{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--hold);
  border-bottom:1px dashed var(--hold); padding:6px 24px; text-align:center; background:var(--panel2); }
dialog{ border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); color:var(--ink); box-shadow:var(--shadow); padding:22px; max-width:min(720px,92vw); }
dialog::backdrop{ background:rgba(0,0,0,.45); }
