:root{color:#e7eced;font-synthesis:none;--accent:#ff4b23;--cyan:#22d5d9;--panel:#111416;--line:#2b3033;--input:#1a1e20;background:#07090a;font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif}.power-workspace{background:radial-gradient(circle at 50% 0,#191615,#080a0b 65%);flex:1;min-height:0;padding:24px 28px;overflow:auto}.power-workspace>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.power-workspace>header span{color:var(--accent);letter-spacing:.16em;font:8px ui-monospace,monospace}.power-workspace h2{letter-spacing:.04em;margin:5px 0 0;font-size:25px}.power-safety{color:#ffc16d;background:#241a10;border:1px solid #61442a;padding:9px 12px;font:8px ui-monospace,monospace}.power-safety small{color:#9d8564;margin-top:3px;font-size:6px;display:block}.power-reference{background:#303638;border:1px solid #303638;grid-template-columns:1fr minmax(150px,.55fr) minmax(140px,.45fr) 1fr;gap:1px;margin-bottom:14px;display:grid}.power-reference>div,.power-reference>label{background:#101415;align-content:center;gap:4px;padding:13px 15px;display:grid}.power-reference span{color:#758083;letter-spacing:.12em;font:7px ui-monospace,monospace}.power-reference b{color:#ecf4f4;font:600 16px ui-monospace,monospace}.power-reference small{color:#778184;font:7px ui-monospace,monospace}.power-reference input{color:#fff;max-width:180px;font:700 15px ui-monospace,monospace}.power-controls{background:#0e1213;border:1px solid #2d3436;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px;display:flex}.power-controls>label{flex:1;gap:4px;display:grid}.power-controls label>span{color:#7c888a;font:7px ui-monospace,monospace}.power-controls label>small{color:#778184;font:7px ui-monospace,monospace}.power-controls>div{align-items:center;gap:7px;display:flex}.power-controls button{background:#171b1c;border:1px solid #3b4244;min-height:36px;padding:8px 12px;font-size:8px;font-weight:800}.phase-overview{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px;display:grid}.phase-overview article{border:1px solid #303739;border-top:3px solid var(--phase,#687174);background:#111516;gap:3px;padding:12px;display:grid}.phase-overview span{color:#7d888a;font:7px ui-monospace,monospace}.phase-overview b{font:600 18px ui-monospace,monospace}.phase-overview small{color:#748083;font:6px ui-monospace,monospace}.phase-overview article>i{background:#292f31;height:5px;margin-top:4px}.phase-overview article>i em{background:var(--phase);height:100%;display:block}.phase-overview article.balance{border-top-color:#49d4ad}.phase-overview article.warn{background:#251b10;border-top-color:#ff9e35}.phase-overview article.near,.outlet-picker button.near,.outlet-status article.near{background:#261d11;border-color:#c68b31}.phase-overview article.over{background:#301713;border-color:#b44830}.outlet-picker{background:#0e1213;border:1px solid #2d3436;margin-bottom:14px;padding:14px}.outlet-picker h3{color:#7c888a;letter-spacing:.14em;margin:0 0 10px;font:8px ui-monospace,monospace}.outlet-picker>div{grid-template-columns:repeat(6,minmax(125px,1fr));gap:6px;display:grid}.outlet-picker button{border:1px solid #343c3e;border-top:3px solid var(--phase);text-align:left;background:#14191a;gap:3px;min-width:0;padding:9px;display:grid}.outlet-picker button.active{box-shadow:inset 0 0 0 1px var(--phase);background:#25201a}.outlet-picker button.over{background:#301713;border-color:#a84932}.outlet-picker button span{color:#7d888a;font:6px ui-monospace,monospace}.outlet-picker button b{font-size:10px}.outlet-picker button small{text-overflow:ellipsis;color:#8d989a;white-space:nowrap;font:6px ui-monospace,monospace;overflow:hidden}.power-message{color:#ffc873;background:#261b0e;border-left:3px solid #e6a33e;margin:-4px 0 14px;padding:9px 12px;font:8px ui-monospace,monospace}.power-canvas .cabinet-grid button.connected{border-color:var(--tile-phase);background:#202426}.power-canvas .cabinet-grid button.active{box-shadow:inset 0 0 0 2px var(--tile-phase)}.power-canvas .cabinet-grid button>b{color:#fff;border:2px solid var(--tile-phase);background:#111}.outlet-status article{border-top:2px solid var(--phase)}.outlet-status article>div i{background:var(--phase)}@media (width<=1100px){.outlet-picker>div{grid-template-columns:repeat(3,1fr)}.power-reference{grid-template-columns:1fr 1fr}.power-reference>div:last-child{grid-column:1/-1}.phase-overview{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.power-workspace{padding:14px}.power-workspace>header,.power-controls{flex-direction:column;align-items:flex-start}.power-controls>label{width:100%}.power-controls>div{flex-wrap:wrap}.outlet-picker>div{grid-template-columns:repeat(2,1fr)}.power-reference{grid-template-columns:1fr}.power-reference>div:last-child{grid-column:auto}}*{box-sizing:border-box}html,body,#root{min-width:320px;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{background:#07090a;grid-template-columns:380px 1fr;height:100%;display:grid}.sidebar{z-index:20;background:#0b0d0e;border-right:1px solid #272b2d;flex-direction:column;height:100vh;transition:transform .2s;display:flex;position:relative;box-shadow:12px 0 40px #0009}.brand{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#111416,#090b0c);padding:25px 24px 20px;position:relative}.brand p,.brand strong{letter-spacing:.055em;margin:0;font-weight:800;line-height:.82;display:block}.brand p{color:#fff;font-size:36px}.brand strong{color:var(--accent);font-size:42px}.brand small{color:#778084;letter-spacing:.15em;margin-top:14px;font:10px ui-monospace,monospace;display:block}.settings-scroll{scrollbar-color:#444 #0b0d0e;overscroll-behavior:contain;overflow-y:auto}.preset-panel{border-bottom:1px solid var(--line);background:#0e1112;padding:14px 16px}.preset-panel>label{gap:5px;display:grid}.preset-panel>label span,.field>span{letter-spacing:.1em;color:#91999c;font-size:11px}.save-preset{margin-top:8px;display:flex}.save-preset input{flex:1;min-width:0}.save-preset button{border-left:0}.preset-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.preset-chips span{background:#1b2022;border:1px solid #333;padding:3px 5px;font-size:11px}.preset-chips button{color:#aaa;background:0 0;border:0}.accordion{border-bottom:1px solid #24282a}.accordion h2{margin:0}.accordion h2>button{text-align:left;letter-spacing:.055em;cursor:pointer;background:#0d1011;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;height:45px;padding:0 16px;font-size:14px;font-weight:700;display:grid}.accordion h2>button:hover,.accordion h2>button:focus-visible{color:#fff;background:#171a1c}.accordion h2 em{color:var(--cyan);border:1px solid #314144;padding:2px 5px;font:8px ui-monospace,monospace}.accordion h2 i{color:var(--accent);font:20px monospace}.accordion-body{background:#111415;border-top:1px solid #24282a;gap:10px;padding:14px 16px 18px;display:grid}.field{gap:5px;min-width:0;display:grid}.field small{color:#737b7e;font:9px ui-monospace,monospace}.field input,.field select,.field textarea,.accordion-body>select{width:100%}input,select,textarea{color:#f2f4f4;background:var(--input);border:1px solid #343a3d;border-radius:2px;outline:0;min-height:34px;padding:7px 9px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}input:disabled{opacity:.45}input[type=color]{width:38px;min-height:30px;padding:2px}.color-input{align-items:center;gap:9px;display:flex}.color-input code{color:#a9b0b2;font:10px ui-monospace,monospace}.dual,.quad,.triple{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.toggle{cursor:pointer;align-items:center;gap:8px;min-height:27px;display:flex}.toggle input{opacity:0;position:absolute}.toggle>span{background:#34393b;border-radius:9px;width:31px;height:16px;transition:all .15s;box-shadow:inset 0 0 0 1px #4a5052}.toggle>span:after{content:"";background:#8c9598;border-radius:50%;width:12px;height:12px;margin:2px;transition:all .15s;display:block}.toggle input:checked+span{box-shadow:inset 0 0 0 1px var(--accent);background:#71301f}.toggle input:checked+span:after{background:var(--accent);transform:translate(15px)}.toggle input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}.toggle b{color:#c0c6c8;font-size:12px;font-weight:500}.button-row{flex-wrap:wrap;gap:6px;display:flex}.button-row button,.full,.actions button,.modal button,.preset-panel button{letter-spacing:.04em;cursor:pointer;background:#171a1c;border:1px solid #3a4042;min-height:32px;padding:7px 10px;font-size:11px;font-weight:700}.button-row button:hover,.full:hover,.actions button:hover{background:#24292b;border-color:#626b6e}button:disabled{opacity:.35;cursor:not-allowed}.button-row .danger,.danger{color:#ff795d;border-color:#6e3429}.full{width:100%}.result-card{border-left:3px solid var(--cyan);background:#172023;gap:2px;padding:11px;display:grid}.result-card strong{color:#d9ffff;font:600 15px ui-monospace,monospace}.result-card span{color:#899396;font:9px ui-monospace,monospace}.error{color:#ff7c61;margin:0;font-size:12px}.screen-list{gap:3px;max-height:230px;display:grid;overflow:auto}.screen-list button{text-align:left;cursor:pointer;background:#151819;border:1px solid #2f3436;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.screen-list button.selected{border-color:var(--accent);background:#211816}.screen-list i{width:8px;height:26px}.screen-list span{font-size:12px;font-weight:700}.screen-list small{color:#8d9598;font:8px ui-monospace,monospace}.subpanel{background:#0d1011;border:1px solid #2d3234;gap:9px;padding:11px;display:grid}.card-title{justify-content:space-between;display:flex}.card-title button{color:#ff6c4c;background:0 0;border:0;font-size:18px}.palette{grid-template-columns:repeat(9,1fr);gap:2px;display:grid}.palette input{width:100%;height:28px;padding:1px}.workspace{background:#080a0b;grid-template-rows:auto auto 1fr auto auto;min-width:0;height:100vh;display:grid}.topbar{background:#0b0d0e;border-bottom:1px solid #24292b;justify-content:space-between;align-items:center;min-height:76px;padding:0 28px;display:flex}.topbar>div:first-of-type{gap:3px;display:grid}.topbar span{letter-spacing:.12em;color:#7e878a;font:9px ui-monospace,monospace}.topbar strong{color:#f2f5f5;font:600 24px ui-monospace,monospace}.metrics{gap:24px;display:flex}.metrics span{gap:4px;display:grid}.metrics b{color:#ced4d5;font-size:10px}.warning{color:#ffd17c;background:#38250b;border-bottom:1px solid #855b19;padding:8px 20px;font:11px ui-monospace,monospace}.preview-wrap{background:radial-gradient(circle at 50% 45%,#171b1d 0,#090b0c 68%);min-height:0;padding:22px;display:flex;position:relative;overflow:hidden}.preview-surface{touch-action:none;border:1px solid #272d2f;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;display:flex;position:relative;overflow:auto;box-shadow:0 12px 40px #0008}.preview-surface canvas{object-fit:contain;cursor:crosshair;max-width:none;display:block;box-shadow:0 0 0 1px #ffffff18,0 0 60px #000}.canvas-size{color:#829093;pointer-events:none;background:#000b;padding:3px 5px;font:8px ui-monospace,monospace;position:absolute;bottom:7px;right:8px}.actions{background:#0d0f10;border-top:1px solid #272b2d;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.actions button{min-width:145px;padding:10px 14px}.actions .primary,.primary{background:var(--accent);color:#100806;border-color:#ff6b48}.actions .primary:hover,.primary:hover{background:#ff6844}.status{height:0}.toast{z-index:100;border-left:4px solid var(--cyan);background:#1d2527;align-items:center;gap:14px;max-width:420px;padding:13px 14px;font:12px ui-monospace,monospace;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 10px 40px #000c}.toast.error{border-color:#ff4b23}.toast.ok{border-color:#4bd087}.toast button{color:#fff;background:0 0;border:0;margin-left:auto}.modal-backdrop{z-index:110;background:#000c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#15191a;border:1px solid #3a4244;width:min(440px,100%);padding:28px;box-shadow:0 20px 80px #000}.modal>span{color:var(--accent);letter-spacing:.12em;font:9px ui-monospace,monospace}.modal h2{margin:8px 0;font-size:26px}.modal p{color:#9fa7a9;line-height:1.5}.mobile-close,.menu-button{display:none}.exit-fullscreen{z-index:5;color:#fff;background:#111;border:1px solid #666;padding:10px 14px;position:absolute;top:34px;right:34px}.workspace:fullscreen{grid-template-rows:1fr}:is(.workspace:fullscreen .topbar,.workspace:fullscreen .warning){display:none}.workspace:fullscreen .preview-wrap{padding:0}.workspace:fullscreen .preview-surface{border:0}.fatal{text-align:center;place-content:center;height:100%;display:grid}.fatal button{background:var(--accent);border:0;padding:10px}.menu-button{color:#fff;background:0 0;border:1px solid #3b4143}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(390px,92vw);position:fixed;top:0;left:0}.sidebar.collapsed{transform:translate(-105%)}.mobile-close,.menu-button{display:block}.mobile-close{color:#fff;background:0 0;border:0;font-size:24px;position:absolute;top:16px;right:16px}.topbar{justify-content:flex-start;gap:12px;padding:0 16px}.metrics{margin-left:auto}.metrics span:nth-child(-n+2){display:none}.preview-wrap{padding:12px}.actions{flex-wrap:wrap}.actions button{flex:1;min-width:130px}}@media (width<=600px){.topbar strong{font-size:15px}.metrics{display:none}.preview-wrap{padding:6px}.actions{padding:8px}.actions button{padding:7px;font-size:9px}.triple{grid-template-columns:1fr}.brand p{font-size:30px}.brand strong{font-size:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-shell{grid-template-columns:420px 1fr}.brand{justify-content:space-between;align-items:flex-end;padding:18px 20px 16px;display:flex}.brand p{font-size:25px}.brand strong{font-size:30px}.brand small{text-align:right;max-width:110px;margin:0;line-height:1.5}.quick-pitch{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(145deg,#191411,#101314 58%);border-bottom:1px solid #4b2a21;padding:14px 16px 12px}.quick-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.quick-heading>div{display:grid}.quick-heading span{letter-spacing:.16em;color:#9c817a;font:8px ui-monospace,monospace}.quick-heading strong{letter-spacing:.08em;color:#fff;font-size:18px}.quick-heading>b{color:#ff7656;background:#2b1914;border:1px solid #6b3022;padding:5px 7px;font:10px ui-monospace,monospace}.quick-grid{grid-template-columns:1fr 1fr 1.15fr;gap:6px;display:grid}.quick-grid label{gap:3px;display:grid}.quick-grid label span{color:#81898b;letter-spacing:.08em;font:7px ui-monospace,monospace}.quick-grid input,.quick-grid select{min-height:31px;padding:5px 6px;font:11px ui-monospace,monospace}.quick-custom{width:100%;margin-top:6px}.quick-result{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.quick-result span{color:#7ef5f1;font:600 12px ui-monospace,monospace}.quick-result button,.accent-button{padding:6px 12px;font-weight:800;background:var(--accent)!important;color:#160a06!important;border:1px solid #ff795b!important}.preset-panel{padding:10px 16px}.preset-details{margin-top:7px}.preset-details summary{cursor:pointer;color:#858e90;letter-spacing:.06em;font-size:10px}.section-group{color:#687174;letter-spacing:.15em;background:#07090a;border-bottom:1px solid #25292b;align-items:center;gap:8px;padding:8px 16px;font:8px ui-monospace,monospace;display:flex}.section-group span{color:var(--accent)}.section-intro{color:#9ca4a6;margin:0 0 3px;font-size:12px;line-height:1.45}.technical-note{color:#778184;border:1px solid #2c3234;margin:0;padding:8px 9px;font:9px/1.5 ui-monospace,monospace}.pitch-stats{grid-template-columns:1fr 1.7fr;gap:6px;display:grid}.pitch-stats>div{background:#0b0e0f;border:1px solid #292f31;gap:3px;padding:9px;display:grid}.pitch-stats span{color:#717b7e;letter-spacing:.1em;font:7px ui-monospace,monospace}.pitch-stats strong{color:#d9ffff;font:600 12px ui-monospace,monospace}.layout-map{background:#090c0d;border:1px solid #303638;padding:9px}.map-caption{color:#778083;justify-content:space-between;margin-bottom:7px;font:8px ui-monospace,monospace;display:flex}.map-caption b{color:#6ce6e4}.layout-map svg{background-color:#0000;background-image:linear-gradient(#0f1314 1px,#0000 1px),linear-gradient(90deg,#0f1314 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:12px 12px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #23292b;width:100%;height:130px;display:block}.layout-map g{cursor:pointer;outline:none}.layout-map rect{fill:#102326;stroke:#61dddd;stroke-width:12px;vector-effect:non-scaling-stroke}.layout-map g.active rect{fill:#351913;stroke:var(--accent);stroke-width:18px}.layout-map text{fill:#d9ffff;pointer-events:none;font-family:ui-monospace,monospace;font-weight:700}.layout-map p{color:#656f72;margin:6px 0 0;font:8px/1.4 ui-monospace,monospace}.output-block{gap:2px;display:grid}.output-block small{color:#657073;letter-spacing:.08em;font:7px ui-monospace,monospace}.zoom-tools{border:1px solid #303638;display:flex}.zoom-tools button{color:#bac2c4;background:#121617;border:0;border-right:1px solid #303638;min-width:34px;height:32px;font:10px ui-monospace,monospace}.zoom-tools button:last-child{border-right:0}.zoom-tools button:hover{color:#fff;background:#22292b}@media (width<=1180px){.metrics span:nth-child(-n+2){display:none}.app-shell{grid-template-columns:390px 1fr}}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.quick-pitch{padding-right:18px}.zoom-tools{margin-left:auto}}.workspace{flex-direction:column;display:flex}.preview-wrap{flex:1}.subheading{color:#788184;letter-spacing:.13em;border-bottom:1px solid #292f31;margin:3px 0 -2px;padding-bottom:4px;font:8px ui-monospace,monospace}.cabinet-diagram{background:#0a0d0e;border:1px solid #2b3133;grid-template-columns:70px 1fr auto 1.25fr;align-items:center;gap:8px;padding:9px;display:grid}.cabinet-diagram>div{border:2px solid var(--cyan);background:repeating-linear-gradient(0deg,#0000 0 12px,#32bfc233 13px),repeating-linear-gradient(90deg,#132326 0 12px,#32bfc255 13px);place-items:center;max-height:60px;display:grid}.cabinet-diagram>div span{color:#fff;background:#000b;padding:3px;font:8px ui-monospace,monospace}.cabinet-diagram p{color:#9ca5a7;margin:0;font:8px/1.4 ui-monospace,monospace}.cabinet-diagram p b{color:#fff;letter-spacing:.1em;font-size:7px;display:block}.cabinet-diagram>i{color:var(--accent);font-style:normal}.device-card{background:#0a0d0e;border:1px solid #303638;gap:8px;padding:11px;display:grid}.device-card>div{display:grid}.device-card>div span{color:var(--accent);letter-spacing:.1em;font:7px ui-monospace,monospace}.device-card>div strong{font-size:18px}.device-card dl{grid-template-columns:repeat(3,1fr);gap:4px;margin:0;display:grid}.device-card dl div{background:#15191a;padding:6px}.device-card dt{color:#667073;font:6px ui-monospace,monospace}.device-card dd{color:#cbe0e1;margin:3px 0 0;font:9px ui-monospace,monospace}.device-card p{color:#8f999b;margin:0;font:8px/1.45 ui-monospace,monospace}.device-card a{color:#66dad8;font:8px ui-monospace,monospace;text-decoration:none}.load-bar{gap:5px;display:grid}.load-bar>div{color:#798285;justify-content:space-between;font:8px ui-monospace,monospace;display:flex}.load-bar>div b{color:#fff}.load-bar>i{background:#242a2c;height:8px;display:block}.load-bar>i span{background:#42cfb3;height:100%;display:block}.load-bar>i span.warn{background:#e6a735}.load-bar>i span.over{background:#ff4b23}.port-table{border:1px solid #2e3436}.port-row{border-bottom:1px solid #262b2d;grid-template-columns:1.5fr .8fr .7fr .65fr;gap:5px;padding:6px 7px;font:8px ui-monospace,monospace;display:grid}.port-row:last-child{border:0}.port-row.head{color:#697275;letter-spacing:.08em;background:#171b1c;font-size:6px}.port-row b{color:#d9eeee}.port-row.over{color:#ff8d76;background:#321814}.mapping-warning{color:#ffc76f;background:#2c1e0d;border-left:2px solid #e39d30;margin:0;padding:7px 8px;font:8px/1.45 ui-monospace,monospace}.system-overview{background:#0d1011;border-bottom:1px solid #292f31;grid-template-columns:1.25fr repeat(4,1fr) .8fr;min-height:76px;display:grid}.system-overview>div{border-right:1px solid #292f31;min-width:0;padding:12px 14px}.overview-title{align-content:center;display:grid}.overview-title span{color:var(--accent);letter-spacing:.16em;font:7px ui-monospace,monospace}.overview-title strong{letter-spacing:.06em;margin-top:3px;font-size:13px}.overview-stat{align-content:center;gap:3px;display:grid}.overview-stat span{color:#687275;letter-spacing:.12em;font:6px ui-monospace,monospace}.overview-stat b{text-overflow:ellipsis;white-space:nowrap;color:#dce7e8;font:600 12px ui-monospace,monospace;overflow:hidden}.overview-stat b.bad{color:#ff6848}.overview-stat small{text-overflow:ellipsis;white-space:nowrap;color:#747e80;font:7px ui-monospace,monospace;overflow:hidden}.overview-health{color:#9da5a7;grid-template-columns:auto 1fr;align-content:center;align-items:center;column-gap:7px;font:8px ui-monospace,monospace;display:grid!important}.overview-health i{background:#3ed2ac;border-radius:50%;grid-row:1/3;width:10px;height:10px;box-shadow:0 0 10px #3ed2ac}.overview-health.warn i{background:#ff9b31;box-shadow:0 0 10px #ff7131}.overview-health small{color:#697174;font-size:6px}.history-tools{border:1px solid #303638;margin-left:auto;display:flex}.history-tools button{background:#121617;border:0;border-right:1px solid #303638;width:32px;height:32px;font-size:17px}.history-tools button:last-child{border:0}.history-tools button:hover:not(:disabled){color:var(--cyan);background:#262d2f}@media (width<=1300px){.system-overview{grid-template-columns:1fr repeat(3,1fr) .8fr}.system-overview .overview-stat:nth-of-type(2),.metrics{display:none}}@media (width<=800px){.system-overview{grid-template-columns:1fr 1fr 1fr}.overview-title,.overview-stat:nth-of-type(2),.overview-stat:nth-of-type(3){display:none}.system-overview>div{padding:9px}.system-overview{min-height:61px}.topbar{min-height:66px}.history-tools{margin-left:auto}}.pitch-derived{border-left:2px solid var(--cyan);background:#102124;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;display:grid}.pitch-derived span{color:#718083;font:7px ui-monospace,monospace}.pitch-derived b{color:#78efeb;grid-area:1/2/3;font:600 14px ui-monospace,monospace}.pitch-derived small{color:#a2abad;font:7px ui-monospace,monospace}.pitch-derived.warn{background:#291d10;border-color:#ff9c35}.workspace-tabs{background:#090b0c;border-bottom:1px solid #2a3032;grid-template-columns:repeat(5,minmax(135px,1fr));display:grid}.workspace-tabs button{color:#7d878a;text-align:left;letter-spacing:.06em;cursor:pointer;background:#0d1011;border:0;border-right:1px solid #292e30;min-height:52px;padding:0 18px;font-size:11px;font-weight:800;position:relative}.workspace-tabs button span{color:#4e575a;margin-right:10px;font:8px ui-monospace,monospace}.workspace-tabs button:hover{color:#dbe1e2;background:#15191a}.workspace-tabs button.active{color:#fff;background:#1c1512}.workspace-tabs button.active:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:0;left:0;right:0}.workspace-tabs button.active span{color:var(--accent)}.workspace-sidebar-note{border:1px solid #303638;border-left:3px solid var(--cyan);background:#101516;gap:7px;margin:18px;padding:17px;display:grid}.workspace-sidebar-note span{color:var(--cyan);letter-spacing:.14em;font:8px ui-monospace,monospace}.workspace-sidebar-note strong{font-size:17px}.workspace-sidebar-note p{color:#8c9799;margin:0;font:10px/1.55 ui-monospace,monospace}.capability-line{border-left:2px solid var(--cyan);color:#9cb0b2;background:#102124;margin:0;padding:8px;font:8px/1.5 ui-monospace,monospace}.wiring-workspace,.issue-center{background:radial-gradient(circle at 50% 0,#151b1c,#080a0b 65%);flex:1;min-height:0;padding:24px 28px;overflow:auto}.wiring-workspace>header,.issue-center>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.wiring-workspace header span,.issue-center header span{color:var(--accent);letter-spacing:.16em;font:8px ui-monospace,monospace}.wiring-workspace h2,.issue-center h2{letter-spacing:.04em;margin:5px 0 0;font-size:25px}.routing-actions{border:1px solid #343b3d;display:flex}.routing-actions button{background:#121617;border:0;border-right:1px solid #343b3d;padding:9px 13px;font-size:9px;font-weight:800}.routing-actions button:last-child{border:0}.routing-actions button.active{background:var(--accent);color:#170904}.wiring-source,.signal-lane{background:#0e1213;border:1px solid #2d3436;margin-bottom:16px;padding:16px}.wiring-source h3,.signal-lane h3{color:#798588;letter-spacing:.14em;margin:0 0 12px;font:8px ui-monospace,monospace}.wiring-source>div{flex-wrap:wrap;gap:8px;display:flex}.wiring-source article{cursor:grab;background:#182022;border:1px solid #374144;grid-template-columns:8px 1fr auto;align-items:center;gap:3px 9px;min-width:180px;padding:10px 12px;display:grid}.wiring-source article i{background:var(--cyan);grid-row:1/3;width:8px;height:30px}.wiring-source article b{font-size:11px}.wiring-source article span,.wiring-source article small{color:#7d898b;font:8px ui-monospace,monospace}.port-grid{grid-template-columns:repeat(10,minmax(58px,1fr));gap:6px;display:grid}.port-grid button{color:#6f7b7e;background:#111617;border:1px dashed #354043;align-content:center;gap:2px;min-height:66px;padding:6px;display:grid}.port-grid button small{font:6px ui-monospace,monospace}.port-grid button b{font:12px ui-monospace,monospace}.port-grid button span{text-overflow:ellipsis;color:#93ffff;white-space:nowrap;font:7px ui-monospace,monospace;overflow:hidden}.port-grid button.assigned{background:#102426;border-style:solid;border-color:#2ab6b9}.port-grid button.over{background:#301713;border-color:#ff5835}.signal-lane.backup{border-left:3px solid #ad62df}.signal-lane.backup p{color:#899396;font:9px/1.5 ui-monospace,monospace}.backup-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.backup-list span{color:#a892b5;background:#17131a;padding:8px;font:8px ui-monospace,monospace}.backup-list b{color:#ead9f5;margin-bottom:3px;display:block}.wiring-empty{color:#e9bd72;background:#21190e;border:1px solid #684d21;padding:25px;font:11px ui-monospace,monospace}.issue-center>header>div:last-child{color:#8b9698;border:1px solid #343b3d;padding:10px 13px;font:8px ui-monospace,monospace}.issue-center>header>div:last-child b{color:#fff;margin:0 4px 0 10px;font-size:14px}.issue-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px;display:grid}.issue-grid article{background:#101415;border:1px solid #2d3436;grid-template-columns:36px 1fr;gap:12px;min-height:116px;padding:16px;display:grid}.issue-grid article>i{color:#4de0ac;background:#123027;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;font-weight:800;display:grid}.issue-grid article.warning{border-color:#62481f}.issue-grid article.warning>i{color:#ffc05d;background:#33250e}.issue-grid article.error{border-color:#713425}.issue-grid article.error>i{color:#ff6d4e;background:#391912}.issue-grid article span{color:#6f7b7e;letter-spacing:.13em;text-transform:uppercase;font:7px ui-monospace,monospace}.issue-grid article h3{margin:4px 0 6px;font-size:14px}.issue-grid article p{color:#929c9e;margin:0;font:9px/1.55 ui-monospace,monospace}@media (width<=1150px){.workspace-tabs{grid-template-columns:repeat(2,1fr)}.workspace-tabs button{min-height:39px}.port-grid{grid-template-columns:repeat(5,1fr)}}@media (width<=700px){.workspace-tabs{grid-template-columns:1fr 1fr}.workspace-tabs button{min-width:0;padding:0 9px;font-size:8px}.wiring-workspace,.issue-center{padding:14px}.wiring-workspace>header,.issue-center>header{flex-direction:column;align-items:flex-start}.issue-grid,.backup-list{grid-template-columns:1fr}}.route-legend{color:#8d989a;gap:14px;font:8px ui-monospace,monospace;display:flex}.route-legend span{align-items:center;gap:6px;display:flex}.route-legend i{background:var(--cyan);width:28px;height:3px}.route-legend i.backup{background:#b164df}.wall-picker,.topology-toolbar,.cabinet-stage,.port-status{background:#0e1213;border:1px solid #2d3436;margin-bottom:14px}.wall-picker,.topology-toolbar,.port-status{padding:14px}.wall-picker h3,.topology-toolbar h3,.port-status h3{color:#7c888a;letter-spacing:.14em;margin:0 0 10px;font:8px ui-monospace,monospace}.wall-picker>div{gap:7px;display:flex;overflow-x:auto}.wall-picker button{text-align:left;background:#14191a;border:1px solid #343c3e;gap:3px;min-width:170px;padding:9px 11px;display:grid}.wall-picker button.active{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent);background:#251713}.wall-picker button b{font-size:11px}.wall-picker button span,.wall-picker button small{color:#778285;font:7px ui-monospace,monospace}.topology-toolbar{justify-content:space-between;gap:20px;display:flex}.topology-toolbar>div:first-child{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.topology-toolbar>div:first-child h3{width:100%}.topology-toolbar label{gap:4px;min-width:150px;display:grid}.topology-toolbar label span{color:#778285;font:7px ui-monospace,monospace}.topology-toolbar .backup-select span{color:#c385e8}.topology-toolbar select,.topology-toolbar button{min-height:34px}.topology-toolbar>div:first-child>button{background:#181b1c;border:1px solid #444;padding:7px 10px;font-size:8px;font-weight:700}.quick-topology{grid-template-columns:repeat(4,38px);align-content:end;gap:4px;display:grid}.quick-topology h3{grid-column:1/-1}.quick-topology button{color:#8ff5f2;background:#162022;border:1px solid #385052;font:12px ui-monospace,monospace}.quick-topology button:hover{background:#203537}.cabinet-stage{padding:16px}.cabinet-stage-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px;display:flex}.cabinet-stage-title>div{gap:3px;display:grid}.cabinet-stage-title span{color:var(--accent);font:700 13px ui-monospace,monospace}.cabinet-stage-title b{color:#899497;font:7px ui-monospace,monospace}.cabinet-stage-title p{color:#788285;text-align:right;max-width:500px;margin:0;font:8px/1.45 ui-monospace,monospace}.cabinet-canvas{background-color:#080b0c;background-image:linear-gradient(#121718 1px,#0000 1px),linear-gradient(90deg,#121718 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #343c3e;width:100%;max-height:56vh;margin:auto;position:relative}.cabinet-canvas>svg,.cabinet-grid{width:100%;height:100%;position:absolute;inset:0}.cabinet-canvas>svg{z-index:2;pointer-events:none;overflow:visible}.cabinet-canvas line{vector-effect:non-scaling-stroke;stroke-width:3.5px;fill:none}.cabinet-canvas .main-cable{stroke:var(--cyan)}.cabinet-canvas .backup-cable{stroke:#b164df;stroke-width:2.5px;stroke-dasharray:7 5}.cabinet-canvas #arrow-main path{fill:var(--cyan)}.cabinet-canvas #arrow-backup path{fill:#b164df}.cabinet-grid{z-index:1;gap:5px;padding:7px;display:grid}.cabinet-grid button{color:#647073;background:#151a1b;border:1px solid #354043;place-content:center;min-width:0;min-height:0;padding:4px;display:grid;position:relative;overflow:hidden}.cabinet-grid button:hover{background:#1b2526;border-color:#92ffff}.cabinet-grid button.connected{color:#dcffff;background:#123034;border-color:#26aeb1}.cabinet-grid button.active{box-shadow:inset 0 0 0 2px var(--cyan);background:#1b4448}.cabinet-grid button>span{color:#718083;font:6px ui-monospace,monospace;position:absolute;top:3px;left:4px}.cabinet-grid button>b{z-index:3;color:#8efffb;background:#061617;border-radius:50%;place-items:center;width:23px;height:23px;margin:auto;font:10px ui-monospace,monospace;display:grid;position:relative}.cabinet-grid button>small{z-index:3;text-overflow:ellipsis;color:#aac6c7;white-space:nowrap;max-width:100%;margin-top:3px;font:5.5px ui-monospace,monospace;position:relative;overflow:hidden}.cabinet-grid button>i{color:#435052;font:14px ui-monospace,monospace}.port-status>div{grid-template-columns:repeat(4,minmax(150px,1fr));gap:7px;display:grid}.port-status article{background:#14191a;border:1px solid #30383a;padding:9px}.port-status article.over{background:#291613;border-color:#a94831}.port-status article header{justify-content:space-between;font:8px ui-monospace,monospace;display:flex}.port-status article header span{color:#778184;font-size:6px}.port-status article>div{background:#272d2f;height:5px;margin:7px 0 5px}.port-status article>div i{background:var(--cyan);height:100%;display:block}.port-status article.over>div i{background:var(--accent)}.port-status article small,.port-status article em{color:#758083;font:6px ui-monospace,monospace;display:block}.port-status article em{color:#c68de6;margin-top:4px}@media (width<=900px){.topology-toolbar{flex-direction:column}.port-status>div{grid-template-columns:repeat(2,1fr)}.cabinet-stage-title{flex-direction:column;align-items:start}.cabinet-stage-title p{text-align:left}.cabinet-grid{gap:2px;padding:3px}.cabinet-grid button>small{display:none}}.wiring-workspace,.power-workspace{grid-template-columns:220px minmax(0,1fr);align-content:start;column-gap:14px;display:grid}.wiring-workspace>header,.power-workspace>header,.wiring-workspace>.wiring-empty,.power-workspace>.wiring-empty{grid-column:1/-1}.wiring-workspace>.wall-picker,.power-workspace>.wall-picker{grid-area:2/1/span 12;align-self:start;max-height:calc(100vh - 220px);position:sticky;top:0;overflow:auto}.wiring-workspace>.topology-toolbar,.wiring-workspace>.cabinet-stage,.wiring-workspace>.port-status,.power-workspace>.power-reference,.power-workspace>.power-controls,.power-workspace>.phase-overview,.power-workspace>.outlet-picker,.power-workspace>.power-message,.power-workspace>.cabinet-stage,.power-workspace>.outlet-status{grid-column:2}.wall-picker>div{gap:7px;display:grid;overflow:visible}.wall-picker details{background:#111617;border:1px solid #30383a}.wall-picker details[open]{background:#1d1411;border-color:#74402f}.wall-picker summary{cursor:pointer;justify-content:space-between;gap:8px;padding:9px;font-size:9px;list-style:none;display:flex}.wall-picker summary::-webkit-details-marker{display:none}.wall-picker summary:before{content:"▸";color:#677275}.wall-picker details[open] summary:before{content:"▾";color:var(--accent)}.wall-picker summary b{flex:1}.wall-picker summary span{color:#8d989a;background:#252b2d;border-radius:8px;padding:2px 5px;font:6px ui-monospace,monospace}.wall-picker summary span.complete{color:#55dbad;background:#123128}.wall-picker details button{width:calc(100% - 12px);min-width:0;margin:0 6px 6px}.cabinet-grid button{touch-action:none;-webkit-user-select:none;user-select:none}.port-status article.backup-reserved{background:#211527;border-color:#a35bd0;box-shadow:inset 3px 0 #b164df}.port-status article.backup-reserved>div i{background:#b164df}.pdf-export{color:#c9ffff;white-space:nowrap;background:#172022;border:1px solid #526063;min-height:30px;padding:7px 10px;font:700 7px ui-monospace,monospace}.route-legend .pdf-export{margin-left:8px}.power-safety .pdf-export{width:100%;margin-top:8px;display:block}.hard-facts-card{background:linear-gradient(135deg,#102124,#111617);border:1px solid #355052;gap:4px;margin-bottom:10px;padding:13px;display:grid}.hard-facts-card span{color:var(--cyan);letter-spacing:.13em;font:7px ui-monospace,monospace}.hard-facts-card strong{font:700 18px ui-monospace,monospace}.hard-facts-card small,.readout{color:#91a0a2;font:8px ui-monospace,monospace}.file-button{color:#a8ffff;text-align:center;cursor:pointer;background:#142023;border:1px dashed #4c6265;margin:6px 0 12px;padding:9px;font:700 8px ui-monospace,monospace;display:block}.mapping-override-note{color:#ff9a7e;text-align:center;background:#2b1510;border:1px solid #b34a30;margin:10px 0 0;padding:9px;font:700 7px/1.5 ui-monospace,monospace}@media (width<=980px){.wiring-workspace,.power-workspace{grid-template-columns:1fr}.wiring-workspace>.wall-picker,.power-workspace>.wall-picker,.wiring-workspace>.topology-toolbar,.wiring-workspace>.cabinet-stage,.wiring-workspace>.port-status,.power-workspace>.power-reference,.power-workspace>.power-controls,.power-workspace>.phase-overview,.power-workspace>.outlet-picker,.power-workspace>.power-message,.power-workspace>.cabinet-stage,.power-workspace>.outlet-status{grid-area:auto/1;max-height:none;position:static}.wall-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
