/* One uncropped image coordinate system at every viewport size. */
.solution-cinema.coverage-cinema{padding:24px 0 48px;background:#0c1b28}
.solution-cinema.coverage-cinema>.shell{width:min(1680px,96%);max-width:1680px;padding:0}
.coverage-cinema .cinema-intro{position:static;inset:auto;display:block;max-width:1060px;padding:0 0 22px;pointer-events:auto}
.coverage-cinema .cinema-intro h1{font-size:clamp(2rem,3vw,3.2rem);line-height:1.06;text-shadow:none;margin:10px 0}
.coverage-cinema .cinema-intro .kicker{margin-top:14px}
.coverage-cinema .cinema-intro>div>p{max-width:1000px;color:#bfccd5;text-shadow:none;font-size:.94rem;line-height:1.65}
.coverage-cinema .cinema-zone-status{display:none}
.coverage-cinema .cinema-zone-nav{position:static;inset:auto;width:100%;height:auto;min-height:0;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;background:#102332;scrollbar-width:thin}
.coverage-cinema .cinema-zone-nav a{flex:1 0 170px;min-width:160px;min-height:72px;display:flex;gap:10px;align-items:center;padding:12px;border-bottom:0;border-inline-end:1px solid #334755}
.coverage-cinema .cinema-zone-nav a b{flex:0 0 30px;width:30px;height:30px;font-size:.72rem}
.coverage-cinema .cinema-zone-nav a span{font-size:.77rem}
.coverage-cinema .cinema-workspace{display:flex;flex-direction:column;border:1px solid #334755;min-width:0}
.coverage-cinema .cinema-stage{position:relative;height:auto;min-height:0;width:100%;overflow:visible;background:#09141d;isolation:isolate}
.coverage-canvas{position:relative;isolation:isolate;width:100%;margin:auto;line-height:0;direction:ltr}
.coverage-canvas>img{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important;opacity:1!important;filter:none!important;transition:none!important}
.coverage-cinema .cinema-image-shade{display:none}
.coverage-overlay{position:absolute;inset:0;pointer-events:none}
.coverage-area{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;animation:coverage-reveal .22s ease-out}
.coverage-area[hidden]{display:none}
.coverage-footprint{fill:#f4cf6838;stroke:#f9da82;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.coverage-ray{stroke:#fff2c1;stroke-width:1.5;stroke-dasharray:5 6;vector-effect:non-scaling-stroke;opacity:.85}
.coverage-camera{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;gap:5px;min-width:52px;min-height:44px;background:#102838;color:#fff;border:2px solid #fff;border-radius:9px;padding:7px;box-shadow:0 2px 14px #0007;cursor:pointer;transition:background .18s,box-shadow .18s}
.coverage-camera>svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.coverage-camera>span{font:700 11px system-ui}
.coverage-camera:hover,.coverage-camera[aria-pressed=true]{background:#7c293b;border-color:#f9da82;box-shadow:0 0 0 5px #f4cf6833,0 2px 14px #0007}
.coverage-camera:focus-visible,.coverage-controls button:focus-visible{outline:3px solid #f9da82;outline-offset:4px}
.coverage-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 18px;background:#102332;line-height:1.5}
.coverage-hint{flex:1 1 250px;color:#fff;font-size:.86rem}
.coverage-controls button{min-height:42px;border:1px solid #637683;background:#1a3345;color:#fff;padding:9px 13px;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;border-radius:4px}
.coverage-controls button:last-child{background:#7c293b;border-color:#af6275}
.coverage-controls button:hover{border-color:#f9da82}
.coverage-controls button:disabled{opacity:.4;cursor:default}
.coverage-note{margin:0;padding:0 18px 14px;background:#102332;color:#afc0cc;font-size:.74rem;line-height:1.5}
.coverage-view-details{display:grid;gap:16px;background:#132b3c;padding:18px;min-width:0}
.coverage-cinema .cinema-scene-caption{position:static;inset:auto;display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:0;max-width:none;background:none;border:0;pointer-events:auto}
.coverage-cinema .cinema-scene-caption small{font-size:1rem;color:#fff}
.coverage-cinema .cinema-scene-caption p{display:block;grid-column:1;max-width:none;margin:0;color:#bccbd5;font-size:.83rem}
.coverage-cinema .cinema-scene-caption>span{grid-column:2;grid-row:1/3;align-self:center}
.coverage-cinema .cinema-viewpoints{position:static;inset:auto;width:100%;display:flex;gap:10px;overflow-x:auto;padding:3px 3px 10px;scrollbar-width:thin}
.coverage-cinema .cinema-viewpoints>small{display:none}
.coverage-cinema .cinema-viewpoints button,.coverage-cinema .cinema-viewpoints button:nth-of-type(n+4){display:flex;flex-direction:column;flex:0 0 158px;gap:0;padding:0;border:2px solid #466071;background:#0e2030;min-width:0;overflow:hidden;cursor:pointer;border-radius:5px}
.coverage-cinema .cinema-viewpoints button.active{border-color:#e9bf70}
.coverage-cinema .cinema-viewpoints img{display:block;width:100%;height:88px;object-fit:cover}
.coverage-cinema .cinema-viewpoints span{display:block;padding:9px 10px;font-size:.72rem;line-height:1.4;text-align:start;color:#fff;white-space:normal}
.coverage-cinema .cinema-platform-rail{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:8px}
.coverage-cinema .cinema-platform-rail span,.coverage-cinema .cinema-platform-rail span:nth-child(n+4){display:flex;flex:0 1 auto;padding:7px 10px}
.coverage-cinema .cinema-platform-rail span b{display:block}
.coverage-cinema .cinema-device-legend{background:#102332}
.coverage-cinema .cinema-device-menu{z-index:20;bottom:140px}
.coverage-cinema .cinema-device-marker>span{display:block}
.coverage-cinema .cinema-scenario{background:#f4f6f8;color:#142533}
.coverage-dialog{position:fixed;inset:0;border:0;padding:16px;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#09141d;color:#fff;overflow:auto}
.coverage-dialog::backdrop{background:#07111aef}
.coverage-dialog .cinema-stage{width:100%;max-width:calc((100dvh - 150px) * var(--scene-ratio,1.77));margin:auto}
.coverage-dialog .coverage-controls{position:relative}
body.coverage-expanded{overflow:hidden}
@keyframes coverage-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:720px){.solution-cinema.coverage-cinema>.shell{width:100%}.coverage-cinema .cinema-intro{padding:0 18px 20px}.coverage-cinema .cinema-intro>div>p{font-size:.86rem}.coverage-controls{padding:12px;gap:7px}.coverage-hint{flex-basis:100%}.coverage-controls button{flex:1 1 auto;padding:8px;font-size:.71rem}.coverage-note{padding:0 12px 12px}.coverage-view-details{padding:12px}.coverage-cinema .cinema-viewpoints button,.coverage-cinema .cinema-viewpoints button:nth-of-type(n+4){flex-basis:130px}.coverage-cinema .cinema-viewpoints img{height:74px}.coverage-camera{min-width:46px;min-height:44px;padding:5px}.coverage-dialog{padding:0;display:none}.coverage-dialog[open]{display:flex;align-items:center}.coverage-dialog .cinema-stage{max-width:100%}.coverage-cinema .cinema-device-menu{position:relative;inset:auto;width:calc(100% - 24px);max-height:none;margin:12px}.coverage-cinema .cinema-platform-rail span{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.coverage-area{animation:none}.coverage-camera{transition:none}}
.coverage-controls~[role=status]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Catalogue-backed scene cards and the protected camera editor. */
.coverage-cinema .cinema-device-menu{color:#fff;background:#102332;max-height:70vh;overflow:auto;z-index:25}
.coverage-cinema .cinema-device-menu>header h3{overflow-wrap:anywhere}
.scene-edit-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.scene-camera-admin label{display:grid;gap:6px;font-size:.9rem}
.scene-camera-admin input,.scene-camera-admin select{width:100%;min-width:0;padding:10px;border:1px solid #b7c5cf;border-radius:5px;background:#fff;color:#142533;font:inherit}
.scene-edit-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px;align-items:start}
.scene-edit-canvas{position:relative;isolation:isolate;direction:ltr;line-height:0;background:#0c1b28}
.scene-edit-canvas>img{display:block;width:100%;height:auto}
.scene-edit-canvas>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.scene-edit-canvas polygon{fill:#f4cf6838;stroke:#edc55c;stroke-width:2;vector-effect:non-scaling-stroke}
.scene-edit-canvas circle{fill:#7c293b;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}
.scene-edit-canvas text{font:3px sans-serif;fill:#fff;paint-order:stroke;stroke:#142533;stroke-width:.4px}
.scene-edit-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:6px;background:#102838;color:white;min-width:44px;min-height:44px;padding:8px;cursor:pointer}
.scene-edit-pin.active{background:#7c293b;border-color:#f9da82}.scene-edit-pin.is-hidden{opacity:.5;border-style:dashed}
.scene-edit-fields{display:grid;gap:14px}.scene-edit-fields .scene-visible{display:flex;align-items:center;gap:10px}.scene-visible input{width:20px;height:20px}
.scene-edit-camera-list{display:flex;flex-wrap:wrap;gap:6px}.scene-edit-camera-list button{padding:9px;border:1px solid #c8d3dc;background:#eef3f6;color:#203947;border-radius:5px;font-size:.78rem;cursor:pointer}.scene-edit-camera-list button.active{background:#102838;color:#fff}
.scene-point-fields{display:grid;gap:8px}.scene-point-fields fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #d3dce2;border-radius:6px;padding:9px}.scene-point-fields legend{font-size:.8rem}
.scene-edit-save{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid #d3dce2}.scene-edit-save [role=status]{flex-basis:100%;font-size:.9rem}.scene-edit-note{font-size:.82rem;color:#526775;line-height:1.7}
@media(max-width:900px){.scene-edit-workspace{grid-template-columns:1fr}.scene-edit-selectors{grid-template-columns:1fr}}
@media(max-width:720px){.coverage-cinema .cinema-device-menu{max-height:none}}

.coverage-cinema .cinema-device-menu>header button{width:44px;height:44px}
.coverage-cinema .cinema-device-menu dd{color:#fff}
.coverage-cinema .cinema-device-menu>footer>a{min-height:44px}

/* Device-specific overlays share the original image coordinate system. */
.scene-beacon-range{fill:#70c9f52b;stroke:#70c9f5;stroke-width:2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.scene-terminal-point{fill:#73d9b944;stroke:#73d9b9;stroke-width:2;vector-effect:non-scaling-stroke}
.coverage-camera[data-device-type=terminal]{border-color:#73d9b9}
.coverage-camera[data-device-type=beacon]{border-color:#70c9f5}
.coverage-camera[hidden]{display:none}
.scene-device-filter{min-height:44px;max-width:100%;padding:9px;background:#102332;color:#fff;border:1px solid #637683;font:inherit;border-radius:4px}
.scene-add-devices{display:flex;flex-wrap:wrap;gap:8px}
.scene-camera-admin textarea{width:100%;min-height:110px;font:inherit;padding:10px}
.scene-device-specifications{white-space:pre-line}
