/* Public tools only; private ledger pages do not load this file. */
.tool-form { padding:24px; margin-top:28px; background:var(--tint); border:1px solid var(--border); border-radius:12px; }
.tool-form .field { margin:16px 0; }
.tool-form input { width:100%; min-width:0; }
.tool-form label { display:block; font-weight:600; margin-bottom:8px; }
.tool-form .button { min-width:44px; min-height:44px; white-space:normal; }
.tool-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.tool-result { margin-top:28px; border:2px solid var(--brand); border-radius:12px; padding:24px; overflow-wrap:anywhere; }
.tool-result h2 { margin-bottom:12px; }
.tool-totals { margin:0; }
.tool-totals>div { padding:16px 0; border-top:1px solid var(--border); }
.tool-totals dt { color:var(--muted); font-size:14px; }
.tool-totals dd { margin:6px 0 0; color:var(--brand); font-weight:650; font-size:22px; font-variant-numeric:tabular-nums; }
.comparison-row { min-width:0; border:1px solid var(--input-border); padding:16px; border-radius:10px; margin:20px 0; background:var(--paper); }
.comparison-row legend { font-weight:650; padding:0 8px; }
.tool-form .field-error { margin:6px 0; font-size:13px; color:var(--danger); }
.tool-form input[aria-invalid=true] { border:2px solid var(--danger); }
.tool-form button:disabled { opacity:.65; }
.tool-result:focus { outline:3px solid var(--focus); outline-offset:3px; }
@media(max-width:480px) { .tool-grid { grid-template-columns:1fr; } .tool-form,.tool-result { padding:18px; } .tool-totals dd { font-size:20px; } }
