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

const I = {
  Dashboard: (p) => <Icon {...p}><rect x="3" y="3" width="7" height="9" /><rect x="14" y="3" width="7" height="5" /><rect x="14" y="12" width="7" height="9" /><rect x="3" y="16" width="7" height="5" /></Icon>,
  Ops:       (p) => <Icon {...p}><path d="M3 7h18M3 12h18M3 17h18" /><circle cx="7" cy="7"  r="1.5" fill="currentColor" stroke="none" /><circle cx="12" cy="12" r="1.5" fill="currentColor" stroke="none" /><circle cx="17" cy="17" r="1.5" fill="currentColor" stroke="none" /></Icon>,
  Wallet:    (p) => <Icon {...p}><path d="M3 7v10a2 2 0 0 0 2 2h15V9H5a2 2 0 0 1-2-2zM3 7a2 2 0 0 1 2-2h13v4" /><circle cx="16" cy="14" r="1.2" fill="currentColor" stroke="none" /></Icon>,
  Cash:      (p) => <Icon {...p}><rect x="2.5" y="6" width="19" height="12" rx="1.5" /><circle cx="12" cy="12" r="2.5" /><path d="M6 9v6M18 9v6" /></Icon>,
  Bookmark:  (p) => <Icon {...p} d="M6 3h12v18l-6-4-6 4V3z" />,
  Home:      (p) => <Icon {...p} d="M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1v-9z" />,
  Users:     (p) => <Icon {...p}><circle cx="9" cy="8" r="3.5" /><path d="M2.5 20a6.5 6.5 0 0 1 13 0M17 11a3 3 0 1 0 0-6M21 20a5 5 0 0 0-3.5-4.8" /></Icon>,
  Search:    (p) => <Icon {...p}><circle cx="11" cy="11" r="6.5" /><path d="M20 20l-3.7-3.7" /></Icon>,
  Bell:      (p) => <Icon {...p} d="M6 16V11a6 6 0 1 1 12 0v5l1.5 2H4.5L6 16zM10 21a2 2 0 0 0 4 0" />,
  Plus:      (p) => <Icon {...p} d="M12 5v14M5 12h14" />,
  Filter:    (p) => <Icon {...p} d="M3 5h18l-7 9v6l-4-2v-4L3 5z" />,
  Download:  (p) => <Icon {...p} d="M12 4v12m0 0l-4-4m4 4l4-4M4 20h16" />,
  Chevron:   (p) => <Icon {...p} d="M9 6l6 6-6 6" />,
  ChevronDn: (p) => <Icon {...p} d="M6 9l6 6 6-6" />,
  Map:       (p) => <Icon {...p}><path d="M9 4L3 6v14l6-2 6 2 6-2V4l-6 2-6-2z" /><path d="M9 4v14M15 6v14" /></Icon>,
  Pin:       (p) => <Icon {...p}><path d="M12 21s-7-7.5-7-12a7 7 0 1 1 14 0c0 4.5-7 12-7 12z" /><circle cx="12" cy="9" r="2.5" /></Icon>,
  List:      (p) => <Icon {...p}><path d="M8 6h13M8 12h13M8 18h13" /><circle cx="4" cy="6" r="1" fill="currentColor" stroke="none" /><circle cx="4" cy="12" r="1" fill="currentColor" stroke="none" /><circle cx="4" cy="18" r="1" fill="currentColor" stroke="none" /></Icon>,
  Settings:  (p) => <Icon {...p}><circle cx="12" cy="12" r="3" /><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 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-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1A1.7 1.7 0 0 0 4.6 9a1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9c.4.6 1 1 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z" /></Icon>,
  Upload:    (p) => <Icon {...p} d="M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M12 4v12m0-12l-4 4m4-4l4 4" />,
  Doc:       (p) => <Icon {...p}><path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9l-6-6z" /><path d="M14 3v6h6M8 13h8M8 17h5" /></Icon>,
  Check:     (p) => <Icon {...p} d="M5 12l5 5L20 7" />,
  X:         (p) => <Icon {...p} d="M6 6l12 12M18 6L6 18" />,
  Arrow:     (p) => <Icon {...p} d="M5 12h14m0 0l-5-5m5 5l-5 5" />,
  Up:        (p) => <Icon {...p} d="M7 14l5-5 5 5" />,
  Dn:        (p) => <Icon {...p} d="M7 10l5 5 5-5" />,
  Wa:        (p) => <Icon {...p}><path d="M3 21l1.6-4.4A8 8 0 1 1 8 19l-5 2z" /><path d="M8.5 9.5c.3 1.2 1.1 2.3 2.2 3.2 1.1.9 2.4 1.6 3.6 1.7l1-1.4-2-1-1 .7c-.6-.3-1.1-.7-1.6-1.2-.4-.4-.7-.9-1-1.5l.7-1-1-2-1.4 1c-.1.5-.1 1-.5 1.5z" fill="currentColor" stroke="none" /></Icon>,
  Ig:        (p) => <Icon {...p}><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.8" fill="currentColor" stroke="none" /></Icon>,
  Zp:        (p) => <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M8 9h7l-7 6h7" /></Icon>,
  Tk:        (p) => <Icon {...p}><path d="M4 7h16M12 7v13M7 12l5-5 5 5" /></Icon>,
  More:      (p) => <Icon {...p}><circle cx="5" cy="12" r="1.2" fill="currentColor" stroke="none" /><circle cx="12" cy="12" r="1.2" fill="currentColor" stroke="none" /><circle cx="19" cy="12" r="1.2" fill="currentColor" stroke="none" /></Icon>,
  Spark:     (p) => <Icon {...p}><path d="M12 3l1.8 5.4L19 10l-5.2 1.6L12 17l-1.8-5.4L5 10l5.2-1.6L12 3z" /></Icon>,
  Calendar:  (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 9h18M8 3v4M16 3v4" /></Icon>,
  Trophy:    (p) => <Icon {...p}><path d="M8 4h8v6a4 4 0 0 1-8 0V4z" /><path d="M8 6H5v2a3 3 0 0 0 3 3M16 6h3v2a3 3 0 0 1-3 3M10 14h4l-.5 4h-3l-.5-4zM9 20h6" /></Icon>,
  Lock:      (p) => <Icon {...p}><rect x="5" y="11" width="14" height="9" rx="1.5" /><path d="M8 11V8a4 4 0 1 1 8 0v3" /></Icon>,
};

window.Icon = Icon;
window.I = I;
