/* Wa by Elivate — Icon set (Lucide-style, 1.8 stroke) */
const Ic = ({ d, children, size = 18, fill = "none", sw = 1.8, ...p }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor"
    strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...p}>
    {d ? <path d={d} /> : children}
  </svg>
);

const Icons = {
  dashboard: (p) => <Ic {...p}><rect x="3" y="3" width="7" height="9" rx="1.5"/><rect x="14" y="3" width="7" height="5" rx="1.5"/><rect x="14" y="12" width="7" height="9" rx="1.5"/><rect x="3" y="16" width="7" height="5" rx="1.5"/></Ic>,
  bolt: (p) => <Ic {...p}><path d="M13 2 4.5 13.5H11l-1 8.5 8.5-11.5H12z"/></Ic>,
  link: (p) => <Ic {...p}><path d="M9 12a4 4 0 0 1 4-4h3a4 4 0 0 1 0 8h-1.5"/><path d="M15 12a4 4 0 0 1-4 4H8a4 4 0 0 1 0-8h1.5"/></Ic>,
  users: (p) => <Ic {...p}><path d="M16 19v-1.5a3.5 3.5 0 0 0-3.5-3.5h-5A3.5 3.5 0 0 0 4 17.5V19"/><circle cx="10" cy="8" r="3.2"/><path d="M20 19v-1.4a3.4 3.4 0 0 0-2.6-3.3"/><path d="M15 5.2a3.2 3.2 0 0 1 0 6"/></Ic>,
  send: (p) => <Ic {...p}><path d="M21 3 10.5 13.5"/><path d="M21 3 14.5 21l-4-7.5L3 9.5z"/></Ic>,
  logs: (p) => <Ic {...p}><path d="M8 6h12"/><path d="M8 12h12"/><path d="M8 18h12"/><circle cx="4" cy="6" r="1.1" fill="currentColor" stroke="none"/><circle cx="4" cy="12" r="1.1" fill="currentColor" stroke="none"/><circle cx="4" cy="18" r="1.1" fill="currentColor" stroke="none"/></Ic>,
  settings: (p) => <Ic {...p}><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.6 1.6 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.6 1.6 0 0 0-1.8-.3 1.6 1.6 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.6 1.6 0 0 0-1-1.5 1.6 1.6 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.6 1.6 0 0 0 .3-1.8 1.6 1.6 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.6 1.6 0 0 0 1.5-1 1.6 1.6 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.6 1.6 0 0 0 1.8.3H9a1.6 1.6 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.6 1.6 0 0 0 1 1.5 1.6 1.6 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.6 1.6 0 0 0-.3 1.8V9a1.6 1.6 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.6 1.6 0 0 0-1.5 1z"/></Ic>,
  shield: (p) => <Ic {...p}><path d="M12 3 5 6v5c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6z"/></Ic>,
  plus: (p) => <Ic {...p}><path d="M12 5v14M5 12h14"/></Ic>,
  search: (p) => <Ic {...p}><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></Ic>,
  chevron: (p) => <Ic {...p}><polyline points="9 6 15 12 9 18"/></Ic>,
  chevronDown: (p) => <Ic {...p}><polyline points="6 9 12 15 18 9"/></Ic>,
  message: (p) => <Ic {...p}><path d="M21 11.5a8 8 0 0 1-11.5 7.2L4 20l1.3-5.2A8 8 0 1 1 21 11.5z"/></Ic>,
  clock: (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3.5 2"/></Ic>,
  trash: (p) => <Ic {...p}><path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13"/></Ic>,
  edit: (p) => <Ic {...p}><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z"/></Ic>,
  lock: (p) => <Ic {...p}><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></Ic>,
  unlock: (p) => <Ic {...p}><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 7.5-2"/></Ic>,
  userMinus: (p) => <Ic {...p}><circle cx="9" cy="8" r="3.4"/><path d="M3.5 20v-1.5A3.5 3.5 0 0 1 7 15h4a3.5 3.5 0 0 1 3.5 3.5V20"/><path d="M16 11h6"/></Ic>,
  copy: (p) => <Ic {...p}><rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h8"/></Ic>,
  check: (p) => <Ic {...p}><polyline points="4 12 9 17 20 6"/></Ic>,
  checkCircle: (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><polyline points="8 12 11 15 16 9"/></Ic>,
  x: (p) => <Ic {...p}><path d="M6 6l12 12M18 6 6 18"/></Ic>,
  filter: (p) => <Ic {...p}><path d="M3 5h18l-7 8v5l-4 2v-7z"/></Ic>,
  target: (p) => <Ic {...p}><circle cx="12" cy="12" r="8.5"/><circle cx="12" cy="12" r="4.5"/><circle cx="12" cy="12" r="1" fill="currentColor" stroke="none"/></Ic>,
  play: (p) => <Ic {...p}><path d="M7 4.5v15l12-7.5z"/></Ic>,
  refresh: (p) => <Ic {...p}><path d="M21 12a9 9 0 1 1-2.6-6.3"/><path d="M21 4v4h-4"/></Ic>,
  dots: (p) => <Ic {...p}><circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/></Ic>,
  userPlus: (p) => <Ic {...p}><circle cx="9" cy="8" r="3.4"/><path d="M3.5 20v-1.5A3.5 3.5 0 0 1 7 15h4a3.5 3.5 0 0 1 3.5 3.5V20"/><path d="M19 8v6M16 11h6"/></Ic>,
  power: (p) => <Ic {...p}><path d="M12 4v8"/><path d="M7.5 7a7 7 0 1 0 9 0"/></Ic>,
  grid: (p) => <Ic {...p}><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="1.5"/></Ic>,
  zap: (p) => <Ic {...p}><path d="M13 2 4.5 13.5H11l-1 8.5 8.5-11.5H12z"/></Ic>,
  phone: (p) => <Ic {...p}><path d="M5 4h3.5l1.5 4-2 1.5a11 11 0 0 0 5 5l1.5-2 4 1.5V18a2 2 0 0 1-2.2 2A15 15 0 0 1 3 6.2 2 2 0 0 1 5 4z"/></Ic>,
  arrowUp: (p) => <Ic {...p}><path d="M12 19V5M6 11l6-6 6 6"/></Ic>,
  arrowDown: (p) => <Ic {...p}><path d="M12 5v14M6 13l6 6 6-6"/></Ic>,
  hash: (p) => <Ic {...p}><path d="M5 9h14M5 15h14M10 4 8 20M16 4l-2 16"/></Ic>,
  sliders: (p) => <Ic {...p}><path d="M4 6h10M18 6h2M4 12h2M10 12h10M4 18h8M16 18h4"/><circle cx="16" cy="6" r="2"/><circle cx="8" cy="12" r="2"/><circle cx="14" cy="18" r="2"/></Ic>,
  inbox: (p) => <Ic {...p}><path d="M3 13h4l1.5 3h7L17 13h4"/><path d="M5 5h14l2 8v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-5z"/></Ic>,
  warning: (p) => <Ic {...p}><path d="M12 3 2.5 20h19z"/><path d="M12 9v5"/><circle cx="12" cy="17.5" r="1" fill="currentColor" stroke="none"/></Ic>,
  info: (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M12 11v5"/><circle cx="12" cy="7.8" r="1" fill="currentColor" stroke="none"/></Ic>,
  external: (p) => <Ic {...p}><path d="M14 4h6v6"/><path d="M20 4 10 14"/><path d="M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/></Ic>,
  qr: (p) => <Ic {...p}><rect x="4" y="4" width="6" height="6" rx="1"/><rect x="14" y="4" width="6" height="6" rx="1"/><rect x="4" y="14" width="6" height="6" rx="1"/><path d="M14 14h2v2M20 14v6M16 18v2h-2M18 16h2"/></Ic>,
  globe: (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/></Ic>,
};
window.Icons = Icons;
