:root{--ink:#142631;--line:#c7d5dc;--brand:#006b72;--soft:#edf8f8;--warn:#a02c16;font:16px/1.58 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0}a{color:#00636a}header,footer{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;padding:1rem max(1rem,calc((100% - 1120px)/2));border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);border-bottom:0;margin-top:3rem;justify-content:flex-start;flex-wrap:wrap}.brand{font-weight:850;text-decoration:none}nav{display:flex;gap:1rem;flex-wrap:wrap}main{max-width:1120px;margin:auto;padding:1.1rem}.hero{max-width:780px;padding:3rem 0 2rem}.eyebrow{color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.08em}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;margin:.25rem 0 1rem}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1.2rem;align-items:start}form,.result,.content{border:1px solid var(--line);border-radius:14px;padding:1.3rem}.result{background:var(--soft);position:sticky;top:1rem}.item{display:grid;grid-template-columns:1fr 90px 120px 100px;gap:.5rem;align-items:end;margin-bottom:.7rem}.item label{font-weight:700}.item input,.totals input{width:100%;padding:.65rem;border:1px solid #7d9199;border-radius:8px;font:inherit}.line-total{padding:.65rem 0;font-weight:800}.totals{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}button,.download-link{border:0;border-radius:8px;background:var(--brand);color:#fff;padding:.72rem 1rem;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.buttons button:nth-child(n+2){background:#d5ebec;color:#11484b}.summary{display:grid;grid-template-columns:1fr auto;gap:.5rem}.summary .grand{font-size:1.35rem;border-top:2px solid var(--ink);padding-top:.5rem}.error{color:var(--warn);font-weight:700}.content{max-width:850px;margin-top:1.5rem}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.fields div{background:#f5f7f8;padding:1rem;border-left:4px solid var(--brand)}:focus-visible{outline:3px solid #d87000;outline-offset:3px}@media(max-width:780px){header{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:1fr}.result{position:static}.item{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}main{padding:1rem}}
