.auth-visual__glow{pointer-events:none;background:radial-gradient(circle,#8b5cf61f 0%,#0000 60%);border-radius:50%;width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-visual__logo{align-items:center;gap:var(--space-3);z-index:1;flex-direction:column;display:flex;position:relative}.auth-visual__logo svg{opacity:.9;width:80px;height:80px}.auth-visual__logo-name{font-family:var(--font-display);letter-spacing:.05em;font-size:2.5rem}.auth-visual__logo-name span{color:var(--color-accent)}.auth-visual__tagline{font-size:var(--text-base);color:var(--color-muted);text-align:center;max-width:320px;font-weight:300;line-height:1.6}.auth-visual__proof{margin-top:var(--space-8);z-index:1;position:relative}.auth-proof-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:#f0ede80a;max-width:340px}.auth-proof-card__quote{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2);font-style:italic;line-height:1.6}.auth-proof-card__author{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-subtle);display:flex}.auth-proof-card__author strong{color:var(--color-text);font-weight:600}.auth-form-side{width:100%;max-width:420px;margin:0 auto}.auth-form__header{margin-bottom:var(--space-5)}.auth-form__back{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-4);transition:color var(--duration-fast);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;display:inline-flex}.auth-form__back:hover{color:var(--color-text)}.auth-form__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.02em;margin-bottom:var(--space-1)}.auth-form__subtitle{font-size:var(--text-sm);color:var(--color-muted);font-weight:300}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-form .input-group{gap:8px}.auth-form__row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.auth-form__forgot{font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;transition:opacity var(--duration-fast);background:0 0;border:none;align-self:flex-end;margin-top:-8px}.auth-form__forgot:hover{opacity:.8}.auth-form__divider{align-items:center;gap:var(--space-2);color:var(--color-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;display:flex}.auth-form__divider:before,.auth-form__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-form__toggle{text-align:center;font-size:var(--text-sm);color:var(--color-muted)}.auth-form__toggle a{color:var(--color-accent);cursor:pointer;transition:opacity var(--duration-fast);font-weight:600}.auth-form__toggle a:hover{opacity:.8}.btn--social{border:1px solid var(--color-border);color:var(--color-text);background:#f0ede80a;padding:12px 24px;font-weight:500}.btn--social:hover{background:var(--color-faint);border-color:var(--color-border-hover)}.btn--social svg{width:18px;height:18px}.password-strength{gap:4px;margin-top:4px;display:flex}.password-strength__bar{background:var(--color-faint);border-radius:var(--radius-full);height:3px;transition:background var(--duration-fast);flex:1}.password-strength__bar.filled-weak{background:var(--color-error)}.password-strength__bar.filled-medium{background:var(--color-warning)}.password-strength__bar.filled-strong{background:var(--color-success)}.auth-error{align-items:center;gap:var(--space-1);padding:12px var(--space-2);background:var(--color-error-soft);border:1px solid var(--color-error-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-error);display:none}.auth-error.show{display:flex}.auth-loading{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);background:#0a0a0acc;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.auth-loading.show{display:flex}.auth-spinner{border:3px solid var(--color-faint);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.auth-form-side{padding:var(--space-4) var(--space-3);max-width:100%}.auth-form__row{grid-template-columns:1fr}}
