/* watchtower-patients.css — Patient Tracker (Dispatch - Patient Tracker.dc.html).
 * On-grounds medical care + EMS hand-off board. PHI: command/medical only. Renders
 * into the EOC shell content area; tokens from watchtower.css. */

.wtpt { display:flex; flex-direction:column; height:100%; overflow:hidden; background:var(--bg-0); color:var(--t-0); font-family:var(--sans); }
.wtpt * { box-sizing:border-box; }
.wtpt button { color:inherit; font-family:inherit; cursor:pointer; }

.wtpt-top { flex:0 0 auto; display:flex; align-items:center; gap:12px; padding:11px 24px; border-bottom:1px solid var(--l-2); background:var(--bg-1); flex-wrap:wrap; }
.wtpt-wm { font-family:var(--label); font-size:15px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; }
.wtpt-sub { font-family:var(--label); font-size:9px; letter-spacing:0.13em; color:var(--gold); text-transform:uppercase; margin-top:2px; }
.wtpt-ribbon { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }
.wtpt-rc { display:flex; align-items:center; gap:9px; border:1px solid var(--l-2); border-radius:7px; padding:6px 12px; font-family:var(--mono); font-size:13px; }
.wtpt-rc .d { width:9px; height:9px; border-radius:50%; background:var(--c,var(--t-3)); flex:0 0 auto; }
.wtpt-rc .l { font-family:var(--label); font-size:9px; letter-spacing:0.07em; text-transform:uppercase; color:var(--t-3); }

.wtpt-toolbar { display:flex; align-items:center; gap:7px; padding:11px 24px 0; }
.wtpt-seg button { font-family:var(--label); font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; padding:7px 13px; border:1px solid var(--l-2); background:var(--bg-1); color:var(--t-2); }
.wtpt-seg button:first-child { border-radius:6px 0 0 6px; } .wtpt-seg button:last-child { border-radius:0 6px 6px 0; border-left:0; }
.wtpt-seg button.on { color:var(--sky); border-color:var(--sky); background:color-mix(in oklab,var(--sky) 13%,var(--bg-1)); }
.wtpt-hint { margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--t-3); }

.wtpt-stage { overflow:auto; padding:6px 24px 40px; }
.wtpt-grp { margin-top:18px; }
.wtpt-gh { font-family:var(--label); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gc,var(--t-2)); display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.wtpt-gh .c { font-family:var(--mono); font-size:10px; color:var(--t-3); }
.wtpt-tbl { border:1px solid var(--l-2); border-radius:9px; background:var(--bg-1); }
.wtpt-row { display:grid; grid-template-columns:78px 96px 1.3fr 116px 130px 1.3fr; gap:12px; align-items:center; padding:11px 15px; border-bottom:1px solid var(--l-1); font-size:13.5px; position:relative; }
.wtpt-row:last-child { border-bottom:0; }
.wtpt-hd { background:var(--bg-2); border-bottom:1px solid var(--l-2); font-family:var(--label); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--t-3); border-radius:9px 9px 0 0; }
.wtpt-pid { font-family:var(--mono); font-size:14px; } .wtpt-demo { font-size:11px; color:var(--t-3); margin-top:1px; }
.wtpt-tm { font-family:var(--mono); font-size:13px; } .wtpt-ago { font-size:11px; color:var(--t-3); margin-top:1px; }
.wtpt-cc { font-weight:600; } .wtpt-ccs { font-size:11.5px; color:var(--t-3); margin-top:1px; }
.wtpt-treat { font-family:var(--mono); font-size:12px; color:var(--t-2); }
.wtpt-tri, .wtpt-disp { display:inline-flex; align-items:center; gap:7px; font-family:var(--label); font-size:10px; letter-spacing:0.05em; text-transform:uppercase; padding:6px 10px; border-radius:5px; border:1px solid var(--cc,var(--l-2)); color:var(--cc,var(--t-2)); background:color-mix(in oklab,var(--cc,var(--l-2)) 12%,transparent); }
.wtpt-disp { width:100%; justify-content:flex-start; }
.wtpt-tri .d, .wtpt-disp .d { width:7px; height:7px; border-radius:50%; background:currentColor; }
.wtpt-dest { font-family:var(--mono); font-size:11px; color:var(--t-3); margin-top:4px; }
.wtpt-menu { position:absolute; z-index:20; background:var(--bg-2); border:1px solid var(--l-2); border-radius:8px; padding:5px; box-shadow:0 14px 34px rgba(0,0,0,0.55); width:210px; }
.wtpt-menu .mt { font-family:var(--label); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--t-3); padding:6px 8px 4px; }
.wtpt-menu button { display:flex; align-items:center; gap:9px; width:100%; text-align:left; padding:9px 10px; border-radius:6px; border:0; background:transparent; color:var(--t-1); font-size:13px; }
.wtpt-menu button:hover { background:var(--bg-1); }
.wtpt-menu .d { width:9px; height:9px; border-radius:50%; background:var(--mc,var(--t-3)); flex:0 0 auto; }
.wtpt-menu .sep { height:1px; background:var(--l-2); margin:5px 0; }
.wtpt-scrim { position:fixed; inset:0; z-index:15; }
.wtpt-note { display:flex; gap:9px; align-items:flex-start; margin:18px 0 0; padding:11px 15px; border:1px solid color-mix(in oklab,var(--red) 36%,var(--l-2)); border-radius:8px; background:color-mix(in oklab,var(--red) 7%,var(--bg-1)); font-size:12.5px; color:var(--t-1); line-height:1.45; }
.wtpt-note b { color:var(--red); }
.wtpt-empty { padding:40px; text-align:center; color:var(--t-3); font-size:13px; }
