// Minimal icon set as inline SVG components
const I = (path, viewBox="0 0 24 24") => ({size=16,stroke=1.8,...rest}) => (
  <svg width={size} height={size} viewBox={viewBox} fill="none" stroke="currentColor"
    strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {path}
  </svg>
);

const Icon = {
  home: I(<><path d="M3 10.5 12 3l9 7.5"/><path d="M5 9v12h14V9"/></>),
  users: I(<><circle cx="9" cy="8" r="3.5"/><path d="M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6"/><circle cx="17" cy="9" r="2.8"/><path d="M21 19c0-2.5-1.8-4.3-4-4.5"/></>),
  book: I(<><path d="M4 4.5A2.5 2.5 0 0 1 6.5 2H20v16H6.5A2.5 2.5 0 0 0 4 20.5Z"/><path d="M4 20.5A2.5 2.5 0 0 1 6.5 18H20v4H6.5A2.5 2.5 0 0 1 4 19.5"/></>),
  money: I(<><rect x="2" y="6" width="20" height="14" rx="2"/><circle cx="12" cy="13" r="3"/><path d="M6 10v.01M18 16v.01"/></>),
  coin: I(<><circle cx="12" cy="12" r="9"/><path d="M15 9a3 3 0 0 0-3-1.5c-2 0-3 1-3 2s1 1.8 3 2c2 .2 3 1 3 2s-1 2-3 2a3 3 0 0 1-3-1.5M12 6v1.5M12 16.5V18"/></>),
  card: I(<><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M2 10h20M6 15h4"/></>),
  star: I(<path d="m12 2 3 7 7 .5-5.5 4.5 2 7L12 17l-6.5 4 2-7L2 9.5 9 9z"/>),
  shield: I(<path d="M12 3 4 6v6c0 5 3.5 8.5 8 9 4.5-.5 8-4 8-9V6z"/>),
  flag: I(<><path d="M5 3v18"/><path d="M5 4h13l-2 4 2 4H5"/></>),
  bell: I(<><path d="M6 16V10a6 6 0 0 1 12 0v6l2 2H4z"/><path d="M10 20a2 2 0 0 0 4 0"/></>),
  tag: I(<><path d="M3 12V4h8l9 9-8 8z"/><circle cx="7.5" cy="7.5" r="1.2"/></>),
  flask: I(<><path d="M10 2v6l-5 10c-.8 1.5.3 3 2 3h10c1.7 0 2.8-1.5 2-3l-5-10V2"/><path d="M9 2h6"/></>),
  palette: I(<><path d="M12 3a9 9 0 1 0 0 18 3 3 0 0 0 0-6 2 2 0 0 1 0-4h3a4 4 0 0 0 4-4 8 8 0 0 0-7-4Z"/><circle cx="8" cy="9" r="1"/><circle cx="12" cy="7" r="1"/><circle cx="16" cy="10" r="1"/></>),
  log: I(<><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 9h10M7 13h10M7 17h6"/></>),
  settings: I(<><circle cx="12" cy="12" r="3"/><path d="M19 12a7 7 0 0 0-.1-1.2l2-1.5-2-3.5-2.3.9a7 7 0 0 0-2-1.2L14 3h-4l-.6 2.5a7 7 0 0 0-2 1.2L5 5.8l-2 3.5 2 1.5a7 7 0 0 0 0 2.4l-2 1.5 2 3.5 2.3-.9a7 7 0 0 0 2 1.2L10 21h4l.6-2.5a7 7 0 0 0 2-1.2l2.3.9 2-3.5-2-1.5c0-.4.1-.8.1-1.2Z"/></>),
  chevDown: I(<path d="m6 9 6 6 6-6"/>),
  chevRight: I(<path d="m9 6 6 6-6 6"/>),
  chevLeft: I(<path d="m15 6-6 6 6 6"/>),
  search: I(<><circle cx="11" cy="11" r="7"/><path d="m20 20-4-4"/></>),
  plus: I(<><path d="M12 5v14M5 12h14"/></>),
  filter: I(<path d="M3 5h18l-7 8v7l-4-2v-5z"/>),
  download: I(<><path d="M12 3v12"/><path d="m7 10 5 5 5-5"/><path d="M4 21h16"/></>),
  more: I(<><circle cx="5" cy="12" r="1.2"/><circle cx="12" cy="12" r="1.2"/><circle cx="19" cy="12" r="1.2"/></>),
  close: I(<><path d="M6 6l12 12M6 18 18 6"/></>),
  userPlus: I(<><circle cx="9" cy="8" r="3.5"/><path d="M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6"/><path d="M19 8v6M16 11h6"/></>),
  sparkle: I(<><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2 2M16 16l2 2M6 18l2-2M16 8l2-2"/></>),
  rotate: I(<><path d="M3 12a9 9 0 0 1 15-6.7L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-15 6.7L3 16"/><path d="M3 21v-5h5"/></>),
  arrowUp: I(<path d="M12 19V5m0 0-7 7m7-7 7 7"/>),
  arrowDown: I(<path d="M12 5v14m0 0 7-7m-7 7-7-7"/>),
  check: I(<path d="m5 12 5 5 9-11"/>),
  x: I(<path d="M6 6l12 12M6 18 18 6"/>),
  trash: I(<><path d="M4 7h16M10 7V5a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v2"/><path d="M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7"/><path d="M10 11v7M14 11v7"/></>),
  eye: I(<><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/></>),
  mail: I(<><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></>),
  globe: I(<><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 4 6 4 9s-1 6-4 9c-3-3-4-6-4-9s1-6 4-9Z"/></>),
  apple: I(<><path d="M17 11c-.4-1.8.8-3.5 2-4-.5-1.3-2-2-3.5-2-1.3 0-2.5.5-3 1.3C12 5.5 11 5 9.5 5 7 5 5 7 5 10c0 4.5 3 9 5.5 9 1 0 1.5-.5 2.5-.5s1.5.5 2.5.5C18 19 19 14.5 17 11Z"/><path d="M14 3c-.5 1-1.5 1.8-2.5 1.8"/></>),
  android: I(<><path d="M6 14v-2a6 6 0 0 1 12 0v2"/><path d="M5 14h14v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z"/><path d="M8 7 7 5M16 7l1-2"/><circle cx="9" cy="11" r=".5"/><circle cx="15" cy="11" r=".5"/></>),
  web: I(<><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a13 13 0 0 1 0 18M12 3a13 13 0 0 0 0 18"/></>),
  panel: I(<><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/></>),
  command: I(<><rect x="4" y="4" width="16" height="16" rx="3"/><circle cx="8" cy="8" r="1.5"/><circle cx="16" cy="8" r="1.5"/><circle cx="8" cy="16" r="1.5"/><circle cx="16" cy="16" r="1.5"/></>),
  speaker: I(<><path d="M4 9v6h4l5 4V5L8 9z"/><path d="M17 8a5 5 0 0 1 0 8M20 5a9 9 0 0 1 0 14"/></>),
  lock: I(<><rect x="4" y="10" width="16" height="11" rx="2"/><path d="M8 10V7a4 4 0 0 1 8 0v3"/></>),
  logout: I(<><path d="M10 20H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5"/><path d="M15 17l5-5-5-5M9 12h11"/></>),
  moon: I(<path d="M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8Z"/>),
  play:   I(<path d="M6 4l14 8-14 8V4Z"/>),
  pause:  I(<><rect x="6" y="4" width="4" height="16"/><rect x="14" y="4" width="4" height="16"/></>),
  upload: I(<><path d="M12 15V3"/><path d="m7 8 5-5 5 5"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/></>),
  music:  I(<><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></>),
};

window.Icon = Icon;
