:root{--paper: #faf8f4;--ink: #1a1714;--muted: #6b6255;--rule: #d8d0c4;--accent: #7a5c2e;--panel: #f2ede4;--panel-edge: #e6dfd2;--bad: #8c2f1d;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:2px solid var(--ink)}h1{margin:0;font-size:26px;letter-spacing:.02em}.sub{margin:4px 0 0;color:var(--muted)}.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start;padding:24px;max-width:1200px}.editor{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:18px;position:sticky;top:24px}.editor h2{margin:0 0 14px;font-size:17px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.editor label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px}.row{display:flex;gap:10px}.row label{flex:1;min-width:0}input,select{display:block;width:100%;margin-top:4px;padding:9px 10px;font:16px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:4px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.hint{margin:-4px 0 14px;font-size:13px;color:var(--muted)}.interior{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rule);font-size:15px;color:var(--muted)}.interior strong{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:17px;color:var(--ink)}.print{flex:none;padding:11px 18px;font:600 15px/1 system-ui,sans-serif;color:var(--paper);background:var(--ink);border:0;border-radius:4px;cursor:pointer}.print:hover{background:var(--accent)}.sheet{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:22px 24px 28px;min-width:0}.sheet-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;border-bottom:2px solid var(--ink);font-size:17px}.sheet-head span{color:var(--muted);font-size:14px}.sheet section{margin-top:24px}.sheet h3{margin:0 0 10px;font-size:14px;letter-spacing:.12em;color:var(--accent)}.material{margin-bottom:18px}.material-name{font:600 13px/1 ui-monospace,Menlo,monospace;letter-spacing:.04em;padding:5px 0;color:var(--muted)}table{width:100%;border-collapse:collapse;font:14px/1.45 ui-monospace,SF Mono,Menlo,Consolas,monospace}th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--rule);padding:3px 8px 3px 0}td{padding:2px 8px 2px 0;vertical-align:top}th.n,td.n{text-align:right;width:1%;white-space:nowrap;padding-right:14px}td.note{color:var(--muted)}tr.subtotal td{padding:3px 0 10px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--rule)}.refused{padding:10px 0 6px;color:var(--bad)}.refused h2{margin:0 0 8px;font-size:18px}.refused p{margin:0 0 10px}.refused .hint{color:var(--muted)}footer{max-width:1200px;padding:8px 24px 40px;color:var(--muted);font-size:14px}footer p{margin:0;max-width:70ch}@media(max-width:820px){.layout{grid-template-columns:1fr;padding:16px;gap:16px}.editor{position:static}.sheet{padding:18px 14px 22px}table{font-size:13px}}.editor{padding:0;background:none;border:0}fieldset.cab{margin:0 0 14px;padding:4px 14px 14px;background:var(--panel);border:1px solid var(--rule);border-radius:6px}fieldset.cab.bad{border-color:var(--bad)}fieldset.cab legend{display:flex;align-items:center;gap:8px;padding:0 6px;font:600 13px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.x{padding:0 5px;font-size:16px;line-height:1;color:var(--muted);background:none;border:0;cursor:pointer}.x:hover{color:var(--bad)}.editor .row{gap:8px;margin-bottom:10px}.editor label{margin-bottom:0}table.sections{width:100%;border-collapse:collapse;margin-bottom:4px}table.sections th{width:1%;padding:3px 8px 3px 0;border:0;font:600 13px/1 ui-monospace,Menlo,monospace;color:var(--muted);text-transform:none;letter-spacing:0}table.sections td{padding:3px 6px 3px 0}table.sections td:last-child{padding-right:0}table.sections select{margin-top:0;font-size:14px;padding:6px 8px}.add{display:flex;gap:8px}.add button{flex:1;padding:10px;font:600 14px/1 system-ui,sans-serif;color:var(--ink);background:var(--panel);border:1px dashed var(--rule);border-radius:6px;cursor:pointer}.add button:hover{border-color:var(--accent);color:var(--accent)}.cab-id{color:var(--muted)}.totals{border-top:2px solid var(--ink);padding-top:14px}.totals table{max-width:520px}.totals td{padding-top:3px}.totals .hint{margin-top:10px}.tools{display:flex;flex-wrap:wrap;gap:8px}.tools button{padding:10px 14px;font:600 14px/1 system-ui,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:4px;cursor:pointer}.tools button:hover{border-color:var(--accent);color:var(--accent)}.tools button.print{color:var(--paper);background:var(--ink);border-color:var(--ink)}.tools button.print:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.notice{display:flex;align-items:center;gap:12px;margin:0;padding:12px 24px;color:var(--paper);background:var(--bad);font-size:15px}.notice button{padding:4px 10px;font:600 13px/1 system-ui,sans-serif;color:var(--paper);background:transparent;border:1px solid rgba(255,255,255,.5);border-radius:3px;cursor:pointer}@media(max-width:820px){header{flex-direction:column}.tools{width:100%}.tools button{flex:1}}@media print{.tools,.notice{display:none}}.bid table{max-width:560px}.bid td{padding:3px 8px 3px 0}.bid .unit{color:var(--muted);font-size:13px}.bid tr.rule td{padding-top:8px;border-top:1px solid var(--rule);font-weight:600}.bid tr.bid-total td{padding-top:8px;border-top:2px solid var(--ink);font-size:16px;font-weight:600}.check{display:flex;flex-wrap:wrap;gap:6px 24px;margin:14px 0 0;padding:10px 12px;background:var(--panel);border-radius:4px;font-size:14px}.check em{color:var(--muted);font-style:normal}.warn{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--bad);background:#fff4f1;font-size:14px;line-height:1.55;max-width:68ch}.wall{margin-top:4px}.elevation{display:block;width:100%;height:auto;max-height:420px;overflow:visible}.elevation .carcass{fill:#fff;stroke:var(--ink);stroke-width:1.4}.elevation .toe{fill:var(--panel);stroke:var(--rule);stroke-width:1}.elevation .front{fill:var(--panel);stroke:var(--ink);stroke-width:1}.elevation .front.drawer{fill:#ece5d8}.elevation .floor{stroke:var(--ink);stroke-width:2}.elevation .tag{font:600 9px/1 ui-monospace,Menlo,monospace;fill:var(--muted)}.elevation .dim line{stroke:var(--muted);stroke-width:.8}.elevation .dim text{font:9px/1 ui-monospace,Menlo,monospace;fill:var(--muted);text-anchor:middle}.elevation .dim.strong line{stroke:var(--ink)}.elevation .dim.strong text{fill:var(--ink);font-weight:600}@media print{.elevation{max-height:300px}.wall{break-inside:avoid;break-after:avoid}}.titleblock{display:none;padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--ink)}.tb-brand strong{display:block;font-size:18px;letter-spacing:.01em}.tb-brand span{color:var(--muted);font-size:13px}.tb-fields{display:flex;gap:28px;margin:10px 0 0}.tb-fields div{display:flex;gap:7px;align-items:baseline}.tb-fields dt{font:600 10px/1 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tb-fields dd{margin:0;font-size:14px}.tb-fields em{color:var(--muted);font-style:normal}.tb-note{margin:8px 0 0;font-size:13px;color:var(--muted)}fieldset.details input{font-family:system-ui,sans-serif}@page{margin:14mm 12mm}@media print{body{background:#fff;font-size:11pt}header,.sub,.editor,.tools,.notice,footer,.add{display:none!important}.layout{display:block;padding:0;max-width:none}.sheet{border:0;border-radius:0;padding:0}.titleblock{display:block}.sheet-head{font-size:13pt}.wall{margin:0 0 10pt}.elevation{max-height:3.4in}h3,.material-name{color:#000}table{font-size:9.5pt}th{border-bottom:1px solid #000}tr.subtotal td{border-bottom:1px solid #ccc;color:#444}tr,.material,.wall,.check{break-inside:avoid}section{break-inside:auto}.totals{break-inside:avoid}.bid{break-before:auto}.warn{border-left:2px solid #000;background:none;font-size:9pt;break-inside:avoid}.cab-id{color:#444}a[href]:after{content:""}}.prices{padding:18px 24px 22px;background:var(--panel);border-bottom:1px solid var(--rule)}.prices h2{margin:0 0 6px;font-size:17px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.prices h3{margin:18px 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.prices .hint{margin:0 0 14px;max-width:76ch}.prices .hint:last-child{margin:14px 0 0}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 16px;max-width:1150px}.price-grid label{display:grid;grid-template-columns:1fr 90px auto;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:400;color:var(--ink)}.price-grid input{margin:0;text-align:right;padding:7px 8px}.price-grid em{font-style:normal;font-size:12px;color:var(--muted)}.price-grid abbr{text-decoration:none;color:var(--accent)}.price-grid label.confirmed span{color:var(--muted)}.warn.edited{border-left-color:var(--accent);background:var(--panel)}@media(max-width:820px){.prices{padding:14px 16px 18px}.price-grid{grid-template-columns:1fr}}@media print{.prices{display:none!important}}
