.page-content:has(.auth-page){justify-content:center}.auth-page{flex-direction:column;width:100%;display:flex}.auth-page.centered{width:100%;max-width:420px;min-height:fit-content;padding:var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-md));border:1px solid var(--theme-border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);justify-content:center;align-items:center;gap:var(--space-5);flex-direction:column;flex:0 auto;margin:0 auto;display:flex;position:relative;overflow:visible}.auth-form{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:0;width:100%;animation:.4s ease-out auth-form-fade-in;display:flex}@keyframes auth-form-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-form>*{box-sizing:border-box;width:100%;max-width:100%;margin-bottom:var(--space-5)}.auth-form>:last-child{margin-bottom:0}.auth-form input{box-sizing:border-box;border:none;border-bottom:2px solid var(--theme-border-color);width:100%;min-height:48px;color:var(--theme-text-primary);padding:var(--space-3) var(--space-2);box-shadow:none;transition:border-color var(--duration-fast) var(--ease-out);background:0 0;border-radius:0;font-size:1rem}.auth-form input:focus{border-bottom-color:var(--accent-color);outline:none}.auth-form input::placeholder{color:var(--theme-text-muted);opacity:.8}.auth-form .input{margin-bottom:var(--space-5)}.form-row{gap:var(--space-4);box-sizing:border-box;flex-direction:row;width:100%;margin-bottom:0;display:flex}.form-row>*{min-width:0;margin-bottom:var(--space-5);flex:1}.form-row .input{margin-bottom:var(--space-5)}.auth-subtitle{font-size:var(--text-sm);color:var(--theme-text-secondary);margin-bottom:var(--space-4);text-align:center;line-height:1.5}.auth-loading{color:var(--theme-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3);text-align:center;animation:1.5s ease-in-out infinite auth-loading-pulse}@keyframes auth-loading-pulse{0%,to{opacity:.6}50%{opacity:1}}.auth-link{color:var(--focused-border-color);font-size:var(--text-sm);transition:opacity var(--duration-fast) var(--ease-out);font-weight:500;text-decoration:none}@media (hover:hover){.auth-link:hover{opacity:.8}}.auth-remember-forgot{width:100%;margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.auth-remember-label{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--theme-text-secondary);-webkit-user-select:none;user-select:none;display:flex}.auth-remember-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.auth-link-forgot{color:var(--focused-border-color);font-size:var(--text-sm);transition:opacity var(--duration-fast) var(--ease-out);font-weight:500;text-decoration:none}@media (hover:hover){.auth-link-forgot:hover{opacity:.8}}.auth-terms{width:100%;margin-bottom:var(--space-5)}.field-error{color:var(--primary-error-color);font-size:var(--text-xs);margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-3);text-align:left}.auth-terms .checkbox-label{align-items:flex-start;gap:var(--space-2);text-align:left;display:flex}.auth-terms .checkbox-text{font-size:var(--text-sm);color:var(--theme-text-muted)}.recovery-methods{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.method-options{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.method-button{padding:var(--space-4);border:2px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--theme-bg-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);flex-direction:column;align-items:flex-start;width:100%;display:flex}@media (hover:hover){.method-button:hover{background:var(--theme-bg-tertiary);border-color:var(--focused-border-color)}}.method-icon{margin-bottom:var(--space-1);font-size:1.25rem}.method-label{color:var(--theme-text-primary);font-weight:600}.method-desc{font-size:var(--text-xs);color:var(--theme-text-muted)}.form-actions{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.auth-form-actions{gap:var(--space-3);width:100%;margin-top:var(--space-3);flex-direction:column;display:flex}.password-strength-container{width:100%;margin-bottom:var(--space-3)}.password-strength-bar{background:var(--primary-color-5);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.password-strength-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out), background var(--duration-slow) var(--ease-out)}.password-strength-label{font-size:var(--text-xs);color:var(--theme-text-muted);margin-top:var(--space-1);margin-bottom:var(--space-2);text-align:right}.password-requirements{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.password-requirement{font-size:var(--text-xs);color:var(--primary-error-color);align-items:center;gap:var(--space-1);display:flex}.password-requirement.passed{color:var(--primary-success-color)}.password-hibp-safe{font-size:var(--text-xs);color:var(--primary-success-color)}.password-hibp-checking{font-size:var(--text-xs);color:var(--theme-text-muted)}.password-hibp-compromised{font-size:var(--text-xs);color:var(--primary-error-color)}.step-indicator{width:100%;margin-bottom:var(--space-6);justify-content:center;align-items:center;gap:0;display:flex}.step-item{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.step-circle{width:36px;height:36px;font-size:var(--text-sm);border:2px solid var(--border-color);color:var(--secondary-color-5);transition:all var(--duration-fast) var(--ease-out);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.step-item.active .step-circle{border-color:var(--shared-accent-color);background:oklch(from var(--shared-accent-color) l c h/.15);color:var(--shared-accent-color)}.step-item.completed .step-circle{border-color:var(--shared-accent-color);background:var(--shared-accent-color);color:var(--primary-color-1)}.step-connector{background:var(--border-color);width:48px;height:2px;margin:0 var(--space-1);transition:background var(--duration-fast) var(--ease-out)}.step-connector.completed{background:var(--shared-accent-color)}@media (width<768px){.auth-page.centered{border:none;border-radius:0;width:100%;padding:0}.form-row{flex-direction:column;gap:0}.form-row>*{margin-bottom:var(--space-5)}.auth-form input{min-height:44px;font-size:16px}}