:root{color-scheme:dark;--bg:#08131b;--panel:#0c1b25;--panel2:#0f202a;--stroke:#21333b;--muted:#78919c;--quiet:#526d76;--white:#dcebea;--teal:#48dab7;--cyan:#56cbdf;--amber:#e2ab61}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--white)}button,select,input{font:inherit}button{cursor:pointer}#app{display:flex;flex-direction:column;width:100%;height:100vh;min-width:920px;min-height:680px}.topbar{height:70px;flex:none;display:flex;align-items:center;gap:14px;border-bottom:1px solid #22333a;padding:0 25px;background:#0a1821;z-index:10}.brand-mark .hex{width:42px;height:44px;background:#173833;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:flex;align-items:center;justify-content:center;color:#71e6bd;font-size:25px;font-weight:900}.brand-name{font-size:18px;letter-spacing:1.8px;font-weight:800;white-space:nowrap}.brand-name b{color:#5addbb}.beta{vertical-align:middle;margin-left:12px;background:#194035;color:#75ddb9;padding:5px 7px;font-size:8px;font-weight:800;letter-spacing:1.2px}.brand-sub{font-size:8px;color:#77939a;letter-spacing:1.4px;margin-top:4px;font-weight:700}.sep{margin:0 8px;color:#39545b}.top-meta{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px;letter-spacing:1.1px;color:#72c8ab;font-weight:700}.top-meta b{color:#cde1dd}.top-meta .dim{color:#617980}.top-sep{height:20px;width:1px;background:#2c404a;margin:0 7px}.pulse-dot,.small-dot{display:inline-block;width:7px;height:7px;background:#65e6ab;border-radius:50%;box-shadow:0 0 12px #65e6ab}.pulse-dot{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.5}}.header-button{height:35px;display:flex;gap:10px;align-items:center;padding:0 14px;border:1px solid #2b4b4b;background:#102a30;color:#b5e7d8;font-size:10px;letter-spacing:1.2px;font-weight:800;white-space:nowrap}.header-button:hover{background:#1b4545}.header-button.light{border-color:#2f474f;background:#17313a;color:#d7e6e7}.workspace{min-height:0;flex:1;display:flex}.sidebar{width:252px;flex:none;background:#0b1a23;border-right:1px solid var(--stroke);display:flex;flex-direction:column;min-height:0}.sidelabel{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#8ba2ab;padding:24px 23px 13px;display:flex;justify-content:space-between}.sidelabel span{font-size:10px;padding:0 7px;color:#6dddb5;background:#17362f;border:1px solid #25554a}.sidebar-list{overflow-y:auto;min-height:0;flex:1}.zone-item{display:flex;gap:12px;align-items:center;min-height:66px;padding:11px 14px 11px 22px;border-top:1px solid #12262e;border-left:3px solid transparent;cursor:pointer;transition:.16s}.zone-item:hover{background:#12303a}.zone-item.active{background:linear-gradient(90deg,#133a3a,#0c242d);border-left-color:#5ce8b8}.zone-icon{width:33px;height:33px;flex:none;display:grid;place-items:center;border:1px solid #2d4a50;background:#142b34;color:#74bac5;font-weight:800;font-size:11px}.zone-item.active .zone-icon{color:#7bf3c5;background:#174941;border-color:#377b6d}.zone-text{min-width:0}.zone-title{font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;color:#c6d6da}.zone-sub{font-size:9px;letter-spacing:1.1px;margin-top:4px;color:#728a95}.zone-item.active .zone-title{color:#fff}.zone-state{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#4ac78d;flex:none}.zone-state.down{background:#e07c6b}.sidefooter{padding:16px 19px;border-top:1px solid #283b43;background:#0b1c25}.side-title{font-size:10px;letter-spacing:1.4px;color:#abc2c4;font-weight:800;margin:0 0 15px}.inventory{display:grid;grid-template-columns:1fr 1fr;gap:15px 9px}.inventory small{font-size:8px;letter-spacing:1.1px;color:#67828b;display:block;margin-bottom:6px;font-weight:700}.inventory b{font-size:18px;color:#dcf1ec;font-weight:700;letter-spacing:.3px}.offline{font-size:8px;letter-spacing:.7px;color:#8ba5aa;border-top:1px solid #263b44;margin-top:17px;padding-top:14px;white-space:nowrap;font-weight:700}.small-dot{width:5px;height:5px;margin-right:6px}.pill-mini{color:#68d4bd;border:1px solid #315d57;padding:2px 4px;margin-left:5px}.scene-area{flex:1;min-width:0;position:relative;background:radial-gradient(circle at 45% 15%,#314750,#112832 61%,#112630);overflow:hidden}#scene{width:100%;height:100%;display:block;cursor:grab}#scene:active{cursor:grabbing}.scene-top,.scene-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.scene-top{top:0;padding:20px 23px;background:linear-gradient(#0b1a21bb,#0b1a2100)}.eyebrow{font-size:10px;color:#d6e8e9;font-weight:800;letter-spacing:1.6px}.scene-live{color:#68efb2;font-size:9px;letter-spacing:.4px;border:1px solid #2c7860;background:#173c38;padding:5px 7px;margin-right:10px}.divisor{color:#506770;padding:0 9px}.scene-tools{display:flex;gap:7px;pointer-events:auto}.scene-btn{font-size:9px;letter-spacing:.7px;font-weight:800;color:#b5d8dc;background:#0c232cca;border:1px solid #33535b;padding:10px 12px;white-space:nowrap}.scene-btn:hover{border-color:#71e3c3;background:#1f434a}.scene-bottom{bottom:0;padding:25px 22px 17px;background:linear-gradient(transparent,#0a1e28b9)}.camera-help{font-size:9px;color:#a8bfc2;white-space:nowrap;letter-spacing:.6px;display:flex;align-items:center;gap:8px}.key{font-size:8px;font-weight:800;color:#d9f4ec;background:#27454c;border:1px solid #40656b;padding:4px 5px;margin-left:8px}.key:first-child{margin-left:0}.distance{color:#d1e4e6;font-size:10px;letter-spacing:.9px}.distance>span:first-child{color:#7aded0}.separate{margin:0 10px;color:#496770}.labels-layer{position:absolute;inset:0;pointer-events:none}.district-marker{position:absolute;transform:translate(-50%,-50%);border:1px solid #5b928e;background:#0d2630d9;box-shadow:0 9px 30px #00162188;padding:5px 8px;color:#e1f9f0;font-size:9px;font-weight:800;letter-spacing:.4px;white-space:nowrap;cursor:pointer;pointer-events:auto;text-align:center;transition:background .2s}.district-marker::before{content:'';position:absolute;left:50%;width:1px;height:14px;background:#5b928e;bottom:-14px}.district-marker:hover,.district-marker.active{border-color:#6cf5bd;background:#164b49}.district-marker small{display:block;font-size:8px;color:#7bd6ca;margin-top:2px}.controlbar{width:344px;flex:none;background:#0b1a23;border-left:1px solid #273a44;min-height:0;overflow-y:auto}.right-header{padding:22px 20px 18px;border-bottom:1px solid #263940}.eyebrow.dim{color:#7b929c;font-size:9px}.right-clock{font-size:12px;letter-spacing:1.3px;font-weight:800;margin-top:7px;display:flex;justify-content:space-between}.right-clock span{color:#4cdab0;font-size:9px}.panel{padding:18px 20px;border-bottom:1px solid #253943}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;color:#c6dce0;font-size:10px;letter-spacing:1px;font-weight:800;margin-bottom:16px}.status-label{color:#56dca9;font-size:9px;letter-spacing:.5px}.tiny{font-size:8px;color:#6a8d96}.key-metric{background:linear-gradient(130deg,#17343a,#132b31);border:1px solid #24514c;padding:13px 15px;display:flex;align-items:end;justify-content:space-between;gap:5px}.key-metric small{color:#87adab;font-size:8px;letter-spacing:1px;font-weight:800}.big-number{margin-top:4px;display:flex;align-items:baseline;gap:6px}.big-number span{font-size:35px;letter-spacing:-1.5px;font-weight:750;color:#75e8bc}.big-number em{font-size:12px;font-style:normal;color:#9abcb9}.trend{font-size:8px;color:#63d9ab;white-space:nowrap;font-weight:800;margin-bottom:6px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.metric{background:#0c222b;border:1px solid #263d46;padding:10px;min-width:0}.metric small{display:block;font-size:8px;letter-spacing:.7px;color:#7999a1;white-space:nowrap}.metric strong{display:block;font-size:21px;margin:6px 0 4px;font-weight:750;color:#e4efed}.metric span{display:block;font-size:7px;letter-spacing:.6px;color:#5f838b}.scenario-head{font-size:9px;color:#7c9ca4;letter-spacing:.85px;margin-bottom:8px;font-weight:700}select{appearance:none;color:#d7e8ea;border:1px solid #31505b;background:#102933 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='none' stroke='%2377caba' d='m3 5 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center;height:35px;width:100%;padding:0 12px;font-size:11px}.sliders{margin:17px 0 12px}.parameter{margin-bottom:16px}.parameter>div{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.85px;margin-bottom:8px}.parameter label{color:#a7c1c4;font-weight:750}.parameter output{color:#78e4c2;font-weight:800}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(90deg,#4ed8b3,#22454e);border-radius:10px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;background:#d3fff0;border:2px solid #37c89f;border-radius:50%;box-shadow:0 0 0 3px #45d7b322}.toggles{border-top:1px solid #29424c;padding-top:12px}.switch-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0;color:#c1d2d6;font-size:9px;font-weight:800;letter-spacing:.75px;cursor:pointer}.switch-row small{display:block;color:#678995;font-size:7px;margin-top:3px}.switch-row input{opacity:0;position:absolute}.switch-row i{width:31px;height:17px;border-radius:20px;background:#35505b;position:relative;transition:.2s}.switch-row i:before{content:'';position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:#a0b0b6;transition:.2s}.switch-row input:checked+i{background:#277c67}.switch-row input:checked+i:before{left:17px;background:#9ff4ca}.section-inspector{padding-bottom:27px}.inspection-name{font-size:15px;font-weight:800;line-height:1.4}.inspection-type{margin-top:6px;color:#65dcb6;font-size:8px;letter-spacing:1.3px;font-weight:800}.section-inspector p{color:#89a8ae;font-size:11px;line-height:1.55;margin:10px 0 16px}.inspection-stats>div:not(.meter){display:flex;justify-content:space-between;margin-top:13px;color:#88a2a8;font-size:9px;letter-spacing:.6px}.inspection-stats b{color:#e2f1ed}.meter{margin-top:7px;height:5px;background:#1d3a43;border-radius:8px;overflow:hidden}.meter i{display:block;background:linear-gradient(90deg,#2b9e9d,#5ce1bd);height:100%;width:0%;transition:width .2s}.meter.health i{background:linear-gradient(90deg,#6fa2d6,#78edc0)}.inspect-actions{display:flex;gap:10px;margin-top:16px}.inspect-actions button{font-size:9px;font-weight:800;letter-spacing:1px;flex:1;color:#cfdfdc;background:#16313a;border:1px solid #39555f;padding:10px 3px}.inspect-actions button:hover{background:#23505a}.bottom{height:200px;flex:none;display:flex;background:#091923;border-top:1px solid #30424a}.bottom-col{padding:16px 22px;min-width:0;overflow:hidden}.bottom-col+.bottom-col{border-left:1px solid #263a42}.chart-col{flex:1.15}.material-col{flex:1}.events-col{flex:1.05}.bottom-heading{font-size:10px;font-weight:800;letter-spacing:1px;color:#c8dddf;display:flex;justify-content:space-between;gap:12px;white-space:nowrap;margin-bottom:13px}.bottom-heading small{color:#71909a;font-size:8px;letter-spacing:.7px}#flow-chart{width:100%;height:112px;display:block}.chart-legend{font-size:8px;color:#a8b7bb;display:flex;align-items:center;gap:8px;letter-spacing:.5px}.chart-legend i{width:13px;height:2px;display:inline-block;margin-left:7px}.chart-legend i:first-child{margin-left:0}.line-in{background:#61cee0}.line-out{background:#72e8b7}.line-rej{background:#eb9b70}.material-rows{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:10px}.material-line{min-width:0}.material-caption{display:flex;justify-content:space-between;gap:4px;font-size:9px;color:#b3cbd0;white-space:nowrap}.material-caption b{color:#dff4f0}.mini-bar{height:3px;background:#223b46;margin-top:6px}.mini-bar i{height:100%;display:block;width:0}.event-log{display:flex;flex-direction:column;gap:7px;max-height:139px;overflow:auto}.event{display:flex;gap:9px;font-size:9px;line-height:1.4;color:#aec4c6}.event time{color:#678b95;white-space:nowrap}.event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event i{color:#6bd9ac;font-style:normal;font-size:8px;white-space:nowrap}.event.warning i{color:#e9a06f}.loading{position:absolute;inset:0;background:#071b24ed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;z-index:5;font-size:11px;font-weight:800;letter-spacing:2px}.loading-symbol{font-size:65px;color:#85e9c4;border:2px solid #468974;display:grid;place-items:center;width:102px;height:102px;transform:rotate(-5deg);margin-bottom:12px}.loading-symbol span{color:#d2ac65}.loading small{color:#7ca5a8;font-size:10px;letter-spacing:.4px;font-weight:500}.loading-bar{width:220px;height:3px;background:#1d3d44;margin-top:10px;overflow:hidden}.loading-bar div{height:3px;background:#65efbd;animation:loading 2s ease-in-out infinite}@keyframes loading{from{width:6%}to{width:100%}}.loading.hidden{display:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#35525b}::-webkit-scrollbar-track{background:#10232d}@media(max-width:1250px){.sidebar{width:202px}.controlbar{width:286px}.brand-sub{display:none}.topbar{padding:0 14px}.top-meta{font-size:9px}.bottom-col{padding:13px}.scene-btn{padding:8px}.camera-help{font-size:8px;gap:4px}.key{margin-left:2px}.zone-item{padding-left:11px}.zone-title{font-size:10px}}
