:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bb-bg:#07111d;--bb-bg-soft:#0b1826;--bb-panel:#101b28;--bb-panel-strong:#132232;--bb-panel-muted:#0c1622;--bb-border:#bed2eb2b;--bb-border-strong:#bed2eb47;--bb-text:#e5edf7;--bb-muted:#9daabd;--bb-faint:#64748b;--bb-accent:#22d3ee;--bb-accent-strong:#0ea5e9;--bb-copper:#f97316;--bb-warn:#f59e0b;--bb-danger:#ef4444;--bb-pass:#22c55e;--bb-info:#38bdf8;--bb-shadow:0 18px 42px #00000061;--bb-radius:8px;--bb-radius-sm:5px;--bb-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bb-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=light],[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bb-bg:#eff4f8;--bb-bg-soft:#e3ebf2;--bb-panel:#fff;--bb-panel-strong:#f7fafc;--bb-panel-muted:#eef5fa;--bb-border:#283c5529;--bb-border-strong:#283c5542;--bb-text:#142131;--bb-muted:#536276;--bb-faint:#7b8796;--bb-accent:#0891b2;--bb-accent-strong:#0e7490;--bb-warn:#b45309;--bb-danger:#b91c1c;--bb-pass:#15803d;--bb-info:#0369a1;--bb-shadow:0 16px 32px #182b421f}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(180deg, #22d3ee0f, transparent 34rem), var(--bb-bg);color:var(--bb-text);font-family:var(--bb-font);letter-spacing:0;margin:0;font-size:14px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-strong);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--bb-accent);outline-offset:1px}.app-shell{flex-direction:column;gap:8px;min-height:100vh;padding:8px;display:flex}.header-bar{border:1px solid var(--bb-border);border-radius:var(--bb-radius);min-height:64px;box-shadow:var(--bb-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1826ed;grid-template-columns:minmax(260px,320px) minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}:root[data-theme=light] .header-bar{background:#ffffffeb}.brand{border-right:1px solid var(--bb-border);align-items:center;gap:14px;padding:12px 16px;display:flex}.brand__mark{width:38px;height:38px;color:var(--bb-accent);background:#22d3ee14;border:1px solid #22d3ee4d;border-radius:7px;place-items:center;display:grid}.brand h1{margin:0;font-size:22px;line-height:1.05}.brand span:not(.brand__mark){color:var(--bb-muted);margin-top:4px;font-size:12px;display:block}.project-strip{grid-template-columns:repeat(4,minmax(120px,1fr));align-self:stretch;margin:0;display:grid}.project-strip div{border-right:1px solid var(--bb-border);min-width:0;padding:12px 16px}.project-strip dt{color:var(--bb-muted);font-size:12px}.project-strip dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-weight:650;overflow:hidden}.header-actions{align-items:center;gap:8px;padding:10px 12px;display:flex}.export-toolbar{align-items:center;gap:8px;display:flex}.export-toolbar button,.icon-button{white-space:nowrap;background:linear-gradient(180deg, #ffffff0d, #ffffff03), var(--bb-panel-strong);justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 12px;display:inline-flex}.export-toolbar button:hover,.icon-button:hover,.select-row:hover{color:var(--bb-accent);border-color:#22d3ee8c}.icon-button{width:38px;padding:0}.dashboard-grid{flex:1;grid-template-columns:minmax(300px,330px) minmax(0,1fr) minmax(300px,360px);grid-template-areas:"inputs workspace summary""bottom bottom bottom";gap:8px;min-height:0;display:grid}.input-rail{flex-direction:column;grid-area:inputs;gap:8px;min-width:0;display:flex}.workspace{flex-direction:column;grid-area:workspace;gap:8px;min-width:0;display:flex}.summary-rail{flex-direction:column;grid-area:summary;gap:8px;min-width:0;display:flex}.bottom-band{grid-area:bottom;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:8px;min-width:0;display:grid}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:8px;display:grid}.panel{border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:linear-gradient(180deg, #ffffff09, transparent 110px), var(--bb-panel);min-width:0;overflow:hidden;box-shadow:0 10px 28px #00000038}.panel__header{border-bottom:1px solid var(--bb-border);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:10px 12px;display:flex}.panel h2{color:var(--bb-accent);text-transform:uppercase;margin:0;font-size:13px;line-height:1.2}.panel-actions{min-width:0;color:var(--bb-muted);justify-content:flex-end;align-items:center;gap:7px;font-size:12px;display:flex}.segmented{border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-panel);grid-template-columns:repeat(2,1fr);gap:6px;padding:8px;display:grid}.segmented button{height:36px;color:var(--bb-muted);background:var(--bb-panel-muted);border-color:#0000}.segmented button.is-active{color:var(--bb-accent);background:#22d3ee14;border-color:#22d3eea6}.field-grid{gap:7px;padding:10px 12px 12px;display:grid}.field{grid-template-columns:minmax(108px,.9fr) minmax(130px,1.1fr);align-items:center;gap:4px 8px;min-width:0;display:grid}.field__error{color:var(--bb-danger);grid-column:2/-1;font-size:11px;line-height:1.2}.field__required{color:var(--bb-warn);cursor:help;margin-left:3px;text-decoration:none}.field__control.has-error{border-color:#ef4444b3;box-shadow:inset 0 0 0 1px #ef444440}.field__label{min-width:0;color:var(--bb-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.field__control{border:1px solid var(--bb-border-strong);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);align-items:center;min-width:0;min-height:29px;display:flex;overflow:hidden}.field__control input,.field__control select{width:100%;min-width:0;height:29px;color:var(--bb-text);background:0 0;border:0;border-radius:0;padding:0 8px}.field__control select{color:var(--bb-text)}.field__control option{color:canvastext;background:canvas}.field__control.with-unit span{min-width:42px;color:var(--bb-muted);border-left:1px solid var(--bb-border);text-align:right;flex:none;padding:0 8px;font-size:12px}.visual-panel{flex-direction:column;min-height:0;display:flex}.cross-section{width:100%;height:clamp(260px,40vh,420px);color:var(--bb-muted);padding:8px 10px 0;display:block}.envelope-box{fill:#22d3ee09;stroke:#d2e2f2c7;stroke-width:1.6px;stroke-dasharray:8 7}.envelope-box--pass{stroke:var(--bb-pass);fill:#22c55e0d}.envelope-box--warn{stroke:var(--bb-warn);fill:#f59e0b0d}.envelope-box--fail{stroke:var(--bb-danger);fill:#ef44440d}.envelope-box--incomplete{stroke:var(--bb-info);fill:#38bdf80a}.wall-line{stroke:#e5edf773;stroke-width:1px;stroke-dasharray:4 4;color:#e5edf773}[data-theme=light] .envelope-box{fill:#0f233c06;stroke:#142131a6}[data-theme=light] .envelope-box--pass{fill:#15803d0f}[data-theme=light] .envelope-box--warn{fill:#b453090f}[data-theme=light] .envelope-box--fail{fill:#b91c1c0f}[data-theme=light] .busbar-rect{stroke:#14213166}[data-theme=light] .busbar-highlight{stroke:#1421312e}[data-theme=light] .centerline{stroke:#14213166}[data-theme=light] .center-point{stroke:#14213199}[data-theme=light] .dimension-line,[data-theme=light] .gap-line{stroke:#142131b3;color:#142131b3}[data-theme=light] .wall-line{stroke:#14213173;color:#14213173}[data-theme=light] .chart-grid{stroke:#1421311f}[data-theme=light] .chart-axis{stroke:#1421318c}[data-theme=light] .chart-line{stroke:#0e7490}[data-theme=light] .chart-dot{fill:#0e7490}[data-theme=light] .chart-ambient{stroke:#1421318c}[data-theme=light] .chart-limit{stroke:#b91c1c}[data-theme=light] .phase-label,[data-theme=light] .phase-label-small{fill:#fff;paint-order:stroke;stroke:#142131d9;stroke-width:.6px}[data-theme=light] .support-line,[data-theme=light] .support{stroke:#142131bf}.dimension-label--muted{fill:var(--bb-muted);font-size:12px}.busbar-rect{opacity:.9;stroke:#ffffff57;stroke-width:1.2px}.busbar-highlight{stroke:#ffffff5c;stroke-width:.8px}.centerline{stroke:#ffffff57;stroke-width:1px;stroke-dasharray:9 8}.center-point{fill:#0000;stroke:#e5edf7a6;stroke-width:1.5px}.phase-label,.phase-label-small{fill:var(--bb-text);font-size:18px;font-weight:750}.phase-label-small{font-size:13px}.dimension-line,.gap-line{stroke:#e5edf7b8;stroke-width:1.2px;color:#e5edf7b8}.gap-line{stroke:var(--bb-muted)}.dimension-label,.chart-label,.svg-muted{fill:var(--bb-text);paint-order:stroke;stroke:var(--bb-panel);stroke-width:3px;font-size:13px}.legend-row,.metric-strip,.chart-readout{color:var(--bb-muted);flex-wrap:wrap;align-items:center;gap:16px;padding:0 18px 14px;display:flex}.legend-row span{align-items:center;gap:7px;display:inline-flex}.legend-row i{border:1px solid #fff6;width:14px;height:14px}.legend-row strong{color:var(--bb-text);margin-left:auto;font-weight:650}.chart-panel,.force-panel{min-height:328px}.chart-svg{width:100%;height:270px;padding:0 8px;display:block}.force-svg{width:100%;height:300px;padding:0 8px;display:block}.chart-grid{stroke:#b4c8dc21;stroke-width:1px}.chart-axis{stroke:#b4c8dc6b;stroke-width:1.1px}.chart-line{fill:none;stroke:#38bdf8;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#38bdf8;stroke:var(--bb-panel);stroke-width:2px}.chart-ambient{stroke:#e5edf7a8;stroke-width:1.2px;stroke-dasharray:7 7}.chart-limit{stroke:#ef4444c2;stroke-width:1.2px;stroke-dasharray:5 5}.chart-label{fill:var(--bb-muted);font-size:12px}.chart-tick{fill:var(--bb-muted);paint-order:stroke;stroke:var(--bb-panel);stroke-width:3px;font-size:10px}.chart-hover-line{stroke:#22d3eea6;stroke-width:1px;stroke-dasharray:3 4}.chart-readout--hint{text-align:center;color:var(--bb-muted);background:0 0;border:0;padding:0 12px 12px;font-size:11px;display:block}.chart-readout--hint span{background:0 0;border:0;padding:0}.chart-label--ambient{fill:var(--bb-muted)}.chart-label--limit{fill:var(--bb-danger)}.chart-readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px 12px;display:grid}.chart-readout span,.chart-readout strong,.metric-strip span{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 10px;overflow:hidden}.chart-readout strong{color:var(--bb-accent)}.formula{fill:var(--bb-text);font-family:var(--bb-mono);font-size:15px}.force-bar{stroke:#ffffff6b;stroke-width:1px}.force-arrow{stroke:var(--bb-warn);stroke-width:2.5px;color:var(--bb-warn);fill:none}.side-bar{fill:#22d3ee2e;stroke:#22d3eea6;stroke-width:1px}.load-arrow{stroke:var(--bb-warn);stroke-width:1.5px;color:var(--bb-warn)}.insulator-metal{fill:#bec8d78c;stroke:#bec8d7d9;stroke-width:.8px}.insulator-body{fill:#8c643c73;stroke:#bea082d9;stroke-width:.8px}.insulator-rib{fill:#8c643cb3;stroke:#bea082f2;stroke-width:.6px}.ground-rail{stroke:var(--bb-text);stroke-width:1.5px}.ground-stroke{stroke:var(--bb-muted);stroke-width:.8px}.extension-line{stroke:var(--bb-muted);stroke-width:.7px;stroke-dasharray:3 3}.svg-small{font-size:10px}.svg-strong{fill:var(--bb-text);font-weight:700}[data-theme=light] .force-bar{stroke:#14213173}[data-theme=light] .force-arrow{stroke:#b45309;color:#b45309}[data-theme=light] .side-bar{fill:#0e749026;stroke:#0e7490bf}[data-theme=light] .load-arrow{stroke:#b45309;color:#b45309}[data-theme=light] .insulator-metal{fill:#c8d2e1d9;stroke:#3c506ebf}[data-theme=light] .insulator-body{fill:#aa825a66;stroke:#785028d9}[data-theme=light] .insulator-rib{fill:#aa825abf;stroke:#785028f2}[data-theme=light] .ground-rail{stroke:#142131d9}[data-theme=light] .ground-stroke{stroke:#14213199}[data-theme=light] .extension-line{stroke:#1421318c}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px;display:grid}.metric-strip strong{float:right;color:var(--bb-accent)}.summary-list{padding:8px 12px 12px}.summary-row{border-bottom:1px solid var(--bb-border);justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:flex}.summary-row:last-child{border-bottom:0}.summary-row span{min-width:0;color:var(--bb-muted);align-items:center;gap:7px;display:inline-flex}.summary-row strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:650}.status-stack{gap:10px;padding:10px 12px 12px;display:grid}.status-stack>div{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.status-badge{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:24px;padding:2px 8px;font-size:12px;font-weight:750;display:inline-flex}.status-badge--pass{color:var(--bb-pass);background:#22c55e17;border-color:#22c55e59}.status-badge--warn{color:var(--bb-warn);background:#f59e0b1a;border-color:#f59e0b59}.status-badge--fail{color:var(--bb-danger);background:#ef444417;border-color:#ef44445c}.status-badge--incomplete,.status-badge--not-evaluated{color:var(--bb-info);background:#38bdf814;border-color:#38bdf84d}.warnings-list{gap:8px;padding:10px 12px 12px;display:grid}.warning{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);grid-template-columns:18px minmax(0,1fr);gap:8px;padding:8px;display:grid}.warning strong{margin-bottom:2px;font-size:12px;display:block}.warning p{color:var(--bb-muted);margin:0;font-size:12px}.warning--warning{color:var(--bb-warn)}.warning--error{color:var(--bb-danger)}.warning--info{color:var(--bb-info)}.table-panel{min-width:0}.candidate-filters{border-bottom:1px solid var(--bb-border);background:var(--bb-panel-muted);flex-wrap:wrap;align-items:end;gap:8px;padding:10px 12px;display:flex}.candidate-filter{flex-direction:column;gap:2px;min-width:0;display:flex}.candidate-filter span{color:var(--bb-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.candidate-filter select{border:1px solid var(--bb-border-strong);border-radius:var(--bb-radius-sm);background:var(--bb-panel);min-width:110px;height:30px;color:var(--bb-text);padding:0 8px}.candidate-filter__reset{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);height:30px;color:var(--bb-muted);background:0 0;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:12px;display:inline-flex}.candidate-filter__reset:not(:disabled):hover{color:var(--bb-accent);border-color:#22d3ee80}.candidate-empty{text-align:center;color:var(--bb-muted);padding:20px 16px;font-size:13px}.candidate-more{border-top:1px solid var(--bb-border);background:var(--bb-panel-muted);color:var(--bb-muted);text-align:center;margin:0;padding:8px 12px;font-size:11px}.table-scroll{background:linear-gradient(to right, var(--bb-panel) 30%, transparent), linear-gradient(to right, transparent, var(--bb-panel) 70%) 100% 0, radial-gradient(farthest-side at 0 50%, #00000047, transparent), radial-gradient(farthest-side at 100% 50%, #00000047, transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:0}th,td{border-bottom:1px solid var(--bb-border);text-align:left;white-space:nowrap;padding:9px 10px}th{color:var(--bb-muted);background:var(--bb-panel-muted);font-size:12px;font-weight:650}td{font-size:13px}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}@media (width<=1180px){.col-priority-low{display:none}}@media (width<=720px){.col-priority-med{display:none}th,td{padding:7px 6px;font-size:12px}}tr.is-selected td{background:#22d3ee14}.select-row{width:30px;height:28px;color:var(--bb-accent);justify-content:center;align-items:center;display:inline-flex}.trace-list{max-height:clamp(280px,38vh,560px);font-family:var(--bb-mono);margin:0;padding:8px 12px 12px 34px;list-style:decimal;overflow:auto}.trace-list li{border-bottom:1px solid var(--bb-border);padding:7px 0}.trace-list span,.trace-list strong,.trace-list em{display:block}.trace-list span{color:var(--bb-text)}.trace-list strong{color:var(--bb-accent);margin-top:2px;font-weight:650}.trace-list em{color:var(--bb-muted);margin-top:2px;font-size:11px;font-style:normal}.app-footer{border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-panel);min-height:38px;color:var(--bb-muted);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:12px;display:flex}.input-tabs{flex-direction:column;gap:8px;min-width:0;display:flex}.input-tabs__strip{border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-panel);grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:6px;display:grid}.input-tabs__tab{border-radius:var(--bb-radius-sm);min-height:44px;color:var(--bb-muted);text-align:center;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:11px;line-height:1.1;display:flex}.input-tabs__tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.input-tabs__tab:hover{color:var(--bb-accent);border-color:#22d3ee59}.input-tabs__tab.is-active{color:var(--bb-accent);background:#22d3ee14;border-color:#22d3ee99}.input-tabs__body{min-width:0}.field-grid__full{grid-column:1/-1}.radio-cards{border:0;gap:4px;margin:0;padding:0;display:grid}.radio-cards__legend{color:var(--bb-muted);padding:0;font-size:11px}.radio-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.radio-card{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);color:var(--bb-muted);cursor:pointer;text-align:left;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:6px 8px;display:grid}.radio-card:hover{color:var(--bb-accent);border-color:#22d3ee73}.radio-card.is-active{color:var(--bb-accent);background:#22d3ee1a;border-color:#22d3eeb3}.radio-card__preview{justify-content:center;align-items:center;width:36px;height:28px;display:inline-flex}.radio-card__text{flex-direction:column;min-width:0;display:flex}.radio-card__label{color:var(--bb-text);font-size:12px;font-weight:650;line-height:1.1}.radio-card.is-active .radio-card__label{color:var(--bb-accent)}.radio-card__hint{color:var(--bb-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;line-height:1.15;overflow:hidden}.kpi-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.kpi-card{border:1px solid var(--bb-border);border-left:3px solid var(--bb-border-strong);border-radius:var(--bb-radius);background:linear-gradient(180deg, #ffffff08, transparent 80px), var(--bb-panel);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex;box-shadow:0 8px 22px #0000002e}.kpi-card__header{color:var(--bb-muted);text-transform:uppercase;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.kpi-card__value{align-items:baseline;gap:6px;min-width:0;display:flex}.kpi-card__value strong{min-width:0;color:var(--bb-text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.kpi-card__unit{color:var(--bb-muted);flex:none;font-size:12px}.kpi-card__hint{color:var(--bb-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.kpi-card--pass{border-left-color:var(--bb-pass)}.kpi-card--pass .kpi-card__value strong{color:var(--bb-pass)}.kpi-card--warn{border-left-color:var(--bb-warn)}.kpi-card--warn .kpi-card__value strong{color:var(--bb-warn)}.kpi-card--fail{border-left-color:var(--bb-danger)}.kpi-card--fail .kpi-card__value strong{color:var(--bb-danger)}.kpi-card--incomplete,.kpi-card--not-evaluated{border-left-color:var(--bb-info)}.kpi-card--incomplete .kpi-card__value strong,.kpi-card--not-evaluated .kpi-card__value strong{color:var(--bb-info)}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a149e;place-items:center;padding:16px;animation:.14s ease-out modal-fade;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-panel);width:100%;max-height:calc(100vh - 32px);box-shadow:var(--bb-shadow);flex-direction:column;display:flex}.modal__header{border-bottom:1px solid var(--bb-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.modal__header h2{color:var(--bb-accent);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:14px}.modal__header button{width:28px;height:28px;color:var(--bb-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal__header button:hover{color:var(--bb-text);border-color:var(--bb-border)}.modal__body{gap:14px;padding:16px;display:grid;overflow:auto}.modal__footer{border-top:1px solid var(--bb-border);justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.modal__footer button.primary{color:var(--bb-text);background:linear-gradient(#22d3ee38,#22d3ee1a);border-color:#22d3ee99;align-items:center;gap:8px;min-height:36px;padding:0 14px;display:inline-flex}.modal__footer button.primary:hover:not(:disabled){background:linear-gradient(#22d3ee52,#22d3ee29)}.review-meta{gap:6px;margin:0;display:grid}.review-meta div{grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;display:grid}.review-meta dt{color:var(--bb-muted);font-size:12px}.review-meta dd{overflow-wrap:anywhere;min-width:0;margin:0}.review-checks{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);gap:4px;margin:0;padding:0;list-style:none;display:grid}.review-check{border-bottom:1px solid var(--bb-border);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.review-check:last-child{border-bottom:0}.review-check strong{color:var(--bb-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;font-weight:500;overflow:hidden}.review-check--ok>svg{color:var(--bb-pass)}.review-check--miss>svg{color:var(--bb-warn)}.review-options{border:1px solid var(--bb-border);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);gap:8px;margin:0;padding:10px 12px;display:grid}.review-options legend{color:var(--bb-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:11px}.review-option{cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;display:grid}.review-option input{accent-color:var(--bb-accent);margin:2px 0 0}.review-option strong{color:var(--bb-text);font-size:13px;font-weight:600;display:block}.review-option em{color:var(--bb-muted);margin-top:2px;font-size:11px;font-style:normal;display:block}.review-warning{border-radius:var(--bb-radius-sm);color:var(--bb-danger);background:#ef444414;border:1px solid #ef444466;margin:0;padding:10px 12px;font-size:12px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@media (width<=640px){.modal-backdrop{padding:0}.modal{border-left:0;border-right:0;border-radius:0;height:100vh;max-height:100vh;max-width:100%!important}.review-meta div{grid-template-columns:minmax(0,1fr);gap:2px}.review-check strong{max-width:140px}}.toaster{z-index:100;pointer-events:none;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;border:1px solid var(--bb-border);border-radius:var(--bb-radius);background:var(--bb-panel-strong);color:var(--bb-text);box-shadow:var(--bb-shadow);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;animation:.16s ease-out toast-in;display:grid}.toast span{overflow-wrap:anywhere;min-width:0}.toast button{width:24px;height:24px;color:var(--bb-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast button:hover{color:var(--bb-text)}.toast--success{border-left:3px solid var(--bb-pass)}.toast--success>svg{color:var(--bb-pass)}.toast--error{border-left:3px solid var(--bb-danger)}.toast--error>svg{color:var(--bb-danger)}.toast--info{border-left:3px solid var(--bb-info)}.toast--info>svg{color:var(--bb-info)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dataset-chip{color:var(--bb-warn);text-transform:uppercase;letter-spacing:.04em;cursor:help;background:#f59e0b1a;border:1px solid #f59e0b73;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:650;display:inline-flex}.field-note{border:1px solid var(--bb-border);border-left:3px solid var(--bb-accent);border-radius:var(--bb-radius-sm);background:var(--bb-panel-muted);color:var(--bb-muted);margin:0;padding:6px 8px;font-size:11px;line-height:1.35}.warnings-empty{color:var(--bb-muted);margin:0;padding:4px 0;font-size:12px}.warnings-more{text-align:center;color:var(--bb-muted);margin:0;padding:4px 0;font-size:11px;font-style:italic}td.row-marker,th.row-marker{width:18px;color:var(--bb-accent);text-align:center;padding-left:8px;padding-right:0;font-weight:700}tr.is-selected td.row-marker{border-left:3px solid var(--bb-accent);padding-left:5px}.project-strip dd.is-empty{color:var(--bb-faint);font-style:italic;font-weight:500}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1280px){.header-bar{grid-template-columns:1fr}.brand,.project-strip div{border-right:0}.project-strip{border-top:1px solid var(--bb-border);border-bottom:1px solid var(--bb-border)}.header-actions{flex-wrap:wrap;justify-content:flex-end}.dashboard-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"workspace""summary""inputs""bottom"}.summary-rail{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=860px){.app-shell{padding:6px}.header-bar{min-height:0}.brand{padding:8px 12px}.brand__mark{width:32px;height:32px}.brand h1{font-size:16px}.brand span:not(.brand__mark){display:none}.project-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.project-strip div{padding:8px 12px}.header-actions{padding:8px 10px}.dataset-chip{display:none}.export-toolbar{flex-wrap:wrap}.export-toolbar button{min-height:34px;padding:0 10px}.lower-grid,.bottom-band,.summary-rail{grid-template-columns:minmax(0,1fr)}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{padding:8px 10px}.kpi-card__value strong{font-size:15px}.kpi-card__header,.kpi-card__hint{font-size:10px}.input-tabs__strip{grid-template-columns:repeat(3,minmax(0,1fr))}.input-tabs__tab span{display:none}.input-tabs__tab{min-height:40px}.field{grid-template-columns:minmax(0,1fr);gap:4px}.field__error{grid-column:1/-1}.panel__header{min-height:36px;padding:8px 10px}.panel h2{font-size:12px}.field-grid,.summary-list,.status-stack,.warnings-list{padding:8px 10px 10px}.app-footer{font-size:11px}.visual-panel{min-height:320px}.chart-panel,.force-panel{min-height:0}.chart-svg{height:220px}.force-svg{height:240px}.cross-section{height:clamp(220px,36vh,340px)}.chart-readout,.metric-strip{grid-template-columns:minmax(0,1fr)}.app-footer{flex-direction:column;align-items:flex-start;padding:10px 12px}}
