/* Nurse station - layout (palette + primitives come from ../theme.css) */
body{display:flex;flex-direction:column}

#bar{display:flex;align-items:center;gap:12px;padding:11px 18px;background:var(--card);border-bottom:1px solid var(--border)}
#bar .sub{color:var(--muted)}
#bar label{color:var(--muted);font-size:13px;display:inline-flex;align-items:center;gap:6px}
#bar #me{width:130px}
#bar input,#bar select{padding:7px 10px}
.mute{display:inline-flex;align-items:center;gap:5px}
.wallbtn{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:7px 13px;cursor:pointer;font:inherit}
.wallbtn:hover{background:var(--surface2)}

main{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;overflow:auto;background:var(--surface)}
.col h2{font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin:.2em 0 .8em;display:flex;align-items:center;gap:8px;color:var(--muted)}
.list{display:flex;flex-direction:column;gap:12px}

.bed{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:4px 16px 8px;box-shadow:var(--shadow)}
.bed.has-emergency{border-color:var(--emergency);box-shadow:0 0 0 1px var(--emergency),var(--shadow)}
.bed h3{margin:0;padding:12px 0 4px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.bed h3 .ref{color:var(--muted);font-weight:400;font-size:12px;background:var(--surface2);padding:1px 8px;border-radius:6px}

.call{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--border)}
.cicon{flex:none;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--muted)}
.cicon svg{width:22px;height:22px}
.cicon.high{background:var(--emergency-050);color:var(--emergency)}
.cicon.emergency{background:var(--emergency);color:#fff}
.call .info{flex:1;min-width:0}
.call .name{font-weight:600}
.call .meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px;margin-top:2px;flex-wrap:wrap}
.call .meta .sep{opacity:.5}
.call .meta .wait{font-variant-numeric:tabular-nums;color:var(--text)}
.call .meta .wait.over{color:var(--warn)}
.tag.esc{background:var(--warn-050);color:var(--warn)}
.resp{color:var(--ok);white-space:nowrap}
.resp.warn{color:var(--muted)}

.acts{display:flex;gap:7px;flex-wrap:wrap}
.acts button{border:1px solid var(--border);border-radius:9px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;background:var(--card);color:var(--text);transition:background .12s,border-color .12s}
.acts button:hover{background:var(--surface2)}
.acts .come{background:var(--primary);border-color:var(--primary);color:#fff}
.acts .come:hover{background:var(--primary-strong);border-color:var(--primary-strong)}
.acts .resolve{background:var(--ok);border-color:var(--ok);color:#fff}
.acts .resolve:hover{filter:brightness(.95)}
.acts .detach{color:var(--warn)}

.empty{color:var(--muted);padding:22px;text-align:center;border:1px dashed var(--border-strong);border-radius:12px;background:var(--card)}

/* login overlay */
#login{position:fixed;inset:0;background:rgba(22,26,35,.45);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:80;padding:20px}
.loginCard{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg)}
.loginCard h2{margin:0;font-size:20px}
.loginCard .apihint{margin:0;color:var(--muted);font-size:12px;word-break:break-all}
.loginCard button{background:var(--primary);color:#fff;border:0;border-radius:10px;padding:13px;font:inherit;font-weight:600;cursor:pointer}
.loginCard button:hover{background:var(--primary-strong)}
.loginCard .err{margin:0;color:var(--warn);font-size:13px;min-height:1.2em}

/* wall-display mode: larger + glanceable */
body.wall{font-size:18px}
body.wall .col h2{font-size:15px}
body.wall .badge{font-size:16px;padding:2px 12px}
body.wall .bed h3{font-size:19px}
body.wall .call{padding:14px 0}
body.wall .acts button{font-size:15px;padding:10px 15px}

@media(max-width:760px){main{grid-template-columns:1fr}}
