.animated-input{transition:all .2s ease;transform-origin:top left;will-change:transform,box-shadow}.animated-input:focus-within{transform:translateY(-2px);box-shadow:0 4px 20px -8px rgba(0,0,0,.1)}.btn-hover-lift{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;will-change:transform,box-shadow}.btn-hover-lift:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px -6px rgba(0,0,0,.2)}.btn-hover-lift:active:not(:disabled){transform:translateY(0)}.card-hover{transition:transform .3s ease,box-shadow .3s ease;transform:translateZ(0)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px rgba(0,0,0,.12)}.floating-label{position:absolute;pointer-events:none;left:12px;top:15px;transition:all .2s ease}.animated-input.has-value .floating-label,.animated-input:focus-within .floating-label{top:-10px;left:5px;font-size:.75rem;color:hsl(var(--primary))}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.4);opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:0 0}.btn-ripple:focus:not(:active):after{animation:ripple .6s ease-out;will-change:transform,opacity}@keyframes ripple{0%{transform:scale(0) translate(-50%,-50%);opacity:.6}to{transform:scale(30) translate(-50%,-50%);opacity:0}}.dialog-backdrop{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:-webkit-backdrop-filter .4s ease;transition:backdrop-filter .4s ease;transition:backdrop-filter .4s ease,-webkit-backdrop-filter .4s ease}.dialog-backdrop[data-state=open]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-content{transform:scale(.95) translateY(10px);opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}@keyframes shine{0%{transform:translateX(-100%) skewX(-12deg);opacity:0}50%{opacity:1}to{transform:translateX(100%) skewX(-12deg);opacity:0}}.animate-shine{animation:shine 2s ease-in-out infinite}@keyframes sparkle-1{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes sparkle-2{0%,to{opacity:.6;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.1) rotate(180deg)}}.animate-sparkle-1{animation:sparkle-1 1.5s ease-in-out infinite}.animate-sparkle-2{animation:sparkle-2 2s ease-in-out infinite}.animation-delay-300{animation-delay:.3s}.animation-delay-600{animation-delay:.6s}.animation-delay-900{animation-delay:.9s}.qr-button-glow{animation:qr-glow 3s ease-in-out infinite}.qr-button-float{animation:qr-float 4s ease-in-out infinite}@keyframes qr-glow{0%,to{box-shadow:0 0 20px rgba(236,72,153,.3),0 0 40px rgba(168,85,247,.2)}50%{box-shadow:0 0 30px rgba(236,72,153,.5),0 0 60px rgba(168,85,247,.3)}}@keyframes qr-float{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-3px) rotate(1deg)}50%{transform:translateY(-6px) rotate(0deg)}75%{transform:translateY(-3px) rotate(-1deg)}}@keyframes qr-sparkle{0%,to{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.qr-sparkle,.qr-sparkle-delayed{animation:qr-sparkle 2s ease-in-out infinite}.qr-sparkle-delayed{animation-delay:1s}@keyframes fade-in-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-slide{animation:fade-in-slide-up .7s cubic-bezier(.4,0,.2,1) forwards;will-change:opacity,transform}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}