// Minimal line icon set — matched 1.5px stroke, 20px grid
const I = ({ children, size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
    {children}
  </svg>
);

const Icon = {
  Dashboard: (p) => <I {...p}><rect x="2.5" y="2.5" width="6" height="6" rx="1.2"/><rect x="11.5" y="2.5" width="6" height="6" rx="1.2"/><rect x="2.5" y="11.5" width="6" height="6" rx="1.2"/><rect x="11.5" y="11.5" width="6" height="6" rx="1.2"/></I>,
  Agents: (p) => <I {...p}><circle cx="10" cy="6" r="2.5"/><path d="M4.5 16c0-2.8 2.5-5 5.5-5s5.5 2.2 5.5 5"/></I>,
  Tasks: (p) => <I {...p}><path d="M3 5h14M3 10h14M3 15h9"/></I>,
  Org: (p) => <I {...p}><circle cx="10" cy="4" r="1.8"/><circle cx="4" cy="15" r="1.8"/><circle cx="10" cy="15" r="1.8"/><circle cx="16" cy="15" r="1.8"/><path d="M10 5.8V9m0 0H4v4.2m6-4.2v4.2m0-4.2h6v4.2"/></I>,
  Trading: (p) => <I {...p}><path d="M3 14l4-4 3 3 7-7"/><path d="M13 6h4v4"/></I>,
  Settings: (p) => <I {...p}><circle cx="10" cy="10" r="2.2"/><path d="M10 2.5v2M10 15.5v2M17.5 10h-2M4.5 10h-2M15.3 4.7l-1.4 1.4M6.1 13.9l-1.4 1.4M15.3 15.3l-1.4-1.4M6.1 6.1L4.7 4.7"/></I>,
  Search: (p) => <I {...p}><circle cx="9" cy="9" r="5.5"/><path d="M13.5 13.5L17 17"/></I>,
  Plus: (p) => <I {...p}><path d="M10 4v12M4 10h12"/></I>,
  ArrowRight: (p) => <I {...p}><path d="M4 10h12M12 6l4 4-4 4"/></I>,
  ArrowUp: (p) => <I {...p}><path d="M10 16V4M6 8l4-4 4 4"/></I>,
  ArrowDown: (p) => <I {...p}><path d="M10 4v12M6 12l4 4 4-4"/></I>,
  Play: (p) => <I {...p}><path d="M5 3.5l11 6.5-11 6.5V3.5z"/></I>,
  Pause: (p) => <I {...p}><rect x="5" y="4" width="3" height="12" rx="0.8"/><rect x="12" y="4" width="3" height="12" rx="0.8"/></I>,
  More: (p) => <I {...p}><circle cx="4" cy="10" r="1.2"/><circle cx="10" cy="10" r="1.2"/><circle cx="16" cy="10" r="1.2"/></I>,
  Eye: (p) => <I {...p}><path d="M1.5 10S4.5 4 10 4s8.5 6 8.5 6-3 6-8.5 6S1.5 10 1.5 10z"/><circle cx="10" cy="10" r="2.2"/></I>,
  EyeOff: (p) => <I {...p}><path d="M3 3l14 14M8 5.2A8.5 8.5 0 0110 5c5.5 0 8.5 6 8.5 6a14 14 0 01-2.4 3M11.5 14.8A8.5 8.5 0 0110 15c-5.5 0-8.5-6-8.5-6a14 14 0 012.8-3.5M8.2 8.2a2.5 2.5 0 003.6 3.6"/></I>,
  Cmd: (p) => <I {...p}><path d="M7 4a2 2 0 10-2 2h10a2 2 0 10-2-2v10a2 2 0 102-2H5a2 2 0 10 2 2V4z"/></I>,
  Check: (p) => <I {...p}><path d="M4 10.5l4 4 8-9"/></I>,
  Sun: (p) => <I {...p}><circle cx="10" cy="10" r="3"/><path d="M10 2v2M10 16v2M2 10h2M16 10h2M4.5 4.5l1.4 1.4M14.1 14.1l1.4 1.4M4.5 15.5l1.4-1.4M14.1 5.9l1.4-1.4"/></I>,
  Moon: (p) => <I {...p}><path d="M16 11.5A7 7 0 018.5 4a7 7 0 109.5 9.5 6 6 0 01-2 -2z"/></I>,
  Spark: (p) => <I {...p}><path d="M10 2l1.6 4.4L16 8l-4.4 1.6L10 14l-1.6-4.4L4 8l4.4-1.6L10 2z"/></I>,
  Bolt: (p) => <I {...p}><path d="M11 2L4 11h5l-1 7 7-9h-5l1-7z"/></I>,
  Shield: (p) => <I {...p}><path d="M10 2.5l6 2v4.5c0 4-2.6 7.4-6 8.5-3.4-1.1-6-4.5-6-8.5V4.5l6-2z"/></I>,
  Clock: (p) => <I {...p}><circle cx="10" cy="10" r="7"/><path d="M10 6v4l3 2"/></I>,
  Terminal: (p) => <I {...p}><rect x="2.5" y="3.5" width="15" height="13" rx="1.5"/><path d="M6 8l2.5 2L6 12M10.5 13H14"/></I>,
  Filter: (p) => <I {...p}><path d="M3 5h14l-5.5 7v4l-3-1.5V12L3 5z"/></I>,
};

window.Icon = Icon;
