*{box-sizing:border-box}body{margin:0;background:#f3f5f3;color:#18352e;font:16px/1.5 system-ui}header{background:#18352e;color:#d2e3d9;padding:20px 4%;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1px}header a{color:#fff;letter-spacing:0}a{color:#176451}main{max-width:1220px;margin:auto;padding:32px 24px}.intro{max-width:820px;margin-bottom:28px}h1{font-size:42px;line-height:1.15;letter-spacing:-1.5px;margin:8px 0 14px}h2{font-size:23px;line-height:1.2;margin:0 0 18px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:#496f5e;margin:0 0 8px}.notice{background:#f4e8c9;color:#674d16;padding:12px 16px;border-radius:8px;font-size:14px}.layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.card{background:#fff;border:1px solid #d9e2db;border-radius:16px;padding:26px}.preview{position:sticky;top:20px;background:#eaf0eb}.preview-head{display:flex;justify-content:space-between;font-size:12px;color:#52685e;gap:12px}svg{width:100%;max-height:450px;display:block;margin:12px 0}.spec{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:15px;border-top:1px solid #c7d8cd;padding-top:18px}.spec small,.spec strong{display:block}.spec small{font-size:11px;color:#52685e}.spec strong{font-size:13px}.muted{font-size:13px;color:#596d63;line-height:1.6}label,legend{display:block;font-weight:650;font-size:13px;margin:12px 0 6px}input{width:100%;border:1px solid #abbeb1;padding:12px;border-radius:8px;font:inherit;color:#18352e;background:#fff}input[type=radio]{width:auto;accent-color:#176451;margin-right:10px}fieldset{border:0;padding:0;margin:12px 0}.choice{border:1px solid #cfdcd3;border-radius:9px;padding:11px;margin:8px 0;cursor:pointer}.choice:has(input:checked){background:#eaf4ec;border-color:#408166}.choice small{display:block;padding-left:28px;font-weight:400;color:#596d63}.pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}button{font:600 13px system-ui;border:1px solid #a5baad;border-radius:8px;padding:11px 15px;background:white;color:#18352e;cursor:pointer}button:hover{background:#edf3ed}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:#176451;color:white;border-color:#176451}.presets{display:flex;gap:8px;flex-wrap:wrap}.presets small{width:100%;color:#596d63;font-size:11px}.pending{background:#f4f5f3;border-radius:8px;padding:12px;font-size:12px;margin:20px 0}.pending p{margin:4px 0}.badge{display:inline-block;background:#f4e8c9;padding:5px 9px;border-radius:6px;font-size:12px;color:#674d16}.price{font-size:34px;line-height:1.2;font-weight:750;margin:14px 0 3px}.breakdown{font-size:13px;color:#52685e}.error{color:#a52626}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.project{margin:26px 0}.project-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.project-head input{min-width:240px}.item{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #e0e8e2}.item strong,.item small{display:block}.item small{font-size:12px;color:#596d63}.item .actions{margin:8px 0 0}.amount{text-align:right;white-space:nowrap}.summary{background:#eaf0eb;padding:20px;border-radius:10px;margin-top:12px;display:flex;justify-content:space-between;gap:20px}.summary strong{font-size:25px}.provenance{font-size:14px}.empty{padding:24px;background:#f4f6f4;border-radius:9px;color:#596d63}[hidden]{display:none!important}:focus-visible{outline:3px solid #7d9be3;outline-offset:3px}@media(max-width:780px){header{flex-direction:column;gap:4px}.layout{grid-template-columns:1fr}.preview{position:static}.card{padding:20px}h1{font-size:32px}main{padding:24px 14px}.project-head,.summary{flex-direction:column}.project-head input{min-width:0}.project-head>div{width:100%}.item{flex-direction:column}.amount{text-align:left}.spec{gap:8px}}@media print{header,.layout,.intro,.actions,.project-head label,.project-head input,.provenance a{display:none!important}.card{border:0;padding:0}.project{margin:0}.item{break-inside:avoid}.project-head{display:block}body{background:white}.provenance{margin-top:30px}main{padding:0}}
