// Icon set — outline, 16px default, currentColor.
// Keep extremely simple; no SVG hand-drawn illustrations.
const Icon = ({ name, size = 16, className = "", style = {} }) => {
  const s = size;
  const props = {
    width: s, height: s, viewBox: "0 0 16 16",
    fill: "none", stroke: "currentColor", strokeWidth: 1.4,
    strokeLinecap: "round", strokeLinejoin: "round",
    className, style,
  };
  const paths = {
    home: <><path d="M2.5 7L8 2.5 13.5 7v6.5a0 0 0 0 1 0 0H2.5v-6.5z"/><path d="M6.5 13.5V9h3v4.5"/></>,
    user: <><circle cx="8" cy="5.5" r="2.5"/><path d="M3 13.5c.5-2.5 2.6-4 5-4s4.5 1.5 5 4"/></>,
    users: <><circle cx="6" cy="6" r="2.2"/><path d="M2 13c.4-2 2-3.2 4-3.2s3.6 1.2 4 3.2"/><path d="M10.5 7a2 2 0 1 0-1-3.7"/><path d="M13.5 13c-.2-1.2-1-2.2-2-2.7"/></>,
    inbox: <><path d="M2.5 3.5h11v9h-11z"/><path d="M2.5 9h3l1 1.5h3l1-1.5h3"/></>,
    pill: <><rect x="3" y="6.5" width="10" height="4" rx="2" transform="rotate(-30 8 8.5)"/><path d="M8 4.2L11 9.8" /></>,
    stethoscope: <><path d="M4 2.5v4a2.5 2.5 0 0 0 5 0v-4"/><path d="M6.5 9v1.5a2.5 2.5 0 0 0 2.5 2.5h0a2.5 2.5 0 0 0 2.5-2.5v-1"/><circle cx="11.5" cy="8.5" r="1.2"/></>,
    calendar: <><rect x="2.5" y="3.5" width="11" height="10" rx="1.5"/><path d="M2.5 6.5h11M5 2v3M11 2v3"/></>,
    file: <><path d="M4 1.5h5l3 3V14a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 .5-.5z"/><path d="M9 1.5V5h3"/></>,
    settings: <><circle cx="8" cy="8" r="2"/><path d="M13.4 9.4l-1.2-.5v-1.8l1.2-.5-.6-1.6-1.3.4-1.3-1.3.4-1.3L9 1.6l-.5 1.2H6.7L6.2 1.6 4.6 2.2l.4 1.3-1.3 1.3-1.3-.4-.6 1.6 1.2.5v1.8l-1.2.5.6 1.6 1.3-.4 1.3 1.3-.4 1.3 1.6.6.5-1.2h1.8l.5 1.2 1.6-.6-.4-1.3 1.3-1.3 1.3.4z"/></>,
    search: <><circle cx="7" cy="7" r="4.2"/><path d="M10 10l3 3"/></>,
    menu: <><path d="M2 4h12M2 8h12M2 12h12"/></>,
    more: <><circle cx="4" cy="8" r="1.2"/><circle cx="8" cy="8" r="1.2"/><circle cx="12" cy="8" r="1.2"/></>,
    plus: <><path d="M8 3v10M3 8h10"/></>,
    check: <><path d="M3 8.5l3 3 7-7"/></>,
    x: <><path d="M4 4l8 8M12 4l-8 8"/></>,
    chevronDown: <><path d="M4 6l4 4 4-4"/></>,
    chevronRight: <><path d="M6 4l4 4-4 4"/></>,
    chevronUp: <><path d="M4 10l4-4 4 4"/></>,
    chevronUpDown: <><path d="M5 6l3-3 3 3M5 10l3 3 3-3"/></>,
    arrowRight: <><path d="M3 8h10M9 4l4 4-4 4"/></>,
    bell: <><path d="M4 11V7a4 4 0 0 1 8 0v4l1 1.5H3L4 11z"/><path d="M6.5 13.5a1.5 1.5 0 0 0 3 0"/></>,
    clock: <><circle cx="8" cy="8" r="5.5"/><path d="M8 4.5V8l2 1.5"/></>,
    filter: <><path d="M2.5 3.5h11l-4 5v4l-3 1v-5z"/></>,
    more: <><circle cx="3" cy="8" r=".8"/><circle cx="8" cy="8" r=".8"/><circle cx="13" cy="8" r=".8"/></>,
    moon: <><path d="M12.5 9.5A5 5 0 0 1 6.5 3.5a5 5 0 1 0 6 6z"/></>,
    sun: <><circle cx="8" cy="8" r="2.5"/><path d="M8 2v1.5M8 12.5V14M2 8h1.5M12.5 8H14M3.8 3.8l1 1M11.2 11.2l1 1M3.8 12.2l1-1M11.2 4.8l1-1"/></>,
    shield: <><path d="M8 2l5 2v4.5c0 3-2 4.5-5 5.5-3-1-5-2.5-5-5.5V4l5-2z"/><path d="M6 8l1.5 1.5L10.5 6.5"/></>,
    warning: <><path d="M8 2.5l6 11H2l6-11z"/><path d="M8 6.5v3M8 11.2v.3"/></>,
    swap: <><path d="M3 5h10M10 2l3 3-3 3M13 11H3M6 8l-3 3 3 3"/></>,
    grid: <><rect x="2" y="2" width="5" height="5" rx="1"/><rect x="9" y="2" width="5" height="5" rx="1"/><rect x="2" y="9" width="5" height="5" rx="1"/><rect x="9" y="9" width="5" height="5" rx="1"/></>,
    flame: <><path d="M8 14c2.5 0 4.5-1.7 4.5-4 0-1.8-1.2-2.6-1.8-3.8-.6-1.2 0-3.2 0-3.2S9 4 8.5 5.5C8 7 7 7 6.5 8c-.5 1-1 1.7-1 2.8C5.5 12.5 6.5 14 8 14z"/></>,
    truck: <><rect x="1.5" y="5" width="8" height="6"/><path d="M9.5 7h3l1.5 2v2h-4.5"/><circle cx="4" cy="12" r="1.2"/><circle cx="11" cy="12" r="1.2"/></>,
    activity: <><path d="M2 8h3l1.5-4 3 8 1.5-4h3"/></>,
    syringe: <><path d="M10 2l4 4M11.5 3.5l1 1M9 4.5L13 .5M4 11l3-3M7 8l3 3M2 14l2-3 3 3-3 2z"/></>,
    barChart: <><path d="M3 13V7M7 13V3M11 13V9"/></>,
    link: <><path d="M7 9.5L9.5 7M6 10l-1 1a2.1 2.1 0 0 1-3-3l1-1M10 6l1-1a2.1 2.1 0 0 1 3 3l-1 1"/></>,
    printer: <><rect x="4" y="2" width="8" height="4"/><path d="M3 6h10a1 1 0 0 1 1 1v4H2V7a1 1 0 0 1 1-1z"/><rect x="4.5" y="9" width="7" height="5"/></>,
    eye: <><path d="M1.5 8s2.5-5 6.5-5 6.5 5 6.5 5-2.5 5-6.5 5-6.5-5-6.5-5z"/><circle cx="8" cy="8" r="2"/></>,
    clipboard: <><rect x="3.5" y="3" width="9" height="11" rx="1"/><rect x="5.5" y="1.5" width="5" height="2.5" rx=".5"/><path d="M5.5 7h5M5.5 9.5h3"/></>,
    heart: <><path d="M8 13.5S2.5 10.5 2.5 6.5a3 3 0 0 1 5.5-1.7A3 3 0 0 1 13.5 6.5C13.5 10.5 8 13.5 8 13.5z"/></>,
    zap: <><path d="M9 1.5L3 9h4l-1 5.5L13 7H9l1-5.5z"/></>,
    minus: <><path d="M3 8h10"/></>,
    command: <><path d="M5 11a2 2 0 1 1 2-2v2m0 0h2m-2 0a2 2 0 1 0 2 2v-2m0 0v-2m0 2h2a2 2 0 1 1-2 2v-2m0-2V7m0 0a2 2 0 1 0-2-2v2h2m-2 0H5"/></>,
    dots: <><circle cx="4" cy="8" r=".8"/><circle cx="8" cy="8" r=".8"/><circle cx="12" cy="8" r=".8"/></>,
    back: <><path d="M13 8H3M7 4L3 8l4 4"/></>,
    paperclip: <><path d="M10.5 6l-4 4a2 2 0 0 0 3 3l5-5a3.5 3.5 0 0 0-5-5l-5 5a5 5 0 0 0 7 7l4-4"/></>,
    mail: <><rect x="2" y="3.5" width="12" height="9" rx="1"/><path d="M2.5 4.5l5.5 4 5.5-4"/></>,
    phone: <><path d="M3.5 2.5h2l1 3-1.5 1a8 8 0 0 0 4 4l1-1.5 3 1v2a1 1 0 0 1-1 1A11 11 0 0 1 2.5 3.5a1 1 0 0 1 1-1z"/></>,
    stars: <><path d="M8 2l1.2 2.8L12 6l-2.8 1.2L8 10 6.8 7.2 4 6l2.8-1.2z"/><path d="M12.5 10.5l.6 1.4 1.4.6-1.4.6-.6 1.4-.6-1.4-1.4-.6 1.4-.6z"/></>,
    repeat: <><path d="M3 6h8a2 2 0 0 1 2 2v1M13 10H5a2 2 0 0 1-2-2V7"/><path d="M4 4.5L2.5 6 4 7.5M12 8.5L13.5 10 12 11.5"/></>,
    mic: <><rect x="6" y="1.5" width="4" height="8" rx="2"/><path d="M3.5 8a4.5 4.5 0 0 0 9 0M8 12.5V14.5M5.5 14.5h5"/></>,
    waveform: <><path d="M2 8v0M4.5 5v6M7 3v10M9.5 6v4M12 4v8M14 7v2"/></>,
    sparkle: <><path d="M8 2v3M8 11v3M2 8h3M11 8h3M3.8 3.8l2 2M10.2 10.2l2 2M3.8 12.2l2-2M10.2 5.8l2-2"/></>,
    pause: <><rect x="4.5" y="3" width="2.5" height="10" rx=".5"/><rect x="9" y="3" width="2.5" height="10" rx=".5"/></>,
    play: <><path d="M5 3l8 5-8 5z"/></>,
    stop: <><rect x="4" y="4" width="8" height="8" rx="1"/></>,
    trash: <><path d="M3 4.5h10M6 4.5V3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5M4.5 4.5l.7 8.5a1 1 0 0 0 1 .9h3.6a1 1 0 0 0 1-.9l.7-8.5"/></>,
    edit: <><path d="M3 13l1-3 6.5-6.5 2 2L6 12l-3 1zM9.5 4.5l2 2"/></>,
  };
  return <svg {...props}>{paths[name] || null}</svg>;
};

window.Icon = Icon;
