:root{
  --bg:#F5F7F9; --surface:#FFFFFF; --sunk:#EEF2F5; --sunk-2:#FAFBFC;
  --ink:#131A1F; --ink-2:#3A4750; --muted:#69767E;
  --line:#E1E7EB; --line-2:#EDF1F4;

  /* one accent, used with restraint: a trustworthy clinical blue */
  --brand:#1D5C8A; --brand-d:#154A70; --brand-l:#EAF2F8; --brand-r:#CBDFEC;

  /* phase colour-coding — functional, muted, never glowing */
  --p1:#3D6B87; --p1-l:#EDF3F6; --p1-r:#D3E1E8;   /* pre-op         */
  --p2:#3E7A5C; --p2-l:#EBF3EE; --p2-r:#CFE3D8;   /* post-op        */
  --p3:#93672C; --p3-l:#F8F1E4; --p3-r:#E6D8BC;   /* discharge      */
  --p4:#5B6B93; --p4-l:#EEF0F6; --p4-r:#D5DAE9;   /* follow-up      */
  --red:#A23E3E; --red-l:#FAECEB;

  --sh-1:0 1px 2px rgba(19,26,31,.04);
  --sh-2:0 1px 2px rgba(19,26,31,.04), 0 8px 20px -12px rgba(19,26,31,.16);
  --sh-3:0 22px 54px -16px rgba(19,26,31,.26);
  --r:12px; --r-s:9px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;letter-spacing:-.012em;margin:0;line-height:1.25}
h1{font-size:24px} h2{font-size:18px} h3{font-size:14.5px}
button,input,select,textarea{font:inherit;color:inherit}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);display:block;margin:0 0 6px;font-weight:500}
.hint{color:var(--muted);font-size:12.5px;margin:6px 0 0}
.hide{display:none !important}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spacer{flex:1}

input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],
select,textarea{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-s);font-size:14px;transition:border-color .14s,box-shadow .14s}
textarea{min-height:82px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:#CCD7DC}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(29,92,138,.13)}
select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7'><path d='M1 1l4.5 4.5L10 1' stroke='%2369767E' stroke-width='1.7' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;background:var(--brand);color:#fff;
  border:1px solid var(--brand-d);border-radius:var(--r-s);padding:9px 16px;font-family:'IBM Plex Sans',sans-serif;
  font-size:13.5px;font-weight:600;cursor:pointer;transition:background .14s;text-decoration:none}
.btn:hover{background:var(--brand-d)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:var(--surface);color:var(--ink-2);border-color:var(--line);box-shadow:var(--sh-1)}
.btn.ghost:hover{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}
.btn.danger{background:var(--surface);color:var(--red);border-color:#EAD3D2;box-shadow:none}
.btn.danger:hover{background:var(--red-l)}
.btn.sm{padding:6px 11px;font-size:12.5px;border-radius:8px}
.btn:disabled{opacity:.4;cursor:not-allowed}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:5px}

/* ============================================================
   Shell — light throughout, no chrome tricks
   ============================================================ */
#scr-app{display:grid;grid-template-columns:238px 1fr;min-height:100vh}
.side{background:var(--surface);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;padding:18px 12px}
.side .logo{display:flex;align-items:center;gap:10px;padding:2px 8px 20px}
.side .mark{width:32px;height:32px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--brand);
  font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:12.5px;color:#fff;letter-spacing:-.02em}
.side .logo b{font-family:'IBM Plex Sans',sans-serif;font-size:15px;font-weight:600;display:block;letter-spacing:-.01em}
.side .logo span{font-size:10.5px;color:var(--muted);display:block}
#nav{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}
#nav button{display:flex;align-items:center;gap:10px;background:none;border:0;border-left:2.5px solid transparent;
  cursor:pointer;width:100%;text-align:left;color:var(--ink-2);padding:9px 10px;border-radius:0 8px 8px 0;
  font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:500;margin-left:-12px;padding-left:22px}
#nav svg{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
#nav button:hover{background:var(--sunk)}
#nav button.on{background:var(--brand-l);border-left-color:var(--brand);color:var(--brand-d);font-weight:600}
#nav .nb{margin-left:auto;background:var(--p3-l);color:var(--p3);border:1px solid var(--p3-r);
  font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;border-radius:20px;padding:0 7px}
.side .card-user{border-top:1px solid var(--line-2);padding-top:13px;margin-top:9px;display:flex;align-items:center;gap:9px}
.side .card-user .avatar{width:31px;height:31px;border-radius:8px;background:var(--sunk);color:var(--ink-2);
  border:1px solid var(--line);display:grid;place-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600}
.side .card-user b{display:block;font-size:12.5px;font-family:'IBM Plex Sans',sans-serif;font-weight:500}
.side .card-user small{color:var(--muted);font-size:11px}
.side .card-user button{background:none;border:0;color:var(--muted);cursor:pointer;padding:5px;border-radius:7px}
.side .card-user button:hover{background:var(--sunk);color:var(--ink)}

.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;background:rgba(245,247,249,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);padding:11px 26px;display:flex;align-items:center;gap:12px}
.topbar .burger{display:none;background:var(--surface);border:1px solid var(--line);border-radius:9px;width:35px;height:35px;cursor:pointer}
.topbar .search{flex:1;max-width:400px;position:relative}
.topbar .search input{padding-left:33px}
.topbar .search svg{position:absolute;left:11px;top:10px;width:15px;height:15px;stroke:var(--muted);stroke-width:1.9;fill:none;stroke-linecap:round}
.wrap{padding:22px 26px 88px;max-width:1320px;width:100%}
.page-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.page-head p{margin:6px 0 0;color:var(--muted);font-size:14px;max-width:64ch}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);margin:0 0 16px;overflow:hidden}
.card-h{display:flex;align-items:center;gap:11px;padding:13px 17px;border-bottom:1px solid var(--line-2)}
.card-h .sec{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--brand-d);
  background:var(--brand-l);border:1px solid var(--brand-r);border-radius:6px;width:24px;height:24px;display:grid;place-items:center;flex:none}
.card-b{padding:17px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.full{grid-column:1/-1}
.sect-note{font-size:13px;color:var(--muted);margin:-4px 0 15px}
.empty{text-align:center;padding:36px 20px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:5px;font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:20px;border:1px solid var(--line);
  background:var(--sunk-2);color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--p2-l);border-color:var(--p2-r);color:var(--p2)}
.pill.warn{background:var(--p3-l);border-color:var(--p3-r);color:var(--p3)}
.pill.bad{background:var(--red-l);border-color:#EAD3D2;color:var(--red)}
.pill.info{background:var(--p1-l);border-color:var(--p1-r);color:var(--p1)}
.dot{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  text-align:left;padding:10px 14px;background:var(--sunk-2);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:500}
td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--sunk-2)}
td.num,th.num{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:13px;margin:0 0 18px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;box-shadow:var(--sh-2)}
.stat b{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:500}
.stat u{display:block;text-decoration:none;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:28px;letter-spacing:-.02em;margin:6px 0 2px}
.stat span{font-size:12px;color:var(--muted)}
.stat.attn{border-color:var(--p3-r);background:linear-gradient(160deg,var(--surface),var(--p3-l))}
.stat.attn u{color:var(--p3)}
.bar{height:3px;background:var(--line-2);border-radius:3px;overflow:hidden;display:block}
.bar i{display:block;height:100%;background:var(--brand);border-radius:3px;transition:width .3s}

.info{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:5px;cursor:pointer;
  border:1px solid var(--brand-r);background:var(--brand-l);color:var(--brand-d);
  font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;vertical-align:middle;margin-left:6px}
.info:hover{background:var(--brand);color:#fff}
.refcard{position:fixed;z-index:120;width:min(400px,calc(100vw - 28px));background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);overflow:hidden}
.refcard header{background:var(--sunk);border-bottom:1px solid var(--line);padding:13px 16px;display:flex;gap:10px;align-items:center}
.refcard header h3{flex:1;font-size:14.5px}
.refcard header button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px}
.refcard .body{padding:13px 16px;max-height:54vh;overflow:auto}
.refcard .why{font-size:13px;color:var(--muted);margin:0 0 12px}
.band{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--line-2)}
.band:first-of-type{border-top:0}
.band .k{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;color:var(--brand-d)}
.band .v{font-size:13.5px;color:var(--ink-2)}
.refcard .src{padding:9px 16px;border-top:1px solid var(--line-2);background:var(--sunk-2);font-size:11.5px;color:var(--muted)}

.checks{display:flex;flex-wrap:wrap;gap:8px}
.chk{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);
  border-radius:9px;padding:8px 12px;font-size:13.5px;cursor:pointer;user-select:none}
.chk:hover{border-color:var(--brand-r);background:var(--sunk-2)}
.chk input{accent-color:var(--brand);width:15px;height:15px;margin:0}
.chk.on{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}
.otherbox{margin-top:10px;padding:11px 13px;border:1px solid var(--brand-r);border-left:3px solid var(--brand);
  border-radius:9px;background:var(--brand-l)}
.otherbox .lbl{margin-bottom:5px;color:var(--brand-d)}
.otherbox input{background:var(--surface)}
.calc{border:1px solid var(--brand-r);border-radius:11px;background:var(--sunk-2);overflow:hidden}
.calc-h{display:flex;align-items:center;gap:9px;padding:10px 14px;background:var(--brand-l);border-bottom:1px solid var(--brand-r)}
.calc-h b{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-d)}
.calc-b{padding:14px}
.calc-out{display:flex;align-items:center;gap:13px;padding:11px 14px;border-top:1px solid var(--brand-r);background:var(--surface)}
.calc-out .tot{font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:600;min-width:54px;text-align:center;
  border:1px solid var(--brand-r);border-radius:9px;padding:5px 9px;background:var(--brand-l);color:var(--brand-d)}
.calc-out .band-txt{font-size:13.5px;color:var(--muted)}
.notebox{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.notebox textarea{min-height:60px;background:var(--sunk-2)}
.notice{border:1px solid var(--brand-r);background:var(--brand-l);border-radius:11px;padding:13px 15px;font-size:13.5px;margin:0 0 16px;color:var(--ink-2)}
.notice.warn{border-color:var(--p3-r);background:var(--p3-l)}
.notice b{display:block;margin-bottom:3px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;color:var(--ink)}

/* ---------- case banner: a plain strip, colour tells you the phase ---------- */
.banner{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--r);
  padding:14px 18px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 16px;box-shadow:var(--sh-2)}
.banner .id{font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:600;letter-spacing:.01em}
.banner .bit{display:flex;flex-direction:column;gap:1px}
.banner .bit b{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
.banner .bit span{font-size:13px;color:var(--ink-2)}
.banner .sep{width:1px;height:26px;background:var(--line)}
.banner .crosshair{display:none}

/* ---------- category tabs: four real destinations, not decoration ---------- */
.cattabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}
.cattab{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:14px 15px;
  cursor:pointer;text-align:left;transition:all .13s;border-top:3px solid var(--pc,var(--line))}
.cattab:hover{border-color:var(--pc,var(--brand-r));background:var(--sunk-2)}
.cattab.on{border-color:var(--pc,var(--brand));background:var(--pcl,var(--brand-l));box-shadow:var(--sh-2)}
.cattab .ct-top{display:flex;align-items:center;gap:8px}
.cattab b{font-family:'IBM Plex Sans',sans-serif;font-size:14.5px;font-weight:600}
.cattab .ct-badge{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);
  background:var(--sunk-2);border:1px solid var(--line);border-radius:20px;padding:2px 8px;white-space:nowrap}
.cattab.on .ct-badge{background:var(--surface);border-color:var(--pc,var(--line));color:var(--pc,var(--ink))}
.cattab .ct-sub{font-size:11.5px;color:var(--muted);margin-top:5px}
.cattab .meter{height:4px;background:var(--line-2);border-radius:4px;overflow:hidden;margin-top:9px}
.cattab .meter i{display:block;height:100%;background:var(--pc,var(--brand));border-radius:4px;transition:width .3s}

/* ---------- the active category's own steps, revealed only once it is open ---------- */
.substeps{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);
  padding:12px 14px;margin:0 0 16px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;align-items:center;position:relative}
.substeps::-webkit-scrollbar{display:none}
.substeps.one{display:inline-flex}
.substeps button{position:relative;z-index:1;flex:1;min-width:150px;background:none;border:0;cursor:pointer;
  padding:6px 9px;text-align:left;display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:center;border-radius:8px}
.substeps button:hover{background:var(--sunk)}
.substeps .n{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--surface);
  border:1.5px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;color:var(--muted)}
