.calc{padding:var(--s-5) 0 var(--s-6)}
.intro{max-width:800px;margin-bottom:var(--s-4)}
.intro p{color:var(--muted)}
.calculator{margin-bottom:var(--s-4);padding:var(--s-4)}
.calculator h2{font-size:1.5rem;margin-bottom:.5rem}
.description{color:var(--muted);margin:0 0 var(--s-3)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.4rem}
.field input{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-s);font:1rem var(--font-body);color:var(--ink);background:#fff}
.field input:focus{outline:2px solid var(--green);border-color:var(--green)}
.field small{display:block;color:var(--muted);font-size:.75rem;margin-top:.35rem}
.results{background:var(--sand);border-radius:var(--radius);padding:var(--s-3);margin-top:var(--s-4)}
.results h3{margin-bottom:var(--s-2);font-size:1.15rem}
.result-row{display:flex;justify-content:space-between;gap:var(--s-2);padding:.7rem 0;border-bottom:1px solid var(--line)}
.result-row:last-child{border-bottom:0}
.result-row span{color:var(--muted)}
.result-row strong{text-align:right;font-size:1rem}
.result-row.highlight strong{color:var(--green-700);font-size:1.2rem}
.result-row.negative strong{color:#b54737}
@media(max-width:800px){.fields{grid-template-columns:1fr}.calculator{padding:var(--s-3)}}
@media(max-width:480px){.result-row{flex-direction:column;gap:.15rem}.result-row strong{text-align:left}}

/* ---- shared extras for the other tools ---- */
.tool-links{margin-top:var(--s-3);font-size:.9375rem}
.fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fields-1{grid-template-columns:1fr}
.result-row.positive strong{color:var(--green-700)}
.preset-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 var(--s-3)}
.preset-row button,.btn-small{font:600 .875rem var(--font-body);padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--teal-900);cursor:pointer}
.preset-row button:hover,.btn-small:hover{border-color:var(--green);background:var(--green-100)}
.entry-list{display:grid;gap:.75rem;margin-bottom:var(--s-2)}
.entry-row{display:grid;grid-template-columns:230px 1fr 140px auto;gap:.75rem;align-items:center}
.entry-row select,.entry-row input{width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-s);font:1rem var(--font-body);background:#fff;color:var(--ink)}
.entry-row .remove{border:0;background:transparent;font-size:1.25rem;line-height:1;color:var(--muted);cursor:pointer;padding:.4rem .6rem;border-radius:8px}
.entry-row .remove:hover{background:var(--sand);color:#b54737}
.entry-head{display:grid;grid-template-columns:230px 1fr 140px auto;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.entry-head span:last-child{width:2.2rem}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-4)}
.compare .results{margin-top:0}
.note{font-size:.8125rem;color:var(--muted);margin:var(--s-2) 0 0}
.check-group{margin-bottom:var(--s-4)}
.check-group h3{font-size:1.15rem;margin-bottom:var(--s-2)}
.check-item{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;margin-bottom:.6rem;cursor:pointer}
.check-item:hover{border-color:var(--green)}
.check-item input{width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--green-700);flex-shrink:0}
.check-item span{color:var(--body)}
.check-item small{display:block;color:var(--muted);font-size:.8125rem;margin-top:.15rem}
.check-item.is-done{background:var(--green-100);border-color:#cdeadb}
.check-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-2);background:var(--sand);border-radius:var(--radius);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3)}
.check-summary strong{font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.6rem}
@media(max-width:800px){.fields-3{grid-template-columns:1fr}.compare{grid-template-columns:1fr}
 .entry-head{display:none}
 .entry-row{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "d a" "r r"}
 .entry-row select{grid-area:t}.entry-row .remove{justify-self:start}}
