// Lucide-style line icons (simple paths only)
const Ic = ({d, fill, w=20, sw=2, children, vb="0 0 24 24"}) => (
  <svg width={w} height={w} viewBox={vb} fill={fill||"none"} stroke={fill?"none":"currentColor"}
    strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round">
    {children || (Array.isArray(d) ? d.map((p,i)=><path key={i} d={p}/>) : <path d={d}/>)}
  </svg>
);

const Icons = {
  grid: (p)=><Ic {...p}><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/></Ic>,
  megaphone: (p)=><Ic {...p}><path d="M3 11v2a1 1 0 0 0 1 1h2l3.5 3.5V6.5L6 10H4a1 1 0 0 0-1 1Z"/><path d="M9.5 6.5 18 3v18l-8.5-3.5"/><path d="M18 8a3 3 0 0 1 0 8"/></Ic>,
  plus: (p)=><Ic {...p}><path d="M12 5v14M5 12h14"/></Ic>,
  box: (p)=><Ic {...p}><path d="M21 8 12 3 3 8l9 5 9-5Z"/><path d="M3 8v8l9 5 9-5V8"/><path d="m12 13 0 8"/></Ic>,
  card: (p)=><Ic {...p}><rect x="2" y="5" width="20" height="14" rx="2.5"/><path d="M2 10h20"/></Ic>,
  music: (p)=><Ic {...p}><path d="M9 18V5l11-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="17" cy="16" r="3"/></Ic>,
  chart: (p)=><Ic {...p}><path d="M3 3v18h18"/><path d="M7 14l3-4 3 3 4-6"/></Ic>,
  user: (p)=><Ic {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></Ic>,
  help: (p)=><Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 0 1 5 .3c0 1.7-2.5 2-2.5 3.7"/><path d="M12 17h.01"/></Ic>,
  check: (p)=><Ic {...p} sw={2.4}><path d="M20 6 9 17l-5-5"/></Ic>,
  checkSm: (p)=><Ic {...p} w={14} sw={3}><path d="M20 6 9 17l-5-5"/></Ic>,
  arrowR: (p)=><Ic {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Ic>,
  arrowL: (p)=><Ic {...p}><path d="M19 12H5M11 6l-6 6 6 6"/></Ic>,
  chevD: (p)=><Ic {...p}><path d="M6 9l6 6 6-6"/></Ic>,
  chevR: (p)=><Ic {...p}><path d="M9 6l6 6-6 6"/></Ic>,
  rocket: (p)=><Ic {...p}><path d="M5 16c-1.5 1.3-2 5-2 5s3.7-.5 5-2c.7-.8.7-2 0-2.8a2 2 0 0 0-3 0Z"/><path d="M9 12c-1.5 0-3 .5-4 1.5C7 9 10 4 19 3c-1 9-6 12-10.5 14C9.5 16 10 14.5 10 13"/><path d="M14 8a2 2 0 1 0 0-.01"/></Ic>,
  headset: (p)=><Ic {...p}><path d="M4 14v-2a8 8 0 0 1 16 0v2"/><rect x="2" y="14" width="5" height="6" rx="1.5"/><rect x="17" y="14" width="5" height="6" rx="1.5"/><path d="M20 19a4 4 0 0 1-4 3h-2"/></Ic>,
  radio: (p)=><Ic {...p}><circle cx="12" cy="12" r="2.5"/><path d="M7.8 16.2a6 6 0 0 1 0-8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 19a10 10 0 0 1 0-14M19 5a10 10 0 0 1 0 14"/></Ic>,
  target: (p)=><Ic {...p}><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.3" fill="currentColor"/></Ic>,
  tag: (p)=><Ic {...p}><path d="M3 11.5V4a1 1 0 0 1 1-1h7.5a2 2 0 0 1 1.4.6l7 7a2 2 0 0 1 0 2.8l-6.5 6.5a2 2 0 0 1-2.8 0l-7-7a2 2 0 0 1-.6-1.4Z"/><circle cx="7.5" cy="7.5" r="1.3" fill="currentColor"/></Ic>,
  pin: (p)=><Ic {...p}><path d="M12 21s7-6 7-11a7 7 0 1 0-14 0c0 5 7 11 7 11Z"/><circle cx="12" cy="10" r="2.5"/></Ic>,
  upload: (p)=><Ic {...p}><path d="M12 16V4M7 9l5-5 5 5"/><path d="M5 16v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3"/></Ic>,
  sparkle: (p)=><Ic {...p}><path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8Z"/><path d="M19 15l.7 2 2 .7-2 .7-.7 2-.7-2-2-.7 2-.7Z"/></Ic>,
  play: (p)=><Ic {...p} fill="currentColor"><path d="M7 4.5v15l13-7.5Z"/></Ic>,
  pause: (p)=><Ic {...p} fill="currentColor"><rect x="6" y="4.5" width="4" height="15" rx="1"/><rect x="14" y="4.5" width="4" height="15" rx="1"/></Ic>,
  cal: (p)=><Ic {...p}><rect x="3" y="4.5" width="18" height="17" rx="2.5"/><path d="M3 9h18M8 2.5v4M16 2.5v4"/></Ic>,
  clock: (p)=><Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3.5 2"/></Ic>,
  sun: (p)=><Ic {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4 12H2M22 12h-2M5 5 4 4M20 20l-1-1M19 5l1-1M4 20l1-1"/></Ic>,
  bell: (p)=><Ic {...p}><path d="M6 9a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6Z"/><path d="M10 19a2 2 0 0 0 4 0"/></Ic>,
  wallet: (p)=><Ic {...p}><rect x="3" y="6" width="18" height="14" rx="2.5"/><path d="M16 13h2"/><path d="M3 9h13a2 2 0 0 1 0 0V6"/></Ic>,
  lock: (p)=><Ic {...p}><rect x="4" y="10" width="16" height="11" rx="2.5"/><path d="M8 10V7a4 4 0 0 1 8 0v3"/></Ic>,
  building: (p)=><Ic {...p}><rect x="5" y="3" width="14" height="18" rx="1.5"/><path d="M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2M10 21v-3h4v3"/></Ic>,
  zap: (p)=><Ic {...p}><path d="M13 2 4 14h7l-1 8 9-12h-7l1-8Z"/></Ic>,
  speaker: (p)=><Ic {...p}><path d="M11 5 6 9H3v6h3l5 4V5Z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/></Ic>,
  globe: (p)=><Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/></Ic>,
  refresh: (p)=><Ic {...p}><path d="M21 12a9 9 0 1 1-3-6.7L21 8"/><path d="M21 3v5h-5"/></Ic>,
  doc: (p)=><Ic {...p}><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z"/><path d="M14 3v5h5M9 13h6M9 17h6"/></Ic>,
  star: (p)=><Ic {...p}><path d="M12 3 14.5 9 21 9.5l-5 4.3 1.6 6.2L12 16.8 6.4 20l1.6-6.2-5-4.3L9.5 9Z"/></Ic>,
};
window.Icons = Icons;