.substeps button.on .n{background:var(--pc,var(--brand));border-color:var(--pc,var(--brand));color:#fff}
.substeps button.done .n{background:var(--surface);border-color:var(--pc,var(--brand));color:var(--pc,var(--brand))}
.substeps .t{font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:600;line-height:1.2;display:block}
.substeps .s{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.substeps button.skip{opacity:.42}
.substeps button.skip .t{text-decoration:line-through}
.cattab.locked,.substeps button.locked{opacity:.4;cursor:not-allowed}
.cattab.locked:hover{border-color:var(--line);background:var(--surface)}
.substeps button.locked .t{color:var(--muted)}

/* the tabbed view only switches on once JavaScript has actually run —
   until then every step stays visible, so the form is never blank */
#stepbody.js-tabs .stepwrap{display:none}
#stepbody.js-tabs .stepwrap.on{display:block}

.stepbar{position:sticky;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border:1px solid var(--line);
  border-radius:12px;margin:18px 0 0;padding:11px 15px;display:flex;gap:9px;flex-wrap:wrap;align-items:center;z-index:25;box-shadow:var(--sh-2)}
.stepbar .state{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

.gate{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:12px}
.gate label{border:1.5px solid var(--line);border-radius:11px;padding:15px;cursor:pointer;background:var(--surface);transition:all .14s;display:block}
.gate label:hover{border-color:var(--brand-r);background:var(--sunk-2)}
.gate label.on{border-color:var(--brand);background:var(--brand-l)}
.gate input{position:absolute;opacity:0;pointer-events:none}
.gate .gt{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:8px}
.gate .gd{font-size:13px;color:var(--muted);margin-top:5px}

.labs td{padding:6px 12px}
.labs input{padding:7px 10px;font-family:'IBM Plex Mono',monospace}
.labs .ref{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted);white-space:nowrap}
.flag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:20px}
.flag.hi{background:var(--red-l);color:var(--red)} .flag.lo{background:var(--p1-l);color:var(--p1)}
.flag.ok{background:var(--p2-l);color:var(--p2)}

.drop{border:1.5px dashed var(--line);border-radius:12px;padding:26px;text-align:center;background:var(--sunk-2);transition:all .16s}
.drop.hot{border-color:var(--brand);background:var(--brand-l)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:11px;margin-top:13px}
.thumb{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0A171C;cursor:pointer;position:relative;box-shadow:var(--sh-1)}
.thumb canvas,.thumb img{width:100%;height:100px;object-fit:contain;display:block;background:#0A171C}
.thumb .meta{padding:7px 9px;background:var(--surface);font-size:11.5px;line-height:1.3}
.thumb .meta b{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink)}
.thumb .meta span{color:var(--muted);font-size:11px}
.thumb .tag{position:absolute;top:6px;left:6px;background:rgba(19,26,31,.78);color:#fff;font-family:'IBM Plex Mono',monospace;
  font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:5px}
.thumb:hover{border-color:var(--brand)}

/* ---------- DICOM viewer: the one deliberately dark surface, for accurate windowing ---------- */
.viewer{display:grid;grid-template-columns:1fr 262px;gap:13px;align-items:start}
.stage{background:#0B141A;border:1px solid #182229;border-radius:var(--r);overflow:hidden}
#cvs{display:block;width:100%;height:min(64vh,580px);background:#0B141A;cursor:crosshair;touch-action:none}
.stage .hud{position:absolute;inset:0;pointer-events:none;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8DB4C4;text-shadow:0 1px 3px #000}
.hud .tl{position:absolute;top:10px;left:12px;line-height:1.6}
.hud .tr{position:absolute;top:10px;right:12px;text-align:right;line-height:1.6}
.hud .bl{position:absolute;bottom:10px;left:12px;line-height:1.6}
.hud .br{position:absolute;bottom:10px;right:12px;text-align:right;line-height:1.6}
.stage .bar-top{display:flex;gap:7px;padding:9px 11px;background:#101B21;border-bottom:1px solid #1C2830;flex-wrap:wrap;align-items:center}
.vbtn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:#C3D6DC;border-radius:8px;
  padding:6px 11px;font-size:12.5px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;font-weight:500}
.vbtn:hover{background:rgba(29,92,138,.32);color:#fff;border-color:rgba(29,92,138,.55)}
.vbtn.on{background:var(--brand);border-color:var(--brand);color:#fff}
.vpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden}
.vpanel h3{padding:12px 15px;border-bottom:1px solid var(--line-2);font-size:13.5px}
.vpanel .p{padding:12px 15px;border-bottom:1px solid var(--line-2)}
.vpanel .p:last-child{border-bottom:0}
.slider{width:100%;accent-color:var(--brand)}
.presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.presets button{background:var(--sunk-2);border:1px solid var(--line);border-radius:8px;padding:7px;font-size:12.5px;cursor:pointer}
.presets button:hover{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}
.tagtable{font-family:'IBM Plex Mono',monospace;font-size:11.5px}
.tagtable div{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:4px 0;border-top:1px solid var(--line-2)}
.tagtable div:first-child{border-top:0}
.tagtable span:first-child{color:var(--muted)}
.filmstrip{display:flex;gap:7px;overflow-x:auto;padding:9px 11px;background:#101B21;border-top:1px solid #1C2830}
.filmstrip canvas{width:50px;height:50px;border-radius:6px;border:1.5px solid transparent;cursor:pointer;background:#0B141A;flex:none}
.filmstrip canvas.on{border-color:var(--brand)}

#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(90px);z-index:140;background:var(--ink);
  color:#fff;padding:11px 19px;border-radius:11px;font-size:14px;box-shadow:var(--sh-3);transition:transform .24s;max-width:88vw;text-align:center}
#toast.on{transform:translateX(-50%) translateY(0)}

/* ---------- auth: light, plain, unmistakably a clinical tool ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr .98fr}
.auth-art{background:var(--surface);color:var(--ink);padding:48px 46px;display:flex;flex-direction:column;
  justify-content:space-between;border-right:1px solid var(--line)}
.auth-art .logo{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.auth-art .mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--brand);
  font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:15.5px;color:#fff}
.auth-art h2{font-size:23px}
.auth-art .tag{color:var(--muted);font-size:14.5px;max-width:36ch;margin:8px 0 0}
.auth-art .lines{margin:32px 0}
.auth-art .lines div{display:grid;grid-template-columns:26px 1fr;gap:13px;padding:14px 0;border-top:1px solid var(--line)}
.auth-art .lines em{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brand-d);font-weight:600}
.auth-art .lines p{margin:0;font-size:14px;color:var(--ink-2)}
.auth-art .foot{font-size:12px;color:var(--muted)}
.auth-form{padding:48px 42px;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.auth-box{width:100%;max-width:440px}
.auth-box .sub{color:var(--muted);font-size:14px;margin:7px 0 22px}
.field{margin:0 0 13px}
.switch{margin:19px 0 0;font-size:13.5px;color:var(--muted);text-align:center}
.switch button{background:none;border:0;color:var(--brand-d);cursor:pointer;font-weight:600;text-decoration:underline}

@media (max-width:1050px){ .viewer{grid-template-columns:1fr} .phases{grid-template-columns:1fr} }
@media (max-width:1000px){
  #scr-app{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:238px;z-index:60;transform:translateX(-100%);transition:transform .22s}
  body.side-open .side{transform:none;box-shadow:var(--sh-3)}
  .topbar .burger{display:block}
  .wrap{padding:18px 15px 88px} .topbar{padding:11px 15px}
  .railrow{grid-template-columns:1fr}
  .railhead{border-right:0;border-bottom:1px solid var(--line-2);flex-direction:row;align-items:center;gap:9px}
  .auth{grid-template-columns:1fr}
  .auth-art{padding:28px 22px;border-right:0;border-bottom:1px solid var(--line)}.auth-art .lines{display:none}
  .auth-form{padding:28px 20px}
  .banner{gap:12px}.banner .sep{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
@media print{.side,.topbar,.railgroup,.stepbar,.phases,.btn{display:none !important}#scr-app{grid-template-columns:1fr}.card{box-shadow:none;break-inside:avoid}}

/* ---------- server-rendered additions ---------- */
#nav a{text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--ink-2);padding:9px 10px;
  border-radius:0 8px 8px 0;font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:500;
  border-left:2.5px solid transparent;margin-left:-12px;padding-left:22px}
#nav a:hover{background:var(--sunk)}
#nav a.on{background:var(--brand-l);border-left-color:var(--brand);color:var(--brand-d);font-weight:600}
#nav a svg{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.side .card-user a{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:inherit}
.side .card-user a:hover{background:var(--sunk)}
a.btn{text-decoration:none}
table td a{color:var(--brand-d);text-decoration:none}
input[type=file]{padding:8px 10px;background:var(--sunk);border:1px dashed var(--line);border-radius:var(--r-s);width:100%}
.fld{min-width:0}
.notice a{color:var(--brand-d)}
.switch a{color:var(--brand-d);font-weight:600}

/* ---------- DICOM viewer page shell (viewer.php) ---------- */
#viewer-stage.hide,#viewer-empty.hide{display:none !important}
.viewer{display:grid;grid-template-columns:1fr 268px;gap:14px;align-items:start}
@media (max-width:1050px){.viewer{grid-template-columns:1fr}}

@media print{
  .side,.topbar,.stepbar,.cattabs,.substeps,.btn,.notebox .hint{display:none !important}
  #scr-app{grid-template-columns:1fr}
  .layout{grid-template-columns:1fr}
  .card{box-shadow:none;break-inside:avoid;page-break-inside:avoid}
  body{background:#fff}
  .wrap{padding:0}
}
.paper-patient-strip{grid-template-columns:1.35fr .9fr .75fr .55fr .65fr 1.35fr}.flowsheet-patient{grid-template-columns:1.25fr .8fr .85fr .55fr .55fr 1.5fr}


/* ============================================================
   V28.2 final overrides — comfortable reading and exact printing
   Kept last so older release blocks cannot reduce the type or re-expand charts.
   ============================================================ */
:root{--type-body:16px;--type-label:13.5px;--type-table:14.5px;--type-help:13.5px;--muted:#4f626b;--ink-2:#2f4650}
body{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.6;color:#10242d;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1{font-size:29px;font-weight:750}h2{font-size:21px;font-weight:720}h3,.card-h h3{font-size:17px;font-weight:700}
.page-head p{font-size:15.5px;color:#425862}.lbl{font-size:13.5px;line-height:19px;color:#41565f;font-weight:700}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{font-size:15.5px;border-color:#c7d4d9}
.hint,.sect-note{font-size:13.5px;color:#51656e}.notice{font-size:14.5px}.card-h p{font-size:13px}.btn{font-size:14px}
#nav a{font-family:var(--font-ui);font-size:14px;font-weight:650;line-height:1.35}.nav-group-label{font-family:var(--font-ui);font-size:10.5px;letter-spacing:.075em;color:#a9c1c8}.side .logo b{font-family:var(--font-ui);font-size:12.5px;line-height:1.38}.side .card-user b{font-size:13px;font-weight:650}.side .card-user small{font-size:11.5px;color:#b6cbd1}
.top-profile b{font-size:13px}.top-profile small{font-size:11px}.app-footer{font-size:11.5px}.eyebrow{font-family:var(--font-ui);font-size:11.5px;letter-spacing:.06em}
@media screen{[class] small{font-size:11.5px;line-height:1.45}.print-only{display:none!important}}

.notification-item{padding:15px 17px}.notification-item header b{font-size:15px}.notification-item p{font-size:14px;color:#344c56}.notification-item header time,.notification-item footer{font-size:12px}
.announcement-panel>header span{font-size:12.5px}.announcement-more{font-size:12.5px}.announcement-admin-list article header b{font-size:14.5px}.announcement-admin-list article header small,.announcement-admin-list article footer{font-size:12px}

.drug-course-list{gap:8px;padding:10px}.drug-order>header{padding:11px 13px}.drug-order>header h2{font-size:18px}.drug-order-grid>div{padding:8px 10px}.drug-order-grid span{font-size:12px}.drug-order-grid b{font-size:14px}.drug-order-notes{padding:8px 10px}.drug-order>footer{padding:8px 11px}.medication-event-timeline{padding:12px 14px}.medication-event-timeline article{padding-bottom:14px}
.treatment-chart{width:1760px;min-width:1760px}.treatment-chart .med-order-col{width:280px}.treatment-chart .dose-slot-col{width:59px}.med-chart-row>td,.med-chart-row>th,.dose-slot{height:74px!important}.dose-slot-button,.signed-dose{min-height:40px}.med-order-cell strong{font-size:14px}.med-order-cell em{font-size:11.5px}.med-order-cell>span:not(.emar-status){font-size:11.5px}.med-order-cell>small{font-size:10.5px}.med-order-cell .emar-status{font-size:9px}.blank-med-row{display:none!important}
.ward-lab-flowsheet .lab-parameter{font-family:var(--font-ui);font-size:12px}.ward-lab-flowsheet .lab-parameter small{font-family:var(--font-ui);font-size:9.5px}.ward-lab-flowsheet .lab-date-head b{font-size:11.5px}.ward-lab-flowsheet .lab-date-head small{font-size:9.5px}.lab-paper-value strong{font-family:var(--font-data);font-size:14px}.lab-paper-value small{font-size:9.5px}

@media(max-width:760px){.notification-menu>.top-icon{display:grid!important}.notification-popover{position:fixed;top:67px;right:8px;left:8px;width:auto}.announcement-fallback{padding:22px}.announcement-fallback h2{font-size:22px}.paper-patient-strip,.flowsheet-patient{grid-template-columns:1fr 1fr}}

@media print{
  .print-only{display:block!important}
  body.print-section-active .wrap>*{display:none!important}
  body.print-section-active .wrap>.print-target-active{display:block!important}
  body.print-section-active .app-print-brand{display:none!important}
  body.print-section-active .print-target-active{margin:0!important;border:0!important;box-shadow:none!important;break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .print-target-active .card{break-inside:auto;page-break-inside:auto}
  body.print-section-active .paper-chart-brand{font-size:11pt}
  body.print-section-active .paper-chart-title{font-size:9pt}
  body.print-section-active .paper-patient-strip span,body.print-section-active .flowsheet-patient span{font-size:7.5pt}
  body.print-section-active .paper-patient-strip b,body.print-section-active .flowsheet-patient b{font-size:9pt}
  body.print-section-active .ward-lab-flowsheet{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-category-col{width:11mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter-col{width:30mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-parameter small{font-size:5.8pt}
  body.print-section-active .lab-paper-value strong{font-size:7.5pt}
  body.print-section-active .lab-paper-value small{font-size:5.5pt}
  body.print-section-active .treatment-chart{font-size:6.2pt}
  body.print-section-active .treatment-chart .med-number-col{width:7mm}
  body.print-section-active .treatment-chart .med-order-col{width:49mm}
  body.print-section-active .med-chart-row>td,body.print-section-active .med-chart-row>th,body.print-section-active .dose-slot{height:13mm!important}
  body.print-section-active .med-order-cell strong{font-size:7.5pt}
  body.print-section-active .med-order-cell em,body.print-section-active .med-order-cell>span:not(.emar-status),body.print-section-active .med-order-cell>small{font-size:6pt}
  body.print-section-active .med-order-cell .emar-status{font-size:5pt}
  body.print-section-active .signed-dose b{font-size:8pt}
  body.print-section-active .signed-dose small{font-size:5pt}
}

/* ============================================================
   V28.3 — high-legibility interface and deterministic printing
   Core rules are reinforced by the release guard at the end of this file.
   ============================================================ */
:root{
  --font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;
  --font-data:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --type-body:16px;--type-label:14px;--type-table:14.5px;--type-help:13.5px;
  --ink:#102630;--ink-2:#324b56;--muted:#4b626c;
  --line:#d7e3e7;--line-2:#e8eff1;--surface:#fff;--bg:#f2f6f8;
  --r:15px;--r-s:10px;
  --sh-2:0 1px 2px rgba(12,39,49,.04),0 12px 30px -24px rgba(12,39,49,.32);
}

@media screen{
  html{font-size:16px;scroll-padding-top:82px}
  body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--type-body);font-weight:400;line-height:1.62;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  body small,[class] small{font-family:var(--font-ui);font-size:13px!important;line-height:1.5!important}
  h1{font-size:clamp(28px,2.4vw,36px);font-weight:760;line-height:1.16;letter-spacing:-.025em}
  h2{font-size:22px;font-weight:730;line-height:1.27;letter-spacing:-.015em}
  h3,.card-h h3{font-size:17px;font-weight:720;line-height:1.35}
  p{line-height:1.62}
  .main{background:radial-gradient(circle at 94% 0,rgba(34,159,139,.075),transparent 28%),var(--bg)}
  .wrap{max-width:1580px;padding:28px 34px 96px}
  .topbar{min-height:72px;padding:12px 30px;background:rgba(248,251,252,.94);border-color:#d7e4e8;box-shadow:0 7px 24px -24px rgba(8,36,47,.6)}
  .topbar .search{max-width:640px}.topbar .search input{height:46px;padding-left:41px;border-color:#cbdade;border-radius:13px;background:#fff}.topbar .search svg{left:14px;top:14px;width:18px;height:18px}
  .top-icon{width:44px;height:44px;border-color:#cfdee2;border-radius:12px}.top-icon svg{width:21px;height:21px}
  .top-profile{min-height:44px}.top-profile b{font-size:13.5px}.top-profile small{font-size:12px!important}
  #nav a{min-height:48px;padding-top:11px;padding-bottom:11px;font-size:14.5px;font-weight:650;line-height:1.35}
  #nav a svg{width:19px;height:19px}.nav-group-label{font-size:10.5px;line-height:1.4;letter-spacing:.11em}
  .side .card-user b{font-size:13.5px}.side .card-user small{font-size:12px!important;color:#bfd0d5}
  .page-head{gap:16px;margin-bottom:22px}.page-head p{max-width:76ch;margin-top:8px;color:var(--ink-2);font-size:15.5px;line-height:1.6}
  .eyebrow{font-family:var(--font-data);font-size:11.5px;line-height:1.45;letter-spacing:.075em}
  .card{border-color:var(--line);border-radius:var(--r);box-shadow:var(--sh-2)}
  .card-h{min-height:60px;padding:15px 20px;border-color:var(--line-2);background:linear-gradient(180deg,#fff,#fbfdfd)}
  .card-h p,.card-h>div>p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
  .card-b{padding:20px;font-size:15px}.card-b p,.card-b li{font-size:14px}
  .lbl{margin-bottom:7px;color:#344f5a;font-family:var(--font-ui);font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0;text-transform:none}
  .hint,.sect-note{color:#49616b;font-size:13.5px;line-height:1.6}
  input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{min-height:46px;padding:10px 13px;border-color:#c5d5da;border-radius:10px;background:#fff;font-family:var(--font-ui);font-size:15.5px;line-height:1.5}
  textarea{min-height:100px}.btn{min-height:42px;padding:10px 16px;border-radius:10px;font-family:var(--font-ui);font-size:14px;font-weight:720;line-height:1.35}.btn.sm{min-height:36px;padding:7px 12px;font-size:13px}
  table{font-size:14.5px;line-height:1.48}th{padding:11px 13px;color:#38515c;font-family:var(--font-ui);font-size:12.5px;line-height:1.35;font-weight:750;letter-spacing:.01em;text-transform:none}td{padding:12px 13px}
  .pill{min-height:24px;padding:3px 9px;font-size:12px;line-height:16px;letter-spacing:0;text-transform:none}
  .notice{padding:14px 16px;color:#263f4a;font-size:14.5px;line-height:1.58}.notice b{margin-bottom:3px}
  .empty{font-size:14px}.friendly-empty b{font-size:14px}.friendly-empty p{font-size:13px}
  .work-row{min-height:72px}.work-row b{font-size:14px}.work-row small{font-size:13px!important}.work-row time{font-size:12.5px}
  .care-domain-card p,.workspace-module-card>p,.book-foundation-card>p{font-size:14px;line-height:1.6}.workspace-module-card li,.book-use span,.book-links a{font-size:13px}.workspace-module-card header small,.book-foundation-card header small{font-size:11px!important}
  .attention-chips span{font-size:12.5px;line-height:1.35}.attention-chips b{font-size:12px}
  .notification-popover{width:min(440px,calc(100vw - 24px));border-color:#c7d8dd;border-radius:17px;box-shadow:0 30px 72px -32px rgba(5,30,40,.58)}
  .notification-popover>header{padding:15px 17px}.notification-popover>header b{font-size:16px}.notification-popover>header a{font-size:13.5px}
  .notification-popover-list form>button{gap:12px;min-height:76px;padding:13px 16px}.notification-popover-list b{font-size:14px}.notification-popover-list small{margin-top:4px;color:#405963;font-size:13px!important}.notification-popover-list time{font-size:12px}.notification-mark-all button{min-height:38px;font-size:13.5px}
  .notification-item{grid-template-columns:12px 1fr;gap:13px;padding:16px 18px;border-radius:14px}.notification-item>div>header b{font-size:15px}.notification-item p{font-size:14px}.notification-item header time,.notification-item footer{font-size:12.5px}
  .toast-region{top:84px;right:22px;width:min(420px,calc(100vw - 24px))}.professional-toast{grid-template-columns:42px minmax(0,1fr) 34px;gap:12px;padding:15px;border-radius:16px}.professional-toast>i{width:40px;height:40px}.professional-toast b{font-size:14px}.professional-toast p{font-size:13px;line-height:1.5}.professional-toast>button{width:32px;height:32px}
  body.text-large{--type-body:18px;--type-label:15px;--type-table:16px;--type-help:14.5px;font-size:18px;line-height:1.66}
  body.text-large small,body.text-large [class] small{font-size:14px!important}body.text-large .card-b p,body.text-large .card-b li{font-size:15.5px}body.text-large input,body.text-large select,body.text-large textarea{font-size:17px}
}

/* Compact, aligned dashboard announcement. It is rendered only by the home
   dashboard and its close control records a session-only dismissal. */
.announcement-dialog{position:fixed;inset:0;z-index:520;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(12px,3vw,34px);border:0;background:transparent;overflow:auto}
.announcement-dialog::backdrop{background:rgba(5,27,36,.72);backdrop-filter:blur(5px)}
.announcement-panel{width:min(840px,100%);max-height:none;margin:clamp(8px,5vh,60px) auto;border:1px solid #c8d8dc;border-radius:20px;background:#fff;box-shadow:0 34px 100px -30px rgba(3,25,34,.72);overflow:hidden}
.announcement-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 18px;border-bottom:1px solid #dbe6e9;background:#edf7f5}
.announcement-panel>header>div span,.announcement-panel>header>div small{display:block}.announcement-panel>header>div span{color:#0d665c;font-size:12px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.announcement-panel>header>div small{margin-top:2px;color:#4c636c;font-size:12px!important}
.announcement-panel>header form{margin:0}.announcement-panel>header button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #d3e0e3;border-radius:11px;background:#fff;color:#344e58;font-size:23px;line-height:1;cursor:pointer}.announcement-panel>header button:hover{border-color:#9ebdb8;background:#f2faf8;color:#075f56}
.announcement-content{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:0;padding:0!important}.announcement-poster{display:grid;place-items:center;min-height:270px;margin:0;padding:18px;border-right:1px solid #dde7e9;background:#f2f6f7}.announcement-poster img{display:block;width:100%;height:auto;max-height:330px;border-radius:12px;object-fit:contain;box-shadow:0 12px 32px -25px #0b3640}.announcement-content>section{align-self:center;padding:28px 30px}.announcement-severity{display:inline-flex;margin-bottom:10px;padding:4px 9px;border-radius:999px;background:#e8f5f1;color:#14685d;font-size:12px;font-weight:800}.announcement-content h2{margin:0;color:#132f39;font-size:clamp(23px,3vw,31px);line-height:1.2}.announcement-content p{margin:11px 0 0;color:#304a54;font-size:15px;line-height:1.65;white-space:normal}.announcement-content>section>small{display:block;margin-top:17px;color:#536a73;font-size:12.5px!important}.announcement-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-top:1px solid #dde7e9;background:#f8fbfb}.announcement-panel>footer>div{min-width:0}.announcement-panel>footer b,.announcement-panel>footer span,.announcement-panel>footer small{display:block}.announcement-panel>footer b{font-size:13px;color:#223d47}.announcement-panel>footer span,.announcement-panel>footer small{margin-top:2px;color:#526a73;font-size:12px;line-height:1.45}.announcement-panel>footer form{flex:none;margin:0}.announcement-dialog.severity-warning .announcement-panel>header{background:#fff6df}.announcement-dialog.severity-warning .announcement-panel>header>div span{color:#805713}.announcement-dialog.severity-warning .announcement-severity{background:#fff0ca;color:#7c5510}.announcement-dialog.severity-critical .announcement-panel>header{background:#a93d37}.announcement-dialog.severity-critical .announcement-panel>header>div span,.announcement-dialog.severity-critical .announcement-panel>header>div small{color:#fff}.announcement-dialog.severity-critical .announcement-severity{background:#ffe6e3;color:#99372f}

@media(max-width:1000px){.wrap{padding-left:20px;padding-right:20px}.topbar{padding-left:18px;padding-right:18px}}
@media(max-width:700px){
  .wrap{padding:18px 12px 78px}.topbar{min-height:64px;padding:9px 11px}.topbar .search{display:none}
  h1{font-size:27px}.page-head p{font-size:14.5px}.card-h{padding:14px 15px}.card-b{padding:16px}.grid.two{grid-template-columns:1fr}
  .notification-popover{top:66px}.toast-region{top:70px;right:10px}.professional-toast{grid-template-columns:38px minmax(0,1fr) 32px}
  .announcement-dialog{padding:8px}.announcement-panel{margin:8px auto;border-radius:16px}.announcement-content{grid-template-columns:1fr}.announcement-poster{min-height:0;padding:12px;border-right:0;border-bottom:1px solid #dde7e9}.announcement-poster img{max-height:190px}.announcement-content>section{padding:20px}.announcement-content h2{font-size:23px}.announcement-content p{font-size:14px}.announcement-panel>footer{align-items:stretch;flex-direction:column}.announcement-panel>footer .btn{width:100%}
}

@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
  body{font-family:Arial,Helvetica,sans-serif!important;font-size:9.5pt!important;line-height:1.35!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *,*::before,*::after{animation:none!important;transition:none!important;text-shadow:none!important;box-sizing:border-box}
  .side,.topbar,.app-footer,#app-splash,.side-backdrop,.toast-region,.announcement-dialog,.workflow-dialog,.clinical-dialog,.confirm-dialog,.no-print,.btn{display:none!important}
  #scr-app,.main,.wrap{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
  .app-print-brand{display:block!important;margin:0 0 8pt!important;padding:0 0 6pt!important;border-bottom:2pt solid #0f756b!important;color:#163f49!important;font:700 12pt/1.25 Arial,sans-serif!important}
  .card,.flowsheet-paper,.handover-sheet,.drug-identity-band,.drug-order{max-width:100%!important;box-shadow:none!important}
  .card{margin:0 0 8pt!important;border-color:#9eaaae!important;border-radius:0!important;break-inside:auto!important;page-break-inside:auto!important}
  .card-h{min-height:0!important;padding:6pt 7pt!important;background:#f3f5f5!important}.card-b{padding:7pt!important}
  .tw,.flowsheet-scroll,.lab-paper-wrap,.treatment-chart-wrap{max-width:100%!important;overflow:visible!important}
  table{border-collapse:collapse!important;page-break-inside:auto!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{break-inside:avoid!important;page-break-inside:avoid!important}th,td{overflow-wrap:anywhere;word-break:normal}
  img,svg,figure,.identity-card,.notice,.handover-block,.med-chart-row,.drug-order{break-inside:avoid!important;page-break-inside:avoid!important;max-width:100%}
  input,select,textarea{min-height:0!important;border:1px solid #777!important;background:#fff!important;box-shadow:none!important}
  a{color:#111!important;text-decoration:none!important}a[href]::after{content:none!important}
  body.print-section-active .wrap>*{display:none!important}
  body.print-section-active .wrap>.print-target-active{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .app-print-brand{display:none!important}
  body.print-section-active .print-target-active .card{break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .print-target-active :is(.sticky-card,.med-order-cell,.ward-lab-flowsheet thead th,.ward-lab-flowsheet .lab-group,.ward-lab-flowsheet .lab-parameter){position:static!important;left:auto!important;top:auto!important}
  body.print-section-active .handover-sheet{padding:0!important;border:0!important}.handover-sheet>header{margin-bottom:8pt!important}.handover-block{min-height:0!important;margin-bottom:7pt!important;padding:7pt!important}.handover-times{margin-bottom:9pt!important;padding:7pt!important}
}

/* ============================================================
   V28.2 — readable clinical UI, dependable alerts and scoped print
   ============================================================ */
:root{--type-body:16px;--type-label:13.5px;--type-table:14.5px;--type-help:13.5px;--muted:#4f626b;--ink-2:#2f4650}
body{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.56;color:#10242d;-webkit-font-smoothing:antialiased}
h1{font-size:29px;font-weight:750}h2{font-size:21px;font-weight:720}h3,.card-h h3{font-size:17px;font-weight:700}
.page-head p{font-size:15.5px;color:#425862}.lbl{font-size:13.5px;line-height:19px;color:#41565f;font-weight:700}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{font-size:15.5px;border-color:#ced9de}
.hint,.sect-note{font-size:13.5px;color:#51656e}.notice{font-size:14.5px}.card-h p{font-size:13px}.btn{font-size:14px}
#nav a{font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:1.35}.nav-group-label{font-family:var(--font-ui);font-size:10.5px;letter-spacing:.075em;color:#a9c1c8}.side .logo b{font-family:var(--font-ui);font-size:12.5px;line-height:1.38}.side .card-user b{font-size:13px;font-weight:650}.side .card-user small{font-size:11.5px;color:#b6cbd1}
.top-profile b{font-size:13px}.top-profile small{font-size:11px}.app-footer{font-size:11.5px}.eyebrow{font-family:var(--font-ui);font-size:11.5px;letter-spacing:.06em}
@media screen{[class] small{font-size:11.5px;line-height:1.45}}

/* The notification bell is a real inbox: accurate count, recent items and
   direct mark-read/open actions. */
.notification-menu{position:relative}.notification-menu>summary{list-style:none;cursor:pointer}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu[open]>.top-icon{border-color:#70a9bd;background:#f4fafc;color:var(--brand)}
.notification-popover{position:absolute;z-index:95;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 24px));overflow:hidden;border:1px solid #cfdce1;border-radius:16px;background:#fff;box-shadow:0 28px 70px -34px rgba(6,33,45,.6)}
.notification-popover>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f6f9fa}.notification-popover>header b,.notification-popover>header small{display:block}.notification-popover>header b{font-size:15px}.notification-popover>header small{margin-top:2px;color:var(--muted)}.notification-popover>header a{color:var(--brand-d);font-size:13px;font-weight:750;text-decoration:none}
.notification-popover-list{max-height:min(410px,65vh);overflow:auto}.notification-popover-list form{margin:0;border-bottom:1px solid var(--line-2)}.notification-popover-list form>button{display:grid;grid-template-columns:10px minmax(0,1fr);gap:11px;width:100%;padding:12px 15px;border:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.notification-popover-list form>button:hover{background:#f4f8f9}.notification-popover-list form.unread>button{background:#f1faf8}.notification-popover-list form>button>i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#8a9ba2}.notification-popover-list form.unread>button>i{background:#168573;box-shadow:0 0 0 4px #e0f3ef}.notification-popover-list form.kind-warning>button>i{background:#bd7b18}.notification-popover-list form.kind-critical>button>i{background:#b8423b}.notification-popover-list b,.notification-popover-list small,.notification-popover-list time{display:block}.notification-popover-list b{font-size:13.5px}.notification-popover-list small{display:-webkit-box;overflow:hidden;margin-top:3px;color:#48606a;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notification-popover-list time{margin-top:5px;color:#6a7d85;font-size:11px}
.notification-popover-empty{padding:28px 18px;text-align:center;color:var(--muted)}.notification-popover-empty b,.notification-popover-empty span{display:block}.notification-popover-empty b{color:var(--ink);font-size:14px}.notification-popover-empty span{margin-top:4px;font-size:12px}.notification-mark-all{margin:0;padding:9px 13px;background:#fafcfc}.notification-mark-all button{width:100%;padding:7px;border:0;border-radius:8px;background:transparent;color:var(--brand-d);font-size:13px;font-weight:750;cursor:pointer}.notification-mark-all button:hover{background:var(--brand-l)}
.notification-item{padding:15px 17px}.notification-item header b{font-size:15px}.notification-item p{font-size:14px;color:#344c56}.notification-item header time,.notification-item footer{font-size:12px}

/* Image announcement fallback stays readable if an SVG response is blocked by
   a proxy or an older browser. */
.announcement-fallback{padding:34px;border:1px solid #cadbd8;border-radius:12px;background:#fff;text-align:left}.announcement-fallback>span{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.08em}.announcement-fallback h2{margin:8px 0 10px;font-size:28px}.announcement-fallback p{margin:0;color:#30484f;font-size:16px;line-height:1.6}.announcement-panel>header span{font-size:12.5px}.announcement-more{font-size:12.5px}.announcement-admin-list article header b{font-size:14.5px}.announcement-admin-list article header small,.announcement-admin-list article footer{font-size:12px}

/* Medication content grows with the number of actual orders—no artificial
   blank courses—and stays compact without sacrificing the hierarchy. */
.drug-course-list{gap:8px;padding:10px}.drug-order>header{padding:11px 13px}.drug-order>header h2{font-size:18px}.drug-order-grid>div{padding:8px 10px}.drug-order-grid span{font-size:12px}.drug-order-grid b{font-size:14px}.drug-order-notes{padding:8px 10px}.drug-order>footer{padding:8px 11px}.medication-event-timeline{padding:12px 14px}.medication-event-timeline article{padding-bottom:14px}
.treatment-chart{width:1760px;min-width:1760px}.treatment-chart .med-order-col{width:280px}.treatment-chart .dose-slot-col{width:59px}.med-chart-row>td,.med-chart-row>th,.dose-slot{height:74px!important}.dose-slot-button,.signed-dose{min-height:40px}.med-order-cell strong{font-size:14px}.med-order-cell em{font-size:11.5px}.med-order-cell>span:not(.emar-status){font-size:11.5px}.med-order-cell>small{font-size:10.5px}.med-order-cell .emar-status{font-size:9px}.blank-med-row{display:none!important}
.ward-lab-flowsheet .lab-parameter{font-family:var(--font-ui);font-size:12px}.ward-lab-flowsheet .lab-parameter small{font-family:var(--font-ui);font-size:9.5px}.ward-lab-flowsheet .lab-date-head b{font-size:11.5px}.ward-lab-flowsheet .lab-date-head small{font-size:9.5px}.lab-paper-value strong{font-family:var(--font-data);font-size:14px}.lab-paper-value small{font-size:9.5px}

@media(max-width:760px){.notification-menu .top-icon{display:grid}.notification-popover{position:fixed;top:67px;right:8px;left:8px;width:auto}.announcement-fallback{padding:22px}.announcement-fallback h2{font-size:22px}}

@media print{
  body.print-section-active .wrap>*{display:none!important}
  body.print-section-active .wrap>.print-target-active{display:block!important}
  body.print-section-active .app-print-brand{display:none!important}
  body.print-section-active .print-target-active{margin:0!important;border:0!important;box-shadow:none!important;break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .print-target-active .card{break-inside:auto;page-break-inside:auto}
  body.print-section-active .paper-chart-brand{font-size:11pt}
  body.print-section-active .paper-chart-title{font-size:9pt}
  body.print-section-active .paper-patient-strip span,body.print-section-active .flowsheet-patient span{font-size:7.5pt}
  body.print-section-active .paper-patient-strip b,body.print-section-active .flowsheet-patient b{font-size:9pt}
  body.print-section-active .ward-lab-flowsheet{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-category-col{width:11mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter-col{width:30mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-parameter small{font-size:5.8pt}
  body.print-section-active .lab-paper-value strong{font-size:7.5pt}
  body.print-section-active .lab-paper-value small{font-size:5.5pt}
  body.print-section-active .treatment-chart{font-size:6.2pt}
  body.print-section-active .treatment-chart .med-number-col{width:7mm}
  body.print-section-active .treatment-chart .med-order-col{width:49mm}
  body.print-section-active .med-chart-row>td,body.print-section-active .med-chart-row>th,body.print-section-active .dose-slot{height:13mm!important}
  body.print-section-active .med-order-cell strong{font-size:7.5pt}
  body.print-section-active .med-order-cell em,body.print-section-active .med-order-cell>span:not(.emar-status),body.print-section-active .med-order-cell>small{font-size:6pt}
  body.print-section-active .med-order-cell .emar-status{font-size:5pt}
  body.print-section-active .signed-dose b{font-size:8pt}
body.print-section-active .signed-dose small{font-size:5pt}
}

/* V28.3 accessibility and print-geometry reinforcement. */
@media screen{
  html{font-size:16px;scroll-padding-top:82px}
  body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.62;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  body small,body [class] small{font-family:var(--font-ui);font-size:13px!important;line-height:1.5!important}
  h1{font-size:clamp(28px,2.4vw,36px);font-weight:760;line-height:1.16;letter-spacing:-.025em}h2{font-size:22px;font-weight:730;line-height:1.27}h3,.card-h h3{font-size:17px;font-weight:720;line-height:1.35}
  .page-head p{max-width:76ch;color:var(--ink-2);font-size:15.5px;line-height:1.6}.lbl{color:#344f5a;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0;text-transform:none}.hint,.sect-note{color:#49616b;font-size:13.5px;line-height:1.6}
  input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{min-height:46px;padding:10px 13px;border-color:#c5d5da;border-radius:10px;background:#fff;font-family:var(--font-ui);font-size:15.5px;line-height:1.5}
  .btn{min-height:42px;padding:10px 16px;border-radius:10px;font-family:var(--font-ui);font-size:14px;font-weight:720;line-height:1.35}.btn.sm{min-height:36px;padding:7px 12px;font-size:13px}
  #nav a{min-height:48px;font-family:var(--font-ui);font-size:14.5px;font-weight:650;line-height:1.35}.card-h p,.card-h>div>p{font-size:13.5px;line-height:1.5}.card-b{font-size:15px}.card-b p,.card-b li{font-size:14px}
  table{font-size:14.5px;line-height:1.48}th{font-family:var(--font-ui);font-size:12.5px;line-height:1.35;text-transform:none}td{font-size:14.5px}
  .notification-popover{width:min(440px,calc(100vw - 24px));border-radius:17px}.notification-popover>header b{font-size:16px}.notification-popover>header a{font-size:13.5px}.notification-popover-list form>button{gap:12px;min-height:76px;padding:13px 16px}.notification-popover-list b{font-size:14px}.notification-popover-list small{font-size:13px!important}.notification-popover-list time{font-size:12px}
  .toast-region{top:84px;right:22px;width:min(420px,calc(100vw - 24px))}.professional-toast{grid-template-columns:42px minmax(0,1fr) 34px;gap:12px;padding:15px;border-radius:16px}.professional-toast>i{width:40px;height:40px}.professional-toast b{font-size:14px}.professional-toast p{font-size:13px;line-height:1.5}.professional-toast>button{width:32px;height:32px}
  body.text-large{font-size:18px;line-height:1.66}body.text-large small,body.text-large [class] small{font-size:14px!important}body.text-large .card-b p,body.text-large .card-b li{font-size:15.5px}body.text-large input,body.text-large select,body.text-large textarea{font-size:17px}
}
.announcement-dialog{position:fixed;inset:0;z-index:520;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(12px,3vw,34px);border:0;background:transparent;overflow:auto}
.announcement-dialog::backdrop{background:rgba(5,27,36,.72);backdrop-filter:blur(5px)}
.announcement-panel{width:min(840px,100%);max-height:none;margin:clamp(8px,5vh,60px) auto;border:1px solid #c8d8dc;border-radius:20px;background:#fff;box-shadow:0 34px 100px -30px rgba(3,25,34,.72);overflow:hidden}
.announcement-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 18px;border-bottom:1px solid #dbe6e9}.announcement-panel>header button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #d3e0e3;border-radius:11px;background:#fff;color:#344e58;font-size:23px;line-height:1;cursor:pointer}
.announcement-content{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);padding:0!important}.announcement-poster{display:grid;place-items:center;min-height:270px;margin:0;padding:18px;border-right:1px solid #dde7e9;background:#f2f6f7}.announcement-poster img{display:block;width:100%;max-height:330px;border-radius:12px;object-fit:contain}.announcement-content>section{align-self:center;padding:28px 30px}.announcement-content h2{font-size:clamp(23px,3vw,31px);line-height:1.2}.announcement-content p{color:#304a54;font-size:15px;line-height:1.65}.announcement-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-top:1px solid #dde7e9;background:#f8fbfb}
@media(max-width:700px){.toast-region{top:70px;right:10px}.announcement-dialog{padding:8px}.announcement-panel{margin:8px auto;border-radius:16px}.announcement-content{grid-template-columns:1fr}.announcement-poster{min-height:0;padding:12px;border-right:0;border-bottom:1px solid #dde7e9}.announcement-poster img{max-height:190px}.announcement-content>section{padding:20px}.announcement-panel>footer{align-items:stretch;flex-direction:column}.announcement-panel>footer .btn{width:100%}}
@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important}
  body{font-family:Arial,Helvetica,sans-serif!important;font-size:9.5pt!important;line-height:1.35!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *,*::before,*::after{animation:none!important;transition:none!important;text-shadow:none!important;box-sizing:border-box}
  .side,.topbar,.app-footer,#app-splash,.side-backdrop,.toast-region,.announcement-dialog,.workflow-dialog,.clinical-dialog,.confirm-dialog,.no-print,.btn{display:none!important}
  #scr-app,.main,.wrap{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
  .card,.flowsheet-paper,.handover-sheet,.drug-identity-band,.drug-order{max-width:100%!important;box-shadow:none!important}.card{margin:0 0 8pt!important;border-radius:0!important;break-inside:auto!important;page-break-inside:auto!important}
  .tw,.flowsheet-scroll,.lab-paper-wrap,.treatment-chart-wrap{max-width:100%!important;overflow:visible!important}table{border-collapse:collapse!important;page-break-inside:auto!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{break-inside:avoid!important;page-break-inside:avoid!important}th,td{overflow-wrap:anywhere;word-break:normal}
  img,svg,figure,.identity-card,.notice,.handover-block,.med-chart-row,.drug-order{break-inside:avoid!important;page-break-inside:avoid!important;max-width:100%}a[href]::after{content:none!important}
  body.print-section-active .wrap>*{display:none!important}body.print-section-active .wrap>.print-target-active{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .app-print-brand{display:none!important}body.print-section-active .print-target-active .card{break-inside:auto!important;page-break-inside:auto!important}body.print-section-active .print-target-active :is(.sticky-card,.med-order-cell,.ward-lab-flowsheet thead th,.ward-lab-flowsheet .lab-group,.ward-lab-flowsheet .lab-parameter){position:static!important;left:auto!important;top:auto!important}
}
@media(max-width:760px){.paper-patient-strip,.flowsheet-patient{grid-template-columns:1fr 1fr}}
.med-chart-row.status-held .med-order-cell .emar-status{border-color:#dfbf78;background:#fff0c9;color:#825b15}.med-chart-row.status-completed .med-order-cell .emar-status{border-color:#cbd4d6;background:#edf1f2;color:#596b70}
@media(max-width:760px){.paper-patient-strip,.flowsheet-patient{grid-template-columns:1fr 1fr}}

/* ============================================================
   V18 — theatre command, patient journey, training and imaging
   ============================================================ */
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.live-stat{border-color:#9ec9b2;background:linear-gradient(160deg,var(--surface),var(--p2-l))}.live-stat u{color:var(--p2)}
.live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;box-shadow:0 0 0 3px rgba(62,122,92,.12)}

.ot-kpis,.training-kpis,.icu-kpis,.imaging-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.imaging-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.ot-kpis>div,.training-kpis>div,.icu-kpis>div,.imaging-actions>div,.imaging-actions>a{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;box-shadow:var(--sh-2);text-decoration:none;color:var(--ink)}
.ot-kpis span,.training-kpis span,.icu-kpis span,.imaging-actions span{display:block;font:600 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ot-kpis b,.training-kpis b,.icu-kpis b,.imaging-actions b{display:block;font:600 24px/1.2 'IBM Plex Sans',sans-serif;margin-top:5px}
.ot-kpis small,.training-kpis small{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}.ot-kpis .attention,.training-kpis .attention,.icu-kpis .attention,.imaging-actions .attention{background:var(--p3-l);border-color:var(--p3-r)}
.ot-kpis .danger,.icu-kpis .danger,.imaging-actions .danger{background:var(--red-l);border-color:#EAD3D2}.ot-kpis .danger b,.icu-kpis .danger b,.imaging-actions .danger b{color:var(--red)}
.theatre-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px}.theatre-toolbar .theatre-date{margin:0;flex:1}.ot-filter{display:flex;gap:8px;align-items:center}.ot-filter input,.ot-filter select{min-width:145px}
.ot-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(470px,1fr));gap:14px;margin-bottom:16px}.ot-room{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden}.ot-room>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(135deg,#F9FBFC,#EFF4F7);border-bottom:1px solid var(--line)}.ot-room>header span{font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.ot-room>header h2{font-size:18px;margin-top:2px}.ot-room>header>b{font:600 11px 'IBM Plex Mono',monospace;color:var(--brand-d)}
.ot-room-list{padding:8px}.ot-case{display:grid;grid-template-columns:68px 1fr auto;gap:12px;padding:13px;border:1px solid var(--line-2);border-left:4px solid var(--line);border-radius:10px;margin-bottom:8px;align-items:start}.ot-case:last-child{margin-bottom:0}.ot-case.status-in_progress,.ot-case.status-closure{border-left-color:var(--brand);background:linear-gradient(90deg,var(--brand-l),#fff 34%)}.ot-case.status-preop_ready,.ot-case.status-completed,.ot-case.status-icu,.ot-case.status-ward{border-left-color:var(--p2)}.ot-case.status-cancelled{border-left-color:var(--red);background:var(--red-l);opacity:.82}
.ot-time{text-align:center;border-right:1px solid var(--line-2);padding-right:10px}.ot-time b{display:block;font:600 17px 'IBM Plex Mono',monospace}.ot-time span{font:500 9px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.ot-case-main{min-width:0}.ot-case-main h3{font-size:15px}.ot-case-main>p{margin:4px 0 6px;font-weight:600}.ot-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:11px}.ot-meta span:before{content:'•';margin-right:6px;color:var(--line)}.ot-meta span:first-child:before{display:none}.ot-actions{display:flex;flex-direction:column;gap:6px;min-width:122px}.readiness-line{display:flex;align-items:center;gap:9px;margin-top:9px}.readiness-line>span{height:4px;flex:1;max-width:180px;background:var(--line-2);border-radius:8px;overflow:hidden}.readiness-line i{display:block;height:100%;background:var(--p2)}.readiness-line b{font:600 9px 'IBM Plex Mono',monospace;color:var(--muted)}
.ot-empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);margin-bottom:16px}.ot-empty b,.ot-empty span{display:block}.status-path{display:flex;align-items:center;gap:0;overflow-x:auto}.status-path span{display:flex;align-items:center;white-space:nowrap;font-size:11px;color:var(--ink-2)}.status-path span:not(:last-child):after{content:'›';color:var(--muted);font-size:18px;margin:0 10px}.ot-booking{border-top:3px solid var(--brand)}

.operation-head{margin-bottom:12px}.operation-command{position:sticky;top:61px;z-index:22;display:flex;gap:16px;align-items:center;background:#13242E;color:#fff;border:1px solid #1E3644;border-radius:var(--r);padding:11px 14px;margin-bottom:10px;box-shadow:var(--sh-3)}.operation-command>div:first-child{min-width:116px}.operation-command span{display:block;font:500 8px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#8EAFBD}.operation-command b{font-size:14px}.op-command-actions{display:flex;gap:5px;overflow-x:auto;padding-bottom:1px}.op-command-actions form{margin:0}.status-btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#C8D8DF;border-radius:7px;padding:6px 9px;font-size:10.5px;white-space:nowrap;cursor:pointer}.status-btn:hover,.status-btn.on{background:var(--brand);border-color:#4E8AB5;color:#fff}.status-btn.cancel{color:#F3B3B0}.status-btn.cancel.on{background:var(--red);border-color:#C75A5A;color:#fff}
.operation-tabs{display:flex;gap:4px;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:5px;margin-bottom:14px}.operation-tabs a{padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--ink-2);font-size:11.5px;font-weight:600;white-space:nowrap}.operation-tabs a:hover{background:var(--brand-l);color:var(--brand-d)}
.operation-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px;align-items:start}.op-section{scroll-margin-top:130px}.op-section .card-h>div p{margin:2px 0 0;color:var(--muted);font-size:11.5px}.operation-aside{min-width:0}.sticky-card{position:sticky;top:128px}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.readiness-grid>div{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:9px;padding:9px 10px}.readiness-grid>div>i{font-style:normal;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--red-l);color:var(--red);font:700 10px 'IBM Plex Mono',monospace}.readiness-grid>div.done>i{background:var(--p2-l);color:var(--p2)}.readiness-grid b,.readiness-grid small{display:block}.readiness-grid b{font-size:11.5px}.readiness-grid small{font-size:10.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}.preop-form{border-top:1px solid var(--line-2);padding-top:17px}.planning-specialties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:14px}.planning-specialties fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:13px}.planning-specialties legend{font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-d);padding:0 6px}.planning-specialties .lbl{margin-top:9px}.planning-specialties legend+.lbl{margin-top:0}.planning-specialties textarea{min-height:58px}
.ot-event-line{position:relative}.ot-event-line article{display:grid;grid-template-columns:72px 13px 1fr;gap:10px;position:relative;padding-bottom:16px}.ot-event-line article:not(:last-child):after{content:'';position:absolute;left:88px;top:17px;bottom:-4px;width:1px;background:var(--line)}.ot-event-line time{text-align:right;font:600 13px 'IBM Plex Mono',monospace}.ot-event-line time small{display:block;font-size:8.5px;color:var(--muted)}.ot-event-line article>i{width:11px;height:11px;margin-top:4px;background:var(--brand);border:3px solid var(--brand-l);border-radius:50%;z-index:1}.ot-event-line article b,.ot-event-line article small{display:block}.ot-event-line article p{margin:2px 0;color:var(--ink-2);font-size:12.5px}.ot-event-line article div>small{color:var(--muted);font-size:10.5px}.event-entry,.journey-entry{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 1.8fr auto;gap:9px;align-items:end;border-top:1px dashed var(--line);padding-top:14px;margin-top:6px}.event-entry .wide,.journey-entry .wide{min-width:0}
.training-mini-list{display:grid;gap:7px}.training-mini-list>div{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:9px}.training-mini-list .avatar{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand-d);font:700 10px 'IBM Plex Mono',monospace}.training-mini-list b,.training-mini-list small{display:block}.training-mini-list small{font-size:10.5px;color:var(--muted)}.training-entry{margin-top:12px}.training-entry>summary,.table-action>summary{cursor:pointer;color:var(--brand-d);font-size:11.5px;font-weight:600}.training-entry form{margin-top:12px;border-top:1px dashed var(--line);padding-top:13px}.readiness-alert{border-left:3px solid var(--p3);padding:7px 9px;background:var(--p3-l);margin:7px 0}.readiness-alert b,.readiness-alert span{display:block}.readiness-alert b{font-size:11px}.readiness-alert span{font-size:10px;color:var(--muted)}

.handover-sheet{background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2);border-radius:4px;padding:28px;max-width:980px;margin:0 auto}.handover-sheet>header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--brand);padding-bottom:14px;margin-bottom:15px}.handover-sheet>header>div{display:flex;align-items:center;gap:9px}.handover-sheet>header img{width:38px;height:38px}.handover-sheet>header b,.handover-sheet>header span{display:block}.handover-sheet>header span{font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:var(--muted)}.handover-sheet>header>div:last-child{text-align:right;display:block}.handover-patient,.handover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:13px}.handover-patient>div,.handover-grid>section{background:#fff;padding:10px 12px}.handover-patient span,.handover-grid span{font:500 8.5px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:block}.handover-patient b{display:block;margin-top:3px;font-size:12.5px}.handover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.handover-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.handover-grid p{margin:3px 0 0;font-size:12.5px}.handover-block{border:1px solid var(--line);padding:12px 14px;margin-bottom:12px;min-height:70px}.handover-block h2,.handover-times h2{font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--brand-d);margin-bottom:6px}.handover-block p{margin:0;font-size:13px}.handover-block.emphasis{border-left:4px solid var(--brand);background:var(--brand-l)}.handover-times{border:1px solid var(--line);padding:12px 14px;margin-bottom:18px}.handover-times>div{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.handover-times span{border-left:2px solid var(--brand-r);padding-left:8px}.handover-times small,.handover-times b{display:block}.handover-times small{font:500 8px 'IBM Plex Mono',monospace;color:var(--muted)}.handover-times b{font:600 14px 'IBM Plex Mono',monospace;margin-top:3px}.handover-sheet>footer{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:18px}.handover-sheet>footer span,.handover-sheet>footer small{display:block}.handover-sheet>footer span{font-weight:600;font-size:11px}.handover-sheet>footer i{height:28px;border-bottom:1px solid var(--ink);display:block}.handover-sheet>footer small{color:var(--muted);font-size:8.5px}.handover-sheet>footer p{grid-column:1/-1;color:var(--muted);font-size:8.5px;text-align:center;margin:8px 0 0}

.journey-path{display:flex;align-items:flex-start;overflow-x:auto;margin-bottom:18px;padding-bottom:4px}.journey-path>div{position:relative;min-width:105px;flex:1;text-align:center}.journey-path>div:not(:last-child):after{content:'';position:absolute;top:15px;left:calc(50% + 17px);right:calc(-50% + 17px);height:2px;background:var(--line)}.journey-path>div.done:not(:last-child):after{background:var(--p2)}.journey-path i{position:relative;z-index:1;margin:auto;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);border:2px solid var(--line);color:var(--muted);font-style:normal;font:600 10px 'IBM Plex Mono',monospace}.journey-path .done i{background:var(--p2);border-color:var(--p2);color:#fff}.journey-path span{display:block;font-size:9.5px;font-weight:600;margin-top:5px;color:var(--muted)}.journey-path .done span{color:var(--ink)}
.journey-timeline{position:relative}.journey-timeline article{display:grid;grid-template-columns:94px 15px 1fr;gap:11px;padding:0 0 17px;position:relative}.journey-timeline article:not(:last-child):after{content:'';position:absolute;left:106px;top:18px;bottom:-2px;width:1px;background:var(--line)}.journey-timeline time{text-align:right;font:600 10.5px 'IBM Plex Mono',monospace;color:var(--ink-2)}.journey-timeline time small{display:block;color:var(--muted);font-size:9px}.journey-timeline article>i{width:12px;height:12px;border-radius:50%;background:var(--brand);border:3px solid var(--brand-l);margin-top:3px;z-index:1}.journey-timeline article>div>span{font:600 8px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}.journey-timeline b,.journey-timeline small{display:block}.journey-timeline p{margin:3px 0;font-size:12.5px;color:var(--ink-2)}.journey-timeline div>small{color:var(--muted);font-size:9.5px}.journey-timeline article[data-type=outcome]>i,.journey-timeline article[data-type=followup]>i{background:var(--p4);border-color:var(--p4-l)}

.resident-switch{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);padding:9px 12px;border-radius:10px;margin-bottom:14px}.resident-switch label{font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.resident-switch select{max-width:360px}.resident-path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:14px}.resident-path>div{text-align:center;position:relative}.resident-path>div:not(:last-child):after{content:'';position:absolute;left:calc(50% + 21px);right:calc(-50% + 21px);top:18px;height:2px;background:var(--line)}.resident-path i{width:37px;height:37px;border:2px solid var(--line);background:var(--sunk);color:var(--muted);border-radius:50%;display:grid;place-items:center;margin:auto;position:relative;z-index:1;font-style:normal;font:600 11px 'IBM Plex Mono',monospace}.resident-path .done i{background:var(--p2);border-color:var(--p2);color:#fff}.resident-path .current i{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 5px var(--brand-l)}.resident-path b,.resident-path small{display:block}.resident-path b{font-size:11.5px;margin-top:7px}.resident-path small{font-size:9.5px;color:var(--muted)}.training-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:14px}.family-bars a{display:grid;grid-template-columns:minmax(160px,1fr) 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink)}.family-bars a:last-child{border-bottom:0}.family-bars b,.family-bars small{display:block}.family-bars b{font-size:11.5px}.family-bars small{color:var(--muted);font-size:9.5px}.family-bars a>i{height:6px;background:var(--line-2);border-radius:8px;overflow:hidden}.family-bars u{display:block;height:100%;background:var(--brand);text-decoration:none}.table-action{margin-top:6px;min-width:190px}.table-action form{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px;margin-top:6px;box-shadow:var(--sh-2)}.table-action textarea{min-height:55px;font-size:11px}

.imaging-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;align-items:start}.imaging-layout>aside{min-width:0}.imaging-study-list{padding:8px}.imaging-study{display:grid;grid-template-columns:55px minmax(0,1fr) 112px;gap:12px;padding:13px;border:1px solid var(--line);border-left:4px solid var(--p3);border-radius:10px;margin-bottom:8px}.imaging-study.reviewed,.imaging-study.reported{border-left-color:var(--p2)}.imaging-study.urgent_finding{border-left-color:var(--red);background:linear-gradient(90deg,var(--red-l),#fff 36%)}.imaging-study>.modality{height:45px;border-radius:9px;background:#10222D;color:#BBD8E5;display:grid;place-items:center;font:700 11px 'IBM Plex Mono',monospace}.imaging-main h3{font-size:14px}.imaging-main>p{margin:3px 0;color:var(--muted);font-size:10.5px}.imaging-main blockquote{margin:7px 0;padding:7px 9px;background:var(--sunk-2);border-left:2px solid var(--brand-r);font-size:11.5px}.imaging-main>small{color:var(--muted);font-size:9.5px}.imaging-study-actions{display:flex;flex-direction:column;gap:5px}.imaging-study-actions details>summary{cursor:pointer;font-size:10.5px;color:var(--brand-d);font-weight:600}.imaging-study-actions form{position:absolute;right:30px;width:320px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);padding:10px;border-radius:9px;z-index:10}.imaging-study-actions textarea{min-height:70px;font-size:11px;margin:6px 0}

.icu-list{display:grid;gap:11px}.icu-patient{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--p2);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:80px}.icu-patient.flagged{border-left-color:var(--red)}.icu-patient>header{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;background:linear-gradient(135deg,#FAFBFC,#F1F5F7);border-bottom:1px solid var(--line)}.icu-patient>header span{font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--brand)}.icu-patient>header h2{font-size:17px;margin-top:2px}.icu-patient>header p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.gcs-box{text-align:center;min-width:70px}.gcs-box b{font:700 24px 'IBM Plex Mono',monospace}.icu-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 16px}.icu-body .wide{grid-column:1/-1}.icu-body span{font:500 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.icu-body p{margin:3px 0 0;font-size:12px}.icu-patient>footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--line-2)}.icu-round{display:grid;grid-template-columns:90px 140px 120px 90px minmax(240px,1fr) auto;gap:9px;align-items:end;background:var(--sunk-2);border-top:1px dashed var(--line);padding:12px 16px}.icu-round textarea{min-height:55px}
.research-automation-card{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#102630,#173947);color:#E8F4F7;border:1px solid #234B5B;border-radius:var(--r);padding:18px 20px;margin-bottom:16px;box-shadow:var(--sh-2)}.research-automation-card>div{flex:1}.research-automation-card span{font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#85B8C8}.research-automation-card h3{font-size:16px;margin:3px 0}.research-automation-card p{color:#B4CDD5;font-size:12px;margin:0;max-width:78ch}

@media(max-width:1150px){.operation-layout{grid-template-columns:1fr}.operation-aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sticky-card{position:static}.planning-specialties{grid-template-columns:1fr}.icu-round{grid-template-columns:repeat(4,1fr)}.icu-round .wide{grid-column:1/-1}.icu-round button{grid-column:1/-1}.imaging-layout{grid-template-columns:270px minmax(0,1fr)}}
@media(max-width:820px){.grid.three{grid-template-columns:1fr}.ot-kpis,.training-kpis,.icu-kpis,.imaging-actions{grid-template-columns:repeat(2,1fr)}.theatre-toolbar{align-items:stretch;flex-direction:column}.ot-filter{flex-wrap:wrap}.ot-room-grid{grid-template-columns:1fr}.ot-case{grid-template-columns:54px 1fr}.ot-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}.operation-command{top:58px;align-items:flex-start;flex-direction:column}.operation-layout,.imaging-layout{grid-template-columns:1fr}.operation-aside{grid-template-columns:1fr}.readiness-grid{grid-template-columns:1fr}.event-entry,.journey-entry{grid-template-columns:1fr 1fr}.event-entry .wide,.journey-entry .wide{grid-column:1/-1}.event-entry button,.journey-entry button{grid-column:1/-1}.training-grid{grid-template-columns:1fr}.imaging-study{grid-template-columns:48px 1fr}.imaging-study-actions{grid-column:2;flex-direction:row}.imaging-study-actions form{position:static;width:100%}.icu-round{grid-template-columns:1fr 1fr}.handover-patient{grid-template-columns:1fr 1fr}.handover-times>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ot-kpis,.training-kpis,.icu-kpis,.imaging-actions{grid-template-columns:1fr 1fr}.ot-room-grid{margin-left:-7px;margin-right:-7px}.ot-case{grid-template-columns:1fr}.ot-time{border-right:0;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;text-align:left;padding:0 0 7px}.ot-actions{grid-column:1}.operation-tabs{position:sticky;top:59px;z-index:20}.readiness-grid{grid-template-columns:1fr}.event-entry,.journey-entry{grid-template-columns:1fr}.resident-path{grid-template-columns:1fr;gap:8px}.resident-path>div{display:grid;grid-template-columns:37px 1fr;text-align:left;gap:10px;align-items:center}.resident-path>div:after{display:none}.resident-path i{grid-row:1/3;margin:0}.resident-path b,.resident-path small{margin:0}.family-bars a{grid-template-columns:1fr}.icu-body{grid-template-columns:1fr}.icu-body .wide{grid-column:auto}.icu-patient>footer{align-items:flex-start;flex-direction:column}.icu-round{grid-template-columns:1fr}.handover-sheet{padding:15px}.handover-sheet>header{align-items:flex-start}.handover-patient,.handover-grid,.handover-grid.three{grid-template-columns:1fr}.handover-times>div{grid-template-columns:1fr 1fr}.handover-sheet>footer{grid-template-columns:1fr}.journey-path>div{min-width:88px}}

@media print{
  .no-print,.operation-command,.operation-tabs,.app-footer{display:none!important}
  .handover-sheet{border:0;box-shadow:none;padding:0;max-width:none}.handover-sheet>header img{display:block}
  .handover-sheet>footer p{display:block}.handover-block{break-inside:avoid}.wrap{max-width:none}
}

/* ============================================================
   V15 — clinical research, governance and identity vault
   ============================================================ */
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);font-weight:700;margin-bottom:5px}
.app-footer{position:fixed;z-index:20;bottom:0;left:238px;right:0;padding:7px 26px;background:rgba(255,255,255,.94);border-top:1px solid var(--line-2);font-size:10.5px;color:var(--muted);text-align:right;backdrop-filter:blur(8px)}
.identity-card{background:linear-gradient(135deg,#F7FBFD,#EDF5F8);border:1px solid #BCD6E2;border-left:4px solid var(--brand);border-radius:var(--r);padding:15px 17px;margin:0 0 16px;box-shadow:var(--sh-2)}
.identity-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.identity-title .lock{width:30px;height:30px;display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:8px;font-size:9px}.identity-title b{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:14px}.identity-title small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.pagination{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:4px 0 20px}
.project-strip{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:16px}.project-strip>div{background:var(--surface);padding:12px 15px;display:flex;flex-direction:column;gap:4px}.project-strip span{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.project-strip b,.project-strip a{font-size:13px;color:var(--ink);text-decoration:none}
.tabsline{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto}.tabsline a{padding:8px 12px;color:var(--muted);text-decoration:none;font-size:12.5px;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tabsline a:hover{color:var(--brand);border-bottom-color:var(--brand)}
.candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.candidate{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.candidate:hover{border-color:var(--brand-r);background:var(--brand-l)}.candidate input{width:auto;margin-top:3px;accent-color:var(--brand)}.candidate b,.candidate small{display:block}.candidate small{color:var(--muted);font-size:11.5px;margin-top:2px}
.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.quality-item{border:1px solid var(--line);border-radius:9px;padding:10px 11px}.quality-item>div:first-child{display:flex;justify-content:space-between;gap:8px}.quality-item b{font-size:12px}.quality-item span{font-size:10.5px;color:var(--muted)}.quality-item strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:18px;margin:5px 0}
.member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.member-list>div{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:9px}.member-list .avatar{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand-d);font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700}.member-list p{margin:0}.member-list b,.member-list small{display:block}.member-list small{font-size:10.5px;color:var(--muted);margin-top:2px}
.role-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.role-guide>div{border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--surface)}.role-guide b,.role-guide span{display:block}.role-guide b{font-size:12.5px}.role-guide span{font-size:11px;color:var(--muted);margin-top:3px}
.admin-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.admin-actions a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:13px 14px;text-decoration:none;color:var(--ink);box-shadow:var(--sh-2)}.admin-actions a:hover{border-color:var(--brand-r);transform:translateY(-1px)}.admin-actions span{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.admin-actions b{font-size:12.5px;margin:5px 0 2px}.admin-actions small{font-size:10.5px;color:var(--muted)}
.governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:12.5px}.metric-row:last-child{border-bottom:0}.governance-status{border-left:3px solid var(--line);padding:8px 10px}.governance-status.ok{border-color:var(--p2)}.governance-status.bad{border-color:var(--red)}.governance-status b,.governance-status span{display:block}.governance-status span{font-size:11.5px;color:var(--muted);margin-top:3px}
.score-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:15px}.score-nav a{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:6px 11px;text-decoration:none;color:var(--ink-2);font-size:11.5px;white-space:nowrap}.score-nav a:hover{border-color:var(--brand-r);background:var(--brand-l);color:var(--brand-d)}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.score-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-2);scroll-margin-top:80px}.score-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 16px;background:linear-gradient(135deg,#F8FAFC,#EEF4F7);border-bottom:1px solid var(--line)}.score-head span{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;font-size:9px;color:var(--muted)}.score-head h2{font-size:17px;margin-top:2px}.score-head output{width:58px;height:48px;display:grid;place-items:center;border-radius:10px;background:var(--surface);border:1px solid var(--brand-r);color:var(--brand-d);font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:20px}.score-body{padding:15px 16px}.score-body>label{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:10px;margin-bottom:9px}.score-body>label>span{font-size:11.5px;font-weight:600}.score-body select{padding:7px 30px 7px 9px;font-size:12px}.score-body>a{font-size:11px;color:var(--brand-d)}.score-note{font-size:11.5px;color:var(--muted);padding-top:9px;border-top:1px solid var(--line-2);margin:12px 0 7px}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.outcome-grid>div{background:var(--sunk-2);border:1px solid var(--line);border-radius:9px;padding:12px}.outcome-grid p{font-size:12px;color:var(--muted);margin:6px 0 0}

@media(max-width:1000px){.app-footer{left:0}.project-strip,.role-guide,.admin-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.score-grid,.governance-grid{grid-template-columns:1fr}.outcome-grid{grid-template-columns:1fr}.project-strip,.role-guide,.admin-actions{grid-template-columns:1fr}.score-body>label{grid-template-columns:1fr;gap:4px}.identity-card{padding:13px}.app-footer{display:none}}
@media print{.app-footer,.score-nav,.tabsline,.admin-actions{display:none!important}}

/* ============================================================
   V16 — neurosurgical command interface
   Deep navy navigation, restrained theatre green and denser
   clinical information hierarchy. No decorative gradients.
   ============================================================ */
:root{
  --bg:#F3F6F8;--surface:#FFFFFF;--sunk:#EDF2F4;--sunk-2:#F8FAFB;
  --ink:#10232D;--ink-2:#344B56;--muted:#667B84;--line:#DCE5E9;--line-2:#EAF0F2;
  --brand:#08786D;--brand-d:#075C55;--brand-l:#E5F4F1;--brand-r:#BBDDD7;
  --sidebar:#0C2430;--sidebar-2:#102F3C;--sidebar-text:#D7E5EA;--sidebar-muted:#8FA7B0;
  --sh-2:0 1px 2px rgba(10,32,42,.04),0 10px 26px -18px rgba(10,32,42,.30);
  --r:14px;--r-s:9px
}
body{font-size:14px;background:var(--bg)}
#scr-app{grid-template-columns:254px 1fr}
.side{width:254px;background:var(--sidebar);border-right:0;padding:20px 14px;color:var(--sidebar-text)}
.side .logo{padding:2px 7px 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.side .mark{width:38px;height:38px;border-radius:11px;background:#19A38C;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.side .logo b{color:#fff;font-size:16px}.side .logo span{color:var(--sidebar-muted);font-size:10px;max-width:155px;line-height:1.35;margin-top:2px}
#nav{gap:3px}#nav a{color:var(--sidebar-text);margin:0;border-left:0;padding:10px 11px;border-radius:9px;font-size:13px}
#nav a:hover{background:rgba(255,255,255,.07);color:#fff}#nav a.on{background:#173E49;color:#fff;border-left:0;box-shadow:inset 3px 0 #25B69E}
#nav a svg{stroke-width:1.8}#nav .nb{background:#FFEDD5;color:#9A4D10;border:0}
.side .card-user{border-top:1px solid rgba(255,255,255,.09);padding:15px 5px 0}.side .card-user .avatar{background:#173E49;border-color:rgba(255,255,255,.09);color:#D7F2ED}
.side .card-user b{color:#fff}.side .card-user small{color:var(--sidebar-muted)}.side .card-user a:hover{background:rgba(255,255,255,.08)}
.topbar{background:rgba(243,246,248,.94);padding:13px 28px}.topbar .search{max-width:520px}.topbar .search input{background:#fff;border-color:#D6E1E5}
.auth-art{background:var(--sidebar);color:#fff;border-right:0}.auth-art .mark{background:#19A38C}.auth-art .tag,.auth-art .foot{color:var(--sidebar-muted)}.auth-art .lines div{border-top-color:rgba(255,255,255,.10)}.auth-art .lines p{color:#D7E5EA}.auth-art .lines em{color:#64D2BF}.auth-form{background:var(--bg)}
.wrap{padding:25px 29px 92px;max-width:1440px}.page-head{margin-bottom:21px}.page-head h1{font-size:26px}.page-head p{font-size:13.5px}
.btn{border-color:var(--brand);box-shadow:0 4px 12px -8px rgba(8,120,109,.7)}.btn.ghost{box-shadow:none}
.card,.stat{border-color:#DCE5E9;box-shadow:var(--sh-2)}.card-h{min-height:52px;padding:14px 18px}.card-b{padding:18px}
.card-h .sec{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}
.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{padding:16px 17px;border-top:3px solid #DDE8EB}.stat u{font-size:30px}.stat.attn{border-top-color:var(--p3);background:#fff}
.identity-card{background:#F1F8F7;border-color:#BBDDD7;border-left-color:var(--brand)}.identity-title .lock{background:var(--brand)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 19px}
.quick-actions a{display:grid;grid-template-columns:34px 1fr;column-gap:11px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;color:var(--ink);text-decoration:none;box-shadow:var(--sh-2);transition:transform .15s,border-color .15s}
.quick-actions a:hover{transform:translateY(-1px);border-color:var(--brand-r)}.quick-actions span{grid-row:1/3;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand-d);font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700}
.quick-actions b{font-size:12.5px;line-height:1.25}.quick-actions small{font-size:10.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.security-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.security-check{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;padding:12px}.security-check>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:800}.security-check b,.security-check small{display:block}.security-check small{color:var(--muted);font-size:11px;margin-top:2px}.security-check.ok{border-left-color:var(--p2)}.security-check.ok>span{background:var(--p2-l);color:var(--p2)}.security-check.bad{border-left-color:var(--red)}.security-check.bad>span{background:var(--red-l);color:var(--red)}
.subject-control{min-width:190px}.subject-control summary{cursor:pointer;color:var(--brand-d);font-weight:700;font-size:12px}.subject-form{display:grid;gap:6px;margin-top:8px}.subject-form input,.subject-form select{padding:6px 8px;font-size:11.5px}
.upload-attestation{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 12px;border:1px solid var(--p3-r);border-radius:9px;background:var(--p3-l);font-size:11.5px;color:var(--ink-2)}.upload-attestation input{width:auto;margin-top:2px;accent-color:var(--brand)}
.cattab{border-top-width:4px}.substeps{padding:10px 12px}.stepbar{border-color:#C9DADD;box-shadow:0 14px 38px -16px rgba(10,32,42,.38)}
.app-footer{left:254px;background:rgba(255,255,255,.96)}
.admin-actions{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.role-guide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
table{font-size:13px}th{background:#F6F9FA;color:#5F747D}tbody tr:hover{background:#F5FAF9}

@media(max-width:1000px){
  #scr-app{grid-template-columns:1fr}.side{width:254px}.app-footer{left:0}.quick-actions{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .wrap{padding:17px 12px 70px}.topbar{padding:10px 12px}.topbar .search{display:none}.page-head h1{font-size:22px}
  .quick-actions{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{padding:13px}.stat u{font-size:25px}
  .security-checks{grid-template-columns:1fr}.security-check{grid-template-columns:32px 1fr}.security-check .pill{grid-column:2}
  .cattabs{grid-template-columns:repeat(2,1fr)}.cattab{padding:11px}.card-b{padding:14px}.identity-title small{line-height:1.35}
}

/* ============================================================
   V17 — longitudinal patient cockpit and research studio
   ============================================================ */
.brand-logo{width:40px;height:40px;display:block;border-radius:12px;box-shadow:0 9px 22px rgba(0,0,0,.2)}
.side{overflow-y:auto}.side .logo{position:sticky;top:-20px;background:var(--sidebar);z-index:2}.side .card-user{position:sticky;bottom:-20px;background:var(--sidebar);padding-bottom:18px}
.top-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2)}
.top-icon:hover{border-color:var(--brand-r);color:var(--brand)}.top-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.side nav a{min-height:48px}.side nav a svg{width:23px!important;height:23px!important;min-width:23px}.nursing-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.trend-up{color:var(--red);font-weight:700}.trend-down{color:var(--brand);font-weight:700}.trend-same{color:var(--muted)}
.card-h .sec{width:44px!important;height:44px!important;min-width:44px!important;border-radius:13px!important;display:grid!important;place-items:center!important;font-size:12px!important;font-weight:800!important;letter-spacing:.02em!important}.card-h h3{font-size:16px;font-weight:750}.card-h{min-height:66px}.card-b .lbl,.fld>.lbl{font-size:11px;font-weight:800;color:var(--ink-2)}.card-b p,.card-b td{font-size:13px}.registry-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:245px}.danger-pop{position:relative}.danger-pop>summary{list-style:none;cursor:pointer}.danger-pop>summary::-webkit-details-marker{display:none}.danger-pop>form{position:absolute;z-index:20;right:0;top:40px;width:270px;background:#fff;border:1px solid #E8C9C7;border-radius:13px;padding:13px;box-shadow:0 18px 45px rgba(16,32,40,.18)}.danger-pop textarea{min-height:68px;margin:6px 0 9px}.lab-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-value-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;background:linear-gradient(145deg,#fff,#F7FAFB);border:1px solid var(--line);border-radius:12px;padding:11px 12px;transition:.15s}.lab-value-row:focus-within{border-color:var(--brand-r);box-shadow:0 0 0 3px var(--brand-l)}.lab-value-row b,.lab-value-row small{display:block}.lab-value-row b{font-size:13px}.lab-value-row small{color:var(--muted);font:600 10px 'IBM Plex Mono',monospace;margin-top:3px}.lab-value-row input{font-weight:800;text-align:center;font-size:14px}.lab-value-row.serology select{font-weight:750}.nursing-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:var(--sunk-2);border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:13px}.auto-flag-note{display:flex;align-items:center;gap:10px;background:var(--brand-l);color:var(--brand-d);border:1px solid var(--brand-r);border-radius:11px;padding:10px 12px;font-size:12px;font-weight:650;margin-bottom:13px}.auto-flag-note i{font-style:normal;font-size:18px}.case-word-title{font-size:20px;font-weight:800}
.lab-auto{display:inline-block;margin-top:5px;font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-style:normal}.lab-value-row[data-status="normal"]{border-color:#9DD4C9;background:#F1FBF8}.lab-value-row[data-status="normal"] .lab-auto{color:var(--brand)}.lab-value-row[data-status="low"],.lab-value-row[data-status="high"]{border-color:#E5B3AE;background:#FFF5F4}.lab-value-row[data-status="low"] .lab-auto,.lab-value-row[data-status="high"] .lab-auto{color:var(--red)}
@media(max-width:1050px){.lab-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.lab-entry-grid,.nursing-toolbar{grid-template-columns:1fr}.lab-value-row{grid-template-columns:minmax(0,1fr) 105px}.danger-pop>form{position:fixed;left:12px;right:12px;top:25%;width:auto}.card-h .sec{width:40px!important;height:40px!important;min-width:40px!important}}

/* V20.2 — calmer, more readable clinical interface */
.main .wrap{max-width:1580px;padding-left:34px;padding-right:34px}.main .page-head h1{font-size:31px;line-height:1.15;letter-spacing:-.025em}.main .page-head p{font-size:15px;line-height:1.55;max-width:78ch}.main .card-h h3{font-size:18px;letter-spacing:-.01em}.main .card-b{font-size:14.5px}.main input,.main select,.main textarea{font-size:14px}.main textarea{line-height:1.55}.main .hint{font-size:12.5px;line-height:1.5}.main .btn{font-weight:700}.main .identity-card b{font-size:15px}.main .identity-card span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}

.auth{background:#071D27;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr)}.auth-art{position:relative;overflow:hidden;padding:64px 60px;background:linear-gradient(155deg,#071D27 0%,#0B303B 65%,#0B3B42 100%)}.auth-art:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(100,210,191,.12);border-radius:50%;right:-220px;top:-170px;box-shadow:0 0 0 70px rgba(100,210,191,.035),0 0 0 140px rgba(100,210,191,.025)}.auth-art>*{position:relative;z-index:1}.auth-art .logo{gap:16px}.auth-art .brand-logo{width:58px;height:58px;padding:6px;background:#fff;border-radius:16px}.auth-art h2{font-size:29px;letter-spacing:-.025em}.auth-kicker{display:flex;align-items:center;gap:8px;margin-top:22px;font:800 10px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#64D2BF}.auth-kicker span{width:24px;height:2px;background:#64D2BF}.auth-art .tag{font-size:18px;line-height:1.55;max-width:46ch;color:#D7E5EA!important}.auth-art .lines{max-width:650px}.auth-art .lines div{grid-template-columns:38px 1fr;gap:14px;padding:17px 0}.auth-art .lines em{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(100,210,191,.1);font-size:10px}.auth-art .lines p b,.auth-art .lines p span{display:block}.auth-art .lines p b{font-size:14px;color:#fff;margin-bottom:4px}.auth-art .lines p span{font-size:12.5px;line-height:1.45;color:#AFC5CC}.auth-form{background:linear-gradient(145deg,#F7FAFB,#EDF3F5);padding:54px}.auth-panel{max-width:500px;background:#fff;border:1px solid #D7E3E7;border-radius:22px;padding:38px 40px;box-shadow:0 30px 80px -38px rgba(7,29,39,.38)}.auth-panel-head{display:flex;align-items:center;gap:15px}.auth-panel-head h1{font-size:30px;letter-spacing:-.03em;margin-top:2px}.auth-shield{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--brand-l);border:1px solid var(--brand-r);color:var(--brand);font-size:24px;font-weight:700}.auth-panel .sub{font-size:14.5px;line-height:1.5;margin:13px 0 24px}.auth-input{height:50px;border-radius:11px!important;font-size:15px!important;padding:12px 14px!important;background:#FBFCFD!important}.auth-input:focus{background:#fff!important}.password-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;position:relative}.password-wrap input{grid-column:1/-1;grid-row:1}.password-wrap button{grid-column:2;grid-row:1;z-index:1;margin-right:7px;border:0;background:var(--sunk);color:var(--brand-d);border-radius:8px;padding:7px 10px;font-weight:750;cursor:pointer}.auth-submit{width:100%;height:50px;margin-top:10px;font-size:15px!important;border-radius:11px!important}.auth-assurance{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:19px}.auth-assurance span{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--sunk-2);border:1px solid var(--line);border-radius:20px;padding:5px 8px}

.lab-date-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.lab-date-overview>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--sh-2)}.lab-date-overview>div.latest{background:linear-gradient(145deg,#EAF8F5,#F7FCFB);border-color:var(--brand-r);box-shadow:inset 4px 0 var(--brand)}.lab-date-overview span,.lab-date-overview b,.lab-date-overview strong,.lab-date-overview small{display:block}.lab-date-overview span{font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.lab-date-overview b{font-size:16px;margin-top:7px;color:var(--brand-d)}.lab-date-overview strong{font-size:13px;margin-top:2px}.lab-date-overview small{font-size:10px;color:var(--muted);margin-top:7px}.lab-day-row td{background:var(--sidebar)!important;color:#fff!important;padding:10px 13px!important;border-top:10px solid var(--bg)!important}.lab-day-row b{font-size:14px;margin-right:9px}.lab-day-row span{font:650 11px 'IBM Plex Mono',monospace;color:#BFD3D9}.lab-day-row:first-child td{border-top:0!important}

.clinical-priority{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}.clinical-priority>div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:12px;padding:12px 13px;box-shadow:var(--sh-2)}.clinical-priority b,.clinical-priority span{display:block}.clinical-priority b{font-size:13.5px;color:var(--ink)}.clinical-priority span{font-size:11px;line-height:1.4;color:var(--muted);margin-top:4px}.optional-tag{font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;background:var(--sunk);color:var(--muted);border-radius:20px;padding:4px 7px}.clinical-section:not(.clinical-detail){border-left:4px solid var(--brand)}.section-index a{font-size:11.5px;font-weight:700;padding:9px 12px}.section-toggle{width:34px;height:34px;font-weight:800}

@media(max-width:1100px){.auth{grid-template-columns:1fr}.auth-art{padding:35px 30px}.auth-art .lines{display:none}.auth-form{padding:34px 22px}.lab-date-overview,.clinical-priority{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.main .wrap{padding-left:13px;padding-right:13px}.main .page-head h1{font-size:25px}.main .page-head p{font-size:14px}.auth-panel{padding:28px 22px;border-radius:17px}.auth-panel-head h1{font-size:26px}.auth-shield{width:46px;height:46px}.lab-date-overview,.clinical-priority{grid-template-columns:1fr}.lab-date-overview{gap:7px}}

/* V20.3 — neurosurgical workstation visual system */
.main{background:radial-gradient(circle at 92% 2%,rgba(72,205,183,.11),transparent 27%),radial-gradient(circle at 15% 70%,rgba(61,119,190,.055),transparent 24%),#F2F7F8}.topbar{background:rgba(247,251,252,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(185,207,213,.7)}.topbar .btn{border-radius:12px}.card{border-radius:18px;border-color:#D8E6E9;box-shadow:0 16px 38px -32px rgba(8,35,47,.52),0 2px 6px rgba(8,35,47,.035)}.card-h{background:linear-gradient(180deg,#FFF,#FBFDFD);border-radius:18px 18px 0 0}.btn{background:linear-gradient(135deg,#08786D,#07927F);border:0;box-shadow:0 9px 22px -13px rgba(8,120,109,.9)}.btn:hover{background:linear-gradient(135deg,#075C55,#08786D);transform:translateY(-1px)}.btn.ghost{border:1px solid #D5E2E6;background:rgba(255,255,255,.86)}.pill{font-weight:800;letter-spacing:.045em}.side{background:linear-gradient(180deg,#081F2A 0%,#0C2B35 100%)}#nav a{min-height:49px;font-size:13.5px;font-weight:650}#nav a.on{background:linear-gradient(90deg,#174650,#123741);box-shadow:inset 4px 0 #45D1B7,0 8px 18px rgba(0,0,0,.12)}

.workstation-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:28px;align-items:center;min-height:330px;margin:-4px 0 18px;padding:38px 42px;border-radius:25px;background:linear-gradient(125deg,#071E29 0%,#0B3440 60%,#0A4C4A 100%);color:#fff;box-shadow:0 30px 65px -38px rgba(5,31,42,.75)}.workstation-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025)),repeating-linear-gradient(90deg,transparent 0,transparent 59px,rgba(255,255,255,.025) 60px),repeating-linear-gradient(0deg,transparent 0,transparent 59px,rgba(255,255,255,.02) 60px);pointer-events:none}.workstation-copy,.neuro-visual{position:relative;z-index:1}.workstation-kicker{display:flex;align-items:center;gap:9px;font:800 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.11em;color:#83DCCA}.workstation-kicker span{font-size:13px;color:#50D8BD;text-shadow:0 0 14px #50D8BD}.workstation-copy h1{font-size:39px;line-height:1.08;letter-spacing:-.035em;margin:13px 0 10px}.workstation-copy>p{max-width:720px;font-size:16px;line-height:1.6;color:#C5D9DF;margin:0}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.btn.light{background:#fff;color:#0A4C4A;box-shadow:0 10px 26px -16px rgba(0,0,0,.7)}.btn.light:hover{background:#EAF8F5;color:#073E3B}.btn.outline-light{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:none}.btn.outline-light:hover{background:rgba(255,255,255,.14)}.hero-status{display:flex;gap:15px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}.hero-status span{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#B8D0D6}.hero-status i,.readiness-list i{width:8px;height:8px;border-radius:50%;background:#62DEBE;box-shadow:0 0 0 4px rgba(98,222,190,.11);flex:none}.hero-status i.warn,.readiness-list i.warn{background:#F3B65D;box-shadow:0 0 0 4px rgba(243,182,93,.12)}.neuro-visual{display:grid;place-items:center}.scan-ring{width:258px;height:258px;display:grid;place-items:center;position:relative;border-radius:50%;background:radial-gradient(circle,rgba(90,219,196,.12),rgba(90,219,196,.025) 55%,transparent 56%);box-shadow:inset 0 0 0 1px rgba(127,226,209,.12),0 0 65px rgba(65,205,181,.09)}.scan-ring:before,.scan-ring:after{content:"";position:absolute;border:1px solid rgba(119,225,205,.16);border-radius:50%;inset:15px}.scan-ring:after{inset:36px;border-style:dashed;animation:neuroSpin 22s linear infinite}.scan-ring svg{width:220px;height:220px;color:#AED7D5}.scan-ring span{position:absolute;text-align:center;font:800 9px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#9DE1D3;background:#0A333A;border:1px solid rgba(127,226,209,.2);border-radius:9px;padding:7px 9px;line-height:1.4}@keyframes neuroSpin{to{transform:rotate(360deg)}}

.workstation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.workstation-metrics>a{display:flex;align-items:center;gap:14px;min-height:112px;padding:17px 18px;background:rgba(255,255,255,.9);border:1px solid #D8E6E9;border-radius:18px;color:var(--ink);text-decoration:none;box-shadow:0 16px 34px -30px rgba(8,35,47,.65);transition:.18s}.workstation-metrics>a:hover{transform:translateY(-3px);border-color:#AEDBD3;box-shadow:0 20px 34px -25px rgba(8,75,70,.36)}.metric-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;font-size:22px;font-weight:800;flex:none}.metric-icon.teal{background:#E4F7F3;color:#08786D}.metric-icon.violet{background:#F0ECFB;color:#6D51AF}.metric-icon.blue{background:#E8F2FC;color:#286FAB}.metric-icon.amber{background:#FFF3DE;color:#AD6B0C}.workstation-metrics div{min-width:0}.workstation-metrics small,.workstation-metrics b,.workstation-metrics em{display:block}.workstation-metrics small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.workstation-metrics b{font-size:27px;line-height:1;margin:7px 0 5px;letter-spacing:-.03em}.workstation-metrics em{font-size:10.5px;font-style:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.workstation-notice{display:flex;align-items:center;gap:13px;padding:14px 16px;margin:0 0 15px;border-radius:15px;background:#EAF4FB;border:1px solid #C6DEEE;color:#1F5679}.workstation-notice.amber{background:#FFF7E8;border-color:#EFD6A5;color:#825412}.workstation-notice>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.75);font-size:18px;flex:none}.workstation-notice>div{flex:1}.workstation-notice b,.workstation-notice p{display:block;margin:0}.workstation-notice b{font-size:13px}.workstation-notice p{font-size:11.5px;margin-top:3px;color:inherit;opacity:.8}

.workstation-section{margin:25px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}.section-title span{font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--brand)}.section-title h2{font-size:23px;letter-spacing:-.02em;margin-top:4px}.section-title p{font-size:12px;color:var(--muted);max-width:390px;margin:0;text-align:right}.workstation-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.workstation-tools>a{position:relative;overflow:hidden;display:grid;grid-template-columns:49px 1fr auto;align-items:center;gap:13px;min-height:108px;padding:17px;background:#fff;border:1px solid #D9E6E9;border-radius:18px;color:var(--ink);text-decoration:none;box-shadow:var(--sh-2);transition:.18s}.workstation-tools>a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tile,#08786D)}.workstation-tools>a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tile,#08786D) 40%,#D9E6E9)}.workstation-tools>a>i{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--tile,#08786D) 11%,white);color:var(--tile,#08786D);font-style:normal;font-size:22px}.workstation-tools b,.workstation-tools small{display:block}.workstation-tools b{font-size:15px}.workstation-tools small{font-size:11px;line-height:1.45;color:var(--muted);margin-top:4px}.workstation-tools em{font-style:normal;font-size:10px;font-weight:800;color:var(--tile,#08786D)}.workstation-tools .theatre{--tile:#7157B5}.workstation-tools .critical{--tile:#C75656}.workstation-tools .nursing{--tile:#2778A8}.workstation-tools .mdt{--tile:#C47717}.workstation-tools .research{--tile:#4C7283}

.workstation-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.workstation-card{margin:0}.workstation-card .card-h p{font-size:10.5px;color:var(--muted);margin:3px 0 0}.attention-list>a{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-2);color:var(--ink);text-decoration:none}.attention-list>a:hover{background:#F8FBFB}.attention-count{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#EDF3F4;color:var(--muted);font-weight:800}.attention-count.hot{background:#FCE9E7;color:#B43D3D}.attention-count.warm{background:#FFF2DD;color:#A7670D}.attention-list b,.attention-list small{display:block}.attention-list b{font-size:13px}.attention-list small{font-size:10.5px;color:var(--muted);margin-top:3px}.attention-list em{font-style:normal;font-size:10px;font-weight:800;color:var(--brand)}.readiness-list>div{display:grid;grid-template-columns:9px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-2)}.readiness-list b,.readiness-list small{display:block}.readiness-list b{font-size:13px}.readiness-list small{font-size:10.5px;color:var(--muted);margin-top:3px}.readiness-list em{font-style:normal;font-size:10px;font-weight:800;color:var(--brand)}.activity-card{margin-top:13px}.activity-stream{padding:5px 19px 15px}.activity-stream>div{display:grid;grid-template-columns:90px 12px 1fr;gap:10px;min-height:57px;padding-top:13px}.activity-stream time{font:650 9.5px 'IBM Plex Mono',monospace;color:var(--muted)}.activity-stream i{width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-l);position:relative}.activity-stream i:after{content:"";position:absolute;top:12px;left:4px;width:1px;height:35px;background:var(--line)}.activity-stream>div:last-child i:after{display:none}.activity-stream p{margin:-3px 0 0}.activity-stream b,.activity-stream span{display:block}.activity-stream b{font-size:12.5px}.activity-stream span{font-size:10.5px;color:var(--muted);margin-top:4px}

@media(max-width:1180px){.workstation-hero{grid-template-columns:1fr}.neuro-visual{display:none}.workstation-metrics{grid-template-columns:repeat(2,1fr)}.workstation-tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.workstation-hero{min-height:auto;margin:-3px 0 13px;padding:26px 22px;border-radius:19px}.workstation-copy h1{font-size:31px}.workstation-copy>p{font-size:14px}.hero-actions .btn{flex:1;min-width:135px}.hero-status{gap:9px 13px}.workstation-metrics{grid-template-columns:1fr 1fr;gap:8px}.workstation-metrics>a{min-height:100px;padding:13px;gap:10px;border-radius:15px}.metric-icon{width:42px;height:42px;border-radius:12px;font-size:18px}.workstation-metrics b{font-size:23px}.workstation-tools{grid-template-columns:1fr}.workstation-tools>a{min-height:94px}.workstation-columns{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column;gap:5px}.section-title p{text-align:left}.workstation-notice{align-items:flex-start;flex-wrap:wrap}.workstation-notice .btn{margin-left:51px}.activity-stream>div{grid-template-columns:74px 11px 1fr}}
@media(max-width:470px){.workstation-metrics{grid-template-columns:1fr}.workstation-metrics>a{min-height:88px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}.workstation-copy h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.scan-ring:after{animation:none}}
.page-head h2{font-size:22px}.page-head.small{margin:3px 0 13px}.dashboard-stats a{text-decoration:none;color:inherit}.dashboard-stats .stat:hover{border-color:var(--brand-r);transform:translateY(-1px)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;margin-bottom:16px}.dashboard-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-list{display:flex;flex-direction:column}.work-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink)}.work-row:last-child{border-bottom:0}.work-row:hover{background:#F5FAF9}.work-row b,.work-row small{display:block}.work-row b{font-size:13px}.work-row small{font-size:11px;color:var(--muted);margin-top:3px}.work-row time{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--muted)}
.priority-dot{width:9px;height:9px;border-radius:50%;background:#91A5AD}.priority-dot.urgent{background:#E0A019;box-shadow:0 0 0 4px #FFF4DA}.priority-dot.critical{background:#D44E4E;box-shadow:0 0 0 4px #FDE7E7}.case-order{width:26px;height:26px;border-radius:8px;background:var(--brand-l);color:var(--brand-d);display:grid;place-items:center;font:700 9px 'IBM Plex Mono',monospace}
.action-pills{display:flex;flex-wrap:wrap;gap:8px}.action-pills a{padding:8px 11px;border:1px solid var(--line);border-radius:20px;background:var(--sunk-2);text-decoration:none;color:var(--ink-2);font-size:12px;font-weight:600}.action-pills a:hover{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}
.case-ribbon{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);margin-bottom:15px;overflow:hidden}.case-ribbon>div{padding:13px 15px;border-right:1px solid var(--line-2);min-width:0}.case-ribbon>div:last-child{border-right:0}.case-ribbon span,.case-ribbon b{display:block}.case-ribbon>div>span{font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.case-ribbon b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cockpit-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px;align-items:start}.cockpit-grid>main,.cockpit-grid>aside{min-width:0}.cockpit-grid>aside{display:flex;flex-direction:column;gap:14px}.cockpit-grid>aside .card{margin:0}
.snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden}.snapshot-grid>div{background:#fff;padding:14px}.snapshot-grid span{font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}.snapshot-grid p{font-size:12.5px;line-height:1.55;margin:7px 0 0;color:var(--ink-2)}
.timeline-list{padding:5px 18px 12px}.timeline-list article{display:grid;grid-template-columns:118px 13px 1fr;gap:10px;min-height:68px;padding:13px 0 3px}.timeline-list time{font:500 10px 'IBM Plex Mono',monospace;color:var(--muted);padding-top:2px}.timeline-list i{width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-l);position:relative;margin-top:3px}.timeline-list i:after{content:"";position:absolute;top:12px;left:4px;width:1px;height:52px;background:var(--line)}.timeline-list article:last-child i:after{display:none}.timeline-list b,.timeline-list p,.timeline-list small{display:block}.timeline-list b{font-size:12.5px}.timeline-list p{font-size:11.5px;color:var(--ink-2);margin:4px 0}.timeline-list small{font-size:10.5px;color:var(--muted)}
.task-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-2)}.task-item b,.task-item small{display:block}.task-item b{font-size:12px}.task-item small{font-size:10px;color:var(--muted);margin-top:3px}.task-item.urgent{border-left:3px solid #E0A019;padding-left:9px}.task-item.critical{border-left:3px solid #D44E4E;padding-left:9px}.task-check{width:27px;height:27px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand);cursor:pointer}.task-check:hover{background:var(--brand-l)}.add-task{margin-top:11px}.add-task summary{font-size:11.5px;font-weight:700;color:var(--brand-d);cursor:pointer}.add-task form{display:grid;gap:7px;margin-top:9px}.add-task input,.add-task select{padding:7px 9px;font-size:11px}
.completion-ring{width:112px;height:112px;margin:3px auto 13px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--pct)*1%),var(--sunk) 0);position:relative}.completion-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.completion-ring b,.completion-ring span{position:relative;z-index:1;display:block;text-align:center}.completion-ring b{font:700 23px 'IBM Plex Mono',monospace;color:var(--brand-d)}.completion-ring span{font-size:9px;color:var(--muted);margin-top:-23px}
.theatre-date{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:16px}.theatre-date button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:20px;cursor:pointer}.theatre-date div{text-align:center}.theatre-date span,.theatre-date b{display:block}.theatre-date span{font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.theatre-date b{font-size:16px;margin-top:3px}.date-filter{display:flex;gap:7px}.date-filter input{min-width:160px}
.theatre-board{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.theatre-case{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh-2)}.theatre-order{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--sidebar);color:#fff;font:700 13px 'IBM Plex Mono',monospace}.theatre-main h3{font-size:15px}.theatre-main>p{font-size:13px;margin:5px 0 10px;color:var(--ink-2)}.theatre-meta{display:flex;flex-wrap:wrap;gap:12px 20px}.theatre-meta span{font-size:10.5px;color:var(--ink-2)}.theatre-meta b{display:block;font:700 8.5px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.theatre-actions{display:flex;gap:7px}.board-empty{background:#fff;border:1px dashed var(--line);border-radius:var(--r)}
.gcs-badge{font:700 16px 'IBM Plex Mono',monospace;color:var(--brand-d);background:var(--brand-l);border:1px solid var(--brand-r);border-radius:9px;padding:7px 10px}.serial-form .card-h{position:sticky;top:64px;z-index:4;background:#fff}.serial-form textarea{min-height:90px}
.research-mode{display:flex;gap:6px;overflow-x:auto;margin:0 0 15px;padding-bottom:3px}.research-mode a{padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink-2);text-decoration:none;font-size:11.5px;white-space:nowrap}.research-mode a.on{background:var(--sidebar);border-color:var(--sidebar);color:#fff}.crf-builder-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);gap:14px}.fld .lbl small{display:block;text-transform:none;letter-spacing:0;color:var(--muted);font-size:9px;margin-top:3px}.tabsline a.on{color:var(--brand-d);border-bottom-color:var(--brand)}
.text-bad{color:#B43D3D}.metric-row span small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.card+.notice{margin-top:14px}

/* A long clerking form remains scannable: section headers stay clear and
   text-heavy history fields receive enough writing space. */
.stepwrap[data-step="2"] .card{scroll-margin-top:78px}.stepwrap[data-step="2"] .card-h{background:#FBFDFD}.stepwrap[data-step="2"] textarea{min-height:92px}.stepwrap[data-step="2"] .sect-note{border-left:3px solid var(--brand-r);padding-left:10px}.identity-card input{font-weight:600}.stepbar .state{font-family:'IBM Plex Mono',monospace;font-size:10.5px}
#clinical-validation span{display:block;margin-top:5px;font-size:12px}
.section-index{display:flex;gap:6px;overflow-x:auto;padding:9px 1px 12px;margin-bottom:2px;scrollbar-width:thin}.section-index a{padding:7px 10px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink-2);text-decoration:none;font-size:10.5px;white-space:nowrap}.section-index a:hover{background:var(--brand-l);border-color:var(--brand-r);color:var(--brand-d)}.section-toggle{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer;font-size:17px;line-height:1}.section-toggle:hover{background:var(--brand-l);color:var(--brand-d)}.clinical-section.collapsed .section-body{display:none}.clinical-section.collapsed{margin-bottom:8px}

@media(max-width:1120px){.cockpit-grid,.dashboard-grid,.crf-builder-grid{grid-template-columns:1fr}.cockpit-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.case-ribbon{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-grid.compact,.snapshot-grid,.cockpit-grid>aside{grid-template-columns:1fr}.case-ribbon{grid-template-columns:repeat(2,1fr)}.case-ribbon>div{border-bottom:1px solid var(--line-2)}.timeline-list article{grid-template-columns:82px 11px 1fr}.theatre-case{grid-template-columns:38px 1fr}.theatre-order{width:36px;height:36px}.theatre-actions{grid-column:2;flex-wrap:wrap}.theatre-meta{gap:9px 14px}.date-filter{width:100%}.date-filter input{flex:1}.cockpit-head .row{width:100%}.cockpit-head .row .btn{flex:1}.serial-form .card-h{position:static}.top-icon{display:none}}

/* ============================================================
   V19 — organized department shell, granular access, inpatient
   management, multidisciplinary boards and literature workspace
   ============================================================ */
body{transition:opacity .12s ease}body.page-leaving{opacity:.78}.side-backdrop{display:none;border:0;padding:0}.side-collapse{margin-left:auto;width:28px;height:28px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.05);color:#D7E5EA;cursor:pointer;font-size:20px}.account-link{flex:1;min-width:0;color:inherit;text-decoration:none}.side .card-user .account-link{width:auto;height:auto;display:block;border-radius:7px;padding:3px 5px}.account-link b,.account-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.side-collapsed #scr-app{grid-template-columns:76px 1fr}body.side-collapsed .side{width:76px;padding-left:10px;padding-right:10px}body.side-collapsed .side .logo>div,body.side-collapsed #nav a>span,body.side-collapsed .card-user .account-link,body.side-collapsed .card-user>a:last-child{display:none}body.side-collapsed .side .logo{justify-content:center;padding-left:0;padding-right:0;position:relative}body.side-collapsed .brand-logo{width:38px;min-width:38px}body.side-collapsed .side-collapse{display:grid;place-items:center;position:absolute;right:-2px;bottom:8px;width:22px;height:22px;font-size:16px;background:#163D49}body.side-collapsed #nav a{justify-content:center;padding:11px}body.side-collapsed #nav a svg{margin:0}body.side-collapsed .card-user{justify-content:center}body.side-collapsed .app-footer{left:76px}
#app-splash{position:fixed;inset:0;z-index:1000;background:#071D27;color:#fff;display:grid;place-content:center;justify-items:center;text-align:center;transition:opacity .32s,visibility .32s}#app-splash.done{opacity:0;visibility:hidden}.splash-mark{width:84px;height:84px;border-radius:23px;background:#fff;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.28);animation:splashPulse 1.05s ease-in-out infinite alternate}.splash-mark img{width:100%;height:100%}#app-splash>b{font-size:23px;margin-top:18px}#app-splash>span{font-size:12px;color:#9FC0C9;margin-top:5px}#app-splash>i{display:block;width:160px;height:3px;border-radius:4px;background:#1A3D49;margin-top:24px;overflow:hidden}#app-splash>i:after{content:"";display:block;width:45%;height:100%;background:#33C5A9;animation:splashLoad .8s ease-in-out infinite alternate}@keyframes splashPulse{to{transform:translateY(-3px)}}@keyframes splashLoad{to{transform:translateX(122%)}}
.launch-screen{min-height:100vh;background:#071D27;color:#fff;display:grid;place-items:center}.launch-screen main{text-align:center;padding:30px}.launch-logo{width:96px;height:96px;margin:auto;border-radius:27px;background:#fff;padding:12px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.launch-logo img{width:100%}.launch-screen h1{font-size:27px;margin-top:19px}.launch-screen p{color:#A7C3CA;margin:5px 0 22px}.launch-screen small{display:block;color:#7898A2;margin-top:12px}.launch-progress{width:210px;height:4px;margin:auto;border-radius:6px;overflow:hidden;background:#1A3D49}.launch-progress i{display:block;height:100%;width:45%;background:#33C5A9;animation:splashLoad .8s ease-in-out infinite alternate}

.account-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}.account-grid main,.account-grid aside{display:grid;gap:16px}.account-grid .card{margin:0}.account-role{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.account-role span{font-size:11px;color:var(--muted)}.account-role b{grid-row:2;font-size:16px}.access-group{margin-top:16px}.access-group h4{font:700 9px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.access-line{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line-2)}.access-line>span{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;font-size:11px}.access-line.enabled>span{background:var(--brand-l);color:var(--brand-d);font-weight:800}.access-line.disabled{opacity:.55}.access-line.disabled>span{background:var(--sunk);color:var(--muted)}.access-line b,.access-line small{display:block}.access-line b{font-size:11.5px}.access-line small{font-size:9.5px;color:var(--muted);margin-top:2px}
.people-list{display:grid;gap:14px}.person-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden}.person-card>header{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line-2)}.person-card .avatar{width:38px;height:38px;border-radius:11px;background:var(--sidebar);color:#fff;display:grid;place-items:center;font-weight:700}.person-card h2{font-size:15px}.person-card header p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.person-meta{display:flex;gap:22px;padding:10px 16px;background:var(--sunk-2);font-size:10.5px;color:var(--muted)}.person-meta b{color:var(--ink)}.person-controls{display:flex;gap:7px;flex-wrap:wrap;padding:12px 16px}.person-controls select{width:170px;padding:7px 30px 7px 9px}.permission-panel{border-top:1px solid var(--line)}.permission-panel>summary{cursor:pointer;display:flex;justify-content:space-between;padding:13px 16px;font-size:12px;color:var(--brand-d);font-weight:700}.permission-panel>form{padding:0 16px 16px}.permission-panel fieldset{border:0;padding:0;margin:15px 0}.permission-panel legend{font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.permission-check{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;cursor:pointer}.permission-check:has(input:checked){border-color:var(--brand-r);background:var(--brand-l)}.permission-check input{width:auto;margin-top:2px;accent-color:var(--brand)}.permission-check b,.permission-check small{display:block}.permission-check b{font-size:11px}.permission-check small{font-size:9px;color:var(--muted);margin-top:2px}

.icu-kpis>a{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;box-shadow:var(--sh-2);text-decoration:none;color:var(--ink)}.icu-kpis>a:hover{border-color:var(--brand-r)}.inpatient-list{display:grid;gap:12px}.inpatient-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:78px}.inpatient-card.flagged{border-left-color:var(--red)}.inpatient-card>header{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#F9FBFC;border-bottom:1px solid var(--line)}.location-badge{width:73px;min-width:73px;height:54px;border-radius:10px;display:grid;place-content:center;text-align:center;background:#EAF3F6;color:#244B58}.location-badge.icu{background:#FDE8E8;color:#A83939}.location-badge.hdu{background:#FFF3D7;color:#8D5E08}.location-badge b{font:800 13px 'IBM Plex Mono',monospace}.location-badge span{font-size:8.5px;margin-top:2px}.patient-title h2{font-size:17px}.patient-title p{margin:3px 0 0;font-size:11px;color:var(--muted)}.inpatient-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.inpatient-summary>div{background:#fff;padding:13px 15px}.inpatient-summary span,.agenda-context span,.board-decision>span{font:700 8.5px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.inpatient-summary p{font-size:11.5px;line-height:1.5;margin:5px 0 0}.inpatient-observations{display:flex;gap:7px;flex-wrap:wrap;padding:10px 15px;background:var(--sunk-2)}.inpatient-observations span{padding:5px 8px;border:1px solid var(--line);border-radius:16px;background:#fff;font-size:9.5px;color:var(--ink-2)}.inpatient-card>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 15px;border-top:1px solid var(--line-2)}.inpatient-review{padding:15px;background:#F7FAFB;border-top:1px dashed var(--line)}.inpatient-review textarea{min-height:68px}.review-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.review-head h3{font-size:14px}.review-head span{font-size:10px;color:var(--muted)}.stay-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 15px 15px;background:#F7FAFB}.stay-actions details{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px}.stay-actions summary{cursor:pointer;font-size:11px;font-weight:700;color:var(--brand-d)}.stay-actions form{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.stay-actions textarea{grid-column:1/-1;min-height:55px}

.board-streams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.board-stream{border:1px solid var(--line);border-top:4px solid #A7BAC1;border-radius:var(--r);background:#fff;padding:13px;box-shadow:var(--sh-2)}.board-stream.primary{border-top-color:var(--brand);background:#F3FAF8}.board-stream>span{font:700 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.board-stream b,.board-stream small{display:block}.board-stream b{font-size:13px;margin-top:4px}.board-stream small{font-size:9.5px;color:var(--muted);margin-top:5px;line-height:1.4}.mdt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.mdt-kpis>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}.mdt-kpis span{display:block;font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.mdt-kpis b{display:block;font-size:24px;margin-top:3px}.mdt-kpis .attention{background:#FFF8E8;border-color:#EED79F}.mdt-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.meeting-list{padding:7px}.meeting-list>a{display:grid;grid-template-columns:46px 1fr auto;gap:9px;align-items:center;padding:10px;border-radius:9px;text-decoration:none;color:var(--ink)}.meeting-list>a:hover,.meeting-list>a.on{background:var(--brand-l)}.meeting-list time{text-align:center;font:700 11px 'IBM Plex Mono',monospace;color:var(--brand-d)}.meeting-list time small{display:block;font-size:8px}.meeting-list b,.meeting-list span{display:block}.meeting-list b{font-size:11.5px}.meeting-list span{font-size:9px;color:var(--muted);margin-top:2px}.mdt-layout main{display:grid;gap:13px}.meeting-head{display:flex;align-items:center;gap:12px;padding:16px}.meeting-head>div>span{font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--brand)}.meeting-head h2{font-size:20px}.meeting-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.member-chips{display:flex;gap:8px;flex-wrap:wrap;padding:12px 15px}.member-chips>span{border:1px solid var(--line);border-radius:20px;background:#fff;padding:7px 10px}.member-chips>span.present{border-color:var(--brand-r);background:var(--brand-l)}.member-chips b,.member-chips small{display:block}.member-chips b{font-size:10.5px}.member-chips small{font-size:8.5px;color:var(--muted)}.inline-add{border-top:1px dashed var(--line);padding:10px 15px}.inline-add summary{cursor:pointer;font-size:11px;font-weight:700;color:var(--brand-d)}.inline-add form{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}.add-agenda>summary{display:flex;gap:10px;align-items:center;cursor:pointer;padding:13px 16px}.agenda-list{display:grid;gap:12px}.agenda-case{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:80px}.agenda-case>header{display:flex;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line)}.agenda-no{width:36px;height:36px;border-radius:10px;background:var(--sidebar);color:#fff;display:grid;place-items:center;font:700 11px 'IBM Plex Mono',monospace}.agenda-case h2{font-size:16px}.agenda-case header p{font-size:10.5px;color:var(--muted);margin:3px 0 0}.agenda-context{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.agenda-context>div{background:#fff;padding:12px}.agenda-context .question{grid-column:1/-1;background:#F3FAF8}.agenda-context p{font-size:11px;line-height:1.5;margin:5px 0 0}.board-decision{margin:12px 14px;padding:12px 14px;border-left:4px solid var(--brand);background:var(--brand-l);border-radius:8px}.board-decision blockquote{margin:5px 0 7px;font-size:12px}.board-decision small{font-size:9.5px;color:var(--muted)}.agenda-case>footer{display:flex;justify-content:flex-end;gap:7px;padding:10px 14px;border-top:1px solid var(--line-2)}.decision-form{padding:14px;background:#F7FAFB;border-top:1px dashed var(--line)}

.literature-patient{background:#0C2934;color:#fff;border-radius:var(--r);padding:14px 17px;margin-bottom:13px}.literature-patient span{font:700 8.5px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#83B8C4}.literature-patient h2{font-size:18px;margin-top:3px}.literature-patient p{margin:2px 0 0;color:#BCD2D8;font-size:11px}.literature-search{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:9px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:13px;margin-bottom:14px}.literature-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;align-items:start}.literature-layout aside{display:grid;gap:12px}.literature-cases{max-height:540px;overflow:auto;padding:6px}.literature-cases a{display:block;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}.literature-cases a:hover{background:var(--brand-l)}.literature-cases b,.literature-cases span{display:block}.literature-cases b{font-size:11px}.literature-cases span{font-size:9px;color:var(--muted);margin-top:2px}.article-list{padding:7px}.article-list article{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:13px 10px;border-bottom:1px solid var(--line-2)}.article-index{width:32px;height:32px;border-radius:9px;background:var(--brand-l);color:var(--brand-d);display:grid;place-items:center;font:700 9px 'IBM Plex Mono',monospace}.article-list h2{font-size:14px;line-height:1.35}.article-list h2 a{color:var(--ink);text-decoration:none}.article-list h2 a:hover{color:var(--brand);text-decoration:underline}.article-list p{font-size:10.5px;margin:4px 0;color:var(--ink-2)}.article-list small{font-size:9.5px;color:var(--muted)}.source-note{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--sunk-2);font-size:10px;color:var(--muted)}
.viewer-patient{display:flex;align-items:center;gap:12px;background:#0C2934;color:#fff;border-radius:10px;padding:10px 13px;margin-bottom:10px}.viewer-patient span{font:700 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#83B8C4}.viewer-patient b{font-size:13px}.viewer-patient small{color:#BCD2D8}.viewer-help p{font-size:10px;line-height:1.5;color:var(--muted);margin:5px 0}.key-finding{border-left:3px solid var(--red);background:var(--red-l);padding:8px 9px;margin-top:7px}.key-finding span{font:700 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--red)}.key-finding p{font-size:11px;margin:3px 0}.imaging-study-actions form label{margin-top:6px}.imaging-study-actions form textarea{width:100%}

@media(max-width:1180px){.permission-grid{grid-template-columns:repeat(2,1fr)}.account-grid{grid-template-columns:1fr}.account-grid aside{max-width:none}.mdt-layout{grid-template-columns:270px minmax(0,1fr)}.inpatient-summary{grid-template-columns:1fr 1fr}.inpatient-summary>div:last-child{grid-column:1/-1}.inline-add form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){body.side-collapsed #scr-app{grid-template-columns:1fr}body.side-collapsed .side{width:254px;padding:20px 14px}body.side-collapsed .side .logo>div,body.side-collapsed #nav a>span,body.side-collapsed .card-user .account-link,body.side-collapsed .card-user>a:last-child{display:block}body.side-collapsed #nav a{justify-content:flex-start;padding:9px 10px 9px 22px}body.side-collapsed .side .logo{justify-content:flex-start}.side-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(4,18,25,.45);opacity:0;visibility:hidden;transition:.2s}body.side-open .side-backdrop{opacity:1;visibility:visible}.side-collapse,body.side-collapsed .side-collapse{display:none}.mdt-layout,.literature-layout{grid-template-columns:1fr}.meeting-list{display:grid;grid-template-columns:repeat(2,1fr)}.board-streams{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.permission-grid,.board-streams,.mdt-kpis,.inpatient-summary,.stay-actions{grid-template-columns:1fr}.person-card>header{align-items:flex-start;flex-wrap:wrap}.person-meta{flex-wrap:wrap;gap:8px 14px}.literature-search{grid-template-columns:1fr}.meeting-list{grid-template-columns:1fr}.meeting-head{align-items:flex-start;flex-wrap:wrap}.agenda-context{grid-template-columns:1fr}.agenda-context .question{grid-column:auto}.inpatient-card>header{align-items:flex-start;flex-wrap:wrap}.location-badge{width:65px;min-width:65px}.patient-title{max-width:calc(100% - 82px)}.gcs-box{margin-left:auto}.inpatient-card>footer{align-items:flex-start;flex-direction:column}.inpatient-review .grid.four{grid-template-columns:1fr 1fr}.stay-actions form{grid-template-columns:1fr}.inline-add form{grid-template-columns:1fr}.agenda-case>footer{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:520px){.permission-grid,.inpatient-review .grid.four{grid-template-columns:1fr}.person-controls>*{width:100%!important}.board-streams{grid-template-columns:1fr}.icu-kpis{grid-template-columns:1fr 1fr}.inpatient-observations{display:grid}.agenda-case>header{align-items:flex-start;flex-wrap:wrap}.review-head{align-items:flex-start;flex-direction:column;gap:3px}}

/* ============================================================
   V21 — friendly clinical cockpit, readable motion and diagnosis companion
   ============================================================ */
html{scroll-behavior:smooth}
body{font-size:14.5px;line-height:1.62}
.topbar{min-height:67px;gap:10px}.topbar .search{max-width:610px}.topbar .search input{height:42px;border-radius:13px;padding-left:38px}.topbar .search svg{left:13px;top:13px;width:16px;height:16px}
.top-profile{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 6px;border:1px solid #D7E3E6;border-radius:13px;background:rgba(255,255,255,.88);color:var(--ink);text-decoration:none;transition:transform .16s,border-color .16s,background .16s}.top-profile:hover{transform:translateY(-1px);border-color:var(--brand-r);background:#fff}.top-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#0B6D65,#16A18C);color:#fff;font:800 10px 'IBM Plex Mono',monospace;box-shadow:0 8px 18px -12px rgba(8,120,109,.9)}.top-profile>span:last-child{min-width:0}.top-profile b,.top-profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.top-profile b{font-size:11.5px;line-height:1.25}.top-profile small{font-size:9px;color:var(--muted);margin-top:2px}
#nav a svg{width:18px;height:18px}#nav a{letter-spacing:.002em}.card-h>div>p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.clinician-hero{min-height:355px;background:linear-gradient(125deg,#061D28 0%,#0B3341 53%,#09544E 100%)}.clinician-hero:after{content:"";position:absolute;width:420px;height:420px;right:-145px;bottom:-275px;border-radius:50%;border:1px solid rgba(117,231,209,.16);box-shadow:0 0 0 52px rgba(117,231,209,.025),0 0 0 104px rgba(117,231,209,.018);pointer-events:none}.animated-headline{display:grid;gap:3px}.animated-headline>span,.animated-headline>strong{display:block}.animated-headline>strong{font:inherit;font-weight:650;color:#72E0CA}.reveal-on-load{animation:clinicalRise .58s cubic-bezier(.2,.75,.28,1) both}.clinician-metrics.reveal-on-load{animation-delay:.08s}.workstation-notice.reveal-on-load{animation-delay:.14s}@keyframes clinicalRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.animated-headline>span{animation:headlineIn .6s .08s both}.animated-headline>strong{animation:headlineIn .65s .2s both}@keyframes headlineIn{from{opacity:0;transform:translateY(12px);letter-spacing:.01em}to{opacity:1;transform:none;letter-spacing:-.035em}}
.clinician-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.clinician-metrics>a{position:relative;overflow:hidden}.clinician-metrics>a:after{content:"";position:absolute;inset:auto -24px -38px auto;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--brand) 6%,transparent)}.clinician-metrics>a.metric-attention{border-color:#E9C98E;background:linear-gradient(145deg,#fff,#FFF9EE)}.clinician-metrics>a.metric-attention:before{content:"Review";position:absolute;top:9px;right:10px;border-radius:20px;padding:3px 7px;background:#FFF0D4;color:#9B610D;font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.workstation-tools>a{isolation:isolate}.workstation-tools>a:after{content:"";position:absolute;right:-34px;bottom:-45px;width:112px;height:112px;border-radius:50%;background:color-mix(in srgb,var(--tile,#08786D) 7%,white);z-index:-1;transition:transform .2s}.workstation-tools>a:hover:after{transform:scale(1.15)}
.friendly-empty{display:flex;align-items:center;justify-content:center;gap:13px;min-height:120px;padding:24px;color:var(--muted);text-align:left}.friendly-empty>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:14px;background:var(--brand-l);color:var(--brand-d);font-size:18px;font-weight:800}.friendly-empty b,.friendly-empty p{display:block}.friendly-empty b{font-size:13px;color:var(--ink)}.friendly-empty p{font-size:11px;margin:3px 0 0;line-height:1.5}.active-clinical-card{margin-top:16px}.active-clinical-card td{padding-top:14px;padding-bottom:14px}.diagnosis-inline-link{display:block;max-width:330px;color:var(--ink);text-decoration:none;font-weight:700;line-height:1.35}.diagnosis-inline-link:hover{color:var(--brand)}.diagnosis-inline-link span{display:block;margin-top:4px;color:var(--brand);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.mini-progress{position:relative;display:block;width:82px;height:25px;overflow:hidden;border-radius:8px;background:#EEF3F4;text-align:center}.mini-progress i{position:absolute;inset:0 auto 0 0;background:#DFF3EF}.mini-progress b{position:relative;z-index:1;font:800 10px 'IBM Plex Mono',monospace;line-height:25px;color:var(--brand-d)}
.attention-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:7px;padding:11px 13px;background:#FFF9EF;border-bottom:1px solid #F0DFC0}.attention-chips a{display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;padding:7px 8px;border:1px solid #EEDAB5;border-radius:10px;background:rgba(255,255,255,.82);color:var(--ink);text-decoration:none}.attention-chips a:hover{border-color:#D8B66D;background:#fff}.attention-chips b{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#FFF0D2;color:#9A610C;font:800 10px 'IBM Plex Mono',monospace}.attention-chips span{font-size:9.5px;line-height:1.25;color:var(--ink-2)}
.motion-ready .reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.75,.28,1)}.motion-ready .reveal-on-scroll.is-visible{opacity:1;transform:none}

.diagnosis-companion{position:relative;overflow:hidden;border-color:#CBE1DD;background:linear-gradient(145deg,#FFFFFF 0%,#F7FCFB 58%,#EFF8F6 100%);box-shadow:0 24px 58px -42px rgba(5,69,65,.56)}.diagnosis-companion:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-155px;top:-205px;background:radial-gradient(circle,rgba(75,201,178,.16),transparent 67%);pointer-events:none}.diagnosis-head{position:relative;z-index:1;background:rgba(255,255,255,.78);backdrop-filter:blur(8px)}.diagnosis-head>div p{margin:3px 0 0;color:var(--muted);font-size:11px}.diagnosis-lead{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start;padding:3px 2px 18px}.diagnosis-symbol{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#0B756B,#14A38E);color:#fff;font-size:28px;box-shadow:0 16px 30px -20px rgba(5,91,82,.8)}.diagnosis-lead h2{font-size:24px;letter-spacing:-.025em;margin:3px 0 7px}.diagnosis-lead p{max-width:95ch;font-size:14px;line-height:1.65;color:var(--ink-2);margin:0}.diagnosis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.diagnosis-grid article{border:1px solid #D8E7E5;border-radius:14px;background:rgba(255,255,255,.84);padding:14px 15px;box-shadow:0 13px 25px -24px rgba(6,55,57,.55)}.diagnosis-grid article:nth-child(2){border-color:#EBCFCB;background:rgba(255,249,248,.9)}.diagnosis-grid header{display:flex;align-items:center;gap:9px}.diagnosis-grid header span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--brand-l);color:var(--brand-d);font-weight:900}.diagnosis-grid article:nth-child(2) header span{background:#FCEAE8;color:#B54242}.diagnosis-grid h3{font-size:13px}.diagnosis-grid ul{padding:0;margin:12px 0 0;list-style:none}.diagnosis-grid li{position:relative;padding:7px 0 7px 17px;border-top:1px solid var(--line-2);font-size:11.5px;line-height:1.5;color:var(--ink-2)}.diagnosis-grid li:first-child{border-top:0;padding-top:0}.diagnosis-grid li:before{content:"";position:absolute;left:1px;top:13px;width:6px;height:6px;border-radius:50%;background:#62B8A8}.diagnosis-grid li:first-child:before{top:6px}.diagnosis-source{display:flex;gap:18px;align-items:center;margin-top:12px;padding:13px 14px;border:1px dashed #BFD9D4;border-radius:13px;background:rgba(234,247,244,.72)}.diagnosis-source>div:first-child{flex:1}.diagnosis-source b,.diagnosis-source p{display:block}.diagnosis-source b{font-size:11px;color:var(--brand-d)}.diagnosis-source p{font-size:10.5px;line-height:1.5;color:var(--muted);margin:3px 0 0}.diagnosis-links{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.diagnosis-links .btn{white-space:nowrap}

.cockpit-head{padding:3px 1px}.cockpit-head h1{font-size:34px!important}.case-ribbon{border-radius:16px}.case-ribbon>div{padding:15px 16px}.case-ribbon b{font-size:13px}.snapshot-grid p{font-size:13px;line-height:1.65}.work-row{min-height:68px}.work-row b{font-size:13.5px}.work-row small{font-size:11.3px;line-height:1.45}.action-pills a{min-height:36px;display:inline-flex;align-items:center}

@media(max-width:1180px){.clinician-metrics{grid-template-columns:repeat(2,1fr)}.diagnosis-grid{grid-template-columns:1fr 1fr}.diagnosis-grid article:last-child{grid-column:1/-1}}
@media(max-width:900px){.top-profile>span:last-child{display:none}.top-profile{padding:5px}.diagnosis-source{align-items:flex-start;flex-direction:column}.diagnosis-links{justify-content:flex-start}.cockpit-head h1{font-size:29px!important}}
@media(max-width:760px){.clinician-hero{min-height:auto}.clinician-metrics{grid-template-columns:1fr 1fr}.diagnosis-grid{grid-template-columns:1fr}.diagnosis-grid article:last-child{grid-column:auto}.diagnosis-lead{grid-template-columns:46px 1fr;gap:12px}.diagnosis-symbol{width:45px;height:45px;border-radius:14px;font-size:22px}.diagnosis-lead h2{font-size:20px}.diagnosis-links{display:grid;width:100%}.diagnosis-links .btn{width:100%;white-space:normal}.active-clinical-card .card-h{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:520px){.clinician-metrics{grid-template-columns:1fr}.animated-headline{gap:6px}.diagnosis-lead{grid-template-columns:1fr}.diagnosis-companion .card-b{padding:13px}.diagnosis-grid article{padding:12px}.topbar .top-profile{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-on-load,.animated-headline>span,.animated-headline>strong{animation:none!important}.motion-ready .reveal-on-scroll{opacity:1;transform:none;transition:none}.workstation-tools>a,.workstation-metrics>a,.top-profile{transition:none}}

/* ============================================================
   V22 — friendly work states, readable exports and learning
   ============================================================ */
.nav-group-label{padding:15px 11px 5px;color:#70909A;font:700 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.nav-group-label:first-child{padding-top:6px}
body.side-collapsed .nav-group-label{height:1px;padding:0;margin:9px 8px;background:rgba(255,255,255,.1);font-size:0}
.top-icon{position:relative}.top-badge{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#D97706;color:#fff;border:2px solid #F7FBFC;font:800 9px 'IBM Plex Mono',monospace}
.draft-notice{border-left-color:#D99326!important;background:#FFF9EE!important}.save-confidence{font:700 10px 'IBM Plex Mono',monospace;color:#2E7B67;background:#EAF7F2;border:1px solid #C7E6DA;padding:5px 9px;border-radius:999px}
.friendly-empty-page{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:280px;padding:48px;border:1px dashed #C6D8DD;border-radius:20px;background:linear-gradient(145deg,#FFF,#F4FAF9)}.friendly-empty-page>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#E7F6F2;color:#08786D;font-size:28px;margin-bottom:15px}.friendly-empty-page h2{font-size:22px}.friendly-empty-page p{max-width:52ch;color:var(--muted);margin:8px auto 18px}
.draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.draft-card{margin:0}.draft-card .card-h h3{font-size:17px}.draft-card .card-h p{margin:2px 0 0;color:var(--muted);font-size:11px}.draft-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.draft-meta div{padding:12px;border-radius:12px;background:#F4F8F9;border:1px solid #E2ECEE}.draft-meta span{display:block;color:var(--muted);font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.draft-meta b{display:block;margin-top:4px;font-size:13px}
.danger-pop,.permanent-delete{position:relative}.danger-pop>summary,.permanent-delete>summary{list-style:none}.danger-pop>summary::-webkit-details-marker,.permanent-delete>summary::-webkit-details-marker{display:none}.danger-pop[open]>form,.permanent-delete[open]>form{margin-top:10px;display:grid;gap:10px;min-width:320px;padding:16px;border:1px solid #EDCACA;background:#FFF8F7;border-radius:14px;box-shadow:0 22px 50px -22px rgba(92,20,20,.35)}
.deletion-policy{display:flex;gap:15px;align-items:center;padding:15px 18px;margin:0 0 18px;border-radius:16px;background:linear-gradient(135deg,#F1F8F7,#FFF);border:1px solid #CFE4E1}.deletion-policy>span{flex:none;padding:7px 10px;border-radius:999px;background:#DFF3ED;color:#166A5B;font:800 10px 'IBM Plex Mono',monospace;text-transform:uppercase}.deletion-policy b{display:block}.deletion-policy p{margin:2px 0 0;color:var(--muted)}.permanent-delete[open]{width:100%}.permanent-delete[open]>form{max-width:620px}.danger-callout{padding:12px 14px;border-left:4px solid #B13E3E;background:#FFF0EF}.danger-callout p{margin:3px 0 0;color:#7A3333}
.export-case-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0B3441,#0B695F);box-shadow:0 22px 44px -30px #052B32}.export-case-banner>span{width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.14);display:grid;place-items:center;font:800 14px 'IBM Plex Mono',monospace}.export-case-banner b{font-size:17px}.export-case-banner p{margin:3px 0 0;color:#CBE6E3}.export-note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.export-note-card{margin:0;position:relative}.export-note-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#22A58E,#1F6FB2)}.export-note-card .card-b{padding:23px}.export-note-card h2{font-size:20px;margin:9px 0 7px}.export-note-card p{color:var(--muted);min-height:48px;margin:0 0 18px}.note-kind{font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:#08786D}
.reference-hero{display:grid;grid-template-columns:1fr 280px;gap:36px;align-items:center;padding:34px 38px;margin-bottom:24px;border-radius:24px;color:#fff;background:radial-gradient(circle at 85% 30%,rgba(82,230,199,.2),transparent 28%),linear-gradient(135deg,#092E3A,#0B5A54);box-shadow:0 26px 54px -34px #052B32}.reference-hero h1{font-size:clamp(30px,4vw,46px);margin:4px 0 10px}.reference-hero p{max-width:68ch;color:#CFE4E4;font-size:15px}.reference-hero aside{padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.reference-hero aside b{display:block;font-size:42px}.reference-hero aside span{display:block;font-weight:750}.reference-hero aside small{display:block;margin-top:10px;color:#BBD7D6;line-height:1.55}
.reference-controls{display:flex;align-items:center;gap:12px;margin-bottom:18px}.reference-controls form{display:flex;gap:9px;flex:1}.reference-controls input{flex:1}.reference-controls select{max-width:240px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reference-card{margin:0;padding:21px;display:flex;flex-direction:column;min-height:310px;border:1px solid #D8E6E9;border-radius:18px;box-shadow:0 12px 30px rgba(12,49,60,.07);background:linear-gradient(160deg,#FFF 65%,#F0F8F6)}.reference-card header{display:flex;justify-content:space-between;gap:8px;align-items:center}.reference-card h2{font-size:20px;margin:16px 0 4px;line-height:1.25}.reference-card>p{color:var(--ink-2)}.reference-authors{color:var(--muted)!important;margin:0 0 10px}.reference-meta{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 14px}.reference-meta span{font:700 10px 'IBM Plex Mono',monospace;padding:4px 7px;border-radius:7px;background:#EDF3F5;color:#45616A}.reference-card footer{margin-top:auto;padding-top:16px}.reference-type,.core-source{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;background:#EAF3F7;color:#235E7E}.reference-type.guideline{background:#E8F5EF;color:#24705B}.reference-type.local_protocol{background:#FFF3DF;color:#93601C}.reference-type.journal{background:#F0ECFA;color:#66518A}.core-source{background:#0D6259;color:#fff}.reference-boundary{margin-top:20px}
.admin-editor-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;align-items:start}.reference-admin-list{max-height:760px;overflow:auto}.reference-admin-list>a{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.reference-admin-list>a:hover,.reference-admin-list>a.on{background:#F0F8F6}.reference-admin-list>a>div{min-width:0;flex:1}.reference-admin-list b,.reference-admin-list small{display:block}.reference-admin-list small{color:var(--muted);margin-top:2px}.reference-admin-list em{font-style:normal;color:#08786D;font-weight:700}
.quiz-hero{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:32px;padding:38px 42px;margin-bottom:25px;border-radius:26px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(245,190,79,.25),transparent 32%),radial-gradient(circle at 70% 100%,rgba(69,209,183,.22),transparent 28%),linear-gradient(135deg,#0A2637,#0E4852 62%,#0C6B61);box-shadow:0 28px 58px -34px #032B35}.quiz-kicker{font:800 10px 'IBM Plex Mono',monospace;letter-spacing:.07em;color:#BFE0DF}.quiz-kicker span{display:inline-block;margin-right:8px;padding:5px 8px;border-radius:999px;background:#E8AA3C;color:#1B2930}.quiz-hero h1{font-size:clamp(34px,5vw,54px);margin:11px 0 10px}.quiz-hero p{font-size:16px;color:#D1E6E6;max-width:66ch}.quiz-hero aside{text-align:center}.quiz-orbit{width:150px;height:150px;margin:auto;border-radius:50%;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 13px rgba(255,255,255,.05),0 0 0 9px rgba(84,225,196,.08);animation:quizFloat 5s ease-in-out infinite}.quiz-orbit b{font-size:50px;line-height:1}.quiz-orbit span{font-weight:750;color:#BFE1DE}.quiz-hero aside small{display:block;margin-top:18px;color:#BFD7D8}.quiz-section-head{display:flex;align-items:flex-end;gap:12px;margin:4px 0 16px}.quiz-section-head>div>span{font:800 10px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#08786D;letter-spacing:.08em}.quiz-section-head h2{font-size:25px;margin-top:3px}.quiz-section-head>.btn{margin-left:auto}.competition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.competition-card{margin:0;border:1px solid #D8E6E9;border-radius:22px;background:#fff;box-shadow:0 16px 36px rgba(12,49,60,.08);overflow:hidden}.competition-card>header{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;background:#F5F9FA;border-bottom:1px solid #DDE8EA;color:var(--muted);font:700 10px 'IBM Plex Mono',monospace;text-transform:uppercase}.competition-status{display:flex;align-items:center;gap:6px}.competition-status i{width:7px;height:7px;border-radius:50%;background:#D49A33}.competition-status.ok i{background:#29A082;box-shadow:0 0 0 5px rgba(41,160,130,.12)}.competition-status.info i{background:#7E90A2}.competition-body{padding:24px}.competition-number{font:800 9px 'IBM Plex Mono',monospace;color:#078476;letter-spacing:.1em}.competition-body h2{font-size:24px;margin:8px 0}.competition-body>p{color:var(--muted);min-height:46px}.competition-facts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.competition-facts span{padding:8px 10px;border-radius:10px;background:#F0F6F7;color:#4F6870;font-size:11px}.competition-facts b{color:#0C5F58}.competition-card>footer{padding:17px 22px;background:#0E313C;color:#fff}.competition-card>footer>p{color:#AFC9CE;margin:6px 0}.competition-card ol{list-style:none;padding:8px 0 0;margin:0;display:grid;gap:8px}.competition-card li{display:flex;align-items:center;gap:10px}.competition-card li>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#1A4A55;color:#AEE2D9;font:800 9px 'IBM Plex Mono',monospace}.competition-card li div{flex:1}.competition-card li b,.competition-card li small{display:block}.competition-card li small{color:#9EBCC2}.quiz-boundary{grid-column:1/-1;margin-top:20px}@keyframes quizFloat{50%{transform:translateY(-7px)}}
.quiz-admin-toolbar{display:flex;gap:10px;margin-bottom:16px}.quiz-admin-toolbar details{position:relative}.quiz-admin-toolbar summary{list-style:none}.admin-popover{position:absolute;z-index:20;top:46px;left:0;width:min(500px,90vw);display:grid;gap:10px;padding:18px;border:1px solid #D5E4E6;border-radius:16px;background:#fff;box-shadow:0 30px 60px -30px #0B313A}.quiz-admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.quiz-admin-layout main{min-width:0}.competition-list{position:sticky;top:80px}.competition-list>a{display:flex;align-items:center;gap:10px;padding:14px 15px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.competition-list>a.on,.competition-list>a:hover{background:#EFF8F6}.competition-list>a div{min-width:0;flex:1}.competition-list>a b,.competition-list>a small{display:block}.competition-list>a small{color:var(--muted);margin-top:3px}.question-admin-list>a{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.question-admin-list>a:hover{background:#F2F8F8}.question-admin-list>a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#E9F4F2;color:#08786D;font:800 10px 'IBM Plex Mono',monospace}.question-admin-list>a>div{min-width:0;flex:1}.question-admin-list>a b,.question-admin-list>a small{display:block}.question-admin-list>a small{color:var(--muted);margin-top:3px}.quiz-question-editor textarea{min-height:95px}.review-boundary{display:flex;gap:12px;padding:13px 15px;margin-top:15px;border-radius:12px;background:#FFF6E7;border:1px solid #EED9AF;color:#78531E}.review-boundary b{flex:none}.review-boundary span{color:#7A684B}
.quiz-play-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:2px 0 22px}.quiz-play-head a{color:#08786D;text-decoration:none;font-weight:750}.quiz-play-head>div>span{display:block;margin-top:13px;color:#6A7D83;font:800 10px 'IBM Plex Mono',monospace;text-transform:uppercase}.quiz-play-head h1{font-size:34px;margin:3px 0}.quiz-play-head p{max-width:70ch;color:var(--muted)}.quiz-timer{position:sticky;top:76px;z-index:10;min-width:170px;text-align:center;padding:14px 20px;border-radius:17px;background:#0C3440;color:#fff;box-shadow:0 16px 32px -22px #061E25}.quiz-timer small,.quiz-timer span{display:block;color:#AED0D4}.quiz-timer b{display:block;font:800 29px 'IBM Plex Mono',monospace;margin:2px}.quiz-timer.urgent{background:#8B3C35;animation:pulseTimer 1.4s infinite}@keyframes pulseTimer{50%{transform:scale(1.025)}}
.quiz-paper{display:grid;gap:18px}.scenario-question{border:1px solid #D6E4E7;border-radius:21px;background:#fff;overflow:hidden;box-shadow:0 18px 40px -34px #0A3540}.scenario-question>header{display:flex;align-items:flex-start;gap:15px;padding:20px 22px;border-bottom:1px solid #E5EDEF}.scenario-question>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#E9F5F3;color:#08786D;font:800 11px 'IBM Plex Mono',monospace}.scenario-question>header>div{flex:1}.scenario-question>header small{color:#08786D;font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.scenario-question>header h2{font-size:19px;margin-top:5px}.scenario{padding:17px 22px;background:#F5F9FA}.scenario b{font:800 9px 'IBM Plex Mono',monospace;color:#527078;text-transform:uppercase}.scenario p{margin:5px 0 0;color:#304950}.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px 22px}.quiz-options label{display:flex;align-items:flex-start;gap:10px;position:relative;padding:14px;border:1px solid #DDE7E9;border-radius:13px;cursor:pointer;transition:.16s}.quiz-options label:hover{border-color:#66BDAE;background:#F1FAF8;transform:translateY(-1px)}.quiz-options input{position:absolute;opacity:0}.quiz-options label>span{flex:none;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#EDF3F4;color:#49626A;font:800 10px 'IBM Plex Mono',monospace}.quiz-options label p{margin:2px 0 0}.quiz-options label:has(input:checked),.quiz-options label.selected{border-color:#168F7D;background:#EAF8F4;box-shadow:0 0 0 2px rgba(22,143,125,.1)}.quiz-options label:has(input:checked)>span,.quiz-options label.selected>span{background:#08786D;color:#fff}.quiz-options label.correct-answer{border-color:#38A886;background:#EDF9F5}.quiz-options label em{position:absolute;right:9px;top:8px;color:#188264;font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase}.answered-wrong>header{border-left:5px solid #D79A38}.answered-correct>header{border-left:5px solid #27A37E}
.answer-explanation{padding:18px 22px;border-top:1px solid #DDE9E7;background:#F1F9F7}.answer-explanation>p{margin:6px 0 14px}.answer-explanation>div{display:grid;gap:2px;padding:12px;border-radius:11px;background:#fff;border:1px solid #D8E8E4}.answer-explanation>div span{font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#6D7D82}.answer-explanation>div small{color:var(--muted)}.answer-explanation a{color:#08786D;font-weight:750;margin-top:4px}.quiz-submit-bar{position:sticky;bottom:18px;display:flex;align-items:center;gap:18px;padding:15px 18px;border-radius:17px;background:rgba(10,43,54,.96);color:#fff;box-shadow:0 24px 50px -24px #061A20;backdrop-filter:blur(12px)}.quiz-submit-bar>div{flex:1}.quiz-submit-bar b,.quiz-submit-bar span{display:block}.quiz-submit-bar span{color:#B5CDD1}
.quiz-result{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:28px;padding:25px 30px;margin-bottom:22px;border-radius:22px;background:linear-gradient(135deg,#132F3A,#1A5158);color:#fff}.quiz-result.good{background:linear-gradient(135deg,#0A3B3B,#0B7667)}.result-ring{width:150px;height:150px;display:grid;place-items:center;align-content:center;border-radius:50%;background:conic-gradient(#57D0B9 calc(var(--score)*1%),rgba(255,255,255,.12) 0);position:relative}.result-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#143A42}.result-ring b,.result-ring span{position:relative}.result-ring b{font-size:35px}.result-ring span{color:#B8D5D7}.quiz-result>div>span{font:800 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#9DDCD0}.quiz-result h2{font-size:27px;margin:5px 0}.quiz-result p{color:#C8DDDF}
@media(max-width:1100px){.reference-grid{grid-template-columns:repeat(2,1fr)}.quiz-admin-layout{grid-template-columns:1fr}.competition-list{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.competition-list .card-h{grid-column:1/-1}.admin-editor-layout{grid-template-columns:1fr}}
@media(max-width:760px){.nav-group-label{padding-left:22px}.draft-grid,.export-note-grid,.reference-grid,.competition-grid,.quiz-options{grid-template-columns:1fr}.reference-hero,.quiz-hero{grid-template-columns:1fr;padding:27px 23px}.reference-hero aside,.quiz-hero aside{display:none}.reference-controls,.reference-controls form{align-items:stretch;flex-direction:column}.reference-controls select{max-width:none}.quiz-admin-layout,.competition-list{display:block}.quiz-play-head{display:block}.quiz-timer{position:relative;top:auto;margin-top:14px}.quiz-result{grid-template-columns:1fr;text-align:center}.result-ring{margin:auto}.quiz-result .row{justify-content:center}.scenario-question>header{padding:17px}.scenario-question>header h2{font-size:17px}.scenario,.quiz-options,.answer-explanation{padding:15px 17px}.quiz-submit-bar{bottom:8px}.draft-meta{grid-template-columns:1fr}.danger-pop[open]>form,.permanent-delete[open]>form{min-width:0}.deletion-policy{align-items:flex-start;flex-direction:column}}

/* ResidentLog V25 — ERC-first research, same-page monitoring and neurological matrix */
.research-pathway{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 18px}.research-pathway>div{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:13px}.research-pathway>div>b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:var(--sunk);color:var(--muted);font:800 12px 'IBM Plex Mono',monospace}.research-pathway strong,.research-pathway small{display:block}.research-pathway strong{font-size:13px;color:var(--ink)}.research-pathway small{font-size:10px;color:var(--muted);margin-top:2px}.research-pathway .on{border-color:#15917f;background:#eff9f7;box-shadow:inset 0 0 0 1px #15917f24}.research-pathway .on>b,.research-pathway .done>b{background:#15917f;color:#fff}.research-pathway.compact{margin-top:4px}.protocol-status,.questionnaire-status,.dataset-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line);margin-bottom:18px}.questionnaire-status,.dataset-summary{grid-template-columns:2fr repeat(3,1fr)}.protocol-status>div,.questionnaire-status>div,.dataset-summary>div{background:var(--surface);padding:14px 16px;min-width:0}.protocol-status span,.questionnaire-status span,.dataset-summary span{display:block;color:var(--muted);font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.protocol-status b,.questionnaire-status b,.dataset-summary b{display:block;margin-top:5px;color:var(--ink)}.protocol-status .bar{height:5px;margin-top:9px}.protocol-group textarea{min-height:108px}.protocol-group .full textarea{min-height:128px}.protocol-savebar{position:sticky;bottom:10px;z-index:8;display:flex;align-items:center;gap:16px;margin:18px 0;padding:13px 15px;border:1px solid #87bab3;border-radius:13px;background:#f5fbfaf2;box-shadow:0 8px 25px #183d4724;backdrop-filter:blur(8px)}.protocol-savebar span{flex:1;color:var(--muted)}.protocol-savebar b{color:#08786d}.governance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.governance-grid>div{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--sunk);padding:14px;min-height:145px}.governance-grid span{font:800 9px 'IBM Plex Mono',monospace;color:#08786d;text-transform:uppercase;letter-spacing:.08em}.governance-grid b{margin-top:8px}.governance-grid small{display:block;color:var(--muted);margin:4px 0 14px}.governance-grid .btn{margin-top:auto}.research-delete{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.research-delete>summary{list-style:none;width:max-content}.research-delete>form{max-width:620px;margin-top:12px;padding:14px;border-radius:12px;background:#fff3ef}.questionnaire-actions{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:13px 15px;margin-bottom:16px}.questionnaire-actions b,.questionnaire-actions span{display:block}.questionnaire-actions span{font-size:12px;color:var(--muted)}.question-section-row td{background:#e8f3f2!important;color:#0d4652;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.crf-builder-grid.simple{grid-template-columns:1.1fr .9fr}.questionnaire-section-title{grid-column:1/-1;margin:20px -2px 10px;padding:9px 12px;border-left:4px solid #15917f;background:#eef7f6;color:#0d4652;font-size:14px}.research-mode a.locked{opacity:.5;pointer-events:none}.research-data-wrap{overflow:auto;max-width:100%;scrollbar-color:#8eb8b2 #eef3f4}.research-data-table,.lab-matrix{border-collapse:separate;border-spacing:0;min-width:max(100%,920px);font-size:12px}.research-data-table th,.research-data-table td,.lab-matrix th,.lab-matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;vertical-align:top;background:var(--surface)}.research-data-table thead th,.lab-matrix thead th{position:sticky;top:0;z-index:3;background:#0d4652;color:#fff;white-space:nowrap}.research-data-table .sticky-col,.lab-matrix .sticky-col{position:sticky;left:0;z-index:2;min-width:170px;box-shadow:5px 0 10px #15353f0a}.research-data-table thead .sticky-col,.lab-matrix thead .sticky-col{z-index:5;background:#0d4652}.research-data-table tbody .sticky-col,.lab-matrix tbody .sticky-col{background:#f7fafb}.research-data-table small,.research-data-table td>small,.lab-matrix small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.research-data-table .data-group{background:#176b73}.research-data-table .data-value{min-width:140px;max-width:260px}.research-data-table .data-value.missing{color:#a1afb4;text-align:center}.data-actions{display:flex;gap:6px;min-width:130px}.data-actions details>summary{list-style:none}.data-actions details form{position:absolute;z-index:5;width:230px;background:#fff3ef;border:1px solid #e2a58f;border-radius:10px;padding:10px;box-shadow:0 8px 28px #213d4724}.lab-comparison-card{overflow:hidden}.lab-comparison-card>.card-h{align-items:center}.lab-trend-legend{display:flex;gap:8px;flex-wrap:wrap}.lab-trend-legend span{border-radius:999px;padding:4px 8px;background:var(--sunk);font-size:10px;font-weight:700}.lab-trend-legend .up{color:#176b73}.lab-trend-legend .down{color:#8a5d16}.lab-trend-legend .abnormal{color:#aa492c}.lab-matrix th:not(.sticky-col){min-width:150px}.lab-matrix th>b,.lab-matrix th>small{display:block}.lab-matrix th>small{color:#c5dadd}.lab-matrix-cell strong,.lab-matrix-cell span,.lab-matrix-cell small{display:block}.lab-matrix-cell strong{font-size:13px;color:var(--ink)}.lab-matrix-cell .up{color:#167888;font-weight:800}.lab-matrix-cell .down{color:#9a6516;font-weight:800}.lab-matrix-cell.is-abnormal{background:#fff8ed}.lab-matrix-cell.new-abnormal{box-shadow:inset 4px 0 #d65d38;background:#fff1eb}.lab-matrix-cell .missing{color:#9caaaf;text-align:center;padding-top:12px}.motor-matrix-shell{border:1px solid #a9cbc7;border-radius:14px;background:#f8fbfb;padding:14px}.motor-matrix-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.motor-matrix-head>div:first-child{flex:1}.motor-matrix-head b,.motor-matrix-head span{display:block}.motor-matrix-head b{color:#0d4652;font-size:15px}.motor-matrix-head span{color:var(--muted);font-size:11px;margin-top:2px}.motor-side-filter,.motor-quick{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.motor-side-filter button,.motor-quick button{border:1px solid var(--line);border-radius:8px;background:#fff;color:#31525b;padding:7px 9px;font:700 11px inherit;cursor:pointer}.motor-side-filter button.on{background:#0d4652;color:#fff;border-color:#0d4652}.motor-quick{margin-bottom:10px;padding:8px 10px;border-radius:9px;background:#eaf5f3}.motor-quick span{font-size:11px;color:#526e76}.motor-quick button{padding:5px 8px}.motor-matrix{width:100%;border-collapse:collapse}.motor-matrix th,.motor-matrix td{border:1px solid var(--line);padding:7px 9px;text-align:left;background:#fff}.motor-matrix th{background:#0d4652;color:#fff}.motor-matrix .motor-group td{background:#dfeeed;color:#0d4652;font:800 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.motor-grade{min-width:150px;padding:7px}.top-signout{display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:#536e76;background:var(--surface)}.top-signout:hover{color:#a1422c;border-color:#d7a18f;background:#fff4f0}
@media(max-width:1050px){.research-pathway{grid-template-columns:repeat(3,1fr)}.governance-grid{grid-template-columns:repeat(2,1fr)}.crf-builder-grid.simple{grid-template-columns:1fr}.questionnaire-status,.dataset-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.research-pathway{grid-template-columns:1fr}.research-pathway.compact>div:not(.on):not(.done){display:none}.protocol-status,.questionnaire-status,.dataset-summary,.governance-grid{grid-template-columns:1fr}.protocol-savebar,.questionnaire-actions,.motor-matrix-head{align-items:stretch;flex-direction:column}.protocol-savebar .btn{width:100%}.motor-side-filter button{flex:1}.motor-quick span{width:100%}.motor-grade{min-width:105px}.lab-trend-legend{display:none}}
/* Centre-card splash: the workspace remains visible around the loader. */
#app-splash{background:transparent;pointer-events:none;isolation:isolate}
#app-splash:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(330px,calc(100vw - 34px));height:270px;transform:translate(-50%,-50%);border:1px solid #ffffff24;border-radius:26px;background:#071d27;box-shadow:0 24px 70px #071d2747}
@media(prefers-reduced-motion:reduce){.quiz-orbit,.quiz-timer.urgent{animation:none}.quiz-options label{transition:none}}

/* ============================================================
   V23 — Comfort Update: clearer identity, shorter forms and
   friendly administration for research, learning and deletion
   ============================================================ */

/* Prominent account identity and a deliberate sign-out path */
.top-user-menu{position:relative}.top-user-menu>summary{list-style:none;cursor:pointer}.top-user-menu>summary::-webkit-details-marker{display:none}.top-profile>i{font-style:normal;color:#628087;font-size:12px;transition:transform .18s}.top-user-menu[open] .top-profile{border-color:#62AE9F;background:#fff;box-shadow:0 12px 28px -22px #163D45}.top-user-menu[open] .top-profile>i{transform:rotate(180deg)}
.top-user-popover{position:absolute;z-index:80;top:calc(100% + 9px);right:0;width:min(360px,calc(100vw - 28px));padding:8px;border:1px solid #D4E2E4;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 28px 70px -32px rgba(5,35,43,.55);animation:v23Popover .18s ease-out}.top-user-popover:before{content:"";position:absolute;right:24px;top:-6px;width:11px;height:11px;border-left:1px solid #D4E2E4;border-top:1px solid #D4E2E4;background:#fff;transform:rotate(45deg)}.top-user-popover header{display:flex;align-items:center;gap:12px;padding:13px 12px 15px;border-bottom:1px solid #E6EDEF}.top-user-popover header>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#0C6D65,#1AA18A);color:#fff;font:800 12px 'IBM Plex Mono',monospace}.top-user-popover header div{min-width:0}.top-user-popover header b{display:block;font-size:16px}.top-user-popover header small{display:block;margin-top:3px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.top-user-popover>a{display:block;padding:11px 12px;margin-top:3px;border-radius:11px;color:inherit;text-decoration:none}.top-user-popover>a:hover{background:#EFF8F6}.top-user-popover>a b,.top-user-popover>a small{display:block}.top-user-popover>a b{font-size:12px}.top-user-popover>a small{margin-top:2px;color:var(--muted);font-size:10px}.top-user-popover>a.signout-link{color:#963E3E}.top-user-popover>a.signout-link:hover{background:#FFF1F0}@keyframes v23Popover{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}

/* Friendly access and secure logout screens */
.access-denied-screen,.logout-screen{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:38px 16px}.access-denied-card,.logout-card{width:min(690px,100%);padding:38px;border:1px solid #D7E5E7;border-radius:28px;background:radial-gradient(circle at 100% 0,#EAF8F4 0,transparent 36%),#fff;box-shadow:0 32px 80px -45px #082F38;text-align:center;animation:v23Lift .35s ease-out}.access-lock,.logout-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:23px;background:linear-gradient(145deg,#E7F6F2,#F7FBFA);border:1px solid #CEE8E1;font-size:31px;box-shadow:0 14px 30px -24px #0A7164}.access-denied-card h1,.logout-card h1{font-size:clamp(26px,4vw,38px);margin:6px auto 10px;max-width:18ch}.access-denied-card>p,.logout-card>p{max-width:62ch;margin:0 auto 21px;color:var(--ink-2);font-size:14px;line-height:1.7}.access-identity{display:flex;align-items:center;gap:12px;max-width:520px;margin:18px auto;padding:14px 16px;text-align:left;border:1px solid #DBE8E9;border-radius:16px;background:#F7FAFB}.access-identity>span{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:#0C665F;color:#fff;font:800 11px 'IBM Plex Mono',monospace}.access-identity b,.access-identity small{display:block}.access-identity b{font-size:16px}.access-identity small{margin-top:3px;color:var(--muted)}.access-help{max-width:520px;margin:17px auto;padding:15px;border-radius:15px;background:#FFF8E9;border:1px solid #EEDCB7;text-align:left}.access-help p{margin:3px 0 0;color:#725D37}.access-actions,.logout-card form{justify-content:center;margin-top:20px}

/* People and permissions: hospital designations first */
.role-guide{gap:12px}.role-guide>div{padding:16px;border-radius:15px;background:linear-gradient(145deg,#fff,#F3F9F8)}.role-guide b{font-size:14px}.role-guide span{font-size:11.5px;line-height:1.45}.people-list{gap:18px}.person-card{border-radius:20px;box-shadow:0 17px 44px -36px #123A43}.person-card>header{padding:19px 20px;gap:14px;background:linear-gradient(90deg,#fff,#F7FBFB)}.person-card .avatar{width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#0B5C5B,#159681);font:800 12px 'IBM Plex Mono',monospace}.person-card h2{font-size:21px;line-height:1.2}.person-card header p{font-size:11.5px;margin-top:5px}.person-meta{padding:12px 20px;font-size:11.5px}.person-controls{padding:16px 20px;align-items:center;background:#FBFDFD}.person-controls select{width:auto;min-width:190px}.permission-panel>summary{padding:15px 20px}.permission-panel>form{padding:0 20px 20px}.permission-check{padding:11px;border-radius:12px}.permission-check b{font-size:11.5px}.permission-check small{font-size:9.5px;line-height:1.45}
.access-approval-card .card-h h2{font-size:21px}.approval-preset-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;padding:14px;border-radius:15px;background:#F3F8F8;border:1px solid #DFE9EA}.approval-preset-form small{display:block;margin-top:5px;color:var(--muted)}.approval-buttons{display:flex;gap:8px}

/* Book & Lecture Studio */
.learning-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:35px;align-items:center;padding:36px 40px;margin-bottom:22px;border-radius:27px;color:#fff;background:radial-gradient(circle at 90% 15%,rgba(192,162,255,.28),transparent 31%),radial-gradient(circle at 65% 110%,rgba(69,218,184,.22),transparent 32%),linear-gradient(135deg,#102B3A,#194C5A 56%,#395483);box-shadow:0 30px 65px -39px #102A44}.learning-hero h1{font-size:clamp(32px,4vw,49px);margin:6px 0 11px}.learning-hero p{max-width:68ch;color:#D9E7ED;font-size:15px;line-height:1.65}.learning-hero aside{padding:22px;text-align:center;border-radius:21px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.learning-hero aside b{display:block;font-size:48px;line-height:1}.learning-hero aside span{display:block;margin-top:7px;font-weight:760}.learning-hero aside small{display:block;margin-top:10px;color:#C2D9DF;line-height:1.5}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.learning-card{display:flex;flex-direction:column;min-height:325px;margin:0;padding:21px;border:1px solid #D7E4E7;border-radius:20px;background:linear-gradient(155deg,#fff 65%,#F3F0FB);box-shadow:0 18px 42px -35px #1E3855;transition:transform .18s,border-color .18s,box-shadow .18s}.learning-card:hover{transform:translateY(-3px);border-color:#9ABEB8;box-shadow:0 25px 50px -35px #193E49}.learning-card header{display:flex;align-items:center;gap:11px}.material-icon{display:grid;place-items:center;width:47px;height:47px;flex:none;border-radius:15px;background:#EEEAF9;color:#644F9C;font:800 10px 'IBM Plex Mono',monospace}.learning-card header>div small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.learning-card h2{font-size:20px;line-height:1.3;margin:17px 0 7px}.learning-card>p{color:var(--ink-2);line-height:1.6}.material-source{margin-top:auto;padding:12px;border-radius:12px;background:#F1F6F7}.material-source span,.material-source b{display:block}.material-source span{font:800 8px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.material-source b{margin-top:4px;font-size:11px}.learning-card footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:16px}.learning-card footer small{width:100%;color:var(--muted)}.learning-admin-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px;align-items:start}.upload-drop{padding:16px;border:1px dashed #9BC5BC;border-radius:15px;background:#F3FAF8}.upload-drop input{margin-top:6px;background:#fff}.upload-drop small{display:block;margin-top:7px;color:var(--muted)}.copyright-check{display:flex;gap:12px;margin-top:15px;padding:13px 15px;border-radius:13px;background:#FFF8E8;border:1px solid #EBD8AA}.copyright-check b{flex:none}.copyright-check span{color:#735D35}.material-admin-list{max-height:780px;overflow:auto}.material-admin-list>article{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--line)}.material-admin-list>article>div{min-width:0;flex:1}.material-admin-list b,.material-admin-list small{display:block}.material-admin-list small{margin-top:3px;color:var(--muted)}

/* Bulk Question Studio */
.quiz-comfort-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.quiz-comfort-strip>div{display:grid;grid-template-columns:38px 1fr;align-items:center;column-gap:11px;padding:15px 17px;border:1px solid #D9E5E7;border-radius:15px;background:#fff}.quiz-comfort-strip span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#EAF6F3;color:#087A6D;font:800 11px 'IBM Plex Mono',monospace}.quiz-comfort-strip b,.quiz-comfort-strip small{display:block}.quiz-comfort-strip small{color:var(--muted);margin-top:2px}.bulk-composer>summary,.csv-import>summary{list-style:none;cursor:pointer}.bulk-composer>summary::-webkit-details-marker,.csv-import>summary::-webkit-details-marker{display:none}.batch-defaults{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;padding:15px;border-radius:15px;background:#F2F7F8;border:1px solid #DBE6E8}.batch-defaults .wide{grid-column:1/-1}.batch-question{margin-top:17px;padding:18px;border:1px solid #D7E5E7;border-radius:18px;background:linear-gradient(145deg,#fff,#FAFCFC);box-shadow:0 15px 35px -35px #0E3942}.batch-question>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid #E5ECEE}.batch-question>header>span{font:700 11px 'IBM Plex Mono',monospace;color:#3B6167;text-transform:uppercase}.batch-question>header b{display:inline-grid;place-items:center;width:27px;height:27px;margin-left:6px;border-radius:9px;background:#0C6C63;color:#fff}.batch-actions{display:flex;align-items:center;gap:10px;margin-top:17px}.csv-import .card-b{border-top:1px solid var(--line)}.question-bank-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.55fr) minmax(150px,.35fr) auto;gap:9px}.bank-copy-bar{position:sticky;bottom:14px;display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0 14px 14px;border-radius:16px;background:rgba(10,48,59,.96);color:#fff;box-shadow:0 24px 50px -26px #071E24;backdrop-filter:blur(10px)}.bank-copy-bar>span{flex:1}.bank-copy-bar b,.bank-copy-bar small{display:block}.bank-copy-bar small{margin-top:2px;color:#B8CDD1}.bank-copy-bar select{width:min(300px,34vw);border-color:#5D747B;background:#fff}.bank-copy-bar .btn{background:#63D2BC;color:#082E35}

/* Research Studio: read first, configure second */
.study-design-helper{margin-bottom:17px;border:1px solid #D7E5E7;border-radius:17px;background:#fff;overflow:hidden}.study-design-helper>summary{display:flex;align-items:center;gap:10px;padding:14px 17px;cursor:pointer;list-style:none}.study-design-helper>summary::-webkit-details-marker{display:none}.study-design-helper>summary span{font-weight:750}.study-design-helper>summary b{margin-left:auto;color:#16786E;font-size:11px}.study-design-helper>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px;border-top:1px solid #E3EBED;background:#F7FAFA}.study-design-helper article{padding:13px;border-radius:12px;background:#fff;border:1px solid #DFE8EA}.study-design-helper article span,.study-design-helper article b{display:block}.study-design-helper article span{font:800 8px 'IBM Plex Mono',monospace;color:#198273}.study-design-helper article b{margin-top:5px}.study-design-helper article p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.5}.friendly-project-form .card-h{background:linear-gradient(90deg,#F4FAF8,#fff)}.essential-study-fields{padding:3px}.essential-study-fields textarea{min-height:99px}.research-advanced{margin-top:17px;border:1px solid #D9E5E7;border-radius:16px;background:#FAFCFC}.research-advanced>summary{display:flex;align-items:center;padding:15px 17px;cursor:pointer;list-style:none}.research-advanced>summary::-webkit-details-marker{display:none}.research-advanced>summary:after{content:"＋";margin-left:auto;color:#178476;font-size:18px}.research-advanced[open]>summary:after{content:"−"}.research-advanced>summary b,.research-advanced>summary small{display:block}.research-advanced>summary small{margin-top:2px;color:var(--muted)}.research-advanced>.grid{padding:18px;border-top:1px solid #E1EAEC;background:#fff;border-radius:0 0 16px 16px}.research-projects-card>.card-h{padding-bottom:17px}.research-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.research-project-card{position:relative;display:flex;flex-direction:column;min-height:350px;padding:21px;border:1px solid #D8E5E7;border-radius:19px;background:linear-gradient(150deg,#fff 66%,#EFF8F6);box-shadow:0 17px 38px -35px #103B43}.research-project-top{display:flex;align-items:center;justify-content:space-between}.research-project-top>.mono{font-weight:800;color:#14786E}.research-project-card>h3{font-size:21px;margin:15px 0 7px;line-height:1.3}.research-project-card>p{color:var(--ink-2);line-height:1.6;min-height:50px}.research-project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.research-project-meta>span{padding:10px;border-radius:11px;background:rgba(255,255,255,.8);border:1px solid #E0EAEB}.research-project-meta small,.research-project-meta b{display:block}.research-project-meta small{font:800 8px 'IBM Plex Mono',monospace;color:var(--muted)}.research-project-meta b{margin-top:4px;font-size:11px}.research-project-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto}.research-project-actions .text-link{margin-left:auto;color:#16786E;font-size:10px;font-weight:750}.updated-stamp{margin-top:13px;color:var(--muted);font-size:9.5px}.research-readable-intro{display:flex;align-items:center;gap:20px;padding:21px 24px;margin-bottom:17px;border-radius:20px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(92,215,192,.2),transparent 30%),linear-gradient(135deg,#102F3C,#125F5A)}.research-readable-intro>div:first-child{flex:1}.research-readable-intro h2{font-size:25px;margin:4px 0}.research-readable-intro p{color:#C9DFE0;max-width:70ch}.friendly-kicker{font:800 9px 'IBM Plex Mono',monospace;color:#83DEC9;letter-spacing:.1em}.readable-user{display:flex;align-items:center;gap:11px;min-width:260px;padding:13px 15px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.08)}.readable-user .avatar{background:#55C3AE;color:#092F35}.readable-user p{margin:0!important}.readable-user b,.readable-user small{display:block}.readable-user small{margin-top:3px;color:#BFDADB}.stats.compact{grid-template-columns:repeat(4,1fr)}.research-readable-filter{display:grid;grid-template-columns:minmax(230px,1fr) minmax(170px,.45fr) minmax(210px,.5fr) auto auto;align-items:end;gap:10px;padding:15px 17px}.friendly-check{display:flex;gap:9px;align-items:center;min-height:42px;padding:8px 11px;border:1px solid #D7E3E5;border-radius:11px;background:#fff;cursor:pointer}.friendly-check input{width:auto;accent-color:#0B8475}.friendly-check b,.friendly-check small{display:block}.friendly-check small{color:var(--muted);font-size:9px;margin-top:2px}.readable-dataset .card-h p{margin:3px 0 0}.readable-dataset td{max-width:230px}.mini-tag{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:7px;background:#E7F6F2;color:#167362;font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase}.muted-value{color:#94A1A5;font-style:italic}.mini-progress{width:75px;height:5px;margin-top:6px;border-radius:9px;background:#E1EAEC;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1BA087,#5BC2AE)}

/* Deletion requests and admin decision desk */
.deletion-request-card .card-h{background:#F7FAFA}.request-status{padding:13px;border-radius:13px;border:1px solid #E2D4AA;background:#FFF8E8}.request-status b,.request-status small{display:block}.request-status p{margin:5px 0;color:#5E563E}.request-status small{color:#786D50;line-height:1.5}.request-status.rejected{border-color:#E7C9C6;background:#FFF3F2}.friendly-request>summary{list-style:none}.friendly-request>summary::-webkit-details-marker{display:none}.friendly-request[open]>form{display:grid;gap:9px;margin-top:10px;padding:13px;border-radius:13px;background:#FFF5F4;border:1px solid #EBCFCD}.friendly-request textarea{min-height:78px}.admin-pending{border-color:#E4C996}.comfort-policy{background:linear-gradient(135deg,#EFF8F6,#F8F5FF)}.approval-section{margin-top:27px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-heading h2{font-size:25px;margin:4px 0}.section-heading p{color:var(--muted);margin:0}.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.approval-card{margin:0;border-color:#E4D5AF}.requester-profile{display:flex;align-items:center;gap:11px}.requester-profile .avatar{width:46px;height:46px;border-radius:14px;background:#0E675F;color:#fff}.requester-profile p{margin:0}.requester-profile b,.requester-profile small{display:block}.requester-profile b{font-size:16px}.requester-profile small{color:var(--muted);margin-top:3px}.request-reason{margin:15px 0;padding:15px;border:0;border-left:4px solid #DA9B34;border-radius:0 12px 12px 0;background:#FFF8EA;font-size:14px;font-weight:650;color:#4D4533}.request-reason span{display:block;margin-bottom:5px;color:#8A6A2E;font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase}.request-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.request-facts>span{padding:11px;border-radius:11px;background:#F3F7F8}.request-facts small,.request-facts b{display:block}.request-facts small{font:800 8px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.request-facts b{margin-top:4px;font-size:11px}.approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px;padding-top:15px;border-top:1px solid #E5ECEE}.approval-actions form{display:flex;flex-direction:column;gap:7px}.approval-actions .btn{margin-top:auto}.approval-grid>.friendly-empty{grid-column:1/-1}.soft-trash{padding-top:6px}.trash-case-card{margin-bottom:13px}.trash-case-card .request-facts{grid-template-columns:repeat(3,1fr)}.simple-delete[open]>form{min-width:min(520px,80vw)}

@keyframes v23Lift{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:1180px){.learning-grid{grid-template-columns:repeat(2,1fr)}.learning-admin-layout{grid-template-columns:1fr}.batch-defaults{grid-template-columns:repeat(2,1fr)}.research-readable-filter{grid-template-columns:1fr 1fr}.research-readable-filter .friendly-check{grid-column:1/-1}.study-design-helper>div{grid-template-columns:repeat(2,1fr)}.approval-grid{grid-template-columns:1fr}}
@media(max-width:900px){.top-user-menu .top-profile>span:nth-child(2){display:none}.learning-hero{grid-template-columns:1fr}.learning-hero aside{display:none}.research-readable-intro{align-items:flex-start;flex-direction:column}.readable-user{min-width:0;width:100%}.stats.compact{grid-template-columns:repeat(2,1fr)}.question-bank-filter{grid-template-columns:1fr 1fr}.bank-copy-bar{align-items:stretch;flex-direction:column}.bank-copy-bar select{width:100%}.approval-actions{grid-template-columns:1fr}}
@media(max-width:760px){.top-user-popover{position:fixed;top:68px;right:12px}.learning-grid,.research-project-grid,.quiz-comfort-strip{grid-template-columns:1fr}.learning-hero{padding:28px 23px}.learning-card{min-height:0}.batch-defaults,.research-readable-filter,.request-facts,.trash-case-card .request-facts,.question-bank-filter{grid-template-columns:1fr}.batch-defaults .wide,.research-readable-filter .friendly-check{grid-column:auto}.batch-actions{align-items:stretch;flex-direction:column}.batch-actions .spacer{display:none}.study-design-helper>summary{align-items:flex-start;flex-direction:column}.study-design-helper>summary b{margin-left:0}.study-design-helper>div{grid-template-columns:1fr}.research-project-grid{padding:13px}.research-project-card{min-height:0}.approval-grid{display:block}.approval-card{margin-bottom:14px}.section-heading{align-items:flex-start;flex-direction:column}.person-card h2{font-size:18px}.person-controls select{min-width:0}.access-denied-card,.logout-card{padding:28px 19px}.access-actions,.logout-card form{align-items:stretch;flex-direction:column}.access-actions .btn,.logout-card form .btn{width:100%}.simple-delete[open]>form{min-width:0;width:100%}.approval-preset-form{grid-template-columns:1fr}.approval-buttons{align-items:stretch;flex-direction:column}.approval-buttons .btn{width:100%}}
@media(max-width:520px){.topbar .top-user-menu .top-profile{display:flex}.top-user-menu .top-profile{padding:5px}.top-user-menu .top-profile>span:nth-child(2),.top-user-menu .top-profile>i{display:none}.learning-hero h1{font-size:31px}.stats.compact{grid-template-columns:1fr}.research-project-meta{grid-template-columns:1fr}.research-project-actions .btn{width:100%}.research-project-actions .text-link{margin-left:0}.quiz-comfort-strip>div{padding:13px}.batch-question{padding:13px}.person-card>header{padding:15px}.person-card .avatar{width:44px;height:44px}.approval-section{margin-top:22px}.deletion-policy.comfort-policy{padding:14px}}
@media(prefers-reduced-motion:reduce){.top-user-popover,.access-denied-card,.logout-card,.splash-mark,#app-splash>i:after,.launch-progress i{animation:none}.learning-card{transition:none}}

/* ============================================================
   V24 — NeuroCare pathways, friendly identity and book foundation
   ============================================================ */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.profile-avatar{position:relative;overflow:hidden;display:grid;place-items:center;flex:none}.profile-avatar img{width:100%;height:100%;display:block;object-fit:cover}.profile-avatar-fallback{background:linear-gradient(145deg,#0C6D65,#19A78E)!important;color:#fff!important}
.side .card-user{position:sticky;bottom:10px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:9px;margin:12px 1px 8px;padding:11px 10px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(20,55,66,.98);box-shadow:0 18px 38px -27px rgba(0,0,0,.9)}.side .card-user>.avatar{width:38px;height:38px;border-radius:12px}.side .card-user .account-link{grid-column:2;padding:0 2px}.side .card-user .account-link:hover{background:transparent}.side #nav{padding-bottom:12px}
body.side-collapsed .side .card-user{display:flex;padding:9px;margin-inline:0}body.side-collapsed .side .card-user>.avatar{width:38px;height:38px}
.top-avatar,.popover-avatar{overflow:hidden}.top-avatar img,.popover-avatar img{width:100%;height:100%;object-fit:cover}.top-user-popover header>.popover-avatar{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#0C6D65,#1AA18A);color:#fff;font:800 12px 'IBM Plex Mono',monospace}.top-profile .top-avatar{width:34px;height:34px;border-radius:11px}

/* A compact centre loader: the application remains visible behind it. */
#app-splash{background:transparent;color:var(--ink);pointer-events:none;padding:18px}.splash-panel{display:grid;justify-items:center;width:min(330px,calc(100vw - 34px));padding:24px 26px 20px;border:1px solid rgba(188,211,214,.88);border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px -38px rgba(3,34,43,.72);backdrop-filter:blur(18px);animation:v24LoaderIn .28s ease-out}.splash-panel .splash-mark{width:66px;height:66px;border-radius:19px;padding:8px;box-shadow:0 16px 36px -20px rgba(5,65,66,.65)}.splash-panel>b{margin-top:14px;font-size:19px}.splash-panel>span{margin-top:3px;color:#5D747C;font-size:11px}.splash-panel>i{display:block;width:155px;height:4px;margin-top:18px;overflow:hidden;border-radius:6px;background:#DFEAE9}.splash-panel>i:after{content:"";display:block;width:44%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0B7C70,#5CCBB4);animation:splashLoad .8s ease-in-out infinite alternate}@keyframes v24LoaderIn{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}

.care-domain-section{margin:25px 0}.care-domain-section>.section-title{margin-bottom:15px}.care-domain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}.care-domain-card{--domain:#0A7A6D;position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;min-height:242px;padding:20px;border:1px solid #D8E5E7;border-radius:21px;background:linear-gradient(152deg,#fff 62%,color-mix(in srgb,var(--domain) 8%,white));color:var(--ink);text-decoration:none;overflow:hidden;box-shadow:0 18px 45px -39px #092E38;transition:transform .2s,border-color .2s,box-shadow .2s}.care-domain-card:after{content:"";position:absolute;right:-42px;bottom:-58px;width:145px;height:145px;border-radius:50%;background:color-mix(in srgb,var(--domain) 9%,transparent);transition:transform .25s}.care-domain-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--domain) 43%,#D8E5E7);box-shadow:0 28px 55px -38px color-mix(in srgb,var(--domain) 55%,#102D35)}.care-domain-card:hover:after{transform:scale(1.18)}.care-domain-card.tone-blue{--domain:#3174A9}.care-domain-card.tone-violet{--domain:#6D58A8}.care-domain-card.tone-amber{--domain:#B77B22}.care-domain-card.tone-slate{--domain:#415865}.domain-emoji{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:color-mix(in srgb,var(--domain) 12%,white);font-size:24px;transition:transform .22s}.care-domain-card:hover .domain-emoji{transform:translateY(-3px) rotate(-3deg)}.care-domain-card>div{position:relative;z-index:1}.care-domain-card small{font:800 9px 'IBM Plex Mono',monospace;color:var(--domain);text-transform:uppercase;letter-spacing:.085em}.care-domain-card h3{margin-top:4px;font-size:21px}.care-domain-card p{margin:8px 0 0;color:var(--ink-2);font-size:12px;line-height:1.6}.care-domain-card footer{position:relative;z-index:1;grid-column:1/-1;align-self:end;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--domain) 18%,#E4EBED)}.care-domain-card footer b{font-size:10px;color:var(--muted)}.care-domain-card footer em{font-style:normal;color:var(--domain);font-size:10px;font-weight:850}

.workspace-hub-head{--hub:#0A7A6D;display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:32px;align-items:center;padding:31px 35px;margin-bottom:16px;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--hub) 55%,transparent),transparent 34%),linear-gradient(135deg,#092A35,#123F49 58%,color-mix(in srgb,var(--hub) 70%,#163B48));box-shadow:0 30px 64px -43px #082E38}.workspace-hub-head.tone-blue{--hub:#387BB2}.workspace-hub-head.tone-violet{--hub:#7660B3}.workspace-hub-head.tone-amber{--hub:#B77C24}.workspace-hub-head.tone-slate{--hub:#5B7180}.workspace-hub-head .hub-back{display:inline-flex;margin-bottom:10px;color:#BFE0DD;text-decoration:none;font-size:10px;font-weight:800}.workspace-hub-head .eyebrow{color:#86E0CE}.workspace-hub-head h1{display:flex;align-items:center;gap:11px;margin:4px 0 9px;font-size:clamp(31px,4vw,47px)}.workspace-hub-head h1 span{font-size:.8em}.workspace-hub-head p{max-width:70ch;margin:0;color:#D3E6E7;font-size:14px}.workspace-hub-head aside{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(255,255,255,.08);text-align:center}.workspace-hub-head aside b,.workspace-hub-head aside span,.workspace-hub-head aside small{display:block}.workspace-hub-head aside b{font-size:43px;line-height:1}.workspace-hub-head aside span{margin-top:6px;font-weight:800}.workspace-hub-head aside small{margin-top:7px;color:#C6DADD;line-height:1.45}
.workspace-area-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:6px}.workspace-area-tabs a{display:grid;grid-template-columns:31px auto;column-gap:8px;min-width:175px;padding:10px 12px;border:1px solid #D7E3E5;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 9px 25px -24px #12343D}.workspace-area-tabs a>span{grid-row:1/3;align-self:center;font-size:20px}.workspace-area-tabs b,.workspace-area-tabs small{display:block}.workspace-area-tabs b{font-size:11px}.workspace-area-tabs small{color:var(--muted);font-size:9px}.workspace-area-tabs a.on{border-color:#78BAAE;background:#EAF7F3;color:#086A60}.workspace-flow-intro{display:flex;align-items:center;gap:12px;padding:13px 16px;margin:5px 0 15px;border:1px solid #D7E8E4;border-radius:15px;background:linear-gradient(90deg,#F0FAF7,#fff)}.workspace-flow-intro>span{font-size:22px}.workspace-flow-intro b,.workspace-flow-intro p{display:block}.workspace-flow-intro p{margin:2px 0 0;color:var(--muted);font-size:11px}.workspace-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-module-card{display:flex;flex-direction:column;min-height:405px;padding:20px;margin:0;border:1px solid #D7E4E6;border-radius:21px;background:linear-gradient(155deg,#fff 70%,#F2F9F7);box-shadow:0 20px 44px -38px #0C3C43;transition-delay:var(--delay,0ms)!important}.workspace-module-card header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center}.workspace-module-card header>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#E8F5F2;font-size:23px}.workspace-module-card header small{display:block;color:#168071;font:800 8px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.workspace-module-card h2{margin-top:3px;font-size:19px}.workspace-module-card header em{align-self:start;padding:4px 7px;border-radius:999px;background:#E8F5EF;color:#28725F;font:800 8px 'IBM Plex Mono',monospace;font-style:normal;text-transform:uppercase}.workspace-module-card>p{min-height:63px;margin:15px 0 13px;color:var(--ink-2);font-size:12px;line-height:1.6}.workspace-module-card ol{display:grid;gap:7px;list-style:none;padding:0;margin:0 0 18px}.workspace-module-card li{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.8);border:1px solid #E2EAEC;color:var(--ink-2);font-size:10.5px}.workspace-module-card li>span{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:8px;background:#0A746A;color:#fff;font:800 9px 'IBM Plex Mono',monospace}.workspace-module-card>.btn{width:100%;margin-top:auto}

.profile-photo-editor{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:18px;margin-bottom:19px;border:1px solid #D8E7E5;border-radius:19px;background:linear-gradient(145deg,#F1FAF7,#fff)}.profile-photo-preview{display:grid;justify-items:center;gap:8px}.profile-photo-large{width:118px;height:118px;border:5px solid #fff;border-radius:35px;background:linear-gradient(145deg,#0A6C63,#1DA58E);box-shadow:0 20px 40px -27px #0A574F;font:800 25px 'IBM Plex Mono',monospace}.profile-photo-status{font-size:9px;color:var(--muted);font-weight:750}.profile-photo-editor h2{margin:4px 0 5px;font-size:22px}.profile-photo-editor p{margin:0 0 12px;color:var(--ink-2);font-size:12px}.photo-picker{display:grid;grid-template-columns:38px 1fr;column-gap:10px;width:max-content;max-width:100%;padding:10px 13px;border:1px solid #A7CEC6;border-radius:13px;background:#fff;cursor:pointer}.photo-picker:hover{border-color:#168071;background:#F6FBFA}.photo-picker>span{grid-row:1/3;align-self:center;font-size:22px}.photo-picker b,.photo-picker small{display:block}.photo-picker b{font-size:11px}.photo-picker small{color:var(--muted);font-size:9px}.remove-photo{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin-top:10px;color:#8C4A48;font-size:10px;cursor:pointer}.remove-photo input{width:auto;accent-color:#A24542}.profile-upgrade-note{margin:10px 0 0}.profile-upgrade-note a{margin-left:4px}

.book-foundation-strip{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:18px;border:1px solid #D9E3ED;border-radius:19px;background:linear-gradient(105deg,#F5F2FB,#F1FAF7 62%,#fff)}.book-foundation-strip>span{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:17px;background:#fff;font-size:28px;box-shadow:0 13px 28px -23px #253E58}.book-foundation-strip>div{flex:1}.book-foundation-strip h2{margin:3px 0;font-size:20px}.book-foundation-strip p{margin:0;color:var(--muted);font-size:11px}.book-foundation-hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:34px;align-items:center;padding:34px 38px;margin-bottom:20px;border-radius:27px;color:#fff;background:radial-gradient(circle at 87% 13%,rgba(139,115,211,.35),transparent 30%),linear-gradient(135deg,#102A39,#174D56 58%,#4A4A78);box-shadow:0 30px 62px -40px #122838}.book-foundation-hero h1{font-size:clamp(32px,4vw,48px);margin:5px 0 9px}.book-foundation-hero p{max-width:70ch;color:#D8E6EA;line-height:1.65}.book-foundation-hero aside{padding:21px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.09);text-align:center}.book-foundation-hero aside span,.book-foundation-hero aside b,.book-foundation-hero aside small{display:block}.book-foundation-hero aside span{font-size:48px;font-weight:850}.book-foundation-hero aside b{margin-top:3px}.book-foundation-hero aside small{margin-top:8px;color:#C9DCE0}.book-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.book-foundation-card{display:flex;flex-direction:column;min-height:540px;padding:22px;border:1px solid #D9E4E7;border-radius:22px;background:linear-gradient(155deg,#fff 67%,#F4F1FA);box-shadow:0 23px 48px -41px #172F3B}.book-foundation-card header{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center}.book-foundation-card header>span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#F0ECFA;font-size:28px}.book-foundation-card header small{font:800 8px 'IBM Plex Mono',monospace;color:#7058A2;letter-spacing:.07em}.book-foundation-card h2{margin-top:3px;font-size:20px;line-height:1.3}.book-meta{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 12px}.book-meta span{padding:4px 7px;border-radius:8px;background:#EDF3F5;color:#4F6871;font:750 9px 'IBM Plex Mono',monospace}.book-foundation-card>p{color:var(--ink-2);font-size:12px;line-height:1.65}.book-use{padding:12px;margin:8px 0;border-left:3px solid #6E5AA4;border-radius:0 11px 11px 0;background:#F6F3FB}.book-use b,.book-use span{display:block}.book-use b{font-size:10px;color:#634F98}.book-use span{margin-top:4px;color:var(--ink-2);font-size:10.5px;line-height:1.55}.book-empty{display:flex;align-items:flex-start;gap:9px;padding:11px;margin-top:auto;border:1px dashed #D8CDAF;border-radius:12px;background:#FFF9EC}.book-empty p{margin:0;color:#6D6040;font-size:10px;line-height:1.5}.book-empty b{display:block}.book-links{display:grid;gap:6px;margin-top:auto;padding:11px;border-radius:12px;background:#EFF8F5}.book-links>b{font-size:9px;color:#176E61;text-transform:uppercase}.book-links a{color:#0A6D63;font-size:10.5px;font-weight:750;text-decoration:none}.book-foundation-card footer{display:flex;gap:7px;flex-wrap:wrap;padding-top:14px}

@media(max-width:1180px){.workspace-module-grid,.book-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.care-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.workspace-hub-head,.book-foundation-hero{grid-template-columns:1fr;padding:27px 23px}.workspace-hub-head aside,.book-foundation-hero aside{display:none}.workspace-module-grid,.book-foundation-grid{grid-template-columns:1fr}.workspace-module-card,.book-foundation-card{min-height:0}.profile-photo-editor{grid-template-columns:1fr;text-align:center}.photo-picker,.remove-photo{margin-left:auto;margin-right:auto}.book-foundation-strip{align-items:flex-start;flex-wrap:wrap}.book-foundation-strip .btn{width:100%}}
@media(max-width:620px){.care-domain-grid{grid-template-columns:1fr}.care-domain-card{min-height:0}.workspace-module-card{padding:16px}.workspace-module-card header{grid-template-columns:43px 1fr}.workspace-module-card header>span{width:43px;height:43px}.workspace-module-card header em{grid-column:2}.workspace-hub-head h1{font-size:30px}.book-foundation-card{padding:17px}.side .card-user{bottom:8px}}
.book-author{margin:8px 0 -6px!important;color:#6A7780!important;font-size:10.5px!important}
@media(prefers-reduced-motion:reduce){.splash-panel,.splash-panel .splash-mark,.splash-panel>i:after,.care-domain-card,.domain-emoji,.care-domain-card:after{animation:none!important;transition:none!important}.workspace-module-card{transition-delay:0ms!important}}

/* ============================================================
   V26 — clinical typography, patient identity and drug course
   ============================================================ */
:root{
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-data:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --type-body:15px;--type-label:13px;--type-table:14px;--type-help:12.5px;
}
body{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.58;text-rendering:optimizeLegibility}
h1,h2,h3,.btn{font-family:var(--font-ui)}
h1{font-size:28px;line-height:1.22;font-weight:700}h2{font-size:20px;line-height:1.3;font-weight:700}h3{font-size:16px;line-height:1.4;font-weight:650}
.page-head p{font-size:15px;line-height:1.55}.card-h h3{font-size:16px}.card-h p{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.lbl{font-family:var(--font-ui);font-size:var(--type-label);line-height:18px;letter-spacing:.005em;text-transform:none;font-weight:650;color:#52626b}
.hint,.sect-note{font-size:var(--type-help);line-height:1.55}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{font-family:var(--font-ui);font-size:15px;line-height:1.45;min-height:42px}
textarea{line-height:1.58}.btn{font-size:14px;line-height:20px;min-height:40px;font-weight:650}.btn.sm{font-size:13px;min-height:34px}
table{font-size:var(--type-table)}th{font-family:var(--font-ui);font-size:12px;line-height:17px;letter-spacing:.015em;text-transform:none;font-weight:700}
.mono,.clinical-number,td.num,th.num{font-family:var(--font-data);font-variant-numeric:tabular-nums lining-nums}
.pill{font-family:var(--font-ui);font-size:11.5px;line-height:16px;letter-spacing:0;text-transform:none;font-weight:700}
.eyebrow{font-family:var(--font-data);font-size:10.5px;line-height:16px}.notice{font-size:14px;line-height:1.55}.empty b,.empty span{display:block}.empty span{margin-top:4px}
.text-size-control{display:block;width:100%;border:0;border-bottom:1px solid var(--line-2);background:#f7fafb;padding:11px 13px;text-align:left;cursor:pointer;color:var(--ink)}
.text-size-control:hover{background:var(--brand-l)}.text-size-control b,.text-size-control small{display:block}.text-size-control small{margin-top:2px;color:var(--muted);font-size:12px}
body.text-large{font-size:17px;line-height:1.64}body.text-large h1{font-size:31px}body.text-large h2{font-size:22px}body.text-large h3,body.text-large .card-h h3{font-size:18px}
body.text-large .lbl{font-size:14px;line-height:20px}body.text-large input,body.text-large select,body.text-large textarea{font-size:17px}body.text-large table{font-size:15.5px}body.text-large th{font-size:13px}body.text-large .hint,body.text-large small{font-size:13px}

/* Protected patient photograph */
.patient-photo-frame{display:grid;place-items:center;overflow:hidden;flex:none;border:1px solid #bed1d8;background:linear-gradient(145deg,#e8f2f4,#d7e8eb);color:#14545f;font-family:var(--font-data);font-weight:800;letter-spacing:.03em}
.patient-photo-frame img{width:100%;height:100%;display:block;object-fit:cover}.patient-photo-fallback{background:linear-gradient(145deg,#eaf4f3,#d8e8e8)}
.patient-cockpit-title{display:flex;align-items:center;gap:15px}.patient-cockpit-photo{width:76px;height:76px;border-radius:20px;font-size:20px;box-shadow:0 9px 22px -16px #153f49}
.patient-identity-card{display:grid;grid-template-columns:122px minmax(0,1fr);gap:18px;align-items:center}.patient-identity-photo{text-align:center}.patient-form-photo{width:92px;height:92px;margin:0 auto 7px;border-radius:24px;font-size:18px}.patient-identity-photo a,.patient-identity-photo small{display:block;font-size:11.5px;line-height:1.4}.patient-identity-photo a{color:var(--brand-d);font-weight:700;text-decoration:none}.patient-identity-photo small{color:var(--muted)}
.patient-photo-manage-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(380px,1.3fr);gap:18px}.patient-photo-stage{text-align:center}.patient-photo-xl{width:min(280px,78vw);aspect-ratio:1;margin:0 auto 18px;border-radius:30px;font-size:44px}.patient-photo-stage p{color:var(--muted)}.patient-photo-stage small{display:block;color:var(--muted);margin-top:10px}
.patient-photo-picker{display:flex;flex-direction:column;gap:4px;padding:18px;margin-bottom:13px;border:2px dashed #9fc3c8;border-radius:14px;background:#f3f9f8;cursor:pointer}.patient-photo-picker:hover{border-color:var(--brand);background:var(--brand-l)}#patient-photo-input:focus+.patient-photo-picker{outline:3px solid rgba(19,118,110,.25);outline-offset:3px;border-color:var(--brand)}.patient-photo-picker span{color:var(--muted);font-size:13px;line-height:1.5}.patient-photo-remove{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

/* Drug course sheet */
.drug-patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:10px}.drug-patient-grid>a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff}.drug-patient-grid>a:hover{border-color:#8fbfc0;background:#f3faf9}.drug-patient-grid>a>span{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#e6f2f1;color:#12665f;font:800 12px var(--font-data)}.drug-patient-grid b,.drug-patient-grid small{display:block}.drug-patient-grid small{color:var(--muted);margin-top:2px}.drug-patient-grid strong{color:#126c63;font-size:12px}
.drug-identity-band{display:grid;grid-template-columns:84px minmax(230px,1.2fr) minmax(220px,1fr) auto;gap:16px;align-items:center;padding:17px 19px;margin-bottom:14px;border:1px solid #c8dfe0;border-left:5px solid #18766e;border-radius:15px;background:linear-gradient(130deg,#fff,#eef8f6);box-shadow:var(--sh-2)}.drug-patient-photo{width:76px;height:76px;border-radius:18px;font-size:18px}.drug-identity-band span{display:block;color:var(--muted);font-size:12px;font-weight:650}.drug-identity-band h2{margin:2px 0}.drug-identity-band p{margin:3px 0 0}.drug-identity-band strong{display:block;margin-top:4px;padding:7px 9px;border-radius:9px;font-size:13px}.allergy-alert{color:#8a352e;background:#fff0ee;border:1px solid #edc8c4}.allergy-unknown{color:#725620;background:#fff8e8;border:1px solid #ead9ac}
.medication-boundary{border-left:4px solid #b67824}.drug-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.drug-kpis>div{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.drug-kpis span,.drug-kpis b{display:block}.drug-kpis span{font-size:12px;color:var(--muted);font-weight:650}.drug-kpis b{margin-top:3px;font:750 25px var(--font-data)}.drug-kpis .warn{border-color:#e3c987;background:#fff9e9;color:#805918}
.add-medication-card>summary{display:flex;align-items:center;gap:11px;padding:14px 17px;cursor:pointer;list-style:none}.add-medication-card>summary::-webkit-details-marker{display:none}.add-medication-card>summary b,.add-medication-card>summary small{display:block}.add-medication-card>summary small{color:var(--muted);margin-top:2px}.add-medication-card>summary>strong{color:var(--brand-d);font-size:12px}.add-medication-card[open]>summary{border-bottom:1px solid var(--line)}
.drug-course-list{display:grid;gap:12px;padding:14px}.drug-order{border:1px solid var(--line);border-left:5px solid #338265;border-radius:13px;overflow:hidden;background:#fff}.drug-order.held{border-left-color:#c08a2f;background:#fffdf7}.drug-order>header{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-2)}.drug-order>header>div>span{font:750 10px var(--font-data);letter-spacing:.05em;text-transform:uppercase;color:#18766e}.drug-order>header h2{font-size:19px;margin-top:3px}.drug-order>header h2 small{font-size:13px;color:var(--muted);font-weight:500}.drug-order>header p{margin:3px 0 0;color:var(--muted)}
.drug-order-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.drug-order-grid>div{background:#fbfcfc;padding:11px 13px}.drug-order-grid span,.drug-order-grid b{display:block}.drug-order-grid span{font-size:11.5px;color:var(--muted);font-weight:650}.drug-order-grid b{margin-top:3px;font-size:13.5px}.drug-order-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 15px}.drug-order-notes p{margin:0;padding:10px 12px;border-radius:9px;background:#f4f7f8}.drug-order-notes p>b{display:block;margin-bottom:3px;font-size:11.5px;color:var(--brand-d)}
.drug-order>footer{display:flex;gap:8px;flex-wrap:wrap;padding:11px 15px;border-top:1px solid var(--line-2);background:#fafcfc}.drug-order>footer details>summary{cursor:pointer;list-style:none;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-d);font-size:12px;font-weight:700}.drug-order>footer details>summary::-webkit-details-marker{display:none}.drug-order>footer details[open]{width:100%}.drug-action-form,.drug-status-form,.drug-revision-form{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;align-items:end;margin-top:9px;padding:12px;border:1px solid #d5e2e4;border-radius:10px;background:#fff}.drug-action-form .wide,.drug-status-form .wide,.drug-revision-form .wide{grid-column:1/-1}.drug-action-form button,.drug-status-form button,.drug-revision-form button{justify-self:start}.drug-revision-form{grid-template-columns:repeat(3,1fr)}
.drug-history-table td small{display:block;margin-top:3px;color:var(--muted)}.medication-event-timeline{padding:15px 17px}.medication-event-timeline article{display:grid;grid-template-columns:110px 15px minmax(0,1fr);gap:12px;position:relative;padding-bottom:19px}.medication-event-timeline article:not(:last-child):after{content:"";position:absolute;left:122px;top:17px;bottom:-2px;width:1px;background:var(--line)}.medication-event-timeline time{text-align:right;font-size:12px;font-weight:700}.medication-event-timeline time small{display:block;color:var(--muted)}.medication-event-timeline article>i{width:13px;height:13px;margin-top:3px;border:3px solid #d5eddf;border-radius:50%;background:#338265;z-index:1}.medication-event-timeline .event-not_given>i,.medication-event-timeline .event-held>i{border-color:#f1dfb9;background:#b67b22}.medication-event-timeline .event-stopped>i,.medication-event-timeline .event-cancelled>i{border-color:#efd0cc;background:#a94d42}.medication-event-timeline article>div>span{font:750 10px var(--font-data);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-d)}.medication-event-timeline article b,.medication-event-timeline article small{display:block}.medication-event-timeline article p{margin:4px 0;color:var(--ink-2);white-space:normal}.medication-event-timeline article div>small{color:var(--muted);margin-top:3px}
.medication-snapshot-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2)}.medication-snapshot-row:last-child{border-bottom:0}.medication-snapshot-row>div{flex:1}.medication-snapshot-row b,.medication-snapshot-row small{display:block}.medication-snapshot-row small{color:var(--muted);margin-top:2px;font-size:11.5px}

@media(max-width:900px){.patient-photo-manage-grid{grid-template-columns:1fr}.drug-identity-band{grid-template-columns:70px 1fr}.drug-identity-band>div:nth-last-child(-n+2){grid-column:1/-1}.drug-kpis{grid-template-columns:1fr 1fr}.drug-order-grid{grid-template-columns:1fr 1fr}.drug-action-form,.drug-status-form,.drug-revision-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.patient-cockpit-title{align-items:flex-start}.patient-cockpit-photo{width:60px;height:60px;border-radius:16px}.patient-identity-card{grid-template-columns:1fr}.patient-identity-fields{width:100%}.drug-patient-grid{grid-template-columns:1fr}.drug-patient-grid>a{grid-template-columns:42px 1fr}.drug-patient-grid strong{grid-column:2}.drug-identity-band{grid-template-columns:56px 1fr;padding:13px}.drug-patient-photo{width:54px;height:54px;border-radius:14px}.drug-kpis{grid-template-columns:1fr 1fr}.drug-order-grid,.drug-order-notes{grid-template-columns:1fr}.drug-action-form,.drug-status-form,.drug-revision-form{grid-template-columns:1fr}.medication-event-timeline article{grid-template-columns:76px 13px 1fr}.medication-event-timeline article:not(:last-child):after{left:88px}}

@media print{
  body{background:#fff!important;color:#111;font-family:Arial,sans-serif;font-size:10.5pt;line-height:1.45}
  .side,.topbar,.app-footer,#app-splash,.no-print{display:none!important}#scr-app,.main{display:block!important}.wrap{padding:0!important;max-width:none!important}.app-print-brand{display:block!important;margin:0 0 10pt;padding:0 0 7pt;border-bottom:3px solid #15917f;color:#0d4652;font:700 14pt/1.22 var(--font);letter-spacing:-.2pt}.card{box-shadow:none;border-color:#aeb7ba;break-inside:avoid}.drug-sheet-heading{margin-bottom:8px}.drug-identity-band{box-shadow:none;border-color:#67787c;background:#fff;break-inside:avoid}.drug-patient-photo{width:60px;height:60px}.medication-boundary{font-size:9pt}.drug-kpis{margin-bottom:10px}.drug-kpis>div{padding:8px;border-color:#aeb7ba}.drug-kpis b{font-size:18px}.drug-order{break-inside:avoid;border-color:#929da0}.drug-order>header,.drug-order-grid,.drug-order-grid>div{border-color:#aeb7ba;background:#fff}.drug-order-grid{grid-template-columns:repeat(3,1fr)}.drug-order-notes{padding:8px}.medication-event-timeline article{break-inside:avoid}.patient-photo-manage-grid{display:block}.patient-photo-stage{border:0}
}

/* ============================================================
   V28 — nursing station, daily documentation and discharge
   ============================================================ */
.side .logo{align-items:flex-start}.side .logo>div{min-width:0;flex:1}.side .logo b{font-size:11.5px;line-height:1.3;letter-spacing:0}.side .brand-logo{width:36px;height:36px;min-width:36px}.splash-panel>b{max-width:285px;text-align:center;font-size:15px;line-height:1.35}.launch-screen h1{max-width:820px;font-size:24px;line-height:1.3;margin:20px auto 24px}.auth-art h2{font-size:21px;line-height:1.3;max-width:620px}.app-print-brand{display:none}

/* Clear medication state semantics in both prescribing and eMAR views. */
.drug-order.active{border-left-color:#23855e}.drug-order.active>header>div>span{display:inline-flex;padding:3px 8px;border:1px solid #b9dec9;border-radius:20px;background:#eaf7ef;color:#1f704f}
.drug-order.held{border-color:#dfbf78;border-left-color:#c4881f;background:#fff9e8}.drug-order.held>header>div>span{display:inline-flex;padding:3px 8px;border:1px solid #e6cc91;border-radius:20px;background:#fff0c9;color:#825b15}
.drug-order.stopped,.drug-order.cancelled{border-color:#dfaaa5;border-left-color:#c2463d;background:#fff0ee;color:#7e2f29}.drug-order.stopped>header,.drug-order.cancelled>header{background:#ffe8e5}.drug-order.stopped>header h2,.drug-order.stopped>header p,.drug-order.stopped .drug-order-grid,.drug-order.stopped .drug-order-notes,.drug-order.cancelled>header h2,.drug-order.cancelled>header p,.drug-order.cancelled .drug-order-grid,.drug-order.cancelled .drug-order-notes{text-decoration:line-through;text-decoration-thickness:2px}.drug-order.stopped>header>div>span,.drug-order.cancelled>header>div>span{display:inline-flex;padding:3px 8px;border:1px solid #d9867e;border-radius:20px;background:#c2463d;color:#fff;text-decoration:none}.drug-closed.status-stopped,.drug-closed.status-cancelled{background:#fff0ee;color:#8c322b}.drug-closed.status-stopped td:nth-child(-n+4),.drug-closed.status-cancelled td:nth-child(-n+4){text-decoration:line-through;text-decoration-thickness:2px}.drug-closed.status-stopped td:first-child,.drug-closed.status-cancelled td:first-child{border-left:5px solid #c2463d}

.emar-list{display:grid;gap:13px;margin-bottom:18px}.emar-order{overflow:hidden;border:1px solid var(--line);border-left:6px solid #23855e;border-radius:14px;background:#fff;box-shadow:var(--sh-2)}.emar-order>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid var(--line-2)}.emar-order>header h2{font-size:19px;margin:5px 0 1px}.emar-order>header p{margin:0;color:var(--muted)}.emar-status{display:inline-flex;padding:3px 9px;border:1px solid #b9dec9;border-radius:20px;background:#eaf7ef;color:#1f704f;font-size:11px;font-weight:800}.emar-order-core{text-align:right;min-width:175px}.emar-order-core b,.emar-order-core span{display:block}.emar-order-core b{font-size:18px}.emar-order-core span{color:var(--muted);font-size:12px}.emar-order-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.emar-order-details>span{padding:10px 13px;background:#fbfcfc;color:var(--muted);font-size:12px}.emar-order-details b{display:block;color:var(--ink);margin-top:2px}.emar-status-reason{padding:10px 14px;border-top:1px solid #ead49f;background:#fff4d5;color:#755215}.emar-status-reason b{margin-right:8px}.emar-status-reason.stopped{border-color:#e3aaa4;background:#ffdeda;color:#842f28}.emar-order.status-held{border-color:#dfbf78;border-left-color:#c4881f;background:#fff9e8}.emar-order.status-held .emar-status{border-color:#e6cc91;background:#fff0c9;color:#825b15}.emar-order.status-stopped,.emar-order.status-cancelled{border-color:#dfaaa5;border-left-color:#c2463d;background:#fff0ee;color:#7e2f29}.emar-order.status-stopped .emar-status,.emar-order.status-cancelled .emar-status{border-color:#c2463d;background:#c2463d;color:#fff}.emar-order.status-stopped>header h2,.emar-order.status-stopped>header p,.emar-order.status-stopped .emar-order-core,.emar-order.status-stopped .emar-order-details,.emar-order.status-cancelled>header h2,.emar-order.status-cancelled>header p,.emar-order.status-cancelled .emar-order-core,.emar-order.status-cancelled .emar-order-details{text-decoration:line-through;text-decoration-thickness:2px}.emar-order.status-completed{border-left-color:#728189;opacity:.86}.emar-order.status-completed .emar-status{border-color:#ced6da;background:#edf1f3;color:#53656e}.emar-order>footer{display:flex;gap:9px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid var(--line-2);background:#fbfcfc}.emar-order>footer details>summary{cursor:pointer;list-style:none;padding:7px 11px;border:1px solid var(--brand-r);border-radius:8px;background:#fff;color:var(--brand-d);font-size:12px;font-weight:750}.emar-order>footer details>summary::-webkit-details-marker{display:none}.emar-order>footer details[open]{width:100%}.emar-action-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:11px;align-items:end;margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.emar-action-form .wide{grid-column:1/-1}.signature-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--brand-r);border-radius:10px;background:var(--brand-l);font-size:12.5px}.signature-confirm input{width:auto;min-height:0;margin-top:3px;accent-color:var(--brand)}.signature-confirm span{display:block}.emar-history td small,.pharmacy-table td small,.pharmacy-table td span{display:block;margin-top:3px;color:var(--muted)}.emar-history tr.not-given{background:#fff8e7}.pharmacy-table tr.priority-stat td:first-child{border-left:5px solid var(--red)}.pharmacy-table tr.priority-urgent td:first-child{border-left:5px solid #c4881f}.pharmacy-update-form{display:grid;gap:7px;min-width:230px;padding-top:8px}.pharmacy-table details>summary{list-style:none}.pharmacy-table details>summary::-webkit-details-marker{display:none}

/* Date/shift columns follow the familiar physical ward flowsheet. */
.flowsheet-paper{margin:0 auto 20px;padding:20px;background:#fff;border:1px solid #cfdcdf;border-radius:6px;box-shadow:var(--sh-2)}.flowsheet-brand{text-align:center;border-bottom:4px solid #143b46;padding-bottom:10px}.flowsheet-brand h2{max-width:1050px;margin:0 auto 5px;font-size:18px;line-height:1.3;text-transform:none}.flowsheet-brand strong{display:block;text-transform:uppercase;letter-spacing:.06em}.flowsheet-patient{display:grid;grid-template-columns:1.1fr .7fr .7fr .5fr 1.8fr;gap:1px;margin:11px 0;background:#aab8bd;border:1px solid #aab8bd}.flowsheet-patient>div{padding:7px 9px;background:#fff}.flowsheet-patient span,.flowsheet-patient b{display:block}.flowsheet-patient span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:750}.flowsheet-patient b{margin-top:2px}.flowsheet-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:8px 0;font-size:11px;color:var(--muted)}.flowsheet-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border:1px solid #ccd5d8;background:#fff}.flowsheet-legend .normal:before{background:#edf8f2;border-color:#a9d6bd}.flowsheet-legend .abnormal:before{background:#ffe8e3;border-color:#e6a69d}.flowsheet-scroll{overflow-x:auto;border:1px solid #68777b}.ward-lab-flowsheet{min-width:1160px;font-size:12px}.ward-lab-flowsheet th,.ward-lab-flowsheet td{border-right:1px solid #879397;border-bottom:1px solid #879397;padding:6px;text-align:center}.ward-lab-flowsheet thead th{background:#e8edef;color:#172a33;text-transform:none;font-size:11px}.ward-lab-flowsheet thead th small{display:block;font-weight:500;color:#586a71}.ward-lab-flowsheet .panel-col{width:105px}.ward-lab-flowsheet .test-col{width:150px}.ward-lab-flowsheet .panel-name{width:105px;background:#dbe5e7;color:#193c45;text-align:center;font-size:11px}.ward-lab-flowsheet .test-name{position:sticky;left:105px;z-index:1;width:150px;background:#f4f7f8;text-align:left;color:#263f47}.ward-lab-flowsheet .panel-name{position:sticky;left:0;z-index:2}.ward-lab-flowsheet .test-name small,.ward-lab-flowsheet td small{display:block;font-size:9px;color:#687a81}.ward-lab-flowsheet td{min-width:72px}.ward-lab-flowsheet td.abnormal{background:#ffe8e3;color:#9b3329;font-weight:800}.flowsheet-signoff{display:grid;grid-template-columns:auto 1fr auto 160px;gap:10px;align-items:end;margin-top:18px;font-size:11px}.flowsheet-signoff i{display:block;border-bottom:1px solid #344d55;height:22px}

/* Append-only daily notes and attributable signature blocks. */
.clinical-note-identity{display:grid;grid-template-columns:1fr .8fr .8fr 1.7fr;gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:12px;background:var(--line)}.clinical-note-identity>div{padding:11px 13px;background:#fff}.clinical-note-identity span,.clinical-note-identity b{display:block}.clinical-note-identity span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.clinical-note-identity b{margin-top:3px}.daily-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.daily-entry>summary{display:flex;align-items:center;gap:11px;padding:14px 17px;cursor:pointer;list-style:none}.daily-entry>summary::-webkit-details-marker{display:none}.daily-entry>summary b,.daily-entry>summary small{display:block}.daily-entry>summary small{color:var(--muted);margin-top:2px}.dual-signature-block{display:grid;grid-template-columns:1fr 1fr;gap:10px}.soap-timeline,.counsel-timeline{padding:15px}.soap-timeline article,.counsel-timeline article{margin-bottom:11px;padding:13px 15px;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:11px;background:#fff}.counsel-timeline article{border-left-color:#c4881f}.soap-timeline article>header,.counsel-timeline article>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.soap-timeline article>header small{display:block;color:var(--muted)}.soap-timeline dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.soap-timeline dl div{padding:9px 10px;border:1px solid var(--line-2);border-radius:8px;background:#fafcfc}.soap-timeline dt{font-weight:800;color:var(--brand-d)}.soap-timeline dd{margin:3px 0 0;white-space:pre-line}.counsel-timeline p{white-space:pre-line}.saved-signatures{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.saved-signatures>div{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.saved-signatures span,.saved-signatures b,.saved-signatures small{display:block}.saved-signatures span,.saved-signatures small{color:var(--muted);font-size:11px}

.discharge-builder{padding-bottom:75px}.discharge-builder textarea{min-height:125px}.discharge-builder.is-final input:not([type=hidden]),.discharge-builder.is-final select,.discharge-builder.is-final textarea{pointer-events:none;background:#f5f7f8;color:#354b54}.discharge-actions{position:sticky;bottom:48px;z-index:25;display:flex;justify-content:flex-end;gap:9px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:var(--sh-3);backdrop-filter:blur(9px)}.workflow-dialog,.announcement-dialog{position:fixed;inset:0;z-index:180;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:18px;border:0;background:rgba(7,29,39,.66)}.workflow-dialog-card,.announcement-panel{width:min(700px,calc(100vw - 28px));margin:min(12vh,100px) auto 0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 28px 80px rgba(7,29,39,.38)}.workflow-dialog-card{padding:18px}.workflow-dialog-card>header,.announcement-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.workflow-dialog-card>header span,.announcement-panel>header span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-d)}.workflow-dialog-card>header button,.announcement-panel>header button{width:34px;height:34px;border:0;border-radius:9px;background:var(--sunk);font-size:22px;cursor:pointer}.workflow-dialog-card>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}

.announcement-panel{width:min(590px,calc(100vw - 28px));padding:0}.announcement-panel>header{margin:0;padding:13px 16px;background:#eaf4f3;border-bottom:1px solid var(--line)}.announcement-panel>div{padding:18px}.announcement-panel>div h2{margin-bottom:7px}.announcement-panel>div p{white-space:pre-line;margin:0}.announcement-panel>div small{display:block;margin-top:12px;color:var(--muted)}.announcement-panel>form{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);background:#fafcfc}.announcement-dialog.severity-warning .announcement-panel>header{background:#fff1cb;color:#795514}.announcement-dialog.severity-critical .announcement-panel>header{background:#c2463d;color:#fff}.announcement-dialog.severity-critical .announcement-panel>header span{color:#fff}.announcement-admin-grid{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(420px,1.2fr);gap:16px}.announcement-admin-list{padding:14px}.announcement-admin-list article{padding:13px 14px;margin-bottom:10px;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:10px}.announcement-admin-list article.severity-warning{border-left-color:#c4881f;background:#fffaf0}.announcement-admin-list article.severity-critical{border-left-color:#c2463d;background:#fff0ee}.announcement-admin-list article>header,.announcement-admin-list article>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.announcement-admin-list article header b,.announcement-admin-list article header small{display:block}.announcement-admin-list article header small,.announcement-admin-list article footer{color:var(--muted);font-size:11px}.announcement-admin-list article p{white-space:pre-line}.notification-list{display:grid;gap:10px}.notification-item{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.notification-item>i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#899aa1}.notification-item.unread{border-color:#a9d8d0;background:#f4fbfa}.notification-item.unread>i{background:var(--brand);box-shadow:0 0 0 4px var(--brand-l)}.notification-item.kind-warning>i{background:#c4881f}.notification-item.kind-critical>i{background:#c2463d}.notification-item>div>header,.notification-item>div>footer{display:flex;justify-content:space-between;gap:10px;align-items:center}.notification-item header time,.notification-item footer{color:var(--muted);font-size:11px}.notification-item p{margin:5px 0 9px}.notification-item footer{justify-content:flex-start}

@media(max-width:950px){.daily-entry-grid,.announcement-admin-grid{grid-template-columns:1fr}.clinical-note-identity,.flowsheet-patient{grid-template-columns:repeat(2,1fr)}.emar-action-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.side .logo b{font-size:11px}.launch-screen h1{font-size:18px}.clinical-note-identity,.flowsheet-patient,.dual-signature-block,.saved-signatures,.soap-timeline dl,.emar-order-details{grid-template-columns:1fr}.emar-order>header{display:block}.emar-order-core{text-align:left;margin-top:9px}.emar-action-form{grid-template-columns:1fr}.flowsheet-paper{padding:9px}.flowsheet-signoff{grid-template-columns:1fr}.discharge-actions{bottom:10px}.workflow-dialog,.announcement-dialog{padding:8px}.workflow-dialog-card,.announcement-panel{margin:5vh auto 0;max-height:90vh;overflow:auto}.notification-item>div>header{display:block}.notification-item header time{display:block;margin-top:3px}}

@media print{
  .emar-order{box-shadow:none;break-inside:avoid}.emar-list{display:block}.emar-order{margin-bottom:8px}.emar-order>footer{display:none}.flowsheet-paper{margin:0;padding:0;border:0;box-shadow:none}.flowsheet-brand h2{font-size:12pt}.flowsheet-scroll{overflow:visible}.ward-lab-flowsheet{min-width:0;width:100%;font-size:7pt}.ward-lab-flowsheet th,.ward-lab-flowsheet td{position:static!important;padding:2.5pt;min-width:0}.ward-lab-flowsheet .panel-col,.ward-lab-flowsheet .panel-name{width:20mm}.ward-lab-flowsheet .test-col,.ward-lab-flowsheet .test-name{width:27mm}.flowsheet-legend{font-size:7pt}.announcement-dialog,.workflow-dialog{display:none!important}.discharge-actions{display:none}.soap-timeline article,.counsel-timeline article{break-inside:avoid}
}

/* ============================================================
   V28.1 — paper-faithful nursing charts and safer acknowledgments
   ============================================================ */
.paper-chart-card{overflow:hidden}.paper-chart-meta{padding:15px 17px 12px;border-bottom:1px solid #52656a;background:#fff;text-align:center}.paper-chart-brand{max-width:1050px;margin:auto;color:#142f37;font-size:15px;font-weight:850;line-height:1.35}.paper-chart-title,.flowsheet-brand>span{display:block;margin:8px 0 0;padding:6px 10px;background:#183c43;color:#fff;font-size:13px;font-weight:850;letter-spacing:.08em}.paper-patient-strip{display:grid;grid-template-columns:1.4fr 1fr .8fr .55fr;gap:14px;margin-top:12px;text-align:left}.paper-patient-strip span{min-width:0;color:#63767b;font-size:10px;text-transform:uppercase;font-weight:750}.paper-patient-strip b{display:block;overflow:hidden;margin-top:3px;color:#142f37;font-size:12px;text-transform:none;text-overflow:ellipsis;white-space:nowrap}.paper-signoff,.treatment-chart-signoff{display:flex;justify-content:flex-end;gap:34px;padding:14px 18px;color:#31494f;font-size:11px}.paper-signoff>span,.treatment-chart-signoff i{display:inline-block;width:180px;height:17px;border-bottom:1px solid #31494f}
.additional-labs{margin-top:15px;border:1px solid var(--line);border-radius:13px;background:#f8fbfb}.additional-labs>summary{padding:13px 15px;cursor:pointer;color:var(--brand-d);font-weight:800;list-style:none}.additional-labs>summary:after{content:"＋";float:right}.additional-labs[open]>summary:after{content:"−"}.additional-labs>.lab-entry-grid,.additional-labs>.other-lab-grid,.additional-labs>.lab-panel-title{margin-inline:13px}.additional-labs>.lab-entry-grid{padding-bottom:12px}.other-lab-grid{display:grid;gap:8px;padding-bottom:14px}.other-lab-row{display:grid;grid-template-columns:1.4fr .8fr .55fr;gap:8px}.lab-paper-wrap,.treatment-chart-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;background:#fff}.ward-lab-flowsheet{width:1530px;min-width:1530px;table-layout:fixed;border-collapse:separate;border-spacing:0}.ward-lab-flowsheet .lab-category-col{width:90px}.ward-lab-flowsheet .lab-parameter-col{width:170px}.ward-lab-flowsheet .lab-value-col{width:105px}.ward-lab-flowsheet th,.ward-lab-flowsheet td{box-sizing:border-box;height:54px;padding:5px;border:0;border-right:1px solid #78878b;border-bottom:1px solid #78878b;overflow:hidden}.ward-lab-flowsheet thead th{position:sticky;top:0;z-index:4;height:68px;background:#e9eef0}.ward-lab-flowsheet .lab-category-head{left:0;z-index:7}.ward-lab-flowsheet .lab-parameter-head{left:90px;z-index:7}.ward-lab-flowsheet .lab-group{position:sticky;left:0;z-index:3;width:90px;background:#dfe7e9;color:#18353d;font-size:10px;font-weight:850;letter-spacing:.04em;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg)}.ward-lab-flowsheet .lab-parameter{position:sticky;left:90px;z-index:2;width:170px;background:#f5f8f8;color:#19363d;text-align:left;font-size:11px;font-weight:820}.ward-lab-flowsheet .lab-parameter small{display:block;margin-top:2px;color:#718085;font:500 8px var(--font-data)}.ward-lab-flowsheet .lab-date-head b,.ward-lab-flowsheet .lab-date-head small{display:block;white-space:nowrap}.ward-lab-flowsheet .lab-date-head b{font-size:10px}.ward-lab-flowsheet .lab-date-head small{margin-top:2px;color:#5f7176;font-size:8.5px;font-weight:600}.lab-paper-value{position:relative;background:#fff;text-align:center;vertical-align:middle}.lab-paper-value strong{display:block;overflow:hidden;color:#17353c;font:800 13px var(--font-data);text-overflow:ellipsis;white-space:nowrap}.lab-paper-value small{display:block;overflow:hidden;margin-top:2px;color:#76868a;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.lab-paper-value>span.up,.lab-paper-value>span.down,.lab-paper-value>span.same{position:absolute;right:4px;top:4px;font-size:9px;font-weight:900}.lab-paper-value>span.up{color:#9c3c31}.lab-paper-value>span.down{color:#246b90}.lab-paper-value>span.same{color:#75858a}.lab-paper-value.is-abnormal{background:#fff0ed;box-shadow:inset 0 0 0 2px #df9f98}.lab-paper-value.is-abnormal strong{color:#9b3129}.lab-paper-value .missing{color:#c1cbcd}.flowsheet-brand>strong{font-size:14px;line-height:1.35;text-transform:none;letter-spacing:0}.flowsheet-brand>span{margin-top:9px}.flowsheet-scroll.lab-paper-wrap{border:1px solid #68777b}

.treatment-chart-card{overflow:hidden}.chart-period-nav{display:flex;align-items:center;gap:9px}.treatment-brand{border-top:1px solid var(--line)}.treatment-chart{width:1900px;min-width:1900px;table-layout:fixed;border-collapse:separate;border-spacing:0;color:#18343b}.treatment-chart .med-number-col{width:46px}.treatment-chart .med-order-col{width:300px}.treatment-chart .dose-slot-col{width:64px}.treatment-chart th,.treatment-chart td{box-sizing:border-box;padding:4px;border:0;border-right:1px solid #526267;border-bottom:1px solid #526267}.treatment-chart thead th{height:35px;background:#e5ebec;font-size:9px;text-align:center}.treatment-chart thead tr:first-child th{border-top:1px solid #526267}.treatment-chart thead th:first-child{border-left:1px solid #526267}.treatment-chart thead small{display:block;color:#617176;font-size:7.5px}.treatment-chart .treatment-date{font:800 10px var(--font-data);letter-spacing:.02em}.treatment-chart .dose-number{height:26px;background:#f4f7f7}.med-chart-row{--state:#2f8b65;--state-bg:#f4fbf7}.med-chart-row>td:first-child{border-left:6px solid var(--state)}.med-chart-row.status-held{--state:#c38620;--state-bg:#fff8e5}.med-chart-row.status-stopped,.med-chart-row.status-cancelled{--state:#c13f3a;--state-bg:#fff0ee}.med-chart-row.status-completed{--state:#75858a;--state-bg:#f2f5f5}.med-chart-row>td,.med-chart-row>th{height:88px;background:var(--state-bg)}.med-chart-row .med-number{text-align:center;font:750 10px var(--font-data)}.med-order-cell{position:sticky;left:46px;z-index:2;overflow:hidden;text-align:left;vertical-align:middle}.med-order-cell>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.med-order-cell .emar-status{display:inline-flex;margin-bottom:4px;padding:2px 6px;border-color:color-mix(in srgb,var(--state) 35%,white);background:color-mix(in srgb,var(--state) 12%,white);color:var(--state);font-size:7.5px;text-transform:uppercase;letter-spacing:.05em}.med-order-cell strong{color:#152f36;font-size:13px}.med-order-cell em{margin-top:1px;color:#53676c;font-size:10px;font-style:normal}.med-order-cell>span:not(.emar-status){margin-top:5px;font-size:10px;font-weight:800}.med-order-cell>small{margin-top:2px;color:#4d6267;font-size:9px}.med-order-cell mark{margin-top:4px;padding:3px 5px;border-radius:4px;background:#f6dfaa;color:#6f4d12;font-size:8px}.status-stopped .med-order-cell,.status-cancelled .med-order-cell{background:#ffe3df}.status-stopped .med-order-cell strong,.status-stopped .med-order-cell em,.status-stopped .med-order-cell>span:not(.emar-status),.status-stopped .med-order-cell>small,.status-cancelled .med-order-cell strong,.status-cancelled .med-order-cell em,.status-cancelled .med-order-cell>span:not(.emar-status),.status-cancelled .med-order-cell>small{text-decoration:line-through;text-decoration-thickness:2px;color:#8c312b}.status-stopped .med-order-cell .emar-status,.status-cancelled .med-order-cell .emar-status{background:#c13f3a;color:#fff}.status-stopped .med-order-cell mark,.status-cancelled .med-order-cell mark{background:#c13f3a;color:#fff;text-decoration:none}.dose-slot{height:88px!important;padding:3px!important;text-align:center;vertical-align:middle}.dose-slot-button,.signed-dose{display:grid;place-items:center;width:100%;height:100%;min-height:48px;padding:2px;border:0;border-radius:6px;background:#fff;color:#28785b;cursor:pointer}.dose-slot-button{border:1px dashed #7bb59f;font-size:19px;font-weight:500}.dose-slot-button:hover,.dose-slot-button:focus-visible{border-style:solid;background:#e9f7f0;outline:2px solid #2e8b67;outline-offset:-2px}.signed-dose{cursor:default;background:transparent}.signed-dose b{font-size:17px}.signed-dose small{color:#45615a;font:700 7.5px var(--font-data);line-height:1.35}.dose-slot.dose-given{background:#dff3e8}.dose-slot.dose-omitted{background:#fff0c9}.dose-slot.dose-omitted .signed-dose{color:#8a5d0f}.slot-unavailable{color:#b7c1c3}.blank-med-row{--state:#cbd3d5;--state-bg:#fff}.treatment-chart-signoff{justify-content:space-between}.treatment-chart-signoff span{display:flex;align-items:flex-end;gap:9px}.pharmacy-order-list{display:grid;gap:8px}.pharmacy-order-list details{border:1px solid var(--line);border-radius:10px;background:#fbfcfc}.pharmacy-order-list summary{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none}.pharmacy-order-list summary span{color:var(--muted);font-size:11px}.pharmacy-order-list .emar-action-form{margin:0;border-width:1px 0 0;border-radius:0 0 10px 10px}.clinical-dialog,.confirm-dialog{width:min(680px,calc(100vw - 28px));max-width:680px;max-height:min(88vh,850px);padding:0;border:0;border-radius:19px;background:#fff;box-shadow:0 35px 95px rgba(4,30,38,.4);overflow:auto}.clinical-dialog::backdrop,.confirm-dialog::backdrop{background:rgba(5,27,35,.68);backdrop-filter:blur(3px)}.clinical-dialog>form>header,.confirm-dialog>form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f3f8f7}.clinical-dialog h2,.confirm-dialog h2{margin-top:3px;font-size:21px}.clinical-dialog header p{margin:4px 0 0;color:var(--muted)}.dialog-close{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:10px;background:#e6eeed;color:#2b444a;font-size:23px;cursor:pointer}.dialog-body{padding:19px 20px}.clinical-dialog>form>footer,.confirm-dialog>form>footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 20px;border-top:1px solid var(--line);background:#fafcfc}.confirm-dialog textarea{min-height:90px}.danger-callout{padding:13px 14px;margin-bottom:14px;border:1px solid #e4b9b5;border-radius:11px;background:#fff0ee;color:#7d302b}.danger-callout p{margin:4px 0 0}.draft-card,.trash-case-card{overflow:visible}

.counseling-entry{grid-column:1/-1}.counseling-document-head{text-align:center;margin:-18px -18px 17px;padding:13px 16px;border-bottom:3px solid #173c43}.counseling-document-head b,.counseling-document-head span{display:block}.counseling-document-head b{font-size:13px;line-height:1.4}.counseling-document-head span{margin-top:6px;padding:5px;background:#173c43;color:#fff;font-size:10px;font-weight:850;letter-spacing:.08em}.counseling-prompts,.participant-signature-panel{margin:15px 0;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#f9fbfb}.counseling-prompts legend,.participant-signature-panel legend{padding:0 7px;color:#28545a;font-size:11px;font-weight:850}.counseling-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.counseling-prompts label,.signature-methods label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce7e8;border-radius:9px;background:#fff;font-size:11px;font-weight:700}.counseling-prompts input,.signature-methods input{width:auto;accent-color:var(--brand)}.signature-methods{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.signature-methods label:has(input:checked){border-color:#74b5aa;background:#e9f7f3;color:#0b675e}.signature-method-panel{padding:12px;border:1px solid #dbe6e7;border-radius:10px;background:#fff}.signature-canvas{display:block;width:100%;height:180px;border:1px dashed #76898e;border-radius:8px;background:repeating-linear-gradient(0deg,#fff,#fff 35px,#eef3f3 36px);touch-action:none;cursor:crosshair}.signature-clear{margin-top:8px}.thumb-panel input[type=file]{background:#fff}.biometric-boundary{margin:10px 0 0;padding:10px;border-radius:8px;background:#eef5f6;color:#4f666c;font-size:10.5px;line-height:1.5}.saved-acknowledgment-image{display:block;width:min(100%,310px);max-height:150px;object-fit:contain;margin-top:9px;padding:5px;border:1px solid #d8e2e4;border-radius:7px;background:#fff}

.announcement-dialog{padding:14px}.announcement-panel{width:min(900px,calc(100vw - 28px));margin:3vh auto 0}.announcement-poster{margin:0;padding:16px;background:#edf3f2}.announcement-poster img{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:12px;box-shadow:0 15px 34px -28px #082f38}.announcement-more{display:block;padding:0 18px 12px;color:var(--muted)}.announcement-history-poster{display:block;width:100%;max-height:270px;margin-bottom:12px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#eef4f3}.announcement-admin-list article>footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}

.toast-region{position:fixed;z-index:500;right:20px;top:82px;display:grid;gap:10px;width:min(390px,calc(100vw - 24px));pointer-events:none}.professional-toast{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 30px;gap:11px;align-items:start;overflow:hidden;padding:14px 13px;border:1px solid #c9dcda;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 22px 54px -26px rgba(4,34,42,.56);opacity:0;transform:translateX(24px);transition:.24s ease;pointer-events:auto}.professional-toast.on{opacity:1;transform:none}.professional-toast>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e2f4ed;color:#197052;font-size:17px;font-weight:900;font-style:normal}.professional-toast b,.professional-toast p{display:block}.professional-toast b{color:#18353b;font-size:12px}.professional-toast p{margin:3px 0 0;color:#52676c;font-size:11px;line-height:1.45}.professional-toast>button{width:29px;height:29px;padding:0;border:0;border-radius:8px;background:#eef3f3;color:#53676c;font-size:18px;cursor:pointer}.professional-toast.warning{border-color:#e6d096}.professional-toast.warning>i{background:#fff0c9;color:#805a12}.professional-toast.critical{border-color:#dfa9a4}.professional-toast.critical>i{background:#c2463d;color:#fff}.professional-toast.info>i{background:#e2eff8;color:#25668e}.toast-progress{position:absolute;left:0;bottom:0;width:100%;height:3px;background:#2b9672;transform-origin:left;animation:toastCountdown 4.8s linear forwards}.professional-toast.critical .toast-progress{background:#c2463d;animation-duration:7s}.professional-toast.warning .toast-progress{background:#c4881f}@keyframes toastCountdown{to{transform:scaleX(0)}}

@media(max-width:760px){.paper-patient-strip{grid-template-columns:1fr 1fr}.other-lab-row{grid-template-columns:1fr}.chart-period-nav{width:100%;justify-content:space-between;margin-top:8px}.treatment-chart-card>.card-h{flex-wrap:wrap}.counseling-prompts{grid-template-columns:1fr}.signature-methods{display:grid}.toast-region{top:72px;right:12px}.announcement-poster{padding:8px}.announcement-panel{margin:2vh auto 0}.professional-toast{grid-template-columns:36px minmax(0,1fr) 28px}}

@media print{
  .paper-chart-card,.treatment-chart-card{border:0!important;box-shadow:none!important;margin:0!important}.paper-chart-meta{padding:4pt 0}.paper-chart-brand{font-size:9pt}.paper-chart-title{font-size:7pt;padding:3pt}.paper-patient-strip{margin-top:4pt;gap:5pt}.lab-paper-wrap,.treatment-chart-wrap{overflow:visible!important;border:0!important}.ward-lab-flowsheet{width:100%!important;min-width:0!important;table-layout:fixed;font-size:5.4pt}.ward-lab-flowsheet .lab-category-col{width:9mm}.ward-lab-flowsheet .lab-parameter-col{width:22mm}.ward-lab-flowsheet .lab-value-col{width:auto}.ward-lab-flowsheet th,.ward-lab-flowsheet td{height:7mm!important;padding:1pt!important}.ward-lab-flowsheet thead th{height:9mm!important}.ward-lab-flowsheet .lab-group{writing-mode:vertical-rl!important;transform:rotate(180deg)!important}.ward-lab-flowsheet .lab-parameter{font-size:5.5pt}.lab-paper-value strong{font-size:6pt}.lab-paper-value small{font-size:4.5pt}.treatment-chart{width:100%!important;min-width:0!important;table-layout:fixed;font-size:4.5pt}.treatment-chart .med-number-col{width:7mm}.treatment-chart .med-order-col{width:42mm}.treatment-chart .dose-slot-col{width:auto}.treatment-chart th,.treatment-chart td{height:11mm!important;padding:.7pt!important}.treatment-chart thead th{height:6mm!important}.med-chart-row>td,.med-chart-row>th{height:11mm!important}.med-order-cell strong{font-size:6pt}.med-order-cell em,.med-order-cell>span:not(.emar-status),.med-order-cell>small{font-size:4.8pt;margin-top:1pt}.med-order-cell .emar-status{font-size:4pt;padding:1pt 2pt}.signed-dose{min-height:0}.signed-dose b{font-size:7pt}.signed-dose small{font-size:3.6pt}.treatment-chart-signoff,.paper-signoff{padding:5pt 0}.counseling-entry{display:none}.saved-acknowledgment-image{max-height:25mm}
}
.paper-patient-strip{grid-template-columns:1.35fr .9fr .75fr .55fr .65fr 1.35fr}.flowsheet-patient{grid-template-columns:1.25fr .8fr .85fr .55fr .55fr 1.5fr}

/* V28.2 legacy release guard. V28.3 accessibility rules follow. */
:root{--type-body:16px;--type-label:13.5px;--type-table:14.5px;--type-help:13.5px;--muted:#4f626b;--ink-2:#2f4650}
body{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.6;color:#10242d;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1{font-size:29px;font-weight:750}h2{font-size:21px;font-weight:720}h3,.card-h h3{font-size:17px;font-weight:700}
.page-head p{font-size:15.5px;color:#425862}.lbl{font-family:var(--font-ui);font-size:13.5px;line-height:19px;color:#41565f;font-weight:700;letter-spacing:.005em;text-transform:none}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea{font-family:var(--font-ui);font-size:15.5px;line-height:1.45;border-color:#c7d4d9}
.hint,.sect-note{font-size:13.5px;line-height:1.55;color:#51656e}.notice{font-size:14.5px}.card-h p{font-size:13px}.btn{font-size:14px}
#nav a{font-family:var(--font-ui);font-size:14px;font-weight:650;line-height:1.35}.nav-group-label{font-family:var(--font-ui);font-size:10.5px;letter-spacing:.075em;color:#a9c1c8}
.learning-grid,.workspace-module-grid,.book-foundation-grid{align-items:start}.learning-card,.workspace-module-card,.book-foundation-card{min-height:0}.workspace-module-card>p{min-height:0}.workspace-module-card header small,.workspace-module-card li,.workspace-flow-intro p,.book-foundation-card header small,.book-foundation-card>p,.book-use span,.book-links a{font-family:var(--font-ui);font-size:12px;line-height:1.5}.learning-card header>div small,.material-source span,.material-source b{font-family:var(--font-ui);font-size:12px;line-height:1.45}
@media screen{body small{font-size:11.5px!important;line-height:1.45}.print-only{display:none!important}}
@media(max-width:760px){.notification-menu>.top-icon{display:grid!important}.notification-popover{position:fixed;top:67px;right:8px;left:8px;width:auto}.paper-patient-strip,.flowsheet-patient{grid-template-columns:1fr 1fr}}
@media print{
  .print-only{display:block!important}
  body.print-section-active .wrap>*{display:none!important}
  body.print-section-active .wrap>.print-target-active{display:block!important}
  body.print-section-active .app-print-brand{display:none!important}
  body.print-section-active .print-target-active{margin:0!important;border:0!important;box-shadow:none!important;break-inside:auto!important;page-break-inside:auto!important}
  body.print-section-active .print-target-active .card{break-inside:auto;page-break-inside:auto}
  body.print-section-active .paper-chart-brand{font-size:11pt}
  body.print-section-active .paper-chart-title{font-size:9pt}
  body.print-section-active .paper-patient-strip span,body.print-section-active .flowsheet-patient span{font-size:7.5pt}
  body.print-section-active .paper-patient-strip b,body.print-section-active .flowsheet-patient b{font-size:9pt}
  body.print-section-active .ward-lab-flowsheet{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-category-col{width:11mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter-col{width:30mm}
  body.print-section-active .ward-lab-flowsheet .lab-parameter{font-size:7pt}
  body.print-section-active .ward-lab-flowsheet .lab-parameter small{font-size:5.8pt}
  body.print-section-active .lab-paper-value strong{font-size:7.5pt}
  body.print-section-active .lab-paper-value small{font-size:5.5pt}
  body.print-section-active .treatment-chart{font-size:6.2pt}
  body.print-section-active .treatment-chart .med-number-col{width:7mm}
  body.print-section-active .treatment-chart .med-order-col{width:49mm}
  body.print-section-active .med-chart-row>td,body.print-section-active .med-chart-row>th,body.print-section-active .dose-slot{height:13mm!important}
  body.print-section-active .med-order-cell strong{font-size:7.5pt}
  body.print-section-active .med-order-cell em,body.print-section-active .med-order-cell>span:not(.emar-status),body.print-section-active .med-order-cell>small{font-size:6pt}
  body.print-section-active .med-order-cell .emar-status{font-size:5pt}
  body.print-section-active .signed-dose b{font-size:8pt}
  body.print-section-active .signed-dose small{font-size:5pt}
}

/* V28.3 final screen guard — keep this block last. */
@media screen{
  html body{font-family:var(--font-ui);font-size:16px;line-height:1.62;color:var(--ink);text-rendering:optimizeLegibility}
  html body small,html body [class] small{font-size:13px!important;line-height:1.5!important}
  html body h1{font-size:clamp(28px,2.4vw,36px);line-height:1.16}html body h2{font-size:22px;line-height:1.27}
  html body .lbl{font-size:14px;line-height:1.4}html body :is(input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=url],input[type=search],select,textarea){min-height:46px;font-size:15.5px;line-height:1.5}
  html body #nav a{min-height:48px;font-size:14.5px;line-height:1.35}html body .card-b{font-size:15px}html body table{font-size:14.5px;line-height:1.48}
  html body .notification-popover{width:min(440px,calc(100vw - 24px));border-radius:17px}html body .notification-popover-list form>button{min-height:76px;padding:13px 16px}html body .notification-popover-list b{font-size:14px}
  html body .toast-region{top:84px;right:22px;width:min(420px,calc(100vw - 24px))}html body .professional-toast{grid-template-columns:42px minmax(0,1fr) 34px;gap:12px;padding:15px;border-radius:16px}html body .professional-toast b{font-size:14px}html body .professional-toast p{font-size:13px;line-height:1.5}
  html body.text-large{font-size:18px;line-height:1.66}html body.text-large small,html body.text-large [class] small{font-size:14px!important}
}
html body .announcement-dialog{z-index:520;padding:clamp(12px,3vw,34px);background:transparent}html body .announcement-dialog::backdrop{background:rgba(5,27,36,.72);backdrop-filter:blur(5px)}
html body .announcement-panel{width:min(840px,100%);margin:clamp(8px,5vh,60px) auto;border-radius:20px}html body .announcement-content{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}html body .announcement-poster img{max-height:330px}html body .announcement-content p{font-size:15px;line-height:1.65}
@media(max-width:700px){html body .toast-region{top:70px;right:10px}html body .announcement-dialog{padding:8px}html body .announcement-panel{margin:8px auto;border-radius:16px}html body .announcement-content{grid-template-columns:1fr}html body .announcement-poster img{max-height:190px}}

/* ============================================================
   V28.4 — doctor rounds, accountable work and HOD command
   ============================================================ */
.task-page-head,.rounds-head{align-items:flex-start}.task-kpis,.round-kpis,.announcement-delivery-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.task-kpis>a,.round-kpis>div,.announcement-delivery-kpis>div{display:block;padding:15px 17px;border:1px solid #d8e5e7;border-radius:15px;background:linear-gradient(145deg,#fff,#f5f9f9);color:inherit;text-decoration:none;box-shadow:0 12px 30px -28px #153c45}.task-kpis span,.round-kpis span,.announcement-delivery-kpis span{display:block;color:#526871;font-size:12px;font-weight:700}.task-kpis b,.round-kpis b,.announcement-delivery-kpis b{display:block;margin-top:3px;color:#17373f;font:800 28px/1.1 var(--font-data)}.task-kpis .danger,.round-kpis .danger{border-color:#e3aaa5;background:#fff2f0}.task-kpis .danger b,.round-kpis .danger b{color:#a63c35}.task-kpis .warn,.round-kpis .warn,.announcement-delivery-kpis .warn{border-color:#e8cf98;background:#fff9eb}.announcement-delivery-kpis .ready{border-color:#a9d7c8;background:#f0faf6}
.task-create-card{margin-bottom:16px}.task-create-card>summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}.task-create-card>summary::-webkit-details-marker{display:none}.task-create-card>summary div{display:grid}.task-create-card>summary small{color:var(--muted)}.task-filters,.round-filters,.timeline-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 17px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f6f9fa}.task-filters label,.round-filters label,.timeline-filters label{display:grid;gap:4px;color:#52666e;font-size:11px;font-weight:750}.task-filters select,.round-filters select,.timeline-filters select,.timeline-filters input{min-width:145px}
.task-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.task-board>.friendly-empty{grid-column:1/-1}.task-card{position:relative;overflow:hidden;border:1px solid #d7e4e6;border-left:6px solid #6a8b92;border-radius:17px;background:#fff;box-shadow:0 16px 38px -34px #0c3540}.task-card.priority-urgent{border-left-color:#c58722}.task-card.priority-critical{border-left-color:#bd4840}.task-card.is-overdue{background:linear-gradient(145deg,#fff,#fff6f3)}.task-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e7eeee}.task-card>header>div:first-child{min-width:0}.task-card>header>div:first-child>span{color:#16766b;font:750 10px var(--font-data);letter-spacing:.05em;text-transform:uppercase}.task-card>header h2{margin:4px 0;font-size:18px;overflow-wrap:anywhere}.task-card>header small{display:block;color:var(--muted)}.task-card>header>div:last-child{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.task-detail{min-height:54px;margin:0;padding:14px 18px;color:#304b53;white-space:normal}.task-card>dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:0 18px 15px}.task-card>dl>div{padding:10px 0;border-top:1px solid #edf1f2}.task-card>dl>div:nth-child(odd){padding-right:10px}.task-card dt{color:#687b82;font-size:10px;font-weight:750;text-transform:uppercase}.task-card dd{margin:3px 0 0;color:#213e46;font-weight:700}.danger-text{color:#a43a34!important}.task-outcome,.task-last-event{margin:0 18px 14px;padding:11px 12px;border-radius:11px;background:#edf7f3;border:1px solid #cfe5dc}.task-outcome b,.task-outcome small,.task-last-event span,.task-last-event b,.task-last-event small{display:block}.task-outcome p{margin:4px 0}.task-last-event{background:#f4f7f8;border-color:#dce5e7}.task-last-event span{color:#667b82;font-size:10px;font-weight:750;text-transform:uppercase}.task-last-event small{margin-top:3px;color:#596f77}.task-card>footer{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;padding:13px 18px;border-top:1px solid #e4ecee;background:#f8fafa}.task-card>footer details>summary{list-style:none;cursor:pointer;padding:7px 10px;border:1px solid #cbdadd;border-radius:9px;background:#fff;color:#28555e;font-size:12px;font-weight:750}.task-card>footer details[open]{flex:1 1 270px}.task-card>footer details[open]>summary{margin-bottom:7px}.task-card>footer details form{display:grid;gap:7px;padding:10px;border:1px solid #d7e3e5;border-radius:10px;background:#fff}.task-card>footer textarea{min-height:70px}

.rounds-print-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:14px;padding:17px 20px;border-radius:17px;background:linear-gradient(135deg,#0b3541,#0b675d);color:#fff}.rounds-print-header>div:last-child{text-align:right}.rounds-print-header span,.rounds-print-header small{display:block;color:#c7dfdf}.rounds-print-header h1{margin:4px 0 0;font-size:27px;color:#fff}.round-board{display:grid;gap:13px}.round-patient{overflow:hidden;border:1px solid #d6e3e5;border-left:6px solid #3c8a70;border-radius:18px;background:#fff;box-shadow:0 17px 40px -36px #0b3540}.round-patient.attention{border-left-color:#c58825}.round-patient.critical{border-left-color:#bd4840;background:linear-gradient(145deg,#fff,#fff8f6)}.round-patient>header{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 17px;border-bottom:1px solid #e3ecee}.round-location{display:grid;place-items:center;padding:9px;border-radius:12px;background:#eaf4f2;text-align:center}.round-location b{font:800 13px var(--font-data);color:#12685f}.round-location span{margin-top:2px;color:#536970;font-size:11px}.round-identity h2{font-size:19px}.round-identity p{margin:3px 0;color:#4b626a}.round-state{text-align:right}.round-state small{display:block;margin-top:5px;color:var(--muted)}.round-clinical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.round-clinical-grid>section{min-width:0;padding:14px 16px;border-right:1px solid #e7eeee}.round-clinical-grid>section:last-child{border:0}.round-clinical-grid>section>span{display:block;margin-bottom:6px;color:#60767d;font-size:10px;font-weight:800;text-transform:uppercase}.round-clinical-grid p{margin:4px 0;color:#304c54;overflow-wrap:anywhere}.round-clinical-grid small{display:block;color:#60767d}.round-signal-row{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e2eaec;background:#f8fafa}.round-signal-row>div{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 13px;border-right:1px solid #e2eaec}.round-signal-row>div:last-child{border:0}.round-signal-row>div>b{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:9px;background:#e4f2ed;color:#28765d;font:800 12px var(--font-data)}.round-signal-row>div.warn>b{background:#fff0c9;color:#875d15}.round-signal-row>div.danger>b{background:#bd4840;color:#fff}.round-signal-row span,.round-signal-row small{display:block;min-width:0}.round-signal-row span{font-size:11px;font-weight:750}.round-signal-row small{overflow:hidden;color:#647980;text-overflow:ellipsis;white-space:nowrap}.round-patient>footer{display:flex;gap:7px;flex-wrap:wrap;padding:12px 17px;border-top:1px solid #e2eaec}.rounds-print-foot{display:grid;gap:4px;margin-top:14px;padding:12px 15px;border:1px solid #d7e3e5;border-radius:12px;background:#f7fafa;color:#486169}.rounds-print-foot span{font-weight:700}.rounds-print-foot small{color:#697d83}

.timeline-patient-head{display:grid;grid-template-columns:1.15fr 1.35fr .8fr;gap:0;margin-bottom:15px;border:1px solid #ccdcdf;border-top:5px solid #157e72;border-radius:14px;background:#fff}.timeline-patient-head>div{padding:14px 16px;border-right:1px solid #dfe8ea}.timeline-patient-head>div:last-child{border:0}.timeline-patient-head span,.timeline-patient-head b,.timeline-patient-head small{display:block}.timeline-patient-head>div>span{color:#61767d;font-size:10px;font-weight:800;text-transform:uppercase}.timeline-patient-head h2{margin:3px 0}.timeline-patient-head p{margin:2px 0}.timeline-patient-head small{margin-top:4px;color:var(--muted)}.timeline-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.timeline-summary>div{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #dbe6e8;border-radius:12px;background:#f8fafa}.timeline-summary b{font:800 22px var(--font-data);color:#126b62}.timeline-summary span{color:#536970;font-size:12px;font-weight:700}.unified-timeline{max-width:1080px;margin:auto}.timeline-day{position:sticky;top:70px;z-index:2;margin:18px 0 11px;padding:8px 13px;border:1px solid #cfdee1;border-radius:10px;background:rgba(244,249,249,.96);color:#244a52;font-size:14px;backdrop-filter:blur(8px)}.timeline-event{position:relative;display:grid;grid-template-columns:88px 18px minmax(0,1fr);gap:13px;padding-bottom:13px}.timeline-event:not(:last-child):after{content:"";position:absolute;left:96px;top:22px;bottom:-3px;width:2px;background:#d9e5e6}.timeline-event>time{text-align:right;color:#284b54;font:750 13px var(--font-data)}.timeline-event>time small{display:block;color:#78898e;font-size:8px!important}.timeline-event>i{z-index:1;width:14px;height:14px;margin-top:3px;border:3px solid #d9f0e8;border-radius:50%;background:#278666}.timeline-event.type-investigation>i,.timeline-event.type-score>i{border-color:#dceaf4;background:#3b79a3}.timeline-event.type-task>i{border-color:#f2e1ba;background:#b77e24}.timeline-event.type-operation>i{border-color:#e6def4;background:#76569f}.timeline-event.type-note>i{border-color:#d8edeb;background:#147c73}.timeline-event>div{padding:13px 15px;border:1px solid #dbe6e8;border-radius:13px;background:#fff}.timeline-event>div>header{display:flex;align-items:center;justify-content:space-between;gap:9px}.timeline-event>div>header>span:first-child{color:#1c756b;font-size:10px;font-weight:800;text-transform:uppercase}.timeline-event h4{margin:4px 0;font-size:16px}.timeline-event p{margin:5px 0;color:#344f57;white-space:normal}.timeline-event>div>footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;padding-top:7px;border-top:1px solid #edf1f2;color:#657a81;font-size:11px}.timeline-event>div>footer b{color:#2b5960}.timeline-print-foot{margin-top:16px;padding-top:9px;border-top:1px solid #bccacc;color:#66797f;font-size:11px}

.record-governance-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.record-governance-strip>div{padding:12px 14px;border:1px solid #cfe2dd;border-radius:12px;background:#f1f9f6}.record-governance-strip b,.record-governance-strip span{display:block}.record-governance-strip b{color:#176b5c}.record-governance-strip span{margin-top:2px;color:#526a70;font-size:11px}.soap-timeline article>header>div{display:grid}.soap-timeline article.record-status-amended{border-left-color:#c28728;background:#fffaf0}.soap-timeline article.record-status-locked{border-left-color:#26795e}.amendment-link{margin:0 0 10px;padding:9px 11px;border:1px solid #ead4a6;border-radius:9px;background:#fff6de;color:#75521a;font-weight:700}.soap-timeline article>footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #e3ebec}.soap-timeline article>footer>small{margin-right:auto;color:#61767d}.soap-timeline article>footer details{flex:0 1 auto}.soap-timeline article>footer details[open]{flex-basis:100%}.soap-timeline article>footer details>summary{cursor:pointer;color:#176d65;font-weight:750}.amend-note-form{display:grid;gap:8px;margin-top:9px;padding:12px;border:1px solid #d6e3e5;border-radius:11px;background:#f8fafa}.amend-note-form textarea{min-height:88px}

.command-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;align-items:center;margin-bottom:18px;padding:28px 32px;border-radius:22px;background:radial-gradient(circle at 85% 15%,rgba(93,225,197,.2),transparent 28%),linear-gradient(135deg,#092f3c,#0b5f58);color:#fff;box-shadow:0 25px 52px -35px #042b34}.command-hero>div>span{color:#a9ded4;font:800 10px var(--font-data);letter-spacing:.07em;text-transform:uppercase}.command-hero h1{margin:6px 0;color:#fff;font-size:34px}.command-hero p{max-width:76ch;color:#d0e3e3}.command-hero aside{display:grid;place-items:center;padding:19px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(255,255,255,.08);text-align:center}.command-hero aside small,.command-hero aside span,.command-hero aside em{display:block;color:#c5dede}.command-hero aside b{font:800 52px/1 var(--font-data);color:#fff}.command-hero aside em{font-style:normal;font-size:10px}.command-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:16px}.command-kpis>a{position:relative;padding:14px 16px;border:1px solid #d7e4e6;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.command-kpis>a:after{content:"→";position:absolute;right:13px;top:13px;color:#7a9298}.command-kpis span,.command-kpis b,.command-kpis small{display:block}.command-kpis span{padding-right:20px;color:#526a71;font-size:11px;font-weight:750}.command-kpis b{margin:4px 0;color:#173840;font:800 27px var(--font-data)}.command-kpis small{color:#667b82}.command-kpis a.warn{border-color:#e5ce9b;background:#fffaf0}.command-kpis a.danger{border-color:#e3ada8;background:#fff4f2}.command-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:15px;margin-bottom:15px}.command-columns.lower{grid-template-columns:1fr 1fr}.command-panel{margin:0;overflow:hidden}.command-patient-list,.command-task-list,.command-theatre-list{display:grid}.command-patient-list article{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid #e6edef}.command-patient-list article:last-child{border:0}.command-bed{display:grid;place-items:center;padding:8px;border-radius:10px;background:#e9f4f1;text-align:center}.command-bed b{color:#12665d;font:800 11px var(--font-data)}.command-bed span{color:#5b7076;font-size:10px}.command-patient-list h4{font-size:15px}.command-patient-list p{margin:2px 0;color:#526970}.command-patient-list small{color:#6b7e84}.command-signals{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:250px}.command-signals>a{width:100%;text-align:right;color:#126c63;font-size:11px;font-weight:750}.command-task-list>a{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 15px;border-bottom:1px solid #e5edef;color:inherit;text-decoration:none}.command-task-list>a>i{width:8px;height:8px;border-radius:50%;background:#c18829}.command-task-list>a.danger>i{background:#bd4840;box-shadow:0 0 0 4px #f7dedb}.command-task-list b,.command-task-list span,.command-task-list small{display:block}.command-task-list span,.command-task-list small{color:#61767d}.command-theatre-list>a{display:grid;grid-template-columns:100px minmax(0,1fr) 48px auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #e5edef;color:inherit;text-decoration:none}.command-theatre-list time{font:750 12px var(--font-data)}.command-readiness>div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid #e7eeee}.command-readiness i{width:10px;height:10px;border-radius:50%;background:#c18829}.command-readiness i.ok{background:#278463}.command-readiness b,.command-readiness small{display:block}.command-readiness small{color:#63787f}.command-readiness em{font-style:normal;color:#526970;font-size:11px;font-weight:750}.command-quality-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:13px}.command-quality-links>a{padding:10px;border:1px solid #d9e5e7;border-radius:10px;color:inherit;text-decoration:none}.command-quality-links b,.command-quality-links span{display:block}.command-quality-links b{color:#126b62;font:800 17px var(--font-data)}.command-quality-links span{margin-top:2px;color:#5e737a;font-size:10px}.clock-proof{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px 14px;border-top:1px solid #dfe9ea;background:#f6f9fa}.clock-proof span{color:#62767d;font-size:10px;font-weight:750;text-transform:uppercase}.clock-proof b{font:650 11px var(--font-data);color:#294850}
.announcement-delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.announcement-delivery-grid>div{padding:9px;border:1px solid #dde7e8;border-radius:9px;background:rgba(255,255,255,.78)}.announcement-delivery-grid span,.announcement-delivery-grid b{display:block}.announcement-delivery-grid span{color:#60747b;font-size:10px}.announcement-delivery-grid b{margin-top:2px;color:#173a41;font:800 20px var(--font-data)}

@media(max-width:1180px){.round-clinical-grid{grid-template-columns:repeat(2,1fr)}.round-clinical-grid>section:nth-child(2){border-right:0}.round-clinical-grid>section:nth-child(-n+2){border-bottom:1px solid #e7eeee}.round-signal-row{grid-template-columns:repeat(3,1fr)}.round-signal-row>div{border-bottom:1px solid #e2eaec}.command-columns,.command-columns.lower{grid-template-columns:1fr}.command-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.task-board{grid-template-columns:1fr}.task-kpis,.round-kpis,.announcement-delivery-kpis{grid-template-columns:repeat(2,1fr)}.round-patient>header{grid-template-columns:74px minmax(0,1fr)}.round-state{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-align:left}.round-signal-row{grid-template-columns:repeat(2,1fr)}.timeline-patient-head{grid-template-columns:1fr 1fr}.timeline-patient-head>div:last-child{grid-column:1/-1;border-top:1px solid #dfe8ea}.command-hero{grid-template-columns:1fr}.command-hero aside{display:none}.command-patient-list article{grid-template-columns:60px minmax(0,1fr)}.command-signals{grid-column:1/-1;justify-content:flex-start;max-width:none}.command-signals>a{text-align:left}.announcement-delivery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.task-kpis,.round-kpis,.announcement-delivery-kpis,.command-kpis,.timeline-summary,.record-governance-strip{grid-template-columns:1fr 1fr}.task-card>header{display:block}.task-card>header>div:last-child{justify-content:flex-start;margin-top:8px}.task-card>dl{grid-template-columns:1fr}.rounds-print-header{align-items:flex-start;flex-direction:column}.rounds-print-header>div:last-child{text-align:left}.round-clinical-grid,.round-signal-row{grid-template-columns:1fr}.round-clinical-grid>section,.round-signal-row>div{border-right:0;border-bottom:1px solid #e7eeee!important}.timeline-patient-head{grid-template-columns:1fr}.timeline-patient-head>div{border-right:0;border-bottom:1px solid #dfe8ea}.timeline-event{grid-template-columns:58px 15px minmax(0,1fr);gap:8px}.timeline-event:not(:last-child):after{left:65px}.command-hero{padding:23px 20px}.command-theatre-list>a{grid-template-columns:80px minmax(0,1fr);}.command-theatre-list time,.command-theatre-list .pill{grid-column:auto}.command-quality-links{grid-template-columns:1fr}.announcement-delivery-grid{grid-template-columns:1fr 1fr}}

@media print{
  @page{size:A4 portrait;margin:10mm}
  .rounds-print-area,.unified-timeline-print{color:#111;background:#fff}
  .rounds-print-header{margin:0 0 6mm;padding:0 0 4mm;border-bottom:2pt solid #145f57;border-radius:0;background:#fff!important;color:#111;box-shadow:none}.rounds-print-header h1{font-size:16pt;color:#111}.rounds-print-header span,.rounds-print-header small{color:#333}
  .round-kpis{grid-template-columns:repeat(4,1fr);gap:2mm;margin-bottom:4mm}.round-kpis>div{padding:2.2mm;border:1px solid #888;border-radius:0;background:#fff!important;box-shadow:none}.round-kpis span{font-size:7pt}.round-kpis b{font-size:14pt;color:#111!important}
  .round-board{gap:3mm}.round-patient{break-inside:avoid;margin:0;border:1px solid #777;border-left-width:3pt;border-radius:0;background:#fff!important;box-shadow:none}.round-patient>header{grid-template-columns:22mm 1fr 31mm;gap:3mm;padding:2.5mm 3mm}.round-location{padding:1.5mm;border:1px solid #aaa;border-radius:0;background:#fff}.round-identity h2{font-size:11pt}.round-identity p,.round-state small{font-size:7pt}.round-clinical-grid{grid-template-columns:repeat(4,1fr)}.round-clinical-grid>section{padding:2.3mm;border-right:1px solid #aaa!important;border-bottom:0!important}.round-clinical-grid>section:last-child{border-right:0!important}.round-clinical-grid>section>span{font-size:6pt}.round-clinical-grid p,.round-clinical-grid small{font-size:7pt!important;line-height:1.35!important}.round-signal-row{grid-template-columns:repeat(5,1fr)}.round-signal-row>div{padding:1.8mm;border-right:1px solid #aaa!important;border-bottom:0!important}.round-signal-row>div>b{width:6mm;height:6mm;border:1px solid #888;border-radius:0;background:#fff!important;color:#111!important;font-size:7pt}.round-signal-row span{font-size:6.5pt}.round-signal-row small{font-size:5.5pt!important}.rounds-print-foot{margin-top:4mm;padding:2.5mm;border:1px solid #999;border-radius:0;background:#fff;font-size:7pt}
  .timeline-patient-head{grid-template-columns:1.15fr 1.35fr .8fr;margin:0 0 4mm;border:1px solid #777;border-top:3pt solid #145f57;border-radius:0}.timeline-patient-head>div{padding:2.5mm}.timeline-patient-head h2{font-size:12pt}.timeline-summary{grid-template-columns:repeat(3,1fr);gap:2mm;margin-bottom:4mm}.timeline-summary>div{padding:2mm;border:1px solid #999;border-radius:0;background:#fff}.timeline-summary b{font-size:12pt;color:#111}.timeline-summary span{font-size:7pt}.timeline-day{position:static;margin:4mm 0 2mm;padding:1.5mm 2mm;border:1px solid #888;border-radius:0;background:#eee!important;font-size:9pt}.timeline-event{grid-template-columns:19mm 4mm 1fr;gap:2mm;padding-bottom:2mm;break-inside:avoid}.timeline-event:not(:last-child):after{left:21mm;background:#888}.timeline-event>time{font-size:8pt}.timeline-event>time small{font-size:5.5pt!important}.timeline-event>i{width:3mm;height:3mm;border-width:1mm}.timeline-event>div{padding:2mm 2.5mm;border:1px solid #999;border-radius:0}.timeline-event>div>header>span:first-child,.timeline-event>div>footer{font-size:6pt}.timeline-event h4{font-size:9pt}.timeline-event p{font-size:7.5pt;line-height:1.35}.timeline-print-foot{font-size:6.5pt}
  body.print-section-active #rounds-print.print-target-active,body.print-section-active #patient-timeline-print.print-target-active{display:block!important;width:100%!important}
}
