@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.payment-method-enter{opacity:0;transform:translateY(10px)}.payment-method-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.payment-method-exit{opacity:1}.payment-method-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}@keyframes scan{0%{transform:translateY(0)}10%{transform:translateY(-5px)}20%{transform:translateY(0)}to{transform:translateY(0)}}.scan-hint{animation:scan 3s ease-in-out infinite}@media (max-width:480px){.qr-modal-content{padding:1rem}.qr-code-image{width:160px;height:160px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-zoomIn{animation:zoomIn .2s forwards}@keyframes success{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-animation{animation:success .5s ease-in-out forwards}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .4s ease-out forwards}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.animate-bounce{animation:bounce 2s infinite}@keyframes ping{0%{transform:scale(.8);opacity:1}70%,to{transform:scale(1.7);opacity:0}}.animate-ping{animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite}.data-\[state\=open\]\:animate-in{animation:fadeIn .3s ease-out}.data-\[state\=closed\]\:animate-out{animation:fadeOut .2s ease-in}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.qr-code-image{position:relative;overflow:hidden}.qr-code-image:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,hsla(0,0%,100%,0),hsla(0,0%,100%,.1) 30%,hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,.1) 70%,hsla(0,0%,100%,0));transform:rotate(30deg);animation:shine 6s linear infinite;pointer-events:none}@keyframes shine{0%{transform:translateX(-100%) rotate(30deg)}to{transform:translateX(100%) rotate(30deg)}}.gradient-bg{background:linear-gradient(135deg,var(--background) 0,var(--card) 100%)}.dynamic-shadow{transition:box-shadow .3s ease,transform .3s ease}.dynamic-shadow:hover{box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.button-press{transition:transform .1s ease}.button-press:active{transform:scale(.97)}@keyframes borderGlow{0%{box-shadow:0 0 5px rgba(var(--primary-rgb),.5)}50%{box-shadow:0 0 15px rgba(var(--primary-rgb),.8)}to{box-shadow:0 0 5px rgba(var(--primary-rgb),.5)}}.border-glow{animation:borderGlow 2s infinite}.dialog-overlay[data-state=open],[data-state=open] .dialog-overlay{opacity:0!important;background-color:transparent!important}[data-state=open] [style*=backdrop-filter]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:transparent!important}[role=dialog]:after,[role=dialog]:before{display:none!important}.dialog-overlay-animation{animation:none!important}