/* 401(k) & IRA Contribution Planner — reuses the tabbed planner layout and compact form rows. */
.rp-hero{background:radial-gradient(circle at 92% 18%,#4f8dff33,transparent 38%),linear-gradient(120deg,#392654,#211d38 75%)}
.rp .tg-side .tg-tabs [role=tab]{flex:1 1 0;min-width:0;padding:9px 4px;font-size:.88rem;overflow:hidden;text-overflow:ellipsis}
.rp-pctin{position:relative}.rp-pctin::after{content:'%';position:absolute;right:26px;top:50%;transform:translateY(-50%);color:var(--usp-muted);font-size:.85rem;pointer-events:none}.rp-pctin input{padding-right:40px!important;width:100%}
.rp-tier{display:grid;grid-template-columns:auto 76px auto 76px auto 32px;align-items:center;gap:6px;font-size:.86rem;padding:6px 0;border-bottom:1px solid #2e2843}
.rp-tier input{height:32px;padding:4px 6px;text-align:right;width:100%}
.rp-presets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.rp .rp-presets button{padding:6px 10px;font-size:.82rem}
.rp-bar{position:relative;height:28px;border-radius:8px;background:#151226;overflow:hidden;margin:10px 0 4px}
.rp-bar i{position:absolute;top:0;bottom:0;left:0}
.rp-bar .ytd{background:#7aa7ff}.rp-bar .rest{background:#a77bff}.rp-bar .gap{background:repeating-linear-gradient(45deg,#3a3352 0 6px,#2a2440 6px 12px)}
.rp-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--usp-muted)}.rp-legend span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:var(--c)}
.rp-opts{width:100%;border-collapse:collapse;margin-top:12px;font-size:.92rem}.rp-opts th,.rp-opts td{padding:8px 6px;border-bottom:1px solid #3a3352;text-align:right}.rp-opts th:first-child,.rp-opts td:first-child{text-align:left}.rp-opts th{color:#d9c1ff;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.rp-opts tr.now td{background:#2d2645}.rp-opts .rp-apply{padding:4px 10px;font-size:.8rem}
.rp-chart svg{width:100%;height:auto;display:block}
.rp-chart .grid line{stroke:#3a3352}.rp-chart text{fill:#c8bfd9;font-size:11px}
.rp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
@media(max-width:560px){.rp-tier{grid-template-columns:auto 60px auto 60px auto 30px;font-size:.8rem}}
.rp-tierbox{border:1px solid #3a3352;border-radius:12px;padding:6px 12px 2px;margin:0 0 8px;background:#1c182e}
.rp-tierhead{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#d9c1ff;padding-top:4px}
.rp .rp-x{padding:3px 9px;font-size:.78rem;background:none}
