.rto-early-payoff-btn {
  -webkit-appearance:none; appearance:none; width:100%; min-height:42px; margin-top:10px; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:rgba(var(--surface-rgb),0.06); border:1.5px solid rgba(var(--wheat-rgb),0.24);
  border-radius:8px; padding:10px 12px; color:var(--wheat); font:inherit; font-size:0.78rem;
  font-weight:700; text-align:left;
}
.rto-early-payoff-btn::after { content:'\203A'; font-size:1.25rem; line-height:1; color:rgba(var(--wheat-rgb),0.72); }
.rto-early-payoff-btn:focus-visible { outline:2px solid var(--wheat); outline-offset:2px; }
.early-payoff-overlay {
  display:none; position:fixed; inset:0; z-index:10040; align-items:flex-end; justify-content:center;
  background:rgba(11,6,4,0.76); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  padding:max(12px,env(safe-area-inset-top,0px)) 10px 0; box-sizing:border-box;
}
.early-payoff-overlay.open { display:flex; }
html.early-payoff-open, html.early-payoff-open body { overflow:hidden !important; }
.early-payoff-sheet {
  width:min(100%,520px); max-height:min(91dvh,820px); display:flex; flex-direction:column;
  color:var(--cream); background:linear-gradient(165deg,var(--dialog-bg),var(--earth));
  border:1.5px solid rgba(var(--wheat-rgb),0.34); border-bottom:0; border-radius:18px 18px 0 0;
  box-shadow:0 -18px 54px rgba(0,0,0,0.42); overflow:hidden;
}
.early-payoff-handle { width:42px; height:4px; margin:8px auto 3px; border-radius:999px; background:rgba(var(--wheat-rgb),0.34); flex:0 0 auto; }
.early-payoff-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 16px 12px; border-bottom:1px solid rgba(var(--wheat-rgb),0.18); }
.early-payoff-kicker { font-size:0.58rem; letter-spacing:1.6px; text-transform:uppercase; color:rgba(var(--wheat-rgb),0.66); font-weight:800; }
.early-payoff-title { margin-top:2px; font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif; font-size:1.4rem; line-height:1; letter-spacing:1.4px; color:var(--wheat); }
.early-payoff-subtitle { margin-top:5px; font-size:0.7rem; line-height:1.35; color:rgba(var(--cream-rgb),0.7); }
.early-payoff-close {
  -webkit-appearance:none; appearance:none; flex:0 0 40px; width:40px; height:40px; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; border:1px solid rgba(var(--wheat-rgb),0.22); background:rgba(var(--surface-rgb),0.06);
  color:var(--cream); font:700 1rem/1 sans-serif;
}
.early-payoff-scroll { overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px)); }
.early-payoff-policy {
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; align-items:center; margin-bottom:12px; padding:11px 12px;
  background:rgba(var(--rust-rgb),0.13); border:1px solid rgba(var(--rust-rgb),0.32); border-radius:10px;
}
.early-payoff-rate { min-width:64px; text-align:center; font-family:'Bebas Neue',Impact,sans-serif; font-size:1.55rem; line-height:1; letter-spacing:1px; color:var(--wheat); }
.early-payoff-policy-copy strong { display:block; color:var(--cream); font-size:0.78rem; }
.early-payoff-policy-copy span { display:block; margin-top:3px; color:rgba(var(--cream-rgb),0.66); font-size:0.66rem; line-height:1.4; }
.early-payoff-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.early-payoff-field { min-width:0; }
.early-payoff-field.is-wide { grid-column:1/-1; }
.early-payoff-field label { display:block; margin-bottom:5px; color:rgba(var(--wheat-rgb),0.78); font-size:0.61rem; font-weight:800; line-height:1.35; letter-spacing:0.75px; text-transform:uppercase; }
.early-payoff-input-wrap { position:relative; }
.early-payoff-input-prefix,.early-payoff-input-suffix { position:absolute; top:50%; transform:translateY(-50%); color:rgba(var(--cream-rgb),0.56); font-size:0.8rem; pointer-events:none; }
.early-payoff-input-prefix { left:11px; }
.early-payoff-input-suffix { right:11px; }
.early-payoff-field input {
  -webkit-appearance:none; appearance:none; width:100%; min-height:44px; box-sizing:border-box; border-radius:8px;
  border:1.5px solid rgba(var(--wheat-rgb),0.25); background:var(--field-bg); color:var(--cream);
  padding:10px 11px; font:700 0.9rem/1.2 'DM Sans',sans-serif;
}
.early-payoff-field input.has-prefix { padding-left:25px; }
.early-payoff-field input.has-suffix { padding-right:28px; }
.early-payoff-field input:focus { outline:none; border-color:var(--wheat); box-shadow:0 0 0 3px rgba(var(--wheat-rgb),0.12); }
.early-payoff-help { grid-column:1/-1; margin:-2px 0 2px; color:rgba(var(--cream-rgb),0.57); font-size:0.64rem; line-height:1.45; }
.early-payoff-reset-paid { -webkit-appearance:none; appearance:none; border:0; background:transparent; color:var(--sky); padding:0; font-family:inherit; font-size:0.64rem; font-weight:700; line-height:1.3; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.early-payoff-status { margin-top:12px; border-radius:10px; padding:11px 12px; font-size:0.72rem; line-height:1.45; }
.early-payoff-status.is-blocked { color:#ffd5c8; background:rgba(var(--barn-rgb),0.24); border:1px solid rgba(var(--rust-rgb),0.48); }
.early-payoff-status.is-ready { color:var(--cream); background:rgba(122,158,135,0.13); border:1px solid rgba(122,158,135,0.38); }
.early-payoff-formula { margin-top:12px; padding:11px 12px; border-radius:10px; text-align:center; background:rgba(var(--surface-rgb),0.045); border:1px solid rgba(var(--wheat-rgb),0.16); color:rgba(var(--cream-rgb),0.74); font-size:0.7rem; line-height:1.45; }
.early-payoff-formula strong { color:var(--wheat); }
.early-payoff-breakdown { margin-top:10px; border-top:1px solid rgba(var(--wheat-rgb),0.18); }
.early-payoff-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:9px 2px; border-bottom:1px solid rgba(var(--wheat-rgb),0.1); }
.early-payoff-row span { color:rgba(var(--cream-rgb),0.67); font-size:0.7rem; line-height:1.35; }
.early-payoff-row strong { flex:0 0 auto; color:var(--cream); font-size:0.76rem; line-height:1.35; text-align:right; }
.early-payoff-row.is-credit strong { color:#a9d7b7; }
.early-payoff-total { margin-top:10px; padding:14px; border-radius:11px; text-align:center; background:var(--accent-deep); border:1.5px solid rgba(var(--wheat-rgb),0.4); }
.early-payoff-total-label { color:rgba(var(--surface-rgb),0.76); font-size:0.62rem; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.early-payoff-total-value { margin-top:3px; color:#fff; font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif; font-size:2rem; line-height:1; letter-spacing:1px; }
.early-payoff-total-note { margin-top:5px; color:rgba(var(--surface-rgb),0.72); font-size:0.62rem; line-height:1.35; }
.early-payoff-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.early-payoff-actions button { min-height:44px; margin:0; }
.early-payoff-disclaimer { margin-top:12px; color:rgba(var(--cream-rgb),0.52); font-size:0.61rem; line-height:1.48; }
html[data-theme="light"] .early-payoff-sheet { background:linear-gradient(165deg,#fffaf2,#f4e6d5); }
html[data-theme="light"] .early-payoff-status.is-blocked { color:#6b1f0e; }
html[data-theme="light"] .early-payoff-total-label,html[data-theme="light"] .early-payoff-total-note { color:rgba(255,255,255,0.78); }
@media (max-width:360px){
  .early-payoff-fields { grid-template-columns:1fr; }
  .early-payoff-field.is-wide,.early-payoff-help { grid-column:1; }
}
