.auth-page{min-height:100vh;padding:var(--spacing-lg);background:var(--color-bg-primary);justify-content:center;align-items:center;display:flex}.auth-container{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo{margin-bottom:var(--spacing-md);text-decoration:none;display:inline-block}.auth-header h1{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 var(--spacing-xs);font-weight:600}.auth-header p{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.auth-form{gap:var(--spacing-md);flex-direction:column;display:flex}.auth-error{color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#ff3b301a;border:1px solid #ff3b304d}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.form-field input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px}.form-field input::placeholder{color:var(--color-text-muted)}.form-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.auth-link{color:var(--color-accent);font-size:var(--text-sm);transition:color var(--transition-fast);text-decoration:none}.auth-link:hover{color:var(--color-accent-hover)}.forgot-link{align-self:flex-end}.auth-button{background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:600;font-family:var(--font-sans);cursor:pointer;box-shadow:0 0 20px var(--color-accent-glow);transition:background var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast);margin-top:var(--spacing-xs);border:none;padding:14px 24px}.auth-button:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 0 28px #a1c9f140}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer-text{text-align:center;margin-top:var(--spacing-xl);font-size:var(--text-sm);color:var(--color-text-secondary)}.password-label-row{justify-content:space-between;align-items:baseline;display:flex}.password-generate{color:var(--color-accent);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.password-generate:hover{color:var(--color-accent-hover)}.password-input-wrap{width:100%;position:relative}.password-input-wrap input{width:100%;padding-right:44px!important}.password-toggle{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text-secondary)}.password-meta{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.password-strength{align-items:center;gap:3px;display:flex}.password-strength__bar{background:var(--color-border);width:32px;height:3px;transition:background var(--transition-fast);border-radius:2px}.password-strength__bar--level-1{background:var(--color-error)}.password-strength__bar--level-2{background:var(--color-warning)}.password-strength__bar--level-3{background:var(--color-accent)}.password-strength__bar--level-4{background:var(--color-success)}.password-strength__label{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:8px}.password-copy{color:var(--color-text-muted);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.password-copy:hover{color:var(--color-accent)}
