.app.fullscreen{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.top.compact{padding:6px 12px;position:static;flex:none}.top.compact .top-left{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.top.compact .hour{font-size:20px}.top.compact .controls button,.top.compact .file{padding:3px 8px;font-size:13px}.controls button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.main-fit{flex:1;min-height:0;display:flex}.app.fullscreen{--bar-h: 36px;--rail-w: 64px;position:relative;padding:var(--bar-h) 0 0 var(--rail-w);box-sizing:border-box}.topbar{position:absolute;top:0;left:0;right:0;min-height:var(--bar-h);z-index:16;background:var(--panel);border-bottom:1px solid var(--line)}.topbar-mini{height:var(--bar-h);display:flex;align-items:center;justify-content:center;padding:0 12px;box-sizing:border-box}.topbar .topbar-full{display:none;border-bottom:0}.topbar:hover .topbar-mini,.topbar:has(input:focus,select:focus) .topbar-mini{display:none}.topbar:hover .topbar-full,.topbar:has(input:focus,select:focus) .topbar-full{display:flex}.topbar:hover{box-shadow:0 6px 18px #00000026}.rail{position:absolute;top:var(--bar-h);left:0;bottom:0;width:var(--rail-w);z-index:14;overflow:hidden;background:var(--panel);border-right:1px solid var(--line);transition:width .12s ease}.rail-mini{position:absolute;top:0;right:0;bottom:0;left:0;width:var(--rail-w);overflow:hidden}.rail-full{position:absolute;top:0;bottom:0;left:0;width:460px;display:flex;visibility:hidden}.rail-full .schedule{width:100%;flex:1;border-left:0}.rail:hover,.rail:has(input:focus,select:focus){width:460px;box-shadow:6px 0 18px #00000026}.rail:hover .rail-full,.rail:has(input:focus,select:focus) .rail-full{visibility:visible}.rail:hover .rail-mini,.rail:has(input:focus,select:focus) .rail-mini{visibility:hidden}.status-mini{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 5px;font-variant-numeric:tabular-nums}.status-mini .sm-turn{display:flex;flex-direction:column;align-items:center;line-height:1.05}.status-mini .sm-turn b{font-size:20px}.status-mini .sm-turn small{font-size:10px;color:var(--muted)}.status-mini .sm-tile{min-height:34px;padding:4px 3px;flex-direction:row;flex-wrap:wrap;gap:2px;align-content:center;color:#fff;font-weight:700;border-radius:4px}.status-mini .sm-tile .bead{width:11px;height:11px}.status-mini .sm-tile.planned .bead{opacity:.45}.status-mini .sm-zero{opacity:.5;font-weight:400;font-size:12px}.clock{display:flex;align-items:center;gap:8px}.clock-face{width:28px;height:28px}.cf-rim{fill:#f4f4ef;stroke:#8a8a84;stroke-width:1.2}.cf-tick{stroke:#333;stroke-width:.9}.cf-hour{stroke:#111;stroke-width:1.8;stroke-linecap:round}.cf-min{stroke:#111;stroke-width:1.1;stroke-linecap:round}.cf-pin{fill:#c2410c}.led{display:flex;align-items:center;gap:6px;background:#07080a;border:1px solid #2a2c31;border-radius:4px;padding:2px 7px;box-shadow:inset 0 0 6px #000c}.led-day{font:700 11px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#ff4b3a;text-shadow:0 0 4px rgba(255,75,58,.7)}.led-digits{height:20px;width:58px}.led .seg{fill:#ff4b3a;opacity:.09}.led .seg.on{opacity:1;filter:drop-shadow(0 0 1.5px rgba(255,75,58,.85))}.score-top{display:flex;gap:12px;align-items:baseline;padding:3px 10px;font-size:13px;white-space:nowrap}.score-top b{font-size:15px}.toast{position:fixed;top:44px;left:50%;transform:translate(-50%);z-index:20;background:#fee4e2;color:var(--bad);border:1px solid #fca5a5;padding:8px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;max-width:80vw}.drawer{position:fixed;top:var(--bar-h, 36px);right:0;bottom:0;width:min(440px,92vw);z-index:15;background:var(--panel);border-left:1px solid var(--line);box-shadow:-6px 0 18px #00000026;display:flex;flex-direction:column}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.drawer-body{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.drawer-body h3{margin:0;font-size:15px}.drawer .log ol{max-height:none}.board-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:6px 8px;box-sizing:border-box;position:relative}.v2-loading{place-items:center;font-size:14px;color:#9ca3af}.fitbox{position:relative;overflow:hidden;height:100%;min-width:0}.fitbox-inner{position:absolute;top:0;left:50%;transform-origin:top center}.board{position:relative;background:#15161a;border-radius:14px;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);grid-template-rows:44px auto 92px auto 44px;grid-template-areas:". . ." "sd . cc" ". . ." "er . su" ". . ."}.flows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.exit-label{position:absolute;transform:translate(-50%,-50%);z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:110px;padding:4px 6px;background:#fff;border:3px solid;border-radius:12px}.board-cell{min-width:0;display:flex;flex-direction:column;gap:4px}.flow{display:flex;flex-direction:column;align-items:center;gap:2px;color:#e9e9e4;text-align:center;padding:4px}.flow.v{flex-direction:row;gap:8px}.flow-glyph{font-size:26px;line-height:1;opacity:.85}.flow-label{font-size:10px;opacity:.7}.flow-cards{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;max-width:140px}.bdept{--c: #888;--c-soft: #ddd;background:var(--c);color:#fff;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}.bdept-emergency{--c: #c8323a;--c-soft: #f2a3a7}.bdept-surgery{--c: #138a7e;--c-soft: #8fd6cd}.bdept-critical_care{--c: #6a3796;--c-soft: #c7a7e3}.bdept-step_down{--c: #3550a8;--c-soft: #a9b8ec}.bdept-head{display:flex;align-items:center;gap:8px}.bdept-head h2{margin:0;font-size:17px;letter-spacing:.04em;text-transform:uppercase;flex:1}.bdept .quick button{font-size:11px;padding:2px 6px;background:#ffffff26;color:#fff;border-color:#ffffff4d}.placard{display:flex;align-items:center;justify-content:center;width:42px;height:38px;padding:0;background:#00000038;color:#ffffff8c;border:1px dashed rgba(255,255,255,.45)}.placard.up{background:#fff;color:#b42318;border:2px solid #b42318;box-shadow:0 0 0 3px #ffffff59}.sig-icon{position:relative;display:inline-flex}.sig-slash{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.staff-ctl{display:inline-flex;align-items:center;gap:4px;background:#0003;border-radius:14px;padding:2px 4px}.staff-ctl button{width:22px;height:22px;padding:0;border-radius:50%;font-weight:800;line-height:1;background:#fff;color:#222}.bdept-body{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px}.bdept-main{display:flex;flex-direction:column;gap:6px;min-width:0}.bdept-side{display:flex;flex-direction:column;gap:6px}.door{display:flex;align-items:center;gap:6px;background:#0000002e;border-radius:6px;padding:4px 6px;min-height:26px;border-left:4px solid rgba(255,255,255,.6)}.door.er{background:#ffffff29}.req-queue{display:flex;flex-wrap:wrap;align-items:center;gap:3px;background:#fff;border-radius:6px;padding:4px 6px;min-height:22px}.req-queue-label{font-size:10px;font-weight:700;text-transform:uppercase;color:#333;margin-right:3px}.req-rect{display:inline-block;width:22px;height:14px;border-radius:2px;background:var(--from);border:1px solid #111;box-sizing:border-box}.req-rect.ok{cursor:grab;box-shadow:0 0 0 2px #22c55e}.req-rect.ok:hover{transform:scale(1.15)}.door.clickable,.req-queue.clickable{cursor:pointer}.door.clickable:hover{background:#ffffff47}.req-queue.clickable:hover{box-shadow:0 0 0 2px #22c55e}.req-rect.ok{cursor:pointer}.door-icon{display:inline-flex;opacity:.85}.beads{display:flex;flex-wrap:wrap;gap:3px;align-items:center;min-height:18px}.rooms-wrap{background:#ffffff1f;border-radius:6px;padding:5px;transition:outline .1s}.rooms{display:grid;gap:3px}.room{height:24px;background:#fafaf7;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0}.room.empty{background:var(--c-soft);opacity:.55}.room.closed{background:repeating-linear-gradient(45deg,#777,#777 4px,#999 4px,#999 8px);opacity:.8}.room.hallway{background:#fff7e6;outline:1px dashed #d97706}.hall{margin-top:4px;display:flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px dashed rgba(255,255,255,.55);border-radius:4px}.hall .room{width:34px}.drop-hover{outline:3px dashed #fde047!important;outline-offset:2px}.deck{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:62px;padding:3px;border-radius:5px;background:#ffffffe6;color:#222;border:1px solid rgba(0,0,0,.2);box-shadow:2px 2px #00000040;text-align:center}.deck.exit{cursor:pointer}.deck.exit:disabled{opacity:.75;cursor:default}.deck-title{font-size:9px;font-weight:700;text-transform:uppercase;color:#555}.deck-face{display:flex;align-items:center;justify-content:center;height:30px;color:var(--c)}.deck-back{width:22px;height:28px;border-radius:3px;background:repeating-linear-gradient(45deg,var(--c),var(--c) 3px,var(--c-soft) 3px,var(--c-soft) 6px)}.deck-mark{font-size:22px;font-weight:900;color:var(--c)}.deck.event.on{background:#fff7d6}.box{background:#0000002e;border-radius:6px;padding:4px;min-height:44px;display:flex;flex-direction:column;gap:3px}.box-title{font-size:9px;font-weight:700;text-transform:uppercase;opacity:.9}.box-btns{display:flex;gap:4px}.box-btns button{font-size:10px;padding:1px 6px}.event-card{background:#fff7d6;color:#3a2a00;border-radius:6px;padding:5px 8px;font-size:12px;border-left:5px solid #f59e0b}.event-card.pending{background:#ffedd5;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.event-card button{font-size:11px;padding:1px 6px}.bead{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none;vertical-align:middle}.bead-patient{background:radial-gradient(circle at 35% 30%,#5a5a5a,#111 70%)}.bead-unstaffed{background:radial-gradient(circle at 35% 30%,#5a5a5a,#111 70%);box-shadow:0 0 0 2px #ef4444}.bead-staff{background:radial-gradient(circle at 35% 30%,#fff,#c9c9c2 75%);border:1px solid #a3a39c}.bead-extra{background:radial-gradient(circle at 35% 30%,#fffffff2,#b4d2e68c 70%);border:1px solid #8fb3c9}.bead-ready{background:radial-gradient(circle at 35% 30%,#fde68a,#ca8a04 70%);box-shadow:0 0 0 3px var(--dest, #1d2fa8)}.bead-incoming{background:transparent;border:2px dashed rgba(255,255,255,.85);box-sizing:border-box}.bead-leaving{background:radial-gradient(circle at 35% 30%,#5a5a5a,#111 70%);opacity:.55}.bead.person{background:none;border:none;border-radius:0;width:12px;height:15px}.bead.person svg{display:block;width:100%;height:100%}.legend .bead.person{width:10px;height:13px}.bead.draggable{cursor:grab}.bead.draggable:hover{transform:scale(1.25)}.legend .bead{width:12px;height:12px}.arr-card{display:grid;grid-template-columns:1fr 1fr;column-gap:5px;row-gap:0;background:#1d1d20;border:5px solid #e6ecee;border-radius:10px;padding:5px;color:#fff;box-sizing:border-box;min-height:0}.board>.arr-card{grid-area:2 / 2 / 5 / 3;align-self:center;height:300px;margin:0 10px;z-index:2}.arr-card .cal-q{min-height:0;padding:4px}.arr-mid{grid-row:2;grid-column:1 / span 2;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0}.arr-mid .cal-event{position:static;transform:rotate(-3deg);padding:2px 8px;font-size:12px}.arr-mid .cal-prov{margin:0;font-size:10px;text-align:center}.arr-end{font-size:22px;letter-spacing:.08em}button.advance{padding:7px 14px;font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 2px 10px #0006}button.advance kbd{font:600 10px/1 ui-monospace,Consolas,monospace;border:1px solid rgba(255,255,255,.6);border-radius:3px;padding:2px 4px;margin-left:6px;opacity:.85}.cal-q-mark{opacity:.5;font-size:20px}.cal-q{min-height:58px;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:300}.q-emergency{background:#e1302f}.q-step_down{background:#3550a8}.q-surgery{background:#138a7e}.q-critical_care{background:#6a3796}.cal-big{font-size:34px;line-height:1}.cal-sub{line-height:1.1;display:flex;align-items:center;gap:6px;padding:1px 0}.cal-sub small{font-size:10px;opacity:.85}.cal-input{width:3.2em;font-size:16px;text-align:center;padding:2px;color:#111}.diverted{position:relative;display:inline-flex;opacity:.45}.diverted:after{content:"";position:absolute;left:-2px;right:-2px;top:50%;border-top:2px solid #fff;transform:rotate(-35deg)}.cal-tokens{display:inline-flex;flex-wrap:wrap;gap:2px;max-width:86px}.walk-icon{width:8px;height:14px;border-radius:4px 4px 2px 2px;background:currentColor;opacity:.85;display:inline-block}.cal-prov{text-align:center;margin-top:6px;opacity:.85}.cal-event{position:absolute;inset:40px 14px auto 14px;background:#fde047;color:#7c2d12;font-weight:900;text-align:center;padding:6px;border-radius:4px;transform:rotate(-3deg);box-shadow:2px 2px #0006}button.big{padding:10px;font-size:15px}.legend{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}.idle-beyond{margin-top:4px;display:flex;gap:8px;align-items:center;color:#ffffffe6}.datacard{border:2px solid #222;border-radius:6px;padding:8px 10px;background:#fff}.datacard ol{margin:6px 0;padding-left:20px;font-weight:700}.datacard-btn{background:#111;color:#fff;border-color:#111;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.dc-card{position:relative;width:min(420px,92vw);background:#fff;color:#111;border-radius:10px;padding:26px 30px 18px;box-shadow:0 18px 48px #00000059}.dc-close{position:absolute;top:8px;right:8px;border:none;background:transparent;font-size:18px}.dc-title{font-size:56px;font-weight:900;letter-spacing:.22em;text-align:center;margin-bottom:18px}.dc-body{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:stretch}.dc-scale{display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-style:italic;font-size:13px}.dc-arrow{flex:1;width:22px;margin:24px 0 6px;position:relative;border-left:2px solid #111;border-right:2px solid #111;border-bottom:none}.dc-arrow:before{content:"";position:absolute;top:-14px;left:50%;transform:translate(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:16px solid #111}.dc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px;font-size:21px;font-weight:800}.dc-foot{margin:18px 0 4px;font-size:12px;color:#555}.dc-src{margin:0;font-size:10px;color:#888}.paperwork-btn{font-weight:700}.pw-sheet{position:relative;width:min(1180px,96vw);max-height:90vh;display:flex;flex-direction:column;gap:8px;background:#fff;color:#111;border-radius:10px;padding:18px 20px 12px;box-shadow:0 18px 48px #00000059}.pw-title{margin:0;font-size:22px;text-align:center}.pw-scroll{overflow:auto;display:flex;flex-direction:column;gap:14px}.pw-table{border-collapse:collapse;font-size:12px}.pw-table th,.pw-table td{border:1px solid #ddd;padding:3px 4px;text-align:center;min-width:26px}.pw-table th{font-weight:600;color:#666;background:#fafafa;line-height:1.1}.pw-table th small{display:block;font-size:9px;color:#999}.pw-table th.now{background:#fde68a;color:#111}.pw-table .pw-dept{text-align:left;color:#fff;background:var(--c);min-width:150px;font-size:13px}.pw-table .pw-label{text-align:right;color:#444;white-space:nowrap}.pw-table td.hit{font-weight:700;font-family:Segoe Print,Comic Sans MS,cursive;color:#1d2fa8}.pw-table .pw-total{font-weight:800;background:#f3f4f6}@keyframes v1pulse{0%,to{box-shadow:0 0 0 4px var(--alert)}50%{box-shadow:0 0 0 4px transparent}}.bdept.alert-1{--alert: #f59e0b;animation:v1pulse 1.8s ease-in-out infinite}.bdept.alert-2{--alert: #ef4444;animation:v1pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.bdept.alert-1,.bdept.alert-2{animation:none;box-shadow:0 0 0 4px var(--alert)}}.schedule{width:440px;flex:0 0 440px;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-left:1px solid var(--line);background:var(--panel);box-sizing:border-box}.sch-head{display:flex;justify-content:space-between;align-items:center}.sch-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.sch-bar button,.sch-bar select,.sch-bar .file{font-size:12px;padding:2px 6px}.sch-bar select{max-width:150px}.sch-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:4px}.sch{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.sch th,.sch td{padding:1px 2px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.sch thead th{position:sticky;background:var(--panel);z-index:1;font-weight:600;font-size:11px}.sch thead tr:first-child th{top:0}.sch thead tr:nth-child(2) th{top:18px}.sch th.grp{background:var(--c);color:#fff;border-left:2px solid var(--panel)}.sch th.sub{background:color-mix(in srgb,var(--c) 22%,var(--panel));font-weight:500}.sch th.sub.out,.sch td.sch-exit{border-right:2px solid var(--panel)}.sch td.sch-arr,.sch td.sch-exit{background:color-mix(in srgb,var(--c) 9%,transparent);vertical-align:middle;min-width:22px}.sch td.sch-exit{background:color-mix(in srgb,var(--c) 16%,transparent)}.sch td.edit{cursor:pointer}.sch td.edit:hover{outline:1px solid var(--c);outline-offset:-1px}.sch td.ov{box-shadow:inset 0 0 0 2px var(--warn)}.sch td.blocked{color:var(--muted)}.paxs{display:inline-flex;flex-wrap:wrap;gap:1px;max-width:46px;justify-content:center;vertical-align:middle;line-height:0}.paxs small{line-height:1;font-size:9px}.pax{width:7px;height:9px;display:block}.sch-q{color:var(--muted)}.sch-zero{color:var(--muted);opacity:.5;font-size:10px}.sch th small{font-weight:400;color:var(--muted)}.sch tr.past td{color:var(--muted)}.sch tr.now td{background:color-mix(in srgb,var(--accent) 16%,transparent);font-weight:700}.sch tr.now td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.sch .sch-hour{text-align:left;position:sticky;left:0;background:var(--panel);z-index:1}.sch thead th.sch-hour{z-index:2}.sch tr.now td.sch-hour{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.sch tr.now td.sch-arr,.sch tr.now td.sch-exit{background:color-mix(in srgb,var(--c) 9%,color-mix(in srgb,var(--accent) 16%,var(--panel)))}.sch .sch-ev{margin-left:3px;color:var(--warn);font-weight:700}.sch button.link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.sch button.link:hover{color:var(--accent);text-decoration:underline}.sch input.sch-in{width:30px;box-sizing:border-box;border-radius:3px;padding:1px 2px;font-size:12px;text-align:center;border:1px solid transparent;background:transparent;color:var(--fg);-moz-appearance:textfield}.sch-in::-webkit-outer-spin-button,.sch-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sch-in:hover,.sch-in:focus{border-color:var(--line);background:var(--bg)}.sch-in::placeholder{color:var(--muted);opacity:.8}.sch-in.ov{color:var(--warn);font-weight:700}.sch-cfg{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.sch-cfg th,.sch-cfg td{padding:1px 4px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.sch-cfg thead th{font-weight:600;font-size:11px}.sch-cfg tbody th.grp{background:var(--c);color:#fff;text-align:left;font-weight:600}.sch-cfg tbody td{background:color-mix(in srgb,var(--c) 9%,transparent)}.num-field{width:64px;box-sizing:border-box;border-radius:3px;padding:1px 4px;font-size:12px;text-align:center;border:1px solid var(--line);background:var(--bg);color:var(--fg)}.num-field::placeholder{color:var(--muted);opacity:.8}.staff-max{font-size:10px;color:inherit;opacity:.85}@media(max-width:900px){.main-fit{flex-direction:column}.schedule{width:100%;flex-basis:auto;max-height:45vh;border-left:0;border-top:1px solid var(--line)}}.cfg-step{display:inline-flex;gap:2px;margin-left:4px;vertical-align:middle}.cfg-step button{width:22px;height:20px;padding:0;line-height:1;font-weight:800}:root{--bg: #f6f6f4;--panel: #ffffff;--fg: #1d1d1b;--muted: #6b6b66;--line: #deded8;--warn: #b4530a;--bad: #b42318;--ok: #1f7a3a;--accent: #2f4f9f;--er: #c2410c;--su: #0f766e;--cc: #7e22ce;--sd: #1d4ed8;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;color:var(--fg);background:var(--bg)}body{margin:0}button{font:inherit;padding:4px 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}input,select{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:6px}input[type=number]{width:4.5em}.small{font-size:12px}.muted{color:var(--muted)}.warn-text{color:var(--warn)}.banner{background:#fde68a;color:#7c2d12;font-weight:700;padding:6px 16px;text-align:center;letter-spacing:.02em}.setup{max-width:640px;margin:48px auto;padding:0 16px;display:flex;flex-direction:column;gap:12px}.app{padding-bottom:32px}.top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.hour{font-size:26px;font-weight:700}.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.manual{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff7ed;padding:4px 8px;border-radius:6px}.manual label{display:flex;gap:4px;align-items:center;font-size:12px}.file input{display:none}.file{border:1px solid var(--line);border-radius:6px;padding:4px 10px;background:#fff;cursor:pointer}.error{background:#fee4e2;color:var(--bad);padding:8px 16px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:12px;padding:12px 16px}.dept{background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--muted);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.dept-emergency{border-top-color:var(--er)}.dept-surgery{border-top-color:var(--su)}.dept-critical_care{border-top-color:var(--cc)}.dept-step_down{border-top-color:var(--sd)}.dept-head{display:flex;justify-content:space-between;align-items:center}.dept-head h2{margin:0;font-size:18px}.signal.up{background:var(--bad);color:#fff;border-color:var(--bad)}.nums{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.num{display:flex;flex-direction:column;align-items:center;padding:4px;background:var(--bg);border-radius:6px}.num-v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.num-l{font-size:11px;color:var(--muted);text-align:center}.num.warn .num-v{color:var(--warn)}.line{font-size:13px}.tag.hold{background:#1e3a8a;color:#fff;padding:1px 6px;border-radius:4px;font-size:12px}.event{background:#fef3c7;padding:4px 8px;border-radius:6px;font-size:13px}.event.pending{background:#ffedd5;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.req{display:inline-block;margin:0 4px 2px 0;padding:1px 6px;border-radius:4px;background:var(--bg)}.req.ok{background:#dcfce7}.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lend{display:inline-flex;gap:4px}.paperwork{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:6px}.bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;padding:0 16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.panel h3{margin:0 0 8px;font-size:15px;display:flex;justify-content:space-between;gap:8px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:3px 6px;border-bottom:1px solid var(--line)}tr.total td{font-weight:700}.exc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.replay{margin-top:10px;display:flex;gap:8px;align-items:center}.replay input{flex:1}.log ol{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.log li{border-bottom:1px solid var(--line);padding:4px 0;font-size:12px}.ev.warning{color:var(--warn)}.ev.exception{color:var(--cc);font-weight:600}.refs{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.refs a{color:var(--accent)}.prov{margin-left:10px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;vertical-align:middle;background:var(--bg);color:var(--muted)}.prov.confirmed{background:#dcfce7;color:var(--ok)}.prov.unknown{background:#ffedd5;color:var(--warn)}.prov.provisional{background:#fde68a;color:#7c2d12}.prov:empty{display:none}.board-summary{width:auto;align-self:flex-start}.board-summary th,.board-summary td{padding:2px 10px 2px 0}.board-summary td:not(:first-child),.board-summary th:not(:first-child){text-align:right}.app.fullscreen{--bg: #121317;--panel: #1c1e24;--fg: #e6e6e1;--muted: #9c9c95;--line: #34373f;--warn: #f59e0b;--bad: #f87171;--ok: #4ade80;--accent: #6b8fe6;color:var(--fg);background:var(--bg)}:where(.app.fullscreen) button,:where(.app.fullscreen) .file{background:var(--panel);color:var(--fg);border-color:var(--line)}:where(.app.fullscreen) button:hover:not(:disabled),:where(.app.fullscreen) .file:hover{background:#2a2d35}:where(.app.fullscreen) input,:where(.app.fullscreen) select{background:var(--bg);color:var(--fg);border-color:var(--line)}:where(.app.fullscreen) a{color:#93b4ff}.app.fullscreen .toast{background:#3b1414;color:#fecaca;border-color:#7f1d1d}.app.fullscreen .sch td.sch-arr{background:color-mix(in srgb,var(--c) 14%,#e4e4de);color:#55554f}.app.fullscreen .sch td.sch-exit{background:color-mix(in srgb,var(--c) 26%,#e4e4de);color:#55554f}.app.fullscreen .sch tr.past td.sch-arr,.app.fullscreen .sch tr.past td.sch-exit{opacity:.6}.app.fullscreen .sch tr.now td.sch-arr,.app.fullscreen .sch tr.now td.sch-exit{background:color-mix(in srgb,var(--c) 14%,#fbe7a6)}
