:root{--bg:#eef3fb;--panel:#ffffff;--ink:#0b1220;--muted:#5b6b84;--border:#e5eaf2;--shadow: 0 14px 40px rgba(10, 18, 32, .1);--shadow2: 0 10px 24px rgba(10, 18, 32, .08)}html,body,#root{height:100%;width:100%;margin:0;background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}.appShell{height:100%;display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;padding:12px}.topBar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.title{font-size:20px;font-weight:800}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.toggles{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.check{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);background:#fffc;border:1px solid rgba(15,23,42,.1);padding:6px 10px;border-radius:10px;box-shadow:var(--shadow2)}.btn{border:1px solid rgba(15,23,42,.14);background:#fff;padding:7px 10px;border-radius:10px;cursor:pointer;font-size:12px;box-shadow:var(--shadow2)}.btn:hover{filter:brightness(.98)}.kpiDeck{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;align-items:start}.kpiCard{background:#ffffffeb;border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:12px;box-shadow:var(--shadow2)}.kpiTitle{font-size:12px;color:var(--muted);font-weight:700}.kpiValue{font-size:22px;font-weight:900;margin-top:6px;display:flex;gap:6px;align-items:baseline}.kpiUnit{font-size:12px;font-weight:700;color:var(--muted)}.spark path{stroke:#2563eb;opacity:.9}.spark{margin-top:6px}.miniPanel{grid-column:span 1;background:#ffffffeb;border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow2);font-size:12px;color:var(--muted)}.miniPanel summary{cursor:pointer;font-weight:800;color:var(--ink);margin-bottom:6px}.kpiDeck.compact .kpiCard{padding:10px;border-radius:12px}.kpiDeck.compact .kpiTitle{font-size:11px;margin-bottom:4px}.kpiDeck.compact .kpiValue{font-size:18px;margin-top:2px}.kpiDeck.compact .spark{height:26px}.kpiDeck.compact .miniPanel{padding:8px 10px;border-radius:12px;max-width:220px}.mainStage{display:grid;grid-template-columns:1fr 320px;gap:10px;min-height:0}.sceneWrap{position:relative;background:#ffffffbf;border:1px solid rgba(15,23,42,.1);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;min-height:0}.ed3dMount{position:absolute;inset:0}.sidePanel{background:#ffffffeb;border:1px solid rgba(15,23,42,.1);border-radius:18px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:12px}.sideHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sideTitle{font-weight:900;font-size:14px}.sideSub{color:var(--muted);font-size:12px}.sideBlock{background:#f8fbffe6;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px}.sideLabel{color:var(--muted);font-size:12px;font-weight:700}.bigValue{font-size:24px;font-weight:900;margin-top:6px}.progress{height:10px;border-radius:999px;background:#0f172a14;overflow:hidden;margin-top:10px}.progress .bar{height:100%;background:#2563eb}.sideGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pill{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:10px;box-shadow:var(--shadow2)}.pillLabel{font-size:11px;color:var(--muted);font-weight:800}.pillValue{font-size:16px;font-weight:900;margin-top:6px}.pillValue.ok{color:#1d4ed8}.pillValue.warn{color:#b91c1c}.muted{color:var(--muted);font-size:12px;margin-top:6px}.timeline{background:#ffffffeb;border:1px solid rgba(15,23,42,.1);border-radius:16px;box-shadow:var(--shadow2);padding:10px 12px}.timelineRow{display:flex;align-items:center;gap:10px}.nowTag,.agoTag{font-size:12px;color:var(--muted);width:40px}.slider{flex:1}.timelineMeta{margin-top:6px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:12px}.pressureCtl{display:flex;align-items:center;gap:10px}.sliderSmall{width:160px}.roomLabel{background:#ffffffeb;border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:8px 10px;box-shadow:var(--shadow2);min-width:140px}.roomLabelName{font-weight:800;font-size:12px;color:#0b1220;line-height:1.1}.roomLabelOcc{font-size:11px;color:#5b6b84;margin-top:4px}.patientLabel{background:#fffffff2;color:#0b1220;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow);min-width:260px;border:1px solid rgba(15,23,42,.1)}.patientLabelTop{font-weight:900;font-size:13px;margin-bottom:6px}.patientLabelBot{font-size:12px;color:#0b1220d1}.patientLabelBot b{color:#0b1220f5}
