.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface);padding:calc(var(--navbar-height) + var(--space-2xl)) var(--space-lg) var(--space-2xl);position:relative}.auth-page::before{content:'';position:absolute;top:0;left:0;right:0;height:40vh;background:var(--gradient-hero);z-index:0}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-card{background:var(--surface-card-solid);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-2xl);animation:fadeInUp .5s var(--ease-out) both}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-logo{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);font-size:1.5rem;box-shadow:var(--shadow-glow)}.auth-header h1{font-size:1.5rem;margin-bottom:6px}.auth-header p{color:var(--text-muted);font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form .form-input{background:var(--surface)}.auth-form .btn-primary{width:100%;padding:14px;font-size:.95rem;margin-top:var(--space-sm)}.auth-footer{text-align:center;margin-top:var(--space-lg);font-size:.85rem;color:var(--text-muted)}.auth-footer a{font-weight:700;color:var(--primary)}.auth-forgot{text-align:right;margin-top:-4px}.auth-forgot a{font-size:.8rem;font-weight:600;color:var(--text-muted)}.auth-forgot a:hover{color:var(--primary)}.input-password-wrap{position:relative}.input-password-wrap .form-input{padding-right:48px}.input-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.input-password-toggle:hover{color:var(--primary)}.auth-alert{padding:12px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;display:none;align-items:center;gap:8px}.auth-alert.show{display:flex}.auth-alert-success{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.auth-alert-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}