.calc{border:1px solid #e8edf2;border-radius:var(--radius);padding:1rem;background:#fafcfe;margin:1rem 0}
.calc fieldset{border:0;margin:0 0 1rem;padding:0}
.calc legend{font-weight:700;color:var(--accent);padding:0;margin-bottom:.5rem}
.calc label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.2rem}
.calc input[type=date],.calc input[type=number]{padding:.5rem .6rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;max-width:100%;background:#fff}
.calc input[type=number]{width:6rem}
.trip-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end;margin-bottom:.6rem}
.trip-row input{width:100%}
.trip-row .rm{padding:.5rem .7rem;border:1px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer;font:inherit;color:var(--accent)}
.trip-row.bad input{border-color:#c0392b}
.trip-err{grid-column:1/-1;color:#b03a2e;font-size:.85rem;margin-top:-.2rem}
.calc-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.btn{padding:.55rem 1rem;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.btn.alt{background:#fff;color:var(--accent);border:1px solid #cbd5e1}
.mode{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:.75rem}
.mode label{display:flex;gap:.4rem;align-items:center;color:var(--text);font-size:1rem;margin:0}
.fields{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}
.result{margin-top:1rem;border-radius:var(--radius);padding:1rem;background:#eef5fb;border:1px solid #cfe0ef}
.result.warn{background:#fdecea;border-color:#f1b5ae}
.result.ok{background:#eaf6ee;border-color:#b9dcc3}
.result dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:.5rem 0 0}
.result dt{color:var(--muted)}.result dd{margin:0;font-weight:600}
.result .big{font-size:1.5rem;font-weight:700;color:var(--accent)}
.bar{height:12px;border-radius:6px;background:#dbe5ee;overflow:hidden;margin:.6rem 0}
.bar i{display:block;height:100%;background:#1565a8}
.bar i.over{background:#c0392b}
.faq details{border-bottom:1px solid #e8edf2;padding:.6rem 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--accent)}
.calc-note{color:var(--muted);font-size:.9rem}
.text-block table{border-collapse:collapse;width:100%;max-width:640px;margin:.75rem 0}
.text-block th,.text-block td{border:1px solid #e2e8f0;padding:.4rem .6rem;text-align:left}
@media(max-width:520px){.trip-row{grid-template-columns:1fr 1fr}.trip-row .rm{grid-column:1/-1}}
