@keyframes focusGlow{0%,to{box-shadow:0 0 0 0 rgba(187,145,234,0)}50%{box-shadow:0 0 20px 2px rgba(187,145,234,.3)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.auth-input-focus{transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-input-focus:focus{animation:focusGlow 2s ease-in-out infinite}.auth-button-ripple{position:relative;overflow:hidden}.auth-button-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);pointer-events:none}.auth-button-ripple:active:after{width:100px;height:100px;animation:ripple .6s ease-out}.auth-error-shake{animation:shake .5s ease-in-out}.auth-success-pulse{animation:successPulse .3s ease-in-out}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 0,hsl(var(--muted)/.5) 50%,hsl(var(--muted)) 100%);background-size:2000px 100%;animation:shimmer 2s infinite}.brand-gradient-button{background:linear-gradient(135deg,var(--primary-from) 0,var(--primary-to) 100%);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.brand-gradient-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-to) 0,var(--primary-from) 100%);opacity:0;transition:opacity .3s ease}.brand-gradient-button:hover:before{opacity:1}.brand-gradient-button>*{position:relative;z-index:1}.code-input-group{display:flex;gap:0;position:relative}.code-input-group input{border-top-right-radius:0;border-bottom-right-radius:0;transition:all .3s ease}.code-input-group button{border-top-left-radius:0;border-bottom-left-radius:0;min-width:100px}.floating-label-group{position:relative}.floating-label{position:absolute;top:50%;left:12px;transform:translateY(-50%);transition:all .3s ease;pointer-events:none;background:hsl(var(--background));padding:0 4px;color:hsl(var(--muted-foreground));font-size:.875rem}.floating-label-group input:not(:-moz-placeholder)~.floating-label{top:0;transform:translateY(-50%);font-size:.75rem;color:hsl(var(--primary))}.floating-label-group input:focus~.floating-label,.floating-label-group input:not(:placeholder-shown)~.floating-label{top:0;transform:translateY(-50%);font-size:.75rem;color:hsl(var(--primary))}.tab-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-divider{position:relative;text-align:center;margin:2rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsl(var(--border)) 20%,hsl(var(--border)) 80%,transparent)}.auth-divider-text{position:relative;display:inline-block;padding:0 1rem;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}@media (max-width:640px){.code-input-group{flex-direction:column;gap:.5rem}.code-input-group button,.code-input-group input{border-radius:var(--radius)!important;width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.auth-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}