// icons.jsx — Inline SVG icons (24px viewBox, currentColor)
// Compact, line-style icons matching the Stripe/Notion aesthetic.

const Icon = ({ d, size = 14, stroke = 1.6 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={stroke}
       strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    {Array.isArray(d) ? d.map((p, i) => <path key={i} d={p} />) : <path d={d} />}
  </svg>
);

const Icons = {
  dashboard: () => <Icon d={["M3 12 12 4l9 8", "M5 10v10h14V10"]} />,
  tenant:    () => <Icon d={["M4 21V10l8-6 8 6v11", "M9 21v-7h6v7"]} />,
  site:      () => <Icon d={["M3 5h18v14H3z", "M3 9h18", "M7 7h.01", "M10 7h.01"]} />,
  builder:   () => <Icon d={["M4 4h7v7H4z", "M13 4h7v4h-7z", "M13 10h7v10h-7z", "M4 13h7v7H4z"]} />,
  user:      () => <Icon d={["M4 21v-2a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v2", "M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"]} />,
  level:     () => <Icon d={["M12 2l3 6 6 1-4.5 4 1 6L12 16l-5.5 3 1-6L3 9l6-1z"]} />,
  agents:    () => <Icon d={["M16 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z", "M8 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z", "M2 20v-1c0-2 2-4 6-4M22 21v-1c0-3-3-5-6-5"]} />,
  marketing: () => <Icon d={["M3 11v2a2 2 0 0 0 2 2h1l4 4V5L6 9H5a2 2 0 0 0-2 2z", "M16 8a5 5 0 0 1 0 8", "M19 5a8 8 0 0 1 0 14"]} />,
  finance:   () => <Icon d={["M3 7h18v12H3z", "M3 11h18", "M7 15h3"]} />,
  payments:  () => <Icon d={["M4 4h16v16H4z", "M4 9h16", "M8 14h2", "M14 14h2"]} />,
  games:     () => <Icon d={["M6 11h4", "M8 9v4", "M14.5 12h.01", "M16.5 14h.01", "M3 12c1-5 4-7 9-7s8 2 9 7c.5 3-1 5-3 5-1.5 0-2.5-1-3-2H9c-.5 1-1.5 2-3 2-2 0-3.5-2-3-5z"]} />,
  videos:    () => <Icon d={["M3 6h13v12H3z", "M16 9l5-3v12l-5-3z"]} />,
  live:      () => <Icon d={["M5 17l-1 4 4-1c1.5.5 3 .8 4.5.8a8.5 8.5 0 1 0-8.5-8.5c0 1.5.3 3 1 4.7z", "M9 12h.01", "M13 12h.01", "M17 12h.01"]} />,
  risk:      () => <Icon d={["M12 3l9 4v5c0 5-4 8-9 9-5-1-9-4-9-9V7z", "M10 12l2 2 4-4"]} />,
  analytics: () => <Icon d={["M3 20h18", "M6 16V8", "M11 16V5", "M16 16v-6", "M21 16v-3"]} />,
  approvals: () => <Icon d={["M9 12l2 2 4-4", "M4 4h16v16H4z"]} />,
  search:    () => <Icon d={["M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16z", "M21 21l-4.3-4.3"]} />,
  bell:      () => <Icon d={["M6 8a6 6 0 0 1 12 0c0 7 3 8 3 8H3s3-1 3-8", "M10 21h4"]} />,
  cog:       () => <Icon d={["M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z", "M19.4 15a1.7 1.7 0 0 0 .4 1.9l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.9-.4 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.9.4l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .4-1.9 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.4-1.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.4h.1a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5h.1a1.7 1.7 0 0 0 1.9-.4l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.4 1.9v.1a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"]} />,
  cmd:       () => <Icon d={["M9 6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3z"]} />,
  plus:      () => <Icon d={["M12 5v14", "M5 12h14"]} />,
  chevron:   () => <Icon d="M9 6l6 6-6 6" />,
  chevronD:  () => <Icon d="M6 9l6 6 6-6" />,
  arrowUp:   () => <Icon d={["M12 19V5", "M5 12l7-7 7 7"]} />,
  arrowDn:   () => <Icon d={["M12 5v14", "M5 12l7 7 7-7"]} />,
  arrowR:    () => <Icon d={["M5 12h14", "M13 5l7 7-7 7"]} />,
  check:     () => <Icon d="M5 12l5 5L20 7" />,
  x:         () => <Icon d={["M6 6l12 12", "M18 6L6 18"]} />,
  dots:      () => <Icon d={["M5 12h.01", "M12 12h.01", "M19 12h.01"]} stroke={3} />,
  external:  () => <Icon d={["M14 4h6v6", "M20 4l-9 9", "M10 6H4v14h14v-6"]} />,
  download:  () => <Icon d={["M12 4v12", "M6 12l6 6 6-6", "M4 20h16"]} />,
  upload:    () => <Icon d={["M12 20V8", "M6 12l6-6 6 6", "M4 4h16"]} />,
  filter:    () => <Icon d={["M3 4h18l-7 9v7l-4-2v-5z"]} />,
  refresh:   () => <Icon d={["M3 12a9 9 0 0 1 15-6.7L21 8", "M21 3v5h-5", "M21 12a9 9 0 0 1-15 6.7L3 16", "M3 21v-5h5"]} />,
  eye:       () => <Icon d={["M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z", "M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"]} />,
  shield:    () => <Icon d={["M12 3l9 4v5c0 5-4 8-9 9-5-1-9-4-9-9V7z"]} />,
  lock:      () => <Icon d={["M5 11h14v10H5z", "M8 11V7a4 4 0 1 1 8 0v4"]} />,
  unlock:    () => <Icon d={["M5 11h14v10H5z", "M8 11V7a4 4 0 0 1 8 0"]} />,
  trash:     () => <Icon d={["M3 6h18", "M8 6V4h8v2", "M6 6l1 14h10l1-14"]} />,
  warn:      () => <Icon d={["M12 3 2 21h20z", "M12 10v5", "M12 18h.01"]} />,
  flag:      () => <Icon d={["M4 21V4", "M4 4h13l-2 4 2 4H4"]} />,
  api:       () => <Icon d={["M7 8 3 12l4 4", "M17 8l4 4-4 4", "M14 4l-4 16"]} />,
  copy:      () => <Icon d={["M9 9h11v11H9z", "M5 15H4V4h11v1"]} />,
  gift:      () => <Icon d={["M20 12v9H4v-9", "M2 7h20v5H2z", "M12 22V7", "M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7s1-5 4.5-5a2.5 2.5 0 0 1 0 5H12"]} />,
  bolt:      () => <Icon d={["M13 2 3 14h8l-1 8 10-12h-8z"]} />,
  globe:     () => <Icon d={["M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z", "M3 12h18", "M12 3a14 14 0 0 1 0 18", "M12 3a14 14 0 0 0 0 18"]} />,
  device:    () => <Icon d={["M7 3h10v18H7z", "M11 18h2"]} />,
  card:      () => <Icon d={["M3 7h18v12H3z", "M3 11h18"]} />,
  drag:      () => <Icon d={["M9 6h.01", "M15 6h.01", "M9 12h.01", "M15 12h.01", "M9 18h.01", "M15 18h.01"]} stroke={3} />,
  vip:       () => <Icon d={["M2 9l3 9h14l3-9-5 4-5-7-5 7z"]} />,
};

window.Icons = Icons;
