.registration-dialog{width:min(620px,calc(100% - 2rem))}
.registration-form{display:grid;gap:1rem}
.checkout-summary{display:grid;gap:.15rem;margin:1rem 0;padding:1rem;background:var(--wash);border:1px solid var(--line);border-radius:.8rem}
.checkout-summary strong{font-size:1.05rem}
.checkout-summary span{color:var(--muted);font-size:.9rem}
.registration-form label,.credential-upgrade label{display:grid;gap:.3rem;font-weight:650}
.registration-form input,.registration-form select,.registration-form textarea,.credential-upgrade input{min-height:48px;padding:.7rem .8rem;border:1px solid #9eacbe;border-radius:.6rem;font:inherit}
.registration-questions{display:grid;gap:1rem;margin:0;padding:1rem;border:1px solid #dbe3ee;border-radius:.75rem}.registration-questions[hidden]{display:none}.registration-questions legend{font-weight:750}.registration-question>label,.registration-question>fieldset{display:grid;gap:.4rem;margin:0;padding:0;border:0}.choice-option{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.55rem!important;font-weight:500!important}.choice-option input{min-height:20px;width:20px}.acknowledgement{padding:.4rem 0}
.checkout-terms small{color:var(--muted);font-size:.82rem}
.checkout-terms{display:grid;gap:.25rem;padding-top:.75rem;border-top:1px solid var(--line)}
.dialog-status.error{color:#a61b1b}
.payment-heading{display:flex;justify-content:space-between;margin:1rem 0;font-size:1.05rem}
.confirmation{text-align:center}
.success-mark{display:grid;place-items:center;width:58px;height:58px;margin:1rem auto;border-radius:50%;background:#e7f8ee;color:#167444;font-size:2rem;font-weight:800}
.confirmation h3{margin:.5rem 0}
.delivery-state{color:var(--muted);font-size:.9rem}
.ticket-reference,.ticket-code{display:grid;gap:.25rem;margin:1rem 0;padding:1rem;border:1px dashed #9eacbe;border-radius:.75rem;background:var(--wash)}
.ticket-reference span,.ticket-code span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.ticket-reference strong,.ticket-code strong{font-size:1.3rem;letter-spacing:.08em}
.confirmation-actions,.manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:.65rem .9rem;text-decoration:none}
.link-button{min-height:44px;border:0;background:transparent;color:var(--blue-dark);font:inherit;font-weight:700;cursor:pointer}
.account-upgrade{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.credential-upgrade{display:grid;gap:.75rem;margin-top:.75rem}
.manage-page article{max-width:720px;margin:auto;padding:clamp(1rem,4vw,2rem);background:#fff;border:1px solid var(--line);border-radius:1rem}
.manage-page h1{font-size:clamp(2rem,5vw,3.5rem)}
.manage-ticket{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:.8rem}
.danger{color:#9f1d1d;border-color:#e6bcbc}
.notice{padding:.8rem 1rem;background:#e7f8ee;border-radius:.65rem;color:#175f3c}
@media(max-width:560px){.public-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:1rem 1rem 0 0}.confirmation-actions,.manage-actions{grid-template-columns:1fr}.dialog-inner{padding:1rem}.registration-dialog{max-height:94vh}}
