.sc-hero{padding-bottom:38px}.sc-section{padding-top:34px}.sc-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:22px;align-items:start}.sc-card{background:var(--card,#fff);border:1px solid rgba(31,41,55,.13);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.sc-result-card{position:sticky;top:20px}.sc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.sc-head h2,.sc-result-card h2,.sc-project-card h2{margin:5px 0 0}.sc-link-btn{border:0;background:transparent;color:#8a7448;font:inherit;font-weight:700;cursor:pointer;padding:6px 0}.sc-link-btn:hover{text-decoration:underline}.sc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sc-field{display:flex;flex-direction:column;gap:7px}.sc-field>span{font-weight:750;color:#242424}.sc-field em{font-style:normal;font-weight:500;color:#777;font-size:.88em}.sc-field select,.sc-field input{width:100%;border:1px solid #d7dbe0;border-radius:11px;background:#fff;color:#222;font:inherit;padding:11px 12px;min-height:45px}.sc-field select:focus,.sc-field input:focus{outline:3px solid rgba(181,138,73,.15);border-color:#b58a49}.sc-field small,.sc-check small{display:block;color:#6c7178;line-height:1.35;font-weight:400}.sc-subpanel{margin-top:18px;padding:17px;border:1px solid #e7e1db;border-radius:15px;background:#fcfaf7}.sc-subtitle{font-size:1.08rem;font-weight:800;margin-bottom:14px}.sc-check{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #e3e5e8;border-radius:11px;background:#fff}.sc-check input{margin-top:4px;flex:0 0 auto}.sc-check span{display:block}.sc-check strong{display:block;margin-bottom:2px}.sc-check-wide{margin-bottom:14px}.sc-callout{margin-top:15px;padding:14px 16px;border-left:4px solid #b58a49;background:#fff6ef;border-radius:10px;display:flex;gap:6px;flex-direction:column;line-height:1.45}.sc-callout-hero{max-width:940px;margin-top:20px}.sc-explain{margin-top:14px;border-top:1px solid #e4e1dc;padding-top:12px}.sc-explain summary{cursor:pointer;font-weight:750}.sc-explain p{margin:9px 0 0;color:#555;line-height:1.55}.sc-actions{margin-top:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sc-submit{border:0;cursor:pointer}.sc-submit:disabled{opacity:.58;cursor:wait}.sc-status{font-size:.94rem;color:#6d3131;min-height:1.2em}.sc-result-empty{padding:18px 2px;color:#62666c}.sc-result-empty p{line-height:1.55}.sc-result-top{padding-bottom:15px;border-bottom:1px solid #ebecef}.sc-result-top h2{margin:5px 0 8px;font-size:1.45rem}.sc-result-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.sc-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f3f4f5;font-size:.87rem}.sc-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.sc-kpi{padding:12px;border-radius:12px;background:#f8f8f7;border:1px solid #ececea}.sc-kpi span{display:block;color:#6d7177;font-size:.83rem}.sc-kpi strong{display:block;margin-top:3px;font-size:1.17rem}.sc-result-section{margin-top:17px}.sc-result-section h3{font-size:1rem;margin:0 0 8px}.sc-result-section p{margin:0;color:#53575d;line-height:1.5}.sc-warnings{margin:0;padding-left:20px;color:#494d52}.sc-warnings li{margin:8px 0;line-height:1.45}.sc-diagram{display:flex;align-items:center;justify-content:center;min-height:150px;border:1px dashed #cfd3d8;border-radius:13px;background:linear-gradient(180deg,#fcfcfb,#f5f5f2);margin-top:9px;overflow:hidden}.sc-diagram svg{width:100%;max-width:320px;height:140px}.sc-bom-lock{padding:12px;border-radius:12px;background:#f8f5f2;border:1px solid #e6ded8;color:#555;line-height:1.45}.sc-add-row{display:flex;gap:8px;margin-top:14px}.sc-add-row input{flex:1;border:1px solid #d7dbe0;border-radius:10px;padding:10px 11px}.sc-small-btn{border:1px solid #b58a49;color:#8a7448;background:#fff;border-radius:10px;padding:10px 12px;font:inherit;font-weight:750;cursor:pointer}.sc-project-card{margin-top:22px}.sc-table-wrap{overflow:auto}.sc-table{width:100%;border-collapse:collapse;min-width:760px}.sc-table th,.sc-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #eceef0;vertical-align:top}.sc-table th{font-size:.82rem;color:#6d7177}.sc-table td{font-size:.93rem}.sc-project-summary{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.sc-summary-chip{padding:8px 10px;border-radius:10px;background:#f4f4f2;font-size:.92rem}.sc-delete{border:0;background:transparent;color:#9d382d;cursor:pointer;font-weight:700}.sc-muted{color:#686d72;font-size:.92rem;line-height:1.5}.sc-thermal-box{padding:12px 13px;border-radius:12px;background:#f6f7f4;border:1px solid #e0e4dc}.sc-thermal-box strong{font-size:1.12rem}.is-hidden{display:none!important}@media(max-width:980px){.sc-layout{grid-template-columns:1fr}.sc-result-card{position:static}.sc-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.sc-card{padding:16px;border-radius:14px}.sc-grid{grid-template-columns:1fr}.sc-kpis{grid-template-columns:1fr 1fr}.sc-head{align-items:center}.sc-actions{align-items:stretch}.sc-submit{width:100%}.sc-status{width:100%}.sc-add-row{flex-direction:column}.sc-small-btn{width:100%}}

/* V4 - execution-based supplier-neutral BOM */
.sc-head-compact{align-items:center;margin-bottom:12px}.sc-head-compact h3{margin:0 0 4px}.sc-head-compact p{margin:0}.sc-project-bom{margin-top:24px;padding-top:20px;border-top:1px solid #e8e9eb}.sc-bom-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #dedfe2;border-radius:11px;background:#f5f5f3;margin:4px 0 12px}.sc-bom-tab{border:0;border-radius:8px;background:transparent;padding:8px 11px;font:inherit;font-size:.9rem;font-weight:750;color:#666;cursor:pointer}.sc-bom-tab.is-active{background:#fff;color:#8a7448;box-shadow:0 1px 5px rgba(15,23,42,.08)}.sc-bom-table{min-width:850px}.sc-bom-table td:first-child{min-width:250px}.sc-bom-table td:nth-child(2){white-space:nowrap}.sc-bom-table td:nth-child(4),.sc-bom-table td:nth-child(5),.sc-bom-table td:nth-child(6){white-space:nowrap}.sc-result-section .sc-table-wrap{margin-top:4px;border:1px solid #ececef;border-radius:12px}.sc-result-section .sc-bom-table th{background:#fafaf9}.sc-result-section .sc-bom-table tr:last-child td{border-bottom:0}.sc-project-bom .sc-table-wrap{border:1px solid #ececef;border-radius:12px}.sc-project-bom .sc-bom-table th{position:sticky;top:0;background:#fafaf9;z-index:1}.sc-project-bom .sc-bom-table tr:last-child td{border-bottom:0}.sc-bom-note{font-size:.9rem;color:#676c72;line-height:1.45}.sc-card .sc-field.is-hidden,.sc-card .sc-check.is-hidden{display:none!important}@media(max-width:640px){.sc-head-compact{align-items:flex-start;flex-direction:column}.sc-head-compact .sc-small-btn{width:auto}.sc-bom-switch{display:flex;width:100%}.sc-bom-tab{flex:1}.sc-project-bom{margin-top:18px;padding-top:16px}}

.sc-geometry-check{margin:16px 0;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}
.sc-geometry-check strong{display:block;margin-bottom:6px}.sc-geometry-check p{margin:0}
.sc-geometry-check.is-conflict{border-style:dashed}.sc-geometry-check.is-ok{opacity:.95}

/* V4.5 - compact step override + preliminary load self-check */
.sc-advanced{margin-top:18px;border:1px solid #e5e1dc;border-radius:13px;background:#fbfaf8;padding:0 14px}.sc-advanced summary{cursor:pointer;font-weight:800;padding:13px 0}.sc-advanced-grid{padding:0 0 14px}.sc-kpi-wide{grid-column:1/-1}.sc-load-check{border:1px solid #e1e4e7;border-radius:14px;padding:14px 15px;background:#fafafa}.sc-load-check.is-pass{background:#f3faf5;border-color:#cfe7d4}.sc-load-check.is-engineer{background:#fff4f1;border-color:#efc5ba}.sc-load-check.is-info{background:#f7f8fa}.sc-load-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.sc-load-check p{margin:6px 0}.sc-load-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.sc-load-metrics span{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.76);border:1px solid rgba(31,41,55,.08)}.sc-load-metrics small{display:block;color:#6b7075}.sc-load-metrics strong{display:block;margin-top:2px}.sc-load-list{margin:10px 0 0;padding-left:20px}.sc-load-list li{margin:8px 0;line-height:1.45}.sc-load-list .is-fail{color:#8c2f22}.sc-production-note{margin-top:10px;padding:12px 13px;border-left:4px solid #b58a49;background:#fff8f1;border-radius:10px}.sc-production-note p{margin:5px 0 0}.sc-mini-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.8rem;font-weight:750;white-space:nowrap}.sc-mini-status.is-pass{background:#e8f6ec;color:#26653a}.sc-mini-status.is-engineer{background:#fde8e2;color:#8a2f22}.sc-mini-status.is-info{background:#eef0f2;color:#5e646a}.sc-summary-chip.is-warn{background:#fff0eb;color:#8a2f22}@media(max-width:640px){.sc-load-metrics{grid-template-columns:1fr}.sc-kpi-wide{grid-column:auto}}

/* v4.5: one continuous flow — input first, result directly below. */
.sc-layout{display:block}.sc-result-card{position:static;margin-top:22px}.sc-layout>.sc-card{width:100%}

/* v4.6 — compact working calculator: inputs on the left, result on the right. */
.sc-workspace{padding:26px 0 54px}.sc-wrap{max-width:1060px}.sc-page-title{margin:0 0 16px}.sc-page-title h1{margin:4px 0 5px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.08}.sc-page-title p{margin:0;color:#62666c;max-width:760px}.sc-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:16px;align-items:start}.sc-layout>.sc-card{width:auto}.sc-card{padding:17px;border-radius:15px}.sc-result-card{position:sticky;top:16px;margin-top:0;min-height:420px}.sc-head{margin-bottom:13px}.sc-head h2,.sc-result-card h2,.sc-project-card h2{font-size:1.12rem;margin-top:3px}.sc-form-stack{display:flex;flex-direction:column;gap:10px}.sc-field{gap:4px}.sc-field>span{font-size:.88rem}.sc-field select,.sc-field input{min-height:40px;padding:8px 10px;border-radius:9px;font-size:.94rem}.sc-field small,.sc-check small{font-size:.78rem}.sc-subpanel{margin-top:11px;padding:11px 12px;border-radius:11px;background:#fbfaf8}.sc-subpanel .sc-form-stack{gap:9px}.sc-check{padding:9px 10px;border-radius:9px}.sc-actions{margin-top:13px}.sc-submit{width:100%;min-height:42px}.sc-result-empty{padding:20px 2px}.sc-result-top{padding-bottom:10px}.sc-result-top h2{font-size:1.2rem}.sc-result-meta{gap:5px;margin-top:7px}.sc-pill{font-size:.78rem;padding:4px 7px}.sc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0}.sc-kpi{padding:9px 10px;border-radius:9px}.sc-kpi span{font-size:.75rem}.sc-kpi strong{font-size:1rem}.sc-result-section{margin-top:12px}.sc-result-section h3{margin-bottom:6px}.sc-load-check{padding:11px 12px;border-radius:10px}.sc-load-metrics{gap:6px;margin:9px 0}.sc-load-metrics span{padding:7px 8px}.sc-production-note{padding:9px 10px}.sc-geometry-check{margin:11px 0;padding:10px 12px}.sc-bom-switch{margin-top:1px}.sc-result-section .sc-table-wrap{max-height:310px;overflow:auto}.sc-result-section .sc-bom-table{min-width:720px}.sc-add-row{margin-top:11px}.sc-step-adjust{margin:9px 0 0;padding:9px 10px;border:1px solid #e2e4e7;border-radius:9px;background:#fafafa}.sc-step-adjust-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.sc-step-adjust button{padding:7px 9px}.sc-step-adjust input{width:105px;border:1px solid #d7dbe0;border-radius:8px;padding:7px 9px}.sc-step-adjust small{display:block;color:#6a6f74;margin-top:5px}.sc-source-line{margin:7px 0 0;color:#5f646a;font-size:.86rem}.sc-source-line strong{color:#31353a}.sc-project-card{margin-top:16px}.sc-project-card .sc-head{margin-bottom:10px}
@media(max-width:860px){.sc-layout{grid-template-columns:1fr}.sc-result-card{position:static;min-height:0}.sc-input-card{max-width:none}.sc-page-title{margin-bottom:12px}}

/* v4.7.6 — readable result BOM without a nested scrolling table. */
.sc-result-state{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:7px 11px;border-radius:999px;font-size:.86rem;font-weight:800}.sc-result-state.is-ready{color:#24613a;background:#eaf7ee;border:1px solid #c8e7d1}.sc-result-state.is-review{color:#8a3025;background:#fff0ec;border:1px solid #efc9bf}.sc-result-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(42,132,72,.12)}.sc-result-state.is-ready .sc-result-dot{animation:sc-ready-pulse 2.2s ease-in-out infinite}.sc-result-state.is-review .sc-result-dot{box-shadow:0 0 0 4px rgba(173,62,43,.11)}@keyframes sc-ready-pulse{0%,100%{box-shadow:0 0 0 4px rgba(42,132,72,.11)}50%{box-shadow:0 0 0 7px rgba(42,132,72,.04)}}

/* v4.8 — exact rectangular duct dimensions; source execution ranges stay private. */
.sc-dimension-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sc-dimension-row input{width:100%;min-width:0}
.sc-bom-list{display:flex;flex-direction:column;gap:9px;margin-top:4px}.sc-bom-item{padding:12px 13px;border:1px solid #e3e6e8;border-radius:12px;background:#fff}.sc-bom-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sc-bom-item-head strong{line-height:1.35}.sc-bom-item-head>span{flex:0 0 auto;padding:4px 8px;border-radius:8px;background:#edf6ef;color:#285f3a;font-size:.84rem;font-weight:800;white-space:nowrap}.sc-bom-characteristic{margin-top:6px;color:#555b61;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.sc-bom-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.sc-bom-facts>span{min-width:105px;padding:7px 9px;border-radius:9px;background:#f6f6f4}.sc-bom-facts small{display:block;color:#73777c;font-size:.72rem}.sc-bom-facts strong{display:block;margin-top:2px;font-size:.87rem}.sc-bom-item-note{margin:8px 0 0!important;color:#666!important;font-size:.84rem}.sc-result-section>.sc-bom-list{max-height:none;overflow:visible}
@media(max-width:640px){.sc-bom-item{padding:11px}.sc-bom-item-head{flex-direction:column;gap:7px}.sc-bom-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sc-bom-facts>span{min-width:0}.sc-result-state{font-size:.82rem}}
@media(max-width:640px){.sc-workspace{padding-top:18px}.sc-card{padding:14px}.sc-kpis{grid-template-columns:1fr 1fr}.sc-step-adjust-row{align-items:stretch}.sc-step-adjust input{width:100%}}

/* v4.8.4: explicit red step-limit violation state. */
.sc-spacing-violation{display:flex;align-items:flex-start;gap:10px;margin:10px 0 0;padding:11px 12px;border:1px solid #d72c20;border-radius:10px;background:#fff0ee;color:#8f2119;line-height:1.4}.sc-spacing-violation strong{flex:0 0 auto;display:inline-flex;padding:5px 8px;border-radius:7px;background:#b42318;color:#fff;font-size:.78rem;letter-spacing:.02em}.sc-spacing-violation span{font-size:.88rem}.sc-mini-status.is-violation{background:#fee4e2;color:#9b1c1c;border:1px solid #f2b8b5}
@media(max-width:640px){.sc-spacing-violation{flex-direction:column;gap:7px}}
.sc-spacing-violation.is-check{border-color:#d19a31;background:#fff8e8;color:#75520d}.sc-spacing-violation.is-check strong{background:#b7791f}.sc-mini-status.is-check{background:#fff4d6;color:#7a5410;border:1px solid #edd08d}
.sc-result-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sc-execution-badge{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:6px 9px;border:1px solid #d9dde1;border-radius:9px;background:#f7f8f8;white-space:nowrap}.sc-execution-badge small{font-size:.68rem;color:#73777c;line-height:1}.sc-execution-badge strong{font-size:.88rem;line-height:1.1;letter-spacing:.02em}.sc-step-adjust{padding-bottom:9px}.sc-step-adjust>small{display:none!important}@media(max-width:640px){.sc-result-topline{align-items:center}.sc-execution-badge{padding:5px 7px}.sc-execution-badge strong{font-size:.82rem}}
.sc-route-element{display:grid;grid-template-columns:2rem minmax(0,1.35fr) minmax(8rem,.9fr) 2.25rem;gap:.5rem;align-items:center;margin:.5rem 0}.sc-route-element>span{font-weight:800;color:var(--muted,#667085);text-align:center}.sc-route-element select,.sc-route-element input{width:100%;min-width:0}.sc-route-element button{width:2.25rem;height:2.25rem;border:1px solid #d7dde7;border-radius:.6rem;background:#fff;font-size:1.25rem;cursor:pointer}@media(max-width:640px){.sc-route-element{grid-template-columns:2rem 1fr 2.25rem}.sc-route-element input{grid-column:2/3}}
.sc-expert-branch{margin:.75rem 0;padding:.85rem;border:1px solid #dce3ed;border-radius:.85rem;background:#fff}.sc-expert-branch .sc-head button{border:0;background:transparent;color:#a23b3b;cursor:pointer}.sc-expert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.sc-expert-grid label{display:grid;gap:.3rem;font-size:.78rem;font-weight:750;color:#526071}.sc-expert-grid input,.sc-expert-grid select{width:100%;min-width:0}@media(max-width:640px){.sc-expert-grid{grid-template-columns:1fr}}
