.auth-page{background:var(--bg-soft);min-height:calc(100vh - 68px);padding:48px 0 64px}.auth-page__wrap{display:flex;justify-content:center}.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:32px 28px 28px}.auth-card__title{font-size:24px;margin-bottom:8px}.auth-card__lead{font-size:15.5px;color:var(--ink-soft);line-height:1.45;margin-bottom:24px}.auth-tabs{display:flex;gap:4px;background:var(--bg-soft);border-radius:var(--radius-s);padding:4px;margin-bottom:24px}.auth-tab{flex:1 1;border:0;background:transparent;border-radius:6px;padding:10px 8px;font-size:15px;font-weight:700;color:var(--ink-soft)}.auth-tab--active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field__label{font-size:15px;font-weight:700;color:var(--gray)}.auth-field input{border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:12px 14px;font-size:16px;font-weight:600;color:var(--ink);background:var(--surface);width:100%}.auth-field input:focus{outline:2px solid var(--blue);outline-offset:1px}.auth-consent{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink-soft);line-height:1.4}.auth-consent input{margin-top:3px;flex-shrink:0;width:18px;height:18px}.auth-error{font-weight:700;color:#c02b2b;background:#fdeaea;border-radius:var(--radius-s);padding:10px 12px}.auth-code-hint,.auth-error{font-size:15px;line-height:1.4}.auth-code-hint{color:var(--ink-soft)}.auth-link-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}.auth-dev-hint{font-size:15px;color:var(--blue-strong);background:var(--blue-tint);border-radius:var(--radius-s);padding:10px 12px;line-height:1.4}.auth-hint,.auth-resend{margin-top:-4px}.auth-hint{font-size:15px;color:var(--ink-soft);line-height:1.45}@media (max-width:640px){.auth-page{padding:28px 0 40px}.auth-card{padding:24px 18px 20px}}