/* 职责：登录、注册、恢复表单的排版；认证状态和验证强度由正式服务端决定。 */
.auth-page {min-height:100vh;display:flex;flex-direction:column;background:#f7f8fa}
.auth-page .site-header {border-bottom:1px solid #e8ebf0}
.auth-main {flex:1;display:grid;place-items:center;padding:48px 24px 60px}
.auth-panel {width:100%;max-width:440px;background:#fff;border:1px solid #e6e9ef;border-radius:20px;padding:38px 40px 24px;box-shadow:0 12px 48px #18283e06}
.form-heading {margin-bottom:30px}
.auth-identity {display:flex;align-items:center;gap:16px}
.auth-identity img {display:block;flex:none}
.form-heading h1 {font-size:28px;line-height:1.3;letter-spacing:-.8px;font-weight:650}
.form-heading p {font-size:12px;line-height:1.8;margin-top:10px;color:#8490a2}
.auth-form {display:flex;flex-direction:column;gap:21px}
.field>label,.label-row>label {font-size:12px;font-weight:550;color:#5d687a;margin-bottom:8px;display:block}
.label-row {display:flex;align-items:center;justify-content:space-between}
.field-counter {font-size:10px;color:#8b95a4;margin-bottom:8px}
.field input {background:#fff;min-height:49px;border-color:#dfe4eb;border-radius:9px}
.field-hint {font-size:11px;color:#8b96a5;margin-top:7px;line-height:1.8}
.field-error {font-size:11px;color:var(--danger);margin-top:7px}
.password-wrap {position:relative}
.password-wrap input {padding-right:58px}
.password-toggle {position:absolute;right:14px;top:0;height:49px;background:none;border:0;color:#8c95a4;font-size:11px;padding:0}
.submit-button {width:100%;min-height:48px;margin-top:3px;background:#253148;box-shadow:none}
.submit-button:hover {background:#172235}
.mode-tabs {display:flex;align-items:center;justify-content:center;gap:23px;border-top:1px solid #edf0f4;margin-top:30px;padding-top:20px}
.mode-tabs button {border:0;background:none;font-size:12px;color:#8390a3;padding:3px 0}
.mode-tabs button:hover,.mode-tabs button[aria-selected=true] {color:#24364e}
.mode-tabs button[aria-selected=true] {font-weight:600}
.passkey-help {font-size:11px;color:#8a94a4;line-height:1.8}
.passkey-help summary {cursor:pointer;color:#71829a}
.passkey-help p {margin-top:8px}
.recovery-complete h3 {font-size:20px;margin-bottom:10px}
.recovery-complete p {font-size:12px;color:#7b879b;line-height:1.9}
.success-mark {display:block;color:#488773;font-size:25px;margin-bottom:15px}
.recovery-secret {background:#f7f8fb;border:1px solid var(--line);padding:14px;border-radius:10px;margin:18px 0}
.recovery-secret>span {font-size:10px;color:#7d89a0}
.recovery-secret code {display:block;font-size:13px;overflow-wrap:anywhere;color:#304c75;margin-top:8px;user-select:all}
.checkbox-label {display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#66748c;margin:18px 0}
.recovery-complete .button {width:100%}
a[aria-disabled=true] {opacity:.4;pointer-events:none}
@media(max-width:760px) {
    .auth-main {padding:36px 20px 44px;align-items:start}
    .auth-panel {padding:30px 28px 23px;border-radius:16px}
    .auth-page .site-header {padding-top:18px;padding-bottom:18px}
    .field input {font-size:16px}
    .form-heading {margin-bottom:26px}
}
@media(max-width:380px) {.auth-panel {padding:28px 22px 22px}.mode-tabs {gap:20px}}
