:root{color-scheme:light;--color-bg: #f4f6f8;--color-panel: #ffffff;--color-border: #d7dce1;--color-text: #1a2230;--color-muted: #667085;--color-primary: #2454ff;--color-primary-hover: #1a3fd6;--color-success: #1a7f37;--color-warn: #b45309;--color-error: #c0192a;--color-hover-bg: #f0f2f5;--color-active-tint: #eef2ff;--color-disabled-bg: #c9d2e3;--color-table-header-bg: #e7eaef;--color-success-bg: #e3f5e8;--color-success-border: #bfe4c9;--color-error-bg: #fbe4e6;--color-error-border: #f0aab0;--color-warn-bg: #fdf3e7;--color-warn-border: #f0c987;--color-toggle-active-bg: #fde8e8;--color-toggle-active-hover-bg: #fbd5d5;--color-navy-accent: #203764;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--toolbar-control-height: 2.25rem}[data-theme=dark]{color-scheme:dark;--color-bg: #0f1420;--color-panel: #161d2b;--color-border: #2b3446;--color-text: #e6e9ef;--color-muted: #8b93a7;--color-primary: #5b8dff;--color-primary-hover: #7aa1ff;--color-success: #3ddc84;--color-warn: #f0b429;--color-error: #ff6b6b;--color-hover-bg: #1f2735;--color-active-tint: #202a45;--color-disabled-bg: #333d52;--color-table-header-bg: #1c2434;--color-success-bg: rgba(61, 220, 132, .14);--color-success-border: rgba(61, 220, 132, .35);--color-error-bg: rgba(255, 107, 107, .14);--color-error-border: rgba(255, 107, 107, .35);--color-warn-bg: rgba(240, 180, 41, .14);--color-warn-border: rgba(240, 180, 41, .35);--color-toggle-active-bg: rgba(255, 107, 107, .14);--color-toggle-active-hover-bg: rgba(255, 107, 107, .24);--color-navy-accent: #8fb4ff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{min-width:1024px;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,select,a{font-family:inherit;font-size:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{height:100vh;display:flex;flex-direction:column}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--color-panel);border-bottom:1px solid var(--color-border)}.top-bar-left{display:flex;align-items:center;gap:.75rem}.top-bar-title{font-weight:600}.top-bar-beta-badge{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);background:var(--color-active-tint);padding:.25rem .65rem;border-radius:999px;white-space:nowrap}.top-bar-logo{display:inline-flex;color:var(--color-primary)}.hamburger-button{background:transparent;border:1px solid transparent;color:var(--color-text);font-size:1.1rem;line-height:1;padding:.35rem .55rem;border-radius:6px;cursor:pointer}.hamburger-button:hover{background:var(--color-hover-bg)}.top-bar-user{display:flex;align-items:center;gap:1rem}.top-bar-email{color:var(--color-text);font-size:.85rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-theme-toggle{border-radius:6px}.icon-button.top-bar-theme-toggle{color:var(--color-text)}.icon-button.top-bar-theme-toggle:hover:not(:disabled){background:var(--color-hover-bg);color:var(--color-text)}.top-bar-account{position:relative}.top-bar-account-button{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid transparent;border-radius:999px;padding:.2rem .6rem .2rem .2rem;cursor:pointer;color:var(--color-text)}.top-bar-account-button:hover{background:var(--color-hover-bg)}.top-bar-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;flex-shrink:0}.top-bar-count{color:var(--color-muted);font-size:.85rem;padding:.2rem .6rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px}.top-bar-privacy{position:relative}.top-bar-privacy-button{border-radius:999px}.icon-button.top-bar-privacy-button{color:var(--color-text)}.icon-button.top-bar-privacy-button:hover:not(:disabled){background:var(--color-hover-bg);color:var(--color-text)}.top-bar-privacy-popover{position:absolute;top:calc(100% + 8px);right:-.5rem;width:260px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 16px #00000029;padding:.9rem 1rem;z-index:20}.top-bar-privacy-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.top-bar-privacy-title{flex:1;font-weight:600;font-size:.88rem;color:var(--color-text)}.top-bar-privacy-close{flex-shrink:0;margin:-.3rem -.3rem -.3rem 0}.top-bar-privacy-body{margin:0 0 .6rem;font-size:.78rem;line-height:1.4;color:var(--color-muted)}.top-bar-privacy-learn-more{font-size:.78rem;font-weight:600}.top-bar-help{position:relative}.top-bar-help-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 8px #0000001f;display:flex;flex-direction:column;min-width:140px;overflow:hidden;z-index:20}.top-bar-help-menu button{background:none;border:none;text-align:left;padding:.5rem .75rem;cursor:pointer;font-size:.85rem;color:var(--color-text)}.top-bar-help-menu button:hover{background:var(--color-hover-bg)}.app-body{flex:1;display:flex;min-height:0}.left-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-panel);min-height:0;transition:width .15s ease}.left-panel-collapsed{width:0;min-width:0;border-right:none;overflow:hidden}.left-panel-main{overflow-y:auto}.left-panel-resizer{flex-shrink:0;width:6px;margin-left:-3px;cursor:col-resize;background:transparent;position:relative;z-index:7}.left-panel-resizer:hover,.left-panel-resizer:active{background:var(--color-primary);opacity:.35}.right-panel{flex:1;display:flex;min-width:0}.collapsible-section{border-bottom:1px solid var(--color-border)}.collapsible-section-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--color-text);text-align:left}.collapsible-section-chevron{display:inline-block;color:var(--color-muted);transition:transform .15s ease}.collapsible-section-chevron-open{transform:rotate(90deg)}.collapsible-section-content{padding:0 1.25rem 1.25rem}.file-picker-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.stacked-field{display:flex;flex-direction:column;gap:.3rem}.stacked-field-label{font-weight:600;font-size:.82rem;color:var(--color-text)}.file-picker-row{display:flex;align-items:center;gap:.5rem}.file-picker-select{width:100%;padding:.45rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);color:var(--color-text)}.model-conversion-format-row{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.5rem}.model-conversion-format-row select{width:100%;padding:.45rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);color:var(--color-text)}.model-conversion-static-field{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-disabled-bg);color:var(--color-muted)}.model-conversion-info-icon{flex-shrink:0;color:var(--color-muted)}.model-conversion-subheading{margin:0 0 .6rem;font-size:.85rem;font-weight:600;color:var(--color-text)}.file-picker-kind-button{flex-shrink:0;min-width:7rem}.source-toggle{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.opendss-fields{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.1rem}.source-toggle-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;font-size:.85rem;cursor:pointer}.source-toggle-option-active{border-color:var(--color-primary);background:var(--color-active-tint)}.file-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-size:.9rem}.file-picker-error{color:var(--color-error);font-size:.8rem;margin:.25rem 0 0}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;font-size:.75rem;flex-shrink:0}.status-icon-valid{background:var(--color-success-bg);color:var(--color-success)}.status-icon-error{background:var(--color-error-bg);color:var(--color-error)}.primary-button,.secondary-button,.icon-button{border-radius:6px;border:1px solid transparent;cursor:pointer;padding:.3rem .65rem;font-weight:400}.primary-button{background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.primary-button:disabled{background:var(--color-disabled-bg);cursor:not-allowed;pointer-events:none}.secondary-button{background:var(--color-panel);border-color:var(--color-border);color:var(--color-text)}.secondary-button:hover:not(:disabled){background:var(--color-hover-bg)}.secondary-button:disabled{color:var(--color-muted);cursor:not-allowed}.icon-button{background:transparent;border:none;color:var(--color-muted);padding:.15rem .4rem}.icon-button:hover:not(:disabled){color:var(--color-error)}.icon-button.icon-button-active{color:var(--color-primary);background:var(--color-active-tint)}.icon-button.icon-button-active:hover:not(:disabled){color:var(--color-primary-hover)}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:0;font-size:.9rem;text-align:left}.action-row{display:flex;gap:.75rem;margin-bottom:1rem}.left-panel-validation{padding:.85rem 1.25rem;border-bottom:1px solid var(--color-border)}.left-panel-validation .verdict-banner{margin-bottom:0}.verdict-banner{border-radius:6px;padding:.75rem;margin-bottom:1rem;border:1px solid var(--color-border)}.verdict-banner p{margin:0;font-weight:600}.verdict-banner-pass{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.verdict-banner-fail{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.verdict-banner details{margin-top:.5rem;font-weight:400}.verdict-banner summary{cursor:pointer;color:var(--color-text)}.verdict-banner pre{margin-top:.5rem;max-height:240px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:.8rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.5rem}.error-banner{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;padding:.75rem;color:var(--color-error);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.warning-banner{background:var(--color-warn-bg);border:1px solid var(--color-warn-border);border-radius:6px;padding:.75rem;color:var(--color-warn);display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.warning-banner-list{margin:0;padding-left:1.25rem;color:var(--color-text);font-family:var(--font-mono);font-size:.8rem}.log-panel-details{display:flex;flex-direction:column;flex:1;min-height:320px;border-top:1px solid var(--color-border)}.log-panel-details summary{cursor:pointer;list-style:none;padding:.5rem 1rem;font-weight:600;color:var(--color-text);background:var(--color-panel)}.log-panel-details summary::-webkit-details-marker{display:none}.log-panel-details[open] summary{border-bottom:1px solid var(--color-border)}.log-panel{flex:1;min-height:0;overflow-y:auto;background:#10151c;color:#d6dde5;font-family:var(--font-mono);font-size:.8rem;padding:.75rem 1rem}.log-empty{color:#6b7684}.log-line{display:flex;gap:.6rem;padding:.1rem 0;white-space:pre-wrap;word-break:break-word}.log-timestamp{color:#6b7684;flex-shrink:0}.log-line-info .log-message{color:#d6dde5}.log-line-warn .log-message{color:#f0b429}.log-line-error .log-message{color:#ff6b6b}.log-debug-request{margin-bottom:.6rem;padding:.5rem .6rem;background:#1a2230;border:1px dashed #3a4759;border-radius:4px}.log-debug-request-label{color:#6b7684;margin-bottom:.25rem}.log-debug-request pre{margin:0;color:#8fd3ff;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono)}.bottom-tabs-log{display:flex;flex-direction:column;gap:.55rem;overflow-y:auto;min-height:0}.bottom-tabs-log-section{display:flex;flex-direction:column;gap:.2rem}.bottom-tabs-log-section-title{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);margin-top:.15rem}.results-summary-empty{color:var(--color-muted);font-size:.85rem;margin:0}.results-summary{display:flex;flex-direction:column;gap:.5rem}.results-summary-status-row{margin-bottom:.25rem}.results-summary-status-pill{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-weight:700;font-size:.85rem}.results-summary-status-solved{background:var(--color-success-bg);color:var(--color-success)}.results-summary-status-not-solved{background:var(--color-error-bg);color:var(--color-error)}.results-summary-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem}.results-summary-label{color:var(--color-muted)}.results-summary-value{font-weight:600;text-align:right}.results-summary-mono{font-family:var(--font-mono);font-weight:400}.results-summary-circuits{display:flex;flex-direction:column;gap:.5rem}.results-summary-circuit-tabs{display:flex;flex-wrap:wrap;gap:.3rem}.results-summary-circuit-tab{border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);color:var(--color-muted);font-size:.75rem;font-weight:500;padding:.2rem .55rem;cursor:pointer}.results-summary-circuit-tab:hover{color:var(--color-text)}.results-summary-circuit-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pf-summary-panel{display:flex;align-items:stretch;width:fit-content;max-width:100%;margin:.75rem 1rem;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;font-size:.8rem}.pf-summary-col{display:flex;flex-direction:column;flex:0 0 auto;min-width:0}.pf-summary-col-left{border-right:1px solid var(--color-border)}.pf-summary-header{font-weight:500;color:var(--color-primary);padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.pf-summary-rows{display:grid;grid-template-columns:max-content max-content;column-gap:1.5rem}.pf-summary-row{display:contents}.pf-summary-label{color:var(--color-muted);padding:.5rem 0 .5rem 1rem;border-bottom:1px solid var(--color-border)}.pf-summary-value{color:var(--color-text);text-align:right;font-weight:500;padding:.5rem 1rem .5rem 0;border-bottom:1px solid var(--color-border)}.pf-summary-row:last-child .pf-summary-label,.pf-summary-row:last-child .pf-summary-value{border-bottom:none}.pf-summary-success{color:var(--color-success)}.pf-summary-error{color:var(--color-error)}.pf-summary-warn{color:var(--color-warn)}.pf-summary-muted{color:var(--color-muted);font-weight:400}.pf-summary-mono{font-family:var(--font-mono);font-weight:400}.pf-summary-circuits{display:flex;flex-direction:column;gap:.5rem}.pf-summary-circuit-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin:.75rem 1rem 0}.pf-summary-circuit-tab{border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);color:var(--color-muted);font-size:.8rem;font-weight:500;padding:.3rem .7rem;cursor:pointer}.pf-summary-circuit-tab:hover{color:var(--color-text)}.pf-summary-circuit-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.bottom-tabs{border-top:1px solid var(--color-border);background:var(--color-panel);display:flex;flex-direction:column;min-height:40px;overflow:auto;flex-shrink:0;position:relative;transition:height .15s ease}.bottom-tabs-collapsed{height:40px!important;overflow:hidden}.bottom-tabs-resizer{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;background:transparent;z-index:7}.bottom-tabs-resizer:hover,.bottom-tabs-resizer:active{background:var(--color-primary);opacity:.35}.bottom-tabs-bar{display:flex;align-items:center;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-panel);position:sticky;top:0}.bottom-tabs-tab{padding:.6rem 1rem;background:none;border:none;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--color-muted);border-bottom:2px solid transparent}.bottom-tabs-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.bottom-tabs-actions{margin-left:auto;margin-right:.5rem;display:flex;align-items:center;gap:.35rem}.bottom-tabs-icon-button{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;line-height:0}.bottom-tabs-content{flex:1;min-height:0;overflow:auto}.bottom-tabs-log{font-family:var(--font-mono);font-size:.8rem;padding:.75rem 1rem;background:#10151c;color:#d6dde5;height:100%;overflow-y:auto}.bottom-tabs-table-wrap{height:100%;overflow:auto;padding:.5rem 1rem}.bottom-tabs-table{width:auto;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.bottom-tabs-table th,.bottom-tabs-table td{padding:.3rem .6rem;border-bottom:1px solid var(--color-border);text-align:right}.bottom-tabs-table th.bt-col-left,.bottom-tabs-table td.bt-col-left{text-align:left}.bottom-tabs-table thead{position:sticky;top:0;z-index:2}.bottom-tabs-table thead th{background:var(--color-table-header-bg);font-weight:600;color:var(--color-muted)}.bt-header-cell{position:relative;display:inline-flex;align-items:center;gap:.35rem}.bt-sort-button{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--color-muted);cursor:pointer}.bt-sort-button:hover{color:var(--color-text)}.bt-sort-indicator{font-size:.65rem}.bt-filter-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.1rem;color:var(--color-muted);cursor:pointer;flex-shrink:0}.bt-filter-button:hover{color:var(--color-text)}.bt-filter-active{color:var(--color-primary)}.bt-filter-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:30;width:220px;display:flex;flex-direction:column;gap:.4rem;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000029;padding:.6rem;font-weight:400;text-align:left;white-space:normal;cursor:default}.bt-filter-search{width:100%;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.8rem;color:var(--color-text);background:var(--color-bg)}.bt-filter-option{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:400;color:var(--color-text);cursor:pointer;padding:.1rem 0}.bt-filter-select-all{border-bottom:1px solid var(--color-border);padding-bottom:.35rem;font-weight:600}.bt-filter-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem}.bt-filter-empty{color:var(--color-muted);font-size:.78rem;margin:.2rem 0}.bt-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--color-border);padding-top:.4rem}.bt-filter-actions .secondary-button{padding:.25rem .55rem;font-size:.78rem}.bt-row-clickable{cursor:pointer}.bt-row-clickable:hover td{background:var(--color-active-tint)}.result-viewer-graph{position:relative;flex:1;width:100%;min-width:0;display:flex;flex-direction:column;min-height:0}.result-viewer-canvas-area{position:relative;flex:1;min-height:0}.result-viewer-canvas{width:100%;height:100%}.result-viewer-canvas-box-zoom{cursor:crosshair}.result-viewer-zoom-box{position:absolute;z-index:15;border:1.5px dashed var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent);pointer-events:none}.graph-legend{position:absolute;top:calc(.6rem + var(--toolbar-actual-height, var(--toolbar-control-height)) + .4rem);right:1rem;transform:none;width:200px;max-height:70%;overflow-y:auto;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:.6rem .75rem;box-shadow:0 2px 8px #0000001f;transition:width .15s ease;z-index:10}.graph-legend-squeezed{width:auto;padding:.6rem .4rem}.graph-legend-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.graph-legend-title{font-weight:600;font-size:.85rem}.graph-legend-subtitle{font-weight:600;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted);margin:.6rem 0 .4rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.graph-legend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.graph-legend-item{display:flex;align-items:center;gap:.5rem}.graph-legend-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.graph-legend-label{font-size:.78rem;color:var(--color-text);white-space:nowrap}.result-viewer-selection{position:absolute;bottom:1rem;right:1rem;width:320px;max-height:70%;overflow-y:auto;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:.6rem .75rem;box-shadow:0 2px 8px #0000001f}.result-viewer-selection-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;cursor:move;-webkit-user-select:none;user-select:none}.result-viewer-selection-label{font-weight:600;word-break:break-word;cursor:text;-webkit-user-select:text;user-select:text}.result-viewer-selection-header-right{display:flex;align-items:center;gap:.5rem}.result-viewer-voltage-base{font-size:.78rem;color:var(--color-text);white-space:nowrap}.result-viewer-selection-trace{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}.result-viewer-selection-trace-label{font-size:.78rem;color:var(--color-muted)}.result-viewer-selection-trace .secondary-button{padding:.25rem .5rem;font-size:.78rem}.result-viewer-selection-lines{margin:.5rem 0 0;color:var(--color-text);font-size:.78rem;line-height:1.4;white-space:pre-wrap;overflow-x:auto}.result-viewer-voltage-table{width:100%;margin:.6rem 0 0;border-collapse:collapse;font-size:.78rem}.result-viewer-voltage-table th{background:#203764;color:#fff;font-weight:700;text-align:center;padding:.35rem .4rem;white-space:nowrap}.result-viewer-voltage-table th:first-child{text-align:left;border-top-left-radius:4px}.result-viewer-voltage-table th:last-child{border-top-right-radius:4px}.result-viewer-voltage-table td{padding:.32rem .4rem;text-align:center;color:var(--color-text)}.result-viewer-voltage-table td:first-child{text-align:left;font-weight:600}.result-viewer-voltage-table-bus td{font-weight:400}.result-viewer-voltage-table tbody tr:nth-child(2n){background:var(--color-bg)}.result-viewer-voltage-table tr.result-viewer-voltage-row-boundary td{border-top:2px solid var(--color-text)}.result-viewer-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.result-viewer-status-dot-on{background:var(--color-success)}.result-viewer-status-dot-off{background:var(--color-error)}.result-viewer-asset-section{margin-top:.6rem;border:1px solid var(--color-border);border-radius:6px;padding:.5rem .6rem .6rem}.result-viewer-asset-section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:700;color:var(--color-navy-accent);margin-bottom:.4rem}.result-viewer-asset-section-base{font-size:.78rem;white-space:nowrap}.result-viewer-asset-table{width:100%;border-collapse:collapse;font-size:.76rem}.result-viewer-asset-table td{padding:.3rem .4rem;color:var(--color-text)}.result-viewer-asset-table td:first-child{font-weight:600;width:45%}.result-viewer-asset-table tr:nth-child(2n){background:var(--color-bg)}.result-viewer-asset-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin-top:.5rem;font-size:.78rem;color:var(--color-text)}.result-viewer-asset-totals strong{color:var(--color-primary)}.result-viewer-asset-empty{margin:0;font-size:.78rem;color:var(--color-muted)}.result-viewer-tooltip{position:absolute;transform:translate(-50%,-100%) translateY(-10px);max-width:260px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:.4rem .6rem;box-shadow:0 2px 8px #00000029;pointer-events:none;z-index:10}.result-viewer-tooltip-label{font-weight:600;font-size:.85rem;word-break:break-word}.result-viewer-tooltip-lines{margin:.15rem 0 0;color:var(--color-muted);font-family:var(--font-mono);font-size:.75rem;line-height:1.35;white-space:pre}.result-viewer-line-bold{font-weight:700}.result-viewer-line-divider{border-top:1px solid var(--color-border);margin-top:.15rem;padding-top:.35rem}.result-viewer-toolbar{position:absolute;top:.6rem;left:1rem;right:1rem;display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-wrap:wrap;pointer-events:none;z-index:6}.result-viewer-toolbar>*{pointer-events:auto}.result-viewer-save{position:relative;height:var(--toolbar-control-height)}.result-viewer-save>.secondary-button{height:100%}.result-viewer-violations,.result-viewer-warnings,.result-viewer-circuits{position:relative;height:var(--toolbar-control-height)}.result-viewer-violations>.secondary-button,.result-viewer-warnings>.secondary-button,.result-viewer-circuits>.secondary-button{height:100%;white-space:nowrap}.result-viewer-toggle-active{background:var(--color-toggle-active-bg);border-color:var(--color-error);color:var(--color-error)}.result-viewer-toggle-active:hover:not(:disabled){background:var(--color-toggle-active-hover-bg)}.result-viewer-checkbox-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:220px;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000029;padding:.5rem .6rem}.result-viewer-checkbox-option{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:400;color:var(--color-text);cursor:pointer;padding:.15rem 0;white-space:nowrap}.result-viewer-checkbox-select-all{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.8rem;font-weight:600;cursor:pointer;padding:.15rem 0 .4rem;margin-bottom:.3rem}.result-viewer-checkbox-select-all:hover{color:var(--color-primary)}.result-viewer-checkbox-empty{color:var(--color-muted);font-size:.78rem;margin:.2rem 0}.result-viewer-color-by{display:flex;align-items:center;gap:.35rem;height:var(--toolbar-control-height);background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .5rem;box-shadow:0 2px 8px #0000001f}.result-viewer-color-by label{font-size:.8rem;font-weight:600;color:var(--color-muted);white-space:nowrap}.result-viewer-color-by select{border:none;outline:none;font-size:.85rem;color:var(--color-text);background:transparent}[data-theme=dark] .result-viewer-color-by option{background-color:var(--color-panel);color:var(--color-text)}.result-viewer-tooltip-toggle{display:flex;align-items:center;height:var(--toolbar-control-height);background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .5rem;box-shadow:0 2px 8px #0000001f}.result-viewer-tooltip-toggle label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--color-muted);white-space:nowrap;cursor:pointer}.result-viewer-save-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 8px #0000001f;display:flex;flex-direction:column;min-width:140px;overflow:hidden;z-index:20}.result-viewer-save-menu button{background:none;border:none;text-align:left;padding:.5rem .75rem;cursor:pointer;font-size:.85rem;color:var(--color-text)}.result-viewer-save-menu button:hover{background:var(--color-hover-bg)}.result-viewer-search{display:flex;align-items:center;gap:.4rem;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .6rem;box-shadow:0 2px 8px #0000001f;flex:1 1 260px;max-width:420px;height:var(--toolbar-control-height)}.result-viewer-search-icon{flex-shrink:0;font-size:.85rem;opacity:.6}.result-viewer-search input{flex:1;min-width:0;border:none;outline:none;font-size:.85rem;color:var(--color-text);background:transparent}.result-viewer-asset-scope{display:flex;align-items:center;height:var(--toolbar-control-height);background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .5rem;box-shadow:0 2px 8px #0000001f}.result-viewer-asset-scope select{border:none;outline:none;font-size:.85rem;font-weight:600;color:var(--color-text);background:transparent}[data-theme=dark] .result-viewer-asset-scope option{background-color:var(--color-panel);color:var(--color-text)}.result-viewer-search-status{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-muted);background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .4rem;box-shadow:0 2px 8px #0000001f;height:var(--toolbar-control-height)}.result-viewer-search-status button{line-height:1}.result-viewer-toolbar-buttons{display:flex;align-items:center;gap:.3rem;background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:0 .25rem;box-shadow:0 2px 8px #0000001f;height:var(--toolbar-control-height)}.result-viewer-toolbar-buttons button{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1rem}.result-viewer-empty{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-muted);text-align:center;padding:2rem}.spinner{width:32px;height:32px;border-radius:999px;border:3px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.spinner-inline{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10151c73;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{width:420px;max-height:85vh;overflow-y:auto;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h2{font-size:1.1rem;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.large-upload-notice{display:flex;flex-direction:column;align-items:center;text-align:center}.large-upload-notice-icon{margin-bottom:.75rem}.large-upload-notice-title{font-size:1.1rem;margin:0 0 .75rem}.large-upload-notice-body{font-size:.88rem;line-height:1.5;color:var(--color-muted);margin:0 0 .75rem}.large-upload-notice .modal-actions{width:100%}.about-panel p{font-size:.9rem;line-height:1.5;margin:0 0 1rem}.about-panel p:last-of-type{margin-bottom:0}.about-panel h3{font-size:.95rem;margin:1.25rem 0 .5rem}.about-panel ul{margin:0 0 1rem;padding-left:1.25rem;font-size:.9rem;line-height:1.5}.about-panel li{margin-bottom:.5rem}.about-panel li:last-child{margin-bottom:0}.profile-panel-row{display:flex;flex-direction:column;gap:.25rem;padding:.6rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.profile-panel-label{font-size:.78rem;font-weight:600;color:var(--color-muted)}.profile-panel-value{font-size:.9rem;color:var(--color-text);word-break:break-word}.feedback-question{border:none;padding:0;margin:0 0 1.25rem}.feedback-question legend{font-weight:600;margin-bottom:.5rem;padding:0}.feedback-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.2rem 0;cursor:pointer}.feedback-other-input{width:100%;margin-top:.4rem;margin-bottom:.3rem;padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:6px}.feedback-comments-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem}.feedback-form textarea{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:6px;resize:vertical;font-family:inherit}.feedback-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.feedback-form-success{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.auth-page{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.auth-card{width:360px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;padding:2rem;display:flex;flex-direction:column;gap:.5rem}.auth-card h1{font-size:1.25rem;margin:0 0 .5rem}.auth-tagline{color:var(--color-muted);font-size:.85rem;line-height:1.4;margin:0 0 .5rem}.auth-card label{font-size:.85rem;font-weight:600;margin-top:.5rem}.auth-card input{padding:.5rem;border:1px solid var(--color-border);border-radius:6px}.auth-card button[type=submit]{margin-top:1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;padding:.6rem;cursor:pointer}.auth-card button[type=submit]:disabled{background:var(--color-disabled-bg);cursor:not-allowed}.auth-error{color:var(--color-error);font-size:.85rem;margin:.25rem 0 0}.auth-links{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}
