// Casepoint icon set — simple stroke icons, 24x24
const ICON_PATHS = {
  home: <><path d="M3 10.5 12 3l9 7.5" /><path d="M5 9.5V21h14V9.5" /><path d="M9.5 21v-6h5v6" /></>,
  orders: <><rect x="5" y="4" width="14" height="17" rx="2.2" /><path d="M9 3.5h6v3H9z" /><path d="M8.5 11h7M8.5 15h5" /></>,
  device: <><rect x="3.5" y="6" width="17" height="12.5" rx="2" /><path d="M8 21h8M12 18.5V21" /><path d="M7 10h5" /></>,
  clients: <><circle cx="9" cy="8" r="3.2" /><path d="M3.5 20c0-3.4 2.6-5.5 5.5-5.5s5.5 2.1 5.5 5.5" /><path d="M16 5.2a3.2 3.2 0 0 1 0 6.1M17.5 14.8c2.3.6 3.9 2.4 4 5.2" /></>,
  chart: <><path d="M4 4v16h16" /><rect x="7.5" y="11" width="3" height="6" rx="0.6" /><rect x="13" y="7.5" width="3" height="9.5" rx="0.6" /></>,
  settings: <><circle cx="12" cy="12" r="3.2" /><path d="M12 2.5v2.6M12 18.9v2.6M21.5 12h-2.6M5.1 12H2.5M18.7 5.3l-1.8 1.8M7.1 16.9l-1.8 1.8M18.7 18.7l-1.8-1.8M7.1 7.1 5.3 5.3" /></>,
  search: <><circle cx="11" cy="11" r="6.5" /><path d="m20 20-3.6-3.6" /></>,
  bell: <><path d="M18 9a6 6 0 1 0-12 0c0 6-2.5 7-2.5 7h17S18 15 18 9Z" /><path d="M10 20a2.3 2.3 0 0 0 4 0" /></>,
  plus: <><path d="M12 5v14M5 12h14" /></>,
  chevronRight: <><path d="m9 6 6 6-6 6" /></>,
  chevronDown: <><path d="m6 9 6 6 6-6" /></>,
  chevronLeft: <><path d="m15 6-6 6 6 6" /></>,
  check: <><path d="m5 12.5 4.5 4.5L19 7" /></>,
  print: <><path d="M7 9V3.5h10V9" /><rect x="4.5" y="9" width="15" height="8" rx="1.6" /><path d="M7 14h10v6.5H7z" /><circle cx="16.5" cy="12" r="0.6" fill="currentColor" stroke="none" /></>,
  eye: <><path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z" /><circle cx="12" cy="12" r="2.6" /></>,
  dots: <><circle cx="12" cy="6" r="1.4" fill="currentColor" stroke="none" /><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none" /><circle cx="12" cy="18" r="1.4" fill="currentColor" stroke="none" /></>,
  filter: <><path d="M3.5 5.5h17l-6.5 7.6V20l-4-2v-4.9L3.5 5.5Z" /></>,
  refresh: <><path d="M20 11a8 8 0 0 0-13.7-5L4 8" /><path d="M4 4v4h4" /><path d="M4 13a8 8 0 0 0 13.7 5L20 16" /><path d="M20 20v-4h-4" /></>,
  edit: <><path d="M4 20h4L19 9l-4-4L4 16v4Z" /><path d="m14 6 4 4" /></>,
  trash: <><path d="M4.5 6.5h15M9 6.5V4.5h6v2M7 6.5 8 20h8l1-13.5" /></>,
  calendar: <><rect x="3.5" y="5" width="17" height="15.5" rx="2" /><path d="M3.5 9.5h17M8 3v4M16 3v4" /></>,
  clock: <><circle cx="12" cy="12" r="8.5" /><path d="M12 7v5l3.5 2" /></>,
  x: <><path d="M6 6l12 12M18 6 6 18" /></>,
  arrowRight: <><path d="M4 12h15M13 6l6 6-6 6" /></>,
  arrowLeft: <><path d="M20 12H5M11 6l-6 6 6 6" /></>,
  logout: <><path d="M9 4.5H5.5A1.5 1.5 0 0 0 4 6v12a1.5 1.5 0 0 0 1.5 1.5H9" /><path d="M15 8l4 4-4 4M19 12H9" /></>,
  user: <><circle cx="12" cy="8.5" r="3.6" /><path d="M5 20c0-3.6 3-6.3 7-6.3s7 2.7 7 6.3" /></>,
  phone: <><rect x="6.5" y="2.5" width="11" height="19" rx="2.4" /><path d="M10 5.2h4M10.5 18.8h3" /></>,
  laptop: <><rect x="4.5" y="5" width="15" height="10" rx="1.6" /><path d="M2.5 18.5h19l-1-2.5h-17l-1 2.5Z" /></>,
  tablet: <><rect x="4.5" y="3" width="15" height="18" rx="2.2" /><path d="M11 18h2" /></>,
  drone: <><circle cx="6" cy="6" r="2.4" /><circle cx="18" cy="6" r="2.4" /><circle cx="6" cy="18" r="2.4" /><circle cx="18" cy="18" r="2.4" /><rect x="9.5" y="9.5" width="5" height="5" rx="1.2" /><path d="M7.7 7.7 9.5 9.5M16.3 7.7 14.5 9.5M7.7 16.3l1.8-1.8M16.3 16.3l-1.8-1.8" /></>,
  watch: <><rect x="7" y="7" width="10" height="10" rx="2.6" /><path d="M9.5 7 9 3.5h6L14.5 7M9.5 17 9 20.5h6L14.5 17" /></>,
  chip: <><rect x="6.5" y="6.5" width="11" height="11" rx="1.6" /><rect x="9.5" y="9.5" width="5" height="5" rx="0.8" /><path d="M9 3v3M15 3v3M9 18v3M15 18v3M3 9h3M3 15h3M18 9h3M18 15h3" /></>,
  tools: <><path d="M14.5 6.5a3.5 3.5 0 0 0-4.7 4.2L4 16.5 7.5 20l5.8-5.8a3.5 3.5 0 0 0 4.2-4.7l-2.3 2.3-2-2 2.3-2.3Z" /></>,
  sms: <><path d="M4 5.5h16v10H9l-4 3.5v-3.5H4v-10Z" /><path d="M8 9h8M8 12h5" /></>,
  whatsapp: <><path d="M4 20l1.3-4A7.5 7.5 0 1 1 8 18.7L4 20Z" /><path d="M9 9.5c0 3 2.5 5.5 5.5 5.5M9 9.5c0-.8.4-1 .8-1l.9 1.6-.7.8M14.5 15c.8 0 1-.4 1-.8l-1.6-.9-.8.7" /></>,
  box: <><path d="M4 8 12 4l8 4-8 4-8-4Z" /><path d="M4 8v8l8 4 8-4V8M12 12v8" /></>,
  warning: <><path d="M12 4 2.5 20h19L12 4Z" /><path d="M12 10v4.5M12 17.5v.01" /></>,
  pin: <><path d="M12 21s7-6 7-11a7 7 0 1 0-14 0c0 5 7 11 7 11Z" /><circle cx="12" cy="10" r="2.5" /></>,
  star: <><path d="m12 3 2.6 5.6 6 .7-4.4 4.1 1.2 6L12 16.6 6.6 19.5l1.2-6L3.4 9.3l6-.7L12 3Z" /></>,
  camera: <><path d="M4 8.5h3l1.5-2.2h7L17 8.5h3v10H4v-10Z" /><circle cx="12" cy="13" r="3.2" /></>,
  doc: <><path d="M6 3h8l4 4v14H6V3Z" /><path d="M14 3v4h4M9 12h6M9 16h6" /></>,
  money: <><rect x="2.5" y="6" width="19" height="12" rx="2.5" /><circle cx="12" cy="12" r="3" /><path d="M5.5 9v6M18.5 9v6" /></>,
  wallet: <><rect x="3" y="6" width="18" height="13" rx="2.5" /><path d="M3 9h18" /><circle cx="17" cy="13" r="1.3" fill="currentColor" stroke="none" /></>,
};

function Icon({ name, size = 20, strokeWidth = 1.7, style, className }){
  const p = ICON_PATHS[name];
  if(!p) return null;
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
      stroke="currentColor" strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"
      style={style} className={className} aria-hidden="true">
      {p}
    </svg>
  );
}

Object.assign(window, { Icon, ICON_PATHS });
