.sp-grid{gap:var(--gap-card);align-items:start;display:grid}@media (min-width:960px){.sp-grid{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px}}.sp-form{gap:18px;padding:22px 20px;display:grid}@media (min-width:960px){.sp-form{padding:26px 24px;position:-webkit-sticky;position:sticky;top:92px}}.sp-fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.sp-fieldset .calc-label{padding:0}.sp-radio-row{flex-wrap:wrap;gap:8px 18px;display:flex}.sp-radio{color:var(--body);cursor:pointer;align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.sp-radio input{width:17px;height:17px;accent-color:var(--indigo)}.sp-money-input{align-items:center;gap:8px;display:flex}.sp-money-input>span{color:var(--secondary);font-weight:600}.sp-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sp-results{gap:16px;display:grid}.sp-result-card{padding:24px 22px}@media (prefers-reduced-motion:no-preference){.sp-result-card{animation:spReveal var(--dur-base)var(--ease-standard)both}}@keyframes spReveal{0%{opacity:0;transform:translateY(var(--reveal-rise))}to{opacity:1;transform:translateY(0)}}.sp-headline{gap:3px;margin-bottom:16px;display:grid}.sp-headline .res-value{font-family:var(--serif);font-optical-sizing:auto;color:var(--ink);font-size:max(2rem,min(7vw,2.7rem));font-weight:600;line-height:1.1}.res-sub{color:var(--secondary);font-size:.9rem}.sp-fx{background:var(--indigo-tint);border-radius:var(--radius);gap:8px;margin-bottom:18px;padding:12px 14px;display:grid}.sp-fx-line{color:var(--ink);margin:0;font-size:.92rem}.sp-schedule-wrap{border:1px solid var(--line);border-radius:var(--radius);max-height:360px;overflow-y:auto}.sp-schedule-wrap:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.sp-schedule{border-collapse:collapse;width:100%;font-size:.9rem}.sp-schedule th,.sp-schedule td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:9px 14px}.sp-schedule th:first-child,.sp-schedule td:first-child{text-align:left}.sp-schedule thead th{background:var(--paper);color:var(--secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.sp-schedule tbody tr:last-child td{border-bottom:0}.sp-empty{padding:32px 24px}.sp-actions{gap:8px;display:grid}
