.auth-body { min-height: 100vh; background: radial-gradient(circle at 15% 15%, rgba(57,91,210,.15), transparent 35%), var(--background); }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px 16px; }
.auth-card { width: min(100%, 460px); padding: 34px; border: 1px solid var(--border); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow-lg); }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }
.auth-brand-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: var(--primary); color: white; font-size: 22px; }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { color: var(--text-primary); font-size: 20px; }
.auth-brand small { color: var(--text-muted); font-size: 12px; }
.auth-heading h1 { margin: 12px 0 8px; color: var(--text-primary); font-size: 28px; font-weight: 800; }
.auth-heading p { color: var(--text-secondary); margin-bottom: 24px; }
.auth-security-badge { display: inline-flex; gap: 7px; align-items: center; padding: 7px 10px; border-radius: 999px; background: var(--primary-light); color: var(--primary); font-size: 12px; font-weight: 800; }
.auth-input-group .input-group-text { border-color: var(--border); background: var(--surface-soft); color: var(--text-muted); }
.auth-submit { width: 100%; min-height: 48px; border-radius: 12px; font-weight: 800; }
.auth-note { margin: 24px 0 0; text-align: center; color: var(--text-muted); font-size: 12px; }
@media (max-width: 520px) { .auth-card { padding: 26px 20px; border-radius: 20px; } .auth-heading h1 { font-size: 24px; } }
.auth-card-wide { width: min(100%, 620px); }
.auth-switch { margin: 22px 0 0; text-align: center; color: var(--text-secondary); }
.auth-switch a { color: var(--primary); font-weight: 800; text-decoration: none; }
.password-help { margin: 14px 0 20px; color: var(--text-muted); font-size: 12px; }
