:root { --navy:#112e51; --blue:#005ea2; --gray:#f1f1f1; --border:#d6d7d9; --text:#1b1b1b; --gold:#ffbe2e; }
* { box-sizing: border-box; }
body { margin:0; font-family: "Public Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--text); background:#fff; line-height:1.5; }
.wrap { max-width: 860px; margin: 0 auto; padding: 0 16px; }
.banner { background:var(--navy); color:#fff; padding:24px 0; }
.banner h1 { margin:0 0 4px; font-size:1.6rem; }
.sub { margin:0; opacity:.9; }
.alert { border-left:6px solid var(--gold); background:#faf3d1; padding:12px 16px; margin:20px 0; }
.card { border:1px solid var(--border); border-radius:4px; padding:16px 20px; margin:16px 0; }
.card h2 { margin-top:0; color:var(--navy); font-size:1.25rem; }
.opt { font-weight:normal; font-size:.9rem; color:#5c5c5c; }
.hint { color:#5c5c5c; font-size:.95rem; }
.row { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:10px; background:var(--gray); margin-bottom:8px; border-radius:4px; }
.row label, .grid label { display:flex; flex-direction:column; font-weight:600; font-size:.9rem; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.grid label:has(input[type=checkbox]) { flex-direction:row; align-items:center; gap:8px; }
select, input[type=number] { font-size:1rem; padding:6px 8px; border:1px solid #565c65; border-radius:2px; min-width:140px; margin-top:4px; }
button { font-size:1rem; padding:8px 16px; border-radius:4px; cursor:pointer; }
.btn-secondary { background:#fff; color:var(--blue); border:2px solid var(--blue); font-weight:700; }
.remove { background:#fff; color:#b50909; border:1px solid #b50909; }
.result { border-color:var(--navy); border-width:2px; }
.big { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--border); padding:8px 0; }
.big strong { font-size:2rem; color:var(--navy); }
.warn { background:#fef0c8; padding:8px 12px; border-left:4px solid var(--gold); }
.pay { margin-top:8px; }
.how li { margin-bottom:8px; }
a { color:var(--blue); }
.foot { font-size:.9rem; color:#5c5c5c; border-top:1px solid var(--border); padding:16px; margin-top:24px; }
:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
.cards3 { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap:12px; margin-bottom:16px; }
.stat { border:1px solid var(--border); border-radius:6px; padding:14px; text-align:center; background:#fff; }
.stat .k { display:block; text-transform:uppercase; letter-spacing:.04em; font-size:.8rem; color:#5c5c5c; }
.stat strong { display:block; font-size:2.1rem; color:var(--navy); margin:4px 0; }
.stat.va strong { color:#2e6b3f; }
.stat small { color:#5c5c5c; }
.tier { border-left:6px solid var(--navy); background:#f3f6fa; padding:12px 16px; margin-bottom:12px; border-radius:4px; }
.tier h3 { margin:0 0 6px; color:var(--navy); font-size:1.05rem; }
.tier p { margin:6px 0; }
.check { flex-direction:row !important; align-items:center; gap:8px; }
