// Minimal stroke-icon library (Lucide-style), keeps the bundle dependency-free.
const Icon = ({ children, size = 24, className = '', strokeWidth = 1.5, ...rest }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size} height={size}
    viewBox="0 0 24 24"
    fill="none" stroke="currentColor"
    strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"
    className={className}
    {...rest}
  >{children}</svg>
);

const IconBot       = (p) => <Icon {...p}><rect x="3" y="8" width="18" height="12" rx="3"/><path d="M12 4v4"/><circle cx="8.5" cy="14" r="1"/><circle cx="15.5" cy="14" r="1"/><path d="M9 18h6"/></Icon>;
const IconTrendDown = (p) => <Icon {...p}><polyline points="3 7 9 13 13 9 21 17"/><polyline points="21 11 21 17 15 17"/></Icon>;
const IconTrendUp   = (p) => <Icon {...p}><polyline points="3 17 9 11 13 15 21 7"/><polyline points="14 7 21 7 21 14"/></Icon>;
const IconBars      = (p) => <Icon {...p}><line x1="4" y1="20" x2="4" y2="10"/><line x1="10" y1="20" x2="10" y2="4"/><line x1="16" y1="20" x2="16" y2="14"/><line x1="22" y1="20" x2="2" y2="20"/></Icon>;
const IconUsers     = (p) => <Icon {...p}><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></Icon>;
const IconSearch    = (p) => <Icon {...p}><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.5" y2="16.5"/></Icon>;
const IconTarget    = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5" fill="currentColor"/></Icon>;
const IconCog       = (p) => <Icon {...p}><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .34 1.87l.06.06a2 2 0 0 1-2.82 2.83l-.06-.06a1.7 1.7 0 0 0-1.87-.34 1.7 1.7 0 0 0-1.03 1.56V21a2 2 0 0 1-4 0v-.09A1.7 1.7 0 0 0 9 19.4a1.7 1.7 0 0 0-1.87.34l-.06.06a2 2 0 1 1-2.83-2.82l.06-.06a1.7 1.7 0 0 0 .34-1.87 1.7 1.7 0 0 0-1.56-1.03H3a2 2 0 0 1 0-4h.09A1.7 1.7 0 0 0 4.6 9a1.7 1.7 0 0 0-.34-1.87l-.06-.06a2 2 0 1 1 2.82-2.83l.06.06a1.7 1.7 0 0 0 1.87.34H9a1.7 1.7 0 0 0 1.03-1.56V3a2 2 0 0 1 4 0v.09c0 .67.4 1.27 1.03 1.51.66.25 1.4.1 1.87-.34l.06-.06a2 2 0 1 1 2.83 2.82l-.06.06a1.7 1.7 0 0 0-.34 1.87V9c.24.63.84 1.03 1.51 1.03H21a2 2 0 0 1 0 4h-.09a1.7 1.7 0 0 0-1.51 1.03Z"/></Icon>;
const IconUserCheck = (p) => <Icon {...p}><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><polyline points="17 11 19 13 23 9"/></Icon>;
const IconCpu       = (p) => <Icon {...p}><rect x="5" y="5" width="14" height="14" rx="2"/><rect x="9" y="9" width="6" height="6"/><line x1="9" y1="2" x2="9" y2="5"/><line x1="15" y1="2" x2="15" y2="5"/><line x1="9" y1="19" x2="9" y2="22"/><line x1="15" y1="19" x2="15" y2="22"/><line x1="2" y1="9" x2="5" y2="9"/><line x1="2" y1="15" x2="5" y2="15"/><line x1="19" y1="9" x2="22" y2="9"/><line x1="19" y1="15" x2="22" y2="15"/></Icon>;
const IconArrowDown = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><polyline points="8 12 12 16 16 12"/><line x1="12" y1="8" x2="12" y2="16"/></Icon>;
const IconAward     = (p) => <Icon {...p}><circle cx="12" cy="8" r="6"/><polyline points="9 13 7 21 12 18 17 21 15 13"/></Icon>;
const IconServer    = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="8" rx="2"/><rect x="3" y="13" width="18" height="8" rx="2"/><line x1="7" y1="7" x2="7.01" y2="7"/><line x1="7" y1="17" x2="7.01" y2="17"/></Icon>;
const IconCheck     = (p) => <Icon {...p}><polyline points="20 6 9 17 4 12"/></Icon>;
const IconX         = (p) => <Icon {...p}><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></Icon>;
const IconShield    = (p) => <Icon {...p}><path d="M12 3 4 6v6c0 5 3.5 8.5 8 9 4.5-.5 8-4 8-9V6Z"/><polyline points="9 12 11 14 15 10"/></Icon>;
const IconArrowDownThin = (p) => <Icon {...p}><line x1="12" y1="4" x2="12" y2="20"/><polyline points="6 14 12 20 18 14"/></Icon>;
const IconMenu      = (p) => <Icon {...p}><line x1="3" y1="7" x2="21" y2="7"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="17" x2="21" y2="17"/></Icon>;
const IconClose     = (p) => <Icon {...p}><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></Icon>;
const IconArrowRight= (p) => <Icon {...p}><line x1="5" y1="12" x2="19" y2="12"/><polyline points="13 6 19 12 13 18"/></Icon>;
const IconInstagram = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor"/></Icon>;
const IconLinkedin  = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="3"/><line x1="8" y1="10" x2="8" y2="17"/><circle cx="8" cy="7" r="0.8" fill="currentColor"/><path d="M12 17v-4a2.5 2.5 0 0 1 5 0v4"/><line x1="12" y1="10" x2="12" y2="17"/></Icon>;
const IconMail      = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><polyline points="3 7 12 13 21 7"/></Icon>;
const IconWhatsapp  = (p) => <Icon {...p}><path d="M21 12a9 9 0 1 1-3.34-7l3.34-1-1 3.36A9 9 0 0 1 21 12Z"/><path d="M8 10c.5 2.5 3 5 5.5 5.5l1.5-1.2-2-1.3-1 .5c-1-.5-2-1.5-2.5-2.5l.5-1L9 8 7.8 9.5C7.6 10 8 10 8 10Z"/></Icon>;
const IconSparkle   = (p) => <Icon {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M6 18l2.5-2.5M15.5 8.5 18 6"/></Icon>;
const IconQuote     = (p) => <Icon {...p}><path d="M7 7h4v4c0 3-2 5-4 5"/><path d="M15 7h4v4c0 3-2 5-4 5"/></Icon>;

Object.assign(window, {
  Icon,
  IconBot, IconTrendDown, IconTrendUp, IconBars, IconUsers,
  IconSearch, IconTarget, IconCog, IconUserCheck, IconCpu,
  IconArrowDown, IconAward, IconServer, IconCheck, IconX,
  IconShield, IconArrowDownThin, IconMenu, IconClose, IconArrowRight,
  IconInstagram, IconLinkedin, IconMail, IconWhatsapp, IconSparkle, IconQuote
});
