// Minimal, consistent icon set — 1.5 stroke, rounded.
const Icon = ({ name, size = 16, stroke = 1.5, className = "", style = {} }) => {
  const p = { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: stroke, strokeLinecap: "round", strokeLinejoin: "round", className, style };
  switch (name) {
    case "home":     return <svg {...p}><path d="M3 11l9-8 9 8"/><path d="M5 10v10h14V10"/></svg>;
    case "users":    return <svg {...p}><circle cx="9" cy="8" r="3.5"/><path d="M3 20c0-3 3-5 6-5s6 2 6 5"/><circle cx="17" cy="9" r="2.5"/><path d="M15 20c0-2 2-3.5 4-3.5"/></svg>;
    case "docs":     return <svg {...p}><path d="M7 3h8l4 4v14H7z"/><path d="M15 3v4h4"/><path d="M10 12h6M10 16h6"/></svg>;
    case "settings": return <svg {...p}><circle cx="12" cy="12" r="3"/><path d="M12 2v3M12 19v3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M2 12h3M19 12h3M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1"/></svg>;
    case "help":     return <svg {...p}><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 3.5"/><circle cx="12" cy="17" r="0.6" fill="currentColor"/></svg>;
    case "bell":     return <svg {...p}><path d="M6 9a6 6 0 1112 0c0 5 2 6 2 6H4s2-1 2-6z"/><path d="M10 19a2 2 0 004 0"/></svg>;
    case "chevron":  return <svg {...p}><path d="M6 9l6 6 6-6"/></svg>;
    case "chevronr": return <svg {...p}><path d="M9 6l6 6-6 6"/></svg>;
    case "chevronl": return <svg {...p}><path d="M15 6l-6 6 6 6"/></svg>;
    case "plus":     return <svg {...p}><path d="M12 5v14M5 12h14"/></svg>;
    case "check":    return <svg {...p}><path d="M5 12l4 4 10-10"/></svg>;
    case "x":        return <svg {...p}><path d="M6 6l12 12M18 6L6 18"/></svg>;
    case "download": return <svg {...p}><path d="M12 4v12"/><path d="M7 11l5 5 5-5"/><path d="M5 20h14"/></svg>;
    case "eye":      return <svg {...p}><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></svg>;
    case "send":     return <svg {...p}><path d="M21 3L3 11l7 3 3 7z"/><path d="M21 3l-11 11"/></svg>;
    case "mail":     return <svg {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></svg>;
    case "play":     return <svg {...p}><path d="M7 4l12 8-12 8z" fill="currentColor"/></svg>;
    case "clock":    return <svg {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>;
    case "calendar": return <svg {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4"/></svg>;
    case "edit":     return <svg {...p}><path d="M4 20h4l10-10-4-4L4 16z"/><path d="M14 6l4 4"/></svg>;
    case "pdf":      return <svg {...p}><path d="M7 3h8l4 4v14H7z"/><path d="M15 3v4h4"/><text x="9" y="17" fontSize="5" fill="currentColor" stroke="none" fontWeight="700">PDF</text></svg>;
    case "arrow-r":  return <svg {...p}><path d="M5 12h14M13 6l6 6-6 6"/></svg>;
    case "arrow-l":  return <svg {...p}><path d="M19 12H5M11 6l-6 6 6 6"/></svg>;
    case "logout":   return <svg {...p}><path d="M9 4H5v16h4"/><path d="M16 8l4 4-4 4"/><path d="M20 12H10"/></svg>;
    case "search":   return <svg {...p}><circle cx="11" cy="11" r="7"/><path d="M20 20l-4-4"/></svg>;
    case "filter":   return <svg {...p}><path d="M4 5h16l-6 8v5l-4 2v-7z"/></svg>;
    case "dot":      return <svg {...p}><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/></svg>;
    case "more":     return <svg {...p}><circle cx="5" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1" fill="currentColor" stroke="none"/></svg>;
    case "lock":     return <svg {...p}><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 018 0v3"/></svg>;
    case "shield":   return <svg {...p}><path d="M12 3l8 3v6c0 5-4 8-8 9-4-1-8-4-8-9V6z"/></svg>;
    case "upload":   return <svg {...p}><path d="M12 20V8"/><path d="M7 13l5-5 5 5"/><path d="M5 4h14"/></svg>;
    case "switch":   return <svg {...p}><path d="M4 7h14"/><path d="M14 3l4 4-4 4"/><path d="M20 17H6"/><path d="M10 21l-4-4 4-4"/></svg>;
    case "euro":     return <svg {...p}><path d="M18 7a7 7 0 100 10"/><path d="M4 10h10M4 14h10"/></svg>;
    case "building": return <svg {...p}><rect x="4" y="4" width="16" height="17" rx="1"/><path d="M9 8h1M14 8h1M9 12h1M14 12h1M9 16h1M14 16h1"/></svg>;
    case "sparkle":  return <svg {...p}><path d="M12 3l2 5 5 2-5 2-2 5-2-5-5-2 5-2z"/></svg>;
    default:         return <svg {...p}><circle cx="12" cy="12" r="9"/></svg>;
  }
};

Object.assign(window, { Icon });
