.password-input{position:relative}
.auth-v22 .login-shell .password-input input{padding-right:56px}
.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;min-height:44px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.password-toggle[hidden]{display:none}
.password-toggle:hover{color:var(--accent);background:var(--soft)}
.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.password-eye-slash{display:none}
.password-toggle[aria-pressed="true"] .password-eye-slash{display:block}

.auth-v22 .login-shell{max-width:680px}
.auth-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.auth-method{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}
.auth-method h2{font-size:18px;margin:0 0 5px;line-height:1.35}.auth-method p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}
.auth-v22 .login-shell .auth-method-action{width:100%;min-height:46px;margin-top:14px;padding:9px 10px;white-space:normal;line-height:1.4}
.auth-v22 .auth-method-action:disabled{opacity:.6;cursor:not-allowed}
.auth-method .auth-unavailable{font-size:12px;margin-top:8px}
.auth-register{padding:18px 0;margin:0;border-bottom:1px solid var(--line)}
.auth-password-heading{font-size:18px;margin:20px 0 4px}
@media(max-width:520px){.auth-method{padding:14px 10px}.auth-method h2{font-size:16px}.auth-method p{font-size:12px}.auth-v22 .login-shell .auth-method-action{font-size:13px;padding:8px 5px}}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.auth-tabs a{padding:12px 8px;text-align:center;text-decoration:none;color:var(--muted);font-size:16px;font-weight:650;border-bottom:3px solid transparent}
.auth-tabs a[aria-current="page"]{color:var(--accent);border-color:var(--accent)}
.auth-main{text-align:center;padding:30px 4px 20px}.auth-main h2,.auth-sms-panel h2{font-size:20px;margin:12px 0 6px}.auth-main p,.auth-sms-panel>p{font-size:14px;color:var(--muted);margin:0}
.wechat-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto;border-radius:50%;background:var(--soft);color:var(--accent);font-size:24px;font-weight:700}
.auth-v22 .login-shell .auth-primary{width:auto;min-width:200px;max-width:100%;margin-top:20px}
.auth-main .auth-unavailable{font-size:12px;margin-top:8px}
.auth-sms-panel{padding-top:18px}.auth-password{padding-top:18px}.auth-password summary{color:var(--accent);font-weight:700;cursor:pointer}.auth-password-link{margin:18px 0 0}
.auth-sms-link{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.auth-register{border:0;padding:12px 0 0}
