// minimal line icons — original, stroke-only
const Ic = ({ d, size = 14, sw = 1.25, children, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d ? <path d={d} /> : children}
  </svg>
);

const Icons = {
  Home:     (p) => <Ic {...p}><path d="M3 11l9-7 9 7v10a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z"/></Ic>,
  Folder:   (p) => <Ic {...p}><path d="M3 6a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/></Ic>,
  Cube:     (p) => <Ic {...p}><path d="M12 3l9 5v8l-9 5-9-5V8z"/><path d="M3 8l9 5 9-5M12 13v10"/></Ic>,
  Tree:     (p) => <Ic {...p}><path d="M6 4v4M6 12v4M6 8h8M6 16h8M14 4h6v4h-6zM14 12h6v4h-6zM4 20h6v-4H4z"/></Ic>,
  Factory:  (p) => <Ic {...p}><path d="M3 21V9l5 3V9l5 3V9l5 3v9zM3 21h18M7 17h2M11 17h2M15 17h2"/></Ic>,
  Flow:     (p) => <Ic {...p}><path d="M4 6h5v4H4zM15 4h5v4h-5zM15 14h5v4h-5zM9 8l6-2M9 8l6 8"/></Ic>,
  Wave:     (p) => <Ic {...p}><path d="M3 12c2 0 2-5 4-5s2 10 4 10 2-8 4-8 2 5 4 5 2-2 4-2"/></Ic>,
  Chart:    (p) => <Ic {...p}><path d="M4 20V6M4 20h16M8 16l3-4 3 2 5-7"/></Ic>,
  Plug:     (p) => <Ic {...p}><path d="M9 2v4M15 2v4M7 6h10v6a5 5 0 0 1-10 0zM12 17v5"/></Ic>,
  Clipboard:(p) => <Ic {...p}><path d="M9 4h6v3H9zM7 6H5a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-2M9 12h6M9 16h4"/></Ic>,
  Users:    (p) => <Ic {...p}><path d="M16 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM22 21v-2a4 4 0 0 0-3-3.87M17 3.13a4 4 0 0 1 0 7.75"/></Ic>,
  Search:   (p) => <Ic {...p}><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></Ic>,
  Plus:     (p) => <Ic {...p}><path d="M12 5v14M5 12h14"/></Ic>,
  Check:    (p) => <Ic {...p}><path d="M4 12l5 5L20 6"/></Ic>,
  X:        (p) => <Ic {...p}><path d="M6 6l12 12M6 18L18 6"/></Ic>,
  ChevR:    (p) => <Ic {...p}><path d="M9 6l6 6-6 6"/></Ic>,
  ChevD:    (p) => <Ic {...p}><path d="M6 9l6 6 6-6"/></Ic>,
  ChevL:    (p) => <Ic {...p}><path d="M15 6l-6 6 6 6"/></Ic>,
  Dot:      (p) => <Ic {...p}><circle cx="12" cy="12" r="2"/></Ic>,
  Layers:   (p) => <Ic {...p}><path d="M12 3l9 5-9 5-9-5zM3 13l9 5 9-5M3 18l9 5 9-5"/></Ic>,
  Diff:     (p) => <Ic {...p}><path d="M8 3v14M16 7v14M12 3l-4 4M12 21l4-4"/></Ic>,
  Mesh:     (p) => <Ic {...p}><path d="M4 4l8 4 8-4M12 8v12M4 4v12l8 4 8-4V4M8 6v12M16 6v12M4 10l8 4 8-4M4 16l8 4 8-4"/></Ic>,
  Bolt:     (p) => <Ic {...p}><path d="M13 2L4 14h7l-2 8 9-12h-7z"/></Ic>,
  Wind:     (p) => <Ic {...p}><path d="M3 8h11a3 3 0 1 0-3-3M3 12h16a3 3 0 1 1-3 3M3 16h8"/></Ic>,
  Fire:     (p) => <Ic {...p}><path d="M12 2c3 4 6 6 6 11a6 6 0 0 1-12 0c0-2 1-3 2-4 0 2 1 3 2 3-1-4 1-7 2-10z"/></Ic>,
  Magnet:   (p) => <Ic {...p}><path d="M4 6a8 8 0 0 1 16 0v6a4 4 0 0 1-8 0V6M4 6v6a4 4 0 0 0 8 0M4 6h4M16 6h4"/></Ic>,
  Clock:    (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Ic>,
  Link:     (p) => <Ic {...p}><path d="M10 14a4 4 0 0 0 6 0l3-3a4 4 0 1 0-6-6l-1 1M14 10a4 4 0 0 0-6 0l-3 3a4 4 0 1 0 6 6l1-1"/></Ic>,
  Gear:     (p) => <Ic {...p}><circle cx="12" cy="12" r="3"/><path d="M19 12a7 7 0 0 0-.1-1.2l2-1.6-2-3.5-2.4.9a7 7 0 0 0-2-1.2L14 3h-4l-.5 2.4a7 7 0 0 0-2 1.2L5 5.7 3 9.2l2 1.6a7 7 0 0 0 0 2.4l-2 1.6 2 3.5 2.4-.9a7 7 0 0 0 2 1.2L10 21h4l.5-2.4a7 7 0 0 0 2-1.2l2.4.9 2-3.5-2-1.6c.1-.4.1-.8.1-1.2z"/></Ic>,
  Bell:     (p) => <Ic {...p}><path d="M6 8a6 6 0 1 1 12 0v5l2 3H4l2-3zM10 19a2 2 0 0 0 4 0"/></Ic>,
  Command:  (p) => <Ic {...p}><path d="M6 9a3 3 0 1 1 3-3v12a3 3 0 1 1-3-3h12a3 3 0 1 1-3 3V6a3 3 0 1 1 3 3z"/></Ic>,
  Cpu:      (p) => <Ic {...p}><rect x="5" y="5" width="14" height="14" rx="1"/><rect x="9" y="9" width="6" height="6"/><path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3"/></Ic>,
  Sparkle:  (p) => <Ic {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5L18 18M6 18l2.5-2.5M15.5 8.5L18 6"/></Ic>,
  Play:     (p) => <Ic {...p}><path d="M7 4v16l13-8z"/></Ic>,
  Pause:    (p) => <Ic {...p}><path d="M7 4h4v16H7zM13 4h4v16h-4z"/></Ic>,
  Stop:     (p) => <Ic {...p}><rect x="5" y="5" width="14" height="14"/></Ic>,
  ArrowR:   (p) => <Ic {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Ic>,
  ArrowD:   (p) => <Ic {...p}><path d="M12 5v14M6 13l6 6 6-6"/></Ic>,
  Git:      (p) => <Ic {...p}><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 8v8M8 6h6a4 4 0 0 1 4 4v0"/></Ic>,
  Filter:   (p) => <Ic {...p}><path d="M3 5h18l-7 9v6l-4-2v-4z"/></Ic>,
  Stack:    (p) => <Ic {...p}><rect x="4" y="4" width="16" height="5"/><rect x="4" y="11" width="16" height="2"/><rect x="4" y="15" width="16" height="5"/></Ic>,
  Box:      (p) => <Ic {...p}><rect x="4" y="4" width="16" height="16" rx="1"/></Ic>,
  Circle:   (p) => <Ic {...p}><circle cx="12" cy="12" r="8"/></Ic>,
  Eye:      (p) => <Ic {...p}><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></Ic>,
  Sun:      (p) => <Ic {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M5 19l2-2M17 7l2-2"/></Ic>,
  Moon:     (p) => <Ic {...p}><path d="M21 12.5A9 9 0 1 1 11.5 3a7 7 0 0 0 9.5 9.5z"/></Ic>,
  More:     (p) => <Ic {...p}><circle cx="5" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/></Ic>,
  Flag:     (p) => <Ic {...p}><path d="M5 21V4h12l-2 4 2 4H5"/></Ic>,
  DB:       (p) => <Ic {...p}><ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"/></Ic>,
  Route:    (p) => <Ic {...p}><circle cx="6" cy="6" r="2"/><circle cx="18" cy="18" r="2"/><path d="M8 6h6a4 4 0 0 1 0 8h-4a4 4 0 0 0 0 8h6"/></Ic>,
  Calendar: (p) => <Ic {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></Ic>,
  File:     (p) => <Ic {...p}><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8"/></Ic>,
  Wrench:   (p) => <Ic {...p}><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></Ic>,
  Person:   (p) => <Ic {...p}><circle cx="12" cy="8" r="4"/><path d="M4 20c0-4 3.6-7 8-7s8 3 8 7"/></Ic>,
  BarChart: (p) => <Ic {...p}><rect x="3" y="12" width="4" height="8"/><rect x="10" y="8" width="4" height="12"/><rect x="17" y="4" width="4" height="16"/><path d="M3 22h18"/></Ic>,
  Rocket:   (p) => <Ic {...p}><path d="M12 2c1 3 3 6 5 8l-5 3-5-3c2-2 4-5 5-8z"/><path d="M7 10l-4 8 5-1 4 3 4-3 5 1-4-8"/><circle cx="12" cy="11" r="1"/></Ic>,
  Satellite:(p) => <Ic {...p}><ellipse cx="12" cy="12" rx="4" ry="4"/><path d="M5 5l3.5 3.5M15.5 15.5L19 19M19 5l-3.5 3.5M8.5 15.5L5 19M2 12h3M19 12h3M12 2v3M12 19v3"/></Ic>,
};

Object.assign(window, { Icons });
