// Inline SVG icons — used across components
const Icon = {
  Arrow: ({size = 18}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  ArrowRight: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Check: ({size = 14}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 13l4 4L19 7" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  X: ({size = 14}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M6 6l12 12M18 6L6 18" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Bolt: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M13 2L3 14h7l-1 8 10-12h-7l1-8z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  Filter: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M3 5h18l-7 9v6l-4-2v-4L3 5z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  Calendar: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <rect x="3" y="5" width="18" height="16" rx="2" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M3 10h18M8 3v4M16 3v4" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Doc: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M14 3H6a2 2 0 00-2 2v14a2 2 0 002 2h12a2 2 0 002-2V9l-6-6z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M14 3v6h6M9 14h6M9 17h4" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  DocFill: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24">
      {/* arquivo preenchido (currentColor) + dobra + linhas de texto */}
      <path d="M13 2.5H6.5A2.5 2.5 0 0 0 4 5v14a2.5 2.5 0 0 0 2.5 2.5h11A2.5 2.5 0 0 0 20 19V9.5L13 2.5z" fill="currentColor"/>
      <path d="M13 2.5V8a1.5 1.5 0 0 0 1.5 1.5H20L13 2.5z" fill="rgba(0,0,0,0.20)"/>
      <path d="M7.6 13.4h6.8M7.6 16.4h4.6" stroke="rgba(4,15,46,0.85)" strokeWidth="1.7" strokeLinecap="round"/>
    </svg>
  ),
  Mic: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <rect x="9" y="3" width="6" height="12" rx="3" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M5 11a7 7 0 0014 0M12 18v3" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Clock: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="9" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M12 7v5l3 2" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Users: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="9" cy="8" r="3.5" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M2 21c0-3.5 3.5-6 7-6s7 2.5 7 6M16 11a3 3 0 100-6M22 21c0-2.5-2-4.5-4-5.5" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Money: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <rect x="2" y="6" width="20" height="12" rx="2" stroke="currentColor" strokeWidth="1.6"/>
      <circle cx="12" cy="12" r="3" stroke="currentColor" strokeWidth="1.6"/>
    </svg>
  ),
  Funnel: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M3 4h18l-7 9v7l-4-2v-5L3 4z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  Whatsapp: ({size = 22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor">
      <path d="M17.5 14.4c-.3-.1-1.7-.8-2-1-.3-.1-.4-.1-.6.1s-.7.9-.9 1c-.2.2-.3.2-.6.1-1-.4-2-1-2.7-1.8-.7-.7-1.2-1.5-1.6-2.4-.2-.3 0-.5.1-.6.1-.1.3-.4.5-.6.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.7-1.7c-.2-.5-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.7.7-1.2 1.6-1.2 2.6.1 1.5.6 2.9 1.5 4.1 1.7 2.4 3.6 4 6.4 4.8.6.2 1.2.2 1.7.1.7-.1 1.4-.6 1.8-1.2.2-.4.2-.8.2-1.2 0-.1-.2-.2-.4-.2zM20 4A10 10 0 003 18l-1 4 4-1A10 10 0 0020 4zm-2.4 13.6a8 8 0 01-9.6 1.4l-.3-.2-2.4.6.6-2.4-.2-.3a8 8 0 1111.9.9z"/>
    </svg>
  ),
  Spark: ({size = 22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3l2 6 6 2-6 2-2 6-2-6-6-2 6-2 2-6z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  Plug: ({size = 22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M9 2v6M15 2v6M6 8h12v4a6 6 0 11-12 0V8zM12 18v4" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Shield: ({size = 22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M9 12l2 2 4-4" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Globe: ({size = 22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="9" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M3 12h18M12 3a14 14 0 010 18M12 3a14 14 0 000 18" stroke="currentColor" strokeWidth="1.6"/>
    </svg>
  ),
  Send: ({size = 16}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor">
      <path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" fill="none"/>
    </svg>
  ),
  Play: ({size = 36}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor">
      <path d="M8 5v14l11-7z"/>
    </svg>
  ),
  Gear: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="3" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  // Logomark Conversapp — bolha verde-limão + rosto-robô navy (sem wordmark).
  Brand: ({size = 28}) => (
    <svg width={size} height={size} viewBox="0 0 44 46" fill="none" aria-hidden="true">
      <path d="M11.5 31.5 L5 43 L19 34.5 Z" fill="#ABF36A"/>
      <circle cx="24" cy="21.5" r="16" fill="#ABF36A"/>
      <circle cx="18.3" cy="21.8" r="7.3" fill="#040F2E"/>
      <rect x="16.1" y="7.6" width="4.4" height="9.4" rx="2.2" fill="#040F2E"/>
      <circle cx="18.3" cy="6.6" r="4.1" fill="#040F2E"/>
      <circle cx="30.8" cy="20.2" r="3.4" fill="#040F2E"/>
    </svg>
  ),

  // ===== Ícones específicos (menos genéricos) =====
  Wrench: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M21 3l-5 5m5-5a4 4 0 0 1-5.5 5.5L4 20l-1-1L14.5 7.5A4 4 0 0 1 20 2l1 1z" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Pulse: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M3 12h4l2-7 4 14 2-7h6" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Layers: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3l9 5-9 5-9-5 9-5z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M3 12l9 5 9-5M3 16l9 5 9-5" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  Target: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="9" stroke="currentColor" strokeWidth="1.6"/>
      <circle cx="12" cy="12" r="5" stroke="currentColor" strokeWidth="1.6"/>
      <circle cx="12" cy="12" r="1.6" fill="currentColor"/>
    </svg>
  ),
  Sift: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M3 4h18l-7 9v6l-4-2v-4L3 4z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
      <circle cx="9" cy="9" r="0.9" fill="currentColor"/>
      <circle cx="13" cy="9" r="0.9" fill="currentColor"/>
      <circle cx="11" cy="11.5" r="0.9" fill="currentColor"/>
    </svg>
  ),
  CalendarPlus: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <rect x="3" y="5" width="18" height="16" rx="2" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M3 10h18M8 3v4M16 3v4M12 14v5M9.5 16.5h5" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Handshake: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M4 12l4-1 3 2 3-3 3 3 3-2v3l-3 4-3-2-3 2-3-2-4 1v-5z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M10 12l2 2 2-2" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Loop: ({size = 24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M4 9a8 8 0 0 1 14-3l3 3M20 15a8 8 0 0 1-14 3l-3-3" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
      <path d="M21 3v6h-6M3 21v-6h6" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  )
};

window.Icon = Icon;
