.register-progress { grid-template-columns:auto minmax(10px,1fr) auto minmax(10px,1fr) auto; gap:8px; }
.contact-phone-input { display:flex; align-items:center; border:1px solid rgba(148,163,184,.25); border-radius:12px; background:rgba(2,6,23,.2); overflow:hidden; }
.contact-phone-input:focus-within { border-color:#fbbf24; box-shadow:0 0 0 3px rgba(251,191,36,.12); }
.contact-phone-input > span { padding:0 14px; color:var(--text-muted,#94a3b8); font-weight:600; font-size:14px; border-right:1px solid rgba(148,163,184,.2); }
.contact-phone-input input { min-width:0; width:100%; padding:14px; border:0 !important; outline:0; box-shadow:none !important; background:transparent !important; color:var(--text-primary,#e2e8f0); font-size:15px; }
.contact-field-hint,.contact-description { color:var(--text-muted,#94a3b8); font-size:13px; line-height:1.7; }
.contact-field-hint { margin:8px 0 0; }
.contact-verified-badge { display:block; margin-top:12px; color:#34d399; font-size:12px; }
.contact-binding-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; margin:24px 0; border:1px solid rgba(148,163,184,.2); border-radius:16px; background:rgba(148,163,184,.04); }
.contact-binding-card strong { display:block; margin-top:8px; font-size:18px; }
.contact-card-label { color:var(--text-muted,#94a3b8); font-size:13px; }
.contact-binding-card p { color:var(--text-muted,#94a3b8); margin:8px 0 0; font-size:12px; }
.contact-binding-card .auth-btn { width:auto; flex-shrink:0; margin:0; padding:12px 18px; }
.contact-modal { transition:opacity 150ms ease; }
.contact-modal .modal-content { width:min(440px,calc(100vw - 32px)); box-sizing:border-box; padding:28px; max-height:calc(100dvh - 40px); overflow-y:auto; }
.contact-modal .otp-code-input { padding:0 !important; font-size:22px !important; height:50px !important; }
.contact-modal .contact-phone-input input { padding:12px !important; }
.phone-binding-logout { display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;margin-top:12px;padding:12px 16px;border:1px solid rgba(148,163,184,.3);border-radius:11px;background:rgba(148,163,184,.07);color:var(--text-primary,#e2e8f0);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer; }
.phone-binding-logout-hint { margin:10px 0 0;text-align:center;color:var(--text-muted,#94a3b8);font-size:12px;line-height:1.6; }
@media(hover:hover) and (pointer:fine) { .phone-binding-logout:hover { background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.5); } }
.contact-modal h3 { margin:14px 0 8px; font-size:24px; letter-spacing:-.4px; }
.contact-step-label { color:#fbbf24; font-size:12px; font-weight:700; letter-spacing:.5px; }
.contact-modal .otp-code-field { margin:20px 0; }
.contact-modal .otp-code-input { height:52px !important; }
.contact-modal .contact-description { margin:0 0 24px; }
.contact-modal .auth-btn { margin-top:8px; }
.contact-channel-picker { display:flex; padding:4px; gap:4px; border-radius:12px; margin:0 0 22px; background:rgba(148,163,184,.09); }
.contact-channel-picker button { flex:1; padding:11px 8px; border:0; border-radius:9px; background:transparent; color:var(--text-muted,#94a3b8); font-size:13px; cursor:pointer; transition:background-color 150ms ease,color 150ms ease; }
.contact-channel-picker .is-selected { background:rgba(251,191,36,.14); color:#fbbf24; }
.contact-channel-picker button:focus-visible,.contact-modal button:focus-visible { outline:2px solid #fbbf24; outline-offset:3px; }
.contact-modal [hidden] { display:none !important; }
html[data-theme="light"] .contact-phone-input { background:#fff; }
html[data-theme="light"] .contact-phone-input input { color:#0f172a; }
html[data-theme="light"] .contact-step-label,html[data-theme="light"] .contact-channel-picker .is-selected { color:#92400e; }
@media(max-width:480px) { .register-progress__item { gap:5px; }.register-progress__item strong{font-size:11px;} .contact-modal .modal-content { padding:24px 20px; }.contact-modal .modal-content h3 { font-size:23px !important; }.contact-binding-card{align-items:flex-start;flex-direction:column;} }
@media(prefers-reduced-motion:reduce) { .contact-channel-picker button { transition:none; } }

.contact-send-code-btn { display:block;width:100%;min-height:46px;margin:12px 0 20px;padding:12px 16px;border:1px solid rgba(96,165,250,.35);border-radius:11px;background:rgba(59,130,246,.1);color:var(--text-primary,#e2e8f0);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer; }
.contact-send-code-btn:disabled { color:var(--text-muted,#94a3b8);border-color:rgba(148,163,184,.18);background:rgba(148,163,184,.06);cursor:wait; }
@media(hover:hover) and (pointer:fine) { .contact-send-code-btn:not(:disabled):hover { border-color:rgba(96,165,250,.6);background:rgba(59,130,246,.17); } }

#verifyRegistrationEmailBtn[hidden] { display:none!important; }
.phone-feature-unavailable { color:var(--text-muted,#94a3b8); }
.phone-feature-unavailable .contact-phone-input { background:rgba(148,163,184,.06); }
.phone-feature-unavailable input { color:var(--text-muted,#94a3b8);cursor:not-allowed; }
.register-progress__item.phone-feature-unavailable { opacity:.6; }
.contact-channel-picker button:disabled,.contact-binding-card .auth-btn:disabled { color:var(--text-muted,#94a3b8);background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2);box-shadow:none;filter:none;cursor:not-allowed; }
.contact-channel-picker small { display:block;margin-top:3px;font-size:10px; }
