/* Animations and visual effects */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } /* Balance card glow effect */ .balance-glow { position: relative; overflow: hidden; } .balance-glow::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient( to bottom right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100% ); transform: rotate(30deg); animation: shimmer 3s infinite linear; } /* Enhanced transaction items */ .transaction-item { transition: all 0.3s ease; transform-origin: center; opacity: 0; animation: fadeIn 0.5s forwards; } @keyframes fadeIn { to { opacity: 1; } } .transaction-item:hover { transform: scale(1.02) translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); z-index: 10; } /* Floating quick actions */ .quick-action { transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } .quick-action:hover { transform: translateY(-8px) scale(1.05); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } /* Dark mode enhancements */ html.dark { background: linear-gradient(135deg, #111827 0%, #1f2937 100%); } /* Custom scrollbar with gradient */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, #0ea5e9, #7dd3fc); border-radius: 10px; } /* Pulse animation for important elements */ @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .pulse { animation: pulse 2s infinite; } /* Sparkle effect */ .sparkle { position: relative; } .sparkle::after { content: '✨'; position: absolute; top: -10px; right: -5px; font-size: 12px; animation: float 3s ease-in-out infinite; }