/* Herramientas — Cuentas Claras */
.tool-box{background:var(--paper-card);border:1px solid var(--rule);border-radius:8px;padding:18px;margin:1.2em 0}
.tool-box h2{margin-top:0!important}
.form-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:700px){.form-grid{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label,.field .lbl{font-weight:600;font-size:.95rem}
.field .hint{font-size:.82rem;color:var(--ink-faint);line-height:1.4}
.field input[type=number],.field input[type=month],.field select{font:inherit;font-size:1rem;padding:10px 12px;border:1px solid #8b8b7a;border-radius:6px;background:#fff;color:var(--ink);width:100%;min-height:44px;box-sizing:border-box}
.field input:focus,.field select:focus,.btn-row button:focus-visible,.table-scroll:focus{outline:3px solid var(--teal);outline-offset:2px}
.field input[aria-invalid="true"]{border-color:#a4261c;background:#fff6f5}
.field-error{color:#a4261c;font-size:.88rem;margin:0}
.error-summary{border:2px solid #a4261c;background:#fff6f5;border-radius:6px;padding:12px 14px;margin:14px 0;font-size:.92rem}
.error-summary ul{margin:.4em 0 0;padding-left:1.2em}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn-row button{font:inherit;font-weight:600;padding:12px 18px;border-radius:6px;border:1px solid var(--teal);cursor:pointer;min-height:44px}
.btn-row .primary{background:var(--teal);color:#fff}
.btn-row .secondary{background:#fff;color:var(--teal)}
fieldset.opt{border:1px solid var(--rule);border-radius:6px;padding:14px;margin:0 0 14px}
fieldset.opt legend{font-weight:700;padding:0 6px}
.check{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;margin-top:8px}
.check input{margin-top:4px;min-width:18px;min-height:18px}
#resultado{margin-top:1.2em}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule);border-radius:6px;max-height:520px;background:#fff}
table.amort,table.cmp{border-collapse:collapse;width:100%;font-size:.88rem;font-variant-numeric:tabular-nums}
table.amort{min-width:640px}
table.cmp{min-width:360px}
table.amort th,table.amort td,table.cmp th,table.cmp td{padding:8px 10px;border-bottom:1px solid var(--rule-soft);text-align:right}
table.amort th:first-child,table.cmp th:first-child{text-align:left}
table.amort thead th,table.cmp thead th{position:sticky;top:0;background:var(--paper-card);z-index:1}
table.amort tfoot th,table.amort tfoot td{font-weight:700;border-top:2px solid var(--rule)}
caption{text-align:left;font-weight:700;padding:8px 10px}
.sub{font-weight:400;font-size:.82rem;color:var(--ink-faint)}
.alert-box{border-radius:6px;padding:12px 14px;margin:12px 0;font-size:.95rem;line-height:1.55}
.alert-box.warn{background:#fff4e0;border:1px solid #b36b00}
.alert-box.info{background:#eef5f4;border:1px solid var(--teal)}
.result-callout{background:var(--brass-tint);border-left:4px solid var(--brass);padding:12px 14px;margin:14px 0;border-radius:0 6px 6px 0}
.result-callout.ok{background:#eaf5ec;border-left-color:#2b7a3d}
.note-small{font-size:.86rem;color:var(--ink-soft);line-height:1.5}
.muted{color:var(--ink-faint)}
.kv{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:10px 0}
@media(min-width:560px){.kv{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.kv dt{font-weight:600}.kv dd{margin:0 0 8px}
.opt-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:800px){.opt-grid{grid-template-columns:1fr 1fr}}
.opt-card{border:1px solid var(--rule);border-radius:6px;padding:14px;background:#fff}
.opt-card h3{margin-top:0}
.bar{display:flex;height:16px;border-radius:8px;overflow:hidden;background:#e5e2d6}
.seg-a{background:#2f6f62}.seg-b{background:#b07a2d}.seg-c{background:#8c3b3b}.seg-d{background:#5f5f8c}
.legend{list-style:none;margin:8px 0 0;padding:0;font-size:.85rem}
.legend li{margin:2px 0;display:flex;gap:8px;align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
fieldset.seg{border:0;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
fieldset.seg legend{font-weight:600;padding:0;margin-bottom:4px}
.tag-ref{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--brass-tint);color:var(--brass-dark);padding:2px 8px;border-radius:10px;vertical-align:middle}
.tool-card-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:1.2em 0}
@media(min-width:800px){.tool-card-grid{grid-template-columns:repeat(3,1fr)}}
.tool-card{display:block;border:1px solid var(--rule);border-radius:8px;padding:16px;background:var(--paper-card);text-decoration:none;color:inherit}
.tool-card:hover{border-color:var(--teal)}
.tool-card h2,.tool-card h3{font-family:var(--serif);margin:.2em 0 .4em;font-size:1.2rem}
.tool-card p{margin:0;font-size:.95rem;color:var(--ink-soft)}
.worked{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:14px 16px}
.nav-tools{display:flex;flex-wrap:wrap;gap:8px 16px;margin:1.2em 0 0;font-size:.95rem}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
