    /* Custom scrollbar */
    ::-webkit-scrollbar { width: 8px; height: 8px; }
    ::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
    ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
    ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
    
    /* Animations */
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-fadeIn { animation: fadeIn 0.3s ease-out; }
    
    @keyframes slideIn {
      from { opacity: 0; transform: translateX(20px); }
      to { opacity: 1; transform: translateX(0); }
    }
    .animate-slideIn { animation: slideIn 0.3s ease-out; }
    
    @keyframes pulse-soft {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.7; }
    }
    .animate-pulse-soft { animation: pulse-soft 2s infinite; }
    
    /* Glow effect */
    .glow-effect {
      filter: drop-shadow(0 0 20px rgba(139, 92, 246, 0.3));
    }
    
    /* Loading spinner */
    .spinner {
      border: 3px solid #f3f4f6;
      border-top-color: #22c55e;
      border-radius: 50%;
      width: 24px;
      height: 24px;
      animation: spin 1s linear infinite;
    }
    .spinner-sm {
      border: 2px solid rgba(255,255,255,0.3);
      border-top-color: white;
      border-radius: 50%;
      width: 20px;
      height: 20px;
      animation: spin 1s linear infinite;
    }
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    
    /* Glassmorphism card */
    .glass-card {
      background: rgba(255, 255, 255, 0.7);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.2);
    }
    
    /* Glass Input IA - Roxo/Jade */
    .glass-input-ia {
      background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(16, 185, 129, 0.1) 100%);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(139, 92, 246, 0.3);
      box-shadow: 0 8px 32px rgba(139, 92, 246, 0.15), inset 0 0 20px rgba(255, 255, 255, 0.1);
    }
    .glass-input-ia:focus-within {
      border-color: rgba(139, 92, 246, 0.6);
      box-shadow: 0 8px 32px rgba(139, 92, 246, 0.25), inset 0 0 20px rgba(255, 255, 255, 0.15), 0 0 20px rgba(139, 92, 246, 0.3);
    }
    
    /* Neon Purple Gradient - Neo Chinese Style */
    .neon-purple-gradient {
      background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #667eea 100%);
      background-size: 300% 300%;
      animation: neonShift 3s ease infinite;
    }
    .neon-purple-btn {
      background: linear-gradient(135deg, #8b5cf6 0%, #a855f7 50%, #d946ef 100%);
      box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4), 0 0 30px rgba(168, 85, 247, 0.2);
    }
    .neon-purple-btn:hover {
      background: linear-gradient(135deg, #7c3aed 0%, #9333ea 50%, #c026d3 100%);
      box-shadow: 0 6px 20px rgba(139, 92, 246, 0.5), 0 0 40px rgba(168, 85, 247, 0.3);
      transform: translateY(-1px);
    }
    
    /* AI Loading Animation - Rotating Glow */
    @keyframes aiGlowRotate {
      0% { 
        background: conic-gradient(from 0deg, #8b5cf6, #10b981, #8b5cf6);
        transform: rotate(0deg) scale(1.1);
      }
      50% { 
        background: conic-gradient(from 180deg, #10b981, #8b5cf6, #10b981);
        transform: rotate(180deg) scale(1.15);
      }
      100% { 
        background: conic-gradient(from 360deg, #8b5cf6, #10b981, #8b5cf6);
        transform: rotate(360deg) scale(1.1);
      }
    }
    .ai-glow-static {
      background: conic-gradient(from 0deg, rgba(139, 92, 246, 0.4), rgba(16, 185, 129, 0.4), rgba(139, 92, 246, 0.4));
    }
    .ai-glow-loading {
      animation: aiGlowRotate 2s linear infinite;
    }
    
    @keyframes neonShift {
      0%, 100% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
    }
    
    /* Number formatting */
    .currency::before { content: 'R$ '; }
    
    /* Smooth transitions */
    * { transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
    
    /* Modal backdrop */
    .modal-backdrop {
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px);
    }
    
    /* ========== SPLASH SCREEN ANIMATIONS ========== */
    @keyframes splashBgGradient {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }
    
    @keyframes splashLogoScale {
      0% { transform: scale(0.3); opacity: 0; }
      50% { transform: scale(1.1); opacity: 1; }
      100% { transform: scale(1); opacity: 1; }
    }
    
    @keyframes splashRingPulse {
      0% { transform: scale(0.8); opacity: 0.8; }
      50% { transform: scale(1.2); opacity: 0.3; }
      100% { transform: scale(1.5); opacity: 0; }
    }
    
    @keyframes splashRingRotate {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
    
    @keyframes splashTextReveal {
      0% { opacity: 0; transform: translateY(20px); letter-spacing: 0.5em; }
      100% { opacity: 1; transform: translateY(0); letter-spacing: 0.1em; }
    }
    
    @keyframes splashSubtextFade {
      0% { opacity: 0; transform: translateY(10px); }
      100% { opacity: 1; transform: translateY(0); }
    }
    
    @keyframes splashParticle {
      0% { transform: translateY(100vh) scale(0); opacity: 0; }
      10% { opacity: 1; }
      90% { opacity: 1; }
      100% { transform: translateY(-100vh) scale(1); opacity: 0; }
    }
    
    @keyframes splashShimmer {
      0% { background-position: -200% 0; }
      100% { background-position: 200% 0; }
    }
    
    .splash-bg {
      background: linear-gradient(-45deg, #0f172a, #1e293b, #134e4a, #1e3a5f);
      background-size: 400% 400%;
      animation: splashBgGradient 8s ease infinite;
    }
    
    .splash-logo-container {
      animation: splashLogoScale 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    }
    
    .splash-ring {
      position: absolute;
      border: 2px solid rgba(16, 185, 129, 0.5);
      border-radius: 50%;
      animation: splashRingPulse 2s ease-out infinite;
    }
    
    .splash-ring-1 { width: 200px; height: 200px; animation-delay: 0s; }
    .splash-ring-2 { width: 280px; height: 280px; animation-delay: 0.4s; border-color: rgba(139, 92, 246, 0.4); }
    .splash-ring-3 { width: 360px; height: 360px; animation-delay: 0.8s; border-color: rgba(59, 130, 246, 0.3); }
    
    .splash-orbit {
      position: absolute;
      width: 300px;
      height: 300px;
      border: 1px dashed rgba(255, 255, 255, 0.1);
      border-radius: 50%;
      animation: splashRingRotate 20s linear infinite;
    }
    
    .splash-orbit-dot {
      position: absolute;
      width: 8px;
      height: 8px;
      background: linear-gradient(135deg, #10b981, #8b5cf6);
      border-radius: 50%;
      box-shadow: 0 0 20px rgba(16, 185, 129, 0.8);
    }
    
    .splash-title {
      animation: splashTextReveal 1s ease-out 0.8s forwards;
      opacity: 0;
    }
    
    .splash-subtitle {
      animation: splashSubtextFade 0.8s ease-out 1.4s forwards;
      opacity: 0;
    }
    
    .splash-particle {
      position: absolute;
      width: 4px;
      height: 4px;
      background: rgba(255, 255, 255, 0.6);
      border-radius: 50%;
      animation: splashParticle 4s ease-in-out infinite;
    }
    
    .splash-shimmer {
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
      background-size: 200% 100%;
      animation: splashShimmer 2s ease-in-out infinite;
    }
