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