:root{font-family:Inter,"Segoe UI",Roboto,system-ui,sans-serif;color:#dceaf4;background:#06111c;--cyan:#55e4df;--muted:#7690a3;--border:#1b3141;--panel:#0a1723;--gold:#f5b76b;--red:#f57383;--ok:#47d6ad}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}.app{height:100vh;display:grid;grid-template-columns:285px minmax(400px,1fr) 332px;grid-template-rows:64px minmax(0,1fr);background:#06111c}.topbar{grid-column:1/-1;grid-row:1;z-index:9;border-bottom:1px solid #203543;background:#0b1823;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:25px}.brand{display:flex;align-items:center;gap:11px;min-width:305px}.brand img{width:35px;height:35px}.brand strong{display:block;font-size:14px;letter-spacing:1.25px;font-weight:780;white-space:nowrap}.brand strong em,.load-brand span{color:var(--cyan);font-style:normal}.brand small{display:block;color:#7793a5;letter-spacing:1.9px;font-size:8px;margin-top:5px;font-weight:700}.top-center{color:#a7c0cc;letter-spacing:1.2px;font-size:9px;font-weight:750;display:flex;align-items:center;gap:10px;white-space:nowrap}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px #42deb888;animation:pulse 2s infinite}.top-divider{color:#2b4755}.top-actions{display:flex;gap:10px;align-items:center}.pill{font-size:9px;letter-spacing:1px;padding:8px 12px;border:1px solid #266459;color:var(--ok);background:#14382e55;font-weight:750;white-space:nowrap}.pill.fault{color:var(--red);border-color:#6f3041;background:#52212d55}.header-button{height:31px;width:31px;background:#122532;border:1px solid #273e50;color:#9fb9ca;font-size:16px}.sidebar{grid-column:1;grid-row:2;background:#0b1823;border-right:1px solid var(--border);min-height:0;overflow:auto;padding:21px 18px 18px;scrollbar-color:#294050 transparent;scrollbar-width:thin;display:flex;flex-direction:column}.section-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:1.55px;font-weight:780;color:#adc6d4;margin:0 0 13px}.section-caption .micro-code{color:#547185;font-size:9px;white-space:nowrap;font-family:ui-monospace,monospace;letter-spacing:.5px}.spacing-top{margin-top:24px}.nav-hero{background:linear-gradient(100deg,#183e49,#102631);border:1px solid #2c6470;display:flex;gap:11px;align-items:center;padding:13px 10px;cursor:pointer;margin-bottom:11px}.nav-hero strong{display:block;font-size:11px;color:#d6f5f3}.nav-hero span{display:block;font-size:9px;color:#89aeb7;margin-top:4px}.nav-icon{font-size:23px;color:var(--cyan)}.nav-chev{margin-left:auto}.building-list{display:flex;flex-direction:column;gap:5px}.building-item{width:100%;border:1px solid transparent;background:#101e2b;color:#a7bbca;text-align:left;display:flex;align-items:center;gap:11px;padding:10px 9px;min-height:52px}.building-item:hover,.building-item.active{border-color:#2b6874;background:#122c39;color:#e8f4f7}.building-index{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:#1b3042;border:1px solid #2c4557;font-size:11px;color:var(--cyan);font-weight:750}.building-item strong{font-size:11px;display:block;letter-spacing:.7px}.building-item small{display:block;font-size:9px;color:#708e9f;margin-top:3px}.building-item .chev{margin-left:auto;color:#769baa}.hall-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:7px 0 9px 43px}.hall-button{background:#112533;color:#8da9ba;border:1px solid #27465a;padding:7px 0;font:10px ui-monospace,monospace}.hall-button.active{background:#1a4e54;color:#adfff3;border-color:#3caeaf}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.tool{display:flex;align-items:center;gap:8px;border:1px solid #294253;background:#132433;color:#8daabb;padding:9px;text-align:left}.tool span{font-size:18px;color:#99b7c9}.tool small{font-size:10px}.tool.active{border-color:#347f80;background:#164045;color:#d8f6f2}.tool.active span{color:var(--cyan)}.scenario-buttons{display:flex;flex-wrap:wrap;gap:5px}.scenario{background:#152938;color:#91a8b5;border:1px solid #2c4253;padding:8px 10px;font-size:10px}.scenario.active{border-color:#45aaa9;background:#18414a;color:var(--cyan)}.slider-row{margin-top:19px}.slider-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#adc4d0}.slider-head output{font-weight:760;color:var(--cyan);font-family:ui-monospace,monospace;font-size:13px}.slider-row input{width:100%;accent-color:#4bd9d2;cursor:pointer;height:4px;margin:14px 0 4px}.slider-labels{display:flex;justify-content:space-between;font:9px ui-monospace,monospace;color:#577185}.sim-actions{display:flex;gap:7px;margin-top:23px}.sim-actions>*{flex:1;min-width:0;height:33px}.outline-btn,#time-speed{background:#122938;border:1px solid #305168;color:#b3d3df;padding:6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:23px;font-size:8px;letter-spacing:1.2px;color:#83a1b0;font-weight:700}.sidebar-bottom small{display:block;color:#516a7a;margin:5px 0 0 12px}.tiny-indicator{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok)}.viewport{grid-column:2;grid-row:2;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#152e41,#06121e)}#world-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#world-canvas:active{cursor:grabbing}.viewport:after{pointer-events:none;content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07131d66 0%,transparent 20%,transparent 75%,#05152155 100%)}.view-top{position:absolute;z-index:2;top:24px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:10px;letter-spacing:1.3px;font-weight:800;text-shadow:0 1px 6px #06121e}.breadcrumb span{color:var(--cyan);margin:0 7px}.view-tag{font:9px ui-monospace,monospace;letter-spacing:1px;border:1px solid #4d8e97;padding:7px 9px;color:var(--cyan);background:#0b2630ac;white-space:nowrap}.view-left{position:absolute;z-index:2;top:72px;left:28px;display:flex;flex-direction:column;gap:13px;align-items:center;color:#b3c8d2}.north-indicator{border:1px solid #365368;width:36px;height:44px;display:flex;align-items:center;flex-direction:column;justify-content:center;font:10px ui-monospace,monospace;gap:2px;background:#0b1c29ad}.north-indicator span{color:var(--cyan);font-size:13px}.altitude-text{font:9px ui-monospace,monospace;white-space:nowrap;transform:rotate(-90deg) translateX(-19px);transform-origin:center;color:#91b3bf}.view-bottom{position:absolute;z-index:2;left:23px;right:23px;bottom:22px;display:flex;justify-content:space-between;align-items:end;gap:12px}.camera-modes{display:flex;background:#0c202dcc;border:1px solid #244454;padding:4px;gap:4px;flex-wrap:wrap}.camera-btn{background:transparent;border:1px solid transparent;color:#668a9d;padding:10px 11px;font:10px ui-monospace,monospace;white-space:nowrap}.camera-btn strong{font-family:Inter,"Segoe UI",sans-serif;font-weight:650;font-size:10px;letter-spacing:.2px;margin-left:3px;color:#b4cad6}.camera-btn:hover,.camera-btn.active{background:#153e48;color:var(--cyan);border-color:#326b72}.camera-btn.active strong{color:#e5ffff}.camera-hint{font:9px ui-monospace,monospace;color:#88a7ba;white-space:nowrap;text-shadow:0 1px 5px black}.viewport-stats{position:absolute;z-index:2;top:84px;right:25px;display:flex;flex-direction:column;gap:9px;align-items:end;font:9px ui-monospace,monospace;letter-spacing:.5px;color:#a1bbc7}.viewport-stats strong{font-size:10px;color:#d0e6ed}.viewport-stats i{display:inline-block;width:5px;height:5px;background:var(--cyan);vertical-align:middle;margin-right:5px}.viewport-fps{color:#5b8395}.selected-object{position:absolute;z-index:3;top:47%;right:23px;transform:translateY(-50%);background:#0c1a29eb;border:1px solid #2b5c69;width:250px;padding:17px;box-shadow:0 15px 40px #0006}.selected-label{font-size:9px;letter-spacing:1.3px;color:var(--cyan);margin-bottom:10px}.selected-object strong{font-size:15px;letter-spacing:.4px}.selected-object p{font-size:10px;line-height:1.55;color:#92abbc}.selected-detail{color:#9fc0d0;font:10px/1.8 ui-monospace,monospace}.select-buttons{display:flex;gap:6px;margin-top:14px}.select-buttons button{flex:1;background:#16303c;border:1px solid #2c5660;color:#c0e1e5;padding:9px 5px;font-size:10px}.select-buttons button:first-child{border-color:#2f8b84;color:var(--cyan)}.insights{grid-column:3;grid-row:2;background:var(--panel);border-left:1px solid var(--border);overflow:auto;scrollbar-color:#234458 transparent;scrollbar-width:thin;padding:20px 17px}.right-top{display:flex;justify-content:space-between;color:#c5d9e1;font-size:10px;font-weight:800;letter-spacing:1.4px;margin-bottom:17px}.kpi-feature{background:linear-gradient(135deg,#163945,#102734 66%,#0f2532);padding:15px 14px 13px;border:1px solid #295a66;margin-bottom:12px}.kpi-label{font-size:9px;letter-spacing:1px;font-weight:730;display:flex;justify-content:space-between;gap:5px;color:#a0c6cb}.kpi-label span{color:#56a6b3;font-size:8px}.kpi-value{display:flex;align-items:baseline;gap:7px;margin:10px 0 7px}.kpi-value strong{font-size:44px;font-weight:720;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.kpi-value span{font-size:13px;color:var(--cyan);font-weight:720}.capacity-line{background:#203947;height:5px;overflow:hidden;margin:13px 0 11px}.capacity-fill{height:100%;width:0;background:linear-gradient(90deg,#45b6a9,#70f0df);transition:width .4s}.kpi-foot{font:8px ui-monospace,monospace;color:#82aeb9;display:flex;justify-content:space-between}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 20px}.kpi-mini{border:1px solid #1e394a;background:#0e202e;padding:13px 10px;min-height:99px}.kpi-mini>span{display:block;font-size:8px;line-height:1.6;color:#829faf;font-weight:700;letter-spacing:.6px;min-height:27px}.kpi-mini strong{display:block;margin:4px 0 3px;font:700 22px ui-monospace,monospace;color:#f3f9fa;letter-spacing:-1px}.kpi-mini strong small{font-size:10px;color:var(--cyan);letter-spacing:0}.kpi-mini>small{font:8px ui-monospace,monospace;color:#648698}.chart-card{border-top:1px solid #1b3443;padding-top:17px}.chart-legend{display:flex;align-items:center;gap:18px;color:#769db0;font-size:9px;margin-top:-2px}.chart-legend i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:5px}.legend-power{background:#53e1d6}.legend-temp{background:#f4b46c}#telemetry-chart{display:block;width:100%;height:140px;margin-top:12px}.chart-axis{display:flex;justify-content:space-between;color:#597789;font:8px ui-monospace,monospace;margin:-5px 0 20px}.component-card{border-top:1px solid #1b3443;padding-top:16px}.health-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17303e;padding:9px 0;color:#abc1ca;font-size:10px}.health-row strong{font:9px ui-monospace,monospace;color:var(--ok)}.health-row strong.alert{color:var(--red)}.health-row .icon-power{color:var(--cyan);display:inline-block;width:19px;font-style:normal}.subsystem-mini{display:flex;justify-content:space-between;color:#6f94a7;font:9px ui-monospace,monospace;margin-top:12px}.subsystem-mini strong{color:#c4e0e7}.failure-card,.events{border-top:1px solid #1b3443;margin-top:20px;padding-top:16px}.fault-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fault-buttons button{padding:9px 4px;background:#1d2735;border:1px solid #544050;color:#d8acb2;font-size:10px}.fault-buttons button:hover{border-color:#da6f7b;color:#ffdbdc}.fault-buttons button.active{background:#633241;border-color:#ce7180;color:#fff}.restore-btn{width:100%;margin-top:7px;background:#17382f;color:var(--ok);border:1px solid #326858;font-size:10px;padding:10px}.events{padding-bottom:22px}.event-list{display:flex;flex-direction:column;gap:8px}.event{display:flex;align-items:start;gap:9px;padding:8px;background:#0d202e;border-left:2px solid #3c6875}.event.critical{border-left-color:var(--red)}.event.ok{border-left-color:var(--ok)}.event i{font-size:10px;color:#80bbcb;font-style:normal;line-height:1.4}.event div{font-size:9px;line-height:1.45;color:#9cbbc8}.event time{display:block;font:8px ui-monospace,monospace;color:#618597;margin-top:4px}.loading-screen{position:absolute;z-index:7;inset:0;background:#081723;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .6s}.loading-screen.hidden{opacity:0;pointer-events:none}.load-brand{font-size:18px;font-weight:850;letter-spacing:2px}.load-track{width:220px;height:2px;background:#1b3d49}.load-track i{display:block;height:100%;background:var(--cyan);width:100%;transform-origin:left;animation:load 1.2s ease-in-out infinite}.loading-screen p{font:9px ui-monospace,monospace;letter-spacing:1.6px;color:#789aac}.toast{position:absolute;z-index:5;top:40px;left:50%;transform:translateX(-50%);border:1px solid #36736e;background:#0b3037e8;color:#baffed;padding:12px 17px;font-size:11px;display:none}.toast.show{display:block}.modal-backdrop{position:fixed;z-index:15;inset:0;background:#020c16cc;display:grid;place-items:center;padding:22px}.modal-backdrop[hidden]{display:none}.modal{width:min(460px,95vw);background:#112432;border:1px solid #426c74;box-shadow:0 20px 80px #000b;padding:28px;position:relative}.modal h2{margin:0 0 10px;font-size:22px}.modal p{font-size:12px;color:#9bb4c2;line-height:1.7}.modal dl{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:11px}.modal dt{color:var(--cyan);font-weight:700}.modal dd{margin:0;color:#c0d7df}.modal-close{position:absolute;right:17px;top:15px;color:#d0e5ec;background:transparent;border:0;font-size:25px}.modal-foot{border-top:1px solid #26404d;padding-top:12px}.error-message{font:12px ui-monospace,monospace;color:#ffb5bb;max-width:550px;padding:14px;white-space:pre-wrap}@keyframes pulse{50%{opacity:.42;box-shadow:0 0 3px #42deb8}}@keyframes load{0%{transform:scaleX(.08)}80%{transform:scaleX(.95)}100%{transform:scaleX(1)}}@media(max-width:1450px){.app{grid-template-columns:246px minmax(400px,1fr) 288px}.sidebar{padding:17px 13px}.insights{padding:17px 12px}.camera-hint{display:none}.selected-object{right:15px;top:53%;width:230px}.top-center{display:none}}@media(max-width:1100px){.app{grid-template-columns:214px minmax(330px,1fr) 254px}.brand{min-width:270px}.brand strong{font-size:12px}.brand small{font-size:7px}.selected-object{top:auto;bottom:82px;transform:none;width:220px}.camera-btn{padding:7px}.view-tag{display:none}}@media(max-width:850px){body{overflow:auto}.app{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:60px minmax(450px,62vh) auto auto}.topbar{grid-column:1;grid-row:1}.sidebar{grid-column:1;grid-row:3;max-height:none}.viewport{grid-column:1;grid-row:2}.insights{grid-column:1;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px}.right-top,.kpi-feature,.events{grid-column:1/-1}.building-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.selected-object{display:none}.viewport-stats{right:12px}.camera-hint{display:none}}@media(max-width:560px){.topbar{padding:0 12px}.brand{min-width:0}.brand strong{font-size:11px}.brand small{font-size:6px;letter-spacing:.8px}.brand img{width:28px;height:28px}.top-actions .pill{display:none}.insights{grid-template-columns:1fr}.kpi-grid{grid-column:1/-1}.selected-object{display:none}.camera-btn strong{font-size:9px}.camera-btn{padding:5px}.viewport-stats{display:none}.view-bottom{left:7px;right:7px;bottom:10px}.view-top{top:15px;left:12px}.north-indicator{display:none}}
/* Small inline, focusable rack module service controls */
.selected-detail .inline-mini{background:#143b44;border:1px solid #2a6770;color:var(--cyan);font:700 12px ui-monospace,monospace;padding:3px 8px;margin:5px}.mini-step{font-size:9px;color:#718e9e}.selected-detail b{color:#d7ffff}.selected-detail strong{font-size:11px;color:var(--cyan)}
