// Minimal icon set — drawn as React components.
// Stroke-based, 1.5px line, 18px viewBox by default.

const Icon = ({ d, size = 18, stroke = 'currentColor', fill = 'none', strokeWidth = 1.6, children, ...rest }) => (
  <svg
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill={fill}
    stroke={stroke}
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    {...rest}
  >
    {d ? <path d={d} /> : children}
  </svg>
);

const I = {
  home:        (p) => <Icon {...p}><path d="M3 11.5l9-7 9 7v8.5a2 2 0 0 1-2 2h-4v-7h-6v7H5a2 2 0 0 1-2-2z" /></Icon>,
  inbox:       (p) => <Icon {...p}><path d="M3 13h5l1 2h6l1-2h5" /><path d="M5 4h14l2 9v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6z" /></Icon>,
  beaker:      (p) => <Icon {...p}><path d="M9 2v6L4 18a2 2 0 0 0 1.8 3h12.4A2 2 0 0 0 20 18l-5-10V2" /><path d="M8 2h8" /><path d="M6 14h12" /></Icon>,
  link:        (p) => <Icon {...p}><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7L11 7" /><path d="M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7L13 17" /></Icon>,
  building:    (p) => <Icon {...p}><path d="M4 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18" /><path d="M16 6h2a2 2 0 0 1 2 2v14" /><path d="M8 6h2M8 10h2M8 14h2M8 18h2" /></Icon>,
  users:       (p) => <Icon {...p}><circle cx="9" cy="8" r="3.4" /><path d="M3 21c0-3.3 2.7-6 6-6s6 2.7 6 6" /><path d="M15 11a3 3 0 0 0 0-6" /><path d="M21 21a5 5 0 0 0-4-4.9" /></Icon>,
  mail:        (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2" /><path d="M3 7l9 6 9-6" /></Icon>,
  bolt:        (p) => <Icon {...p}><path d="M13 2L4 14h7l-1 8 9-12h-7z" /></Icon>,
  bell:        (p) => <Icon {...p}><path d="M18 9a6 6 0 1 0-12 0c0 5-2 6-2 6h16s-2-1-2-6" /><path d="M10.3 20a2 2 0 0 0 3.4 0" /></Icon>,
  at:          (p) => <Icon {...p}><circle cx="12" cy="12" r="4" /><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8" /></Icon>,
  check:       (p) => <Icon {...p}><path d="M5 12.5l4.5 4.5L20 7" /></Icon>,
  x:           (p) => <Icon {...p}><path d="M6 6l12 12M18 6L6 18" /></Icon>,
  arrowRight:  (p) => <Icon {...p}><path d="M5 12h14M13 6l6 6-6 6" /></Icon>,
  arrowLeft:   (p) => <Icon {...p}><path d="M19 12H5M11 18l-6-6 6-6" /></Icon>,
  chevronDown: (p) => <Icon {...p}><path d="M6 9l6 6 6-6" /></Icon>,
  chevronRight:(p) => <Icon {...p}><path d="M9 6l6 6-6 6" /></Icon>,
  search:      (p) => <Icon {...p}><circle cx="11" cy="11" r="7" /><path d="M21 21l-4.3-4.3" /></Icon>,
  filter:      (p) => <Icon {...p}><path d="M3 5h18M6 12h12M10 19h4" /></Icon>,
  plus:        (p) => <Icon {...p}><path d="M12 5v14M5 12h14" /></Icon>,
  more:        (p) => <Icon {...p}><circle cx="5" cy="12" r="1" fill="currentColor" /><circle cx="12" cy="12" r="1" fill="currentColor" /><circle cx="19" cy="12" r="1" fill="currentColor" /></Icon>,
  external:    (p) => <Icon {...p}><path d="M15 3h6v6" /><path d="M10 14L21 3" /><path d="M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5" /></Icon>,
  copy:        (p) => <Icon {...p}><rect x="9" y="9" width="12" height="12" rx="2" /><path d="M5 15V5a2 2 0 0 1 2-2h10" /></Icon>,
  download:    (p) => <Icon {...p}><path d="M12 3v12" /><path d="M7 11l5 5 5-5" /><path d="M4 21h16" /></Icon>,
  upload:      (p) => <Icon {...p}><path d="M12 16V4" /><path d="M7 9l5-5 5 5" /><path d="M4 21h16" /></Icon>,
  moon:        (p) => <Icon {...p}><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z" /></Icon>,
  sun:         (p) => <Icon {...p}><circle cx="12" cy="12" r="4" /><path d="M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5L19 19M19 5l-1.5 1.5M6.5 17.5L5 19" /></Icon>,
  warn:        (p) => <Icon {...p}><path d="M12 3l10 18H2z" /><path d="M12 10v5M12 18v.5" /></Icon>,
  info:        (p) => <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M12 11v6M12 7v.5" /></Icon>,
  sparkle:     (p) => <Icon {...p}><path d="M12 3v6M12 15v6M3 12h6M15 12h6M5.6 5.6l4.2 4.2M14.2 14.2l4.2 4.2M5.6 18.4l4.2-4.2M14.2 9.8l4.2-4.2" /></Icon>,
  refresh:     (p) => <Icon {...p}><path d="M3 12a9 9 0 0 1 15-6.7L21 8" /><path d="M21 3v5h-5" /><path d="M21 12a9 9 0 0 1-15 6.7L3 16" /><path d="M3 21v-5h5" /></Icon>,
  eye:         (p) => <Icon {...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" /></Icon>,
  cal:         (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 9h18M8 3v4M16 3v4" /></Icon>,
  pin:         (p) => <Icon {...p}><path d="M12 22s7-7.6 7-13a7 7 0 0 0-14 0c0 5.4 7 13 7 13z" /><circle cx="12" cy="9" r="2.5" /></Icon>,
  cite:        (p) => <Icon {...p}><path d="M7 6h10M7 12h10M7 18h6" /></Icon>,
  pause:       (p) => <Icon {...p}><path d="M9 4v16M15 4v16" /></Icon>,
  ban:         (p) => <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M5.5 5.5l13 13" /></Icon>,
  trophy:      (p) => <Icon {...p}><path d="M8 4h8v6a4 4 0 0 1-8 0z" /><path d="M5 4H3v3a3 3 0 0 0 3 3M19 4h2v3a3 3 0 0 1-3 3" /><path d="M8 20h8M12 16v4" /></Icon>,
  edit:        (p) => <Icon {...p}><path d="M14 5l5 5-11 11H3v-5z" /><path d="M14 5l3-3 5 5-3 3" /></Icon>,
  cog:         (p) => <Icon {...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 1 1-4 0v-.1A1.6 1.6 0 0 0 9 19.4a1.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 1 1 0-4h.1A1.6 1.6 0 0 0 4.6 9a1.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 9 4.6a1.6 1.6 0 0 0 1-1.5V3a2 2 0 1 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 1 1 0 4h-.1a1.6 1.6 0 0 0-1.5 1z" /></Icon>,
  trend:       (p) => <Icon {...p}><path d="M3 17l6-6 4 4 8-8" /><path d="M21 13V7h-6" /></Icon>,
  briefcase:   (p) => <Icon {...p}><rect x="3" y="7" width="18" height="13" rx="2" /><path d="M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" /></Icon>,
  globe:       (p) => <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M3 12h18" /><path d="M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18" /></Icon>,
  flame:       (p) => <Icon {...p}><path d="M12 3c2 4 6 5 6 10a6 6 0 0 1-12 0c0-3 1-4 2-5 0 2 1 3 2 3 0-3-1-5 2-8z" /></Icon>,
  trash:       (p) => <Icon {...p}><path d="M4 7h16M10 11v6M14 11v6M5 7l1 13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-13M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3" /></Icon>,
  board:       (p) => <Icon {...p}><rect x="3" y="4" width="5" height="16" rx="1" /><rect x="10" y="4" width="5" height="11" rx="1" /><rect x="17" y="4" width="4" height="7" rx="1" /></Icon>,
  menu:        (p) => <Icon {...p}><path d="M3 6h18M3 12h18M3 18h18" /></Icon>,
  grip:        (p) => <Icon {...p} strokeWidth={0}><circle cx="9" cy="6" r="1.3" fill="currentColor" /><circle cx="15" cy="6" r="1.3" fill="currentColor" /><circle cx="9" cy="12" r="1.3" fill="currentColor" /><circle cx="15" cy="12" r="1.3" fill="currentColor" /><circle cx="9" cy="18" r="1.3" fill="currentColor" /><circle cx="15" cy="18" r="1.3" fill="currentColor" /></Icon>,
};

window.I = I;
