[hidden] { display: none !important; }
.dialog-panel { max-height: calc(100dvh - 32px); overflow-y: auto; }
.identity-legal { margin: 14px 0 0; color: var(--text-secondary); font-size: .73rem; line-height: 1.5; text-align: center; }
.identity-legal a { color: var(--brand-primary); text-decoration: underline; }
.identity-form input:focus-visible, .funnel-password-row input:focus-visible, .funnel-password-row button:focus-visible { outline: 3px solid #c4b5fd; outline-offset: 2px; }
.account-trigger { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.funnel-success { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: #f0eaff; color: var(--brand-primary); font-size: 30px; font-weight: 700; }
.funnel-email { overflow-wrap: anywhere; text-align: center; margin: 0 0 20px; font-weight: 600; }
.funnel-password-label { display: block; margin-bottom: 7px; color: var(--text-secondary); font-size: .85rem; }
.funnel-password-row { display: flex; gap: 8px; margin-bottom: 22px; }
.funnel-password-row input { min-width: 0; width: 100%; border: 1px solid #dcd6ed; border-radius: 12px; padding: 13px 12px; background: #f7f5fc; color: #252337; font: 600 1.35rem ui-monospace, monospace; letter-spacing: .08em; }
.funnel-password-row button { border: 1px solid #dcd6ed; border-radius: 12px; padding: 10px; background: white; color: var(--brand-primary); font: inherit; font-size: .82rem; cursor: pointer; }
.funnel-logout { display: block; margin: 16px auto 0; border: 0; background: transparent; color: var(--brand-primary); font: inherit; font-size: .88rem; cursor: pointer; }
.funnel-retry { padding: 9px 15px; border: 0; border-radius: 10px; background: var(--brand-primary); color: white; font: inherit; cursor: pointer; }
.funnel-handoff-note { margin: 16px 0 0; color: #686277; font-size: .78rem; line-height: 1.5; text-align: center; }
#payment-wait-dialog, #password-dialog { z-index: 11000; }
#payment-wait-dialog .message-spinner { width: 36px; height: 36px; margin: 6px 0 10px; }
#g1pay-sub-modal .g1pay-consent__text { font-size: .76rem; color: #58536a; }
#g1pay-sub-modal .g1pay-consent__input { flex-shrink: 0; margin-top: 3px; }
#profile-email { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .message-spinner { animation-duration: 2s; } html { scroll-behavior: auto; } }
