.auth-body { overflow: auto; }
.auth-wrap { position: relative; z-index: 1; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; gap: 20px; }
.auth-brand { display: flex; flex-direction: column; align-items: center; gap: 6px; animation: fade-up .5s var(--ease); }
.auth-brand .logo { width: 64px; height: 64px; border-radius: 20px; }
.auth-brand .logo svg { width: 32px; height: 32px; }
.auth-brand .brand-name { font-size: 26px; margin-top: 8px; }
.auth-card { width: min(400px, 100%); }
.auth-tabs { margin-bottom: 20px; }
.auth-tabs button { padding: 10px 6px; font-size: 13.5px; }
.captcha-row { display: flex; align-items: center; gap: 10px; }
.captcha-row img { border-radius: 12px; background: #1c1c22; max-width: calc(100% - 46px); height: auto; }
.captcha-input { margin-top: 8px; text-transform: uppercase; letter-spacing: .3em; font-weight: 600; text-align: center; font-size: 18px; }
.auth-msg { padding: 11px 14px; border-radius: 14px; font-size: 13.5px; margin: 4px 0 14px; animation: fade-up .3s var(--ease); }
.auth-msg.err { background: rgba(255, 107, 107, .1); border: 1px solid rgba(255, 107, 107, .35); color: #ffc0c0; }
.auth-msg.ok { background: rgba(79, 209, 139, .1); border: 1px solid rgba(79, 209, 139, .35); color: #b6f0cf; }
#reg-hint { margin: -4px 0 14px; }
