/* Tiny icon set - stroke icons, consistent with sober aesthetic */
window.Icon = function Icon({ name, size = 16, strokeWidth = 1.6, style, className }) {
  const paths = {
    inbox: <><path d="M3 13h4l1 2h8l1-2h4" /><path d="M3 13l2-8h14l2 8v6H3z" /></>,
    file: <><path d="M6 3h8l4 4v14H6z" /><path d="M14 3v4h4" /></>,
    search: <><circle cx="11" cy="11" r="6" /><path d="M20 20l-4-4" /></>,
    bell: <><path d="M6 16V11a6 6 0 1112 0v5l2 2H4z" /><path d="M10 20a2 2 0 004 0" /></>,
    home: <><path d="M3 11l9-7 9 7" /><path d="M5 10v10h14V10" /></>,
    clipboard: <><rect x="6" y="4" width="12" height="17" rx="1" /><path d="M9 3h6v3H9z" /></>,
    docs: <><path d="M7 3h8l4 4v12H7z"/><path d="M4 7v14h12"/></>,
    book: <><path d="M4 4h7a3 3 0 013 3v14a3 3 0 00-3-3H4z"/><path d="M20 4h-7a3 3 0 00-3 3v14a3 3 0 013-3h7z"/></>,
    settings: <><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1.1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"/></>,
    flag: <><path d="M5 21V4"/><path d="M5 4h12l-2 4 2 4H5"/></>,
    check: <><path d="M4 12l5 5 11-11"/></>,
    x: <><path d="M5 5l14 14M19 5L5 19"/></>,
    chevron: <><path d="M9 6l6 6-6 6"/></>,
    chevronDown: <><path d="M6 9l6 6 6-6"/></>,
    ai: <><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5L18 18M6 18l2.5-2.5M15.5 8.5L18 6"/><circle cx="12" cy="12" r="3"/></>,
    upload: <><path d="M12 3v14"/><path d="M6 9l6-6 6 6"/><path d="M4 21h16"/></>,
    mail: <><rect x="3" y="5" width="18" height="14" rx="1.5"/><path d="M3 7l9 7 9-7"/></>,
    link: <><path d="M10 14a4 4 0 005.7 0l3.3-3.3a4 4 0 00-5.7-5.7L12 6.5"/><path d="M14 10a4 4 0 00-5.7 0l-3.3 3.3a4 4 0 005.7 5.7L12 17.5"/></>,
    user: <><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0116 0"/></>,
    clock: <><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>,
    filter: <><path d="M4 5h16l-6 8v6l-4-2v-4z"/></>,
    send: <><path d="M4 20l16-8L4 4v6l10 2-10 2z"/></>,
    pin: <><path d="M12 2l4 4-2 2 2 6-4 2v6"/><path d="M10 8l-4 4 8 0z"/></>,
    share: <><circle cx="6" cy="12" r="2.5"/><circle cx="18" cy="6" r="2.5"/><circle cx="18" cy="18" r="2.5"/><path d="M8 11l8-4M8 13l8 4"/></>,
    info: <><circle cx="12" cy="12" r="9"/><path d="M12 11v5M12 8v.5"/></>,
    plus: <><path d="M12 5v14M5 12h14"/></>,
    spark: <><path d="M3 14l5-6 4 4 4-5 5 6"/></>,
    zap: <><path d="M13 3L4 14h6l-1 7 9-11h-6z"/></>,
    trend: <><path d="M3 17l6-6 4 4 8-8"/><path d="M15 7h6v6"/></>,
    attachment: <><path d="M20 11l-8 8a4 4 0 01-6-6l8-8a3 3 0 014 4l-8 8a2 2 0 01-3-3l7-7"/></>,
    cog: <><circle cx="12" cy="12" r="3"/><circle cx="12" cy="12" r="8"/></>,
    waves: <><path d="M3 8c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2"/><path d="M3 14c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2"/><path d="M3 20c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2"/></>,
  };
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
         stroke="currentColor" strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"
         className={className} style={style}>
      {paths[name] || null}
    </svg>
  );
};
