:root{--dt-bg: #313945;--dt-bg-deep: #2d343f;--dt-bg-soft: #394250;--dt-panel: #353e4a;--dt-panel-strong: #3b4552;--dt-ink: #ffffff;--dt-ink-soft: rgba(255, 255, 255, .82);--dt-ink-faint: rgba(255, 255, 255, .58);--dt-line: rgba(255, 255, 255, .16);--dt-line-soft: rgba(255, 255, 255, .08);--dt-chip: rgba(255, 255, 255, .06);--dt-chip-strong: rgba(255, 255, 255, .1);--dt-accent: #ffc20e;--dt-accent-strong: #ffcf40;--dt-accent-ink: #1f2329;--dt-danger: #ff8f7d;--dt-danger-panel: rgba(180, 35, 24, .16);--dt-shadow: 0 18px 42px rgba(0, 0, 0, .22);color:var(--dt-ink);background:var(--dt-bg);font-family:Aptos,Segoe UI Variable Display,Segoe UI,sans-serif;font-size:14px;line-height:1.4}html,body,#root{height:100%;overflow:hidden}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,var(--dt-bg) 0%,var(--dt-bg-deep) 100%);overscroll-behavior:none}button,input,select,textarea{font:inherit}button{border:1px solid var(--dt-line);background:var(--dt-panel);color:var(--dt-ink);border-radius:6px;padding:7px 10px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}button:hover{border-color:#ffffff52;background:var(--dt-chip-strong)}button.active{border-color:var(--dt-accent);outline:2px solid rgba(255,194,14,.18);background:#ffc20e24}button:focus-visible{border-color:var(--dt-accent);outline:2px solid rgba(255,194,14,.22)}button:disabled{cursor:not-allowed;opacity:.45}button.danger{border-color:#ff8f7d6b;color:var(--dt-danger)}button.danger:hover,button.danger:focus-visible{border-color:var(--dt-danger);background:var(--dt-danger-panel)}label{display:grid;gap:5px;color:var(--dt-ink-faint);font-size:.84rem}input,select,textarea{width:100%;border:1px solid var(--dt-line);border-radius:6px;padding:7px 8px;background:var(--dt-panel);color:var(--dt-ink)}h1,h2,p{margin:0}h2{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dt-ink-faint)}.app-shell{height:100vh;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.start-shell{grid-template-rows:1fr}.start-page{display:grid;place-items:center;min-height:0;padding:40px;background:linear-gradient(180deg,#313945,#2d343f);color:#fff;font-family:Aptos,Segoe UI Variable Display,Segoe UI,sans-serif}.start-panel{display:grid;justify-items:center;gap:0;width:min(760px,100%);text-align:center}.start-eyebrow{color:#fff;margin:0 0 12px;font-size:.9rem;font-weight:400;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.start-heading-row{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0}.start-logo-mark{display:block;width:38px;height:38px;flex:0 0 auto;object-fit:contain}.start-panel h1{min-width:0;color:#fff;font-size:clamp(1.45rem,3vw,2.15rem);font-weight:800;line-height:1.18;letter-spacing:0}.start-panel p{max-width:40rem;margin:14px auto 0;color:#ffffff94;font-size:1.02rem}.start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:min(410px,100%);margin-top:28px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#3b4552;box-shadow:0 18px 42px #00000038}.start-actions button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;justify-items:center;min-height:44px;min-width:182px;border-color:#ffffff29;border-radius:12px;background:#353e4a;color:#ffffffd1;font-weight:400}.start-actions button:hover,.start-actions button:focus-visible{border-color:#fff;background:#ffffff24}.start-panel .primary-action{border-color:#ffc20e;background:#ffc20e;color:#1f2329}.start-panel .primary-action:hover,.start-panel .primary-action:focus-visible{border-color:#ffd767;background:#ffd767}.start-actions svg{display:block;width:18px;height:18px}.start-actions svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:560px){.start-page{padding:28px}.start-heading-row{flex-direction:column;gap:12px}.start-actions{width:min(300px,100%)}.start-actions button{width:100%}}.topbar{display:grid;grid-template-columns:auto auto minmax(0,.8fr) minmax(220px,1fr) auto;gap:14px;align-items:center;min-height:54px;padding:8px 14px;border-bottom:1px solid #cbd5df;background:#fff}.brand-block{display:flex;gap:9px;align-items:center;min-width:max-content}.brand-logo{display:block;width:28px;height:28px;flex:0 0 auto}.brand-block strong{font-size:1.05rem;white-space:nowrap}.building-control select{width:170px;border:0;padding:0;color:#687684;background:transparent;font-size:.86rem}.building-control{display:flex;gap:6px;align-items:center}.building-control .icon-button{display:grid;place-items:center;width:24px;height:24px;min-width:0;padding:0;border:0;color:#687684;background:transparent}.building-control .icon-button svg{width:16px;height:16px}.building-control .icon-button svg path,.building-control .icon-button svg circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.building-control>button:not(.icon-button){padding:2px 7px;font-size:.78rem}.topbar-sheet,.muted,.top-actions{color:#687684}.topbar-sheet{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editing-target{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:7px;align-items:center;min-width:0}.editing-target span{color:#687684;font-size:.76rem;font-weight:800;text-transform:uppercase}.editing-target select{min-width:0;height:32px}.top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.save-status{max-width:150px;overflow:hidden;color:#687684;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.saved-project-picker{width:min(560px,calc(100vw - 32px))}.saved-project-picker>section{max-height:min(58vh,480px);overflow:auto;padding-right:4px}.saved-project-list,.saved-project-group{display:grid;gap:8px}.saved-project-group+.saved-project-group{margin-top:18px}.saved-project-group h2{margin:0;color:var(--dt-ink-soft);font-size:.78rem;letter-spacing:0;text-transform:uppercase}.saved-project-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:0;align-items:center;border:1px solid var(--dt-line);border-radius:8px;background:var(--dt-panel-strong);color:var(--dt-ink)}.saved-project-row.autosave-row{grid-template-columns:minmax(0,1fr)}.saved-project-open{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;min-height:58px;padding:10px 12px;border:0;background:transparent;color:inherit;text-align:left}.saved-project-open:hover,.saved-project-open:focus-visible{border-color:transparent;background:transparent}.saved-project-row:has(.saved-project-open:hover),.saved-project-row:has(.saved-project-open:focus-visible){border-color:var(--dt-accent);background:#ffc20e29}.saved-project-delete{display:grid;place-items:center;justify-self:center;width:32px;min-width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--dt-ink-faint)}.saved-project-delete:hover,.saved-project-delete:focus-visible{border-color:#ef444480;background:#ef444424;color:#fecaca}.saved-project-delete svg{width:16px;height:16px}.saved-project-delete path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.saved-project-list span{display:grid;min-width:0;gap:3px}.saved-project-list strong,.saved-project-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-project-list small,.saved-project-list time,.empty-saved-projects{color:var(--dt-ink-faint)}.saved-project-list time{font-size:.78rem;white-space:nowrap}.new-sheet-button{width:100%;min-height:34px;border-style:dashed;background:transparent;color:var(--dt-ink-faint);font-weight:800}.new-sheet-button:hover,.new-sheet-button:focus-visible{border-color:var(--dt-accent);background:#ffc20e1f;color:var(--dt-ink)}.workspace{display:grid;min-height:0;overflow:hidden}.panel-resize-handle{position:relative;z-index:7;min-width:6px;background:#edf2f5;cursor:col-resize;touch-action:none}.panel-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent}.panel-resize-handle:hover:after,.resizing-panels .panel-resize-handle:after{background:#0f766e}.resizing-panels{cursor:col-resize;-webkit-user-select:none;user-select:none}.left-nav,.right-panel,.display-panel{overflow:auto;min-height:0;overscroll-behavior:contain;background:#fff;padding:14px}.left-nav{border-right:1px solid #d5dde5}.right-dock{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;border-left:1px solid #d5dde5;background:#fff}.right-panel{border-right:0}.right-dock.display-open{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.right-dock.review-only{grid-template-columns:minmax(0,1fr)}.right-dock.review-only .display-panel{border-right:0}.display-panel{border-right:1px solid #d5dde5}.left-nav section,.right-panel section,.display-panel section{display:grid;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e4e9ee}.selection-filter-palette{position:absolute;right:18px;bottom:18px;z-index:6;min-width:190px;max-width:min(320px,calc(100% - 36px));padding:11px 12px;border:1px solid var(--dt-line);border-radius:10px;background:var(--dt-panel-strong);color:var(--dt-ink-soft);box-shadow:var(--dt-shadow)}.selection-filter-palette>strong{display:block;margin-bottom:8px;color:var(--dt-ink);font-size:.82rem}.selection-filter-palette>div{display:flex;flex-wrap:wrap;gap:7px 14px}.selection-filter-palette .check-row{width:auto;margin:0;white-space:nowrap;color:var(--dt-ink-soft)}.selection-filter-palette input[type=checkbox]{accent-color:var(--dt-accent)}.panel-legend-export-dialog{width:min(620px,calc(100vw - 36px))}.panel-legend-export-dialog header p{margin:3px 0 0;color:var(--dt-ink-muted, #64748b);font-size:.78rem}.legend-size-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.legend-option-group{position:relative;display:grid;gap:9px;min-width:0;margin:14px 0 0;padding:12px;border:1px solid var(--dt-line, #cbd5e1);border-radius:7px}.legend-option-group legend{padding:0 5px;color:var(--dt-ink, #17212b);font-size:.8rem;font-weight:800}.legend-option-actions{position:absolute;top:-15px;right:7px;display:flex;gap:4px;padding:0 4px;background:var(--dt-panel, #fff)}.legend-option-actions button{min-height:25px;padding:3px 7px;font-size:.72rem}.legend-panel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;max-height:112px;overflow-y:auto}.legend-column-options{display:flex;flex-wrap:wrap;gap:7px 18px}.legend-option-group .check-row{width:auto;margin:0;white-space:nowrap}.legend-option-group .check-row.required{color:var(--dt-ink-muted, #64748b)}.legend-panel-color-option{margin:10px 0 0;width:fit-content}.legend-size-presets button{min-height:38px;padding:7px 9px}.legend-height-row{display:flex;align-items:end;gap:14px;margin-top:12px;flex-wrap:wrap}.legend-height-row label{display:grid;gap:5px}.legend-height-row input{width:88px}.legend-height-row .disabled-field{color:var(--dt-ink-muted, #64748b)}.legend-height-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:172px;min-height:32px;padding:3px;border:1px solid var(--dt-line, #cbd5e1);border-radius:7px;background:var(--dt-panel, #fff);color:var(--dt-ink-muted, #64748b);font-size:.74rem;font-weight:800;cursor:pointer}.legend-height-switch span:not(.legend-height-switch-thumb){position:relative;z-index:1;text-align:center}.legend-height-switch span:nth-of-type(2){color:var(--dt-ink, #17212b)}.legend-height-switch.no-limit{background:#263447;border-color:#52657f}.legend-height-switch.no-limit span:nth-of-type(2){color:var(--dt-ink-muted, #64748b)}.legend-height-switch.no-limit span:nth-of-type(3){color:#ffd767}.legend-height-switch-thumb{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border:1px solid #4a5563;border-radius:5px;background:var(--dt-chip-strong, #e5ecf0);transition:transform .12s ease,background .12s ease,border-color .12s ease}.legend-height-switch.no-limit .legend-height-switch-thumb{transform:translate(100%);border-color:var(--dt-accent, #ffc20e);background:#ffc20e29;box-shadow:inset 0 0 0 1px #ffc20e2e}.legend-folder-note{display:grid;gap:4px;margin-top:14px;padding:10px 12px;border:1px solid var(--dt-line, #cbd5e1);border-radius:7px;background:var(--dt-chip, #f8fafc);font-size:.8rem;line-height:1.35}.legend-folder-note button{justify-self:start;margin-top:4px}.legend-export-status{margin:10px 0 0;font-size:.82rem;font-weight:700}.bulk-electrical-properties{display:grid;gap:10px;margin-top:12px}.left-nav section{padding-bottom:0;margin-bottom:0;border-bottom:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-list{display:grid;gap:8px}.sheet-node{position:relative;border:1px solid #d9e1e8;border-radius:8px;background:#fff;overflow:hidden}.sheet-node.active{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1f}.sheet-node.dragging{opacity:.55}.sheet-node.sheet-drop-before:before,.sheet-node.sheet-drop-after:after{content:"";position:absolute;left:8px;right:8px;z-index:3;height:3px;border-radius:999px;background:#0f766e;box-shadow:0 0 0 2px #0f766e1f;pointer-events:none}.sheet-node.sheet-drop-before:before{top:4px}.sheet-node.sheet-drop-after:after{bottom:4px}.sheet-summary{display:grid;gap:2px;width:100%;border:0;border-radius:0;padding:10px;background:transparent;text-align:left;cursor:pointer}.sheet-summary[draggable=true]{cursor:grab}.sheet-summary[draggable=true]:active{cursor:grabbing}.sheet-summary:hover,.sheet-node.active .sheet-summary{background:#f6f9fa}.sheet-list small,.layer-title small,.display-results small{color:#687684}.layer-stack{display:grid;gap:1px;padding:2px 6px 8px}.layer-tree-row{display:grid;grid-template-columns:22px 16px minmax(0,1fr) 26px;gap:5px;align-items:center;min-height:26px;border-radius:6px;padding:2px 6px}.layer-tree-row:hover{background:#eef4f5}.layer-tree-row.multi-selected{background:#0f766e14;outline:1px solid rgba(15,118,110,.22);outline-offset:-1px}.layer-tree-row.can-drop{outline:1px dashed rgba(15,118,110,.45);outline-offset:-2px}.layer-tree-row.dragging{opacity:.5}.layer-tree-row.locked{color:#9aa4af}.layer-tree-row.locked .layer-title strong{color:#9aa4af;font-weight:600}.layer-tree-row.locked .layer-type-icon,.layer-tree-row.locked .layer-mode-button,.layer-tree-row.locked .layer-visibility-toggle{color:#a8b1ba}.layer-root-drop-zone{height:7px;border-radius:999px;transition:background-color .12s ease,height .12s ease}.layer-root-drop-zone.active{height:12px;background:linear-gradient(90deg,transparent 8px,rgba(15,118,110,.24) 8px,rgba(15,118,110,.24) calc(100% - 8px),transparent calc(100% - 8px))}.layer-title{min-width:0}.layer-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:650}.layer-visibility-toggle,.layer-mode-button{display:grid;place-items:center;width:22px;height:22px;min-width:0;padding:0;border:0;border-radius:5px;background:transparent;color:#788692}.layer-control-spacer{display:block;width:22px;height:22px}.layer-visibility-toggle.active{color:#0f766e;background:transparent;outline:0}.layer-visibility-toggle:hover,.layer-visibility-toggle:focus-visible,.layer-mode-button:hover,.layer-mode-button:focus-visible{background:#e5ecef}.layer-visibility-toggle svg,.layer-type-icon svg,.layer-mode-button svg,.layer-mode-menu svg{display:block;width:15px;height:15px;overflow:visible}.layer-visibility-toggle svg path,.layer-visibility-toggle svg circle,.layer-type-icon svg path,.layer-type-icon svg rect,.layer-type-icon svg circle,.layer-mode-button svg path,.layer-mode-button svg rect,.layer-mode-button svg circle,.layer-mode-menu svg path,.layer-mode-menu svg rect,.layer-mode-menu svg circle{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.layer-visibility-toggle svg circle{fill:currentColor;stroke:none}.layer-mode-button{color:#687684}.layer-mode-button svg circle,.layer-mode-menu svg circle{fill:currentColor;stroke:none}.layer-mode-button svg .gray-swatch,.layer-mode-menu svg .gray-swatch{stroke:none}.layer-mode-button svg .gray-swatch.dark,.layer-mode-menu svg .gray-swatch.dark{fill:#374151}.layer-mode-button svg .gray-swatch.mid,.layer-mode-menu svg .gray-swatch.mid{fill:#9ca3af}.layer-mode-button svg .gray-swatch.light,.layer-mode-menu svg .gray-swatch.light{fill:#d1d5db}.layer-mode-menu{position:fixed;z-index:24;display:grid;gap:3px;min-width:138px;padding:5px;border:1px solid #bcc8d2;border-radius:6px;background:#fff;box-shadow:0 12px 30px #17202a2e;transform:translate(-100%)}.layer-mode-menu button{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:center;width:100%;border:0;padding:6px 7px;background:transparent;text-align:left}.layer-mode-menu button:hover{background:#edf4f4}.layer-mode-menu button.active{background:#edf7f5;outline:0}.document-source-fields,.reference-placement-fields{display:grid;gap:10px;padding:10px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.reference-placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-placement-actions{display:flex;flex-wrap:wrap;gap:6px}.reference-placement-actions button{padding:6px 8px}.document-picker{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px;align-items:end}.layer-visibility-toggle .slash{stroke-width:2.2}.layer-type-icon{display:grid;place-items:center;width:16px;height:22px;color:#687684}.layer-type-icon.pdf{color:#fb7185}.layer-type-icon.image{color:#34d399}.layer-type-icon.markup{color:#38bdf8}.layer-type-icon.readonly{color:#c4b5fd}.canvas-column{min-width:0;min-height:0;position:relative;display:block;overflow:hidden}.draw-toolbar{display:flex;flex-direction:column;gap:6px;align-items:center;position:absolute;z-index:5;top:14px;left:14px;width:48px;padding:7px;border:1px solid #cbd5df;border-radius:8px;background:#fffffff5;box-shadow:0 12px 28px #17202a2e}.draw-toolbar button{position:relative;display:grid;place-items:center;width:34px;height:34px;min-width:0;padding:0}.draw-toolbar button.toolbar-disabled{cursor:not-allowed;opacity:.45}.toolbar-menu-host{position:relative}.toolbar-context-menu{position:absolute;left:calc(100% + 10px);top:0;z-index:30;display:grid;gap:8px;width:156px;padding:9px;border:1px solid #cbd5df;border-radius:7px;background:#fff;box-shadow:0 12px 28px #17202a2e}.toolbar-context-menu label{color:#26323c}.toolbar-context-menu strong{color:#26323c;font-size:.78rem}.toolbar-context-menu button{width:100%;min-width:112px;height:auto;min-height:32px;padding:6px 10px;white-space:nowrap}.toolbar-context-menu .connection-type-option{display:grid;grid-template-columns:24px 1fr;align-items:center;justify-items:start;gap:8px;text-align:left}.toolbar-context-menu .connection-type-option svg{width:20px;height:20px}.draw-toolbar .chase-nipple-icon .filled{fill:currentColor;stroke:currentColor}.toolbar-context-menu input[type=number]{height:30px}.draw-toolbar button span{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:4px 8px;border-radius:5px;background:#17202a;color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.draw-toolbar button:hover span,.draw-toolbar button:focus-visible span{opacity:1}.draw-toolbar svg{display:block;width:19px;height:19px;overflow:visible}.draw-toolbar svg path,.draw-toolbar svg rect,.draw-toolbar svg circle{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toolbar-divider{height:1px;width:28px;background:#cbd5df}.canvas-wrap{position:relative;height:100%;min-height:0;overflow:hidden;padding:20px 20px 20px 78px;background:#dce3e8;overscroll-behavior:contain;cursor:default;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.canvas-wrap.panning{cursor:grabbing}.canvas-wrap.route-mode{background:#9fa9b2}.drawing-canvas{display:block;width:1120px;aspect-ratio:900 / 620;margin:0;background:#fefefe;box-shadow:0 12px 30px #17202a24;transform-origin:0 0;will-change:transform;touch-action:none;user-select:none;-webkit-user-select:none}.route-mode .drawing-canvas{box-shadow:0 18px 42px #0f172057}.sheet-bg rect:first-child{fill:#fbfbf8;stroke:#919aa3}.sheet-bg path,.sheet-bg rect:not(:first-child){fill:none;stroke:#d7d9d4;stroke-width:1.2}.sheet-bg text{fill:#8b928c;font-size:16px}.canvas-grid path{fill:none;stroke:#0f766e33;stroke-width:.7}.pdf-sheet-bg rect:first-child{fill:#fff;stroke:#919aa3}.pdf-sheet-bg image{pointer-events:none}.pdf-sheet-bg.loading text{fill:#64717d;font-size:14px;font-weight:700}.draw-preview{fill:#0f766e29;stroke:#0f766e;stroke-width:2;stroke-dasharray:6 5}.draw-preview-line{fill:none;stroke:#0f766e;stroke-width:3;stroke-dasharray:8 5}.zone-draw-preview polygon{fill:#0f766e29;stroke:#0f766e;stroke-width:2;stroke-dasharray:8 5}.zone-draw-preview polyline,.zone-draw-preview line{fill:none;stroke:#0f766e;stroke-width:3;stroke-dasharray:8 5;stroke-linecap:round;stroke-linejoin:round}.selection-window{pointer-events:none;stroke-width:1.5}.selection-window.containing{fill:#2563eb1a;stroke:#2563eb}.selection-window.crossing{fill:#0596691a;stroke:#059669;stroke-dasharray:6 5}.placement-preview rect{fill:#0f766e1f;stroke:#0f766e;stroke-width:2;stroke-dasharray:6 5;pointer-events:none}.placement-preview path{fill:none;stroke:#0f766e;stroke-width:2;stroke-linecap:round;opacity:.72;pointer-events:none}.placement-preview circle{fill:#0f766e;opacity:.88;pointer-events:none}.placement-preview text{fill:#0f766e;font-weight:800;pointer-events:none}.box-placement-preview text{font-size:13px;letter-spacing:0}.box-svg-title{font-size:11px;font-weight:900}.panel-svg-title{font-size:12px;font-weight:900;letter-spacing:0}.panel-svg-label-bg{pointer-events:none}.box-svg-circuit{font-size:9px;font-weight:800}.zone-svg-label{font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}.box-svg-more{font-size:9px;font-weight:700}.route-point-handle,.route-point-handle-hit{cursor:move}.route-point-handle{fill:#fff;stroke:#0f766e}.route-point-handle.selected{fill:#f59e0b;stroke:#fff}.route-point-handle-hit{fill:transparent;stroke:transparent;pointer-events:all}.rect-resize-handle,.rect-resize-handle-hit{cursor:nwse-resize}.rect-resize-handle{fill:#fff;stroke:#0f766e;stroke-width:1.6}.rect-resize-handle.top,.rect-resize-handle.bottom,.rect-resize-handle-hit.top,.rect-resize-handle-hit.bottom{cursor:ns-resize}.rect-resize-handle.left,.rect-resize-handle.right,.rect-resize-handle-hit.left,.rect-resize-handle-hit.right{cursor:ew-resize}.rect-resize-handle.top-right,.rect-resize-handle.bottom-left,.rect-resize-handle-hit.top-right,.rect-resize-handle-hit.bottom-left{cursor:nesw-resize}.rect-resize-handle-hit{fill:transparent;stroke:transparent;pointer-events:all}.route-segment-hit{stroke:#0f766e03;stroke-width:18;cursor:move}.route-segment-hit.selected{stroke:#f59e0bdb;stroke-width:7;stroke-linecap:round}.zone-segment-hit{stroke-width:16}.parallel-conduit-markers text{font-size:11px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.route-mode-overlay{pointer-events:none}.route-mode-dim{fill:#141c249e}.route-mode-spotlight{fill:none;stroke:#f8fafc;stroke-width:1.6;filter:drop-shadow(0 0 3px rgba(248,250,252,.72))}.route-mode-spotlight.source{stroke:#14b8a6;stroke-width:2;filter:drop-shadow(0 0 4px rgba(20,184,166,.8))}.markup-layer text{font-size:14px;font-weight:700;pointer-events:none}.canvas-help{position:absolute;left:50%;bottom:12px;z-index:6;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;width:fit-content;max-width:calc(100% - 128px);margin:0;padding:8px 10px;border:1px solid #bdc8cf;border-radius:6px;background:#fffffff0;box-shadow:0 8px 22px #17202a1f;transform:translate(-50%)}.context-menu{position:fixed;z-index:20;display:grid;gap:4px;min-width:148px;padding:6px;border:1px solid #bcc8d2;border-radius:6px;background:#fff;box-shadow:0 12px 30px #17202a2e}.context-menu button{width:100%;text-align:left;border:0;background:transparent}.context-menu button:hover{background:#edf4f4}.context-menu button.danger{color:var(--dt-danger)}.context-menu button.danger:hover,.context-menu button.danger:focus-visible{background:var(--dt-danger-panel)}.property-grid{display:grid;grid-template-columns:96px minmax(0,1fr);gap:7px 10px}.readonly-field{display:grid;gap:6px}.circuit-chip-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}.circuit-chip{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:20px;border:1px solid transparent;border-radius:5px;padding:2px 7px;font-size:.78rem;font-weight:800;line-height:1}button.circuit-chip{min-width:30px;min-height:24px;background:#fff}button.circuit-chip:not(.selected){box-shadow:none}.color-picker-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(116px,150px);gap:8px;align-items:center}.custom-color-inputs{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center}.custom-color-inputs input[type=color]{width:34px;min-width:0;padding:2px}.color-swatch-row{display:flex;flex-wrap:wrap;gap:5px}.color-swatch{width:22px;height:22px;min-width:0;padding:0;border:2px solid #ffffff;border-radius:5px;box-shadow:0 0 0 1px #cbd5df}.color-swatch.active{box-shadow:0 0 0 2px #0f766e}.circuit-chip-row.selectable{gap:6px}.circuit-picker{display:grid;gap:8px;padding:8px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.circuit-continuity-warning{display:grid;gap:12px;padding:10px;border:1px solid #e0b4a7;border-radius:6px;background:#fff8f5}.route-circuit-comparison{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.route-circuit-question{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-weight:700}.route-preflight-actions{display:flex;justify-content:flex-end!important}.phase-color-settings{display:grid;gap:0;padding:10px;border:1px solid #d8e1e8;border-radius:7px;background:#f8fafb}.phase-color-settings .check-title{padding:0 0 8px;border-bottom:1px solid #e1e7ed}.phase-color-rule{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,62px);gap:10px;align-items:center;min-height:50px;padding:8px 0;border-bottom:1px solid #e7edf2}.phase-color-rule:last-child{border-bottom:0;padding-bottom:0}.phase-color-rule>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-color-rule label{display:grid;gap:4px;text-align:center;min-width:0}.phase-preset-color-picker{position:relative;display:flex;justify-content:center}.phase-color-chip{width:28px;height:24px;min-width:0;padding:0;border:2px solid #ffffff;border-radius:5px;box-shadow:0 0 0 1px #9aa8b5}.phase-color-popover{position:absolute;z-index:25;top:calc(100% + 6px);left:50%;display:grid;grid-template-columns:174px 38px;gap:8px;align-items:center;width:238px;padding:8px;border:1px solid #cbd5df;border-radius:6px;background:#fff;box-shadow:0 12px 28px #17202a2e;transform:translate(-50%)}.phase-color-popover .color-swatch-row{display:grid;grid-template-columns:repeat(5,22px);gap:6px}.phase-color-popover .color-swatch{width:22px;height:22px}.phase-color-popover input[type=color]{width:36px;height:28px;padding:2px}.property-grid span{color:#687684}.field-error{display:block;color:#b42318;font-size:.76rem;font-weight:700}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 2px #b423181f}.check-group{display:grid;gap:5px}.check-title,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.check-title small{color:#77838f}.check-row,.inline-toggle{display:flex;grid-template-columns:none;align-items:center;gap:7px;color:#26323c}.check-row input,.inline-toggle input{width:auto}.legend-list,.preset-grid,.pill-list{display:grid;gap:8px}.legend-row{display:flex;align-items:center;gap:8px}.legend-row span,.preset-grid span{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.12)}.muted-row{opacity:.45}.bundle-card{display:grid;gap:8px;padding:10px;border:1px solid #d5dde5;border-radius:6px}.display-results{display:grid;gap:7px}.panel-circuit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.panel-circuit-summary div{display:grid;gap:2px;padding:8px;border:1px solid #d9e1e8;border-radius:6px;background:#f8fafb}.panel-circuit-summary span,.panel-circuit-row-heading span{color:#687684;font-size:.76rem;font-weight:700}.panel-circuit-list{display:grid;gap:7px}.review-disclosure{display:grid;gap:8px}.review-disclosure summary,.homerun-tree-run summary{cursor:pointer}.review-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800}.breaker-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.breaker-panel-grid>div{display:grid;gap:4px}.breaker-slot{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;min-height:26px;padding:4px 7px;border:1px solid #d9e1e8;border-radius:5px;background:#f8fafb}.breaker-slot.empty{opacity:.45}.breaker-slot.captured{grid-template-columns:repeat(auto-fit,minmax(26px,1fr));gap:4px;padding:0;border-color:transparent;background:transparent;overflow:hidden}.breaker-slot strong,.breaker-slot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breaker-slot span{font-size:.76rem;font-weight:700}.breaker-circuit{display:block;width:100%;min-width:0;min-height:26px;padding:5px 7px;border:0;border-radius:5px;font-size:.76rem;font-weight:800;line-height:1.1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.breaker-circuit.active{box-shadow:0 0 0 2px #0f766e3d}.homerun-tree{display:grid;gap:1px;padding:2px 0}.homerun-tree-run{display:grid;gap:1px}.homerun-tree-run summary{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:5px;align-items:center;width:100%;min-height:22px;padding:2px 4px;border:0;border-radius:0;background:transparent;font-weight:800;list-style:none}.homerun-tree-run summary::-webkit-details-marker{display:none}.homerun-tree-run summary:before{content:"v";color:#687684;font-size:.78rem;text-align:center}.homerun-tree-run:not([open]) summary:before{content:">"}.homerun-tree-run summary:hover,.homerun-tree-run summary:focus-visible{background:#0f766e1a;outline:0}.homerun-tree-run summary.active{background:#0f766e2e;color:#0f4f49}.homerun-tree-run summary span{min-width:0}.homerun-tree-run summary small{font-size:.74rem}.homerun-tree-children{display:grid;gap:1px;padding:0 0 0 18px;margin:0;list-style:none;border-left:1px dotted #aab5bf}.homerun-tree-children button{display:grid;position:relative;gap:2px;width:100%;min-height:24px;padding:3px 4px 3px 14px;border:0;border-radius:0;background:transparent;text-align:left}.homerun-tree-children button:before{content:"";position:absolute;left:-1px;top:11px;width:10px;border-top:1px dotted #aab5bf}.homerun-tree-children button:hover,.homerun-tree-children button:focus-visible{background:#0f766e1a;outline:0}.homerun-tree-children button.active{background:#0f766e2e;color:#0f4f49;outline:0}.panel-circuit-list button{display:grid;gap:7px;text-align:left}.panel-circuit-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.panel-circuit-row-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-results button,.review-warnings button{display:grid;gap:2px;text-align:left}.review-warnings{display:grid;gap:7px}.review-warnings button{border-color:#e0b4a7;background:#fff8f5}.renumber-preview-list{display:grid;gap:7px}.renumber-preview-list div,.renumber-conflict{display:grid;gap:2px;padding:8px;border:1px solid #d9e1e8;border-radius:6px;background:#f8fafb}.renumber-preview-list span,.renumber-preview-list small,.renumber-conflict span{color:#687684;font-size:.76rem;font-weight:700}.homerun-renumber-dialog{width:min(440px,calc(100vw - 28px))}.segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.segmented button{padding:6px 5px;white-space:nowrap}.review-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.review-check-grid button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;text-align:left}.review-check-grid button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-check-grid button span{color:#687684;font-size:.78rem}.markup-picker{display:grid;gap:6px;max-height:180px;overflow:auto;padding:8px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.box-source-selector{display:grid;gap:7px}.source-tree{display:grid;gap:3px;max-height:220px;overflow:auto;padding:6px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.source-tree-node{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center;min-height:30px;padding:4px 7px;text-align:left}.source-tree-node span{color:#687684;font-size:.68rem;font-weight:800}.source-tree-node strong,.source-tree-node small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-tree-node small{grid-column:2;color:#687684}.modal-scrim{position:fixed;inset:0;display:grid;place-items:center;background:#17202a73;z-index:10}.wizard{display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;width:min(760px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;padding:18px;border-radius:8px;background:#fff}.wizard.compact-modal{width:min(680px,calc(100vw - 36px));grid-template-rows:auto 1fr}.wizard.compact-modal section{gap:14px}.wizard header,.wizard footer{display:flex;justify-content:space-between;gap:10px;align-items:center}.wizard header .modal-close-button{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;margin-top:-12px;margin-right:-12px;padding:0;border-color:transparent;border-radius:8px;background:transparent;color:var(--dt-ink-faint);font-size:1.2rem;line-height:1}.wizard header .modal-close-button svg{display:block;width:18px;height:18px}.wizard header .modal-close-button svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wizard header .modal-close-button:hover,.wizard header .modal-close-button:focus-visible{border-color:#ff8f7d94;background:#b423189e;color:#fff}.wizard.compact-modal footer{justify-content:flex-end}.delete-confirm-scrim{z-index:60}.delete-confirm-dialog{width:min(420px,calc(100vw - 36px))}.delete-confirm-dialog p{margin:0;color:var(--dt-ink-soft)}.wizard footer .danger{margin-right:auto}.delete-confirm-dialog footer .danger{margin-right:0}.wizard section{display:grid;gap:12px}.wizard-steps{display:flex;gap:8px}.wizard-steps button{width:36px;height:36px;padding:0;border-radius:18px}.wizard-steps.labeled{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.wizard-steps.labeled.edit-building-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-steps.labeled button{width:auto;height:38px;padding:0 10px;border-radius:6px;font-weight:700}.setup-wizard{width:min(920px,calc(100vw - 36px))}.system-builder,.phase-rule-list{display:grid;gap:8px}.system-row{display:grid;grid-template-columns:minmax(120px,1.1fr) 120px minmax(160px,1fr) 72px auto;gap:8px;align-items:end;padding:10px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.system-row input[type=color]{width:46px;height:34px;padding:3px}.system-row .markup-color-field{justify-items:center;text-align:center}.markup-color-picker{position:relative;display:grid;justify-items:center}.markup-color-trigger{width:46px;height:34px;min-width:0;padding:0;border:2px solid #111827;box-shadow:inset 0 0 0 2px #ffffffdb,0 0 0 1px #ffffff7a}.markup-color-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:24;display:grid;gap:8px;padding:8px;border:1px solid var(--dt-line);border-radius:6px;background:var(--dt-panel-strong);box-shadow:var(--dt-shadow)}.markup-color-popover input[type=color]{width:70px;height:30px;padding:2px}.system-row .voltage-field{align-self:stretch}.custom-voltage-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:5px;align-items:center;margin-top:5px}.custom-voltage-grid input{padding:6px}.custom-voltage-grid span{color:var(--dt-ink-faint);font-weight:800}.phase-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.phase-switch button{min-height:34px;padding:0 6px}.preset-section{display:grid;gap:8px;padding:10px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.preset-section .check-title{padding-bottom:8px;border-bottom:1px solid #e1e7ed}.preset-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.preset-shelf button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;align-items:center;min-height:54px;padding:9px 10px;text-align:left}.preset-shelf button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-shelf button small{grid-column:2;color:var(--dt-ink-faint)}.phase-color-rule.editable{grid-template-columns:minmax(145px,.75fr) repeat(auto-fit,minmax(96px,1fr));padding:10px;border:1px solid #e1e7ed;border-radius:6px;background:#f8fafb}.phase-rule-title{display:grid;gap:2px;align-self:center;min-width:0}.phase-rule-title strong,.phase-rule-title span{min-width:0;overflow-wrap:anywhere;white-space:normal}.phase-rule-title strong{color:var(--dt-ink);font-size:1rem;line-height:1.15}.phase-rule-title span{color:var(--dt-ink-faint);font-size:.82rem;font-weight:700}.conductor-color-input{display:grid;gap:7px;justify-items:center}.conductor-color-input input[type=color]{width:70px;height:30px;padding:2px}.wire-color-preset-row{display:grid;grid-template-columns:repeat(3,20px);gap:5px;justify-content:center}.wire-color-preset{width:20px;height:20px;min-width:0;padding:0;border:2px solid #111827;border-radius:4px;box-shadow:inset 0 0 0 2px #ffffffdb,0 0 0 1px #ffffff7a}.wire-color-preset.active{outline:2px solid #ffffff;outline-offset:2px;border-color:#111827;background-clip:padding-box}.wire-color-preset.active,.wire-color-preset.active:hover,.wire-color-preset.active:focus-visible{background-color:inherit;box-shadow:inset 0 0 0 2px #ffffffdb,0 0 0 1px #111827cc}.conductor-color-badge,.phase-color-chip{display:inline-grid;place-items:center;color:#111827;font-size:.68rem;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.42);border:2px solid #111827;box-shadow:inset 0 0 0 2px #ffffffdb,0 0 0 1px #ffffff7a}.conductor-color-badge{width:34px;height:28px;border-radius:5px}.create-project-button,.empty-project .primary-action{border-color:var(--dt-accent);background:var(--dt-accent);color:#111827;font-weight:800}.create-project-button:hover,.create-project-button:focus-visible,.empty-project .primary-action:hover,.empty-project .primary-action:focus-visible{border-color:var(--dt-accent-strong);background:var(--dt-accent-strong);color:#111827}.remove-system-button,.remove-file-button{border-color:#ff8f7d80;background:var(--dt-danger-panel);color:var(--dt-danger);font-weight:800}.remove-system-button:hover,.remove-system-button:focus-visible,.remove-file-button:hover,.remove-file-button:focus-visible{border-color:var(--dt-danger);background:#ff8f7d2e;color:var(--dt-danger)}.imported-file-badge{display:inline-grid;grid-template-columns:minmax(0,max-content) 32px;justify-content:start;gap:6px;max-width:100%}.imported-file-badge button:first-child{max-width:min(420px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-project{display:grid;place-items:center;min-height:0;padding:32px;background:var(--dt-bg-soft)}.empty-project section{display:grid;justify-items:center;gap:12px;max-width:420px;text-align:center}.empty-project p{color:var(--dt-ink-faint)}.suggestion-table{display:grid;gap:6px}.suggestion-table div,.preset-grid div{display:grid;grid-template-columns:1fr 80px 100px;gap:8px;align-items:center;padding:8px;border:1px solid #e1e7ed;border-radius:6px}.preset-grid div{grid-template-columns:auto 1fr auto}.pill-list{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.pill-list span{padding:9px 10px;border:1px solid #d5dde5;border-radius:6px;background:#f8fafb;font-weight:700}.app-shell{background:var(--dt-bg);color:var(--dt-ink)}.topbar{border-bottom-color:var(--dt-line);background:var(--dt-panel);box-shadow:0 1px 0 var(--dt-line-soft)}.brand-block strong,.building-control select,.editing-target select,.top-actions button,.layer-mode-menu button,.context-menu button,.panel-circuit-list button,.homerun-tree-run summary,.homerun-tree-children button,.display-results button,.review-warnings button,.review-check-grid button,.source-tree-node,.sheet-summary,.wizard button{color:inherit}.building-control select,.topbar-sheet,.muted,.top-actions,.editing-target span,.sheet-list small,.layer-title small,.display-results small,.property-grid span,.check-title small,.panel-circuit-summary span,.panel-circuit-row-heading span,.breaker-slot span,.homerun-tree-run summary small,.review-check-grid button span,.renumber-preview-list span,.renumber-preview-list small,.renumber-conflict span,.source-tree-node span,.source-tree-node small{color:var(--dt-ink-faint)}.building-control .icon-button,.layer-visibility-toggle,.layer-mode-button,.layer-type-icon{color:var(--dt-ink-faint)}.building-control .icon-button:hover,.building-control .icon-button:focus-visible,.layer-visibility-toggle:hover,.layer-visibility-toggle:focus-visible,.layer-mode-button:hover,.layer-mode-button:focus-visible{background:var(--dt-chip-strong);color:var(--dt-ink)}.workspace{background:var(--dt-bg)}.panel-resize-handle{background:var(--dt-bg-soft)}.panel-resize-handle:hover:after,.resizing-panels .panel-resize-handle:after{background:var(--dt-accent)}.left-nav,.right-panel,.display-panel,.right-dock{background:var(--dt-panel);color:var(--dt-ink-soft)}.left-nav{border-right-color:var(--dt-line)}.right-dock{border-left-color:var(--dt-line)}.display-panel{border-right-color:var(--dt-line)}.left-nav section,.right-panel section,.display-panel section{border-bottom-color:var(--dt-line)}.sheet-node,.bundle-card,.panel-circuit-summary div,.breaker-slot,.renumber-preview-list div,.renumber-conflict,.markup-picker,.source-tree,.circuit-picker,.phase-color-settings,.document-source-fields,.reference-placement-fields,.suggestion-table div,.preset-grid div,.pill-list span,.preset-section,.system-row,.phase-color-rule.editable{border-color:var(--dt-line);background:var(--dt-panel-strong)}.sheet-node.active{border-color:var(--dt-accent);box-shadow:0 0 0 2px #ffc20e29}.sheet-node.sheet-drop-before:before,.sheet-node.sheet-drop-after:after{background:var(--dt-accent);box-shadow:0 0 0 2px #ffc20e29}.homerun-tree-run summary:before{color:var(--dt-ink-faint)}.homerun-tree-run summary:hover,.homerun-tree-run summary:focus-visible,.homerun-tree-children button:hover,.homerun-tree-children button:focus-visible{background:var(--dt-chip)}.homerun-tree-run summary.active,.homerun-tree-children button.active{background:#ffc20e29;color:var(--dt-ink)}.homerun-tree-children{border-left-color:var(--dt-line)}.homerun-tree-children button:before{border-top-color:var(--dt-line)}.sheet-summary:hover,.sheet-node.active .sheet-summary,.layer-tree-row:hover,.layer-mode-menu button:hover,.context-menu button:hover,.layer-mode-menu button.active{background:var(--dt-chip-strong)}.layer-tree-row.multi-selected{background:#ffc20e14;outline:1px solid rgba(255,194,14,.24);outline-offset:-1px}.layer-tree-row.can-drop{outline-color:#ffc20e8c}.layer-tree-row.locked,.layer-tree-row.locked .layer-title strong,.layer-tree-row.locked .layer-type-icon,.layer-tree-row.locked .layer-mode-button,.layer-tree-row.locked .layer-visibility-toggle{color:#6f7c88}.layer-root-drop-zone.active{background:linear-gradient(90deg,transparent 8px,rgba(255,194,14,.24) 8px,rgba(255,194,14,.24) calc(100% - 8px),transparent calc(100% - 8px))}.layer-visibility-toggle.active{color:var(--dt-accent)}.layer-mode-menu,.context-menu,.toolbar-context-menu,.phase-color-popover{border-color:var(--dt-line);background:var(--dt-panel-strong);color:var(--dt-ink-soft);box-shadow:var(--dt-shadow)}.toolbar-context-menu label{color:var(--dt-ink-soft)}.toolbar-context-menu strong{color:var(--dt-ink)}.toolbar-context-menu button{background:var(--dt-chip);color:var(--dt-ink)}.toolbar-context-menu button:hover,.toolbar-context-menu button:focus-visible{background:var(--dt-chip-strong)}.canvas-grid path{stroke:#ffc20e3d}.rect-resize-handle{stroke:var(--dt-accent)}.draw-toolbar,.canvas-help{border-color:var(--dt-line);background:#353e4af5;color:var(--dt-ink-soft);box-shadow:var(--dt-shadow)}.draw-toolbar button{background:transparent}.draw-toolbar button:hover,.draw-toolbar button:focus-visible{background:var(--dt-chip-strong)}.draw-toolbar button span{background:var(--dt-panel-strong);color:var(--dt-ink);box-shadow:0 10px 24px #0003}.toolbar-divider{background:var(--dt-line)}.canvas-wrap{background:var(--dt-bg-soft)}.canvas-wrap.route-mode{background:#242b35}.drawing-canvas{box-shadow:0 18px 42px #00000042}.draw-preview,.zone-draw-preview polygon{fill:#ffc20e24;stroke:var(--dt-accent)}.draw-preview-line,.zone-draw-preview polyline,.zone-draw-preview line,.placement-preview path,.placement-preview rect{stroke:var(--dt-accent)}.placement-preview rect{fill:#ffc20e1f}.placement-preview circle,.placement-preview text{fill:var(--dt-accent)}.route-point-handle{fill:#fff;stroke:#fff}.route-point-handle.selected{fill:var(--dt-accent);stroke:#fff}.route-point-handle-dot{fill:#111827}.route-segment-hit{stroke:#ffc20e03}.route-segment-hit.selected{stroke:#ffc20edb}.route-mode-spotlight.source{stroke:var(--dt-accent);filter:drop-shadow(0 0 9px rgba(255,194,14,.78))}.circuit-continuity-warning,.review-warnings button{border-color:#ff8f7d6b;background:var(--dt-danger-panel)}.phase-color-settings .check-title,.phase-color-rule{border-bottom-color:var(--dt-line)}.field-error{color:var(--dt-danger)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--dt-danger);box-shadow:0 0 0 2px #ff8f7d29}.check-row,.inline-toggle{color:var(--dt-ink-soft)}.legend-row span,.preset-grid span{border-color:#ffffff2e}.modal-scrim{background:#0f13199e}.wizard{background:var(--dt-panel);color:var(--dt-ink-soft);box-shadow:var(--dt-shadow)}.wizard .create-project-button{color:#111827}.wizard .remove-system-button,.wizard .remove-file-button{color:var(--dt-danger)}@media(max-width:1120px){.workspace{grid-template-columns:240px minmax(480px,1fr)}.right-dock{grid-column:1 / -1;border-top:1px solid var(--dt-line);border-left:0;grid-template-columns:1fr}.right-dock.display-open{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)}.right-panel,.display-panel{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.right-panel section,.display-panel section{margin:0}}
