.upgrade-panel,.upgrade-network{padding:28px;border-top:1px solid var(--line);background:var(--surface);min-width:0}.upgrade-panel h2,.upgrade-network h3{margin:0 0 16px}.calculator-workspace .upgrade-panel form,.calculator-workspace .upgrade-network form{display:block}.upgrade-panel .fields,.upgrade-network .fields{margin-bottom:18px}.upgrade-panel textarea,.room-project-controls textarea{display:block;width:100%;padding:12px;border:1px solid var(--input-line);border-radius:6px;color:var(--text);background:var(--field);font:14px/1.6 ui-monospace,monospace;resize:vertical}.upgrade-panel textarea:focus-visible,.room-project-controls textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.upgrade-panel button,.upgrade-network button,.room-project-controls button{padding:10px 16px;min-height:42px;background:var(--surface);border:1px solid var(--input-line);border-radius:5px;color:var(--text);font-weight:600}.upgrade-panel button[type=submit]{background:var(--lime);color:#173c31}.upgrade-panel button:disabled,.upgrade-network button:disabled,.room-project-controls button:disabled{opacity:.5}.upgrade-panel [data-answer],.upgrade-panel [data-v6-result]{margin-top:20px;border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--result)}.upgrade-big{font:500 28px/1.25 Georgia,serif;overflow-wrap:anywhere}.upgrade-panel dd{margin:0 0 12px;overflow-wrap:anywhere}.upgrade-panel dt{font-size:12px;color:var(--muted)}.upgrade-table{overflow:auto;margin:16px 0;border:1px solid var(--line)}.upgrade-table table{border-collapse:collapse;width:100%;font-size:13px}.upgrade-table th,.upgrade-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:100px}.upgrade-table th{background:var(--result)}.upgrade-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upgrade-stats p{margin:0;border-bottom:1px solid var(--line);padding:12px 0}.upgrade-stats strong{display:block}.ground-diagram{width:100%;max-height:380px;margin-top:24px}.ground-diagram polygon{fill:var(--art-fill);stroke:var(--forest);stroke-width:2}.ground-diagram circle{fill:var(--forest)}.ground-diagram text{fill:var(--text);font:12px system-ui}.room-project-controls{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.room-project-controls summary{cursor:pointer;margin:18px 0;font-weight:600}.room-project-controls .field{margin:12px 0}.room-wall-label{fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:2}.room-opening>path{stroke:var(--forest);stroke-width:5;fill:none}.room-opening.window>path{stroke:var(--focus);stroke-width:6}.room-opening>.door-swing{stroke-width:1.5;fill:none;stroke-dasharray:4 3}.upgrade-network [data-linked-equipment]{padding:10px 0}.upgrade-network [data-linked-equipment] p{overflow-wrap:anywhere}.room-figure{overflow:visible}.room-canvas{overflow:visible}
@media(max-width:600px){.upgrade-panel,.upgrade-network{padding:22px 18px}.upgrade-panel h2{font-size:29px}.upgrade-panel .fields,.upgrade-network .fields{grid-template-columns:1fr}.upgrade-big{font-size:24px}.upgrade-table th,.upgrade-table td{padding:8px}.upgrade-panel .result-actions{flex-wrap:wrap}}

.materials-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.calculator-workspace .materials-app form{display:block;min-width:0}.materials-app .output-panel{min-width:0}.materials-app h2{margin-top:0}.materials-app fieldset,.raid-comparison fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;margin:22px 0;padding:18px}.materials-app legend,.raid-comparison legend{font-weight:700;padding:0 8px}.materials-app .field{margin:12px 0}.materials-app textarea{width:100%;padding:12px;font:14px/1.6 ui-monospace,monospace;background:var(--field);color:var(--text);border:1px solid var(--input-line);border-radius:6px}.materials-app textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.materials-app button{min-height:42px;padding:10px 14px;background:var(--surface);color:var(--text);border:1px solid var(--input-line);border-radius:5px}.materials-app .calculate-button{background:var(--lime);color:#173c31;width:100%}.materials-app .project-check{display:flex;align-items:center;gap:8px;margin:12px 0}.project-check input{width:18px;height:18px}.materials-app button:disabled{opacity:.5}.labeled-boards svg{width:100%;overflow:visible}.lumber-offcut{fill:var(--result)}.lumber-cut{fill:#d4e58b;stroke:#173c31;stroke-width:1}.lumber-trim{fill:#cf866d}.labeled-boards text{fill:#173c31;font:11px system-ui}.labeled-boards section{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}.labeled-boards p{font-size:13px}.raid-compare-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.raid-capacity-bar{display:flex;height:30px;border-radius:5px;overflow:hidden}.raid-capacity-legend{list-style:none;padding:0;font-size:13px}.raid-capacity-legend i{display:inline-block;width:12px;height:12px;margin-right:8px;border:1px solid #64756c}.raid-comparison .available{background:#8dba6c}.raid-comparison .reserve{background:#b1c9e0}.raid-comparison .redundancy{background:#8a90b0}.raid-comparison .stranded{background:#d49570}.raid-comparison .spares{background:#c9c6af}.ground-diagram polygon{fill:var(--result)}
@media(max-width:950px){.materials-app{grid-template-columns:1fr}.materials-app .output-panel{border-left:0;border-top:1px solid var(--line)}}@media(max-width:600px){.raid-compare-inputs{grid-template-columns:1fr}.materials-app .fields{grid-template-columns:1fr}.materials-app fieldset{padding:14px}.materials-app .input-panel,.materials-app .output-panel{padding:22px 18px}}
@media print{body:has([data-materials]),body:has([data-raid-compare]){--text:#111;--bg:#fff;--surface:#fff;--muted:#333;color:#111;background:#fff}.print-content{white-space:pre-wrap;overflow-wrap:anywhere}}

.materials-app .upgrade-table{overflow:visible;border:0}.materials-app .upgrade-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.materials-app .upgrade-table tbody{display:block}.materials-app .upgrade-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:8px}.materials-app .upgrade-table td{display:block;min-width:0;border:0;font-size:14px;padding:8px}.materials-app .upgrade-table td::before{content:attr(data-column);display:block;font-size:11px;line-height:1.5;color:var(--muted);font-weight:600;margin-bottom:4px}.materials-app .upgrade-table td:first-child{font-weight:700}.labeled-boards svg text{font-size:15px}.room-wall-label{font-family:system-ui;font-weight:600}

.ground-diagram text{font-size:24px}@media print{html:has([data-materials]),html:has([data-raid-compare]){color-scheme:light!important;background:white!important}.project-print{--text:#111;--bg:white;--surface:white;--muted:#333;--line:#bbb;--result:#f4f4ed;color:#111!important}.project-print .upgrade-big{font-size:22px}.project-print .upgrade-table{border:0;overflow:visible}.project-print table{font-size:10px;width:100%;border-collapse:collapse}.project-print th,.project-print td{text-align:left;padding:6px;border-bottom:1px solid #bbb}.project-print th{background:#eee}.project-print tr{break-inside:avoid}.project-print .upgrade-stats{grid-template-columns:1fr 1fr}.project-print h3{font-size:16px}.project-print p{font-size:11px;line-height:1.4}.project-print .labeled-boards section{break-inside:avoid}.project-print .lumber-offcut{fill:#eee}.project-print .lumber-cut{fill:#d4e58b}.project-print svg{max-height:70px}}
@media print{.project-print{--forest:#111;--ink:#111}.project-print h2,.project-print h3{color:#111!important}.project-print table{font-size:12px}}
