/* One retained scene serves campus functions and emergency semantic tools. */
.app.scene-overview .center > :not(.elder-scene-host),
.app.scene-emergency .center > :not(.elder-scene-host) { display:none!important; }
.elder-scene-host { position:absolute; inset:0; min-width:0; min-height:0; overflow:hidden; border-radius:12px; border:0; pointer-events:auto; background:transparent; }
.elder-scene-host[hidden] { display:none; }
.elder-scene-frame { display:block; width:100%; height:100%; border:0; color-scheme:normal; background:transparent; }
.elder-scene-status { position:absolute; z-index:2; left:12px; right:12px; bottom:12px; padding:10px 12px; border-radius:8px; color:#edf2f3; background:rgba(25,35,40,.94); font:12px/1.5 sans-serif; }
.elder-scene-status[hidden] { display:none; }
.elder-scene-status button { margin-left:12px; padding:5px 10px; border:1px solid #789197; border-radius:6px; background:#d0db97; color:#172322; cursor:pointer; }
.elder-scene-status button:focus-visible {outline:2px solid #63c7dc;outline-offset:2px;}
@media(max-width:920px){.app.scene-overview .center {min-height:560px;}}

/* Emergency keeps business actions but has no schematic or floor picker. */
.app.scene-emergency .center > .floor-control { display:none; }
/* Leave the right floor rail unobstructed by the existing AI launcher. */
@media(min-width:921px){.app.scene-overview .space-ai{right:calc(var(--panel-w) + 104px);}}
.app.scene-safety .center > :not(.elder-scene-host):not(#bottomDomain):not(#safetyAlerts):not(.safety-detail):not(.safety-risk-tag):not(.safety-risk-panel) {display:none!important;}
.app.scene-safety [data-safety-resident] {cursor:default;}

.app.scene-safety .elder-scene-host {bottom:110px;}
@media(max-width:620px){.app.scene-safety .elder-scene-host {bottom:155px;}}

/* Retain the alert selectors and reserve the right-hand scene column for details. */
.app.scene-safety .safety-alerts {width:calc(55% - 26px);top:12px;left:12px;gap:6px;}
.app.scene-safety .safety-alert-card {padding:8px 10px;}
.app.scene-safety .safety-alert-card b {margin:4px 0;}
.app.scene-safety .safety-alert-card.selected {border-color:var(--primary);box-shadow:inset 3px 0 var(--primary),0 2px 6px #173d3212;}
.safety-detail {position:absolute;z-index:5;left:auto;right:8px;top:62px;bottom:120px;width:calc(45% - 16px);height:auto;max-height:none;max-width:none;margin:0;box-sizing:border-box;box-shadow:0 4px 18px #183c3220;}
.safety-detail:not([open]) {display:none;}
.safety-detail .system-dialog-head {position:sticky;top:0;z-index:1;background:inherit;padding:12px;align-items:flex-start;}
.safety-detail .system-dialog-head h2 {font-size:13px;}
.safety-detail .module-dialog-body {display:block;padding:10px;}
.safety-detail .detail-grid {grid-template-columns:minmax(0,1fr);gap:10px;}
.safety-detail .detail-facts,.safety-detail .detail-sensor-list,.safety-detail .closure-flow {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.safety-detail .detail-summary {display:block;}
.safety-detail .detail-summary h3 {font-size:13px;}
.safety-detail .detail-summary p {font-size:11px;}
.safety-detail .detail-level {display:inline-block;margin-top:8px;}
.safety-detail .detail-actions {flex-wrap:wrap;}
@media(max-width:620px){.safety-detail {bottom:165px;}}
.safety-detail .detail-workspace {padding:0;}
.safety-detail .detail-block {padding:10px;}
.safety-detail .detail-no-evidence {padding:10px;}

/* Two-line alert cards and a fully interactive dock with a fixed close control. */
.app.scene-safety .safety-alerts {width:min(260px,calc(55% - 26px));gap:6px;}
.app.scene-safety .safety-alert-card {padding:7px 9px;border-radius:8px;min-width:0;}
.app.scene-safety .safety-alert-card > span {display:flex;justify-content:flex-start;gap:7px;height:18px;}
.app.scene-safety .safety-alert-card b {margin:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app.scene-safety .safety-alert-card small {display:block;line-height:15px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app.scene-safety .safety-alert-card .safety-category {flex:none;padding:2px 4px;font-size:8px;}
.safety-detail {pointer-events:auto;overflow:hidden;isolation:isolate;}
.safety-detail[open] {display:flex;flex-direction:column;}
.safety-detail .system-dialog-head {position:relative;flex:none;min-width:0;align-items:center;gap:8px;background:var(--panel-bg,oklch(0.97 0.012 178));}
.safety-detail .system-dialog-head > div {min-width:0;flex:1;}
.safety-detail .system-dialog-head .dialog-close {display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;pointer-events:auto;cursor:pointer;}
.safety-detail .module-dialog-body {flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;}
.safety-detail .detail-summary h3 {display:none;}
.safety-detail .detail-summary p {margin-top:0;}
.safety-detail .detail-actions {position:sticky;bottom:-10px;background:var(--panel-bg,oklch(0.97 0.012 178));padding:10px 0;margin-top:10px;}
.safety-detail .detail-actions button {flex:1;padding:8px 6px;font-size:10px;}
[data-theme="dark"] .safety-detail .system-dialog-head,[data-theme="dark"] .safety-detail .detail-actions {background:oklch(0.22 0.025 178);}
/* Shared front-end risk view: one set of controls, adopted from the semantic scene. */
.app.scene-safety .center > .safety-risk-tag,.app.scene-safety #safetyRiskPanel {display:block!important;}
.app.scene-safety .center > .safety-risk-tag[hidden],.app.scene-safety #safetyRiskPanel[hidden] {display:none!important;}
.safety-risk-tag {position:absolute;z-index:4;left:12px;top:12px;pointer-events:auto;}
.app.scene-safety .safety-alerts {top:62px;}
.app.scene-safety .elder-scene-host {bottom:110px;}
.app.scene-safety #leftPanel .safety-risk-panel {position:relative;z-index:auto;left:auto;top:auto;width:auto;height:auto;min-height:0;flex:1;overflow:auto;padding:12px;}
.app.scene-safety .safety-detail {bottom:12px;}
.safety-food-alerts .bottom-domain-head h2 {font-size:13px;}
.safety-food-alerts .bottom-domain-grid {grid-template-columns:1fr;}
.safety-food-alerts .bottom-domain-item {padding:12px;}
.safety-risk-panel {position:absolute;z-index:4;left:12px;top:62px;width:min(300px,calc(100% - 24px));height:min(640px,calc(100% - 82px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;padding:12px;box-sizing:border-box;border-radius:12px;}
.risk-hosted {position:static;color:var(--ink);font-family:inherit;font-size:11px;line-height:1.5;}
.risk-hosted[hidden] {display:none;}
.risk-hosted > label {display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;}
.risk-hosted input {accent-color:var(--primary);}
.risk-hosted .risk-gradient {height:5px;margin-top:9px;border-radius:6px;background:linear-gradient(90deg,#42c99a,#f2c94c,#ef5953);}
.risk-hosted .risk-scale {display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:4px;}
.risk-hosted .risk-message {color:var(--muted);font-size:10px;}
.risk-hosted .risk-message:empty {display:none;}
.risk-hosted h3 {font-size:11px;margin:10px 0 6px;padding-top:9px;border-top:1px solid var(--line);}
.risk-hosted h4 {font-size:10px;color:var(--muted);margin:8px 0 4px;}
.risk-hosted button {font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--line);background:var(--space-soft);border-radius:8px;padding:9px;}
.risk-hosted .risk-list button {display:flex;align-items:flex-start;gap:6px;width:100%;text-align:left;margin-bottom:4px;padding:6px 7px;background:transparent;border-radius:6px;}
.risk-hosted .risk-list button > span {min-width:0;overflow-wrap:anywhere;}
.risk-hosted button:hover {background:var(--space-soft);border-color:var(--primary);}
.risk-hosted button:focus-visible {outline:2px solid var(--primary);outline-offset:2px;}
.risk-hosted .risk-severity-dot {flex:0 0 7px;height:7px;border-radius:50%;margin-top:5px;}
.risk-hosted strong,.risk-hosted small {display:block;}
.risk-hosted .risk-list strong {font-size:11px;font-weight:550;}
.risk-hosted small {font-size:10px;color:var(--muted);margin-top:3px;}
.risk-hosted .risk-selection header {display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.risk-hosted .risk-selection p {border-bottom:1px solid var(--line);padding-bottom:9px;font-size:11px;}
.risk-hosted .risk-focus-status {color:var(--muted);}
.safety-food-alerts .bottom-domain-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.safety-food-alerts .bottom-domain-item {padding:8px;gap:4px;align-items:flex-start;}
.safety-food-alerts .bottom-domain-item > span {font-size:8px;}

.risk-kind {display:inline-block;margin-right:5px;padding:1px 4px;border-radius:4px;font-size:9px;line-height:1.5;font-style:normal;font-weight:500;vertical-align:1px;}
.risk-kind-person {background:#e2f2ec;color:#246956;}
.risk-kind-device {background:#e5edf9;color:#375f94;}
.risk-hosted .risk-selection span {overflow-wrap:anywhere;}
.risk-person-frame {position:relative;margin-top:4px;overflow:hidden;border-radius:6px;background:#172320;}
.risk-person-frame img {display:block;width:100%;max-height:180px;object-fit:cover;}
.risk-person-frame time {position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:3px;background:#10201dcc;color:#fff;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-shadow:0 1px 2px #000;}
.risk-video-error:empty {display:none;}
.risk-preview .risk-list[role="status"] {min-height:80px;}

/* Care uses the shared personnel scene and its single contextual toolbar. */
.app.scene-care .center > :not(.elder-scene-host):not(#bottomDomain) {display:none!important;}
.app.scene-care .elder-scene-host {bottom:110px;}
.safety-risk-tag[hidden] {display:none!important;}
