:root{--app-header-height: 58px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202124;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;max-width:100%;min-width:0;overflow-x:clip}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{height:100vh;padding:var(--app-header-height) 0 0;display:grid;align-content:start;gap:0;width:100%;min-width:0;overflow:hidden}.app-header{position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:14px;align-items:center;width:100%;min-height:var(--app-header-height);border:0;border-bottom:1px solid rgba(148,163,184,.3);border-radius:0;background:linear-gradient(135deg,#172536fa,#1e3045f5),#172536;padding:8px max(18px,calc((100vw - 1840px)/2 + 18px));box-shadow:0 12px 28px #0f172a2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-title{display:grid;align-content:center;min-width:0}.app-header .eyebrow{display:none}.app-header h1{color:#f8fafc;font-size:18px;line-height:1.1}.mobile-staircase-nav{display:none;align-items:center;gap:8px}.mobile-staircase-nav button{width:36px;height:36px;border:1px solid rgba(203,213,225,.4);border-radius:8px;background:#ffffff1a;color:#f8fafc;font-size:20px;font-weight:700;line-height:1}.staircase-switcher{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.staircase-card{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid rgba(203,213,225,.34);border-radius:999px;background:#ffffff14;color:#dbe7f3;padding:7px 14px;text-align:center;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}.staircase-card span{font-size:14px;font-weight:600}.staircase-card.active{border-color:#ffffffeb;background:#fff;color:#172536;box-shadow:inset 0 0 0 1px #fff3,0 10px 22px #0f172a38}.staircase-card.active{transform:translateY(-1px)}.workspace{display:grid;gap:0;grid-template-columns:minmax(380px,440px) minmax(0,1fr);align-items:stretch;width:100%;min-width:0;max-width:100%;height:calc(100vh - var(--app-header-height));margin:0;overflow-x:hidden}.panel,.visual-panel,.details-panel,.metric{min-width:0;border:1px solid #d8dee4;background:#fff;border-radius:8px}.controls-panel{padding:16px;min-width:0;max-height:calc(100vh - var(--app-header-height));overflow:auto;position:sticky;top:var(--app-header-height);border:0;border-right:1px solid #cbd5df;border-radius:0;background:#edf2f7;box-shadow:inset -1px 0 #94a3b83d}.controls-layout{display:grid;gap:18px;margin-top:0;align-items:start}.controls-form{display:grid;gap:16px;min-width:0}.steps-editor{min-width:0;order:-1}.visual-header,.details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:uppercase;color:#5d6673}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:24px;font-weight:650;line-height:1.14}h2{margin-bottom:4px;font-size:18px;font-weight:650}p{color:#59636f}.icon-button{width:38px;height:38px;border:1px solid #c8d0d8;border-radius:8px;background:#f8fafc;color:#344054;font-size:20px}.staircase-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.staircase-tab{border:1px solid #d7dee7;border-radius:12px;background:#f8fafc;color:#334155;padding:10px 14px;font-size:14px;font-weight:600;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.staircase-tab.active{border-color:#7fa7cd;background:#eef5ff;color:#16324f;box-shadow:inset 0 0 0 1px #1f4b7214}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:22px}.controls-section,.steps-editor{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:16px;box-shadow:0 8px 18px #1f29370a}.steps-editor{background:#fff}.controls-section-header,.steps-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.controls-section-header p,.steps-editor-header p{margin-bottom:0;max-width:52ch;font-size:14px}.controls-section .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.controls-section .field-grid.primary-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.field{display:grid;gap:6px;color:#4d5761;font-size:13px;font-weight:500}.field input,td input{width:100%;min-width:0;border:1px solid #cbd5df;border-radius:6px;background:#fff;color:#202124;padding:9px 10px;outline:none}.field input:focus,td input:focus{border-color:#2d6cdf;box-shadow:0 0 0 3px #2d6cdf29}.step-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:start;min-width:96px}.step-actions button{min-height:39px;border:1px solid #cbd5df;border-radius:6px;background:#f8fafc;color:#26313f;font-weight:600}.steps-table-wrap{margin-top:16px;overflow:visible}.steps-table{table-layout:fixed}.steps-table th:nth-child(1){width:56px}.steps-table th:nth-child(4){width:120px}.tread-gap-lock-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;margin-top:18px;padding-top:14px;border-top:1px solid #e3e8ef}.tread-gap-lock{display:inline-flex;align-items:center;gap:8px;min-height:39px}.tread-gap-lock span{color:#42505f;font-size:14px;font-weight:500}.tread-gap-field{margin:0}.tread-gap-field input[readonly]{opacity:.72;background:#f8fafc;cursor:default}.toggles{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:18px 0 0;padding-top:14px;border-top:1px solid #e3e8ef;color:#42505f;font-size:14px}.toggles label{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9e1ea;border-radius:999px;background:#fff;padding:7px 10px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;border:1px solid #d8dee4;border-radius:8px}table{width:100%;border-collapse:collapse}.table-wrap table{width:100%;min-width:100%}th,td{border-bottom:1px solid #e5e9ee;padding:9px;text-align:left;white-space:nowrap}th{background:#f5f7fa;color:#4d5761;font-size:12px;font-weight:600}td{color:#26313f;font-size:14px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .12s ease}tbody tr:hover{background:#eef5ff}.main-column{display:grid;gap:0;align-content:start;min-width:0;max-width:100%;height:calc(100vh - var(--app-header-height));overflow:hidden;background:#f4f6f8}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.metric{min-height:82px;padding:10px}.metric span,.metric small{display:block;color:#66717e}.metric span{min-height:28px;font-size:11px;font-weight:600;text-transform:uppercase}.metric strong{display:block;margin:4px 0;color:#1f2937;font-size:19px;font-weight:600;line-height:1.1}.metric small{font-size:12px;line-height:1.28}.metric.warning strong{color:#a24712}td.negative-value,.details-header .negative-value,.metric strong.negative-value,.metric small .negative-value,.skirting-stats strong.negative-value{color:#b42318}.visual-panel,.details-panel{padding:16px}.results-card{display:flex;flex-direction:column;min-width:0;max-width:100%;overflow:hidden;height:calc(100vh - var(--app-header-height));border:0;border-radius:0;background:#fff;box-shadow:none}.results-card .visual-panel,.results-card .details-panel{border:0;border-radius:0}.result-tabs{display:flex;align-items:flex-end;gap:4px;min-width:0;border-bottom:1px solid #d8dee4;background:#f5f7fa;padding:10px 16px 0}.result-tab{min-height:40px;min-width:116px;max-width:100%;border:1px solid #d8dee4;border-bottom:0;border-radius:9px 9px 0 0;background:#eef2f6;color:#526070;padding:8px 14px;text-align:center;transform:translateY(1px)}.result-tab span{font-size:17px;font-weight:600}.result-tab-label.short,.result-tab.mobile-only{display:none}.result-tab.active{border-color:#d8dee4;background:#fff;color:#142f49;box-shadow:0 -1px #fff inset}.result-page{flex:1 1 auto;min-width:0;min-height:0;overflow:auto}.visual-panel.result-page{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.visual-header p,.details-header p{margin-bottom:0;font-size:14px}.legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 12px;color:#59636f;font-size:13px}.legend span,.legend label{display:inline-flex;align-items:center;gap:6px}.legend-controls{justify-content:flex-end}.stair-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px;min-height:0}.stair-plan-controls{display:grid;align-content:start;gap:12px;min-width:0}.stair-plan-controls .visual-header{display:block}.stair-plan-layout .legend-controls{align-content:start;align-items:stretch;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start}.stair-plan-layout .legend-toggle{justify-content:flex-start}.legend-toggle{--toggle-color: #94a3b8;border:1px solid #d7dee7;border-radius:999px;background:#fff;color:#334155;padding:7px 10px;font-weight:500;transition:opacity .12s ease,border-color .12s ease,background .12s ease}.legend-toggle input{margin:0;accent-color:var(--toggle-color)}.legend-toggle:has(input:not(:checked)){opacity:.62;background:#f8fafc}.legend-toggle.concrete{--toggle-color: #7b858f}.legend-toggle.wood{--toggle-color: #9a663f}.legend-toggle.riser{--toggle-color: #d8a86c}.legend-toggle.skirting{--toggle-color: #9fb8c7}.legend-toggle.railing{--toggle-color: #d3d7dc}.legend-toggle.next-stair{--toggle-color: #7e8fa1}.legend-toggle.gap{--toggle-color: #d7a400}.legend-toggle.text-labels{--toggle-color: #26313f}.visual-tools{display:grid;justify-items:end;gap:10px}.height-mode-toggle{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}.height-mode-title{color:#526070;font-size:13px;font-weight:500}.height-mode-option{display:inline-flex;align-items:center;gap:6px;border:1px solid #d7dee7;border-radius:999px;background:#fff;color:#334155;padding:7px 10px;font-size:13px;font-weight:500;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.height-mode-option input{margin:0;accent-color:#1f4b72}.height-mode-option.active{border-color:#7fa7cd;background:#eef5ff;color:#16324f;box-shadow:inset 0 0 0 1px #1f4b7214}.zoom-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;color:#42505f;font-size:13px}.zoom-tools button{min-width:34px;height:34px;border:1px solid #cbd5df;border-radius:6px;background:#f8fafc;color:#26313f;font-weight:600}.zoom-tools label{display:inline-flex;align-items:center;gap:8px}.zoom-tools input{width:130px;accent-color:#2d6cdf}.zoom-tools strong{min-width:48px;color:#1f2937;text-align:right}.swatch{display:inline-block;width:12px;height:12px;border:1px solid rgba(0,0,0,.14);border-radius:3px}.swatch.concrete{background:#7b858f}.swatch.wood{background:#9a663f}.swatch.riser{background:#d8a86c}.swatch.gap{background:#f3cf5a}.swatch.skirting{background:#9fb8c7}.svg-frame{width:100%;height:100%;min-height:0;margin:0;overflow:hidden;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd;cursor:zoom-in}svg{display:block;width:100%;height:100%}.grid-lines line,.grid-line{stroke:#bcc8d4;stroke-width:1.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.concrete-shape{fill:#7b858f;stroke:none}.concrete-outline{stroke:#5e6872;stroke-width:2;vector-effect:non-scaling-stroke}.skirting-top,.skirting-cut,.plan-cut{vector-effect:non-scaling-stroke}.skirting-top{stroke:#496879;stroke-width:4;stroke-linecap:round}.skirting-cut{stroke:#5d7c8d;stroke-width:2.5;stroke-dasharray:8 5;stroke-linecap:round}.wood-tread,.wood-riser{stroke:#5c3a24;stroke-width:1.4;vector-effect:non-scaling-stroke}.wood-tread{fill:#9a663f}.wood-tread.zero-tread{fill:#9a663f47;stroke:#5c3a2473;stroke-dasharray:10 7}.wood-riser{fill:#d8a86c}.railing-baluster,.railing-post,.handrail{vector-effect:non-scaling-stroke}.railing-baluster{fill:#d3d7dceb;stroke:#66717c;stroke-width:1.4}.railing-post{fill:#784e2de6;stroke:#5c3a24;stroke-width:1.8}.post-chamfer-line{stroke:#5c3a24;stroke-width:1.4;pointer-events:none;vector-effect:non-scaling-stroke}.handrail-detail-line{stroke:#3f2513;stroke-width:1.4;pointer-events:none;vector-effect:non-scaling-stroke}.post-bolt-hole,.handrail-bolt-hole,.handrail-bolt-hole-end{stroke:#ffffffeb;stroke-width:1.1;pointer-events:none;vector-effect:non-scaling-stroke}.handrail{fill:#6b4420d1;stroke:#3f2513;stroke-width:1.8}.next-stair-preview{opacity:.34}.floor-label{fill:#142f49;font-size:72px;font-weight:750;paint-order:stroke;stroke:#fffffff5;stroke-width:18px;text-anchor:middle;dominant-baseline:middle;pointer-events:none;vector-effect:non-scaling-stroke}.floor-label.next-stair-preview{opacity:1}.vertical-gap{fill:#f2be378c;stroke:#b57b00;stroke-width:1;vector-effect:non-scaling-stroke}.horizontal-gap{fill:#e76d4b73;stroke:#b44324;stroke-width:1;vector-effect:non-scaling-stroke}.labels text,.labels{fill:#1d2733;font-size:30px;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:12px;text-anchor:middle;dominant-baseline:middle;pointer-events:none;vector-effect:non-scaling-stroke}.labels.negative-value,.labels.negative-value text{fill:#b42318}.step-index-label,.plan-step-index{fill:#16324f;font-size:48px;font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#ffffffeb;stroke-width:6px;pointer-events:none;vector-effect:non-scaling-stroke}.plan-step-index{font-size:34px;stroke-width:6px}.zero-step-index-label{fill:#16324f8c;stroke:#ffffffe0}.details-header{align-items:center;margin-bottom:12px}.compact th,.compact td{padding:10px 12px}.skirting-panel{display:grid;gap:14px}.railing-panel{display:grid;align-content:start;gap:14px}.skirting-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.skirting-stats div{min-height:76px;border:1px solid #d8dee4;border-radius:8px;background:#f8fafc;padding:12px}.skirting-stats span{display:block;color:#66717e;font-size:12px;font-weight:600;text-transform:uppercase}.skirting-stats strong{display:block;margin-top:8px;color:#1f2937;font-size:22px}.skirting-stats .danger strong{color:#a24712}.plan-frame{height:clamp(220px,30vh,340px);min-height:220px;overflow:hidden;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd}.draft-canvas{width:100%;height:100%;cursor:grab}.draft-canvas svg{display:block;width:100%;height:100%;touch-action:none}.draft-canvas:active{cursor:grabbing}.draft-canvas.measure-mode,.draft-canvas.measure-mode:active{cursor:crosshair}.draft-viewer{position:relative;width:100%;height:100%}.draft-viewer-tools{position:absolute;top:10px;right:10px;display:flex;gap:6px;padding:5px;border:1px solid rgba(145,158,171,.45);border-radius:8px;background:#ffffffe6;box-shadow:0 8px 18px #1f29371a}.draft-viewer-tools button{min-width:34px;height:32px;border:1px solid #cbd5df;border-radius:6px;background:#f8fafc;color:#26313f;font-weight:600}.draft-viewer-tools button.active{border-color:#6d94b8;background:#e7f1fb;color:#16324f;box-shadow:inset 0 0 0 1px #1f4b721a}.draft-measure-layer{pointer-events:none}.draft-measure-line{stroke:#174f8a;stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.draft-measure-projection{stroke:#2a7f62;stroke-width:1.6;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.draft-measure-label-leader{stroke:#6d8195;stroke-width:1.2;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.draft-measure-point,.draft-measure-snap-point{fill:#fff;stroke:#174f8a;stroke-width:2;vector-effect:non-scaling-stroke}.draft-measure-snap-point{fill:#2a7f622e;stroke:#2a7f62}.draft-measure-label{fill:#17324d;font-size:28px;font-weight:650;paint-order:stroke;stroke:#fffffff5;stroke-width:8px;text-anchor:middle;vector-effect:non-scaling-stroke}.draft-measure-label-bg{fill:#ffffffeb;stroke:#6d819585;stroke-width:1.2;vector-effect:non-scaling-stroke}.draft-measure-label-action{cursor:pointer;pointer-events:auto}.draft-measure-label-action:hover,.draft-measure-label-action:focus{fill:#fff7edf5;stroke:#b45309b8;outline:none}.skirting-board{fill:#9fb8c794;stroke:#496879;stroke-width:1.4;vector-effect:non-scaling-stroke}.skirting-board-blank{fill:#9fb8c729;stroke:#496879;stroke-width:2.4;vector-effect:non-scaling-stroke}.selectable-draft-item{cursor:pointer}.draft-grid{stroke:#d8e0e8;stroke-width:.8;vector-effect:non-scaling-stroke}.draft-grid.major{stroke:#aab7c4;stroke-width:1.2}.plan-cut{stroke:#1f6f56;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.plan-cut.riser{stroke:#b4571f}.plan-cut.end-cut,.skirting-cut.end-cut{stroke:#274c77}.plan-mark-guide{stroke:#7d8c9b;stroke-width:1.2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.plan-mark-point{fill:#26313f;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.draft-top-edge{stroke:#237a5e;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.draft-axis{stroke:#26313f;stroke-width:1.4;stroke-dasharray:10 5;vector-effect:non-scaling-stroke}.plan-label{fill:#26313f;font-size:22px;font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#ffffffe0;stroke-width:6px;vector-effect:non-scaling-stroke}.plan-station-label{fill:#26313f;font-size:30px;font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#fff;stroke-width:7px;vector-effect:non-scaling-stroke}.draft-dimension{color:#415466;stroke:#415466;stroke-width:1.8;vector-effect:non-scaling-stroke}.draft-extension{stroke:#9aa7b4;stroke-width:1.2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.step-width-label,.step-height-label,.draft-dimension-label,.draft-origin-label{fill:#26313f;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:12px;vector-effect:non-scaling-stroke}.step-width-label,.step-height-label{fill:#1f4b72;font-size:28px}.step-height-label,.step-origin-label{text-anchor:start}.step-width-label.negative-value,.step-height-label.negative-value{fill:#b42318}.draft-dimension-label{font-size:32px}.draft-origin-label{font-size:18px}.scale-origin-label{font-size:32px}.step-origin-label,.width-origin-label{fill:#1f4b72}.skirting-table{max-height:none}.skirting-panel .table-wrap{justify-self:start;width:max-content;min-width:100%;max-width:none;overflow:visible}.skirting-panel .table-wrap table{width:max-content;min-width:100%}.railing-table{max-height:none}.mobile-card-list{display:none}.data-card{border:1px solid #d8dee4;border-radius:8px;background:#fff;padding:12px}.data-card h3{margin:0 0 10px;color:#1f2937;font-size:16px;font-weight:650}.data-card dl{display:grid;gap:8px;margin:0}.data-card dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;min-width:0}.data-card dt{color:#66717e;font-size:12px;font-weight:600}.data-card dd{margin:0;color:#26313f;font-size:14px;font-weight:600;text-align:right;white-space:nowrap}@media (max-width: 1180px){:root{--app-header-height: 96px}.app-header,.workspace{grid-template-columns:1fr}.staircase-switcher{justify-content:flex-start}.controls-panel{max-height:none;position:static}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width: 860px){:root{--app-header-height: 58px}html,body,#app{overflow-x:clip;overflow-y:auto}.app-shell{display:block;height:auto;min-height:100svh;overflow:visible;padding:var(--app-header-height) 0 0}.app-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:var(--app-header-height);border-bottom:0;padding:9px 10px;box-shadow:none}.workspace{display:flex;flex-direction:column;width:100%;max-width:100%;height:auto;min-height:0;overflow:visible}.main-column{order:-1;width:100%;max-width:100%;height:auto;min-height:calc(100svh - var(--app-header-height));overflow:visible}.results-card{width:100%;max-width:100%;height:auto;min-height:calc(100svh - var(--app-header-height));overflow:visible}.controls-panel{display:none;order:1;width:100%;max-width:100%;border-top:1px solid #cbd5df;border-right:0;box-shadow:none;overflow:visible}.workspace.settings-active .controls-panel{display:block}.workspace.settings-active .main-column,.workspace.settings-active .results-card{min-height:0}h1{font-size:21px}.app-header h1{font-size:17px}.mobile-staircase-nav{display:flex}.staircase-switcher{display:none}.staircase-card{flex:1 1 132px;min-height:34px}.result-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;min-width:0;overflow:visible;padding:0}.result-tab{display:block;min-width:0;width:100%;min-height:34px;border-top:0;border-radius:0;overflow:hidden;padding:5px 2px;transform:none}.result-tab span{display:block;overflow:hidden;font-size:11px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.result-tab.mobile-only{display:block}.result-tab-label.full{display:none}.result-tab-label.short{display:block}.controls-panel,.visual-panel,.details-panel{width:100%;max-width:100%;padding:12px}.result-page{width:100%;max-width:100%;overflow-x:hidden;overflow-y:visible}.visual-header,.details-header{display:grid}.visual-tools,.legend,.zoom-tools{justify-content:flex-start;justify-items:start}.field-grid{grid-template-columns:1fr}.controls-section,.steps-editor{padding:12px}.controls-section .field-grid,.controls-section .field-grid.primary-fields,.tread-gap-lock-controls{grid-template-columns:1fr}.steps-table-wrap{overflow:auto}.steps-editor-header{display:grid}.summary-grid{grid-template-columns:1fr}.metric{min-height:auto}.metric span{min-height:0}.svg-frame{width:100%;aspect-ratio:3 / 4;height:auto;min-height:0}.visual-panel.result-page{grid-template-rows:minmax(0,1fr);overflow:visible}.stair-plan-layout{grid-template-columns:1fr;gap:10px}.stair-plan-layout .legend-controls{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.stair-plan-layout .legend-toggle{justify-content:flex-start}.height-mode-toggle{align-items:flex-start}.height-mode-title{flex-basis:100%}.plan-frame{min-height:180px;height:220px}.skirting-panel.result-page{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain}.data-card dl div{grid-template-columns:1fr;gap:3px}.data-card dd{text-align:left;white-space:normal}.railing-panel .railing-table{display:none}.railing-mobile-cards{display:grid;gap:10px}}
