:root{color:#dce4e5;font-synthesis:none;--muted:#798a94;--line:#26323c;--green:#bfdf81;--mint:#65d8ba;--panel:#121c26;background:#0c131b;font-family:Segoe UI,Arial,sans-serif;font-size:13px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:inherit;text-decoration:none}button svg{flex-shrink:0}button{transition:background .16s,color .16s,border-color .16s}button:hover{color:#f3f8f3}input{color:#d8e3e2;background:#192630;border:1px solid #344651;border-radius:5px;outline:none}input[type=range]{appearance:none;cursor:pointer;height:3px;accent-color:var(--green);background:#33433f;border:0;border-radius:10px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--green);border-radius:50%;width:11px;height:11px}input[type=number]{width:100%;padding:8px}input::-webkit-inner-spin-button{opacity:.5}svg{vertical-align:middle}.app{flex-direction:column;height:100dvh;min-height:740px;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#0d141d;flex-shrink:0;align-items:center;gap:26px;height:68px;padding:0 25px;display:flex}.brand{letter-spacing:-1px;white-space:nowrap;align-items:center;gap:9px;font-size:23px;font-weight:650;display:flex}.brand-mark{width:34px;height:36px;color:var(--green)}.brand-mark svg{width:34px;height:36px}.studio-word{letter-spacing:1.7px;white-space:normal;color:#95a4ad;width:59px;margin-left:5px;font-size:9px;font-weight:500;line-height:1.7}.header-divider{background:#2b343e;width:1px;height:25px}.header-project{color:#81909c;align-items:center;gap:15px;font-size:12px;display:flex}.header-project strong{color:#c8d2d6;font-weight:500}.demo-badge{letter-spacing:1.3px;color:#b1c895;background:#243429;border:1px solid #3d5038;border-radius:4px;padding:4px 6px;font-size:9px}.header-actions{align-items:center;gap:18px;margin-left:auto;display:flex}.local-status{color:#a0afa9;align-items:center;gap:8px;font-size:11px;display:flex}.local-status i,.live-dot,.project-dot{background:#7ddaaf;border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 10px #65d8ba28}.icon-button{color:#84949d;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.icon-button:hover{background:#23333e}.secondary{color:#c9d7d9;background:#1b2730;border:1px solid #36434a;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:11px 15px;font-size:12px;font-weight:500;display:inline-flex}.secondary:hover{background:#293a40;border-color:#576967}.compact{padding:8px 12px;font-size:11px}.primary{border:1px solid var(--green);color:#18291e;background:var(--green);border-radius:5px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:12px;font-weight:700;display:inline-flex}.primary:hover{color:#142016;background:#d4eea3}.workflow{background:#111b25;border-bottom:1px solid #2a343e;flex-shrink:0;align-items:center;height:64px;padding:0 24px;display:flex}.workflow-steps{align-items:center;gap:10px;display:flex}.workflow-steps button{color:#a0adb5;white-space:nowrap;border-radius:5px;align-items:center;gap:9px;height:36px;padding:0 9px;font-size:11px;display:flex}.workflow-steps button span{color:#576a76;font-family:Consolas,monospace;font-size:9px}.workflow-steps button.current{color:#e3ecd8;background:#22312f;border:1px solid #384a3e}.workflow-steps button.current span{color:#b6d284}.workflow-steps button:hover{background:#22313b}.step-arrow{color:#3a4b56}.workflow-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.export-button{color:#b1c0c7;align-items:center;gap:8px;font-size:11px;display:flex}.run-button{letter-spacing:.8px;padding:10px 16px;font-size:11px;box-shadow:0 0 20px #b7d7780b}.workbench{flex:1;min-height:0;display:flex}.sidebar{scrollbar-width:thin;scrollbar-color:#344449 transparent;background:#111b25;border-right:1px solid #2a3540;flex-direction:column;flex-shrink:0;width:267px;padding:12px 17px 0;display:flex;overflow:auto}.sidebar-heading{letter-spacing:1.8px;color:#81939e;justify-content:space-between;align-items:center;padding:1px 0 10px;font-size:9px;font-weight:600;display:flex}.project-card{border:1px solid #2a3c44;border-radius:7px;flex-shrink:0;overflow:hidden}.project-illustration{background:#1a2b31;height:94px;position:relative}.project-illustration svg{opacity:.9;width:100%;height:100%}.project-illustration>span{letter-spacing:.9px;color:#b8c5b8;background:#20322dcc;border-radius:3px;align-items:center;gap:5px;padding:3px 5px;font-size:7px;display:flex;position:absolute;bottom:5px;left:7px}.project-illustration>span i{background:var(--green);border-radius:50%;width:3px;height:3px}.project-meta{background:#16232b;padding:13px 12px}.project-meta h3{letter-spacing:.2px;margin:0 0 6px;font-size:13px;font-weight:550}.project-meta p{color:#81949c;white-space:nowrap;margin:0;font-size:9px}.project-meta p span{padding:0 4px}.sidebar-section-title{letter-spacing:1.3px;color:#7e929c;justify-content:space-between;align-items:center;margin:24px 0 14px;font-size:9px;font-weight:600;display:flex}.sidebar-section-title .muted{letter-spacing:0;color:#657a82;font-size:9px;font-weight:400}.quick-metrics{gap:12px;display:flex}.metric{flex-direction:column;flex:1;gap:7px;display:flex}.metric>span{color:#94a7ae;font-size:10px}.metric strong{letter-spacing:-.7px;color:#edf1e9;font-size:27px;font-weight:450;line-height:1.2}.metric strong small{color:#93a6a5;letter-spacing:0;margin-left:5px;font-size:12px;font-weight:400}.quick-metrics .metric+.metric{border-left:1px solid #2a3a42;padding-left:18px}.device-list-header{justify-content:space-between;align-items:center;margin:20px 0 5px;display:flex}.device-list-header h3{color:#c0ced2;font-size:12px;font-weight:500}.equipment-row{text-align:left;border-bottom:1px solid #20303a;border-radius:4px;align-items:center;gap:10px;width:100%;padding:10px 1px;display:flex}.equipment-row:hover,.equipment-row.chosen{background:#1c2c35}.equipment-icon{color:#85b7a5;background:#1b3032;border:1px solid #334a4b;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:34px;display:flex}.equipment-icon.ap{color:#88b3ea;background:#1c2b41;border-color:#2e425c}.equipment-icon.camera{color:#d2b783;background:#322d27;border-color:#494032}.equipment-icon.rack{color:#bdd38d;background:#27312a;border-color:#3c4935}.equipment-row>span:nth-child(2){flex:1;min-width:0}.equipment-row strong{color:#c1d0d2;font-size:11px;font-weight:500;display:block}.equipment-row small{color:#6f8790;margin-top:5px;font-size:9px;display:block}.equipment-row>b{color:#b7c7c9;text-align:center;background:#253641;border-radius:4px;min-width:23px;padding:3px 6px;font-size:11px;font-weight:500}.equipment-row>svg{color:#6f8790}.add-device-row{gap:5px;margin:12px 0 0;display:flex}.add-device-row button{color:#93a9ad;border:1px dashed #3b4b50;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:9px;display:flex}.add-device-row button:hover{color:#d3e2c4;border-color:#a9cc88}.layer-title{margin:23px 0 10px}.toggle-row{color:#91a4ad;justify-content:space-between;align-items:center;width:100%;padding:7px 0;font-size:10px;display:flex}.toggle-row i{background:#34444a;border-radius:9px;width:25px;height:14px;position:relative}.toggle-row i:after{content:"";background:#7b8d95;border-radius:50%;width:8px;height:8px;transition:all .15s;position:absolute;top:3px;left:3px}.toggle-row.active i{background:#41583d}.toggle-row.active i:after{background:#c3dc94;left:14px}.network-health{margin-top:auto;padding:18px 0 12px}.network-health>div:first-child{color:#bacdbb;align-items:center;gap:7px;font-size:10px;display:flex}.health-dot{background:#a6d783;border-radius:50%;width:5px;height:5px}.network-health strong{flex:1;font-weight:500}.network-health p{color:#7d929a;margin:8px 0 10px;font-size:9px}.network-health p span{padding:0 6px}.network-health .capacity{background:#2f3d3e;border-radius:3px;height:3px;margin-bottom:7px;overflow:hidden}.capacity i{background:#9fc979;height:3px;display:block}.network-health small{color:#697e87;font-size:8px}.assumptions-link{color:#6c858d;border-top:1px solid #25333e;flex-shrink:0;align-items:center;gap:6px;padding:12px 0;font-size:8px;display:flex}.assumptions-link svg:last-child{margin-left:auto}.filtered-devices{border:1px solid #2d4248;border-radius:5px;max-height:170px;margin-top:9px;padding:4px;overflow:auto}.filtered-devices button{text-align:left;color:#7fc6ad;align-items:center;gap:10px;width:100%;padding:6px;font-size:10px;display:flex}.filtered-devices span{color:#7e969a;margin-left:auto;font-size:9px}.chosen{background:#263c3d!important}.main-area{background:#101c24;flex-direction:column;flex:1;min-width:0;display:flex}.viewport-toolbar{background:#121e27;border-bottom:1px solid #293842;flex-shrink:0;align-items:center;height:49px;padding:0 20px;display:flex}.workspace-label{color:#b2c3c9;align-items:center;gap:8px;font-size:10px;display:flex}.project-dot{background:#93c57e;width:5px;height:5px}.toolbar-separator{color:#3f545f;padding:0 6px}.workspace-label small{color:#6d858f;font-size:9px}.view-tabs{background:#0f1921;border:1px solid #2b3b45;border-radius:6px;margin-left:auto;padding:3px;display:flex}.view-tabs button{color:#7c929c;border-radius:3px;align-items:center;gap:6px;padding:5px 10px;font-size:9px;display:flex}.view-tabs .active{color:#d2dfd3;background:#2a3d3e}.viewport-actions{gap:8px;margin-left:16px;display:flex}.viewport{background:radial-gradient(at 50% 40%,#243b43,#101c24);flex:1;min-height:250px;position:relative;overflow:hidden}.canvas-wrap{position:absolute;inset:0}.plan-overlay{background:#13242e;position:absolute;inset:0}.plan-view{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.plan-view>svg{touch-action:none;width:88%;max-width:1000px;height:96%}.viewport-heading{pointer-events:none;z-index:3;text-shadow:0 2px 15px #111d23b3;position:absolute;top:27px;left:32px}.eyebrow{letter-spacing:1.9px;color:#95b5a5;align-items:center;gap:8px;font-size:8px;font-weight:500;display:flex}.eyebrow .live-dot{width:4px;height:4px}.viewport-heading h1{letter-spacing:-1.1px;color:#e7eee4;margin:13px 0 10px;font-size:32px;font-weight:400;line-height:1.2}.viewport-heading h1 em{color:#b7cba6;font-style:normal}.viewport-heading p{color:#7f9aa3;letter-spacing:.1px;margin:0;font-size:10px}.canvas-badges{z-index:3;flex-direction:column;align-items:flex-end;gap:7px;display:flex;position:absolute;top:25px;right:24px}.canvas-badges>span{letter-spacing:1.2px;color:#add5c0;background:#182931a3;border:1px solid #3a4f50;border-radius:3px;align-items:center;gap:6px;padding:5px 7px;font-size:7px;display:flex}.canvas-badges>button{color:#75959d;align-items:center;gap:6px;padding:6px 0;font-size:9px;display:flex}.camera-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:8;background:#162730df;border:1px solid #3a4b51;border-radius:7px;flex-direction:column;align-items:center;gap:2px;padding:5px;display:flex;position:absolute;top:116px;right:21px}.camera-controls button{color:#88a0aa;border-radius:4px;justify-content:center;align-items:center;width:31px;height:32px;display:flex}.camera-controls button:hover,.camera-controls button.active{color:#bedcaa;background:#31473e}.camera-controls>span{background:#3b4c51;width:19px;height:1px;margin:3px}.viewport-footer{pointer-events:none;z-index:4;align-items:center;gap:20px;display:flex;position:absolute;bottom:19px;left:27px;right:22px}.cable-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16262eda;border:1px solid #354951;border-radius:5px;align-items:center;gap:15px;padding:9px 12px;display:flex}.cable-legend>span{letter-spacing:1.1px;color:#a0b7bc;align-items:center;gap:6px;font-size:7px;display:flex}.cable-legend i{border-radius:1px;width:14px;height:2px}.orbit-hint{color:#758e98;align-items:center;gap:5px;font-size:8px;display:flex}.compass{color:#92acae;flex-direction:column;align-items:center;gap:3px;width:42px;height:51px;margin-left:auto;font-size:8px;display:flex}.compass svg{width:28px;height:28px}.device-tag{color:var(--tag);white-space:nowrap;border:1px solid color-mix(in srgb, var(--tag) 50%, transparent);letter-spacing:.5px;cursor:pointer;background:#12252adc;border-radius:4px;padding:4px 6px;font-size:9px;transform:translateY(-2px);box-shadow:0 2px 8px #091a2244}.device-tag.selected{outline:1px solid var(--tag);background:#25423eea}.rack-tag{--tag:#c9e5aa;padding:6px 8px}.rack-tag small{opacity:.6;padding-left:6px;font-size:8px}.room-label{color:#354e4b;letter-spacing:2px;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Segoe UI,Arial,sans-serif;font-size:24px;font-weight:650}.room-label small{letter-spacing:.8px;color:#516962;margin-top:5px;font-size:15px;font-weight:400;display:block}.bay-tag{white-space:nowrap;color:#8ae6c9;letter-spacing:.8px;background:#16352ee0;padding:4px;font-size:7px}.presentation-deck{z-index:12;background:#14212a;border-top:1px solid #34454a;flex-shrink:0;padding:19px 26px 17px}.deck-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.deck-title .eyebrow{letter-spacing:1.6px;color:#6e8990;font-size:7px}.deck-title strong{letter-spacing:.1px;color:#c9d8d4;margin-top:6px;font-size:13px;font-weight:400;display:block}.playback{align-items:center;gap:13px;display:flex}.play-toggle{color:#c3db9f;justify-content:center;align-items:center;padding:0;display:flex}.play-toggle:hover{color:#ddf4ba}.time-code{color:#c2d1cc;white-space:nowrap;font:10px Consolas,monospace}.time-code small{color:#69828a;font-size:9px}.playback .secondary{margin-left:6px;padding:7px 9px;font-size:9px}.timeline-scrubber{width:100%;margin:21px 0 15px;background:linear-gradient(to right, #adcd81 0%, #adcd81 var(--progress), #30454b var(--progress), #30454b 100%)!important;height:3px!important}.timeline-scrubber::-webkit-slider-thumb{box-shadow:0 0 0 3px #accb7b15;width:8px!important;height:8px!important}.scene-chapters{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.scene-chapters button{color:#657e88;text-align:left;white-space:nowrap;align-items:center;gap:8px;padding:0;font-size:9px;display:flex}.scene-chapters button>span{color:#8aa0a3;border:1px solid #3d5055;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;font:8px Consolas,monospace;display:flex}.scene-chapters .active{color:#d6e5c8}.scene-chapters .active>span{color:#cee8aa;background:#3c503a;border-color:#6e8b52}.scene-chapters .complete>span{color:#95b77b;background:#2c402f;border-color:#536b4a}.statusbar{color:#607d86;background:#101b24;border-top:1px solid #26353d;flex-shrink:0;justify-content:space-between;align-items:center;height:30px;padding:0 21px;font-size:8px;display:flex}.statusbar>span{align-items:center;gap:6px;display:flex}.statusbar i{background:#75ac8c;border-radius:50%;width:4px;height:4px}.statusbar button{color:#8eaaa8;align-items:center;gap:3px;margin-left:3px;padding:0;font-size:8px;display:flex}.inspector{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#14262fef;border:1px solid #405658;border-radius:8px;width:233px;padding:14px;position:absolute;top:110px;right:71px;box-shadow:0 14px 35px #04111840}.inspector-head{color:#86a0a8;letter-spacing:1.3px;justify-content:space-between;align-items:center;margin:-5px -5px 8px 0;font-size:7px;display:flex}.inspector h3{color:#e1ebe0;margin:0 0 5px;font-size:15px;font-weight:500}.inspector p{color:#8ea9aa;margin:0 0 12px;font-size:10px}.coordinate-inputs{gap:8px;margin:15px 0 6px;display:flex}.coordinate-inputs label{color:#96c1ae;align-items:center;gap:6px;font-size:9px;display:flex}.coordinate-inputs input{max-width:76px;padding:7px;font-size:10px}.inspector>small{color:#6a8c92;font-size:8px}.device-specs{flex-direction:column;gap:8px;margin:15px 0;display:flex}.device-specs span{color:#89a0a7;justify-content:space-between;font-size:9px;display:flex}.device-specs b{color:#c6d7d0;font-weight:400}.inspector .fine{margin:14px 0;font-size:9px;line-height:1.7}.inspector .secondary{white-space:nowrap;gap:5px;width:100%;padding:8px;font-size:9px}.text-danger{color:#b7887e;border-top:1px solid #33494d;padding:12px 0;font-size:9px}.edit-hint{color:#bfd39b;border-top:1px solid #344b4e;align-items:center;gap:6px;width:100%;margin-top:6px;padding:12px 0 0;font-size:9px;display:flex}.toast{z-index:50;color:#dbeacb;white-space:normal;background:#243e34f5;border:1px solid #68865d;border-radius:7px;justify-content:center;align-items:center;gap:8px;max-width:90%;padding:12px 17px;font-size:11px;display:flex;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 7px 25px #0004}.editing-badge{color:#c5e3ac;letter-spacing:1px;z-index:11;background:#23352be8;border:1px solid #658452;border-radius:6px;align-items:center;gap:8px;padding:7px 8px 7px 12px;font-size:8px;display:flex;position:absolute;top:17px;left:50%;transform:translate(-50%)}.editing-badge button{letter-spacing:0;background:#48633c;border-radius:3px;align-items:center;gap:4px;margin-left:8px;padding:5px 7px;font-size:8px;display:flex}.trace-tip{color:#f1d296;background:#3a3823;border:1px solid #877842;border-radius:5px;padding:10px;font-size:11px;position:absolute;bottom:85px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051017c4;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{scrollbar-width:thin;scrollbar-color:#557468 transparent;background:#15232d;border:1px solid #3b4e54;border-radius:12px;width:690px;max-width:100%;max-height:calc(100vh - 50px);padding:34px;position:relative;overflow:auto;box-shadow:0 30px 120px #0009}.modal .eyebrow{color:#b4cc99;font-size:8px}.modal h2{letter-spacing:-.8px;margin:12px 0;font-size:29px;font-weight:400}.modal>p{color:#8ea5ad;margin:0 0 24px;font-size:12px;line-height:1.7}.close{color:#8da4aa;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:15px;right:16px}.close:hover{color:#e3eddd;background:#2b4146;border-radius:4px}.upload-zone{color:#adce97;cursor:pointer;background:#1b302e;border:1px dashed #567063;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:13px;height:182px;display:flex;position:relative}.upload-zone strong{font-size:15px;font-weight:500}.upload-zone span{color:#7e9e9c;font-size:10px}.upload-zone input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.upload-zone:hover{background:#243c35}.example-card{color:#b4ce9d;border:1px solid #3c4f51;border-radius:6px;align-items:center;gap:12px;margin:18px 0 20px;padding:15px;display:flex}.example-card strong{color:#d0ded2;font-size:12px;font-weight:500}.example-card p{color:#8ba3a7;margin:6px 0 0;font-size:9px}.example-card .secondary{white-space:nowrap;margin-left:auto;padding:8px;font-size:9px}.fine{color:#7d989f!important;font-size:10px!important;line-height:1.8!important}.modal>.fine{margin-bottom:0}.error-message{background:#523b2e;border:1px solid #876048;border-radius:6px;padding:12px;font-size:11px;color:#f4c6a2!important;margin-top:14px!important;margin-bottom:0!important}.calibration-head{color:#bad09f;align-items:center;gap:10px;margin-bottom:15px;font-size:11px;display:flex}.calibration-head strong{font-weight:400}.calibration-head button{color:#89aaa8;margin-left:auto;font-size:9px;text-decoration:underline}.calibration-plan{cursor:crosshair;touch-action:none;background:#1e3037;border-radius:6px;width:100%;height:325px;display:block}.calibration-foot{justify-content:space-between;align-items:flex-end;gap:20px;margin:20px 0 14px;display:flex}.calibration-foot>label{color:#9db2b5;flex:1;font-size:11px}.input-unit{align-items:center;gap:10px;margin-top:9px;display:flex}.input-unit input{width:100px}.input-unit span{color:#79979d;font-size:10px}.settings-modal{width:550px}.setting{margin:20px 0;display:block}.setting>span{color:#9bb2b6;justify-content:space-between;font-size:11px;display:flex}.setting strong{color:#c4deac;font-weight:400}.setting input{width:100%;margin:12px 0 0}.assumption-note{color:#adbd91;background:#27322d;border:1px solid #46554d;border-radius:6px;gap:12px;margin:25px 0 20px;padding:13px;display:flex}.assumption-note p{color:#9aac9e;margin:0;font-size:10px;line-height:1.7}.assumption-note>svg{flex-shrink:0}.export-modal{width:800px}.export-summary{border-top:1px solid #344b50;border-bottom:1px solid #344b50;gap:25px;margin:20px 0;padding:20px 0;display:flex}.export-summary .metric strong{font-size:25px}.modal-tabs{border-bottom:1px solid #344b50;gap:20px;margin:20px 0 16px;display:flex}.modal-tabs button{color:#8ea8ab;border-bottom:2px solid #0000;padding:0 0 12px;font-size:11px}.modal-tabs .active{color:#c4dca6;border-bottom-color:#b5d389}.export-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.export-item{text-align:left;color:#acc99c;background:#1b2c33;border:1px solid #354c50;border-radius:6px;align-items:center;gap:12px;padding:17px 13px;display:flex}.export-item:hover{background:#293f3e;border-color:#7c9564}.export-item>span{flex:1}.export-item strong{color:#c8d8d3;font-size:11px;font-weight:500;display:block}.export-item small{color:#74979c;margin-top:5px;font-size:9px;line-height:1.6;display:block}.export-item>svg:last-child{color:#688d90;width:14px}.export-modal>.fine{margin-top:20px}.schedule-table{max-height:350px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{letter-spacing:.7px;color:#8da8ad;background:#23373c;padding:10px 8px;font-size:9px;font-weight:500;position:sticky;top:0}td{color:#adc4c6;border-bottom:1px solid #2d4248;padding:9px 8px}td:first-child{color:#b6d39c}.info-block{border-top:1px solid #344a50;padding:15px 0}.info-block h3{color:#c1d9aa;margin:0 0 10px;font-size:12px;font-weight:500}.info-block p{color:#8ea9ae;margin:8px 0;font-size:11px;line-height:1.8}.info-block a{color:#b9d49e;text-underline-offset:3px;padding:4px 0;font-size:10px;text-decoration:underline;display:block}.info-actions{gap:12px;margin:18px 0;display:flex}.info-actions button{font-size:10px}.presentation .sidebar{opacity:.75}.main-area:fullscreen{height:100vh}.main-area:fullscreen .viewport{min-height:0}@media (width>=1700px){.sidebar{width:286px;padding-left:21px;padding-right:21px}.viewport-heading h1{font-size:39px}.viewport-heading{top:36px;left:40px}.topbar{height:74px}.workflow{height:68px}.presentation-deck{padding-top:23px;padding-bottom:23px}.sidebar-heading{padding-bottom:14px}.network-health{padding-top:25px}.equipment-row{padding:13px 1px}.toggle-row{padding:10px 0}}@media (width<=1200px){.sidebar{width:235px;padding:11px 13px}.workflow{padding:0 15px}.workflow-steps{gap:2px}.workflow-steps button{gap:6px;padding:0 6px;font-size:10px}.workflow-steps button span{display:none}.workflow-actions{gap:13px}.topbar{gap:18px;padding:0 17px}.header-project{gap:9px}.header-actions{gap:10px}.local-status,.orbit-hint{display:none}.scene-chapters{gap:5px}.scene-chapters button{gap:4px;font-size:8px}.viewport-heading h1{font-size:29px}.playback{gap:9px}.project-meta p,.sidebar-section-title,.sidebar-section-title .muted{font-size:8px}}@media (height<=850px){.topbar{height:57px}.workflow{height:55px}.sidebar-section-title{margin-top:17px}.project-illustration{height:70px}.project-meta{padding:11px}.device-list-header{margin-top:13px}.equipment-row{padding:7px 1px}.equipment-icon{width:29px;height:29px}.layer-title{margin-top:16px}.toggle-row{padding:6px 0}.presentation-deck{padding-top:13px;padding-bottom:13px}.viewport-heading{top:20px;left:25px}.viewport-heading h1{font-size:28px}.viewport-heading p{font-size:9px}.timeline-scrubber{margin:16px 0 12px}.network-health{padding-top:16px}.viewport-footer{bottom:12px}.assumptions-link{padding:10px 0}.app{min-height:680px}}@media (width<=900px){.header-project,.header-divider{display:none}.studio-word{font-size:8px}.workflow-steps button{gap:0;padding:0 12px;font-size:0}.workflow-steps button svg{width:17px;height:17px}.workflow-steps button:first-child{gap:6px;font-size:10px}.sidebar{width:210px}.equipment-row strong{font-size:10px}.equipment-row small{font-size:8px}.project-meta p{white-space:normal;line-height:1.6}.workspace-label{gap:3px;font-size:0}.workspace-label small{font-size:9px}.toolbar-separator{display:none}.viewport-heading h1{font-size:24px}.viewport-heading p{max-width:220px;line-height:1.6}.canvas-badges{top:20px;right:16px}.canvas-badges>button{font-size:0}.canvas-badges>button svg{display:none}.camera-controls{top:75px;right:14px}.presentation-deck{padding-left:18px;padding-right:18px}.deck-title strong{font-size:11px}.playback{gap:5px}.playback .secondary{display:none}.scene-chapters button{justify-content:center;font-size:0}.scene-chapters button span{font-size:8px}.statusbar>span:last-child{display:none}.inspector{width:210px;right:57px}.modal{padding:25px}.export-grid{grid-template-columns:1fr}.export-summary{gap:12px}}@media (width<=650px){.sidebar{display:none}.app{min-height:650px}.topbar{padding:0 12px}.brand{font-size:21px}.header-actions .compact{padding:8px;font-size:0}.header-actions .compact svg{width:17px}.workflow{padding:0 8px}.workflow-steps .step-arrow{display:none}.workflow-steps button{padding:0 8px}.workflow-steps button:first-child{font-size:0}.workflow-actions{gap:10px}.export-button{font-size:0}.run-button{padding:10px;font-size:9px}.viewport-toolbar{padding:0 13px}.viewport-heading{left:18px}.viewport-heading h1{font-size:24px}.canvas-badges>span{font-size:6px}.viewport-footer{left:15px;right:14px}.cable-legend{gap:12px;padding:7px 9px}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px);padding:24px 19px}.modal h2{font-size:25px}.example-card{flex-wrap:wrap}.example-card .secondary{width:100%;margin-top:5px}.calibration-plan{height:270px}.calibration-foot{flex-direction:column;align-items:stretch;gap:15px}.inspector{width:205px;top:95px}.deck-title .eyebrow{font-size:6px}.deck-title strong{font-size:10px}.time-code{font-size:8px}.toast{width:90%;font-size:10px}.info-actions{flex-direction:column}}.completion-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:8;background:#182c2eea;border:1px solid #57705b;border-radius:8px;width:310px;padding:17px;position:absolute;bottom:85px;right:80px;box-shadow:0 10px 35px #071b2244}.completion-card>.eyebrow{letter-spacing:1.3px;color:#bad496;font-size:7px}.completion-card>div{gap:15px;margin-top:18px;display:flex}.completion-card .metric>span{font-size:8px}.completion-card .metric strong{font-size:23px}.completion-card p{color:#89a69f;margin:14px 0;font-size:8px}.completion-card>button{color:#bed794;border-top:1px solid #3e5753;justify-content:space-between;align-items:center;width:100%;padding:10px 0 0;font-size:10px;display:flex}.device-tag,.plan-view svg g[role=button]{touch-action:none}@media (width<=650px){.completion-card{width:270px;bottom:75px;right:20px}}.device-tag{font-size:10px}.presentation .viewport-heading{background:linear-gradient(110deg,#102128de,#10212845 80%,#0000);border-radius:5px;margin:-14px -18px;padding:14px 18px 18px}.presentation .orbit-hint{opacity:0}.network-scene-toggle{gap:5px;padding:10px 14px;display:grid}.network-scene-toggle button{text-align:left;color:#c7d5dc;background:#14262f;border:1px solid #40535d;border-radius:5px;padding:8px;font-size:11px}.network-scene-toggle button[aria-pressed=true]{color:#ddedb2;background:#293c39;border-color:#b6d67b}.wired-summary,.scene-totals{color:#a9bbc4;margin:8px 14px;font-size:11px;line-height:1.5}.scene-totals{background:#182a34;border-radius:5px;padding:9px}.connection-inset{z-index:15;pointer-events:none;color:#d6e2e9;background:#10212ff2;border:1px solid #48616e;border-radius:9px;width:325px;padding:12px;font-size:11px;position:absolute;bottom:18px;left:20px}.connection-inset strong{font-size:12px}.connection-icons{justify-content:space-between;align-items:center;gap:9px;margin:10px 0;display:flex}.connection-icons span{flex-direction:column;align-items:center;gap:3px;display:flex}.connection-icons b{font-size:22px}.connection-icons small{font-size:9px}.connection-inset>small{color:#a9bdc8;font-size:10px;line-height:1.5;display:block}.data-lead{color:#48b4ff}.phone-uplink{color:#ffdc52}.connection-legend{flex-wrap:wrap;gap:6px 12px;margin:10px 0 5px;font-size:9px;display:flex}.connection-legend i{border-top:3px solid;width:13px;margin-right:4px;display:inline-block}.connection-legend .permanent{color:#a4adb4}.connection-legend .data{color:#48b4ff}.connection-legend .phone{color:#ffdc52}@media (width<=1000px){.connection-inset{width:275px;bottom:10px;left:10px}}.compact-heading{height:80px;text-shadow:none;box-sizing:border-box;background:#11232cec;border-bottom:1px solid #30454d;padding:13px 18px;top:0;left:0;right:0}.compact-heading h1{letter-spacing:-.4px;margin:5px 0!important;font-size:19px!important}.compact-heading p{font-size:10px;max-width:none!important;line-height:1.3!important}.canvas-wrap{top:80px;bottom:34px}.canvas-badges{z-index:4;top:14px;right:16px}.canvas-badges>button{display:none}.camera-controls{top:96px!important;right:12px!important}.viewport-footer{bottom:10px}.reference-button{color:#a8c8c8;border:1px solid #3a5259;border-radius:4px;padding:7px 9px;font-size:10px}.viewport-actions{gap:7px;margin-left:8px}.map-bom{color:#182e2b;white-space:nowrap;background:#c1d99a;border-radius:4px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:600;display:inline-flex}.calibrated-plan{flex-direction:column;justify-content:flex-start;align-items:stretch}.calibrated-plan>svg{flex:1;width:100%;max-width:none;height:auto;min-height:0}.plan-controls{background:#172a33;border-bottom:1px solid #3a4f56;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.plan-controls>div{flex-wrap:wrap;gap:3px;display:flex}.plan-controls button:not(.map-bom){color:#a7bec2;border-radius:4px;padding:7px 9px;font-size:10px}.plan-controls button.active{color:#d5e9ba;background:#314b49}.plan-status{color:#a3b9bd;background:#172a33;flex-shrink:0;padding:8px 12px 35px;font-size:10px;line-height:1.5}.showing-plan .camera-controls,.showing-plan .canvas-badges,.showing-plan .viewport-footer{display:none}.plan-controls .plan-zoom{border:1px solid #38525a;border-radius:4px;flex-wrap:nowrap;gap:0}.plan-controls .plan-zoom button{padding:5px 7px;font-size:11px}.plan-controls .plan-zoom button:hover{background:#304a4b}.rack-summary{color:#c9debd;font-size:11px;line-height:1.5}.customer-options{background:#1a2e34;border:1px solid #3f5854;border-radius:5px;margin:12px 0;overflow:hidden}.options-toggle{color:#d4e6b9;justify-content:space-between;width:100%;padding:11px;font-size:12px;font-weight:600;display:flex}.options-fields{padding:0 10px 12px}.options-fields label{color:#bfd0cc;margin:10px 0;font-size:10px;display:block}.options-fields select{color:#e0e9df;background:#11242c;border:1px solid #4b6467;border-radius:4px;width:100%;min-width:0;margin-top:5px;padding:8px 3px;font-size:10px;display:block}.options-fields .phone-option{align-items:center;gap:7px;font-size:11px;display:flex}.phone-option input{accent-color:#bed794}.options-fields p{color:#a7bfbc;margin:8px 0;font-size:9px;line-height:1.5}.option-capacity{color:#b5c9c6;font-size:10px;line-height:1.8}.options-reset{color:#c8dcb0;margin-top:8px;font-size:9px;text-decoration:underline}.customer-price{background:#223a36;flex-direction:column;gap:5px;padding:12px;display:flex}.customer-price small{letter-spacing:1px;color:#b5cdb4;font-size:8px}.customer-price strong{color:#deedc5;font-size:24px;font-weight:500}.customer-price span{color:#aac0b8;font-size:9px}.customer-price button{text-align:left;color:#c9dfa9;margin-top:5px;font-size:10px;text-decoration:underline}.price-summary{color:#b8cec4;flex-wrap:wrap;gap:14px;padding:12px 0;font-size:11px;display:flex}.price-summary span{flex-direction:column;gap:5px;display:flex}.price-summary b{color:#d0e6b5;font-size:18px;font-weight:500}.price-summary button{color:#d0e6b5;text-decoration:underline}.rate-modal .schedule-table{max-height:50vh}.rate-modal input{color:#e4efdc;background:#10262e;border:1px solid #4c686c;border-radius:3px;width:90px;padding:7px}.rate-modal td small{color:#8ea9a6;margin-top:4px;font-size:9px;display:block}.has-selection .canvas-wrap,.has-selection .plan-overlay{right:265px}.inspector{width:235px;max-height:calc(100% - 140px);top:91px;right:12px;overflow:auto}.source-note{color:#a8c4b1!important;font-size:10px!important;line-height:1.5!important}.rack-row-label{white-space:nowrap;color:#d2e4dc;pointer-events:none;background:#172b35e8;border-radius:3px;padding:3px 5px;font-size:9px}.device-tag{white-space:nowrap;font-size:10px}.device-tag small{color:#bfd0c6;font-size:9px}.calibration-modal{width:min(1100px,92vw);max-height:90vh;overflow:auto}.calibration-result{color:#c7e2ae;background:#283e36;border:1px solid #50785e;align-items:center;gap:10px;margin:14px 0;padding:12px;font-size:12px;display:flex}.calibration-result.changed{color:#e3d6a7;background:#413d2b;border-color:#877c52}.calibration-result button{white-space:nowrap;border:1px solid #6a8672;border-radius:4px;align-items:center;gap:5px;margin-left:auto;padding:7px;display:flex}.calibration-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}.calibration-metrics div{background:#1b3039;border:1px solid #314850;flex-direction:column;gap:6px;padding:12px;display:flex}.calibration-metrics b{color:#d3e2c2;font-size:22px;font-weight:500}.calibration-metrics span{color:#9bb4b8;font-size:10px}.concept-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.concept-pair figure{background:#eeeee7;border-radius:4px;margin:0;overflow:hidden}.concept-pair img{width:100%;height:auto;display:block}.concept-pair figcaption{color:#26434b;background:#dde3d7;padding:10px;font-size:11px}.calibration-loop{color:#b4c7c7;padding-left:20px;font-size:12px;line-height:1.8}.calibration-errors{color:#e2c98e;font-size:11px}.calibration-modal>a{color:#bfdbad;font-size:12px}.bom-download{color:#18362d;background:#c1d99a;border-radius:4px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:12px;display:flex}.schedule-table td:last-child{white-space:normal;max-width:320px;font-size:10px;line-height:1.5}.presentation .viewport-heading{background:#11232cec;margin:0;padding:13px 18px}@media (width<=1100px){.workspace-label{display:none}.viewport-toolbar{gap:6px;padding-left:12px;padding-right:12px}.viewport-actions{margin-left:auto}.viewport-actions>.icon-button{display:none}}@media (width<=900px){.sidebar{width:185px}.compact-heading{height:80px;padding:12px}.compact-heading h1{font-size:17px!important}.compact-heading .eyebrow{letter-spacing:1px;font-size:7px}.canvas-badges{display:none}.viewport-actions{gap:4px}.reference-button{padding:6px;font-size:9px}.view-tabs button{padding:7px;font-size:10px}.map-bom{padding:6px 8px;font-size:10px}.has-selection .canvas-wrap,.has-selection .plan-overlay{bottom:205px;right:0}.has-selection .inspector{border-left:0;border-right:0;border-radius:0;width:auto;height:195px;max-height:195px;padding:12px 16px;display:block;inset:auto 0 0}.has-selection .viewport-footer{display:none}.inspector h3{margin:4px 0}.inspector .coordinate-inputs{display:none}.inspector .device-specs{grid-template-columns:1fr 1fr;gap:5px;margin:5px 0;padding:5px 0;display:grid}.inspector>small,.inspector .edit-hint{display:none}.inspector .fine{margin:5px 0;font-size:9px;line-height:1.4}.inspector-head{margin-bottom:4px}.plan-controls{gap:4px;padding:7px}.plan-controls button:not(.map-bom){padding:6px;font-size:9px}.plan-status{font-size:9px}.concept-pair{gap:6px}.calibration-metrics{gap:5px}.calibration-metrics div{padding:8px}.calibration-result{flex-wrap:wrap}.calibration-result button{margin-left:0}}@media (width<=650px){.sidebar{display:none}.calibration-metrics,.concept-pair{grid-template-columns:1fr}.compact-heading{top:0;left:0}.calibration-modal{padding:25px 18px}.plan-controls button:not(.map-bom){padding:7px}}.customer-options{flex-shrink:0}.sidebar:has(.options-toggle[aria-expanded=true]) .project-illustration{display:none}.demo-activity{color:#c4d8b2;align-items:center;gap:7px;min-height:15px;margin-top:8px;font-size:10px;line-height:1.4;display:flex}.demo-activity i{border:1.5px solid #4f6755;border-top-color:#c9e2a2;border-radius:50%;flex:none;width:10px;height:10px}.demo-activity.working i{animation:1s linear infinite demo-working}.demo-activity small{color:#8da39e;white-space:nowrap;margin-left:5px;font-size:8px}.procurement-controls{background:#20362f;border:1px solid #425a48;border-radius:4px;justify-content:space-between;align-items:center;gap:15px;margin:10px 0;padding:12px;display:flex}.procurement-controls label{color:#cedfc8;font-size:11px}.procurement-controls input{margin:0 5px;width:60px!important}.procurement-controls>span{color:#a9c196;font-size:10px}.price-coverage{font-size:10px!important;line-height:1.6!important}.rate-modal{width:min(1240px,96vw)}.procurement-table{min-width:1040px}.procurement-table td:first-child{white-space:normal;min-width:230px;max-width:290px}.procurement-table input{width:78px}.procurement-table select{color:#dbe8de;background:#10262e;border:1px solid #4c686c;border-radius:3px;max-width:170px;padding:6px;font-size:10px}.price-source{margin-top:5px;font-size:10px;line-height:1.5}.price-source summary{cursor:pointer;color:#bbd69f}.price-source a{color:#bcd8b3;margin-top:7px;text-decoration:underline;display:block}.price-source p{margin:6px 0!important;font-size:9px!important;line-height:1.6!important}.allowance-badge{color:#d1b88e!important}.procurement-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.procurement-actions button{font-size:10px}.schedule-table td small{color:#9cb5a7;margin-top:5px;font-size:9px;line-height:1.4;display:block}@keyframes demo-working{to{transform:rotate(360deg)}}@media (width<=900px){.demo-activity{font-size:9px}.demo-activity small{display:none}.procurement-controls{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.demo-activity.working i{animation:none}}.presentation-plan .plan-overlay{top:80px}.presentation-plan .plan-controls,.mobile-scene{display:none}.rack-door-control{color:#b7cdbd;margin:8px 0;font-size:11px;display:block}.rack-door-control input{accent-color:#bbd58c}@media (width<=650px){.mobile-scene{color:#d5e2dd;background:#14262f;border:1px solid #45616c;border-radius:4px;max-width:82px;padding:5px;font-size:10px;display:block}}.connection-dock{color:#c4d7df;background:#14262f;border:1px solid #3d555e;border-radius:5px;flex-shrink:0;margin:8px 0 14px}.connection-dock>summary{cursor:pointer;padding:10px;font-size:11px}.connection-dock .connection-inset{box-sizing:border-box;pointer-events:auto;background:0 0;border:0;border-radius:0;width:auto;max-width:100%;margin:0;padding:10px;position:static}.connection-icons{gap:4px}.connection-icons span{font-size:10px}.connection-toggle{color:#dce8e2;border:1px solid #93afb9;border-radius:50%;flex:none;width:26px;height:26px;font-family:Georgia;font-weight:700}.inspection-presets{color:#d5e2dd;background:#14262f;border:1px solid #45616c;border-radius:4px;max-width:115px;padding:5px;font-size:10px}.mobile-connections{display:none}.rack-elevation-modal{width:min(1280px,96vw);max-height:94vh;padding:22px;overflow:auto}.rack-elevation-modal h2{margin:0 0 12px}.rack-elevation-scroll{margin-top:12px;overflow:auto}.rack-elevation-scroll svg{width:100%;min-width:1040px;height:auto;display:block}.viewport-toolbar{flex-wrap:wrap;gap:5px;height:auto;min-height:49px;padding-top:5px;padding-bottom:5px}.viewport-actions{flex-wrap:wrap;align-items:center}.plan-controls,.plan-controls .plan-zoom{flex-wrap:wrap}.sidebar-connections{min-height:38px}.presentation .mobile-connections{display:none}.connection-dock[open] .connection-inset{display:block}@media (width<=650px){.sidebar-connections{display:none}.mobile-connections{border-radius:0;max-height:210px;margin:0;display:block;overflow:auto}.mobile-connections>summary{padding:8px 12px;font-size:10px}.mobile-connections .connection-inset{padding:8px 12px}.viewport-actions{gap:5px;margin-left:auto}.viewport-actions .reference-button{display:none}.inspection-presets{max-width:100px}.viewport-toolbar{padding:5px 8px}.view-tabs{margin-left:0}.view-tabs button{padding:6px;font-size:9px}.plan-controls{padding:5px}.plan-controls button:not(.map-bom){padding:5px;font-size:9px}.plan-status{padding-bottom:10px}.rack-elevation-modal{padding:14px}.camera-controls{display:none}.compact-heading p{max-width:100%!important}.connection-dock:not([open]) .connection-inset{display:none}}.customer-options .sidebar-connections{margin:0 8px 6px}.connection-dock .connection-icons span{min-width:0}.connection-dock .connection-icons{gap:3px}@media (width>=651px){.rack-elevation-scroll svg{width:auto;min-width:0;max-width:100%;height:calc(92vh - 145px);margin:auto}}.network-scene-toggle{gap:4px;padding:8px 14px}.network-scene-toggle button{padding:6px}.scene-totals{margin:6px 14px;padding:7px;font-size:10px;line-height:1.35}.customer-options .connection-dock .connection-inset{padding:8px}.customer-options .connection-icons{margin:8px 0}
