:root{
  /* Apple Health-style surfaces (dark is default; light via data-mode) */
  --bg:#000;
  --panel:#1C1C1E;
  --panel2:#2C2C2E;
  --line:#38383A;
  --txt:#FFFFFF;
  --dim:#98989F;
  --accent:#FF9F0A;      /* default theme accent (orange, like Apple Health) */
  --accent2:#E08A00;
  --accent-txt:#231400;
  --red:#FF453A;
  --orange:#FF9F0A;
  --blue:#0A84FF;
  --green:#30D158;
  --purple:#BF5AF2;
  --on-green:#00210A;
  --on-red:#fff;
  --chipx-bg:color-mix(in srgb,var(--green) 14%,var(--panel2));--chipx-line:transparent;--chipx-txt:var(--green);
  --fuq-bg:color-mix(in srgb,var(--accent) 8%,var(--panel2));--fuq-txt:var(--txt);
  --sug-bg:color-mix(in srgb,var(--accent) 10%,var(--panel));
  --rfn-bg:color-mix(in srgb,var(--green) 16%,var(--panel2));
  --rfb-bg:color-mix(in srgb,var(--red) 18%,var(--panel));--rfb-txt:#FF8A80;
  --warn-bg:color-mix(in srgb,var(--orange) 15%,var(--panel));--warn-line:transparent;--warn-txt:#FFCC80;
  --hint-bg:color-mix(in srgb,var(--blue) 14%,var(--panel));--hint-line:transparent;--hint-txt:#9CCBFF;
  --note-txt:#F2F2F7;--edit-bg:#151517;
  --lvaem-bg:color-mix(in srgb,var(--orange) 16%,var(--panel));--lvaem-txt:#FFD08A;
  --lvmcp-bg:color-mix(in srgb,var(--green) 15%,var(--panel));--lvmcp-txt:#9BEBB0;
  --lvsp-bg:color-mix(in srgb,var(--blue) 15%,var(--panel));--lvsp-txt:#A8D1FF;
  --lvappt-bg:color-mix(in srgb,var(--purple) 15%,var(--panel));--lvappt-txt:#E2B8F8;
  --lvtri-bg:color-mix(in srgb,#FFD60A 14%,var(--panel));--lvtri-txt:#FFE680;
  --radius:12px;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,'Helvetica Neue',sans-serif;
}
/* ---- accent themes (dark) ---- */
:root[data-theme="blue"]{--accent:#0A84FF;--accent2:#0070E0;--accent-txt:#fff}
:root[data-theme="amber"]{--accent:#30D158;--accent2:#28B14A;--accent-txt:#00210A}
:root[data-theme="red"]{--accent:#FF453A;--accent2:#E0352B;--accent-txt:#fff}
:root[data-theme="purple"]{--accent:#BF5AF2;--accent2:#A646D8;--accent-txt:#fff}
:root[data-theme="gray"]{--accent:#AEAEB2;--accent2:#8E8E93;--accent-txt:#000}
/* ---- light mode (combines with any accent) ---- */
:root[data-mode="light"]{
  --bg:#F2F2F7;--panel:#FFFFFF;--panel2:#E9E9EE;--line:#E5E5EA;--txt:#000;--dim:#6C6C70;
  --accent:#C75300;--accent2:#A34400;--accent-txt:#fff;
  --red:#D70015;--orange:#B35C00;--blue:#007AFF;--green:#248A3D;--purple:#8944AB;--on-green:#fff;--on-red:#fff;
  --rfb-txt:#A1000F;--warn-txt:#8A3300;--hint-txt:#0052B3;
  --note-txt:#1C1C1E;--edit-bg:#FFFDF5;
  --lvaem-txt:#8A4500;--lvaem-bg:#FFF1DF;--lvmcp-bg:#E5F6E9;--lvsp-bg:#E3F0FF;--lvappt-bg:#F4E9FA;--rfb-bg:#FFE7E5;--warn-bg:#FFF1DF;--hint-bg:#E6F1FF;--fuq-bg:color-mix(in srgb,var(--accent) 10%,#fff);--sug-bg:color-mix(in srgb,var(--accent) 8%,#fff);--lvmcp-txt:#1A6630;--lvsp-txt:#0052B3;--lvappt-txt:#6A2E8A;--lvtri-txt:#6A5400;
}
:root[data-mode="light"][data-theme="blue"]{--accent:#007AFF;--accent2:#0062CC}
:root[data-mode="light"][data-theme="amber"]{--accent:#248A3D;--accent2:#1E7434}
:root[data-mode="light"][data-theme="red"]{--accent:#D70015;--accent2:#B00011}
:root[data-mode="light"][data-theme="purple"]{--accent:#8944AB;--accent2:#70378C}
:root[data-mode="light"][data-theme="gray"]{--accent:#636366;--accent2:#48484A;--accent-txt:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--sans);font-size:14px}

/* ---- layout ---- */
#app{display:grid;grid-template-columns:200px 1fr 380px;grid-template-rows:48px 1fr;height:100vh}
header{grid-column:1/4;display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line)}
header .brand{font-weight:700;letter-spacing:.08em;font-size:13px;color:var(--accent);text-transform:uppercase}
header .sub{color:var(--dim);font-size:12px}
header .spacer{flex:1}
header button{background:none;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:5px 10px;cursor:pointer;font-size:12px}
header button:hover{color:var(--txt);border-color:var(--dim)}

nav{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:8px 0}
nav .grp{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:10px 14px 4px}
nav button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--txt);padding:9px 14px;cursor:pointer;font-size:13px;border-left:3px solid transparent}
nav button:hover{background:var(--panel2)}
nav button.active{background:var(--panel2);border-left-color:var(--accent);color:var(--txt);font-weight:600}
nav button .k{margin-left:auto;color:var(--dim);font-size:10px;font-family:var(--mono)}

main{overflow-y:auto;padding:16px 20px 80px}
aside{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}

/* ---- fields ---- */
h2.tpl{font-size:16px;margin-bottom:2px}
p.tpl-sub{color:var(--dim);font-size:12px;margin-bottom:14px}
.field{margin-bottom:14px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.field .lab{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.field .tag{font-family:var(--mono);font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--panel2);color:var(--accent)}
.field .tag.o{color:var(--red)} .field .tag.s2{color:var(--blue)}
.field .name{font-weight:600;font-size:13px}
.field .ask{color:var(--dim);font-size:12px;font-style:italic}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:14px;padding:4px 11px;font-size:.9em;cursor:pointer;user-select:none;transition:background .1s}
.chip:hover{border-color:var(--dim)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-txt);font-weight:600}
.chip.deny{border-style:dashed}
.chip.deny.on{background:var(--red);border-color:var(--red);color:var(--on-red)}
.chip.x{background:var(--chipx-bg);border-color:var(--chipx-line);color:var(--chipx-txt)}
.chip.x.on{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:600}
.fuq{margin-top:7px;background:var(--fuq-bg);border-left:3px solid var(--accent);padding:6px 10px;font-size:.86em;color:var(--fuq-txt);border-radius:0 6px 6px 0;line-height:1.5}
.chip.rfn{background:var(--rfn-bg);border-color:var(--green);color:var(--green)}
.chip.rfp{background:var(--red);border-color:var(--red);color:var(--on-red);font-weight:700}
.rfbanner{background:var(--rfb-bg);border:2px solid var(--red);color:var(--rfb-txt);border-radius:8px;padding:10px 14px;font-weight:700;font-size:.95em;margin-bottom:14px}
details.dd{margin-top:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
details.dd summary{cursor:pointer;padding:6px 10px;font-size:.85em;color:var(--dim);user-select:none;list-style:none;display:flex;align-items:center;gap:7px}
details.dd summary::-webkit-details-marker{display:none}
details.dd summary::before{content:'▸';transition:transform .15s;color:var(--accent)}
details.dd[open] summary::before{transform:rotate(90deg)}
details.dd summary b.cnt{background:var(--accent);color:var(--accent-txt);border-radius:8px;padding:0 7px;font-size:.9em}
details.dd .chips{padding:2px 10px 10px}
.field input[type=text]{background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:6px;padding:5px 9px;font-size:12.5px;margin-top:6px;width:100%}
.field input[type=text]:focus{outline:none;border-color:var(--accent)}
.subrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.subrow .half{flex:1;min-width:180px}
.subrow .mini{color:var(--dim);font-size:11px;margin-bottom:3px}
.sev{display:flex;align-items:center;gap:8px}
.sev input[type=range]{flex:1;accent-color:var(--accent)}
.sev .val{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--accent);width:52px;text-align:center}

.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-txt);border-radius:8px;padding:8px 12px;font-size:12.5px;margin-bottom:14px}
.note-hint{background:var(--hint-bg);border:1px solid var(--hint-line);color:var(--hint-txt);border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:14px}

/* ---- output ---- */
aside .out-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px;border-bottom:1px solid var(--line)}
aside .out-head .t{font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
aside .out-head .t{flex:1 1 100%}
aside .out-head .spacer{display:none}
aside .out-head button{white-space:nowrap;background:var(--accent);color:var(--accent-txt);border:none;border-radius:6px;padding:6px 12px;font-weight:700;font-size:12px;cursor:pointer}
aside .out-head button.ghost{background:none;border:1px solid var(--line);color:var(--dim)}
aside .out-head button.ghost:hover{color:var(--txt)}
aside .out-head .menu{position:relative}
aside .out-head .menu summary{list-style:none;cursor:pointer;background:none;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:6px 12px;font-weight:700;font-size:12px;white-space:nowrap}
aside .out-head .menu summary::-webkit-details-marker{display:none}
aside .out-head .menu[open] summary{color:var(--txt)}
aside .out-head .menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:30;display:flex;flex-direction:column;min-width:190px;background:var(--panel,var(--bg));border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:0 6px 18px rgba(0,0,0,.45)}
aside .out-head .menu-list button{background:none;border:none;color:var(--txt);text-align:left;padding:10px 12px;font-size:13px;font-weight:600;border-radius:6px}
aside .out-head .menu-list button:hover{background:var(--line)}
#note{flex:1;overflow-y:auto;padding:12px;font-family:var(--mono);font-size:.92em;line-height:1.7;white-space:pre-wrap;color:var(--note-txt);outline:none}
#note[contenteditable="true"]{background:var(--edit-bg);border:1px dashed var(--accent)}
#note .dimline{color:var(--dim)}
.copied{background:var(--green)!important;color:var(--on-green)!important}

/* ---- reference views ---- */
.ref h3{font-size:13px;margin:16px 0 8px;color:var(--accent);letter-spacing:.04em}
.ref table{width:100%;border-collapse:collapse;font-size:12.5px}
.ref td,.ref th{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}
.ref th{background:var(--panel2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}
.ref td.med{font-weight:600;white-space:nowrap}
.ref .qline,.ref .exline{display:flex;align-items:flex-start;gap:8px;padding:5px 8px;border-radius:6px}
.ref .qline:hover,.ref .exline:hover{background:var(--panel2)}
.ref .exline .cp{margin-left:auto;background:none;border:1px solid var(--line);color:var(--dim);border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer;white-space:nowrap}
.ref .exline .cp:hover{color:var(--txt)}
.ref .q{color:var(--txt)} .ref .qk{font-family:var(--mono);color:var(--red);font-weight:700;min-width:16px}

.sugbox{border:1px solid var(--accent);background:var(--sug-bg);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.sugbox .sughead{font-weight:700;color:var(--accent);font-size:.9em;margin-bottom:6px;letter-spacing:.03em}
/* entrevista guiada */
.gstart{display:block;width:100%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--accent-txt);border:none;border-radius:12px;padding:13px;font-size:1.02em;font-weight:800;cursor:pointer;margin-bottom:14px;letter-spacing:.02em}
.gtop{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:6px;font-size:.95em}
.gtop .gn{color:var(--dim);font-family:var(--mono)}
.gbar{height:5px;background:var(--panel2);border-radius:3px;margin-bottom:14px;overflow:hidden}
.gbar div{height:100%;background:var(--accent);transition:width .2s}
.algoq{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 16px;margin-bottom:12px}
.algoq .qtxt{font-size:1.12em;font-weight:600;line-height:1.5;margin-bottom:14px}
.gcard .fname{font-size:.8em;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-weight:700}
.gskip{color:var(--dim);font-size:.85em;text-align:center;margin-top:8px}
.algo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.algo-actions button{background:var(--accent);color:var(--accent-txt);border:none;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}
.algo-actions button.ghost{background:none;border:1px solid var(--line);color:var(--dim)}
/* vitals / patient / saved */
.vit{display:flex;gap:8px;flex-wrap:wrap}
.vit label{display:flex;flex-direction:column;gap:2px;font-size:.78em;color:var(--dim);letter-spacing:.05em}
.vit input{width:76px;background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:6px;padding:5px 7px;font-size:1.05em;font-family:var(--mono)}
.vit input:focus{outline:none;border-color:var(--accent)}
.pt-row{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line)}
.pt-row input{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:6px;padding:5px 9px;font-size:.9em}
.pt-row input:focus{outline:none;border-color:var(--accent)}
.pt-row button{background:var(--green);color:var(--on-green);border:none;border-radius:6px;padding:5px 12px;font-weight:700;cursor:pointer;font-size:.85em;white-space:nowrap}
.savedN{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}
.savedN .savedH{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel2)}
.savedN .savedH .tm{color:var(--dim);font-size:.85em}
.savedN .savedH .sp{flex:1}
.savedN pre{font-family:var(--mono);font-size:.88em;line-height:1.6;padding:10px;white-space:pre-wrap;color:var(--note-txt);margin:0}
.cp{background:none;border:1px solid var(--line);color:var(--dim);border-radius:5px;padding:2px 8px;font-size:.8em;cursor:pointer;white-space:nowrap}
.cp:hover{color:var(--txt)}

/* mobile */
#mobileNoteBtn{display:none}
@media(max-width:980px){
  #app{grid-template-columns:1fr;grid-template-rows:48px auto 1fr}
  nav{display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:0}
  header{grid-column:1}
  nav .grp{display:none}
  nav button{width:auto;white-space:nowrap;border-left:none;border-bottom:3px solid transparent}
  nav button.active{border-bottom-color:var(--accent)}
  nav button .k{display:none}
  aside{position:fixed;inset:auto 0 0 0;height:55vh;transform:translateY(100%);transition:transform .2s;z-index:20;border-top:2px solid var(--accent)}
  aside.open{transform:translateY(0)}
  #mobileNoteBtn{display:block;position:fixed;right:14px;bottom:14px;z-index:21;background:var(--accent);color:var(--accent-txt);border:none;border-radius:20px;padding:10px 18px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.5);cursor:pointer}
}
/* ===== ADTMC additions ===== */
.langsw{display:inline-flex;margin-left:8px}
.langsw button{padding:4px 9px;font-size:.8em;border-radius:0}
.langsw button:first-child{border-radius:6px 0 0 6px}
.langsw button:last-child{border-radius:0 6px 6px 0;border-left:none}
.langsw button.on{background:var(--accent);color:var(--accent-txt);border-color:var(--accent)}
.clr{margin-left:auto;cursor:pointer;color:var(--dim);font-size:.8em;padding:2px 8px;border:1px solid var(--line);border-radius:10px;white-space:nowrap}
.clr:hover{color:var(--txt);border-color:var(--dim)}
.chip.sug{border-style:dashed;border-color:var(--accent);color:var(--accent)}
.secbar{margin:18px 0 6px;padding:6px 10px;border-left:3px solid var(--accent);background:var(--panel2);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.cathead{margin:14px 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:700}
nav details.navgrp>summary{cursor:pointer;padding:8px 14px;font-size:13px;font-weight:600;list-style:none;color:var(--txt)}
nav details.navgrp>summary::-webkit-details-marker{display:none}
nav details.navgrp>summary::before{content:"▸ ";color:var(--dim)}
nav details.navgrp[open]>summary::before{content:"▾ "}
nav button.sub{padding:6px 14px 6px 28px;font-size:12.5px}
nav button.sub .pid{font-family:var(--mono);color:var(--dim);font-size:11px;min-width:34px}
@media(max-width:980px){nav details.navgrp{display:none}}

.chip.blocked{opacity:.35;text-decoration:line-through}
.dim{color:var(--dim)}
.pid{font-family:var(--mono);font-weight:800;color:var(--accent);margin-right:6px}
.plist .prow{display:flex;align-items:center;gap:8px;padding:11px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:6px;cursor:pointer}
.plist .prow:hover{border-color:var(--accent)}
.plist .ptit{flex:1}
.ppg{margin-left:auto;font-size:.8em}
.dpq{border-left:4px solid var(--line)}
.dpq.fired{border-left-color:var(--red)}
.dpq.clear{border-left-color:var(--green)}
.dpq .fname{color:var(--accent)}
.dpact{background:var(--fuq-bg);border-radius:6px;padding:6px 10px;font-size:.88em;color:var(--fuq-txt);margin-bottom:8px}
.exq{border-left:4px solid var(--blue)}
.exq .qtxt{font-size:1em}
.endpt{margin-top:10px;font-weight:800;padding:8px 12px;border-radius:8px}
.resbox{border-radius:12px;padding:14px 16px;margin:14px 0;border:2px solid var(--line)}
.resk{font-size:.72em;letter-spacing:.14em;font-weight:700;opacity:.85}
.resh{font-size:1.25em;font-weight:800;margin:2px 0 6px}
.resw{font-size:.9em;margin-top:3px}
.resn{font-size:.85em;margin-top:8px;opacity:.9}
.lv-pn{background:var(--rfb-bg);border-color:var(--red);color:var(--rfb-txt)}
.lv-aem{background:var(--lvaem-bg);border-color:#e0922f;color:var(--lvaem-txt)}
.lv-mcp{background:var(--lvmcp-bg);border-color:var(--green);color:var(--lvmcp-txt)}
.lv-sp{background:var(--lvsp-bg);border-color:var(--blue);color:var(--lvsp-txt)}
.lv-appt{background:var(--lvappt-bg);border-color:#a98bd6;color:var(--lvappt-txt)}
.lv-tri{background:var(--lvtri-bg);border-color:#d8b52f;color:var(--lvtri-txt)}
.lv-wait{background:var(--panel);color:var(--dim)}
.endpt.lv-pn,.endpt.lv-aem,.endpt.lv-mcp,.endpt.lv-sp,.endpt.lv-appt{border:1px solid currentColor}
.txl{padding:4px 2px;line-height:1.55;font-size:.95em}
.medrow,.medcard{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:.92em;line-height:1.5}
.medrow.bad,.medcard.bad{border-color:var(--red)}
.mw{color:var(--rfb-txt);font-weight:600;margin-top:3px}
.mi{color:var(--hint-txt);margin-top:3px;font-size:.92em}
.rxb{background:var(--red);color:var(--on-red);border-radius:4px;padding:0 5px;font-size:.78em;font-weight:700}
.medcard .mh{display:flex;gap:8px;align-items:baseline;margin-bottom:3px}
#lock{position:fixed;inset:0;background:var(--bg);z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px}
#lock input{font-size:1.4em;text-align:center;width:180px;background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:8px}
#lock button{background:var(--accent);color:var(--accent-txt);border:none;border-radius:8px;padding:10px 26px;font-weight:700;font-size:1em}
.dateIn{background:var(--bg);border:1px solid var(--line);color:var(--txt);border-radius:6px;padding:5px 9px;font-size:.95em;width:100%;color-scheme:dark}
@media(max-width:600px){
  main{padding:12px 12px 96px}
  .chip{padding:9px 14px;font-size:1em}
  header .sub{display:none}
  header button{padding:7px 9px}
  .vit input{width:68px;padding:8px 6px;font-size:1.1em}
  .algo-actions button{padding:13px 16px}
  .plist .prow{padding:14px 12px}
}
@media print{
  header,nav,main,.out-head,.pt-row,#mobileNoteBtn,#lock{display:none!important}
  html,body{height:auto;background:#fff}
  #app{display:block;height:auto}
  aside{position:static!important;transform:none!important;border:none;display:block;height:auto;background:#fff}
  #note{overflow:visible;color:#000;background:#fff;font-size:11pt;padding:0}
}
.dpq .fname,.exq .fname{font-size:.78em;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
@media(max-width:600px){header button[onclick^="setFs"],header button[onclick="resetTpl()"]{display:none}}

.dcbox{margin-top:8px;padding:8px 10px;border:1px dashed var(--line);border-radius:8px}
.dcrow{display:flex;gap:6px;align-items:center;margin-top:4px}
.dcrow button{background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:6px;width:34px;height:32px;font-size:1.1em;cursor:pointer}
.dcrow input{width:64px;text-align:center;margin:0}
.dcbox .mini{color:var(--dim);font-size:12px}

/* DD 689 sick slip */
#slipOv{position:fixed;inset:0;z-index:60;background:var(--bg,#111);overflow:auto;padding:10px}
#slipOv .sl-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}#slipOv .spacer{flex:1}
#slipOv .sl-hint{font-size:.8em;color:var(--dim);margin-bottom:8px}
#slipOv .sl-form{background:#fff;color:#000;max-width:780px;margin:0 auto;border:2px solid #000;font-family:Arial,Helvetica,sans-serif}
#slipOv .sl-title{text-align:center;font-weight:700;font-size:13px;padding:3px;border-bottom:1px solid #000}
#slipOv .sl-row{display:flex;border-bottom:1px solid #000}
#slipOv .sl-c{padding:3px 5px;border-right:1px solid #000;box-sizing:border-box}#slipOv .sl-c:last-child{border-right:none}
#slipOv .w65{width:65%}#slipOv .w35{width:35%}#slipOv .w30{width:30%}#slipOv .w50{width:50%}
#slipOv .ctr{text-align:center;font-weight:700;font-size:11px}
#slipOv .sl-sec{background:#fff}
#slipOv label{display:block;font-size:10px;font-weight:700;margin-top:2px}#slipOv label i{font-weight:400;font-size:8px}
#slipOv .sl-cb{display:inline-flex;align-items:center;gap:4px;font-weight:400;margin-right:12px;margin-left:6px}
#slipOv .bx{display:inline-block;width:11px;height:11px;border:1px solid #000;margin-right:4px;vertical-align:middle;background:#fff}
#slipOv .sl-cb input{position:absolute;opacity:0;width:1px;height:1px}#slipOv .sl-cb input:checked+.bx{background:#000}
#slipOv input[type=text],#slipOv input:not([type]),#slipOv textarea{width:100%;box-sizing:border-box;border:none;border-bottom:1px dotted #999;background:#fff;color:#000;font:12px Arial,sans-serif;padding:3px 2px;margin:2px 0 4px;resize:none;outline:none}
#slipOv textarea{border:1px dotted #999;resize:vertical;overflow:hidden;min-height:2.2em}
#slipOv .sl-warn{color:#b00020;font-size:11px;font-weight:700;margin:4px 0}
#slipOv .sl-cbs{display:flex;gap:18px;font-size:10px;padding:3px 0 5px}#slipOv .sl-cbs.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
#slipOv .sl-sigwrap{position:relative;border-bottom:1px solid #000;margin:4px 0}#slipOv .sl-sig{width:100%;height:70px;display:block;touch-action:none;background:#fff;border:1px dashed #bbb}#slipOv .sl-sigclr{position:absolute;right:2px;top:2px;font-size:10px;padding:2px 6px;background:#eee;color:#000;border:1px solid #999;border-radius:4px}
#slipOv .sl-blank.s1{height:34px}#slipOv .sl-blank.s8{height:190px}
#slipOv .sl-row3{display:flex;gap:8px}#slipOv .sl-row3>div{flex:1}#slipOv .dacode{width:60%;display:inline-block;margin-left:6px}#slipOv .da textarea{font-size:11px}
#slipOv .sl-foot{display:flex;justify-content:space-between;font-size:9px;padding:3px 5px}
#slipOv .sl-bar button{padding:6px 12px}
@media print{
  body.slip-print>*:not(#slipOv){display:none!important}
  body.slip-print #slipOv{position:static;overflow:visible;background:#fff;padding:0}
  body.slip-print #slipOv .sl-sig{border:none!important}body.slip-print #slipOv .sl-bar,body.slip-print #slipOv .sl-noprint,body.slip-print #slipOv .sl-cont.off,body.slip-print #slipOv .sl-hint,body.slip-print #slipOv .sl-warn{display:none!important}
  body.slip-print #slipOv .sl-form{max-width:none;margin:0}
  body.slip-print #slipOv textarea,body.slip-print #slipOv input{border:none!important;resize:none}
  @page{size:letter;margin:.5in}
}

/* ===== Apple Health-style layer (PR A: visual only, layout unchanged) ===== */
body{-webkit-font-smoothing:antialiased;line-height:1.4}
header{background:color-mix(in srgb,var(--panel) 85%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--line)}
header .brand{color:var(--txt);text-transform:none;letter-spacing:0;font-size:17px;font-weight:700}
header button{border:none;background:var(--panel2);color:var(--blue);border-radius:8px;font-weight:500}
header button:hover{color:var(--blue);filter:brightness(1.1)}
.langsw button{border:none!important;background:var(--panel2);color:var(--dim)}
.langsw button.on{background:var(--accent);color:var(--accent-txt)}
nav{background:var(--bg);border-right:.5px solid var(--line);padding:8px}
nav .grp,.cathead{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--dim)}
nav button{border-left:none;border-radius:10px;padding:10px 12px;font-size:15px}
nav button.active{background:color-mix(in srgb,var(--accent) 18%,var(--panel));border-left:none;font-weight:600}
nav details.navgrp>summary{border-radius:10px;font-size:15px}
nav button.sub{padding:8px 12px 8px 26px;font-size:14px}
main{padding:20px 20px 96px}
h2.tpl{font-size:28px;font-weight:700;letter-spacing:.2px;margin-bottom:4px}
p.tpl-sub{font-size:14px;margin-bottom:18px}
.field,.algoq,.plist .prow,.savedN,.medrow,.medcard{border:none;border-radius:var(--radius);background:var(--panel)}
.field{padding:14px 16px;margin-bottom:12px}
.field .lab{align-items:center;margin-bottom:10px}
.field .tag{font-family:var(--sans);font-size:12px;padding:3px 7px;border-radius:7px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.field .tag.o{background:color-mix(in srgb,var(--red) 18%,transparent)}.field .tag.s2{background:color-mix(in srgb,var(--blue) 18%,transparent)}
.field .name{font-size:16px}
.field .ask{font-style:normal;font-size:13px}
.chips{gap:8px}
.chip{background:var(--panel2);border:none;border-radius:999px;padding:7px 14px;min-height:34px;display:inline-flex;align-items:center;font-size:.95em;transition:background .15s,transform .1s}
.chip:active{transform:scale(.97)}
.chip:hover{border:none;filter:brightness(1.08)}
.chip.on{background:var(--accent);color:var(--accent-txt)}
.chip.deny{border:none;box-shadow:inset 0 0 0 1.5px var(--line);background:transparent;color:var(--dim)}
.chip.deny.on{box-shadow:none;background:var(--red);color:var(--on-red)}
.chip.x{border:none}
.chip.sug{border:none;box-shadow:inset 0 0 0 1.5px var(--accent);background:transparent}
.chip.rfn{border:none;background:var(--rfn-bg);color:var(--green);font-weight:600}
.chip.rfp{border:none}
.fuq{border-left:none;border-radius:10px;padding:9px 12px;font-size:.9em}
.dpact{border-radius:10px;padding:9px 12px}
.sugbox{border:none;border-radius:var(--radius);padding:14px 16px}
.rfbanner{border:none;border-radius:var(--radius);box-shadow:inset 4px 0 0 var(--red)}
.warn,.note-hint{border:none;border-radius:10px}
details.dd{border:none;border-radius:10px}
.secbar{margin:28px 0 10px;padding:0;border-left:none;background:none;font-size:22px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--txt)}
.resbox{border:none;border-radius:16px;padding:16px 18px}
.resk{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600}
.resh{font-size:1.45em;font-weight:700}
.lv-pn .resk,.lv-pn .resh{color:var(--red)}.lv-aem .resk,.lv-aem .resh{color:var(--orange)}.lv-mcp .resk,.lv-mcp .resh{color:var(--green)}
.dpq{border-left:none;box-shadow:inset 4px 0 0 var(--line)}
.dpq.fired{box-shadow:inset 4px 0 0 var(--red)}.dpq.clear{box-shadow:inset 4px 0 0 var(--green)}
.exq{border-left:none;box-shadow:inset 4px 0 0 var(--blue)}
.algoq{padding:18px}
.plist .prow{padding:14px 16px;margin-bottom:8px}
.plist .prow:hover{border:none;background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.gstart{background:var(--accent);border-radius:14px;padding:15px;font-weight:700;letter-spacing:0}
.gbar{height:4px;border-radius:2px}
.algo-actions button,#lock button{border-radius:10px;padding:11px 18px;font-weight:600}
.algo-actions button.ghost{border:none;background:var(--panel2);color:var(--blue)}
.cp,.clr,.ref .exline .cp{border:none;background:var(--panel2);color:var(--blue);border-radius:8px;padding:4px 10px}
.field input[type=text],.vit input,.pt-row input,.dateIn,#lock input,.field input[type=password],.field input:not([type]){background:var(--panel2);border:none;border-radius:10px;padding:9px 12px;font-size:16px;color:var(--txt)}
.field input:focus,.vit input:focus,.pt-row input:focus{outline:2px solid var(--accent);outline-offset:0}
.vit input{font-family:var(--sans);width:84px}
.vit label{font-size:12px;font-weight:600;letter-spacing:0}
aside{background:var(--panel);border-left:.5px solid var(--line)}
aside .out-head{border-bottom:.5px solid var(--line);padding:12px 14px}
aside .out-head .t{font-size:17px;letter-spacing:0;text-transform:none;color:var(--txt)}
aside .out-head button{border-radius:8px;background:var(--blue);color:#fff;font-weight:600;padding:7px 13px}
aside .out-head button.ghost,aside .out-head .menu summary{border:none;background:var(--panel2);color:var(--blue)}
aside .out-head .menu-list{border:none;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.pt-row{border-bottom:.5px solid var(--line);padding:10px 14px}
.pt-row button{border-radius:10px;padding:8px 14px}
#note{padding:14px 16px;line-height:1.6}
.ref td,.ref th{border:none;border-bottom:.5px solid var(--line)}
.ref th{background:none;text-transform:none;letter-spacing:0;font-size:13px}
.ref h3{font-size:20px;color:var(--txt);letter-spacing:0}
.savedN .savedH{background:var(--panel2)}
.medrow,.medcard{background:var(--panel)}
.medrow.bad,.medcard.bad{box-shadow:inset 4px 0 0 var(--red)}
@media(max-width:980px){
  nav{background:var(--panel);border-bottom:.5px solid var(--line);padding:6px 8px;gap:4px}
  nav button{border-bottom:none;border-radius:999px;padding:8px 14px;font-size:14px}
  nav button.active{border-bottom:none}
  aside{border-top:none;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.35)}
  #mobileNoteBtn{background:var(--blue);color:#fff;border-radius:999px;padding:12px 20px;bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:0 6px 20px rgba(0,0,0,.35)}
}
@media(max-width:600px){
  main{padding:16px 16px 104px}
  .chip{padding:9px 15px;min-height:40px}
  h2.tpl{font-size:30px}
}

/* ===== PR B: phone bottom tab bar + note sheet (≤760px) ===== */
#peek,#tabbar{display:none}
@media(max-width:760px){
  #app{grid-template-rows:calc(48px + env(safe-area-inset-top)) 1fr;height:100dvh}
  header{padding-top:env(safe-area-inset-top)}
  #nav{display:none!important}
  header button[onclick^="setFs"],header .sub{display:none}
  main{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
  #mobileNoteBtn{display:none!important}
  aside{position:fixed!important;left:8px;right:8px;top:auto;bottom:calc(60px + env(safe-area-inset-bottom));height:auto!important;transform:none!important;border-radius:16px!important;border:none!important;box-shadow:0 8px 30px rgba(0,0,0,.28)!important;z-index:22;transition:none}
  aside:not(.open)>:not(#peek){display:none!important}
  #peek{display:block;padding:6px 16px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  #peek .grab{width:36px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 8px}
  #peek .pk-row{display:flex;align-items:center;gap:12px}
  #peek .pk-t{flex:1;min-width:0}
  #peek .pk-t b{display:block;font-size:16px}
  #peek .pk-t span{display:block;font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #peek .pk-copy{background:var(--blue);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-weight:600;font-size:15px}
  aside.open{left:0;right:0;bottom:0;top:calc(44px + env(safe-area-inset-top));border-radius:16px 16px 0 0!important;z-index:30;padding-bottom:env(safe-area-inset-bottom);display:flex}
  aside.open #peek .pk-copy{display:none}
  aside.open .out-head .t{display:none}
  body.sheet-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:28}
}
@media print{#tabbar,#peek{display:none!important}}

/* ===== PR C: tablet (761–1099px) two columns, desktop (≥1100px) three columns ===== */
@media(max-width:1099px){
  #tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:color-mix(in srgb,var(--panel) 85%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--line);padding:6px 0 calc(4px + env(safe-area-inset-bottom))}
  #tabbar button{flex:1;background:none;border:none;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:500;padding:2px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  #tabbar svg{width:25px;height:25px;fill:currentColor}
  #tabbar button.on{color:var(--accent)}
}
header .brand,header button{white-space:nowrap}
@media(max-width:1299px){header .sub{display:none}}
@media(min-width:761px) and (max-width:1099px){
  #app{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:calc(52px + env(safe-area-inset-top)) minmax(0,1fr);height:100dvh}
  header{grid-column:1/3;padding-top:env(safe-area-inset-top)}
  header button[onclick^="setFs"]{display:none}
  #nav{display:none!important}
  main{grid-column:1;grid-row:2;padding:20px 24px calc(96px + env(safe-area-inset-bottom))!important}
  aside{grid-column:2;grid-row:2;position:static!important;transform:none!important;height:auto!important;border:none!important;border-left:.5px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;display:flex!important;padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  #mobileNoteBtn{display:none!important}
  #tabbar{justify-content:center}#tabbar button{max-width:150px}
}
@media(min-width:1100px){
  #app{grid-template-columns:260px minmax(0,1fr) 400px}
  main{padding:24px 32px 80px}
}
.pt-row input{min-width:0}

/* ===== PR D: protocol screen (live disposition card, red-flag switches) ===== */
.livecard{background:var(--panel);border-radius:16px;padding:14px 16px;margin:4px 0 16px;cursor:pointer}
.livecard .lc-k{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--dim)}
.livecard .lc-k span{font-weight:400;font-size:12px}
.livecard .lc-h{font-size:28px;font-weight:700;margin:4px 0 2px;color:var(--txt)}
.livecard .lc-m{font-size:14px;color:var(--dim)}
.livecard.lv-pn .lc-k,.livecard.lv-pn .lc-h{color:var(--red)}
.livecard.lv-aem .lc-k,.livecard.lv-aem .lc-h{color:var(--orange)}
.livecard.lv-mcp .lc-k,.livecard.lv-mcp .lc-h{color:var(--green)}
.livecard.lv-sp .lc-k,.livecard.lv-sp .lc-h{color:var(--blue)}
.livecard.lv-appt .lc-k,.livecard.lv-appt .lc-h{color:var(--purple)}
.livecard.lv-pn,.livecard.lv-aem,.livecard.lv-mcp,.livecard.lv-sp,.livecard.lv-appt{background:var(--panel);border:none}
.rf-head{display:flex;align-items:baseline;gap:10px;margin:8px 0 8px}
.rf-head h3{font-size:22px;font-weight:700;flex:1}
.rf-all{background:none;border:none;color:var(--blue);font-size:16px;cursor:pointer;padding:0}
.rf-st{font-size:15px;font-weight:600}.rf-st.neg{color:var(--green)}.rf-st.pos{color:var(--red)}
.rf-list{background:var(--panel);border-radius:var(--radius);overflow:hidden;margin-bottom:6px}
.rf-row{display:flex;align-items:center;gap:12px;padding:11px 16px;min-height:52px;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.rf-row+.rf-row:before{content:"";position:absolute;top:0;left:56px;right:0;border-top:.5px solid var(--line)}
.rf-ic{width:28px;height:28px;border-radius:7px;background:var(--red);color:#fff;font-weight:800;display:grid;place-items:center;flex:none}
.rf-row.neg .rf-ic{background:var(--green)}
.rf-lbl{flex:1;font-size:16px}
.rf-lbl small{display:block;font-size:12px;color:var(--dim)}
.rf-row.pos .rf-lbl{color:var(--red);font-weight:600}
.tgl{width:51px;height:31px;border-radius:999px;background:var(--panel2);position:relative;flex:none;transition:background .2s}
.tgl:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:left .2s}
.tgl.on{background:var(--red)}.tgl.on:after{left:22px}
.rf-help{font-size:12.5px;color:var(--dim);margin:0 4px 14px}

/* ===== PR E: polish (inputs everywhere, meds counter, native controls, dark mode) ===== */
:root{color-scheme:dark}
:root[data-mode="light"]{color-scheme:light}
:root[data-mode="light"] .dateIn{color-scheme:light}
main input[type=text],main input[type=search],main input[type=password],main input:not([type]),main textarea,main select,aside input[type=text]{background:var(--panel2);color:var(--txt);border:none;border-radius:10px;padding:9px 12px;font-size:16px;font-family:var(--sans)}
main input::placeholder,main textarea::placeholder,aside input::placeholder{color:var(--dim)}
main input:focus,main textarea:focus,main select:focus{outline:2px solid var(--accent);outline-offset:0}
main input[type=checkbox],main input[type=radio]{accent-color:var(--accent);width:20px;height:20px}
.dcbox{border:none;background:var(--panel2);border-radius:12px;padding:10px 12px}
.dcbox .mini{font-size:13px}
.dcrow{gap:10px;margin-top:8px}
.dcrow button{background:var(--panel);border:none;color:var(--blue);border-radius:10px;width:44px;height:40px;font-size:1.3em;font-weight:600}
.dcrow input{width:72px!important;text-align:center;background:var(--panel)!important;font-weight:600;font-variant-numeric:tabular-nums}
.medcard .mh b,.medrow b{font-weight:700}
.rxb{border-radius:6px;padding:1px 6px}
.ref table{border-radius:12px;overflow:hidden;background:var(--panel)}
.ref td,.ref th{padding:9px 12px}
.ref .qline,.ref .exline{border-radius:10px;padding:8px 10px}
.savedN{background:var(--panel)}
.savedN .savedH{background:transparent;border-bottom:.5px solid var(--line)}
#lock{gap:16px}
#lock input{width:220px;font-size:1.3em;text-align:center}
details.dd summary{padding:9px 12px;font-size:.9em}
.secbar+.field,.secbar+.algoq{margin-top:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* DD 689: clinical history printed below the form */
#slipOv .sl-cont{background:#fff;color:#000;max-width:780px;margin:10px auto 0;font-family:Arial,Helvetica,sans-serif}
#slipOv .sl-cont.off{opacity:.35}
#slipOv .sl-cont-h{font-size:10px;font-weight:700;border-bottom:1px solid #000;padding:2px 0;margin-bottom:3px}
#slipOv .sl-cont-h span{font-weight:400}
#slipOv #slHistP,#slipOv .sl-pt{display:none}
#slipOv #slHist{border:1px dotted #999;font:11px/1.3 Arial,sans-serif;white-space:pre-wrap;min-height:3em}
@media print{
  body::before,body::after{display:none!important;content:none!important}
  body.slip-print #slipOv .sl-cont{max-width:none;margin:6px 0 0}
  body.slip-print #slipOv textarea{display:none!important}
  body.slip-print #slipOv .sl-pt{display:block!important;white-space:pre-wrap;font-family:Arial,sans-serif;line-height:1.3;padding:2px;min-height:3.2em}
  body.slip-print #slipOv #slRem+.sl-pt{min-height:80px}
  body.slip-print #slipOv #slHistP{display:block!important;white-space:pre-wrap;font-family:Arial,sans-serif;line-height:1.25}
  body.slip-print #slipOv #slHistP.two{column-count:2;column-gap:16px}
}
@media print{body.slip-print #slipOv input::placeholder{color:transparent}}

/* Close buttons: red circle with white X, everywhere something closes */
.xbtn{width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--red);border:none;display:inline-grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.25);-webkit-tap-highlight-color:transparent;flex:none}
.xbtn svg{width:18px;height:18px;stroke:#fff;stroke-width:3;stroke-linecap:round;fill:none}
.xbtn:active{transform:scale(.92)}
#peek .pk-x{display:none}
aside.open #peek .pk-x{display:inline-grid}
.gtop .xbtn{margin-left:10px}
#slipOv .sl-bar .xbtn{padding:0}
/* "more than one complaint" warning in the note panel */
#multiWarn{margin:10px 14px 0;padding:12px;border-radius:12px;background:var(--warn-bg);color:var(--txt)}
#multiWarn .mw-h{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--warn-txt)}
#multiWarn .mw-g{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
#multiWarn .mw-t{font-size:12px;color:var(--dim);width:100%}
#multiWarn .chip:not(.on){text-decoration:line-through;opacity:.7}
@media print{#multiWarn{display:none!important}}

header button.danger,button.danger,.algo-actions button.danger{background:var(--red)!important;color:#fff!important;border:none!important;font-weight:700}
header button.danger.armed,button.danger.armed,button.armed{background:#8E0000!important;color:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 40%,transparent)}

/* Compact history: answered letters collapse; progress line on top */
.hprog{position:sticky;top:-1px;z-index:5;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 2px;margin:0 0 8px;background:var(--bg)}
.hprog .hl{min-width:32px;height:32px;border-radius:9px;display:inline-grid;place-items:center;font-weight:700;font-size:14px;background:var(--panel2);color:var(--dim);cursor:pointer}
.hprog .hl.done{background:var(--accent);color:var(--accent-txt)}
.hprog .hl.cur{box-shadow:0 0 0 2px var(--blue)}
.hprog .hall{margin-left:auto;color:var(--blue);font-size:14px;cursor:pointer}
.field.fcol{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:6px;cursor:pointer}
.field.fcol .name{font-size:14px;font-weight:600;flex:none}
.field.fcol .fsum{flex:1;min-width:0;color:var(--dim);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.field.fcol.empty .fsum{font-style:italic;opacity:.7}
.field.fcol .chev{color:var(--dim)}
.field.fcur{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}

/* PII guard */
.pii-warn{margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--rfb-bg);color:var(--rfb-txt);font-size:13px;font-weight:600}
#piiWarn{margin:10px 14px 0;padding:12px;border-radius:12px;background:var(--rfb-bg);color:var(--rfb-txt);font-size:14px;box-shadow:inset 4px 0 0 var(--red)}
@media print{.pii-warn,#piiWarn{display:none!important}}

/* Screen-another-protocol links */
.chip.done{opacity:.6}
.scr-link{display:inline-block;padding:1px 8px;margin:0 2px;border-radius:999px;background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue);font-weight:600;cursor:pointer}
#toast{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%,-90px);max-width:92vw;background:var(--panel);color:var(--txt);box-shadow:0 8px 28px rgba(0,0,0,.3);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;z-index:200;transition:transform .25s;text-align:center}
#toast.on{transform:translate(-50%,0)}
.hwrap{position:relative}

#slipOv .sl-bar .pdfbtn{background:var(--blue);color:#fff;border:none;border-radius:8px;font-weight:600}

/* How-to cards */
.htb{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:700;cursor:pointer;vertical-align:middle;line-height:1}
#htOv{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center}
.ht-card{background:var(--panel);color:var(--txt);width:100%;max-width:640px;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.35)}
@media(min-width:761px){#htOv{align-items:center}.ht-card{border-radius:18px}}
.ht-top{display:flex;align-items:center;gap:10px}.ht-top b{flex:1;font-size:19px}
.ht-rev{margin-top:8px;font-size:12px;font-weight:600;color:var(--orange)}
.ht-what{margin:10px 0;color:var(--dim)}
.ht-card h4{margin:12px 0 6px;font-size:15px}
.ht-card ol{padding-left:22px;line-height:1.55}
.ht-res{display:grid;gap:8px;margin:12px 0}.ht-res>div{background:color-mix(in srgb,var(--green) 12%,var(--panel2));border-radius:10px;padding:9px 12px}.ht-res>div.pos{background:color-mix(in srgb,var(--red) 14%,var(--panel2))}
.ht-res b{display:block;font-size:13px;margin-bottom:2px}
.ht-act{margin:8px 0}.ht-unsure{font-size:13px;color:var(--dim)}.ht-src{font-size:12px;color:var(--dim);margin-top:8px}
@media print{#htOv{display:none!important}}

/* ===== Folded sections (v13) / Secciones plegadas ===== */
.secbar.sb2{margin:22px 4px 6px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.fold{display:flex;align-items:center;gap:10px;background:var(--panel);border-radius:14px;padding:14px 16px;margin:8px 0;font-size:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:48px;box-sizing:border-box}
.fold b{font-weight:600;flex:none;color:var(--txt)}
.fold .chev{color:var(--dim);font-size:18px;line-height:1;transition:transform .15s;display:inline-block;width:12px}
.fold.open .chev{transform:rotate(90deg)}
.fold .fsum{margin-left:auto;min-width:0;color:var(--dim);font-size:14px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fold .fsum .ok{color:var(--green)}
.fold.open{margin-bottom:6px}
.fold.open b{color:var(--accent)}
.fbody{margin-bottom:10px}
.rf-head .rf-hint{font-size:13px;color:var(--dim);margin-right:auto}
.gstart.sm{padding:11px;font-size:15px;border-radius:12px}
.livecard.lc1{padding:12px 16px;margin:6px 0 10px}
.livecard.lc1 .lc-r{display:flex;align-items:center;gap:10px}
.livecard.lc1 .lc-r b{font-size:15px;font-weight:600;color:var(--txt)}
.livecard.lc1 .lc-h{margin:0 0 0 auto;font-size:17px;font-weight:700}
.livecard.lc1 .lc-s{margin-left:auto;font-size:14px;color:var(--dim);text-align:right}
.livecard.lc1 .lc-m{font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note-hint.foot{background:none;border:none;font-size:12px;color:var(--dim);padding:4px;margin-top:14px}

/* ===== Patient QR questionnaire (v14) / Cuestionario QR del paciente ===== */
.iq-row{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}
.iq-row button{flex:1;min-width:150px;padding:11px 12px;border-radius:12px;font-size:15px}
.iq-n{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--red);color:#fff;font-size:12px;line-height:20px;margin-left:4px}
.iq-empty{background:var(--panel);border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;gap:6px}
.iq-empty span{color:var(--dim);font-size:15px}
.iq-sum{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--dim);font-size:14px;margin:0 2px 10px}
.iq-d{width:10px;height:10px;border-radius:50%;display:inline-block;margin-left:8px}
.iq-d:first-child{margin-left:0}
.iq-d.red,.iq-tag.red{background:var(--red)}
.iq-d.orange,.iq-tag.orange{background:#FFCC00}
.iq-d.gray,.iq-tag.gray{background:#8E8E93}
.iq-card{background:var(--panel);border-radius:14px;padding:12px 14px;margin-bottom:10px;border-left:5px solid #8E8E93}
.iq-card.red{border-left-color:var(--red)}
.iq-card.orange{border-left-color:#FFCC00}
.iq-card.seen{opacity:.55}
.iq-top{display:flex;align-items:center;gap:10px}
.iq-top b{font-size:17px}
.iq-tag{color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;flex:none}
.iq-tag.orange{color:#000}
.iq-ago{margin-left:auto;color:var(--dim);font-size:13px;flex:none}
.iq-why{font-size:14px;margin-top:6px;font-weight:600}
.iq-facts{font-size:14px;color:var(--dim);margin-top:2px}
.iq-note{font-size:14px;margin-top:6px;font-style:italic}
.iq-act{display:flex;gap:8px;margin-top:10px}
.iq-act button{padding:9px 14px;border-radius:10px;font-size:15px}
.iq-ban{display:flex;flex-direction:column;gap:3px;background:var(--panel);border-radius:14px;padding:12px 14px;margin:0 0 10px;border-left:5px solid #8E8E93;font-size:14px}
.iq-ban.red{border-left-color:var(--red)}
.iq-ban.orange{border-left-color:#FFCC00}
.iq-ban b{font-size:15px}
.iq-ban .iq-rf{color:var(--red);font-weight:700}
.iq-ban .iq-small{color:var(--dim);font-size:12px}
#scanOv{position:fixed;inset:0;z-index:300;background:#000;color:#fff;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}
#scanOv .sc-top{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
#scanOv .sc-top b{font-size:18px}
#scanOv .sc-box{position:relative;flex:1;max-height:70vh;border-radius:18px;overflow:hidden;background:#111}
#scanOv video{width:100%;height:100%;object-fit:cover;display:block}
#scanOv .sc-frame{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 0 0 2000px rgba(0,0,0,.35)}
#scanOv .sc-msg{padding:16px 4px 24px;text-align:center;font-size:16px;color:#ddd}
.iq-fu{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--dim);margin-top:6px}
.iq-fu b{color:var(--txt);font-weight:600}
.iq-fu .lv-r b{color:var(--red)}
.iq-fu .lv-y b{color:#C9A000}
#scanOv .sc-photo{display:block;text-align:center;margin:0 auto 18px;padding:12px 18px;border-radius:12px;background:#2C2C2E;color:#fff;font-size:16px;font-weight:600;cursor:pointer}
#svOv{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
#svOv .sv-card{position:relative;background:var(--panel);color:var(--txt);border-radius:18px;padding:18px 18px 16px;max-width:420px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.4)}
#svOv .sv-card b{font-size:18px;display:block;padding-right:36px}
#svOv .sv-card p{color:var(--dim);font-size:15px;margin:8px 0 14px}
#svOv .xbtn{position:absolute;top:12px;right:12px}
/* Medic gate / Pantalla de entrada (v19) */
#mgOv{position:fixed;inset:0;z-index:400;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));overflow:auto}
#mgOv .mg-card{max-width:440px;width:100%}
#mgOv .mg-k{display:inline-block;background:var(--orange);color:#000;font-weight:800;font-size:13px;padding:5px 10px;border-radius:7px;letter-spacing:.04em}
#mgOv h2{font-size:30px;line-height:1.1;margin:14px 0 10px}
#mgOv p{font-size:16px;color:var(--txt);margin:0 0 12px;line-height:1.4}
#mgOv .mg-btn{display:block;width:100%;border:0;border-radius:14px;padding:16px;margin:12px 0 0;font-size:17px;font-weight:700;background:var(--orange);color:#000}
#mgOv .mg-btn.sec{background:var(--panel);color:var(--txt);border:1px solid var(--line)}
#mgOv .mg-f{font-size:13px;color:var(--dim);margin-top:16px}
.medic-only{font-size:12px;color:var(--dim);margin:6px 2px 10px}
/* Access (v19) / Acceso */
#mgOv .ac-back{border:0;background:none;color:var(--orange);font-size:16px;padding:4px 0;margin-bottom:6px}
#mgOv .ac-skip{display:block;width:100%;border:0;background:none;color:var(--dim);font-size:14px;text-decoration:underline;padding:14px 0 0}
#mgOv .ac-l{display:block;font-size:14px;color:var(--dim);margin:12px 0 6px}
#mgOv .ac-in{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--txt);font-size:17px;padding:12px;margin-top:10px;font-family:inherit}
#mgOv .ac-qr{background:#fff;border-radius:16px;padding:10px;max-width:280px;margin:14px auto 4px}
#mgOv .ac-qr svg{display:block;width:100%;height:auto}
#mgOv .ac-row{display:flex;gap:10px}#mgOv .ac-row .mg-btn{flex:1}
#mgOv .ac-msg{font-size:14px;margin-top:10px;color:var(--green)}#mgOv .ac-msg.bad{color:var(--red)}
#mgOv .ac-card{background:var(--panel);border-radius:14px;padding:6px 14px;margin:10px 0}
#mgOv .ac-card div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}#mgOv .ac-card div:first-child{border-top:0}
#mgOv .ac-card span{color:var(--dim)}
.ac-log{font-size:14px;padding:8px 0;border-top:1px solid var(--line)}.ac-log:first-of-type{border-top:0}.ac-log span{display:block;font-size:12px;color:var(--dim)}
/* Install button + sheet (v21) / Botón Instalar */
.inst-btn{display:inline-block;background:var(--orange,#FF9F0A)!important;color:#000!important;font-weight:700;border-radius:10px}
#instOv{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
#instOv .inst-card{position:relative;background:var(--panel);color:var(--txt);border-radius:20px;padding:20px 20px 16px;max-width:440px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.45)}
#instOv .inst-ic{width:56px;height:56px;border-radius:13px;display:block;margin-bottom:10px}
#instOv .inst-t{display:block;font-size:19px;font-weight:700}#instOv p{color:var(--dim);font-size:15px;margin:6px 0 10px}
#instOv ol{margin:0 0 6px;padding-left:22px}#instOv li{font-size:16px;margin-bottom:9px;line-height:1.4}
#instOv .ib{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:0 6px;font-weight:700}
#instOv .inst-n{font-size:13px;background:var(--panel2);border-radius:10px;padding:8px 10px;color:var(--txt)}
#instOv .xbtn{position:absolute;top:12px;right:12px}
/* Meds groups + OTC/Rx filter (v21) / Grupos de meds + filtro OTC/Rx */
.medf{display:flex;background:var(--panel);border-radius:12px;padding:3px;margin:4px 0 10px;gap:3px}
.medf button{flex:1;border:0;background:none;color:var(--dim);font:inherit;font-size:15px;font-weight:600;padding:9px 6px;border-radius:9px;cursor:pointer}
.medf button.on{background:var(--accent);color:#000}
.otcb{background:var(--panel2);color:var(--dim);border-radius:6px;padding:1px 6px;font-size:.78em;font-weight:700}
.medsec{margin:0 0 12px 6px}
.medsrc{margin:0 0 14px}
.medsrc button{font-size:15.5px}
.fold b{flex:0 1 auto;min-width:0}
/* Med "what is it for" (v23) / Para qué sirve */
.mi-btn{margin-left:6px;flex:none;width:30px;height:30px;border-radius:50%;border:0;background:var(--panel2);color:var(--accent);font-size:17px;font-weight:700;line-height:30px;padding:0;cursor:pointer;align-self:center}
.mi-btn.on{background:var(--accent);color:#000}
.minfo{background:var(--panel2);border-radius:10px;padding:9px 11px;margin:6px 0 8px;font-size:.93em;line-height:1.5}
.minfo div+div{margin-top:5px}
/* PFB shaving profile (v24) / Perfil de afeitar */
.pfb .pfbsev{display:grid;grid-template-columns:1fr;gap:8px}
.pfb .pfbsev .chip{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-radius:12px;padding:10px 12px}
.pfb .pfbsev .chip small{font-size:.82em;opacity:.8;font-weight:400;margin-top:2px}
.pfb .rfmini{font-size:.85em;color:var(--red);margin:4px 0 10px;line-height:1.45}
.pfb .pfbph{margin:12px 0 6px;line-height:1.5}
.pfb .pfbplan{padding:6px 10px 10px;font-size:.92em;line-height:1.55}
.pfb .pfbplan div+div{margin-top:4px}
/* What's new popup (v25) / Ventana de novedades */
#wnOv{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px calc(16px) calc(16px + env(safe-area-inset-bottom))}
#wnOv .wn-card{background:var(--panel);color:var(--txt);border-radius:22px;padding:22px 20px 16px;max-width:440px;width:100%;max-height:85vh;overflow:auto;box-shadow:0 10px 40px rgba(0,0,0,.5)}
#wnOv .wn-k{display:inline-block;background:var(--accent);color:#000;font-weight:800;font-size:12px;letter-spacing:.05em;padding:4px 9px;border-radius:7px}
#wnOv .wn-t{font-size:26px;font-weight:800;margin:10px 0 12px}
#wnOv .wn-i{display:flex;gap:12px;align-items:flex-start;background:var(--panel2);border-radius:14px;padding:12px;margin-bottom:10px;font-size:15.5px;line-height:1.45}
#wnOv .wn-ic{font-size:24px;line-height:1;flex:none;width:30px;text-align:center}
#wnOv .wn-go{margin-top:8px;border:0;background:none;color:var(--accent);font:inherit;font-weight:700;padding:0;cursor:pointer}
#wnOv .wn-ok{width:100%;border:0;border-radius:14px;background:var(--accent);color:#000;font:inherit;font-size:17px;font-weight:700;padding:14px;margin-top:6px;cursor:pointer}
#wnOv .wn-ok{position:sticky;bottom:0;box-shadow:0 -10px 16px var(--panel)}
/* Start screen redesign + guest mode (v26) / Pantalla de inicio + invitado */
#mgOv .mg-top{display:flex;align-items:center;justify-content:space-between}
#mgOv .mg-lang{display:flex;background:var(--panel);border-radius:9px;padding:2px}
#mgOv .mg-lang button{border:0;background:none;color:var(--dim);font:inherit;font-size:14px;font-weight:700;padding:6px 12px;border-radius:7px}
#mgOv .mg-lang button.on{background:var(--orange);color:#000}
#mgOv h2{font-size:40px;letter-spacing:-.02em;margin:22px 0 8px}
#mgOv .mg-sub{font-size:17px;color:var(--dim);margin:0 0 22px;line-height:1.45}
#mgOv .mg-sub b{color:var(--txt);font-weight:700}
#mgOv .mg-btn{margin-top:10px}
#mgOv .mg-btn.ghost{background:none;border:1.5px dashed var(--line);color:var(--txt);margin-top:18px}
#mgOv .mg-btn small{display:block;font-size:13px;font-weight:500;color:var(--dim);margin-top:3px}
#mgOv .mg-links{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:22px;color:var(--dim);font-size:15px}
#mgOv .mg-links button{border:0;background:none;color:var(--orange);font:inherit;font-weight:600;padding:4px 2px}
#mgOv .mg-em{text-align:center;color:var(--dim);font-size:14px;margin-top:14px}
.guest-btn{display:none;background:var(--panel2)!important;color:var(--txt)!important;font-weight:700}
body.guest .guest-btn{display:inline-block}
body.guest #aside,body.guest #mobileNoteBtn,body.guest #tabbar button[data-v="adtmc"],body.guest #tabbar button[data-v="guardados"],body.guest header button[onclick="resetTpl()"],body.guest header .danger{display:none!important}
.guest-lock{max-width:440px;margin:40px auto;text-align:center;padding:0 8px}
.guest-lock .gl-ic{font-size:44px}
.guest-lock h2{font-size:26px;margin:10px 0 8px}
.guest-lock p{color:var(--dim);font-size:16px;line-height:1.5;margin:0 0 18px}
.guest-lock button{display:block;width:100%;border:0;border-radius:14px;padding:15px;font:inherit;font-size:17px;font-weight:700;margin-top:10px;cursor:pointer}
.guest-lock .gl-btn{background:var(--accent);color:#000}
.guest-lock .gl-sec{background:var(--panel);color:var(--txt)}
/* MACE 2 cleaner layout (v26) / MACE más limpio */
.mace-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}
.mace-head .mh-sub{color:var(--dim);font-size:14px;margin-top:2px}
.mace-head .mh-new{border:0;background:var(--panel);color:var(--accent);font:inherit;font-weight:700;font-size:15px;padding:9px 14px;border-radius:12px;cursor:pointer;flex:none}
.mace-status{border-radius:18px;padding:14px 16px;margin-bottom:14px;background:var(--panel);border-left:5px solid var(--line)}
.mace-status.ms-pos{border-left-color:var(--red)}.mace-status.ms-neg{border-left-color:var(--green)}
.mace-status .ms-k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.mace-status .ms-v{font-size:24px;font-weight:800;margin:2px 0 4px}
.mace-status.ms-pos .ms-v{color:var(--red)}.mace-status.ms-neg .ms-v{color:var(--green)}
.mace-status .ms-row{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--dim)}.mace-status .ms-row b{color:var(--txt)}
.mace-status .ms-hint{font-size:14px;color:var(--dim);line-height:1.45}
.mace .mcsec{margin:0 0 14px}
.mace .secbar{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin:16px 4px 6px;padding:0;background:none;border:0}
.mace .field{padding:12px 14px;margin:8px 0}
.mace .field .lab{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:8px}
.mace .field .lab .tag{font-size:11px;padding:2px 6px}
.mace .field .lab .name{font-size:16px;font-weight:600;flex:1 1 auto;min-width:0}
.mace .field .lab .ask{flex-basis:100%;order:3;font-size:13.5px;color:var(--dim);margin:0;line-height:1.4;text-align:left}
.mace .chips{gap:6px}
.mace .chips .chip{min-width:62px;text-align:center;justify-content:center}
.mace .note-hint,.mace .fuq{font-size:13.5px;line-height:1.5}
.nsirow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:var(--panel);border-radius:12px;margin:5px 0}
.nsirow>span{font-size:14.5px;line-height:1.3;min-width:0}
.nsirow .nsiv{display:flex;gap:4px;flex:none}
.nsirow .nsiv .chip{min-width:0;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:9px;margin:0;font-size:14px}
/* MACE status pinned (v27) / Tarjeta del MACE fija */
.mace-status{position:sticky;top:0;z-index:6;padding:10px 14px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.mace-status .ms-k{display:flex;justify-content:space-between}
.mace-status .ms-n{font-weight:700;color:var(--txt);letter-spacing:0}
.mace-status .ms-v{font-size:21px;margin:0 0 2px}
.mace-status .ms-hint{font-size:13px}
/* Guest MACE (v28) */
.guest-mace{font-size:14px;color:var(--dim);margin:2px 4px 6px}
.gm-neg{background:var(--panel);border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.5;margin:10px 0}
/* Unit QR sign-up (v29) / Registro con QR de unidad */
#mgOv select.ac-in{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:30px}
#mgOv .ac-row>div .ac-in{margin-top:0}
#mgOv .ac-tally{width:100%;height:220px;border:0;border-radius:14px;background:var(--panel);margin-top:8px}
/* Unit QR card (v31) / Tarjeta del QR de unidad */
#mgOv .inv-card{background:var(--panel);border-radius:20px;padding:18px 16px}
#mgOv .inv-k{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--orange)}
#mgOv .inv-u{font-size:26px;font-weight:800;margin:4px 0 10px}
#mgOv .inv-steps{margin:0 0 10px;padding-left:22px;font-size:16px;line-height:1.45}#mgOv .inv-steps li{margin-bottom:6px}
#mgOv .inv-ios{font-size:13.5px;color:var(--dim);background:var(--panel2);border-radius:10px;padding:8px 10px;line-height:1.45}
#mgOv .inv-f{font-size:13px;color:var(--dim);text-align:center;margin-top:12px}
#mgOv .inv-warn{font-size:14px;line-height:1.45;background:color-mix(in srgb,var(--red) 16%,transparent);border:1px solid color-mix(in srgb,var(--red) 45%,transparent);border-radius:10px;padding:8px 10px;margin-bottom:8px}
#mgOv .mg-ios{font-size:14.5px;line-height:1.45;background:var(--panel);border-left:4px solid var(--orange);border-radius:10px;padding:10px 12px;margin:-8px 0 14px}
#mgOv .mg-links{flex-wrap:wrap;row-gap:4px;font-size:14.5px}#mgOv .mg-links button{white-space:nowrap}
/* Personal access link (v34) / Link personal */
#mgOv .pass-box{background:var(--panel);border-radius:16px;padding:14px 16px;margin:14px 0 4px}
#mgOv .pass-box b{font-size:18px}#mgOv .pass-box p{font-size:14.5px;color:var(--dim);margin:6px 0 4px;line-height:1.45}
/* H2F referral (v35) */
.h2f .chips .chip{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left;border-radius:14px;padding:8px 14px;line-height:1.25}
.h2f .chips .chip small{font-size:.78em;margin-top:2px}
/* H2F slip (printable) */
#slipOv .h2f-slip{padding:18px 22px;font-family:Calibri,Arial,Helvetica,sans-serif;border:1px solid #000}
#slipOv .hs-top{text-align:center}#slipOv .hs-t{font-size:22px;font-weight:700;margin-bottom:10px}
#slipOv .hs-loc{font-size:15px}#slipOv .hs-bring{font-size:14px;font-weight:700;margin:2px 0 8px}
#slipOv .hs-mid{display:grid;grid-template-columns:110px 1fr 150px;gap:8px;align-items:start}
#slipOv .hs-pc{font-weight:700;font-size:14px;padding-top:4px}
#slipOv .hs-list{text-align:center;font-size:14px;line-height:1.25}
#slipOv .hs-c{display:inline-block;padding:2px 10px;margin:1px 0;border:2px solid transparent;border-radius:999px;cursor:pointer}
#slipOv .hs-c.sel{border-color:#000}
#slipOv .hs-qr{text-align:center;font-size:12px}#slipOv .hs-qr svg{width:110px;height:110px;display:block;margin:0 auto 6px}
#slipOv .hs-f{font-size:14px;margin-top:10px}
#slipOv input.hs-in{display:inline-block;border:none;border-bottom:1px solid #000;font:14px Calibri,Arial,sans-serif;text-align:center;padding:0 2px}
@media (max-width:560px){#slipOv .hs-mid{grid-template-columns:1fr}#slipOv .hs-pc{text-align:center}}
#slipOv .hs-list .hs-c{display:table;margin:1px auto}
@media print{body.slip-print #slipOv input.hs-in{border-bottom:1px solid #000!important}}
