/* Calculator styles (loaded only on tool pages) */
.tool-box{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--teal);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.1rem 1.25rem;margin:1.5rem 0}
.tool-box h2{margin-top:0;font-size:1.35rem}
.tsa-grid{display:grid;gap:.9rem}
@media (min-width:40rem){.tsa-grid{grid-template-columns:1fr 1fr}}
.tsa-field label{display:block;font-weight:700;font-size:.95rem;margin-bottom:.25rem}
.tsa-field .hint{display:block;font-size:.85rem;color:var(--muted);margin-top:.2rem}
.tsa-field input,.tsa-field select{width:100%;font:inherit;font-size:1rem;padding:.6rem .7rem;border:1px solid #b9b1a4;border-radius:8px;background:#fff;color:var(--ink)}
.tsa-field input:focus,.tsa-field select:focus{outline:3px solid var(--sun);outline-offset:1px;border-color:var(--teal)}
.tsa-money{position:relative}
.tsa-money span{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--muted)}
.tsa-money input{padding-left:1.5rem}
.tsa-actions{margin:1rem 0 0}
.tsa-actions .btn{cursor:pointer;font:inherit;font-weight:700}
.tsa-results{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}
.tsa-results h3{margin-top:0}
.tsa-results h3:focus{outline:none}
.tsa-big{display:grid;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none}
@media (min-width:40rem){.tsa-big{grid-template-columns:repeat(3,1fr)}}
.tsa-big li{background:var(--teal-tint);border-radius:10px;padding:.75rem .9rem;margin:0}
.tsa-big .lbl{display:block;font-size:.85rem;color:var(--ink-2);font-weight:600}
.tsa-big .v{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--teal);line-height:1.2}
.tsa-breakdown{width:100%;min-width:0;border-collapse:collapse;font-size:.95rem}
.tsa-breakdown th,.tsa-breakdown td{padding:.45rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tsa-breakdown td.amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tsa-breakdown tr.sub th{font-weight:400;padding-left:1.6rem;color:var(--ink-2)}
.tsa-breakdown tr.total th,.tsa-breakdown tr.total td{font-weight:700;border-top:2px solid var(--ink);border-bottom:0}
.tsa-notes{font-size:.92rem;margin-top:.75rem}
.tool-disclaimer{background:var(--sand);border:1px solid var(--sand-line);border-left:5px solid #d98a2b;border-radius:10px;padding:.85rem 1rem;margin:1.25rem 0;font-size:.95rem}
.tool-disclaimer p{margin:0 0 .4rem}.tool-disclaimer p:last-child{margin:0}
.formula{background:#f4f1ea;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;font-size:.95rem;overflow-x:auto}
.formula ol{margin:0;padding-left:1.2rem}
.tool-note{border-left-color:var(--sun)}
.card--tool .card-kicker{color:var(--teal)}
/* show the form from first paint when JS is on (avoids a full re-layout when the script runs) */
html:not(.js) #tsa-form{display:none}
html.js #tsa-nojs{display:none}
