/* Shared theme — clinical teal, teal-biased neutrals, semantic severity, light+dark. */
:root{
  --bg:#eef3f3; --card:#fff; --ink:#15302c; --muted:#5b736e; --line:#d3e0dd;
  --accent:#0f776b; --accent-ink:#fff; --accent-soft:#dcefec; --focus:#0a5a50;
  --red:#b23b34; --red-soft:#fbe7e5; --yellow:#8a5e10; --yellow-soft:#f8eed6;
  --green:#2c7a53; --green-soft:#e0f0e6; --info:#3a6b63; --info-soft:#e4efed;
  --shadow:0 6px 24px rgba(18,60,54,.10); --r:16px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0d1614; --card:#132321; --ink:#e7f1ef; --muted:#9fb5b0; --line:#264542;
  --accent:#3bb9a8; --accent-ink:#04231f; --accent-soft:#123531; --focus:#6fe0cf;
  --red:#f0857c; --red-soft:#381b19; --yellow:#e8b866; --yellow-soft:#31260f;
  --green:#79cf9f; --green-soft:#123023; --info:#8fb7b0; --info-soft:#12302c;
  --shadow:0 6px 28px rgba(0,0,0,.4);
}}
:root[data-theme="light"]{--bg:#eef3f3;--card:#fff;--ink:#15302c;--muted:#5b736e;--line:#d3e0dd;--accent:#0f776b;--accent-ink:#fff;--accent-soft:#dcefec;--red:#b23b34;--red-soft:#fbe7e5;--yellow:#8a5e10;--yellow-soft:#f8eed6;--green:#2c7a53;--green-soft:#e0f0e6;--info:#3a6b63;--info-soft:#e4efed;--shadow:0 6px 24px rgba(18,60,54,.1);}
:root[data-theme="dark"]{--bg:#0d1614;--card:#132321;--ink:#e7f1ef;--muted:#9fb5b0;--line:#264542;--accent:#3bb9a8;--accent-ink:#04231f;--accent-soft:#123531;--red:#f0857c;--red-soft:#381b19;--yellow:#e8b866;--yellow-soft:#31260f;--green:#79cf9f;--green-soft:#123023;--info:#8fb7b0;--info-soft:#12302c;--shadow:0 6px 28px rgba(0,0,0,.4);}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
a{color:var(--accent)}
.wrap{max-width:920px;margin:0 auto;padding:20px 18px}
.appbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 18px;position:sticky;top:0;background:var(--bg);z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-weight:750}
.dot{width:14px;height:14px;border-radius:50%;background:var(--accent)}
.muted{color:var(--muted)} .small{font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.btn{font:inherit;font-weight:700;border:none;border-radius:11px;padding:12px 20px;cursor:pointer;background:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
input,select{font:inherit;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%}
label.fld{display:block;margin:12px 0} label.fld>span{display:block;font-size:14px;font-weight:600;margin-bottom:5px;color:var(--muted)}
.row{display:flex;gap:12px;flex-wrap:wrap} .row>*{flex:1;min-width:120px}
.chip{border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;background:var(--info-soft);color:var(--info);display:inline-block}
.chip.red{background:var(--red-soft);color:var(--red)} .chip.yellow{background:var(--yellow-soft);color:var(--yellow)}
.chip.green{background:var(--green-soft);color:var(--green)} .chip.info{background:var(--info-soft);color:var(--info)}
.status{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.status.created,.status.in_progress{color:var(--muted)} .status.ready_for_review{color:var(--yellow)} .status.signed{color:var(--green)}
table{width:100%;border-collapse:collapse} th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)} th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
tr.caserow{cursor:pointer} tr.caserow:hover{background:var(--accent-soft)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.banner{padding:10px 14px;border-radius:10px;margin:10px 0;font-weight:600}
.banner.err{background:var(--red-soft);color:var(--red)} .banner.ok{background:var(--green-soft);color:var(--green)}
h1{font-size:24px} h2{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:22px 0 10px}
.hidden{display:none}

/* ---- preop note / report view ---- */
.notehead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.notebody h2{margin:18px 0 6px}
.notelist{margin:6px 0;padding-left:20px} .notelist li{margin:3px 0}
.ptbl{width:100%;border-collapse:collapse;margin-bottom:10px}
.ptbl td{padding:5px 8px;border-bottom:1px solid var(--line);font-size:14px}
.orderroute{max-width:200px}
.print-only{display:none}
@media print{
  .appbar,.no-print{display:none !important}
  body{background:#fff;color:#000}
  .wrap{max-width:none;padding:0}
  .card{box-shadow:none;border:1px solid #bbb}
  .notebody h2,h1{color:#000}
  .print-only{display:block}
  .no-break{break-inside:avoid}
}
