:root{--bg: #0f1420;--surface: #171e2e;--surface2: #1e2740;--line: #2b3654;--ink: #e7ecf6;--ink2: #a9b6cf;--ink3: #75839f;--north: #6ea8ff;--north-soft: #1c2a4a;--good: #57c98b;--good-bg: #10301f;--warn: #e8b45b;--warn-bg: #33260c;--open: #2b3654}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Public Sans,system-ui,sans-serif;font-size:15px;line-height:1.55}.mono{font-family:IBM Plex Mono,monospace}.topbar{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.01em}.logo-mark{width:22px;height:22px;border-radius:50%;background:conic-gradient(from 220deg,var(--north),#274a86 60%,var(--north));position:relative}.logo-mark:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:12px;background:var(--ink);transform:translate(-50%,-85%) rotate(18deg);border-radius:2px}.topbar .env{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn);border-radius:4px;padding:2px 8px;letter-spacing:.08em}.topbar nav{margin-left:auto;display:flex;gap:4px}.topbar nav button{background:none;border:1px solid transparent;color:var(--ink2);font:inherit;font-weight:600;font-size:13.5px;padding:6px 14px;border-radius:6px;cursor:pointer}.topbar nav button:hover{color:var(--ink);background:var(--surface2)}.topbar nav button.active{color:var(--north);background:var(--north-soft);border-color:var(--line)}.topbar nav button:focus-visible{outline:2px solid var(--north);outline-offset:1px}.page{max-width:1080px;margin:0 auto;padding:26px 22px 80px}h1{font-size:22px;font-weight:700;margin:0 0 4px}.sub{color:var(--ink3);font-size:13.5px;margin:0 0 22px}.units{display:grid;gap:22px}.unit h2{font-size:13px;font-family:IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:0 0 10px}.bedgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px}.bed{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-height:86px;display:flex;flex-direction:column;gap:4px}.bed.open{border-style:dashed;background:transparent}.bed .label{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink3)}.bed .who{font-weight:600;font-size:14.5px}.bed .who.none{color:var(--ink3);font-weight:400;font-style:italic}.bed .meta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink2)}.loc{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:3px;letter-spacing:.05em;color:var(--north);background:var(--north-soft)}.censusbar{display:flex;gap:18px;margin:0 0 24px;flex-wrap:wrap}.stat{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 18px;min-width:130px}.stat .n{font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600;color:var(--north)}.stat .l{font-size:12px;color:var(--ink3)}.session-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}.session-head .when{font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--ink3)}.editor-grid{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}@media(max-width:720px){.editor-grid{grid-template-columns:1fr}}.roster{display:flex;flex-direction:column;gap:6px}.roster button{text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--ink2);border-radius:7px;padding:10px 12px;font:inherit;font-size:13.5px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px}.roster button.active{border-color:var(--north);color:var(--ink);background:var(--north-soft)}.roster button:focus-visible{outline:2px solid var(--north);outline-offset:1px}.dot{width:8px;height:8px;border-radius:50%;background:var(--ink3);flex:none}.dot.drafted{background:var(--warn)}.dot.signed{background:var(--good)}.notecard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.notecard label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:14px 0 6px}.notecard label:first-of-type{margin-top:0}.notecard textarea{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;font:inherit;font-size:14.5px;line-height:1.6;padding:10px 12px;resize:vertical}.notecard textarea:focus-visible{outline:2px solid var(--north);outline-offset:0;border-color:var(--north)}.hint{font-size:12px;color:var(--ink3);margin:4px 0 0}.savebar{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.savestate{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink3)}.savestate.saved{color:var(--good)}button.primary{background:var(--north);color:#0b1220;border:none;border-radius:7px;font:inherit;font-weight:700;font-size:13.5px;padding:9px 18px;cursor:pointer}button.primary:hover{filter:brightness(1.1)}button.primary:focus-visible{outline:2px solid var(--ink);outline-offset:1px}button.ghost{background:none;border:1px solid var(--line);color:var(--ink2);font:inherit;font-size:13px;padding:8px 14px;border-radius:7px;cursor:pointer}button.ghost:hover{color:var(--ink);border-color:var(--ink3)}button.ghost:focus-visible{outline:2px solid var(--north);outline-offset:1px}.recovery{display:flex;gap:10px;align-items:center;background:var(--good-bg);border:1px solid var(--good);color:var(--good);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13.5px;font-weight:600}.signedflag{display:inline-flex;align-items:center;gap:6px;color:var(--good);font-size:13px;font-weight:600}.demo-note{margin-top:26px;border-top:1px dashed var(--line);padding-top:14px;font-size:12.5px;color:var(--ink3);max-width:72ch}.formgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 16px;margin-bottom:14px}.field{display:flex;flex-direction:column}.field label,.notecard .field label{margin:0 0 5px}.notecard input[type=text],.notecard input[type=date],.notecard input:not([type]),.notecard select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;font:inherit;font-size:14px;padding:9px 11px;width:100%}.notecard input:focus-visible,.notecard select:focus-visible{outline:2px solid var(--north);outline-offset:0;border-color:var(--north)}.notecard select{appearance:auto}.checkboxrow{display:flex;gap:10px;align-items:flex-start;margin-top:14px;background:var(--north-soft);border:1px solid var(--line);border-radius:7px;padding:11px 13px}.checkboxrow input{width:16px;height:16px;margin-top:3px;accent-color:var(--north);flex:none}.checkboxrow label{margin:0;font-size:13px;color:var(--ink2);text-transform:none;letter-spacing:0;font-weight:500}.formerror{color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn);border-radius:7px;padding:9px 13px;font-size:13.5px;margin:14px 0 0}.waitrow{border-left:3px solid var(--warn)}.assignrow{display:flex;gap:8px;margin-top:6px}.assignrow select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;font:inherit;font-size:12.5px;padding:6px 8px;flex:1}.chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:16px 0 20px}.chart-head h1{margin-bottom:2px}.chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chip{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:3px;letter-spacing:.05em;color:var(--ink2);background:var(--surface2);border:1px solid var(--line)}.chip-good{color:var(--good);background:var(--good-bg);border-color:var(--good)}.chip-warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn)}.chart-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}@media(max-width:780px){.chart-grid{grid-template-columns:1fr}}.cardtitle{font-size:13px;font-family:IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:0 0 12px;font-weight:600}.facts{margin:0;display:grid;gap:10px}.facts div{display:grid;gap:1px}.facts dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.facts dd{margin:0;font-size:14px;color:var(--ink);font-weight:500}.notelist{list-style:none;padding:0;margin:0;display:grid;gap:10px}.notelist li{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:11px 14px}.notelist .notemeta{display:block;font-size:11px;color:var(--ink3);margin-bottom:5px}.notelist p{margin:0;font-size:14px;color:var(--ink2);white-space:pre-wrap}.linkbtn{background:none;border:none;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:left;font-weight:600;font-size:14.5px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.linkbtn:hover{color:var(--north);text-decoration-color:var(--north)}.linkbtn:focus-visible{outline:2px solid var(--north);outline-offset:2px;border-radius:3px}.assist-thread{display:grid;gap:14px;margin:18px 0}.assist-turn{display:grid;gap:8px}.assist-q{margin:0;justify-self:end;max-width:70%;background:var(--north-soft);border:1px solid var(--line);color:var(--ink);border-radius:10px 10px 3px;padding:9px 14px;font-size:14px;font-weight:500}.assist-a{justify-self:start;max-width:85%;background:var(--surface);border:1px solid var(--line);border-radius:10px 10px 10px 3px;padding:11px 15px}.assist-a p{margin:0;font-size:14px;color:var(--ink2);white-space:pre-wrap}.assist-audit{display:block;margin-top:8px;font-size:10.5px;color:var(--ink3);border-top:1px dashed var(--line);padding-top:6px}.assist-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.assist-inputrow{display:flex;gap:10px}.assist-inputrow input{flex:1;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14.5px;padding:11px 14px}.assist-inputrow input:focus-visible{outline:2px solid var(--north);outline-offset:0;border-color:var(--north)}.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:8px}.timeline li{font-size:13px;color:var(--ink2);position:relative}.timeline li:before{content:"";position:absolute;left:-19px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--north)}.timeline li.timeline-end:before{background:var(--warn)}.timeline .mono{font-size:11px;color:var(--ink3);margin-right:6px}.discharge-form{display:grid;gap:10px;margin-top:12px}.dangerish{border-color:var(--warn);color:var(--warn)}.dangerish:hover{color:var(--warn);border-color:var(--warn);filter:brightness(1.15)}.bed.discharged{opacity:.75;border-style:dashed}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media(max-width:780px){.report-grid{grid-template-columns:1fr}}.barchart{display:grid;gap:8px}.barrow{display:grid;grid-template-columns:150px 1fr 34px;gap:10px;align-items:center;padding:3px 4px;border-radius:5px}.barrow:hover{background:var(--surface2)}.barlabel{font-size:12.5px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bartrack{display:block;height:14px;background:var(--bg);border-radius:4px;overflow:hidden}.barfill{display:block;height:100%;background:var(--north);border-radius:0 4px 4px 0;min-width:2px;transition:width .3s ease}.barrow .barfill{border-radius:0 4px 4px 0}.fill-good{background:var(--good)}.fill-warn{background:var(--warn)}.barvalue{font-size:12px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.meter{margin-bottom:14px}.meterhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--ink2);margin-bottom:6px;flex-wrap:wrap}.resetbtn{margin-left:10px;font-size:12px;padding:6px 10px}@media(prefers-reduced-motion:reduce){.barfill{transition:none}}.daylist{display:grid;gap:8px;margin-top:18px}.apptrow{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--north);border-radius:8px;padding:11px 14px}.apptrow.status-attended{border-left-color:var(--good)}.apptrow.status-no-show,.apptrow.status-cancelled{border-left-color:var(--warn);opacity:.8}.appttime{font-size:13px;color:var(--ink);font-weight:600}.apptdur{font-size:10.5px;color:var(--ink3);font-weight:400}.apptbody{display:grid;gap:2px}.appttitle{font-weight:600;font-size:14px;display:flex;gap:8px;align-items:center}.apptmeta{font-size:12.5px;color:var(--ink2)}.apptpatient{font-size:12.5px;font-weight:500}.apptactions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.apptactions .ghost{font-size:12px;padding:6px 10px}.patientpick{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.picky.picked{border-color:var(--north);color:var(--north);background:var(--north-soft)}@media(max-width:640px){.apptrow{grid-template-columns:60px 1fr}.apptactions{grid-column:1 / -1;justify-content:flex-start}}.consentbox{display:grid;gap:4px;justify-items:start}.consentbox input{width:100%}.exportrow{display:grid;grid-template-columns:1fr 220px auto;gap:10px;align-items:center}@media(max-width:720px){.exportrow{grid-template-columns:1fr}}.exportrow input,.exportrow select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;font:inherit;font-size:14px;padding:9px 11px}.exportrow input:focus-visible,.exportrow select:focus-visible{outline:2px solid var(--north);border-color:var(--north)}.exportok{color:var(--good);background:var(--good-bg);border:1px solid var(--good);border-radius:7px;padding:9px 13px;font-size:13.5px;margin:14px 0 0}.exportpreview{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:11.5px;line-height:1.55;color:var(--ink2);white-space:pre-wrap;overflow-x:auto;max-height:320px;overflow-y:auto;margin:12px 0 0}
