// Lightweight inline icons. Stroke 1.6, currentColor.
const Icon = ({ d, size = 20, sw = 1.6, fill = "none", style }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor"
       strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" style={style}>
    {d}
  </svg>
);

const Icons = {
  Logo: ({ size = 22 }) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none">
      <circle cx="16" cy="6"  r="3"   fill="currentColor"/>
      <circle cx="6"  cy="24" r="2.6" fill="currentColor"/>
      <circle cx="16" cy="24" r="2.6" fill="currentColor"/>
      <circle cx="26" cy="24" r="2.6" fill="currentColor"/>
      <path d="M16 9v4M6 21v-3h20v3M16 18v3" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Upload: () => <Icon d={<><path d="M12 3v12"/><path d="m7 8 5-5 5 5"/><path d="M3 17v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3"/></>} />,
  Sliders: () => <Icon d={<><path d="M4 6h12"/><path d="M4 12h6"/><path d="M4 18h16"/><circle cx="18" cy="6" r="2"/><circle cx="13" cy="12" r="2"/><circle cx="7" cy="18" r="2" fill="var(--bg)"/></>} />,
  Share: () => <Icon d={<><circle cx="6" cy="12" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="18" cy="18" r="3"/><path d="m9 11 6-3"/><path d="m9 13 6 3"/></>} />,
  Sparkle: () => <Icon d={<><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"/></>} />,
  Chart: () => <Icon d={<><rect x="3" y="3" width="18" height="6" rx="1.5"/><rect x="3" y="15" width="8" height="6" rx="1.5"/><rect x="13" y="15" width="8" height="6" rx="1.5"/><path d="M12 9v3M7 12h10v3"/></>} />,
  Pdf: () => <Icon d={<><path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><path d="M14 3v6h6"/><path d="M9 14h1.5a1.5 1.5 0 0 1 0 3H9zM9 14v6"/><path d="M14 14v6h1.5a1.5 1.5 0 0 0 0-3"/></>} />,
  Search: () => <Icon d={<><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></>} />,
  Lock: () => <Icon d={<><rect x="4" y="11" width="16" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></>} />,
  Layers: () => <Icon d={<><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/><path d="m3 18 9 5 9-5"/></>} />,
  ZoomIn: () => <Icon d={<><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/><path d="M11 8v6M8 11h6"/></>} />,
  Plus: () => <Icon d={<><path d="M12 5v14M5 12h14"/></>} />,
  Minus: () => <Icon d={<><path d="M5 12h14"/></>} />,
  ArrowRight: () => <Icon d={<><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></>} sw={1.8} />,
  ArrowDown: () => <Icon d={<><path d="M12 5v14"/><path d="m6 13 6 6 6-6"/></>} sw={1.8} />,
  Check: () => <Icon d={<><path d="m5 12 4.5 4.5L19 7"/></>} sw={2} />,
  Quote: () => <Icon d={<><path d="M7 7h4v4c0 3-1.5 5-4 6"/><path d="M15 7h4v4c0 3-1.5 5-4 6"/></>} />,
  Hr: () => <Icon d={<><circle cx="9" cy="8" r="3"/><path d="M3 19c.6-3 3-5 6-5s5.4 2 6 5"/><circle cx="17" cy="6" r="2"/><path d="M14 13c.4-2 1.5-3 3-3s2.6 1 3 3"/></>} />,
  Building: () => <Icon d={<><rect x="4" y="3" width="16" height="18" rx="1.5"/><path d="M8 7h2M14 7h2M8 11h2M14 11h2M8 15h2M14 15h2"/><path d="M10 21v-3h4v3"/></>} />,
  Briefcase: () => <Icon d={<><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"/><path d="M3 13h18"/></>} />,
  Merge: () => <Icon d={<><path d="M6 3v6c0 4 4 4 4 8v4"/><path d="M18 3v6c0 4-4 4-4 8v4"/><path d="m4 5 2-2 2 2M16 5l2-2 2 2"/></>} />,
  Cpu: () => <Icon d={<><rect x="6" y="6" width="12" height="12" rx="1.5"/><path d="M9 9h6v6H9z" fill="var(--bg)"/><path d="M3 10h3M3 14h3M18 10h3M18 14h3M10 3v3M14 3v3M10 18v3M14 18v3"/></>} />,
};

window.Icons = Icons;
