.auth-provider__loading{background:var(--app);height:100vh;display:flex}.dark .auth-provider__loading{background:var(--app)}.auth-provider__loading-inner{flex:1;justify-content:center;align-items:center;display:flex}.auth-provider__loading-text{color:var(--muted-foreground)}

.session-expired-overlay{z-index:var(--z-session-lock);background-color:hsl(var(--background));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-expired-card{text-align:center;flex-direction:column;align-items:center;gap:.875rem;width:100%;max-width:22rem;padding:2.5rem;display:flex}.session-expired-icon{background-color:hsl(var(--muted));width:4rem;height:4rem;color:hsl(var(--muted-foreground));border-radius:9999px;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.session-expired-title{color:hsl(var(--foreground));margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.session-expired-description{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem;line-height:1.5}.session-expired-button{width:100%;margin-top:.75rem}
.two-factor-verify{flex-direction:column;gap:2rem;display:flex}.two-factor-verify__content{flex-direction:column;align-items:center;gap:2rem;display:flex}.two-factor-verify__icon{color:var(--primary);justify-content:center;align-items:center;display:flex}.two-factor-verify__title{color:var(--foreground);text-align:center;font-size:1.25rem;font-weight:600;line-height:1.3}.two-factor-verify__description{color:var(--muted-foreground);text-align:center;margin:0;font-size:.9rem;line-height:1.5}.two-factor-verify__form{flex-direction:column;align-items:center;gap:1.5rem;width:100%;display:flex}.two-factor-verify__inputs{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.two-factor-verify__input{text-align:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:3rem;height:3rem;color:var(--foreground);caret-color:var(--primary);box-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 6%, transparent);font-size:1.5rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.two-factor-verify__input:focus{border-color:color-mix(in srgb, var(--border) 50%, var(--primary));box-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 6%, transparent), 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);outline:none}.two-factor-verify__input:disabled{background:var(--muted);cursor:not-allowed;opacity:.5}.two-factor-verify__input::placeholder{color:var(--muted-foreground)}.two-factor-verify__error{background:color-mix(in srgb, var(--destructive) 5%, transparent);border:1px solid var(--destructive);border-radius:var(--radius-sm);color:var(--destructive);align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:.875rem;animation:.2s slide-in-top;display:flex}.two-factor-verify__error-icon{flex-shrink:0}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.two-factor-verify__actions{flex-direction:column;gap:.75rem;width:100%;display:flex}.two-factor-verify__button{width:100%;min-height:2.5rem;font-weight:500}.two-factor-verify__button--primary{background:var(--primary);color:var(--primary-foreground)}.two-factor-verify__button--primary:hover:not(:disabled){background:var(--primary);opacity:.9}.two-factor-verify__button:disabled{opacity:.5;cursor:not-allowed}.two-factor-verify__loader{width:1rem;height:1rem;margin-right:.5rem}@media (max-width:640px){.two-factor-verify__input{width:2.5rem;height:2.5rem;font-size:1.25rem}.two-factor-verify__inputs{gap:.5rem}.two-factor-verify__title{font-size:1.1rem}.two-factor-verify__description{font-size:.85rem}}
.force-password-change{flex-direction:column;gap:1rem;display:flex}.force-password-change__intro{color:var(--muted-foreground);align-items:flex-start;gap:.5rem;display:flex}.force-password-change__intro-icon{width:1.25rem;height:1.25rem;color:var(--status-warning-text);flex-shrink:0}.force-password-change__form{flex-direction:column;gap:.75rem;display:flex}.force-password-change__form-item{flex-direction:column;gap:.25rem;display:flex}.force-password-change__password-wrap{position:relative}.force-password-change__input{width:100%}.force-password-change__toggle{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.force-password-change__toggle-icon{width:1.25rem;height:1.25rem}.force-password-change__error-slot{min-height:1rem}.force-password-change__field-error{color:var(--status-danger-text);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.force-password-change__field-error-icon{flex-shrink:0;width:.9rem;height:.9rem}.force-password-change__submit{width:100%}.force-password-change__loader{width:1rem;height:1rem;margin-right:.5rem}.force-password-change__cancel-row{justify-content:center;display:flex}.force-password-change__link-muted{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;font-size:.85rem}
