/* Email verification and invitations use the platform's shared type and color tokens. */
.signup-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; }
.signup-layout .auth-art { position: sticky; top: 0; height: 100dvh; }
.signup-layout .auth-panel { min-width: 0; padding-block: 64px; }
.signup-layout .auth-form { max-width: 440px; }
.signup-form > h1 { font-size: 29px; color: #22334d; }
.signup-form > p:not(.error-message) { color: #64748b; }
.signup-form .auth-tabs { margin-block: 26px 24px; }
.signup-progress { display: flex; align-items: center; gap: 13px; margin-bottom: 32px; padding: 16px 18px; border: 1px solid #e4ebf5; border-radius: 12px; background: #f8faff; }
.signup-progress span { display: flex; align-items: center; gap: 8px; color: #718099; font-size: 13px; font-weight: 500; white-space: nowrap; }
.signup-progress i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e8edf5; color: #66758d; font-size: 12px; font-style: normal; }
.signup-progress b { flex: 1; height: 1px; background: #dce4f1; }
.signup-progress .current, .signup-progress .complete { color: #2455d6; }
.signup-progress .current i, .signup-progress .complete i { color: #fff; background: #2455d6; }
.signup-progress i svg { width: 14px; height: 14px; }
.signup-form .signup-section { margin-bottom: 28px; padding-bottom: 25px; border-bottom: 1px solid #e8edf4; }
.signup-form .signup-section h2 { margin: 0 0 18px; color: #2b3c56; font-size: 17px; font-weight: 600; line-height: 1.45; }
.signup-form .signup-section .field:last-child { margin-bottom: 0; }
.signup-form .field { gap: 8px; }
.signup-form .field label { color: #53647c; }
.signup-input-action { display: grid; grid-template-columns: minmax(0, 1fr) 124px; gap: 9px; align-items: start; }
.signup-input-action input { width: 100%; min-width: 0; }
.signup-input-action .btn { height: 51px; min-width: 0; padding: 10px 8px; font-size: 13px; line-height: 1.4; white-space: nowrap; }
.signup-form .signup-field-message { margin: 0; color: #6b7a90; font-size: 12px; font-weight: 400; line-height: 1.6; word-break: keep-all; overflow-wrap: anywhere; }
.signup-form .signup-field-message.success { color: #15714f; }
.signup-form .signup-field-message.error { color: #b83a49; }
.signup-code-field { margin-top: 20px; }
.signup-code-field input { letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.signup-code-field input::placeholder { letter-spacing: -.01em; }
.signup-test-code { padding: 15px 17px; margin-top: 16px; border: 1px solid #e6d6ad; border-radius: 12px; background: #fffaf0; color: #71561f; }
.signup-test-code > span { display: block; font-size: 12px; font-weight: 600; }
.signup-test-code > strong { display: block; margin-top: 4px; font-size: 23px; letter-spacing: .16em; font-weight: 650; font-variant-numeric: tabular-nums; }
.signup-test-code > p { margin-top: 6px; font-size: 12px; line-height: 1.65; word-break: keep-all; }
.signup-form .signup-referrer { margin-bottom: 24px; padding-bottom: 0; border-bottom: 0; }
.signup-form .signup-error { color: #b33243; background: #fff1f3; margin: 0 0 16px; }
.signup-form .signup-submit { min-height: 52px; }
.auth-form > .signup-bottom-note { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; margin: 14px 0 0; color: #718099; font-size: 13px; }
.signup-bottom-note .link-btn { padding: 8px 5px; min-height: 40px; color: #2455d6; font-size: inherit; }
.signup-form .auth-preview-notice { margin-block: 16px 20px; color: #586982; font-size: 13px; }
.signup-form .btn:disabled { cursor: not-allowed; opacity: .58; }
.signup-form input:disabled { opacity: .78; }
.referral-panel { min-width: 0; }
.referral-heading { display: flex; gap: 12px; align-items: center; }
.referral-heading > div { min-width: 0; }
.referral-heading h2 { margin-top: 3px; color: #263b5d; font-size: 17px; line-height: 1.45; }
.referral-heading .club-kicker { font-size: 11px; color: #687f9f; }
.referral-symbol { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 13px; background: #edf3ff; color: #3867cf; }
.referral-panel > p { margin: 17px 0 19px; color: #687a94; font-size: 13px; line-height: 1.7; word-break: keep-all; }
.referral-code-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; margin-bottom: 12px; border: 1px solid #e3eaf6; border-radius: 12px; background: #f8faff; }
.referral-code-row > div { min-width: 0; }
.referral-code-row span { display: block; color: #71819a; font-size: 11px; }
.referral-code-row strong { display: block; color: #244b8f; font-size: 15px; font-weight: 650; letter-spacing: .025em; overflow-wrap: anywhere; }
.referral-code-row .btn { flex-shrink: 0; min-height: 42px; padding: 9px 12px; font-size: 12px; }
.referral-code-row .btn svg, .referral-panel > .btn svg { width: 16px; height: 16px; }
.referral-panel > .btn { min-height: 46px; font-size: 13px; }
.referral-panel .referral-details { display: flex; margin: 5px auto 0; color: #61789b; font-size: 12px; }
.referral-preview { display: block; margin-top: 5px; text-align: center; color: #718099; font-size: 11px; line-height: 1.6; }
.clipboard-helper { position: fixed; top: 0; left: -9999px; width: 1px; height: 1px; padding: 0; opacity: 0; }
#manual-copy { overflow-wrap: anywhere; word-break: break-all; }
@media (max-width: 767px) {
 .signup-layout { display: block; }
 .signup-layout .auth-panel { padding: 30px 22px 45px; }
 .signup-layout .auth-panel > .mobile-brand { max-width: 440px; margin-bottom: 32px; }
 .signup-layout .auth-art { display: none; }
 .signup-form > h1 { font-size: 26px; }
 .signup-form > .eyebrow { font-size: 10px; }
 .signup-form .signup-section h2 { font-size: 16px; }
 .signup-form input { font-size: 16px; }
 .signup-input-action { grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
 .signup-input-action .btn { font-size: 12px; }
 .signup-progress { padding: 14px; margin-bottom: 28px; }
 .signup-progress span { font-size: 12px; }
 .referral-panel { padding: 22px 20px; }
 .referral-panel .referral-heading h2 { font-size: 17px; }
}
@media (max-width: 359px) {
 .signup-layout .auth-panel { padding-inline: 16px; }
 .signup-input-action { grid-template-columns: minmax(0, 1fr) 105px; gap: 7px; }
 .signup-progress { gap: 8px; padding-inline: 11px; }
 .signup-progress span { gap: 6px; }
 .referral-code-row { padding: 11px; gap: 8px; }
 .referral-code-row .btn { padding-inline: 9px; }
}

.auth-recovery-link { margin:20px 0 0;text-align:center; }
.auth-recovery-link .link-btn { display:inline;white-space:normal;color:#7b8ca5;font-size:12px;line-height:1.8; }
.auth-recovery-link strong { margin-left:5px;color:#41679d;font-weight:600; }
.password-success-notice,.password-unavailable { margin:20px 0;padding:15px 17px;border:1px solid #dce7f6;border-radius:11px;background:#f4f8ff;color:#58749c;font-size:13px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere; }
.password-success-notice { border-color:#cfe4dc;background:#f1f8f5;color:#527d6e; }
.password-recovery-form #recovery-steps { margin-top:23px;padding-top:22px;border-top:1px solid #e5ebf5; }
.password-recovery-form #recovery-steps[hidden] { display:none; }
.password-recovery-form #recovery-message:empty { display:none; }
.password-recovery-form #recovery-submit { margin-top:14px; }
.account-security-panel>p,.password-change-form>p { color:#73839b;font-size:13px;line-height:1.9;margin:0 0 20px; }
.account-security-panel .section-heading svg { color:#7c95b8; }
.account-security-panel>.btn { font-size:13px;min-height:43px; }
.password-change-form .field { margin-top:18px; }
.password-change-form .signup-field-message { font-size:11px;line-height:1.8;margin-top:8px; }
.password-username,.password-implicit-submit { position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;overflow:hidden;pointer-events:none; }
@media(max-width:767px) {
 .password-change-form input { font-size:16px; }
 .password-recovery-form .signup-input-action { grid-template-columns:minmax(0,1fr) 116px; }
 .password-success-notice,.password-unavailable { padding:13px 14px;font-size:12px; }
 .account-security-panel>.btn { width:100%; }
}

.account-security-panel > .btn + .notice { margin:18px 0 0; }
@media (max-width:767px) {
 .account-security-panel > .btn + .notice { margin-top:16px; }
}
