*{box-sizing:border-box}body{margin:0;background:#f4f6f4;color:#182b2b;font:16px/1.55 system-ui,sans-serif}a{color:#126954}header,main,footer{max-width:1100px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c9d8d1}.brand{font-weight:800;letter-spacing:-.03em}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#386257}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.045em;max-width:850px;margin:15px 0}h2{font-size:1.25rem}p{max-width:760px}.intro{margin-bottom:30px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:white;padding:24px;border:1px solid #d3ddd8;border-radius:18px;box-shadow:0 5px 20px #19382a06}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-weight:600;font-size:.9rem}input,select,button{font:inherit;border-radius:8px}input,select{width:100%;padding:11px;margin-top:6px;border:1px solid #8a9f96;background:white;color:#182b2b}button{background:#126954;color:white;border:0;padding:12px 18px;font-weight:700;cursor:pointer;margin:12px 8px 0 0}button.secondary{background:#e5eeea;color:#183c31}button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #b95617;outline-offset:3px}.note,small{color:#4d625b;font-size:.88rem}.metric{font-size:2rem;font-weight:750;letter-spacing:-.04em;color:#126954}.result{background:#e7f3ed;border-color:#add1bd}.error{color:#9e291b;font-weight:600}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px 9px;border-bottom:1px solid #d7e1db;vertical-align:top}th{font-size:.8rem}fieldset{border:1px solid #c7d5ce;border-radius:12px;margin:16px 0;padding:16px}legend{font-weight:700}.wide{grid-column:1/-1}.badge{display:inline-block;border-radius:50px;background:#e7f3ed;padding:4px 10px;font-size:.8rem}footer{font-size:.85rem;color:#52675e}summary{cursor:pointer;font-weight:700}#results{margin-top:24px}.skip{position:absolute;top:-60px;background:white;padding:10px}.skip:focus{top:0}@media(max-width:680px){header,main,footer{padding:18px}.grid,.fields{grid-template-columns:1fr}.card{padding:18px}header .tag{display:none}h1{font-size:2.35rem}th,td{padding:10px 6px}}@media print{button,.skip{display:none}body{background:white}.card{break-inside:avoid;box-shadow:none}}