:root{--ink:#18252d;--line:#c8d4da;--brand:#145f66;--soft:#edf7f7;--danger:#a32e1a;font:16px/1.58 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0}a{color:#075e66}header,footer{display:flex;gap:1rem;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:1rem}.hero{max-width:820px;padding:3rem 0 2rem}.eyebrow{color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.08em}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin:.25rem 0 1rem}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:1.2rem;align-items:start}form,.result,.content{border:1px solid var(--line);border-radius:14px;padding:1.25rem}.result{background:var(--soft);position:sticky;top:1rem}.obligation{display:grid;grid-template-columns:1.5fr 1fr 145px 120px;gap:.55rem;margin-bottom:.8rem}.obligation label,.controls label{font-weight:700}.obligation input,.obligation select,.controls input{width:100%;padding:.65rem;border:1px solid #768b94;border-radius:8px;font:inherit}.controls{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}button,.download{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:#d7ebec;color:#113f43}.summary{display:grid;grid-template-columns:1fr auto;gap:.5rem}.summary strong{font-size:1.25rem}.error{color:var(--danger);font-weight:700}.content{max-width:880px;margin-top:1.5rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border:1px solid var(--line);padding:.6rem;text-align:left}.download{margin:.5rem 0 1rem}:focus-visible{outline:3px solid #dc7900;outline-offset:3px}@media(max-width:820px){header{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:1fr}.result{position:static}.obligation{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr}main{padding:.9rem}}
