@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes progress-bar{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-progress-bar{animation:progress-bar 1.5s ease-in-out infinite}@keyframes toast-progress{0%{width:100%}to{width:0}}.animate-toast-progress{animation:toast-progress linear forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-in.fade-in{animation:fade-in .5s ease-out}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in.slide-in-from-bottom{animation:slide-in-from-bottom .5s ease-out}@keyframes slide-in-from-right-full{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.animate-in.slide-in-from-right-full{animation:slide-in-from-right-full .3s ease-out}@keyframes zoom-in-95{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-in.zoom-in-95{animation:zoom-in-95 .5s ease-out}@keyframes pulse-enhanced{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.animate-pulse-enhanced{animation:pulse-enhanced 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes scale-success{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-scale-success{animation:scale-success .5s ease-out}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-skeleton-pulse{animation:skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.card-hover-lift{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.3),0 10px 10px -5px rgba(0,0,0,.2)}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}[data-stagger]{animation-delay:calc(var(--stagger-index, 0) * .1s)}@keyframes loading-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner{border:3px solid rgba(255,255,255,.1);border-top-color:#00ffff;border-radius:50%;animation:loading-spinner .8s linear infinite}@keyframes draw-checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.animate-checkmark{stroke-dasharray:100;animation:draw-checkmark .5s ease-out forwards}.backdrop-blur-custom{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.smooth-scroll{scroll-behavior:smooth;overflow-y:auto}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(30,41,59,.5);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(100,116,139,.5);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.7)}