@keyframes paymentRow{0%,to{opacity:.5}50%{opacity:1}}@keyframes statusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes progressFill{0%{width:0%}to{width:100%}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingDot{0%,to{opacity:.3}50%{opacity:1}}@keyframes fileUpload{0%{opacity:0;transform:translateY(-20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes folderOpen{0%{transform:rotateX(0)}50%{transform:rotateX(-10deg)}to{transform:rotateX(0)}}@keyframes eventHighlight{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 4px #3b82f633}}@keyframes dateSelect{0%{background-color:#0000}to{background-color:#3b82f61a}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes textType{0%{width:0}to{width:100%}}@keyframes chartGrow{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@keyframes numberCount{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes balanceUpdate{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes transactionSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes dataRefresh{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}@keyframes lineChart{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.animate-payment-row{animation:3s ease-in-out infinite paymentRow}.animate-status-pulse{animation:2s ease-in-out infinite statusPulse}.animate-progress-fill{animation:2s ease-out forwards progressFill}.animate-message-slide{animation:.3s ease-out forwards messageSlide}.animate-typing-dot{animation:1.4s ease-in-out infinite typingDot}.animate-file-upload{animation:.4s ease-out forwards fileUpload}.animate-event-highlight{animation:2s ease-in-out infinite eventHighlight}.animate-cursor-blink{animation:1s step-end infinite cursorBlink}.animate-chart-grow{animation:1s ease-out forwards chartGrow}.animate-number-count{animation:.5s ease-out forwards numberCount}.animate-balance-update{animation:2s ease-in-out infinite balanceUpdate}.animate-transaction-slide{animation:.3s ease-out forwards transactionSlide}.animate-data-refresh{animation:3s ease-in-out infinite dataRefresh}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(2deg)}67%{transform:translateY(8px)rotate(-2deg)}}@keyframes float-reverse{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(10px)rotate(-2deg)}67%{transform:translateY(-8px)rotate(2deg)}}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 20px #3b82f64d}50%{transform:scale(1.05);box-shadow:0 0 50px #3b82f699}}.animate-float{animation:8s ease-in-out infinite float}.animate-float-reverse{animation:9s ease-in-out infinite float-reverse}.animate-pulse-glow{animation:3s ease-in-out infinite pulse-glow}
