.loan-planner-shell{width:min(1180px,calc(100% - 2rem));margin:1.25rem auto 2.5rem}.loan-planner-intro{margin-bottom:1rem;text-align:center}.loan-planner-intro h1{max-width:none;margin:.25rem 0 .4rem;font-size:clamp(1.8rem,4vw,2.8rem)}.loan-planner-intro p{margin:0;color:var(--muted)}.loan-planner-card,.loan-planner-comparison>div{margin-bottom:1rem;padding:clamp(1rem,2.5vw,1.35rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.loan-planner-card:first-child{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--petal-teal) 6%),var(--surface))}.loan-planner-card h2,.loan-planner-comparison h3{margin-bottom:.7rem;color:var(--primary-strong)}.loan-planner-card h2{font-size:1.2rem;line-height:1.25}.loan-planner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.loan-planner-grid .interest-rate-lower{grid-column:1}.loan-planner-grid .interest-rate-upper{grid-column:2}.loan-planner-grid label,.loan-planner-optimizer label{display:grid;gap:.35rem;color:var(--muted);font-size:.86rem;font-weight:800;align-content:start}.loan-field-label{min-height:2.35em;display:flex;align-items:end;color:var(--text);line-height:1.25}.loan-planner-grid small{color:var(--muted);font-size:.75rem;font-weight:600}.loan-planner-grid small.is-error{color:#d9485f;font-weight:800}.loan-planner-grid input,.loan-planner-grid select,.loan-planner-optimizer input{width:100%;min-height:2.75rem;padding:.65rem .75rem;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.retirement-selects{display:grid;grid-template-columns:1.2fr .8fr;gap:.5rem}.retirement-field small{min-height:1.2em;line-height:1.25}.loan-planner-grid input::placeholder,.loan-planner-optimizer input::placeholder{color:color-mix(in srgb,var(--muted) 68%,transparent);font-style:italic;font-weight:400;opacity:1}.loan-planner-actions,.loan-planner-optimizer{display:flex;align-items:end;gap:.7rem;margin-top:1rem}.loan-planner-actions .btn,.loan-planner-optimizer .btn{min-height:2.75rem;padding-inline:1.15rem;white-space:nowrap}.loan-planner-summary,.loan-planner-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.loan-planner-summary>div{padding:1rem;background:color-mix(in srgb,var(--surface) 90%,var(--petal-teal) 10%);border:1px solid var(--line);border-top:4px solid var(--petal-teal);border-radius:var(--radius-md)}.loan-planner-summary span{display:block;color:var(--muted);font-size:.8rem;font-weight:800}.loan-planner-summary strong{display:block;margin-top:.3rem;color:var(--primary-strong);font-size:1.25rem}.loan-planner-optimizer{align-items:end}.loan-planner-optimizer label{flex:1;max-width:28rem}.loan-planner-result{margin-bottom:1rem;padding:1rem;color:var(--primary-strong);background:color-mix(in srgb,var(--petal-sage) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--petal-sage) 45%,var(--line));border-radius:var(--radius-md);font-weight:800}.loan-planner-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-planner-comparison>div{margin-bottom:0}.loan-planner-comparison dl{display:grid;grid-template-columns:1fr auto;gap:.45rem .8rem;margin:0}.loan-planner-comparison dt{color:var(--muted)}.loan-planner-comparison dd{margin:0;color:var(--primary-strong);font-weight:900}.loan-planner-schedules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.loan-planner-schedules h3{margin-bottom:.5rem;color:var(--primary-strong);font-size:.95rem}.loan-planner-schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.loan-planner-schedule-heading h3{margin:0 .5rem 0 0}.loan-planner-download{padding:.4rem .7rem;font-size:.78rem;white-space:nowrap}.loan-planner-download:disabled{cursor:not-allowed;opacity:.5}.loan-planner-table-wrap{max-height:26rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.loan-planner-table-wrap table{width:100%;min-width:42rem;border-collapse:collapse;font-size:.78rem}.loan-planner-table-wrap th{position:sticky;top:0;padding:.55rem;color:#fff;background:var(--primary-strong)}.loan-planner-table-wrap td{padding:.5rem;color:var(--text);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.loan-planner-table-wrap td:first-child{text-align:center}[data-theme="dark"] .loan-planner-schedules h3{color:#f3f7fb}[data-theme="dark"] .loan-planner-table-wrap th{color:#ffffff;background:#294965}@media (max-width:860px){.loan-planner-grid{grid-template-columns:1fr}.loan-planner-grid .interest-rate-lower,.loan-planner-grid .interest-rate-upper{grid-column:auto}.loan-planner-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-planner-schedules{grid-template-columns:1fr}}@media (max-width:560px){.loan-planner-shell{width:min(100% - 1.25rem,1180px);margin-top:0.75rem}.loan-planner-card,.loan-planner-comparison>div{padding:0.9rem;border-radius:var(--radius-md)}.loan-planner-summary,.loan-planner-comparison{grid-template-columns:1fr}.loan-planner-grid label,.loan-planner-optimizer label{font-size:0.82rem}.retirement-selects{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}.loan-planner-optimizer{align-items:stretch;flex-direction:column}.loan-planner-actions{align-items:stretch;flex-direction:column}.loan-planner-actions .btn,.loan-planner-optimizer .btn{width:100%}.loan-planner-summary>div{padding:0.85rem}.loan-planner-summary strong{font-size:1.15rem}.loan-planner-schedule-heading{align-items:stretch;flex-direction:column;gap:0.55rem}.loan-planner-schedule-heading h3{margin-right:0}.loan-planner-download{width:100%}.loan-planner-table-wrap{width:100%;max-width:100%;overflow-x:hidden;-webkit-overflow-scrolling:touch}.loan-planner-table-wrap table{width:100%;min-width:0;table-layout:fixed;font-size:0.64rem}.loan-planner-table-wrap th,.loan-planner-table-wrap td{padding:0.35rem 0.2rem;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.loan-planner-table-wrap th:first-child,.loan-planner-table-wrap td:first-child{width:10%}.loan-planner-table-wrap th:not(:first-child),.loan-planner-table-wrap td:not(:first-child){width:18%}}