/* Drywall Sheet Plan — on top of scope-planner.css (same brand: navy #202C36 / #2C3943, orange #F06A24, paper #F3F5F6) */
.planner input,.planner select{box-sizing:border-box}
.sp-sources{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sp-card{background:#F3F5F6;border:1px solid #D5DBDD;border-radius:14px;padding:14px}
.sp-card h3{margin:0 0 8px;font-size:1rem}
.sp-card p{margin:.3rem 0 .6rem;font-size:.9rem;color:#48555D}
.sp-summary{margin-top:12px;padding:12px 14px;border-radius:12px;background:#FDEDE4;border-left:5px solid #F06A24;font-weight:700}
.sp-summary small{display:block;font-weight:500;color:#48555D;margin-top:4px}
.sp-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.sp-row label{flex:1 1 140px}
.sp-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.sp-badge.measured{background:#DFF3E6;color:#1E6B3A}.sp-badge.drawn{background:#E3ECF7;color:#1E4D8C}.sp-badge.assumed,.sp-badge.typed{background:#FDEDE4;color:#B04A14}.sp-badge.missing{background:#F8D7D5;color:#8A1C16}
.sp-joists{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:14px;align-items:start}
.sp-joists svg{width:100%;height:auto;background:#fff;border:1px solid #D5DBDD;border-radius:12px}
.sp-radio{display:grid;gap:8px}
.sp-radio label,.sp-check{display:flex;align-items:flex-start;gap:8px;font-weight:600;font-size:.92rem}
.sp-radio input,.sp-check input{width:auto;margin-top:4px}
.sp-walls{display:grid;gap:10px;margin-top:12px}
.sp-wall{background:#F3F5F6;border:1px solid #D5DBDD;border-radius:12px;padding:12px}
.sp-wall-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.sp-wall-head h4{margin:0;font-size:.98rem}
.sp-wall-head .meta{font-size:.84rem;color:#48555D}
.sp-openings{margin-top:8px;display:grid;gap:6px}
.sp-opening{display:grid;grid-template-columns:1.2fr repeat(4,1fr) auto;gap:6px;align-items:end;background:#fff;border:1px solid #D5DBDD;border-radius:10px;padding:8px}
.sp-opening label{font-size:.74rem}
.sp-opening input,.sp-opening select{padding:.45rem}
.sp-opening button{padding:.45rem .6rem;font-size:.8rem}
.sp-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.planner .sp-mini button,.planner .sp-wall-head button{padding:.45rem .75rem;font-size:.82rem}
details.sp-rules{margin-top:14px;background:#F3F5F6;border:1px solid #D5DBDD;border-radius:12px;padding:10px 14px}
details.sp-rules summary{cursor:pointer;font-weight:800}
details.sp-rules .fields{margin-top:10px}
.sp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}
.sp-metric{background:#F3F5F6;border-radius:12px;padding:12px}
.sp-metric strong{display:block;font-size:1.35rem;line-height:1.15}
.sp-metric span{font-size:.8rem;color:#48555D}
.sp-metric.hi{background:#FDEDE4;border-left:5px solid #F06A24}
.sp-notebook{margin-top:14px;background:#202C36;color:#fff;border-radius:14px;padding:14px 16px;font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.7;white-space:pre-wrap}
.sp-notebook b{color:#FF8A47}
.sp-notes{margin-top:10px;display:grid;gap:8px}
.sp-note{padding:10px 12px;border-radius:10px;border-left:5px solid #2C3943;background:#F3F5F6;font-size:.9rem}
.sp-note.preference{border-color:#F06A24;background:#FDEDE4}.sp-note.assumed{border-color:#1E4D8C;background:#E3ECF7}.sp-note.code,.sp-note.hard{border-color:#8A1C16;background:#F8D7D5}
.sp-bath{margin-top:12px;padding:12px 14px;border-radius:12px;background:#E6F6F3;border-left:5px solid #0F766E}
.sp-bath label[data-bath-only]{display:block;max-width:360px;margin-top:8px}
.sp-access{margin-top:8px;padding:12px;border-radius:12px;background:#F3F5F6;border:1px solid #D5DBDD}
.sp-access label[hidden]{display:none}
.sp-access-result{margin:6px 0 0;font-weight:600}
.sp-wet{margin-top:8px;display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:6px;align-items:end;background:#E6F6F3;border:1px solid #9FD8CC;border-radius:10px;padding:8px}
.sp-wet label{font-size:.74rem}
.sp-wet input,.sp-wet select{padding:.45rem}
.sp-wet label[hidden]{display:none}
.sp-badge.hard{background:#F8D7D5;color:#8A1C16}
.sp-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.82rem;margin:12px 0 4px}
.sp-legend i{display:inline-block;width:14px;height:14px;border:1px solid #202C36;border-radius:3px;vertical-align:-2px;margin-right:4px}
.sp-elev{margin-top:14px}
.sp-elev h4{margin:0 0 4px;font-size:.95rem}
.sp-elev .meta{font-size:.82rem;color:#48555D;margin:0 0 6px}
.sp-elev svg{width:100%;height:auto;display:block;background:#fff;border:1px solid #D5DBDD;border-radius:12px}
.sp-elev svg text{font-family:"JetBrains Mono",ui-monospace,monospace}
.sp-elev .piece{cursor:pointer}
.sp-elev .piece.selected rect{stroke:#F06A24;stroke-width:3}
.sp-stage{position:relative;margin-top:12px;background:#EEF2F7;border:1px solid #D5DBDD;border-radius:14px;overflow:hidden}
.sp-stage canvas{display:block;width:100%;height:clamp(300px,62vw,560px);touch-action:none}
.sp-stage .brand{position:absolute;right:10px;bottom:8px;font:800 .72rem/1 Inter,system-ui,sans-serif;color:#202C36;opacity:.65;pointer-events:none;letter-spacing:.04em}
.sp-stage .hint{position:absolute;left:10px;bottom:8px;font-size:.74rem;color:#48555D;pointer-events:none}
.sp-toggles{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.planner .sp-toggles button{background:#fff;color:#202C36;border:1px solid #D5DBDD;padding:.5rem .8rem;font-size:.84rem}
.planner .sp-toggles button.on{background:#202C36;color:#fff;border-color:#202C36}
.sp-seq{margin-top:12px}
.sp-seq input[type=range]{width:100%}
.sp-seq .label{font-size:.88rem;font-weight:700;margin-top:4px}
.sp-info{margin-top:10px;padding:12px 14px;border-radius:12px;background:#F3F5F6;border:1px solid #D5DBDD;font-size:.9rem;min-height:2.6em}
.sp-info b{color:#B04A14}
.sp-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.9rem}
.sp-table th,.sp-table td{text-align:left;padding:8px 6px;border-bottom:1px solid #D5DBDD;vertical-align:top}
.sp-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#48555D}
.sp-table td.num,.sp-table th.num{text-align:right;white-space:nowrap}
.sp-table input{padding:.4rem;max-width:110px}
.sp-table tr.allowance td{background:#FDF4EE}
.sp-table tr.pick{cursor:pointer}
.sp-table tr.pick:hover td,.sp-table tr.pick.on td{background:#E3ECF7}
.sp-table .src{font-size:.74rem;color:#48555D;display:block}
.sp-offcuts td.status{font-weight:700}
.sp-offcuts td.waste{color:#8A1C16}.sp-offcuts td.kept{color:#1E6B3A}.sp-offcuts td.used{color:#1E4D8C}
.sp-total{text-align:right;font-weight:800;margin-top:8px}
.sp-small{font-size:.84rem;color:#48555D}
.sp-empty{padding:14px;border:1px dashed #445159;border-radius:12px;color:#48555D;font-size:.92rem}
ol.sp-sequence{columns:2 260px;margin:10px 0 0;padding-left:1.2rem;font-size:.86rem;line-height:1.5}
@media(max-width:720px){.sp-joists{grid-template-columns:1fr}.sp-opening,.sp-wet{grid-template-columns:1fr 1fr 1fr}.sp-opening label:nth-child(4),.sp-opening label:nth-child(5){grid-column:span 1}ol.sp-sequence{columns:1}}
@media print{body.print-order .planner>*:not(.sp-pro){display:none!important}body.print-order .sp-table input{border:0}body.print-order .hu-back2,body.print-order [data-print-order],body.print-order [data-copy-order]{display:none!important}}

/* ---- v2: result first. The room stands at the top; everything else is a control on it or a drawer under it. */
.sp-hero{padding:16px 18px 14px}
.sp-hero h1{margin:.2rem 0 .3rem;font-size:clamp(1.5rem,5.6vw,2.2rem)}
.sp-hero p:last-child{margin:0;font-size:.95rem}
.sp-seq input[type=range]{accent-color:#F06A24}
.sp-main{padding-top:12px}
.sp-stage{margin-top:0}
.sp-stage canvas{height:clamp(320px,72vw,620px)}
.sp-stage-top{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.sp-roomchip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid #D5DBDD;font-size:.8rem;color:#202C36;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.sp-roomchip b{font-weight:800}
.sp-badge.sample{background:#FDEDE4;color:#B04A14}
.sp-stage-bottom{position:absolute;left:10px;right:10px;bottom:30px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.planner .sp-play{background:#F06A24;color:#fff;border:0;border-radius:999px;padding:.62rem 1rem;font-weight:800;font-size:.92rem;box-shadow:0 4px 14px rgba(240,106,36,.35);cursor:pointer}
.planner .sp-play.playing{background:#202C36}
.sp-steplabel{font-size:.8rem;font-weight:700;color:#202C36;background:rgba(255,255,255,.86);padding:5px 9px;border-radius:8px;max-width:100%}
.sp-stage .hint{bottom:8px}
.sp-counter{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.sp-count{background:#F3F5F6;border-radius:12px;padding:10px 8px;text-align:center}
.sp-count strong{display:block;font-size:1.25rem;line-height:1.1}
.sp-count span{font-size:.72rem;color:#48555D}
.sp-count.hot strong{color:#B04A14}
.sp-sticky{position:fixed;top:0;left:0;right:0;z-index:9998;background:rgba(32,44,54,.96);color:#fff;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.84rem;font-weight:700;transform:translateY(-110%);transition:transform .25s;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.sp-sticky.show{transform:translateY(0)}
.sp-sticky span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-sticky button{flex:0 0 auto;background:#F06A24;color:#fff;border:0;border-radius:999px;padding:.4rem .8rem;font-weight:800;font-size:.8rem;cursor:pointer}
.sp-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.planner .sp-entry-btn{display:block;text-align:left;background:#fff;color:#202C36;border:2px solid #D5DBDD;border-radius:14px;padding:14px;cursor:pointer;font:inherit}
.planner .sp-entry-btn b{display:block;font-size:1rem;font-weight:800;margin-bottom:3px}
.planner .sp-entry-btn span{display:block;font-size:.82rem;color:#48555D;font-weight:500}
.planner .sp-entry-btn.on,.planner .sp-entry-btn:hover{border-color:#F06A24}
.planner .sp-entry-btn[data-entry=watch]{background:#FDEDE4;border-color:#F06A24}
.sp-sources{margin-top:12px}
.sp-sliders{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.sp-sliders label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}
.sp-sliders output{font-weight:800;color:#B04A14;font-variant-numeric:tabular-nums}
.sp-sliders input[type=range]{grid-column:1/-1;width:100%;accent-color:#F06A24;padding:0;border:0;background:none}
.sp-ceiling-row{margin-top:10px;align-items:flex-start}
.sp-field{display:grid;gap:6px;flex:1 1 180px}
.sp-field-label{font-weight:700;font-size:.88rem}
.sp-seg{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.planner .sp-seg button{background:#fff;color:#202C36;border:1px solid #D5DBDD;border-radius:10px;padding:.55rem .8rem;font-weight:800;font-size:.9rem}
.planner .sp-seg button.on{background:#202C36;color:#fff;border-color:#202C36}
.sp-seg input{width:120px;flex:0 0 auto}
.sp-stepper{display:flex;align-items:center;gap:6px}
.planner .sp-stepper button{width:42px;height:42px;padding:0;border-radius:10px;background:#fff;color:#202C36;border:1px solid #D5DBDD;font-size:1.3rem;font-weight:800}
.sp-stepper input{width:64px;text-align:center}
.sp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sp-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #D5DBDD;font-weight:700;font-size:.86rem;cursor:pointer}
.sp-chip input{width:auto;margin:0}
.sp-chip-select select{width:auto;padding:.3rem .5rem;border:0;background:transparent;font-weight:700}
.sp-chip:has(input:checked){background:#FDEDE4;border-color:#F06A24}
.sp-bath{margin-top:10px}
.sp-bath label{max-width:360px}
.sp-typed-hint{margin:10px 0 0}
.sp-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.planner .sp-route{background:#fff;color:#202C36;border:2px solid #D5DBDD;border-radius:14px;padding:10px 8px;display:grid;justify-items:center;gap:4px;cursor:pointer;font:inherit}
.planner .sp-route svg{width:64px;height:48px;display:block}
.planner .sp-route b{font-size:.82rem;font-weight:800;text-align:center}
.planner .sp-route span{font-size:.72rem;color:#48555D;text-align:center}
.planner .sp-route.on{border-color:#F06A24;background:#FDEDE4}
.sp-access{margin-top:8px}
.sp-access:empty,.sp-access.none{display:none}
.sp-order-lines{display:grid;gap:6px;margin-top:8px}
.sp-order-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#F3F5F6;font-size:.9rem}
.sp-order-line b{font-size:1.05rem;min-width:2.2em;text-align:right}
.sp-order-line.allowance{background:#FDF4EE}
.sp-order-line .src{font-size:.74rem;color:#48555D;display:block}
.sp-order-line .money{font-weight:800;white-space:nowrap}
.sp-order-more{font-size:.84rem;color:#48555D;margin:4px 0 0}
.sp-ch-wall svg{width:100%;height:auto;display:block;background:#fff;border:1px solid #D5DBDD;border-radius:12px}
.sp-ch-wall svg text{font-family:"JetBrains Mono",ui-monospace,monospace}
.sp-ch-palette{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.planner .sp-ch-palette button{padding:.6rem .9rem}
.planner .sp-ch-palette button[disabled]{opacity:.45}
.sp-ch-score{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.sp-ch-score .sp-count{padding:8px 6px}
.sp-ch-result{margin-top:10px;padding:12px 14px;border-radius:12px;background:#E3ECF7;border-left:5px solid #1E4D8C}
.sp-ch-result table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:6px}
.sp-ch-result td,.sp-ch-result th{padding:5px 6px;border-bottom:1px solid #D5DBDD;text-align:left}
.sp-ch-result td.num,.sp-ch-result th.num{text-align:right}
.sp-ch-result .win{color:#1E6B3A;font-weight:800}.sp-ch-result .lose{color:#8A1C16;font-weight:800}
details.sp-pro{margin-top:14px;background:#fff;border:1px solid #D5DBDD;border-radius:16px;padding:12px 16px}
details.sp-pro>summary{cursor:pointer;font-size:.95rem;color:#48555D;padding:6px 0}
details.sp-pro>summary b{color:#202C36}
details.sp-pro h3{margin:16px 0 6px}
.sp-sliders[hidden],.sp-ceiling-row [data-only-typed][hidden]{display:none}
@media(max-width:720px){.sp-counter{grid-template-columns:repeat(2,1fr)}.sp-ch-score{grid-template-columns:repeat(2,1fr)}.sp-stage-bottom{bottom:28px}.sp-steplabel{font-size:.74rem}}
@media print{body.print-order .sp-pro{display:block!important}body.print-order .sp-pro>*:not(#order):not(.sp-order-wrap):not(.sp-row):not(.sp-check){display:none!important}}

/* the "your image" card from render3d.js (snapshot with the brand strip) */
.ds-image{position:fixed;inset:0;z-index:10000;background:rgba(32,44,54,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.ds-image[hidden]{display:none}
.ds-image-card{background:#fff;border-radius:16px;max-width:900px;width:100%;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ds-image img{width:100%;height:auto;border-radius:10px;display:block}
.ds-image-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ds-btn{display:inline-block;border:0;border-radius:10px;padding:.6rem .9rem;background:#F06A24;color:#fff;font-weight:800;text-decoration:none;cursor:pointer;font:inherit;font-weight:800}
.ds-btn-soft{background:#2C3943}
.ds-note{font-size:.84rem;color:#48555D;margin:8px 0 0}
