#vball-signup{max-width:40rem;margin:0 auto;color:var(--vball-ink,#102033);font-family:var(--vball-font,system-ui,-apple-system,Segoe UI,Roboto,sans-serif)}
.vball-progress{display:flex;list-style:none;padding:0;gap:.4rem;margin:0 0 1.2rem}
.vball-progress li{flex:1;text-align:center;font-size:.75rem;padding:.4rem;border-bottom:3px solid #d5dbe3;color:var(--vball-muted,#5b6b7c);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.vball-progress li[aria-current="step"],.vball-progress li.is-done{border-color:var(--vball-navy,#0a1628);color:var(--vball-navy,#0a1628)}
.vball-signup-form .vball-step>h2{font-size:clamp(1.6rem,4vw,2.2rem);margin:.2rem 0 .8rem;color:var(--vball-navy,#0a1628)}
.vball-signup-form h3{font-size:1.05rem;margin:1.2rem 0 .4rem;color:var(--vball-navy,#0a1628)}
.vball-signup-form label{display:block;margin:.7rem 0;font-weight:600}
.vball-signup-form input,.vball-signup-form select{display:block;width:100%;min-height:48px;font-size:16px;padding:.55rem .8rem;border:1px solid #c9d2dc;border-radius:12px;margin-top:.25rem;background:#fff}
.vball-signup-form input:focus,.vball-signup-form select:focus{outline:3px solid var(--vball-navy,#0a1628);border-color:var(--vball-navy,#0a1628)}
.vball-signup-form input[type=checkbox],.vball-signup-form input[type=radio]{display:inline-block;width:auto;min-height:22px;margin-right:.4rem}
.vball-signup-bar{display:flex;justify-content:space-between;gap:.6rem;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--vball-bg,#f4f6f9) 28%);position:sticky;bottom:0;z-index:4}
.vball-signup-bar button{min-height:52px;flex:1;font-size:1rem;border-radius:8px;border:0;font-weight:800;cursor:pointer}
.vball-next{background:var(--vball-navy,#0a1628);color:#fff}
.vball-back{background:#fff;border:2px solid var(--vball-navy,#0a1628)!important;color:var(--vball-navy,#0a1628);border-radius:8px}
.vball-program-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}
.vball-program-card{display:block;width:100%;text-align:left;padding:1rem;min-height:88px;border-radius:16px;border:2px solid #d5dbe3;background:#fff;cursor:pointer;font:inherit;color:inherit}
.vball-program-card strong{display:block;margin-bottom:.25rem;color:var(--vball-navy,#0a1628)}
.vball-program-card span,.vball-program-card em{display:block;font-size:.85rem;font-style:normal;color:var(--vball-muted,#5b6b7c);font-weight:400}
.vball-program-card.is-selected{border-color:var(--vball-navy,#0a1628);background:#fff;box-shadow:0 0 0 3px rgba(10,22,40,.18)}
.vball-offer-row,.vball-offer{display:block;width:100%;text-align:left;padding:.9rem;margin:.4rem 0;border-radius:12px;border:1px solid #d5dbe3;background:#fff;cursor:pointer}
.vball-offer-row.is-selected,.vball-offer.is-selected{border-color:var(--vball-navy,#0a1628);box-shadow:0 0 0 3px rgba(10,22,40,.18)}
.vball-age-msg{color:#a33}
.vball-review dt{font-weight:700;margin-top:.5rem}
.vball-error{color:#a33;font-weight:700}
.vball-hint,.vball-hold-note{font-size:.9rem;color:var(--vball-muted,#5b6b7c)}
.vball-off-group{margin:1rem 0}
.vball-off-group h3{margin:.4rem 0;text-transform:capitalize;color:var(--vball-navy,#0a1628)}
.vball-btn{display:inline-block;min-height:44px;line-height:44px;padding:0 1rem;border-radius:8px;background:var(--vball-navy,#0a1628);color:#fff;font-weight:800;text-decoration:none}
.vball-league-toggle{display:none!important}
@media (max-width:480px){.vball-program-cards{grid-template-columns:1fr}}

.vball-track-copy{display:block;font-size:.8rem;font-style:normal;color:var(--vball-muted,#5b6b7c);font-weight:400;margin-top:.35rem;line-height:1.35}
html.vball-terms-locked{overflow:hidden}
.vball-terms-overlay{position:fixed;inset:0;z-index:10000;background:rgba(10,22,40,.55);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px))}
.vball-terms-sheet{background:#fff;color:#102033;max-width:40rem;width:100%;border-radius:16px;padding:1.25rem 1.4rem 1.5rem;border-top:4px solid #0a1628;box-shadow:0 12px 40px rgba(10,22,40,.25)}
.vball-terms-sheet h1{font-size:1.35rem;color:#0a1628;margin:.2rem 0 .8rem}
.vball-terms-body{max-height:min(50vh,28rem);overflow:auto;border:1px solid #d5dbe3;border-radius:12px;padding:.85rem 1rem;background:#f6f7f7;margin:0 0 1rem;font-size:.92rem}
.vball-terms-body h1,.vball-terms-body h2{color:#0a1628}
.vball-terms-form label{display:block;margin:.7rem 0;font-weight:600}
.vball-terms-form input[type=text]{display:block;width:100%;min-height:48px;font-size:16px;padding:.55rem .8rem;border:1px solid #c9d2dc;border-radius:12px;margin-top:.25rem}
.vball-terms-form input[type=checkbox]{width:auto;min-height:22px;margin-right:.4rem}
.vball-terms-err{color:#a33;font-weight:700}
.vball-terms-form .vball-btn{min-height:52px;width:100%;text-align:center;border:0;border-radius:8px;cursor:pointer}
