*{box-sizing:border-box}html{color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f4f6fa;color:#202d46}body{margin:0;--surface:#fff;--line:#dce2eb;--ink:#202d46;--muted:#64728a;--accent:#254dc0;--columns:2}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b36b00;outline-offset:3px}a{color:var(--accent)}header{background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:22px 34px;gap:18px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand-icon{font-size:37px;color:var(--accent)}h1{font-size:25px;margin:0;letter-spacing:-.7px}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.demo-badge{font-size:11px;font-weight:750;letter-spacing:.7px;border-radius:6px;padding:10px 13px;background:#eef2fc;color:#294aa2}.connection{padding:12px 35px;background:#e9edf5;display:flex;gap:10px;align-items:center;font-size:12px;color:#495974}.connection b{margin-left:auto;font-size:10px;white-space:nowrap}.connection.disconnected{background:#ffeded;color:#9a2a36}.connection.disconnected>span:first-child{color:#ad2333}nav{display:flex;gap:5px;padding:12px 34px;border-bottom:1px solid var(--line);background:var(--surface)}nav button{border:0;background:transparent;padding:12px 22px;border-radius:9px;display:flex;gap:10px;font-weight:650;color:var(--muted)}nav [aria-current=page]{background:#eaf0ff;color:var(--accent)}main{max-width:1600px;margin:auto;padding:28px 34px;min-height:65vh}main:focus{outline:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat{border:1px solid var(--line);background:var(--surface);padding:20px 24px;border-radius:15px}.stat strong{display:block;font-size:34px;line-height:1.2}.stat span{display:block;color:var(--muted);font-size:13px;margin-top:7px}.stat.free{background:#e2f3e8;border-color:#c3e2ce;color:#1e6940}.stat.free span{color:#1e6940}.section-head{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:18px}h2{margin:0;font-size:25px;letter-spacing:-.7px}h3{margin:0 0 9px;font-size:18px}p{line-height:1.65}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:750;color:var(--accent);margin:0 0 7px}.section-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.section-head>span{font-size:12px;white-space:nowrap;color:var(--muted)}.controls{display:flex;gap:12px;align-items:end;margin-bottom:20px}.controls label{display:grid;gap:7px;font-size:12px;color:var(--muted);flex:1}.controls label:last-child{flex:0 0 190px}input,select{width:100%;border:1px solid var(--line);padding:13px 14px;border-radius:10px;background:var(--surface);color:var(--ink);min-height:46px}input::placeholder{color:#78869e}.rooms{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:18px}.room{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}.room-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.room-icon{background:#eff3ff;color:#254dc0;font-size:25px;width:42px;height:42px;border-radius:12px;text-align:center;padding-top:3px}.room-head h3{font-size:17px;margin-bottom:3px}.room-head p{font-size:11px;margin:0;color:var(--muted)}.beds{display:grid;gap:11px}.bed{width:100%;text-align:left;border:1px solid transparent;border-radius:12px;padding:15px 17px;background:#e9edf5;display:block;color:#202d46}.bed:hover{border-color:#6b80ba;box-shadow:0 3px 10px #1833610d}.bed-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:8px}.bed strong{display:block;font-size:19px;letter-spacing:-.3px}.bed .patient-id{font-size:10px;display:block;margin:4px 0 9px;opacity:.78}.bed p{font-size:12px;line-height:1.5;margin:4px 0}.bed small{font-size:10px;display:block;margin-top:9px;opacity:.78}.bed.free{background:#e2f3e8;color:#1e6940;min-height:83px}.bed.free .bed-top{margin:0}.bed.free p{font-size:11px;margin-top:9px}.BLUE{background:#dfeafe}.RED{background:#fce2e2}.PINK{background:#fbe0ee}.YELLOW{background:#fff3bb}.ORANGE{background:#ffe7cf}.PURPLE{background:#ece0fa}.DEFAULT{background:#e9edf5}.legend,.note{font-size:12px;color:var(--muted);line-height:1.65}.legend{margin:18px 0 0;display:flex;gap:8px;align-items:center}.green-dot{width:9px;height:9px;background:#438758;border-radius:50%;display:inline-block}.empty{padding:35px;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.tabs{display:flex;gap:8px;margin:20px 0}.tabs button,.outline,.dialog-foot button{border:1px solid var(--line);border-radius:9px;padding:11px 15px;background:var(--surface);min-height:43px;font-weight:600;font-size:12px}.tabs button[aria-pressed=true]{border-color:var(--accent);background:#eaf0ff;color:var(--accent)}.history-list{display:grid;gap:12px;margin-top:18px}.history-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:left;display:grid;gap:7px}.history-row small{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:24px}.settings-card p{font-size:13px;color:var(--muted);margin:8px 0 16px}.settings-card .row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.settings-card .row small{display:block;color:var(--muted);margin-top:5px}.settings-card label{font-size:12px;display:grid;gap:8px;margin-bottom:12px}.settings-card ul{padding-left:18px;font-size:13px;line-height:1.8}.status-dot{font-size:11px;color:var(--accent);white-space:nowrap}.settings-card.wide{grid-column:1/-1}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#edf1f7;padding:8px 11px;border-radius:7px;font-size:11px;color:#495974}.readonly-banner{padding:14px 17px;background:#eef2fc;border:1px solid #d7e0f7;border-radius:10px;color:#34538a;font-size:12px;line-height:1.6;margin:16px 0}.settings-card button{margin-top:6px}.settings-card .outline{width:100%}footer{max-width:1600px;margin:0 auto;padding:22px 34px 105px;display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}dialog{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 30px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 20px 90px #12203855}dialog::backdrop{background:#15213d90}.dialog-head{position:sticky;top:0;z-index:1;background:var(--surface);padding:23px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;justify-content:space-between}.dialog-head h2{font-size:23px}.dialog-head button{border:0;background:#eef1f7;color:#304467;border-radius:8px;padding:10px 14px;font-size:17px}#dialog-body{padding:23px 25px}.patient-summary{padding:17px;border-radius:12px;color:#202d46;line-height:1.7}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:5px}.detail-grid dd{font-size:14px;margin:0;line-height:1.5;overflow-wrap:anywhere}.preview-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.preview-actions button{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px}.dialog-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:15px 25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-foot span{font-size:11px;color:var(--muted)}fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}fieldset label{font-size:12px;display:grid;gap:7px}fieldset:disabled input,fieldset:disabled select{opacity:1;-webkit-text-fill-color:var(--ink);color:var(--ink);background:#f3f5f8}fieldset:disabled{opacity:.85}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}body.dark{--surface:#192337;--line:#35435c;--ink:#e5ebf6;--muted:#a7b4ca;--accent:#abc2ff;background:#101929;color:var(--ink)}.dark nav [aria-current=page],.dark .tabs button[aria-pressed=true]{background:#293d63}.dark .connection{background:#25344e;color:#d2dff2}.dark .demo-badge,.dark .readonly-banner{background:#25344e;color:#d2dff2}.dark fieldset:disabled input,.dark fieldset:disabled select{background:#25344e}.dark .room-icon{background:#2c4066;color:#bdcfff}
@media(min-width:1800px){main{max-width:1900px}.rooms{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.settings-card.wide{grid-column:auto}header{padding:18px 22px}.connection{padding:11px 22px}nav{padding:10px 22px}main{padding:24px 22px}.rooms{gap:14px}.room{padding:14px}.bed{padding:13px}.stat{padding:17px}.stat strong{font-size:29px}footer{padding-inline:22px}}
@media(max-width:599px){header{padding:17px 18px;align-items:start;gap:7px}.brand{gap:9px}.brand-icon{font-size:29px}h1{font-size:21px}.brand p{font-size:10px}.demo-badge{font-size:8px;padding:7px 8px;max-width:75px;text-align:center;line-height:1.5}.connection{padding:11px 18px;font-size:10px}.connection b{display:none}nav{padding:8px 14px;gap:4px;justify-content:space-between}nav button{padding:12px 13px;font-size:12px;gap:7px;flex:1;justify-content:center}main{padding:22px 17px}.stats{gap:8px;margin-bottom:25px}.stat{padding:15px 10px;border-radius:12px}.stat strong{font-size:28px}.stat span{font-size:10px;line-height:1.4}h2{font-size:23px}.section-head>span{font-size:10px}.controls{display:grid;grid-template-columns:1fr}.controls label:last-child{display:block}.controls select{margin-top:7px}.rooms{grid-template-columns:1fr}.room{padding:16px}.bed{padding:15px}.bed strong{font-size:19px}.bed p{font-size:12px}.section-head{gap:10px}.legend{align-items:start}.legend .green-dot{flex:none;margin-top:5px}.settings-card{padding:20px}.settings-card .row{font-size:12px}.tabs button{font-size:11px;padding:11px}.detail-grid{grid-template-columns:1fr}.dialog-head,#dialog-body,.dialog-foot{padding:18px}.dialog-head h2{font-size:21px}.dialog-foot span{max-width:180px}.dialog-foot button{white-space:nowrap}footer{display:grid;padding:20px 18px 110px;line-height:1.7}.pwa-bar{font-size:10px!important}}
