@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{color:#e7eef2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#0e1817c7;--line:#96bab233;--green:#36d399;--amber:#f5b94b;--red:#ff5a67;--blue:#58b7ff;background:#07100f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100vh;margin:0}body{background:linear-gradient(90deg,#ffffff08 1px,#0000 1px) 0 0/42px 42px,linear-gradient(0deg,#ffffff06 1px,#0000 1px) 0 0/42px 42px,linear-gradient(135deg,#06110f 0%,#0d1717 48%,#080d12 100%);overflow-x:hidden}button{font:inherit}.video-source-bank{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}.video-source-bank video{width:1px;height:1px}.command-wall{width:min(100%,1920px);min-height:100vh;margin:0 auto;padding:14px}.top-bar{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050c0cdb;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:0 16px 44px #00000042}.eyebrow{color:#98b8b1;letter-spacing:.16em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}h1{color:#f7fbf8;letter-spacing:0;margin:0;font-size:clamp(1.4rem,2.4vw,2.5rem);font-weight:900;line-height:1}.status-strip,.alert-rail{gap:8px;display:grid}.status-strip{grid-template-columns:repeat(3,minmax(96px,1fr))}.alert-rail{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0}.status-strip div,.alert-pill{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;padding:10px 12px}.status-strip span,.alert-pill strong{color:#fff;font-size:1.05rem;font-weight:900;line-height:1.05;display:block}.status-strip small,.alert-pill span{color:#9cb6b0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:.72rem;font-weight:700;line-height:1.1;display:block;overflow:hidden}.alert-pill{position:relative;overflow:hidden}.alert-pill:before{content:"";width:4px;position:absolute;inset:0 auto 0 0}.alert-pill.amber:before{background:var(--amber)}.alert-pill.red:before{background:var(--red)}.alert-pill.green:before{background:var(--green)}.alert-pill.blue:before{background:var(--blue)}.ops-layout{grid-template-columns:minmax(120px,.44fr) minmax(0,2.8fr) minmax(132px,.46fr);align-items:stretch;gap:10px;display:grid}.left-stack,.preset-panel,.wall-stage,.lower-wall{border:1px solid var(--line);background:#040a0a9e;border-radius:8px;box-shadow:0 18px 48px #0000003d}.left-stack{grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.wall-stage{padding:8px}.wall-labels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.wall-labels span{color:#d7ece6;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#00000052;border:1px solid #e2f8f229;border-radius:6px;padding:7px 8px;font-size:.67rem;font-weight:900;display:block;overflow:hidden}.main-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tv-panel{background:#030807;border:1px solid #e2f8f22e;border-radius:7px;min-width:0;overflow:hidden}.tv-panel header{color:#f7fbf8;background:#0000006b;border-bottom:1px solid #e2f8f221;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.tv-panel header strong,.tv-panel header span{letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.74rem;font-weight:900;overflow:hidden}.tv-panel header span{color:#87aaa1;font-size:.62rem}.matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;display:grid}.utility-display,.lower-tv,.camera-tile{contain:layout paint size;background:#020606;border:1px solid #77978f57;border-radius:6px;min-width:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.camera-tile{aspect-ratio:16/9;border-radius:3px}.camera-tile.priority{border-color:#ff5a67d9;box-shadow:0 0 0 1px #ff5a672e,0 0 24px #ff5a671f}.camera-tile.degraded{filter:saturate(.82)contrast(1.14)}.utility-display canvas,.lower-tv canvas,.camera-tile canvas{opacity:.78;width:100%;height:100%;display:block;transform:translateZ(0)}.utility-display strong,.utility-display span,.lower-tv span{z-index:1;text-overflow:ellipsis;text-shadow:0 1px 8px #000000d1;text-transform:uppercase;white-space:nowrap;position:absolute;left:8px;right:8px;overflow:hidden}.utility-display strong{color:#f7fbf8;font-size:.72rem;bottom:24px}.utility-display span,.lower-tv span{color:#9cb6b0;letter-spacing:.04em;font-size:.62rem;font-weight:900;bottom:8px}.camera-tile:before,.camera-tile:after,.utility-display:before,.lower-tv:before{pointer-events:none;content:"";position:absolute}.camera-tile:before{mix-blend-mode:screen;background:linear-gradient(#0509099e,#0000 27% 72%,#050909c7),linear-gradient(90deg,#20d6991a,#0000 32%,#58b7ff14);inset:0}.utility-display:before,.lower-tv:before{background:linear-gradient(#0000 45%,#000000b8);inset:0}.camera-tile:after{background:var(--green);width:5px;height:5px;box-shadow:0 0 12px var(--green);border-radius:999px;bottom:5px;right:5px}.camera-tile.priority:after{background:var(--red);box-shadow:0 0 12px var(--red)}.scanlines{pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 5px);position:absolute;inset:0}.camera-hud{z-index:1;color:#f5fffb;text-shadow:0 1px 8px #000000b8;justify-content:space-between;align-items:center;gap:5px;padding:5px;display:flex;position:absolute;inset:0 0 auto}.camera-hud strong,.camera-hud time{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:100%;line-height:1.1;display:block;overflow:hidden}.camera-hud strong{font-size:.56rem;font-weight:900}.camera-hud time{color:#ebf8f4c7;letter-spacing:.04em;flex:none;font-size:.5rem;font-weight:800}.wall-toolbar{background:#00000059;border:1px solid #e2f8f22e;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:40px;margin-top:8px;padding:8px;display:flex}.wall-toolbar span,.wall-toolbar button{color:#d7ece6;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;border-radius:4px;flex:0 auto;min-width:0;font-size:.62rem;font-weight:900;overflow:hidden}.wall-toolbar span{padding:5px 6px}.wall-toolbar button{background:#0f1e1ce6;border:1px solid #e2f8f22e;padding:5px 7px}.wall-toolbar button.active{color:#06110f;background:var(--green)}.preset-panel{grid-template-rows:auto 1fr auto;gap:10px;padding:10px;display:grid}.save-button,.power-buttons button{color:#f7fbf8;text-transform:uppercase;background:#00000057;border:1px solid #e2f8f233;border-radius:7px;width:100%;padding:10px 8px;font-size:.75rem;font-weight:900}.preset-list{background:#00000047;border:1px solid #e2f8f226;border-radius:7px;align-content:start;gap:6px;min-width:0;padding:8px;display:grid}.preset-list strong,.preset-list span{color:#d7ece6;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.66rem;font-weight:900;overflow:hidden}.preset-list span{color:#a7c5be;background:#ffffff0a;border-radius:5px;padding:6px 7px}.preset-list .selected{color:#08110f;background:var(--blue)}.power-buttons{gap:8px;display:grid}.power-buttons .on{color:#06110f;background:var(--amber)}.power-buttons .off{color:#f7fbf8;background:#4d58ffc7}.lower-wall{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:10px;padding:10px;display:grid}.lower-tv{aspect-ratio:4/3}@media (width<=840px){.command-wall{padding:8px}.top-bar{display:block;position:static}.status-strip,.alert-rail{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.ops-layout{grid-template-columns:1fr}.left-stack{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.utility-display{aspect-ratio:16/9}.main-wall{grid-template-columns:1fr}.preset-panel{grid-template-rows:none;grid-template-columns:1fr 2fr 1fr}.lower-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.status-strip,.alert-rail,.wall-labels,.preset-panel,.left-stack,.lower-wall{grid-template-columns:1fr}.wall-toolbar{justify-content:flex-start;overflow-x:auto}}
