.handrail-shell{margin:-50px -40px;overflow:hidden}.planner-link{color:#fff;border:1px solid #739187;padding:10px 14px;border-radius:3px;text-decoration:none;font-weight:700}.handrail-layout{display:grid;grid-template-columns:minmax(520px,1fr) 430px;min-height:760px}.handrail-layout[hidden]{display:none}.handrail-layout>*{min-width:0}.handrail-section{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid #d8ddd6}.handrail-section .panel-heading{margin-bottom:20px}.import-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;background:#edf2e8;border-left:4px solid var(--planner-green);margin-bottom:22px}.import-card p{margin:4px 0 0;font-size:.82rem;color:#617067}.import-card button,.secondary-action{border:1px solid var(--planner-green);background:#fff;color:var(--planner-green);font-weight:700;padding:11px 15px;border-radius:3px;cursor:pointer}.import-card button:disabled{opacity:.45;cursor:not-allowed}.railing-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.railing-choices label{position:relative}.railing-choices input{position:absolute;opacity:0}.railing-choices span{display:block;height:100%;padding:15px;border:1px solid #bec8c0;background:#fbfaf6;border-radius:4px;font-size:.76rem;color:#68746d;cursor:pointer}.railing-choices b{display:block;color:var(--planner-ink);font-size:.88rem;margin-bottom:4px}.railing-choices input:checked+span{border-color:var(--planner-green);box-shadow:inset 0 0 0 1px var(--planner-green);background:#edf2e8}.run-card{display:grid;grid-template-columns:1.5fr .8fr .8fr auto;gap:10px;align-items:end;padding:14px;background:#f8f7f2;border:1px solid #d5dbd3;margin-bottom:9px}.run-card label{font-size:.75rem;font-weight:700}.run-card input{margin-top:5px!important}.run-card button{height:46px;border:0;background:none;color:#8b4d38;font-weight:700;cursor:pointer}.run-flags{grid-column:1/-1;display:flex;gap:18px;font-size:.75rem}.run-flags label{font-weight:500}.run-flags input{width:auto!important}.gate-choice{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:14px;background:#f3e9ce;font-weight:700}.gate-choice input{width:auto!important;margin-top:3px}.gate-choice small{display:block;font-weight:400}.handrail-preview{position:sticky;top:0;align-self:start;min-height:760px}.handrail-preview svg{height:auto;min-height:400px}.handrail-preview .plan-legend i{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #c9e568}.handrail-preview .post-mid{background:#c9e568}.handrail-preview .post-corner{background:#e7d2ad}.rail-result{margin-top:35px}.rail-result h2{font-size:2rem}.rail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.rail-summary div{background:#173f33;color:#fff;padding:15px}.rail-summary span{display:block;color:#bad0c7;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.rail-summary strong{font:1.3rem Georgia,serif}.spacing-list,.request-box{margin:18px 0;padding:16px;background:#f8f7f2;border-left:4px solid var(--planner-green)}.request-box{background:#f3e9ce;border-color:#946344}.no-price{padding:15px;background:#173f33;color:#fff;margin-top:18px}.material-note{font-size:.72rem;color:#68746d}.handrail-preview text{font-family:'Segoe UI',sans-serif}.handrail-preview .dimension{fill:#eef4eb;font-size:11px;font-weight:700}.handrail-preview .post-label{fill:#173f33;font-size:10px;font-weight:800}.handrail-preview .run-label{fill:#eef4eb;font-size:12px;font-weight:700}
@media(max-width:1050px){.handrail-layout{grid-template-columns:1fr}.handrail-preview{position:static;min-height:0}.handrail-shell{margin:-50px -40px}.railing-choices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){#main-content{width:100vw;max-width:100vw;padding-left:0!important;padding-right:0!important;box-sizing:border-box}.handrail-shell{margin:-28px 0 0;width:100%;box-sizing:border-box}.handrail-shell .planner-topbar{flex-wrap:wrap}.handrail-shell .planner-topbar>div{min-width:0}.handrail-shell .planner-link{width:100%;text-align:center;box-sizing:border-box}.run-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.run-card label:first-child,.run-flags{grid-column:1/-1}.run-flags{display:grid;gap:8px}.railing-choices,.rail-summary{grid-template-columns:1fr}.import-card{display:block}.import-card button{margin-top:12px}}
.price-summary{grid-template-columns:repeat(3,1fr);margin:12px 0 22px}.price-summary div:last-child{background:#946344}
.handrail-result-view{max-width:1100px;margin:0 auto;min-height:720px}.handrail-result-view[hidden]{display:none}.result-view-actions{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #d8ddd6}.result-deck-link{background:var(--planner-green)}
.handrail-shell .planner-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--planner-green);color:#fff;border:2px solid var(--planner-green);padding:11px 18px;border-radius:7px;font-size:.94rem;font-weight:800;box-shadow:0 5px 14px rgba(23,63,51,.22)}.handrail-shell .planner-link:hover{background:#245542;color:#fff}.handrail-shell .planner-link:focus-visible{outline:3px solid var(--planner-lime);outline-offset:3px}
.handrail-preview .dimension,.handrail-preview .run-label{fill:#fff;stroke:#102f27;stroke-width:3.5px;stroke-linejoin:round;paint-order:stroke fill;font-weight:800}.handrail-preview .dimension{font-size:13px}.handrail-preview .run-label{font-size:14px}
.handrail-preview .stair-rail-line{stroke:#ffcf55;stroke-width:7;stroke-linecap:round}.handrail-preview .stair-post{fill:#ffcf55;stroke:#173f33;stroke-width:2}.handrail-preview .post-stair{background:#ffcf55}.handrail-preview .stair-dimension{fill:#fff;font-size:12px}
.result-plan-card{margin:22px 0;padding:20px;background:#173f33;color:#fff;border-radius:6px}.result-plan-card h3{margin-top:0;color:#fff}.result-plan-card img{display:block;width:100%;max-height:620px;object-fit:contain;background:#214a3e;border:1px solid #59786d;border-radius:4px}.result-plan-card .download-row button{display:inline-flex;padding:12px 18px;background:#c9e568;color:#173f33;border:2px solid #c9e568;border-radius:5px;font-weight:800;cursor:pointer}.result-plan-card .download-row button.secondary{background:#fff;border-color:#fff}.result-plan-card .download-row button:hover{filter:brightness(.94)}.result-plan-card .download-row button:focus-visible{outline:3px solid #fff;outline-offset:3px}
