/* Retirement budget (calc/retirement-budget.html) */
.rb-net { margin: 4px 0 26px; max-width: 520px; }
.rb-net label { display: block; font: 600 clamp(1.2rem, 3.4vw, 1.5rem)/1.25 var(--serif); color: var(--ink); margin-bottom: 10px; }
.rb-net label small { display: block; font: 500 .9rem var(--sans); color: var(--muted); margin-top: 4px; }
.rb-net .hint { margin: 8px 0 0; }
.rb-h { font: 600 1.15rem/1.3 var(--sans); color: var(--ink); margin: 0; }
.rb-lines { margin-top: 12px; }
.rb-lines > .rb-extra { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px 16px; }
.rb-xcol { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rb-row { display: flex; gap: 8px; align-items: center; }
.rb-row .in { flex: 1; min-width: 0; }
.rb-del { border: 1px solid rgba(11, 40, 78, .2); background: #fff; color: var(--muted); border-radius: 10px; padding: 10px 12px; font: 600 .85rem var(--sans); cursor: pointer; }
.rb-del:hover { color: var(--ink); border-color: var(--ink); }
.rb-add { color: var(--brand); padding: 10px 18px; font-size: .95rem; }
.rb-tip { margin: 10px 0 22px; }
.rb-msg { margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: rgba(255, 255, 255, .08); border-left: 4px solid var(--mist); }
.rb-msg p { margin: 0; color: #fff; font-weight: 600; font-size: 1.05rem; max-width: 60ch; }
.rb-msg.short { border-left-color: var(--gold); }
.rb-msg.ok { border-left-color: #7fd3a1; }
.r-sub b { color: #fff; }
.rb-lines > .field:not(.rb-extra) > label { flex: 1; }
