/* Geometry only: retain the established white/blue product theme. */
.wall-grid .camera-card{position:relative}.wall-grid .tile-actions{position:absolute;bottom:28px;left:0;right:0;z-index:8;background:#fffffff0;pointer-events:none}.wall-grid .wall-slot:hover .tile-actions,.wall-grid .wall-slot:focus-within .tile-actions{pointer-events:auto}
.safety-packs{padding:16px}.safety-packs>div{display:flex;gap:8px;flex-wrap:wrap}.safety-packs p,.safety-capabilities>p{color:var(--muted);font-size:12px}.safety-capabilities>p,.safety-capabilities>h3{padding:0 16px}.safety-profile-note{padding:12px;background:#f2f5fa;border:1px solid var(--line);border-radius:6px}.safety-profile-note p{font-size:12px;margin:8px 0}.safety-profile-note small{color:var(--muted)}.safety-camera-select{border:1px solid var(--line);padding:10px;display:flex;gap:12px;flex-wrap:wrap}.safety-camera-select label{display:flex;align-items:center;gap:6px;font-size:12px}.safety-camera-select input{width:auto}.safety-camera-policy{display:flex;flex-direction:column;gap:5px}.safety-camera-policy+.safety-camera-policy{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
@media(min-width:1101px){.control-room.rail-empty{grid-template-columns:200px minmax(0,1fr) 220px}}
.incident-rail.rail-empty .rail-summary,.incident-rail.rail-empty .rail-tools{display:none}.incident-rail.rail-empty .panel-head{padding:14px 10px}.incident-rail.rail-empty .empty{padding:28px 8px}.incident-rail.rail-empty .panel-head small{font-size:10px}
.wall-grid .slot-heading{padding:0;border:0;min-height:3px}.wall-grid .slot-heading span{display:none}.wall-grid .slot-heading small{padding-right:8px}.wall-grid .tile-actions{height:0;padding:0 5px;overflow:hidden;opacity:0;transition:opacity .15s}.wall-grid .wall-slot:hover .tile-actions,.wall-grid .wall-slot:focus-within .tile-actions{height:auto;padding:3px 5px;opacity:1}.wall-grid .media-controls{opacity:0}.wall-grid .wall-slot:hover .media-controls,.wall-grid .wall-slot:focus-within .media-controls{opacity:1}.tree-camera small{font-size:9px;opacity:.65}.wall-slot.has-incident,.wall-slot:has(.has-incident){border-color:var(--orange)}
.console-links{display:flex;gap:4px}.console-link{padding:7px 9px;border:1px solid var(--line);border-radius:5px;font-size:11px;text-decoration:none;color:var(--blue);white-space:nowrap}.console-link.active{background:#eaf0fd;border-color:var(--blue)}
.control-room{align-items:stretch}
.control-room>.camera-tree,.control-room>.incident-rail,.control-room>.video-wall{height:calc(100vh - 335px);min-height:420px;max-height:none;position:relative;top:auto}
.control-room>.video-wall{display:flex;flex-direction:column;overflow:hidden}
.wall-toolbar{flex:none;align-items:center;row-gap:8px}
.view-modes{flex:none;gap:5px}
.view-modes button{min-width:36px;padding:8px 10px;font-size:12px;font-weight:600}
.view-modes button.active{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 0 0 2px #2765df24}
.wall-instruction{padding:7px 12px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);flex:none;display:flex;justify-content:space-between;gap:8px}
.tree-camera-row{display:flex;align-items:center;gap:2px}
.tree-camera-row .tree-camera{flex:1;min-width:0}
.tree-favorite{padding:5px;border:0;background:transparent;color:var(--muted);font-size:17px}
.tree-favorite[aria-pressed=true]{color:var(--orange)}
.tree-scroll,.rail-scroll{min-height:0}
.focus-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:10px;gap:8px}
.focus-view>.wall-slot{flex:1}
.wall-grid{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr);padding:10px;gap:8px}
.wall-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.wall-6{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
.wall-6>.wall-slot:first-child{grid-column:1 / 3;grid-row:1 / 3}
.wall-9{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
.wall-16{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
.wall-slot{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}
.wall-slot.slot-selected{border-color:var(--blue);box-shadow:0 0 0 2px #2765df60}
.slot-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;font-size:10px;padding:5px 7px;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;background:#f8fafc}
.slot-heading small{font-size:8px;color:var(--muted)}
.slot-selected>.slot-heading{background:#eaf0fd;color:var(--blue)}
.wall-slot>.camera-card{flex:1;min-height:0;border:0;border-radius:0;display:flex;flex-direction:column}
.wall-slot .media-surface{flex:1;min-height:0;height:auto!important;aspect-ratio:auto!important}
.wall-grid .policy-context,.wall-grid .tile-info small,.wall-grid .tile-info>span:last-child,.wall-grid .tile-actions small{display:none}
.wall-grid .tile-info{padding:5px 7px;display:flex;gap:6px;flex:none;justify-content:space-between;flex-wrap:nowrap}
.wall-grid .tile-name{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wall-grid .tile-actions{flex:none;padding:3px 5px;gap:4px}
.wall-grid .tile-actions button{font-size:9px;padding:3px 5px}
.wall-grid .media-header{top:5px;left:5px;right:5px}
.wall-grid .media-header>span:first-child{font-size:9px;padding:3px 5px;max-width:75%}
.wall-grid .media-header .badge{display:none}
.wall-grid .media-bottom{display:none}
.wall-grid .media-controls{right:5px;top:28px}
.wall-grid .media-controls button{font-size:9px;padding:3px 5px}
.wall-6 .media-controls button:not(:last-child),.wall-9 .media-controls button:not(:last-child),.wall-16 .media-controls button:not(:last-child){display:none}
.wall-9 .tile-actions,.wall-16 .tile-actions{display:flex}
.wall-9 .tile-actions [data-camera],.wall-16 .tile-actions [data-camera]{display:none}
.wall-16 .slot-heading small,.wall-16 .tile-info>span{display:none}
.wall-16 .tile-name{font-size:9px}
.empty-wall-slot{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0c1420;border:0;border-radius:0;padding:8px;color:#b7c6d8;text-align:center}
.empty-wall-slot b{font-size:12px}
.empty-wall-slot small{font-size:9px;color:#718096}
.wall-16 .empty-wall-slot small,.wall-16 .empty-wall-slot .lens-icon{display:none}
.wall-onboarding{text-align:center;font-size:11px;flex:none}
.wall-onboarding p{margin:4px}.wall-onboarding button{padding:6px;font-size:10px}
.wall-pagination{flex:none;padding:6px;gap:12px}
.wall-pagination button{padding:4px 9px}
.wall-status{flex:none;padding:8px 12px}
.recent-strip{margin-top:12px}
.video-wall:fullscreen{height:100vh;max-height:none;min-height:0}
.video-wall:fullscreen .wall-grid{height:auto;min-height:0}
@media(min-width:900px) and (max-width:1100px){.control-room{grid-template-columns:150px minmax(0,1fr) 220px}.control-room>.incident-rail{grid-column:auto}.rail-scroll{display:block}.wall-tools{justify-content:flex-start}.wall-toolbar>small{display:none}.slot-heading small{display:none}}
@media(max-width:899px){.control-room>.camera-tree{height:240px;min-height:0}.control-room>.video-wall{height:640px;min-height:0}.control-room>.incident-rail{height:460px;min-height:0}.wall-tools{justify-content:flex-start}.empty-wall-slot small{display:none}}

/* Operational additions keep the established white/blue shell. */
.wall-25{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}
.wall-36{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr))}
.wall-64{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr))}
.control-room.tree-collapsed>.camera-tree,.control-room.rail-collapsed>.incident-rail{display:none}
.control-room.tree-collapsed{grid-template-columns:minmax(0,1fr) 300px}
.control-room.rail-collapsed{grid-template-columns:200px minmax(0,1fr)}
.control-room.tree-collapsed.rail-collapsed{grid-template-columns:minmax(0,1fr)}
.control-room:fullscreen{width:100vw;height:100vh;background:var(--bg,#f2f5f9);padding:8px;gap:8px;align-items:stretch}
.control-room:fullscreen>.camera-tree,.control-room:fullscreen>.incident-rail,.control-room:fullscreen>.video-wall{height:100%;min-height:0;max-height:none;grid-column:auto}
.control-room:fullscreen .wall-instruction,.control-room:fullscreen .wall-status{display:none}
.operator-wall-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px 10px;border-bottom:1px solid var(--line);flex:none;background:#f8fafc}
.operator-wall-controls button,.operator-wall-controls select{font-size:10px;padding:5px 7px;width:auto}
.operator-wall-controls select{max-width:150px}.operator-wall-controls .attention{border-color:var(--orange);color:#a55f12}
.operator-wall-controls [data-wall-fullscreen]{margin-left:auto;color:var(--blue)}
.wall-grid .tile-actions{top:30px;bottom:auto;left:auto;right:5px;max-width:calc(100% - 10px)}
.wall-tools [data-wall-fullscreen]{display:none}
.camera-group-controls{padding:7px 10px;display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--line)}
.camera-group-controls select{width:100%;font-size:10px;padding:6px}.camera-group-controls button{font-size:10px;padding:5px 7px}
.operational-tile-meta{padding:4px 6px;flex:none;border-bottom:1px solid var(--line);font-size:10px;min-width:0}
.operational-tile-meta>div{display:flex;gap:5px;align-items:center;justify-content:space-between;min-width:0}
.operational-tile-meta>div+div{margin-top:3px}.operational-tile-meta button{padding:0;border:0;background:transparent;text-align:left;font-size:inherit;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.operational-tile-meta>div>span:last-child{white-space:nowrap;color:var(--muted)}.source-kind{font-size:9px;letter-spacing:.04em}
.stream-state{font-weight:600;white-space:nowrap}.stream-state.connected{color:#158369}.stream-state.connecting{color:var(--blue)}
.stream-state.stream_error,.stream-state.auth_error,.stream-state.stale{color:#ae3737}.stream-state.unknown,.stream-state.disabled{color:var(--muted)}
.tile-incident{color:#a55f12!important;font-weight:700}.has-incident .operational-tile-meta{background:#fff4e2}
.media-surface[data-stream-state=stream_error],.media-surface[data-stream-state=auth_error]{background:#371d27}
.media-surface[data-stream-state=stale]{background:#352f24}
.stream-failure-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;pointer-events:auto}.stream-failure-actions button{padding:5px 7px;font-size:10px;background:#f8fafc;color:#25384b}
.media-placeholder:has(.stream-failure-actions){pointer-events:auto;z-index:4}.media-placeholder:has(.stream-failure-actions)>small{max-width:90%}
.wall-25,.wall-36,.wall-64{gap:4px;padding:6px}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta{font-size:8px;padding:3px 4px}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta{position:absolute;bottom:0;left:0;right:0;z-index:3;background:#0c1420df;border:0;color:#eef4ff}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta button{color:#eef4ff}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta .stream-state.connected{color:#78d7bc}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta>div>span:last-child{color:#bccddd}
:is(.wall-25,.wall-36,.wall-64) .operational-tile-meta>div+div{margin-top:1px}
:is(.wall-25,.wall-36,.wall-64) .tile-info,:is(.wall-25,.wall-36,.wall-64) .policy-context,:is(.wall-25,.wall-36,.wall-64) .tile-actions,:is(.wall-25,.wall-36,.wall-64) .media-controls{display:none}
:is(.wall-25,.wall-36,.wall-64) .media-header>span:first-child{font-size:8px;padding:2px 3px;max-width:95%}
:is(.wall-25,.wall-36,.wall-64) .media-header .badge,:is(.wall-25,.wall-36,.wall-64) .empty-wall-slot small{display:none}
:is(.wall-25,.wall-36,.wall-64) .media-placeholder{gap:2px;padding:2px}
:is(.wall-25,.wall-36,.wall-64) .media-placeholder small,:is(.wall-25,.wall-36,.wall-64) .media-placeholder .lens-icon{display:none}
:is(.wall-25,.wall-36,.wall-64) .media-placeholder b,:is(.wall-25,.wall-36,.wall-64) .empty-wall-slot b{font-size:9px}
:is(.wall-25,.wall-36,.wall-64) .stream-failure-actions button{font-size:8px;padding:2px 3px}
.analytics-operations{display:grid;gap:14px}.analytics-camera .empty{padding:20px}.analytics-camera table small{display:block;font-size:10px;line-height:1.6;color:var(--muted)}
.incident-time-strip{display:flex;gap:7px;overflow:auto;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc}
.incident-time-strip>div,.incident-time-strip>button{min-width:105px;padding:8px;border:1px solid var(--line);border-left:3px solid var(--blue);background:white;border-radius:4px;display:grid;gap:5px;text-align:left;color:#25384b;font-size:11px}
.incident-time-strip .timeline-candidate{border-left-color:#d18c33}.incident-time-strip .timeline-verification{border-left-color:#158369}.incident-time-strip .timeline-operator{border-left-color:#7a6ab6}
.incident-time-strip small{color:var(--muted);font-size:9px}.incident-time-strip button:disabled{opacity:1;cursor:default}
.retained-timeline{padding:12px}.retained-timeline h3{font-size:13px;margin:0 0 8px}.retained-timeline>small{font-size:10px;color:var(--muted)}
.timeline-seek{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.timeline-seek span{font-size:10px;color:var(--muted)}
.spatial-configuration{padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:6px}.spatial-configuration p{font-size:11px;line-height:1.6;color:var(--muted)}
#geometry-preview .media-surface{height:320px;min-height:0}#geometry-preview .media-controls,#geometry-preview .media-bottom{display:none}
.geometry-editor,.configured-geometry{position:absolute;z-index:5;left:0;top:0;width:100%;height:100%;fill:#2765df20;stroke:#5bbaff;stroke-width:.004;stroke-dasharray:.015;pointer-events:none}
.geometry-editor{pointer-events:auto;cursor:crosshair}.geometry-editor circle{fill:#5bbaff;stroke-width:.001;stroke-dasharray:none}
.geometry-tools{display:flex;align-items:center;gap:7px;margin-top:8px}.geometry-tools button,.geometry-tools span{font-size:10px}
.ptz-controls{padding:10px;border:1px solid var(--line);border-radius:6px;margin-top:12px}.ptz-controls div{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.ptz-controls small,.ptz-controls p{font-size:10px;color:var(--muted)}
@media(max-width:899px){.control-room.tree-collapsed,.control-room.rail-collapsed{grid-template-columns:minmax(0,1fr)}.control-room:fullscreen{grid-template-columns:minmax(0,1fr)}.control-room:fullscreen>.incident-rail,.control-room:fullscreen>.camera-tree{height:25vh}.control-room:fullscreen:not(.tree-collapsed):not(.rail-collapsed)>.video-wall{height:45vh}.operator-wall-controls{gap:4px}.operational-tile-meta{font-size:9px}.wall-64 .operational-tile-meta>div+div{display:none}}
dialog.analytics-details { width: min(1050px, calc(100vw - 32px)); }
dialog.analytics-details table { min-width: 600px; }
dialog.analytics-details th:nth-child(2), dialog.analytics-details td:nth-child(2) { min-width: 100px; }

/* Safety workflow on the existing VMS surfaces; no layout or theme replacement. */
.rian-safety-strip{display:flex;align-items:stretch;margin:0 0 12px;padding:9px 12px;gap:12px;flex-wrap:wrap}
.rian-strip-title{display:grid;align-content:center;gap:5px;min-width:190px}.rian-strip-title b{font-size:13px;color:var(--blue)}
.rian-safety-strip small,.rian-safety-strip span{font-size:10px;color:var(--muted)}.rian-safety-strip>button{border:0;border-left:1px solid var(--line);border-radius:0;text-align:left;background:transparent;display:grid;gap:4px;padding:2px 16px;flex:1}
.rian-safety-strip>button b{font-size:12px}.rian-safety-strip>button:hover{background:#f3f6fc}
.camera-safety-layer{padding:8px 10px;border-top:1px solid var(--line);background:#f6f9fe;flex:none}
.camera-safety-heading{display:flex;justify-content:space-between;gap:5px;align-items:center}.camera-safety-heading>button{padding:0;border:0;background:transparent;text-align:left;font-size:11px;font-weight:600}
.camera-safety-heading .safety-setup{font-size:10px;color:var(--blue)}.camera-safety-risks{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;font-size:10px}.camera-safety-risks>span{display:inline-flex;align-items:center;gap:4px}.camera-safety-risks .badge{font-size:8px;padding:2px 4px}
.hazard-family{display:inline-block;border:1px solid #cbd9ef;border-radius:4px;padding:2px 5px;background:#eef3fb;color:#365b8b;font-size:9px;font-weight:600;white-space:nowrap}
.family-FIRE{background:#fff0ea;color:#963e2e;border-color:#eec6b5}.family-PPE{background:#f8f4e4;color:#756024;border-color:#e2d8b0}.family-PERSON_SAFETY{background:#eff5ee;color:#496942;border-color:#cbdcc6}.family-VEHICLE{background:#f1eef9;color:#69518a;border-color:#d4c9e4}
.camera-candidate{display:grid;width:100%;gap:4px;margin-top:6px;text-align:left;padding:7px;background:#fff5e6;border:1px solid #e5cb9b}.camera-candidate .hazard-family{justify-self:start}.camera-candidate b{font-size:11px}.camera-candidate>span:last-child{font-size:10px;color:#755728}
.verification-progress{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:6px;margin:12px 0 6px}
.verification-progress>div{display:grid;align-content:start;gap:5px;padding:10px;border:1px solid var(--line);border-radius:5px;background:#f8fafc;min-width:0}.verification-progress small{font-size:10px;color:var(--muted)}.verification-progress b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.progress-arrow{align-self:center;color:#8196b2;font-size:11px}
.progress-verified>div:last-child{background:#eff9f4;border-color:#a4d6bd;color:#217154}.progress-running>div:nth-of-type(2){background:#edf3ff;border-color:#a8bfec}.progress-review>div:last-child,.progress-unknown>div:last-child{background:#fff6e8;border-color:#e4c798;color:#82612c}.verification-reason{font-size:12px;line-height:1.7;color:var(--muted)}
.compact-progress{margin:3px 0;gap:3px}.compact-progress>div{padding:5px 4px;gap:3px}.compact-progress b{font-size:9px}.compact-progress small{font-size:8px}.compact-progress .progress-arrow{font-size:8px}.queue-item .event-thumbnail{width:44px;flex:none}.queue-item .queue-text{min-width:0}.queue-item .queue-text>b{line-height:1.7}
.rail-inspection .verification-progress{grid-template-columns:1fr}.rail-inspection .progress-arrow{display:none}.rail-inspection .verification-progress>div{grid-template-columns:50px 1fr;padding:8px}.rail-inspection .verification-progress b{font-size:11px}
.active-safety-profile{padding:14px;border-top:1px solid var(--line)}.active-safety-profile h3{font-size:14px;margin:0 0 10px;color:var(--blue)}.active-safety-profile h3 small{margin-left:5px}.active-safety-profile>p{font-size:12px;color:var(--muted)}
.safety-profile-row{padding:10px 0;border-bottom:1px solid var(--line)}.safety-profile-row>b{font-size:12px;margin:0 6px}.safety-profile-row>small{display:block;color:var(--muted);font-size:10px;margin:7px 0}.safety-profile-row dl,.safety-policy-card dl{margin:8px 0;display:grid;gap:8px}.safety-profile-row dl>div,.safety-policy-card dl>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;font-size:11px}.safety-profile-row dt,.safety-policy-card dt{color:var(--muted)}.safety-profile-row dd,.safety-policy-card dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.safety-profile-row dd small,.safety-policy-card dd small{display:block;font-size:10px;color:var(--muted)}
.analytics-matrix table{min-width:1080px}.analytics-matrix th{white-space:nowrap}.analytics-matrix td{vertical-align:top;font-size:11px;line-height:1.8}.analytics-matrix small{display:block;font-size:10px;color:var(--muted)}.analytics-matrix button{font-size:11px;text-align:left;padding:4px 6px}.analytics-matrix .badge{font-size:8px;padding:2px 4px}.analytics-matrix hr{border:0;border-top:1px solid var(--line);margin:6px 0}
.safety-policy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:14px}.safety-policy-card{padding:18px}.safety-policy-card>div:first-child{display:flex;gap:8px}.safety-policy-card h2{font-size:17px;margin:12px 0 5px}.safety-policy-card>p{font-size:12px;color:var(--muted)}
.capability-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;padding:14px}.capability-health-grid article{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:5px}.capability-health-grid article>.hazard-family,.capability-health-grid article>.badge{justify-self:start}.capability-health-grid b{font-size:12px}.capability-health-grid small{font-size:10px;color:var(--muted)}
.wall-grid .camera-safety-layer{padding:4px 7px}.wall-grid .camera-safety-heading>button{font-size:9px}.wall-grid .camera-safety-risks{font-size:9px;gap:4px}.wall-grid .camera-candidate{padding:4px;margin-top:3px}.wall-grid .camera-candidate>span:last-child{font-size:8px}
:is(.wall-6,.wall-9,.wall-16) .camera-safety-risks,:is(.wall-6,.wall-9,.wall-16) .camera-candidate{display:none}.wall-6>.wall-slot:first-child .camera-safety-risks,.wall-6>.wall-slot:first-child .camera-candidate{display:flex;flex-wrap:wrap}
:is(.wall-9,.wall-16) .camera-safety-layer{display:none}
:is(.wall-25,.wall-36,.wall-64) .camera-safety-layer{display:none}
.wall-grid .camera-safety-heading>button:first-child{display:none}
.wall-6>.wall-slot:not(:first-child) .camera-safety-layer:not(:has(.safety-setup)){display:none}
.wall-grid .camera-safety-layer:not(:has(.safety-setup,.camera-candidate,.camera-safety-risks)){display:none}
.wall-grid .camera-safety-risks{margin-top:0}
.camera-primary+.panel .active-safety-profile{padding:0 0 14px;border-top:0}
.rail-inspection .operator-facts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.rail-inspection .operator-facts>div{display:grid;gap:4px;flex:1;padding:6px 0;min-width:60px}
.rail-inspection .operator h3{margin-top:10px}.rail-inspection .operator>p{font-size:10px;margin-bottom:8px}
@media(min-width:900px){.control-room>.camera-tree,.control-room>.incident-rail,.control-room>.video-wall{height:calc(100vh - 335px)}}
@media(max-width:899px){.rian-strip-title{width:100%}.rian-safety-strip{gap:8px}.rian-safety-strip>button{padding:4px 8px;min-width:140px}.verification-progress{gap:3px}.verification-progress>div{padding:6px}.safety-policy-cards{grid-template-columns:minmax(0,1fr)}.safety-profile-row dl>div{grid-template-columns:65px minmax(0,1fr)}}

/* Video-first control room: details belong to focus, camera and incident views. */
.wall-grid .wall-slot,.wall-grid .camera-card{position:relative}
.wall-grid .slot-heading{position:absolute;z-index:5;top:4px;left:4px;right:30px;background:#0c1420bf;color:#eef4ff;border:0;padding:2px 5px;max-width:calc(100% - 34px);font-size:9px}
.wall-grid .slot-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wall-grid .slot-heading small{color:#8caeff}.wall-grid .slot-selected>.slot-heading{background:#164f9ed9;color:white}
.wall-grid .media-header{display:none}.wall-grid .operational-tile-meta{padding:3px 6px;font-size:9px;flex:none}.wall-grid .operational-tile-meta>div{justify-content:flex-start;gap:7px;min-height:15px}
.wall-grid .operational-tile-meta button{font-size:9px;padding:0;background:transparent;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-grid .tile-incident{margin-left:auto;max-width:65%;color:#946315}
.wall-grid .incident-verified{color:#217154}.wall-grid .incident-running{color:#235eb8}
:is(.wall-16,.wall-25,.wall-36,.wall-64) .dense-tile-meta{position:absolute;bottom:3px;right:4px;left:auto;z-index:5;border:0;border-radius:3px;background:#0c1420bf;padding:1px 4px;color:#eef4ff}
:is(.wall-16,.wall-25,.wall-36,.wall-64) .dense-tile-meta>div{min-height:12px;gap:5px}.dense-tile-meta .stream-state.connected{color:#78d7bc}.dense-tile-meta .stream-state:is(.auth_error,.stream_error,.stale){color:#ffae7c}
:is(.wall-16,.wall-25,.wall-36,.wall-64) .media-controls,:is(.wall-16,.wall-25,.wall-36,.wall-64) .media-placeholder small{display:none}
.wall-grid .wall-slot:has(.empty-wall-slot)>.slot-heading{display:none}.wall-grid .camera-card.has-incident{box-shadow:inset 0 0 0 2px #deb472}
.wall-9 .media-controls{display:none}
.wall-grid .camera-wall-name{position:absolute;z-index:4;top:4px;left:4px;max-width:calc(100% - 30px);background:#0c1420bf;color:#eef4ff;border-radius:2px;padding:2px 5px;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab}
.wall-grid .slot-heading{left:auto;right:3px;top:3px;width:20px;height:18px;max-width:20px;justify-content:center;padding:0}
.wall-grid .slot-heading span{display:none}.wall-grid .slot-heading small:empty:after{content:'⠿';color:#bccddd}
:is(.wall-16,.wall-25,.wall-36,.wall-64) .slot-heading{display:none}
:is(.wall-16,.wall-25,.wall-36,.wall-64) .camera-wall-name{max-width:calc(100% - 8px);font-size:8px}
