:root{font-family:Inter,system-ui,sans-serif;color:#f5f5f5;background:#0b0d10;--red:#d71920;--panel:#15191f;--line:#2a3038}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,60px);background:#0d1014;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.sp-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:800}.sp-brand img{height:48px;width:auto}.sp-header nav{display:flex;gap:18px}.sp-header nav a,.sp-footer a{color:#ddd;text-decoration:none}.sp-main{max-width:1100px;margin:auto;padding:42px 20px 70px}.sp-footer{text-align:center;padding:25px;color:#999;border-top:1px solid var(--line)}.auth-card,.panel,.certificate{max-width:760px;margin:0 auto 24px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,4vw,42px);box-shadow:0 20px 70px #0005}.auth-card h1,.welcome h1{font-size:clamp(2rem,5vw,3.4rem);margin:.15em 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:grid;gap:7px;font-weight:700}input{background:#0c0f13;border:1px solid #39414c;color:white;border-radius:10px;padding:13px;font:inherit}.check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.check input{margin-top:4px}.primary,.secondary,.button{border:0;border-radius:10px;padding:13px 18px;font-weight:800;text-decoration:none;display:inline-block;cursor:pointer}.primary{background:var(--red);color:white}.secondary{background:#2a3038;color:white}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 8px}.social-grid button{padding:12px;border-radius:10px;border:1px solid #3a424e;background:#20262e;color:#aaa}.provider-note,small{color:#a9b0ba}.auth-switch{text-align:center}.alert{padding:13px 16px;border-radius:10px;margin:18px 0}.error{background:#50171b}.success{background:#153c27}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#ff5257;font-weight:800}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.status-grid article{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:22px;display:grid;gap:8px}.status-grid strong{font-size:1.5rem}.status-grid a,.records a{color:#ff5b60}.panel{max-width:none}.profile{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.profile div{padding:16px;background:#101419;border-radius:10px}.profile dt{color:#a8afb8}.profile dd{margin:5px 0 0;font-weight:800}.records{display:grid;gap:10px}.records article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-radius:10px}.records article div{display:grid;gap:5px}.legal-copy{line-height:1.7;white-space:pre-line}canvas{width:100%;height:180px;background:white;border-radius:10px;touch-action:none}.button-row{display:flex;gap:10px;margin-top:15px}.certificate{text-align:center;background:white;color:#171717;border:12px double #222}.certificate img{max-height:90px}.certificate h1{font-family:Georgia,serif;font-size:3rem}.certificate h2{color:#b10f16}.certificate-meta{display:flex;justify-content:space-between;border-top:1px solid #aaa;margin-top:35px;padding-top:15px}.no-print{margin-top:30px}@media(max-width:700px){.sp-header{align-items:flex-start}.sp-header nav{flex-direction:column;gap:7px}.form-grid,.social-grid,.status-grid,.profile{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.records article,.certificate-meta{align-items:flex-start;flex-direction:column}}@media print{.sp-header,.sp-footer,.no-print{display:none}.sp-main{padding:0}.certificate{box-shadow:none;margin:0;max-width:none;min-height:90vh}}.compact{margin-bottom:18px}.profile-form{max-width:none}.section-divider{border-top:1px solid var(--line);padding-top:24px;margin-top:10px}.privacy-box{padding:16px;border:1px solid rgba(215,25,32,.45);background:rgba(215,25,32,.08);border-radius:12px}.privacy-box p{margin:6px 0 0;color:#c4c8cf;line-height:1.55}.completion>div:first-child,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.completion h2{margin:.2rem 0}.completion a,.panel-heading a{color:#ff5b60}.progress{height:12px;background:#090b0e;border-radius:999px;overflow:hidden;margin:18px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,#d71920,#ff555b);border-radius:inherit}.check-grid{display:flex;flex-wrap:wrap;gap:10px}.check-grid span{padding:8px 11px;border-radius:999px;background:#101419;border:1px solid var(--line);font-size:.9rem}.check-grid .done{color:#8ee2b1}.check-grid .pending{color:#ffc57b}.status-grid{grid-template-columns:repeat(4,1fr)}.status-grid small{min-height:2.6em}.profile-form input[type=file]{padding:10px}.profile-form h2{margin-bottom:0}@media(max-width:900px){.status-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.completion>div:first-child,.panel-heading{align-items:flex-start;flex-direction:column}.status-grid{grid-template-columns:1fr}}

/* v7.3.1 waiver lifecycle */
.status-pill{display:inline-flex;align-items:center;padding:.45rem .75rem;border-radius:999px;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.status-pill.current{background:rgba(42,180,112,.16);color:#8af0b9;border:1px solid rgba(42,180,112,.35)}
.status-pill.action{background:rgba(205,49,62,.16);color:#ff9ca6;border:1px solid rgba(205,49,62,.4)}
.waiver-meta,.evidence-status{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.waiver-meta span{padding:.65rem .8rem;background:rgba(255,255,255,.04);border-radius:.6rem}
.legal-note{font-size:.9rem;color:var(--muted);border-left:3px solid var(--accent);padding-left:1rem}
.waiver-records code{display:block;margin-top:.35rem;color:var(--muted);font-size:.72rem}
.evidence-grid{margin-top:1.25rem}.signature-evidence{max-width:430px;width:100%;background:#fff;border-radius:.65rem;padding:.5rem}.hash{display:block;word-break:break-all;white-space:normal}
@media print{.sp-header,.sp-footer,.evidence-document button{display:none!important}.sp-main{max-width:none;margin:0;padding:0}.panel{box-shadow:none;border:0;background:#fff;color:#111}.legal-copy{color:#111;background:#f4f4f4}.hash{color:#111}}

/* v7.3.2 certificate vault */
.vault-count{font-size:.8rem;color:var(--muted);font-weight:800}.certificate-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.certificate-card{border:1px solid rgba(255,255,255,.11);border-radius:1rem;padding:1.15rem;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));display:flex;flex-direction:column;gap:.75rem}.certificate-card.is-inactive{opacity:.72}.certificate-card-top{display:flex;justify-content:space-between;align-items:center}.certificate-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#91efbd}.is-inactive .certificate-badge{color:#ff9aa4}.certificate-mini-seal{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(190,18,36,.18);border:1px solid rgba(229,75,89,.4);font-weight:900}.certificate-card h3{margin:0}.certificate-card dl{margin:0}.certificate-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.06);padding:.45rem 0}.certificate-card dt{color:var(--muted);font-size:.78rem}.certificate-card dd{margin:0;text-align:right;font-size:.86rem}.certificate-card-actions{display:flex;align-items:center;gap:.8rem;margin-top:auto}.credential-status-row{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.credential-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:1.4rem;align-items:start}.certificate-preview{border:5px solid var(--accent);outline:1px solid rgba(255,255,255,.4);outline-offset:-13px;padding:2.5rem 1.5rem;text-align:center;background:#171a1f}.certificate-preview h2{font-size:clamp(1.8rem,5vw,3rem);border-bottom:1px solid #fff;padding-bottom:.5rem}.certificate-preview h3{font-size:clamp(1.35rem,3vw,2rem)}.credential-verify{text-align:center;background:#fff;color:#111;border-radius:1rem;padding:1rem}.credential-verify svg{display:block;margin:auto}.credential-verify a{display:block;margin-top:.55rem;color:#8b0e19}.credential-actions{display:flex;gap:.6rem}.credential-actions a{display:inline-flex}@media(max-width:760px){.credential-layout{grid-template-columns:1fr}.credential-verify{max-width:230px}.credential-actions{display:none}}
@media print{.credential-verify{border:1px solid #ddd}.credential-layout{grid-template-columns:1fr 210px}.certificate-preview{background:#fff;color:#111;border-color:#9f0f1c}.certificate-preview h2{border-color:#111}}

/* v9.0.0-B2 booking calendar */
.booking-welcome p{max-width:720px}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 24px}.booking-progress span{padding:10px 12px;text-align:center;border:1px solid var(--line);border-radius:10px;color:#9fa7b1;background:#101419;font-weight:800}.booking-progress .done{color:#8ee2b1;border-color:rgba(80,190,130,.35)}.booking-progress .active{color:white;background:rgba(215,25,32,.18);border-color:rgba(255,82,87,.55)}
.booking-calendar-panel{padding:clamp(18px,3vw,32px)}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:14px;text-align:center}.calendar-toolbar h2{margin:.15rem 0}.calendar-toolbar .eyebrow{margin:0}.calendar-nav{width:48px;height:48px;border-radius:50%;border:1px solid #3c4551;background:#20262e;color:white;font-size:2rem;line-height:1;cursor:pointer}.calendar-nav:disabled{opacity:.28;cursor:not-allowed}.calendar-help{text-align:center;color:#a9b0ba;margin:8px 0 22px}.calendar-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{text-align:center;color:#9fa7b1;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:6px}.calendar-day{position:relative;min-height:108px;padding:10px;border:1px solid #2f3741;border-radius:12px;background:#101419;color:white;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;font:inherit}.calendar-day:not(:disabled):hover{border-color:#ff5b60;transform:translateY(-1px)}.calendar-day:focus-visible{outline:3px solid rgba(255,91,96,.4);outline-offset:2px}.calendar-day.blank{border:0;background:transparent}.calendar-day-number{font-size:1.05rem;font-weight:900}.calendar-day-status{font-size:.75rem;color:#8e97a2;font-weight:800}.calendar-day.has-availability{background:rgba(30,114,70,.2);border-color:rgba(71,201,126,.48)}.calendar-day.has-availability .calendar-day-status{color:#8ee2b1}.calendar-day.has-availability::after{content:"";position:absolute;right:10px;top:11px;width:8px;height:8px;border-radius:50%;background:#4ac982}.calendar-day.selected{border-color:#ff5b60;box-shadow:inset 0 0 0 2px rgba(255,91,96,.35)}.calendar-day.is-full{background:rgba(160,90,20,.09);border-color:rgba(211,145,64,.25)}.calendar-day.is-full .calendar-day-status{color:#dcb276}.calendar-day.past,.calendar-day.no-session{opacity:.45;cursor:not-allowed}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:18px;color:#a9b0ba;font-size:.86rem}.calendar-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;background:#6d747d}.legend-dot.available{background:#4ac982}.legend-dot.full{background:#c28a45}.calendar-empty{grid-column:1/-1;text-align:center;padding:44px 18px;border:1px dashed #39414c;border-radius:14px}.calendar-empty h3{margin-top:0}
.booking-slots{display:grid;gap:12px}.booking-slot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #303842;border-radius:13px;background:#101419}.booking-slot h3{margin:0 0 5px}.booking-slot p{margin:0 0 8px;color:#a9b0ba}.booking-slot strong{color:#8ee2b1}.booking-slot.is-full{opacity:.6}.booking-slot.selected{border-color:#ff5b60;box-shadow:inset 0 0 0 1px rgba(255,91,96,.35)}.booking-summary-panel .primary:disabled{opacity:.55;cursor:not-allowed}.phase-note{line-height:1.55}
@media(max-width:700px){.booking-progress{grid-template-columns:repeat(2,1fr)}.calendar-weekdays,.booking-calendar{gap:4px}.calendar-weekdays span{font-size:.65rem;padding:4px 0}.calendar-day{min-height:72px;padding:7px;border-radius:8px}.calendar-day-status{font-size:.62rem}.calendar-day.has-availability::after{right:7px;top:8px;width:6px;height:6px}.booking-slot{align-items:flex-start;flex-direction:column}.booking-slot .primary,.booking-slot .secondary{width:100%;text-align:center}.calendar-legend{justify-content:flex-start}.booking-summary{grid-template-columns:1fr}}

/* v9.0.0-B3 reservation engine */
.booking-reserve-form{margin-top:16px}.booking-reserve-form .primary{min-width:180px}.reservation-number{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;margin-bottom:20px;border:1px solid rgba(74,201,130,.35);background:rgba(30,114,70,.16);border-radius:12px}.reservation-number span{color:#a9b0ba}.reservation-number strong{font-size:1.1rem;letter-spacing:.06em}.reservation-actions{flex-wrap:wrap}.welcome-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.welcome-info-grid .panel{margin:0}.welcome-info-grid ul{padding-left:1.2rem;line-height:1.75}.reservation-list{display:grid;gap:12px}.reservation-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#101419}.reservation-item h3{margin:.6rem 0 .25rem}.reservation-item p{margin:0 0 .35rem;color:#d5d9de}.reservation-item.is-past{opacity:.72}.reservation-item.is-past .status-pill.action{background:rgba(120,128,138,.15);border-color:rgba(150,158,168,.3);color:#c7ccd2}
@media(max-width:700px){.reservation-number,.reservation-item{align-items:flex-start;flex-direction:column}.reservation-item .button{width:100%;text-align:center}.welcome-info-grid{grid-template-columns:1fr}.reservation-actions{display:grid}.reservation-actions .button{text-align:center}}

/* v9.0.0-B3.1 student welcome content normalization */
.welcome-info-grid{min-width:0}.welcome-info-grid .panel{min-width:0;overflow:hidden}.welcome-copy p,.welcome-info-grid li,.booking-summary dd{overflow-wrap:anywhere;word-break:normal;white-space:normal}.welcome-copy p{line-height:1.7;margin-bottom:0}.welcome-info-grid hr{display:block;width:100%;max-width:100%;margin:1.25rem 0;border:0;border-top:1px solid var(--line)}.welcome-info-grid img,.welcome-info-grid table,.welcome-info-grid pre{max-width:100%}.welcome-info-grid pre{overflow:auto;white-space:pre-wrap}
.reservation-reason{margin:.45rem 0;overflow-wrap:anywhere}.booking-summary .full{grid-column:1/-1}

/* v9.1.1 — Reservation status color coding */
.status-pill.reserved{background:rgba(37,99,235,.18);color:#bfdbfe;border:1px solid rgba(96,165,250,.48)}
.status-pill.confirmed{background:rgba(34,197,94,.16);color:#bbf7d0;border:1px solid rgba(74,222,128,.42)}
.status-pill.checked_in{background:rgba(6,182,212,.16);color:#a5f3fc;border:1px solid rgba(34,211,238,.42)}
.status-pill.completed{background:rgba(22,163,74,.22);color:#dcfce7;border:1px solid rgba(74,222,128,.5)}
.status-pill.cancelled{background:rgba(113,113,122,.18);color:#d4d4d8;border:1px solid rgba(161,161,170,.38)}
.status-pill.no_show{background:rgba(220,38,38,.18);color:#fecaca;border:1px solid rgba(248,113,113,.48)}
.status-pill.transferred{background:rgba(234,88,12,.18);color:#fed7aa;border:1px solid rgba(251,146,60,.48)}
.reservation-item.is-past .status-pill{opacity:.92}


/* v9.2.2 account management */
.account-tabs{display:flex;gap:.5rem;margin:0 0 1.25rem;padding:.35rem;border:1px solid var(--line);border-radius:.9rem;background:#101419;width:max-content;max-width:100%}.account-tabs a{padding:.65rem 1rem;border-radius:.65rem;color:var(--muted);font-weight:800;text-decoration:none}.account-tabs a.active,.account-tabs a:hover{background:rgba(215,25,32,.18);color:#fff}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.security-grid .panel{margin:0}.security-state{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:900;border:1px solid var(--line);white-space:nowrap}.security-state.good{color:#bbf7d0;background:rgba(34,197,94,.14);border-color:rgba(74,222,128,.35)}.security-state.warning{color:#fed7aa;background:rgba(234,88,12,.14);border-color:rgba(251,146,60,.35)}.security-state.muted{color:#c7ccd2;background:rgba(113,113,122,.14)}.provider-list,.login-history{display:grid;gap:.7rem}.provider-list article,.login-history article{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#101419}.provider-list article div,.login-history article div{display:grid;gap:.25rem;min-width:0}.provider-list small,.login-history small,.muted-copy{color:var(--muted)}.login-history .agent{max-width:760px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-grid+ .panel{margin-top:1rem}@media(max-width:760px){.security-grid{grid-template-columns:1fr}.account-tabs{width:100%}.account-tabs a{flex:1;text-align:center}.provider-list article,.login-history article{flex-direction:column}.login-history .agent{max-width:100%}}

/* Stripe Stabilization v1.4.0 Build 3 — payment status and timeline */
.payment-status-hero{align-items:center}.payment-action-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:rgba(251,146,60,.42);background:linear-gradient(135deg,rgba(234,88,12,.12),var(--panel))}.payment-action-card.expired{border-color:rgba(248,113,113,.35);background:linear-gradient(135deg,rgba(220,38,38,.1),var(--panel))}.payment-action-card h2{margin:.2rem 0 .55rem}.payment-action-card p{margin:.25rem 0;color:#cfd4da}.payment-retry-form{flex:0 0 auto}.payment-retry-form .primary,.payment-action-card>.button{white-space:nowrap}.payment-countdown{display:inline-flex;align-items:center;margin-top:.8rem!important;padding:.55rem .8rem;border-radius:999px;background:rgba(251,146,60,.14);border:1px solid rgba(251,146,60,.35);color:#fed7aa!important;font-weight:900;font-variant-numeric:tabular-nums}.payment-countdown.expired{background:rgba(220,38,38,.14);border-color:rgba(248,113,113,.38);color:#fecaca!important}.payment-timeline ol{list-style:none;margin:1.2rem 0 0;padding:0;display:grid}.payment-timeline li{position:relative;display:grid;grid-template-columns:20px 1fr;gap:14px;padding:0 0 22px}.payment-timeline li:not(:last-child)::before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:#343b45}.payment-timeline .timeline-marker{position:relative;z-index:1;width:16px;height:16px;margin-top:3px;border-radius:50%;background:#7b8490;border:3px solid #252b33;box-shadow:0 0 0 2px #414a56}.payment-timeline li.payment_completed .timeline-marker{background:#4ac982;box-shadow:0 0 0 2px rgba(74,201,130,.45)}.payment-timeline li.payment_pending .timeline-marker,.payment-timeline li.payment_retry .timeline-marker{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.42)}.payment-timeline li.payment_expired .timeline-marker,.payment-timeline li.payment_failed .timeline-marker{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.42)}.payment-timeline li.payment_refunded .timeline-marker,.payment-timeline li.refund .timeline-marker{background:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.42)}.payment-timeline strong{display:block}.payment-timeline p{margin:.25rem 0;color:#d5d9de}.payment-timeline small{color:#9fa7b1}.status-pill.transferred{background:rgba(234,88,12,.18);color:#fed7aa;border:1px solid rgba(251,146,60,.48)}
@media(max-width:700px){.payment-action-card{align-items:stretch;flex-direction:column}.payment-retry-form .primary,.payment-action-card>.button{width:100%;text-align:center}.payment-status-hero{align-items:flex-start}.payment-countdown{border-radius:10px}}


/* Stripe Stabilization v1.4.1 - dashboard payment recovery */
.reservation-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.dashboard-payment-retry{margin:0}
.dashboard-payment-retry button{white-space:nowrap}
@media(max-width:700px){.reservation-item-actions{width:100%;display:grid}.reservation-item-actions .button,.dashboard-payment-retry button{width:100%;text-align:center}}


/* v9.2.5.0 registration waiver checklist */
.registration-checklist .panel-heading{align-items:flex-start}
.registration-steps{display:grid;gap:.8rem;margin-top:1rem}
.registration-step{display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;background:rgba(255,255,255,.025)}
.registration-step>span{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:999px;font-weight:800}
.registration-step.complete>span{background:rgba(67,184,122,.16);color:#8de0b5}
.registration-step.pending>span{background:rgba(239,177,61,.15);color:#ffd17a}
.registration-step strong,.registration-step small{display:block}
.registration-step small{margin-top:.25rem;color:var(--muted)}
.waiver-required-card,.dashboard-waiver-alert{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-color:rgba(239,177,61,.45);background:linear-gradient(135deg,rgba(239,177,61,.09),rgba(255,255,255,.025))}
.waiver-required-card>div,.dashboard-waiver-alert>div{max-width:760px}
.waiver-required-card p:last-child,.dashboard-waiver-alert p:last-child{margin-bottom:0}
.reservation-registration-status{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}
.reservation-registration-status span{display:inline-flex;align-items:center;padding:.38rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}
.reservation-registration-status .done{background:rgba(67,184,122,.13);color:#9be6bf}
.reservation-registration-status .pending{background:rgba(239,177,61,.13);color:#ffd17a}
@media(max-width:720px){.waiver-required-card,.dashboard-waiver-alert{align-items:stretch;flex-direction:column}.waiver-required-card .button,.dashboard-waiver-alert .button{width:100%;text-align:center}}

.payment-method-picker{border:1px solid var(--border-color,#d8d8dc);border-radius:14px;padding:16px;margin:16px 0}.payment-method-picker legend{font-weight:800;padding:0 7px}.payment-method-picker label{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:10px}.payment-method-picker label+label{border-top:1px solid var(--border-color,#ddd)}.payment-method-picker input{margin-top:4px}.payment-method-picker span{display:grid;gap:3px}.payment-method-picker small{opacity:.75}.zelle-instructions dd{overflow-wrap:anywhere}


/* Zelle QR payment instructions */
.zelle-qr-card{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:center;margin:18px 0;padding:20px;border:1px solid var(--line,#303039);border-radius:16px;background:rgba(255,255,255,.025)}
.zelle-qr-card h3{margin:.2rem 0 .55rem}.zelle-qr-card p:last-child{margin-bottom:0}
.zelle-qr-card img{width:240px;max-width:100%;aspect-ratio:1;object-fit:contain;background:#fff;padding:12px;border-radius:14px;justify-self:end}
@media(max-width:680px){.zelle-qr-card{grid-template-columns:1fr;text-align:center}.zelle-qr-card img{justify-self:center;width:min(280px,100%)}}

/* v1.6.3 Professional Zelle Payment Card */
.zelle-payment-card{margin:20px 0;padding:24px;border:1px solid var(--line,#303039);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 18px 45px rgba(0,0,0,.16)}
.zelle-payment-card__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line,#303039)}
.zelle-payment-card__label{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.7}
.zelle-payment-card__head h3{margin:.35rem 0 0;font-size:clamp(1.25rem,2.5vw,1.8rem)}
.zelle-payment-card__amount{font-weight:900;font-size:clamp(1.2rem,3vw,1.8rem);white-space:nowrap}
.zelle-payment-card__body{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:28px;align-items:center;padding:24px 0}
.zelle-payment-card__qr{display:grid;gap:12px;justify-items:center;width:100%;padding:16px;border:0;border-radius:18px;background:#fff;color:#151515;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.zelle-payment-card__qr img{display:block;width:100%;max-width:340px;aspect-ratio:1;object-fit:contain}
.zelle-payment-card__qr span{font-weight:800;font-size:.95rem}
.zelle-payment-card__details{display:grid;gap:0;margin:0}
.zelle-payment-card__details div{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line,#303039)}
.zelle-payment-card__details div:last-child{border-bottom:0}
.zelle-payment-card__details dt{font-weight:700;opacity:.7}
.zelle-payment-card__details dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.zelle-payment-card__open{width:100%;justify-content:center}
.zelle-payment-card__fallback{margin:18px 0 0;text-align:center;line-height:1.65}
.zelle-qr-modal[hidden]{display:none}
.zelle-qr-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.zelle-qr-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}
.zelle-qr-modal__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:22px;background:var(--panel,#17171c);border:1px solid var(--line,#303039);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.zelle-qr-modal__dialog img{display:block;width:min(460px,100%);margin:18px auto;background:#fff;padding:16px;border-radius:18px}
.zelle-qr-modal__close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;font-size:1.8rem;line-height:1;background:rgba(255,255,255,.08);color:inherit;cursor:pointer}
body.modal-open{overflow:hidden}
@media(max-width:760px){.zelle-payment-card{padding:18px}.zelle-payment-card__head{display:grid}.zelle-payment-card__amount{font-size:1.35rem}.zelle-payment-card__body{grid-template-columns:1fr;gap:20px}.zelle-payment-card__qr{max-width:390px;justify-self:center}.zelle-payment-card__details div{grid-template-columns:1fr;gap:4px}.zelle-qr-modal__dialog{padding:24px 18px}}


/* Payment Engine v2.0 */
.payment-fee-preview{margin:18px 0;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#101419}.payment-fee-preview>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;color:#cfd4da}.payment-fee-preview>div+div{border-top:1px solid rgba(255,255,255,.07)}.payment-fee-preview .total{margin-top:4px;padding-top:13px;color:#fff;font-size:1.05rem}.payment-fee-preview p{margin:12px 0 0;color:#9fa7b1;font-size:.86rem;line-height:1.55}@media(max-width:520px){.payment-fee-preview>div{align-items:flex-start;flex-direction:column;gap:4px}}
