:root{--color-primary:#1c3f52;--color-primary-dark:#0f2733;--color-primary-deep:#0a1920;--color-accent:#4e7e93;--color-accent-pale:#9dbac9;--color-signal:#3fa66b;--color-signal-dark:#237a47;--color-attention:#c97a3b;--color-attention-dark:#9c5a26;--color-ink:#182229;--color-ink-soft:#59666d;--color-bg:#fff;--color-surface:#f1f2ee;--color-border:#dee2dc;--color-danger:#b04035;--color-danger-bg:#f7e6e3;--color-warn:#a9791e;--font-head:system-ui, "Segoe UI", "Helvetica Neue", sans-serif;--font-body:system-ui, "Segoe UI", "Helvetica Neue", sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--radius:12px;--panel-bg:#fff;--panel-bg-subtle:#f8fafc;--panel-border:#d9dee8;--panel-border-strong:#c4cddc;--input-border:#9fb6e0;--text-strong:#1f2937;--text-muted:#4b5563;--text-faint:#6b7280;--text-subtle:#475569;--accent-blue:#2563eb;--accent-blue-soft-bg:#eff6ff;--accent-blue-border:#bfdbfe;--accent-blue-strong-border:#4c7dd9;--accent-blue-drop-border:#2b6cb0;--accent-blue-marker:#1d4ed8;--surface-selected:#eaf1ff;--surface-header-row:#e8eef8;--surface-component-header:#e2e8f0;--surface-component-group:#f8fafc;--surface-component-footer:#f1f5f9;--surface-hover:#f3f4f6;--grid-warn:#d97706;--grid-warn-bg:#fff7ed;--grid-warn-strong:#9a3412;--grid-danger:#c2410c;--notice-info-bg:#ebf3ff;--notice-info-border:#bad1f7;--notice-error-bg:#fdecec;--notice-error-border:#f5b5b5;--notice-warning-bg:#fff7ed;--notice-warning-border:#fdba74;--notice-muted-bg:#f6f6f6;--notice-muted-border:#e4e4e4;--shadow-soft:#0f273312;--shadow-strong:#0f273347;--shadow-menu:#0000001f;--shadow-drawer:#1f293738}:root[data-bs-theme=dark]{--color-ink:#e6ecef;--color-ink-soft:#9db0b8;--color-bg:#141b20;--color-surface:#0f1519;--color-border:#2a3941;--color-danger:#e2664f;--color-danger-bg:#33201c;--color-warn:#e0983f;--panel-bg:#182229;--panel-bg-subtle:#1c2830;--panel-border:#2c3c45;--panel-border-strong:#374a54;--input-border:#3c5568;--text-strong:#e6ecef;--text-muted:#aebdc4;--text-faint:#8798a0;--text-subtle:#9db0b8;--accent-blue:#6fa2f7;--accent-blue-soft-bg:#17253a;--accent-blue-border:#2c4a72;--accent-blue-strong-border:#6fa2f7;--accent-blue-drop-border:#4f84d6;--accent-blue-marker:#6fa2f7;--surface-selected:#17253a;--surface-header-row:#1a262f;--surface-component-header:#202e37;--surface-component-group:#1a262f;--surface-component-footer:#182229;--surface-hover:#1f2b33;--grid-warn:#e0983f;--grid-warn-bg:#2e2214;--grid-warn-strong:#f0b880;--grid-danger:#e2825f;--notice-info-bg:#182839;--notice-info-border:#2c4a72;--notice-error-bg:#33201c;--notice-error-border:#5c332c;--notice-warning-bg:#2e2214;--notice-warning-border:#6b4a1c;--notice-muted-bg:#1b2226;--notice-muted-border:#2a3338;--shadow-soft:#00000059;--shadow-strong:#0000008c;--shadow-menu:#00000073;--shadow-drawer:#0000008c}html{scroll-behavior:smooth}body{background-color:var(--color-surface);color:var(--color-ink)}a{color:var(--color-primary)}.btn-primary{--bs-btn-bg:var(--color-primary);--bs-btn-border-color:var(--color-primary);--bs-btn-hover-bg:var(--color-primary-dark);--bs-btn-hover-border-color:var(--color-primary-dark);--bs-btn-active-bg:var(--color-primary-deep);--bs-btn-active-border-color:var(--color-primary-deep);--bs-btn-disabled-bg:var(--color-primary);--bs-btn-disabled-border-color:var(--color-primary)}.btn-outline-primary{--bs-btn-color:var(--color-primary);--bs-btn-border-color:var(--color-primary);--bs-btn-hover-bg:var(--color-primary);--bs-btn-hover-border-color:var(--color-primary);--bs-btn-active-bg:var(--color-primary-dark);--bs-btn-active-border-color:var(--color-primary-dark)}.btn-success,.btn-outline-success{--bs-btn-bg:var(--color-signal);--bs-btn-border-color:var(--color-signal);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--color-signal-dark);--bs-btn-hover-border-color:var(--color-signal-dark);--bs-btn-active-bg:var(--color-signal-dark);--bs-btn-active-border-color:var(--color-signal-dark)}.btn-outline-success{--bs-btn-bg:transparent;--bs-btn-color:var(--color-signal-dark);--bs-btn-hover-color:#fff}.form-control:focus,.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 .25rem #1c3f5226}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.text-bg-secondary{background-color:var(--color-surface)!important;color:var(--color-ink-soft)!important}.alert-success{--bs-alert-color:var(--color-signal-dark);--bs-alert-bg:#eaf6f0;--bs-alert-border-color:#b6e2ce}:root[data-bs-theme=dark] .alert-success{--bs-alert-color:#7fd6a7;--bs-alert-bg:#16291f;--bs-alert-border-color:#205a38}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(160deg, var(--color-primary-deep) 0%, var(--color-primary-dark) 45%, var(--color-primary) 100%);color:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff1f;padding:22px 22px 18px}.sidebar-wordmark{color:#fff;font-size:1.2rem;font-weight:700}.sidebar-bar{background:linear-gradient(90deg, var(--color-signal), var(--color-attention));border-radius:2px;width:42px;height:3px;margin-top:9px}.sidebar-tag{letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent-pale);margin-top:10px;font-size:.72rem}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px;display:flex}.sidebar-section-label{letter-spacing:.1em;text-transform:uppercase;color:#c7d6e0b3;padding:16px 14px 4px;font-size:.66rem}.sidebar-link{color:#c7d6e0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff14;text-decoration:none}.sidebar-link.active{color:#fff;box-shadow:inset 3px 0 0 var(--color-signal);background:#ffffff24}.sidebar-icon{justify-content:center;width:1.1em;display:inline-flex}.sidebar-footer{border-top:1px solid #ffffff1f;padding-top:12px}.sidebar-theme-toggle{color:#c7d6e0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:.92rem;display:flex}.sidebar-theme-toggle:hover{color:#fff;background:#ffffff24}.app-shell-content{width:100%;min-width:0}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-header h1{color:var(--color-primary);font-size:1.5rem;font-weight:700}:root[data-bs-theme=dark] .page-header h1{color:var(--color-accent-pale)}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:2px;font-size:.72rem;font-weight:600}.btn-with-icon{align-items:center;gap:.4rem;display:inline-flex}.overview-actions{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.overview-actions .icon-button{border:1px solid var(--color-border);background:var(--color-bg);min-width:1.9rem;min-height:1.85rem;color:var(--color-ink);white-space:nowrap;border-radius:6px;padding:.2rem .45rem;font-size:.82rem;font-weight:500;text-decoration:none}.overview-actions .icon-button:disabled{opacity:.45}.overview-actions .icon-button-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.overview-actions .icon-button-primary:not(:disabled):hover{border-color:var(--color-primary-dark);background:var(--color-primary-dark);color:#fff}:root[data-bs-theme=dark] .overview-actions .icon-button-primary{border-color:var(--color-accent);background:var(--color-accent)}:root[data-bs-theme=dark] .overview-actions .icon-button-primary:not(:disabled):hover{border-color:var(--color-accent-pale);background:var(--color-accent-pale);color:var(--color-primary-deep)}.overview-actions .icon-button-danger{color:var(--color-danger)}.filter-panel{border-bottom:1px solid var(--color-border);background:var(--color-bg);padding:.55rem 1rem .7rem}.filter-panel-row{align-items:center;gap:10px;display:flex}.filter-panel-row-expanded{align-items:flex-end}.filter-panel-row-expanded .filter-panel-toggle,.filter-panel-row-expanded .filter-panel-count{margin-bottom:calc(1.05rem - 12px)}.filter-panel-row .filter-panel-toggle{border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-ink-soft);background:0 0;border-radius:6px;flex:none;padding:0}.filter-panel-row .filter-panel-toggle:hover{background:var(--color-surface)}.filter-panel-label,.filter-bar-label{color:var(--color-ink-soft);font-size:.78rem;font-weight:500}.filter-panel-badge{color:var(--color-attention-dark);white-space:nowrap;background:#fbe9d9;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:500}:root[data-bs-theme=dark] .filter-panel-badge{color:#f0b880;background:#3a2e1c}.filter-panel-count{color:var(--color-ink-soft);white-space:nowrap;margin-left:auto;font-size:.78rem}.filter-bar{align-items:flex-end;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.filter-bar-field,.filter-dropdown{gap:var(--space-xs);flex-direction:column;margin:0;display:flex;position:relative}.filter-bar-search,.filter-dropdown-toggle{border:1.5px solid var(--color-border);background:var(--color-bg);min-height:2.1rem;color:var(--color-ink);font:inherit;border-radius:8px;padding:.35rem .65rem;font-size:.82rem}.filter-bar-search{width:15em}.filter-bar-search:focus,.filter-dropdown-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.filter-dropdown-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-width:11em;max-width:18em;font-weight:500;display:flex}.filter-dropdown-toggle:hover,.filter-dropdown-toggle.is-active{border-color:var(--color-accent)}.filter-dropdown-toggle.is-active{color:var(--color-primary)}:root[data-bs-theme=dark] .filter-dropdown-toggle.is-active{color:var(--color-accent-pale)}.filter-dropdown-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filter-dropdown-toggle svg{color:var(--color-ink-soft);flex:none}.filter-dropdown-panel{z-index:20;border:1.5px solid var(--color-border);background:var(--color-bg);min-width:220px;max-height:280px;box-shadow:0 6px 20px var(--shadow-menu);border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.filter-dropdown-option{color:var(--color-ink);cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin:0;padding:6px 8px;font-size:.82rem;font-weight:400;display:flex}.filter-dropdown-option:hover{background:var(--color-surface)}.filter-dropdown-option input{accent-color:var(--color-primary)}.filter-dropdown-option-all{border-bottom:1px solid var(--color-border);border-radius:6px 6px 0 0;margin-bottom:2px;padding-bottom:8px}.filter-dropdown-empty{color:var(--color-ink-soft);padding:6px 8px;font-size:.8rem}.filter-bar .filter-bar-reset{border:1px solid var(--color-border);background:var(--color-bg);min-height:2.1rem;color:var(--color-ink);border-radius:8px;padding:.3rem .65rem;font-size:.82rem;font-weight:500}.kpi-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.kpi{background:var(--color-bg);border:1px solid var(--color-border);color:inherit;border-radius:9px;padding:13px 15px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}a.kpi:hover{color:inherit;box-shadow:0 3px 8px var(--shadow-soft), 0 16px 32px -14px var(--shadow-strong);text-decoration:none;transform:translateY(-1px)}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:var(--space-xs);align-items:center;gap:6px;font-size:.66rem;font-weight:600;display:flex}.kpi-value{color:var(--color-primary);font-size:1.2rem;font-weight:700;line-height:1.1}:root[data-bs-theme=dark] .kpi-value{color:var(--color-accent-pale)}.card{--lb-card-shadow:0 4px 24px var(--shadow-soft), 0 1px 0 #ffffffb3 inset;--bs-box-shadow-sm:var(--lb-card-shadow);--bs-card-border-radius:16px;--bs-card-border-color:var(--color-border);box-shadow:var(--lb-card-shadow)}:root[data-bs-theme=dark] .card{--lb-card-shadow:0 4px 24px #0006, 0 1px 0 #ffffff0d inset}.card-header{color:var(--color-primary);background:var(--color-bg);border-bottom:1px solid var(--color-border);font-weight:700}:root[data-bs-theme=dark] .card-header{color:var(--color-accent-pale)}.table td input.form-control-sm,.table td select.form-select-sm{min-width:8rem}.tree-editor-shell{flex-direction:column;gap:.75rem;min-width:0;display:flex}.editor-toolbar{z-index:12;background:var(--panel-bg);box-shadow:0 1px 0 var(--panel-border-strong);flex-wrap:wrap;gap:.5rem;padding:.35rem 0;display:flex;position:sticky;top:0}.editor-toolbar button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:4px;padding:.28rem .6rem;font-size:.82rem}.editor-toolbar button:disabled{opacity:.45}.icon-button{cursor:pointer;justify-content:center;align-items:center;gap:.35rem;line-height:1.2;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex}.icon-button svg{flex:none}.icon-button:disabled{cursor:not-allowed}.icon-button:not(:disabled):hover{border-color:var(--accent-blue);color:var(--accent-blue)}.icon-button-danger:not(:disabled):hover{border-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger)}.editor-toolbar .project-device-drawer-toggle:not(:disabled):hover{color:#fff;filter:brightness(1.08)}.icon-button-text{letter-spacing:.02em;font-size:.7rem;font-weight:700}.icon-button-separator{background:var(--panel-border-strong);align-self:stretch;width:1px;margin:.1rem .15rem}.editor-toolbar .project-device-drawer-toggle{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff;font-weight:600}.active-view-summary{border:1px solid var(--accent-blue-border);background:var(--accent-blue-soft-bg);color:var(--text-subtle);border-radius:5px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem .5rem;font-size:.78rem;display:flex}.active-view-label{font-weight:600}.active-view-chip,.active-view-reset{border:1px solid var(--accent-blue-border);background:var(--panel-bg);color:var(--text-subtle);cursor:pointer;border-radius:999px;padding:.18rem .48rem;font-size:.76rem}.active-view-chip:hover,.active-view-reset:hover{border-color:var(--accent-blue)}.active-view-reset{margin-left:auto;font-weight:600}.distribution-power-summary{border:1px solid var(--panel-border);background:var(--panel-bg-subtle);border-radius:5px;grid-template-columns:repeat(3,minmax(12rem,1fr));gap:.5rem;padding:.55rem;display:grid}.distribution-power-summary>div{flex-direction:column;gap:.15rem;display:flex}.distribution-power-summary span{color:var(--text-subtle);font-size:.74rem;line-height:1.2}.distribution-power-summary strong{color:var(--text-strong);font-size:.95rem}@media (max-width:900px){.distribution-power-summary{grid-template-columns:1fr}}.column-settings-menu{z-index:9;border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:0 6px 16px var(--shadow-menu);width:340px;color:var(--text-strong);text-align:left;border-radius:5px;margin-top:2rem;padding:.55rem;position:absolute}.column-settings-title-row,.column-settings-footer{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.column-settings-title-row{margin-bottom:.25rem;font-size:.82rem}.column-settings-close{color:var(--text-muted);cursor:pointer;line-height:1;background:0 0!important;border:0!important;padding:.05rem .2rem!important;font-size:1rem!important}.column-settings-explanation{color:var(--text-muted);margin-bottom:.4rem;font-size:.72rem;line-height:1.3}.column-settings-search{border:1px solid var(--panel-border-strong);background:var(--panel-bg);width:100%;color:var(--text-strong);border-radius:4px;margin-bottom:.4rem;padding:.3rem .4rem;font-size:.76rem}.column-settings-list{border:1px solid var(--panel-border);border-radius:4px;flex-direction:column;gap:.15rem;max-height:300px;padding:.25rem;display:flex;overflow:auto}.column-settings-item{border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:.4rem;padding:.1rem;display:flex}.column-settings-item.selected{border-color:var(--accent-blue-border);background:var(--accent-blue-soft-bg)}.column-settings-item.dragging{opacity:.55}.column-settings-item.drop-target{border-color:var(--accent-blue-drop-border);background:var(--accent-blue-soft-bg)}.column-settings-item.locked{background:var(--panel-bg-subtle)}.column-visibility-button{min-width:0;color:inherit;text-align:left;cursor:pointer;flex:1;align-items:center;gap:.35rem;font-size:.8rem;display:flex;background:0 0!important;border:0!important;padding:.2rem .25rem!important}.column-visibility-button:disabled{cursor:default}.selection-marker{color:var(--accent-blue-marker);flex:0 0 1rem;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.column-settings-order{gap:.2rem;display:flex}.column-settings-order button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:3px;padding:.08rem .28rem;font-size:.72rem}.tree-grid-wrap{border:1px solid var(--panel-border);background:var(--panel-bg);scrollbar-gutter:stable;width:100%;min-width:0;max-width:100%;max-height:max(28rem,100vh - 12rem);overflow:auto}.column-settings-empty{color:var(--text-faint);padding:.55rem .35rem;font-size:.76rem}.column-settings-footer{justify-content:flex-end;margin-top:.45rem}.column-settings-footer button.primary{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff}.tree-editor-layout{min-width:0;min-height:560px;display:block;position:relative}.project-device-sidebar{border:1px solid var(--panel-border);background:var(--panel-bg);flex-direction:column;gap:.55rem;padding:.6rem;display:flex}.project-device-sidebar h3{color:var(--text-strong);margin:0;font-size:1rem}.project-device-sidebar input,.project-device-sidebar select{border:1px solid var(--panel-border-strong);background:var(--panel-bg);width:100%;color:var(--text-strong);border-radius:4px;padding:.25rem .35rem}.project-device-list{flex-direction:column;gap:.4rem;max-height:360px;display:flex;overflow:auto}.project-device-item{border:1px solid var(--panel-border-strong);background:var(--panel-bg-subtle);color:var(--text-strong);text-align:left;border-radius:4px;flex-direction:column;gap:.1rem;padding:.4rem;font-size:.8rem;display:flex}.project-device-item.selected{border-color:var(--accent-blue-strong-border);background:var(--accent-blue-soft-bg)}.project-device-item.dragging{opacity:.55;border-style:dashed}.project-device-item>summary{cursor:grab;flex-direction:column;gap:.1rem;display:flex}.project-device-item>summary::marker{color:var(--text-faint)}.sidebar-actions{flex-direction:column;gap:.5rem;display:flex}.sidebar-actions label{color:var(--text-strong);flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.sidebar-actions button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:4px;padding:.3rem .45rem;font-size:.82rem}.tree-grid{border-collapse:collapse;width:max-content;min-width:0;color:var(--text-strong);font-size:.9rem}.tree-grid th,.tree-grid td{border:1px solid var(--panel-border);vertical-align:middle;padding:.35rem .4rem}.tree-grid th{background:var(--panel-bg-subtle);z-index:2;vertical-align:top;white-space:normal;width:1px;position:sticky;top:0}.tree-grid td{white-space:nowrap}.tree-grid .header-cell{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.tree-grid .header-filter-btn{color:var(--text-faint);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex:none;align-items:center;gap:.15rem;padding:.15rem .2rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.tree-grid .header-filter-btn:hover,.tree-grid .header-filter-btn:focus-visible{border-color:var(--panel-border-strong);color:var(--text-strong)}.tree-grid .header-sort-btn{width:100%;min-width:0;color:var(--text-strong);font:inherit;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;white-space:normal;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.25rem;padding:0;font-size:.78rem;font-weight:600;line-height:1.15;display:flex}.project-device-drawer{z-index:1040;width:min(360px,100vw - 2rem);max-height:calc(100vh - 7rem);box-shadow:0 .75rem 2rem var(--shadow-drawer);border-radius:.5rem;position:fixed;top:5.5rem;left:auto;right:1rem;overflow:auto}.project-device-drawer-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project-device-drawer-header span{color:var(--text-faint);font-size:.75rem}.project-device-drawer-header button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:4px;padding:.25rem .4rem;font-size:.78rem}.tree-grid .header-cell .header-sort-btn{flex:auto;align-items:flex-start;width:auto}.tree-grid .header-unit{color:var(--text-faint);font-weight:500;display:block}.tree-grid .header-sort-btn:hover span:first-child,.tree-grid .header-sort-btn:focus-visible span:first-child{text-decoration:underline}.tree-grid .sort-indicator{color:var(--accent-blue);font-size:.85rem}.tree-grid .header-filter-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:var(--accent-blue-soft-bg)}.tree-grid .header-filter-count{text-align:center;min-width:.7rem}.tree-grid .header-filter-menu{z-index:7;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-strong);box-shadow:0 6px 16px var(--shadow-menu);text-align:left;width:300px;margin-top:.2rem;padding:.55rem;position:absolute}.tree-grid .header-filter-title-row,.tree-grid .header-filter-selection-actions,.tree-grid .header-filter-footer,.tree-grid .header-filter-footer-actions{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.tree-grid .header-filter-title-row{margin-bottom:.25rem;font-size:.82rem}.tree-grid .header-filter-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.05rem .2rem;font-size:1rem;line-height:1}.tree-grid .header-filter-selection-actions{justify-content:flex-start;margin:.4rem 0 .3rem;font-size:.72rem}.tree-grid .header-filter-selection-actions span{color:var(--text-muted);margin-left:auto}.tree-grid .header-filter-selection-actions button,.tree-grid .header-filter-footer button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);cursor:pointer;border-radius:3px;padding:.18rem .35rem;font-size:.72rem}.tree-grid .header-filter-explanation{color:var(--text-muted);white-space:normal;margin-bottom:.4rem;font-size:.72rem;line-height:1.3}.tree-grid .header-filter-search{border:1px solid var(--panel-border-strong);background:var(--panel-bg);width:100%;color:var(--text-strong);border-radius:4px;padding:.3rem .4rem;font-size:.76rem}.tree-grid .header-filter-values{border:1px solid var(--panel-border);border-radius:4px;flex-direction:column;gap:.15rem;max-height:210px;padding:.25rem;display:flex;overflow:auto}.tree-grid .header-filter-item{width:100%;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:.35rem;padding:.25rem .3rem;font-size:.75rem;font-weight:400;display:flex}.tree-grid .header-filter-item:hover{background:var(--surface-hover)}.tree-grid .header-filter-item.selected{border-color:var(--accent-blue-border);background:var(--accent-blue-soft-bg)}.tree-grid .header-filter-empty{color:var(--text-faint);padding:.45rem .25rem;font-size:.74rem}.tree-grid .header-filter-footer{margin-top:.45rem}.tree-grid .header-filter-footer-actions{margin-left:auto}.tree-grid .header-filter-footer button.primary{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff}.tree-grid .header-filter-footer button:disabled{opacity:.45;cursor:default}.tree-grid .header-filter-warning{color:var(--grid-warn-strong);white-space:normal;font-size:.7rem}.tree-grid .num{text-align:right}.tree-grid .section-row td{background:var(--surface-header-row);font-weight:600}.tree-grid .structure-component-row td{border-bottom-color:var(--panel-border);padding:.38rem .6rem}.tree-grid .structure-component-row.headerComponent td{background:var(--surface-component-header)}.tree-grid .structure-component-row.groupComponent td{background:var(--surface-component-group)}.tree-grid .structure-component-row.footerComponent td{background:var(--surface-component-footer)}.tree-grid .structure-component-content{align-items:baseline;gap:.75rem;min-width:0;display:flex}.tree-grid .structure-component-content strong{font-variant-numeric:tabular-nums;flex:none}.tree-grid .structure-component-protection{color:var(--text-subtle);font-size:.78rem}.tree-grid .structure-component-actions{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.tree-grid .structure-component-actions button{padding:.18rem .45rem;font-size:.75rem}.tree-grid .structure-component-fixed{color:var(--text-faint);font-size:.75rem}.tree-grid .section-drop-cell{padding:.45rem .6rem}.tree-grid .section-content{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tree-grid .section-actions{align-items:center;gap:.25rem;display:flex}.tree-grid .section-actions .icon-button,.tree-grid .action-cell .icon-button{min-width:1.75rem;min-height:1.6rem;padding:.15rem .3rem}.tree-grid .section-actions .icon-button:disabled,.tree-grid .action-cell .icon-button:disabled{opacity:.35}.tree-grid .section-actions button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:3px;padding:.2rem .45rem;font-size:.78rem}.tree-grid .summary-row td{background:var(--panel-bg-subtle)}.tree-grid .feeder-circuit-row td:nth-child(2){font-weight:600}.tree-grid .device-row td:first-child{color:var(--text-faint)}.tree-grid .downstream-board-load-row td{background:var(--panel-bg-subtle);color:var(--text-muted);font-style:italic}.tree-grid .downstream-board-load-row td:nth-child(2){padding-left:1.5rem}.tree-grid .empty-circuit-row td{background:var(--panel-bg-subtle)}.tree-grid tr.row-selected td{background:var(--surface-selected)}.tree-grid .placeholder-row td{background:var(--panel-bg-subtle);color:var(--text-faint);font-style:italic}.tree-grid .cell-editable{cursor:text}.tree-grid .cell-protection-trigger{color:var(--color-primary);cursor:pointer;font-weight:600;transition:background-color .12s,box-shadow .12s}:root[data-bs-theme=dark] .tree-grid .cell-protection-trigger{color:var(--color-accent-pale)}.tree-grid .cell-protection-trigger:hover{box-shadow:inset 0 0 0 1px var(--color-signal);background:#3fa66b26}.tree-grid .device-drag-handle{cursor:grab}.tree-grid .device-drag-handle.device-dragging{opacity:.55}.tree-grid .circuit-drag-handle{cursor:grab}.tree-grid .circuit-dragging-block td{opacity:.55}.tree-grid .cell-selected{outline:2px solid var(--accent-blue-strong-border);outline-offset:-2px}.tree-grid td:has(>.cell-picker-trigger){position:relative}.tree-grid .cell-picker-trigger{border:1px solid var(--accent-blue-strong-border);background:var(--panel-bg);width:1.15rem;height:1.15rem;color:var(--color-primary);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;left:.2rem;transform:translateY(-50%)}:root[data-bs-theme=dark] .tree-grid .cell-picker-trigger{color:var(--color-accent-pale)}.tree-grid .cell-picker-trigger:hover{background:var(--accent-blue-soft-bg)}.tree-grid .section-title{align-items:baseline;gap:.75rem;display:flex}.tree-grid .section-title span{color:var(--text-subtle);font-size:.78rem;font-weight:500}.tree-grid .cell-invalid{outline:2px solid var(--grid-danger);outline-offset:-2px;background:var(--grid-warn-bg)!important}.tree-grid .cell-invalid input{border-color:var(--grid-danger)}.tree-grid input,.tree-grid select{border:1px solid var(--input-border);background:var(--panel-bg);width:100%;min-width:5rem;color:var(--text-strong);border-radius:2px;padding:.2rem .3rem}.tree-grid .action-cell{gap:.25rem;display:flex}.tree-grid .action-cell button{border:1px solid var(--panel-border-strong);background:var(--panel-bg);color:var(--text-strong);border-radius:3px;padding:.2rem .45rem;font-size:.78rem}.tree-grid .drop-target-active{box-shadow:inset 0 0 0 2px var(--accent-blue-strong-border);background:var(--accent-blue-soft-bg)!important}.tree-grid .drop-target-invalid,.tree-grid .drop-target-confirm{box-shadow:inset 0 0 0 2px var(--grid-warn);background:var(--grid-warn-bg)!important}.tree-grid tr.circuit-insert-before td,.tree-grid tr.circuit-insert-after td{position:relative}.tree-grid tr.circuit-insert-before td:before{content:"";border-top:4px solid var(--accent-blue);pointer-events:none;position:absolute;top:-2px;left:-1px;right:-1px}.tree-grid tr.circuit-insert-before td:first-child:after{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:10px solid var(--accent-blue);pointer-events:none;width:0;height:0;position:absolute;top:-7px;left:-7px}.tree-grid tr.circuit-insert-after td:after{content:"";border-bottom:4px solid var(--accent-blue);pointer-events:none;position:absolute;bottom:-2px;left:-1px;right:-1px}.tree-grid tr.circuit-insert-after td:first-child:before{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:10px solid var(--accent-blue);pointer-events:none;width:0;height:0;position:absolute;bottom:-7px;left:-7px}.drop-hint{color:var(--accent-blue-marker);font-size:.75rem;font-weight:600}.notice{color:var(--text-strong);border:1px solid #0000;border-radius:4px;padding:.5rem .75rem}.notice.info{background:var(--notice-info-bg);border-color:var(--notice-info-border)}.notice.error{background:var(--notice-error-bg);border-color:var(--notice-error-border)}.notice.warning{background:var(--notice-warning-bg);border-color:var(--notice-warning-border)}.editor-error-notice{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.notice.muted{background:var(--notice-muted-bg);border-color:var(--notice-muted-border);color:var(--text-muted)}.todo-hint{color:var(--text-faint);margin:0;font-size:.8rem}@media (max-width:720px){.project-device-drawer{max-height:calc(100vh - 5.5rem);top:4.5rem}}.app-shell{transition:grid-template-columns .18s}.app-shell-collapsed{grid-template-columns:64px 1fr}.sidebar{transition:padding .18s}.sidebar-brand{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.sidebar-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;line-height:1;display:inline-flex}.sidebar-toggle:hover{background:#ffffff2e}.sidebar-collapsed .sidebar-brand{flex-direction:column;align-items:center;padding:16px 10px}.sidebar-collapsed .sidebar-brand-text{display:none}.sidebar-collapsed .sidebar-nav{padding:12px 8px}.sidebar-collapsed .sidebar-link{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-label{display:none}.structure-columns{gap:var(--space-md);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:992px){.structure-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}.structure-column-title{align-items:center;margin:0;font-size:1rem;font-weight:700;display:flex}.structure-icon-button{justify-content:center;align-items:center;padding:.25rem .4rem;line-height:1;display:inline-flex}.structure-back-link{justify-content:center;align-items:center;margin-top:.1rem;padding:.35rem .45rem;display:inline-flex}.structure-list{max-height:70vh;overflow-y:auto}.structure-entry{align-items:center;gap:var(--space-sm);padding:0;display:flex}.structure-entry-main{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;color:inherit;text-align:left;font:inherit;background:0 0;border:0;flex:auto;padding:.55rem .75rem;display:flex}button.structure-entry-main{cursor:pointer}button.structure-entry-main:hover{background:var(--surface-hover)}button.structure-entry-main:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.structure-entry.is-selected{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--color-signal)}.structure-entry.is-selected .structure-entry-label{font-weight:600}.structure-entry.is-selected button.structure-entry-main:hover{background:0 0}.structure-entry-text{flex-direction:column;min-width:0;display:flex}.structure-entry-label{overflow-wrap:anywhere}.structure-entry-hint{color:var(--color-ink-soft);font-size:.78rem}.structure-entry-meta{color:var(--color-ink-soft);white-space:nowrap;flex:none;font-size:.78rem}.structure-entry-actions{flex:none;gap:4px;padding-right:.75rem;display:inline-flex}.structure-room-number{font-variant-numeric:tabular-nums;font-weight:600}.structure-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:var(--panel-bg-subtle);padding:.35rem .75rem;font-size:.66rem;font-weight:600}.structure-empty{color:var(--color-ink-soft);font-size:.9rem}.estimate-toolbar{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.estimate-save-status{align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:.8rem;display:inline-flex}.estimate-save-badge{border:1px solid var(--color-border);color:var(--color-ink-soft);background:var(--color-bg);border-radius:999px;padding:.2rem .55rem;font-weight:600;display:inline-block}.estimate-save-badge.is-saved{color:var(--color-signal-dark);border-color:var(--color-signal)}.estimate-save-badge.is-busy{color:var(--color-warn);border-color:var(--color-warn)}.estimate-save-badge.is-error{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.estimate-save-hint{color:var(--color-danger)}.estimate-header-fields{gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.estimate-header-field{align-items:center;gap:var(--space-sm);min-width:10rem;display:flex}.estimate-header-field.is-wide{flex:18rem}.estimate-header-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.7rem;font-weight:600}.estimate-header-value{font-weight:600}.estimate-header-input{border-color:var(--panel-border);font-size:.95rem;font-weight:600}.estimate-sheet-wrap{overflow-x:auto}.estimate-sheet{table-layout:fixed;border-collapse:collapse;background:var(--panel-bg);width:100%;min-width:1400px;color:var(--text-strong);font-size:.82rem}.estimate-comparison{table-layout:auto;min-width:640px}.estimate-sheet th,.estimate-sheet td{border:1px solid var(--panel-border);vertical-align:middle;padding:2px 4px}.estimate-sheet thead th{background:var(--surface-header-row);text-align:center;font-size:.72rem;font-weight:700;line-height:1.2}.estimate-th-hint{color:var(--text-faint);font-size:.68rem;font-weight:400;display:block}.estimate-col-kg{width:3rem}.estimate-col-supply{width:4rem}.estimate-col-name{width:auto}.estimate-col-quantity{width:4.8rem}.estimate-col-unit{width:3.8rem}.estimate-col-connection{width:5rem}.estimate-col-power{width:6.4rem}.estimate-col-gzf{width:6.8rem}.estimate-col-cosphi{width:3.8rem}.estimate-col-result{width:4.6rem}.estimate-col-sv{width:3.2rem}.estimate-col-remark{width:9rem}.estimate-col-actions{width:4.5rem}.estimate-cell-input,.estimate-cell-select{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 4px;line-height:1.4}.estimate-cell-select{cursor:pointer;padding-right:0}.estimate-cell-input:hover:not(:disabled),.estimate-cell-select:hover:not(:disabled){border-color:var(--panel-border-strong)}.estimate-cell-input:focus,.estimate-cell-select:focus{border-color:var(--accent-blue);background:var(--panel-bg);box-shadow:0 0 0 2px var(--accent-blue-soft-bg);outline:none}.estimate-cell-input.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.estimate-cell-input.is-invalid,.estimate-cell-input.is-invalid:focus,.estimate-cell-input.is-invalid:hover{border-color:var(--color-danger);background:var(--color-danger-bg)}.estimate-cell-input::placeholder{color:var(--text-faint);opacity:.7}.estimate-unit-input,.estimate-gzf-input{align-items:center;gap:2px;display:flex}.estimate-unit-label{color:var(--text-faint);flex:none;min-width:1.9rem;font-size:.7rem}.estimate-amev-button{border:1px solid var(--panel-border-strong);background:var(--panel-bg-subtle);color:var(--text-subtle);letter-spacing:.03em;border-radius:3px;flex:none;padding:1px 3px;font-size:.6rem;font-weight:700;line-height:1.3}.estimate-amev-button:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue)}.estimate-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.estimate-number.is-muted{color:var(--text-faint)}.estimate-number.is-over{color:var(--color-attention-dark)}.estimate-number.is-under{color:var(--color-signal-dark)}.estimate-center{text-align:center}.estimate-cost-group-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.estimate-group-title-row td{background:var(--surface-component-header);font-weight:700}.estimate-group-title{align-items:center;gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;display:flex}.estimate-group-name{font-size:.9rem}.estimate-group-editor{align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:.75rem;font-weight:400;display:inline-flex}.estimate-group-editor .estimate-cell-input{width:12rem}.estimate-group-actions{justify-content:flex-end;gap:2px;display:flex}.estimate-row-actions{white-space:nowrap;justify-content:center;gap:2px;display:flex}.estimate-group-title-row .estimate-actions-cell{white-space:nowrap;width:auto}.estimate-icon-button{justify-content:center;align-items:center;padding:.15rem .3rem;line-height:1;display:inline-flex}.estimate-actions-cell{text-align:center}.estimate-empty-row td{color:var(--text-faint);font-style:italic}.estimate-subtotal-row td{background:var(--panel-bg-subtle);font-weight:700}.estimate-total-label{text-align:right;font-weight:700}.estimate-total-hint{color:var(--text-faint);font-weight:400}.estimate-total-row td{background:var(--surface-header-row);font-weight:600}.estimate-total-row.is-strong td{border-top:2px solid var(--panel-border-strong);font-weight:800}.estimate-add-group-row td{background:var(--panel-bg);padding:var(--space-sm) 4px}.estimate-unassigned-row td{color:var(--text-muted);font-style:italic}.estimate-collapse-toggle{align-items:center;gap:var(--space-xs);color:inherit;font:inherit;background:0 0;border:0;padding:0;font-weight:700;display:inline-flex}.estimate-list-table .estimate-number{font-variant-numeric:tabular-nums}.estimate-print-value{display:none}.estimate-sheet td,.estimate-sheet td.estimate-number,.estimate-sheet .estimate-cell-input,.estimate-sheet .estimate-cell-input.is-numeric{text-align:center}.estimate-sheet .estimate-cell-select{text-align:center;text-align-last:center}.estimate-sheet .estimate-unit-input,.estimate-sheet .estimate-gzf-input{justify-content:center}.estimate-sheet td.estimate-name-cell,.estimate-sheet td.estimate-name-cell .estimate-cell-input,.estimate-sheet .estimate-group-title-row td:not(.estimate-cost-group-cell),.estimate-comparison td:nth-child(2){text-align:left}.estimate-sheet td.estimate-total-label{text-align:right}.estimate-print-titleblock{display:none}@page estimate-balance{size:A4 landscape;margin:10mm 10mm 13mm}@media print{.estimate-print-root .estimate-no-print,.estimate-print-root .estimate-page-header,.estimate-print-root .estimate-header-fields,.estimate-print-root .alert,.estimate-print-root input,.estimate-print-root select,.estimate-print-root button{display:none!important}body:has(.estimate-print-root) .sidebar{display:none!important}html:has(.estimate-print-root){background:#fff!important}body:has(.estimate-print-root){background:#fff!important}body:has(.estimate-print-root) .app-shell{background:#fff!important}body:has(.estimate-print-root) .app-shell-content{background:#fff!important}html:has(.estimate-print-root){--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}.estimate-print-root .estimate-group-editor.is-empty{display:none}.estimate-sheet .estimate-col-name{width:52mm}.estimate-sheet .estimate-col-remark{width:24mm}.estimate-sheet .estimate-col-supply{width:13mm}body:has(.estimate-print-root) .app-shell{display:block}.estimate-print-root{--ep-blue:#476088;--ep-lilac:#9198c4;--ep-line:#d6dae5;--ep-tint:#f5f6fa;--ep-text:#2b2b2b;--ep-muted:#6b7280;--ep-accent:#c9782a;page:estimate-balance;max-width:none;color:var(--ep-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;padding:0!important}.estimate-print-root *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.estimate-print-root .estimate-print-value{display:inline}.estimate-print-titleblock{border:1.5px solid var(--ep-blue);break-inside:avoid;background:#fff;grid-template-columns:30mm 1fr auto auto;margin-bottom:4mm;font-size:8.5pt;display:grid}.estimate-print-titleblock>*{border-left:1px solid var(--ep-line);padding:2.5mm 3.5mm}.estimate-print-titleblock>:first-child{border-left:none}.estimate-print-logo{min-height:16mm;color:var(--ep-blue);text-align:center;justify-content:center;align-items:center;font-weight:700;display:flex}.estimate-print-logo img{max-width:100%;max-height:10mm}.estimate-print-kicker{color:var(--ep-muted);letter-spacing:.05em;text-transform:uppercase;font-size:7pt}.estimate-print-heading{flex-wrap:wrap;align-items:baseline;gap:1mm 4mm;margin-top:1mm;display:flex}.estimate-print-stand{color:var(--ep-blue);font-size:16pt;font-weight:700}.estimate-print-project{font-size:12pt;font-weight:700}.estimate-print-meta{grid-template-columns:auto auto;align-content:center;gap:.8mm 4mm;margin:0;font-size:7.5pt;display:grid}.estimate-print-meta div{display:contents}.estimate-print-meta dt{color:var(--ep-muted);font-weight:400}.estimate-print-meta dd{margin:0;font-weight:700}.estimate-print-meta.is-tinted{background:var(--ep-tint)}.estimate-print-root .card{background:0 0;border:0;box-shadow:none!important}.estimate-print-root .card-body,.estimate-print-root .card-header{background:0 0;border:0;padding:0}.estimate-print-root .estimate-comparison-card{break-inside:avoid;margin-top:6mm}.estimate-print-root .estimate-comparison-card .card-header{color:var(--ep-blue);margin-bottom:2mm;font-size:10pt;font-weight:700}.estimate-sheet-wrap{overflow:visible}.estimate-sheet{table-layout:auto;min-width:0;color:var(--ep-text);background:#fff;font-size:7.4pt;line-height:1.2}.estimate-sheet th,.estimate-sheet td{color:var(--ep-text);background:#fff;padding:.7mm 1.5mm;border:1px solid var(--ep-line)!important}.estimate-sheet thead{display:table-header-group}.estimate-sheet thead th{vertical-align:bottom;font-weight:700;background:var(--ep-blue)!important;border-color:var(--ep-blue)!important;color:#fff!important}.estimate-sheet thead .estimate-th-hint{color:#dfe3f0!important}.estimate-group-title-row td{font-weight:700;background:var(--ep-tint)!important;border-top:1.5px solid var(--ep-lilac)!important}.estimate-group-title-row .estimate-cost-group-cell{color:var(--ep-blue)!important}.estimate-group-title-row .estimate-group-editor{color:var(--ep-muted);font-weight:400}.estimate-subtotal-row td{font-weight:700;border-bottom:1.5px solid var(--ep-line)!important}.estimate-subtotal-row .estimate-total-label{color:var(--ep-muted)}.estimate-total-row td{font-weight:700;background:var(--ep-tint)!important}.estimate-total-row.is-strong td{background:var(--ep-blue)!important;border-color:var(--ep-blue)!important;color:#fff!important}.estimate-total-row .estimate-total-hint{color:var(--ep-muted);font-weight:400}.estimate-total-row.is-strong .estimate-total-hint{color:#dfe3f0}.estimate-comparison .is-over{font-weight:700;color:var(--ep-accent)!important}.estimate-comparison .is-under{font-weight:700;color:var(--ep-blue)!important}.estimate-group-title-row,.estimate-subtotal-row,.estimate-total-row,.estimate-row{break-inside:avoid}.estimate-group-title-row{break-after:avoid}.estimate-sheet tfoot{break-inside:avoid;display:table-row-group}.estimate-col-actions{width:0}.estimate-unit-input,.estimate-gzf-input{justify-content:center}}.sidebar-nav-bottom{border-top:1px solid #ffffff1f;flex:none}.sidebar-identity{flex-direction:column;gap:1px;padding:8px 14px 10px;display:flex}.sidebar-identity-label{letter-spacing:.08em;text-transform:uppercase;color:#c7d6e0b3;font-size:.66rem}.sidebar-identity-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.sidebar-bottom-row{align-items:stretch;gap:8px;padding:0 14px 12px;display:flex}.sidebar-logout{color:#c7d6e0;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:8px;flex:auto;justify-content:center;align-items:center;min-width:0;padding:8px 14px;font-size:.85rem;font-weight:500;display:flex}.sidebar-logout:hover{color:#fff;background:#ffffff1a}.sidebar-collapsed .sidebar-identity{display:none}.sidebar-collapsed .sidebar-bottom-row{justify-content:center;padding-inline:0}.login-gate-screen{min-height:100vh;padding:var(--space-md);background:linear-gradient(160deg, var(--color-primary-deep) 0%, var(--color-primary-dark) 45%, var(--color-primary) 100%);justify-content:center;align-items:center;display:flex}.login-gate-card{width:100%;max-width:360px;padding:28px 26px}.config-tabs{border-bottom:1px solid var(--color-border,#0000001f);margin-bottom:var(--space-md);gap:4px;display:flex}.config-tab{color:inherit;opacity:.7;border-radius:6px 6px 0 0;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none}.config-tab:hover{opacity:1;text-decoration:none}.config-tab.active{opacity:1;box-shadow:inset 0 -2px 0 var(--color-primary)}.modal-backdrop-inline{z-index:1050;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}
