// Minimal icon set — stroke-based, 18px viewBox 24
const Icon = ({ d, size = 18, stroke = 1.6, style, className, fill = 'none' }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor"
       strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round"
       style={style} className={className}>
    {typeof d === 'string' ? <path d={d} /> : d}
  </svg>
);

const IC = {
  home:      <Icon d="M3 11.5L12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z" />,
  search:    <Icon d={<><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></>} />,
  bell:      <Icon d="M6 8a6 6 0 1 1 12 0c0 5 2 6 2 7H4c0-1 2-2 2-7Zm3 11a3 3 0 0 0 6 0" />,
  help:      <Icon d={<><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.7.4-1 .9-1 1.7v.5"/><circle cx="12" cy="17" r="0.6" fill="currentColor" strokeWidth="0"/></>} />,
  sparkles:  <Icon d={<><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M6 18l2.5-2.5M15.5 8.5 18 6"/></>} />,
  share:    <Icon d={<><circle cx="18" cy="5" r="2.5"/><circle cx="6" cy="12" r="2.5"/><circle cx="18" cy="19" r="2.5"/><path d="M8.2 10.8 15.8 6.5M8.2 13.2l7.6 4.3"/></>} />,
  comment:   <Icon d="M4 5h16v11H8l-4 4z" />,
  history:   <Icon d={<><path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l3 2"/></>} />,
  users:     <Icon d={<><circle cx="9" cy="8" r="3.5"/><path d="M2 20a7 7 0 0 1 14 0"/><circle cx="17" cy="9" r="2.5"/><path d="M22 19a5 5 0 0 0-6-4.9"/></>} />,
  plus:      <Icon d="M12 5v14M5 12h14" />,
  chevronR:  <Icon d="m9 6 6 6-6 6" />,
  chevronD:  <Icon d="m6 9 6 6 6-6" />,
  more:      <Icon d={<><circle cx="5" cy="12" r="1.3" fill="currentColor" strokeWidth="0"/><circle cx="12" cy="12" r="1.3" fill="currentColor" strokeWidth="0"/><circle cx="19" cy="12" r="1.3" fill="currentColor" strokeWidth="0"/></>} />,
  fileText:  <Icon d={<><path d="M6 3h9l4 4v14H6z"/><path d="M15 3v4h4M9 12h6M9 16h6M9 8h3"/></>} />,
  sheet:     <Icon d={<><rect x="4" y="4" width="16" height="16" rx="1"/><path d="M4 10h16M4 15h16M10 4v16M15 4v16"/></>} />,
  slides:    <Icon d={<><rect x="3" y="4" width="18" height="13" rx="1"/><path d="M12 17v3M8 20h8"/></>} />,
  pdf:       <Icon d={<><path d="M6 3h9l4 4v14H6z"/><path d="M15 3v4h4"/><text x="9" y="17.5" fontFamily="Inter" fontSize="5.5" fontWeight="700" stroke="none" fill="currentColor">PDF</text></>} />,
  notes:     <Icon d={<><path d="M4 4h13l3 3v13H4z"/><path d="M8 10h8M8 14h8M8 18h5"/></>} />,
  board:     <Icon d={<><rect x="3" y="4" width="18" height="14" rx="1"/><path d="M7 8h4v4H7zM13 8h4v3h-4zM13 13h4v2h-4z"/></>} />,
  db:        <Icon d={<><ellipse cx="12" cy="5.5" rx="8" ry="2.5"/><path d="M4 5.5v13c0 1.4 3.6 2.5 8 2.5s8-1.1 8-2.5v-13M4 12c0 1.4 3.6 2.5 8 2.5s8-1.1 8-2.5"/></>} />,
  ai:        <Icon d={<><path d="M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6z"/><path d="M18 15l.8 2.2L21 18l-2.2.8L18 21l-.8-2.2L15 18l2.2-.8z"/></>} />,
  admin:     <Icon d={<><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z"/><path d="m8.5 12 2.5 2.5L16 10"/></>} />,
  lock:      <Icon d={<><rect x="5" y="11" width="14" height="10" rx="1.5"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></>} />,
  check:     <Icon d="M4 12l5 5L20 6" />,
  clock:     <Icon d={<><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>} />,
  mic:       <Icon d={<><rect x="9" y="3" width="6" height="12" rx="3"/><path d="M5 11a7 7 0 0 0 14 0M12 18v3"/></>} />,
  send:      <Icon d="M4 4l17 8-17 8v-6l10-2-10-2z" />,
  wand:      <Icon d={<><path d="m3 21 12-12"/><path d="M15 9l3-3"/><path d="M6 3v3M4.5 4.5h3M18 15v3M16.5 16.5h3"/></>} />,
  translate: <Icon d={<><path d="M4 5h10M9 3v2M12 5s-1 6-4 8"/><path d="M4 9c2 3 6 6 10 6"/><path d="m13 21 4-10 4 10M14 18h6"/></>} />,
  copy:      <Icon d={<><rect x="8" y="8" width="12" height="12" rx="1.5"/><path d="M4 16V5a1 1 0 0 1 1-1h11"/></>} />,
  download:  <Icon d="M12 4v11m0 0-4-4m4 4 4-4M4 19h16" />,
  filter:    <Icon d="M4 5h16l-6 8v6l-4-2v-4z" />,
  sort:      <Icon d="M7 4v16m0 0-3-3m3 3 3-3M17 20V4m0 0-3 3m3-3 3 3" />,
  moon:      <Icon d="M20 15A8 8 0 0 1 9 4a8 8 0 1 0 11 11z" />,
  settings:  <Icon d={<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.9-.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.9.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-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 1.7 1.7 0 0 0-.3-1.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.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.9-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.9V9a1.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"/></>} />,
  arrowRight:<Icon d="M5 12h14m-4-5 5 5-5 5" />,
  arrowLeft: <Icon d="M19 12H5m4-5-5 5 5 5" />,
  eye:       <Icon d={<><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"/></>} />,
  play:      <Icon d="M6 4l14 8L6 20z" fill="currentColor" />,
  x:         <Icon d="M6 6l12 12M18 6 6 18" />,
  folder:    <Icon d="M3 6a1 1 0 0 1 1-1h5l2 2h9a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" />,
  tag:       <Icon d="M20 12 12 20l-8-8V4h8z M8 8v.01" />,
  bold:      <Icon d="M7 5h6a3 3 0 0 1 0 6H7zm0 6h7a3 3 0 0 1 0 6H7z" />,
  italic:    <Icon d="M10 4h8M6 20h8M14 4l-4 16" />,
  underline: <Icon d="M7 4v8a5 5 0 0 0 10 0V4M5 20h14" />,
  align:     <Icon d="M4 6h16M4 10h10M4 14h16M4 18h10" />,
  list:      <Icon d="M8 6h13M8 12h13M8 18h13M4 6h.01M4 12h.01M4 18h.01" />,
  link:      <Icon d="M10 14a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1M14 10a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1" />,
  image:     <Icon d={<><rect x="3" y="4" width="18" height="16" rx="1.5"/><circle cx="9" cy="10" r="2"/><path d="m3 18 5-5 4 4 3-3 6 5"/></>} />,
  table:     <Icon d={<><rect x="3" y="4" width="18" height="16" rx="1"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/></>} />,
  chart:     <Icon d="M4 20V8m6 12V4m6 16v-8m6 8v-4" />,
  formula:   <Icon d="M7 4h10c-1 0-2 1-2.5 3L11 20c-.5 2-1.5 3-2.5 3M6 10h9M9 15h6" />,
  penTool:   <Icon d="m12 2 4 4-8 8H4v-4zM14 6l4 4M11 13l3 3" />,
  eraser:    <Icon d="m6 20 8-8 6 6-8 8H8zM10 8l6 6" />,
  sticky:    <Icon d="M4 4h12l4 4v12H4z M16 4v4h4" />,
  frame:     <Icon d="M4 4h16v16H4z M8 4v16 M16 4v16 M4 8h16 M4 16h16" />,
  play2:     <Icon d="M7 4v16l13-8z" fill="currentColor" />,
  signature: <Icon d="M3 17c3 0 3-6 7-6s4 6 7 6M3 21h18" />,
  shieldCheck: <Icon d={<><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z"/><path d="m9 12 2.5 2.5L16 10"/></>} />,
  activity:  <Icon d="M3 12h4l3-8 4 16 3-8h4" />,
  building:  <Icon d={<><path d="M4 21V6l8-3 8 3v15M4 21h16M8 9v.01M12 9v.01M16 9v.01M8 13v.01M12 13v.01M16 13v.01M8 17v.01M12 17v.01M16 17v.01"/></>} />,
  cloud:     <Icon d="M7 18a5 5 0 1 1 1-9.9A6 6 0 0 1 20 12a4 4 0 0 1-2 7z" />,
  key:       <Icon d={<><circle cx="8" cy="14" r="4"/><path d="m11 11 9-9M17 4l3 3M14 7l3 3"/></>} />,
  scale:     <Icon d="M6 20h12M12 4v16M5 8h14l-3 8H8z M8 8V6a4 4 0 0 1 8 0v2" />,
  ashoka:   <svg viewBox="0 0 40 40" width="24" height="24">
    {Array.from({length: 24}).map((_,i)=>(
      <line key={i} x1="20" y1="20" x2="20" y2="3"
            transform={`rotate(${i*15} 20 20)`}
            stroke="currentColor" strokeWidth="1.4" strokeLinecap="round"/>
    ))}
    <circle cx="20" cy="20" r="3" fill="currentColor"/>
  </svg>,
};

window.IC = IC;
window.Icon = Icon;
