// Lucide-style line icons (stroke, 24x24, currentColor). Kept simple & geometric.
function Icon({ name, size = 24, stroke = 1.6, color = 'currentColor', style }) {
  const common = { width: size, height: size, viewBox: '0 0 24 24', fill: 'none', stroke: color, strokeWidth: stroke, strokeLinecap: 'round', strokeLinejoin: 'round', style };
  const paths = {
    // hyperlocal intelligence — radar / scan
    radar: (<g><path d="M12 12 19.07 4.93" /><path d="M4.93 19.07A10 10 0 1 1 19.07 4.93" /><path d="M12 12a6 6 0 1 0 4.24 1.76" /><circle cx="12" cy="12" r="1.2" fill={color} stroke="none" /></g>),
    // private safety circles — users
    users: (<g><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" /><circle cx="9" cy="7" r="4" /><path d="M22 21v-2a4 4 0 0 0-3-3.87" /><path d="M16 3.13a4 4 0 0 1 0 7.75" /></g>),
    // smart geofences — map pin + ring
    geofence: (<g><path d="M20 10c0 4.5-5.5 9.5-7.35 11.1a1 1 0 0 1-1.3 0C9.5 19.5 4 14.5 4 10a8 8 0 0 1 16 0Z" /><circle cx="12" cy="10" r="2.5" /></g>),
    // generic accents
    arrow: (<path d="M5 12h14M13 6l6 6-6 6" />),
    mail: (<g><rect x="2" y="4" width="20" height="16" rx="2" /><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7" /></g>),
    check: (<path d="M20 6 9 17l-5-5" />),
    pin: (<g><path d="M9 18V5l12-2v13" /><circle cx="6" cy="18" r="3" /><circle cx="18" cy="16" r="3" /></g>),
    layers: (<g><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" /><path d="m22 12.5-9.17 4.16a2 2 0 0 1-1.66 0L2 12.5" /><path d="m22 17.5-9.17 4.16a2 2 0 0 1-1.66 0L2 17.5" /></g>),
    cpu: (<g><rect x="6" y="6" width="12" height="12" rx="2" /><path d="M9 2v2M15 2v2M9 20v2M15 20v2M2 9h2M2 15h2M20 9h2M20 15h2" /></g>),
    db: (<g><ellipse cx="12" cy="5" rx="8" ry="3" /><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5" /><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3" /></g>),
    git: (<g><circle cx="12" cy="18" r="3" /><circle cx="6" cy="6" r="3" /><circle cx="18" cy="6" r="3" /><path d="M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9M12 12v3" /></g>),
    phone: (<g><rect x="5" y="2" width="14" height="20" rx="2" /><path d="M12 18h.01" /></g>),
    shield: (<g><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z" /></g>),
    globe: (<g><circle cx="12" cy="12" r="10" /><path d="M2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20Z" /></g>),
    // ai assistant — bot
    bot: (<g><path d="M12 8V4H8" /><rect x="4" y="8" width="16" height="12" rx="2" /><path d="M2 14h2M20 14h2M15 13v2M9 13v2" /></g>),
    // ai shimmer — sparkles
    sparkles: (<g><path d="M12 3l1.9 4.6L18.5 9.5l-4.6 1.9L12 16l-1.9-4.6L5.5 9.5l4.6-1.9Z" /><path d="M19 14l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7Z" /></g>),
  };
  return <svg {...common}>{paths[name] || null}</svg>;
}
window.Icon = Icon;
