// Centralized icon set — minimalist line icons (24x24, stroke-based)
const Icon = ({ name, size = 22, color = "currentColor", strokeWidth = 1.5 }) => {
  const props = {
    width: size, height: size, viewBox: "0 0 24 24",
    fill: "none", stroke: color, strokeWidth, strokeLinecap: "round", strokeLinejoin: "round"
  };
  switch (name) {
    case "shield":
      return <svg {...props}><path d="M12 2 L4 6 V12 C4 17 8 21 12 22 C16 21 20 17 20 12 V6 Z"/><path d="M9 12 L11.5 14.5 L15.5 10.5"/></svg>;
    case "chart":
      return <svg {...props}><path d="M3 21 H21"/><path d="M6 17 V11"/><path d="M10 17 V7"/><path d="M14 17 V13"/><path d="M18 17 V9"/></svg>;
    case "building":
      return <svg {...props}><path d="M4 21 V7 L12 3 L20 7 V21"/><path d="M4 21 H20"/><path d="M9 11 H10"/><path d="M14 11 H15"/><path d="M9 15 H10"/><path d="M14 15 H15"/><path d="M11 21 V17 H13 V21"/></svg>;
    case "scale":
      return <svg {...props}><path d="M12 3 V21"/><path d="M6 21 H18"/><path d="M3 8 H21"/><path d="M3 8 L6 14 H0 Z" transform="translate(3,0)"/><path d="M3 8 L6 14 H0 Z" transform="translate(15,0)"/></svg>;
    case "users":
      return <svg {...props}><circle cx="9" cy="8" r="3.5"/><path d="M3 20 C3 16 6 14 9 14 C12 14 15 16 15 20"/><path d="M16 10 A3 3 0 1 0 16 4"/><path d="M18 20 C21 20 21 17 19 15"/></svg>;
    case "doc":
      return <svg {...props}><path d="M14 3 H6 V21 H18 V7 Z"/><path d="M14 3 V7 H18"/><path d="M9 12 H15"/><path d="M9 16 H13"/></svg>;
    case "phone":
      return <svg {...props}><rect x="7" y="3" width="10" height="18" rx="2"/><path d="M11 18 H13"/></svg>;
    case "bolt":
      return <svg {...props}><path d="M13 3 L4 14 H11 L10 21 L20 10 H13 Z"/></svg>;
    case "check":
      return <svg {...props}><path d="M5 12 L10 17 L19 7"/></svg>;
    case "arrow":
      return <svg {...props}><path d="M5 12 H19"/><path d="M13 6 L19 12 L13 18"/></svg>;
    case "arrow-up-right":
      return <svg {...props}><path d="M7 17 L17 7"/><path d="M7 7 H17 V17"/></svg>;
    case "wallet":
      return <svg {...props}><path d="M3 7 V19 A2 2 0 0 0 5 21 H19 A2 2 0 0 0 21 19 V10 H6 A3 3 0 0 1 6 4 H19 V7"/><circle cx="17" cy="15" r="1"/></svg>;
    case "bell":
      return <svg {...props}><path d="M6 8 A6 6 0 0 1 18 8 C18 14 21 16 21 16 H3 C3 16 6 14 6 8"/><path d="M10 20 A2 2 0 0 0 14 20"/></svg>;
    case "menu":
      return <svg {...props}><path d="M3 6 H21"/><path d="M3 12 H21"/><path d="M3 18 H21"/></svg>;
    case "calendar":
      return <svg {...props}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9 H21"/><path d="M8 3 V7"/><path d="M16 3 V7"/></svg>;
    case "lock":
      return <svg {...props}><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11 V7 A4 4 0 0 1 16 7 V11"/></svg>;
    case "clock":
      return <svg {...props}><circle cx="12" cy="12" r="9"/><path d="M12 7 V12 L15 14"/></svg>;
    case "whatsapp":
      return <svg width={size} height={size} viewBox="0 0 24 24" fill={color}><path d="M17.5 14.4c-.3-.1-1.7-.8-2-.9-.3-.1-.5-.1-.7.2-.2.3-.7.9-.9 1.1-.2.2-.3.2-.6.1-1-.5-2-1.1-2.7-2-.5-.8-1.1-1.6-1.2-1.9-.1-.3 0-.4.1-.6.1-.1.3-.3.4-.5.1-.2.2-.3.3-.5.1-.2 0-.3 0-.5-.1-.1-.7-1.6-.9-2.2-.2-.5-.4-.5-.7-.5h-.5c-.2 0-.5.1-.7.3-.3.3-1 1-1 2.5s1 2.9 1.2 3.1c.1.2 2 3.1 5 4.4.7.3 1.2.5 1.7.6.7.2 1.3.2 1.8.1.6-.1 1.7-.7 2-1.4.2-.7.2-1.3.2-1.4-.1-.2-.3-.2-.6-.4zM12 2C6.5 2 2 6.5 2 12c0 1.8.5 3.5 1.3 5L2 22l5.1-1.3c1.5.8 3.2 1.3 4.9 1.3 5.5 0 10-4.5 10-10S17.5 2 12 2z"/></svg>;
    case "instagram":
      return <svg {...props}><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.5" fill="currentColor"/></svg>;
    case "mail":
      return <svg {...props}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7 L12 13 L21 7"/></svg>;
    case "pin":
      return <svg {...props}><path d="M12 22 C12 22 19 15 19 9.5 A7 7 0 0 0 5 9.5 C5 15 12 22 12 22 Z"/><circle cx="12" cy="9.5" r="2.5"/></svg>;
    case "spark":
      return <svg {...props}><path d="M12 3 L13.5 10.5 L21 12 L13.5 13.5 L12 21 L10.5 13.5 L3 12 L10.5 10.5 Z"/></svg>;
    case "thumbs":
      return <svg {...props}><path d="M7 11 V20 H4 V11 Z"/><path d="M7 11 L11 4 C11 3 12 3 12 4 V9 H18 C19 9 20 10 20 11 L18.5 18 C18.3 19 17.5 20 16.5 20 H7"/></svg>;
    case "globe":
      return <svg {...props}><circle cx="12" cy="12" r="9"/><path d="M3 12 H21"/><path d="M12 3 C16 7 16 17 12 21 C8 17 8 7 12 3"/></svg>;
    case "qr":
      return <svg {...props}><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/><path d="M14 14 H17 V17 H14 Z"/><path d="M18 14 H21"/><path d="M14 18 V21"/><path d="M18 18 H21 V21"/></svg>;
    case "gavel":
      return <svg {...props}><path d="M14 4 L20 10"/><path d="M11 7 L17 13"/><path d="M8 10 L14 16"/><path d="M3 21 L9 15"/><path d="M3 21 L7 21 L7 17"/></svg>;
    case "code":
      return <svg {...props}><path d="M8 6 L3 12 L8 18"/><path d="M16 6 L21 12 L16 18"/><path d="M14 4 L10 20"/></svg>;
    case "briefcase":
      return <svg {...props}><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7 V4 H15 V7"/><path d="M3 13 H21"/></svg>;
    case "cap":
      return <svg {...props}><path d="M12 4 L2 9 L12 14 L22 9 L12 4 Z"/><path d="M22 9 V13"/><path d="M6 11 V16 C6 17 9 18 12 18 C15 18 18 17 18 16 V11"/></svg>;
    case "flask":
      return <svg {...props}><path d="M10 3 V8 L5 19 C4 21 5 21 6 21 H18 C19 21 20 21 19 19 L14 8 V3"/><path d="M8 3 H16"/><path d="M7 15 H17"/></svg>;
    case "leaf":
      return <svg {...props}><path d="M5 19 C5 12 11 5 21 5 C21 15 14 21 7 21 C6 21 5 20 5 19 Z"/><path d="M5 19 L12 12"/></svg>;
    case "clipboard":
      return <svg {...props}><rect x="6" y="4" width="12" height="18" rx="2"/><rect x="9" y="2" width="6" height="4" rx="1"/><path d="M9 11 H15"/><path d="M9 15 H13"/></svg>;
    case "settings":
      return <svg {...props}><circle cx="12" cy="12" r="3"/><path d="M12 2 V5 M12 19 V22 M22 12 H19 M5 12 H2 M19 5 L17 7 M7 17 L5 19 M19 19 L17 17 M7 7 L5 5"/></svg>;
    case "shield-check":
      return <svg {...props}><path d="M12 2 L4 6 V12 C4 17 8 21 12 22 C16 21 20 17 20 12 V6 Z"/><path d="M9 12 L11.5 14.5 L15.5 10.5"/></svg>;
    case "x":
      return <svg {...props}><path d="M6 6 L18 18"/><path d="M18 6 L6 18"/></svg>;
    default: return null;
  }
};

window.Icon = Icon;
