@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-15deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.05)}to{transform:scale(1);box-shadow:0 0 0 20px #667eea00}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes wobble{0%,to{transform:translate(0)}15%{transform:translate(-25px) rotate(-5deg)}30%{transform:translate(20px) rotate(3deg)}45%{transform:translate(-15px) rotate(-3deg)}60%{transform:translate(10px) rotate(2deg)}75%{transform:translate(-5px) rotate(-1deg)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{border-color:transparent}51%,to{border-color:#667eea}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-bg{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000001a}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #667eea80}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn-ripple:hover:before{width:300px;height:300px}.btn-slide{position:relative;overflow:hidden;z-index:1}.btn-slide:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:-1}.btn-slide:hover:before{left:100%}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.typewriter{overflow:hidden;border-right:2px solid #667eea;white-space:nowrap;margin:0 auto;animation:typing 3.5s steps(40,end),blink .75s step-end infinite}.text-shimmer{background:linear-gradient(90deg,#718096 25%,#667eea,#718096 75%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.counter{animation:countUp .5s ease-out}@keyframes progressFill{0%{width:0%}to{width:var(--progress)}}.progress-bar{position:relative;background:#e2e8f0;border-radius:10px;overflow:hidden}.progress-fill{height:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;animation:progressFill 2s ease-out}.stagger-animation{opacity:0;animation:fadeIn .6s ease-out forwards}.stagger-animation:nth-child(1){animation-delay:.1s}.stagger-animation:nth-child(2){animation-delay:.2s}.stagger-animation:nth-child(3){animation-delay:.3s}.stagger-animation:nth-child(4){animation-delay:.4s}.stagger-animation:nth-child(5){animation-delay:.5s}.stagger-animation:nth-child(6){animation-delay:.6s}.fade-in-up{opacity:0;transform:translateY(30px);transition:all .6s ease}.fade-in-up.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translate(-30px);transition:all .6s ease}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transform:translate(30px);transition:all .6s ease}.fade-in-right.visible{opacity:1;transform:translate(0)}.scale-in{opacity:0;transform:scale(.8);transition:all .6s ease}.scale-in.visible{opacity:1;transform:scale(1)}.nav-slide-down{transform:translateY(-100%);transition:transform .3s ease}.nav-slide-down.visible{transform:translateY(0)}.modal-fade-in{opacity:0;transform:scale(.8);transition:all .3s ease}.modal-fade-in.open{opacity:1;transform:scale(1)}.modal-slide-up{opacity:0;transform:translateY(50px);transition:all .3s ease}.modal-slide-up.open{opacity:1;transform:translateY(0)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f7fafc,#e2e8f0 75%);background-size:200% 100%;animation:skeleton 1.5s infinite}@keyframes chartGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar{transform-origin:bottom;animation:chartGrow 1s ease-out}.chart-bar:nth-child(1){animation-delay:.1s}.chart-bar:nth-child(2){animation-delay:.2s}.chart-bar:nth-child(3){animation-delay:.3s}.chart-bar:nth-child(4){animation-delay:.4s}.chart-bar:nth-child(5){animation-delay:.5s}.tab-content{opacity:0;transform:translate(20px);transition:all .3s ease}.tab-content.active{opacity:1;transform:translate(0)}.icon-bounce{animation:bounce 2s infinite}.icon-pulse{animation:pulse 2s infinite}.icon-rotate{animation:spin 4s linear infinite}.form-field{position:relative;margin-bottom:1.5rem}.form-field input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;background:transparent;transition:border-color .3s ease}.form-field input:focus{border-color:#667eea;outline:none}.form-field label{position:absolute;top:1rem;left:1rem;color:#718096;pointer-events:none;transition:all .3s ease}.form-field input:focus+label,.form-field input:not(:placeholder-shown)+label{transform:translateY(-1.5rem) scale(.875);color:#667eea}@keyframes checkmark{0%{stroke-dasharray:0 100}to{stroke-dasharray:100 0}}.checkmark{stroke-dasharray:0 100;animation:checkmark .5s ease-in-out}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-shake{animation:errorShake .5s ease-in-out}.notification-slide-in{transform:translate(100%);transition:transform .3s ease}.notification-slide-in.show{transform:translate(0)}.notification-fade-out{opacity:1;transition:opacity .3s ease}.notification-fade-out.hide{opacity:0}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-duration-300{animation-duration:.3s}.animate-duration-500{animation-duration:.5s}.animate-duration-700{animation-duration:.7s}.animate-duration-1000{animation-duration:1s}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1}.animate-twice{animation-iteration-count:2}.animate-pause{animation-play-state:paused}.animate-play{animation-play-state:running}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
