// Minimal Lucide-style line icons. All use stroke=currentColor, 1.5px.
const IconBase = ({ children, size = 16, className = "", style = {} }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
    fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"
    className={className} style={style}>
    {children}
  </svg>
);

const I = {
  home:     (p) => <IconBase {...p}><path d="M3 11.5 12 4l9 7.5"/><path d="M5 10v10h14V10"/></IconBase>,
  route:    (p) => <IconBase {...p}><circle cx="6" cy="19" r="2"/><circle cx="18" cy="5" r="2"/><path d="M8 19h5a4 4 0 0 0 0-8h-2a4 4 0 0 1 0-8h5"/></IconBase>,
  book:     (p) => <IconBase {...p}><path d="M4 4.5A2.5 2.5 0 0 1 6.5 2H20v18H6.5A2.5 2.5 0 0 0 4 22.5"/><path d="M4 4.5v18"/><path d="M8 7h8"/><path d="M8 11h6"/></IconBase>,
  pulse:    (p) => <IconBase {...p}><path d="M3 12h4l2-7 4 14 2-7h6"/></IconBase>,
  library:  (p) => <IconBase {...p}><rect x="4" y="4" width="4" height="16" rx="1"/><rect x="10" y="4" width="4" height="16" rx="1"/><path d="M16 5l4 14"/></IconBase>,
  award:    (p) => <IconBase {...p}><circle cx="12" cy="9" r="6"/><path d="M8.5 14l-2 7 5.5-3 5.5 3-2-7"/></IconBase>,
  user:     (p) => <IconBase {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></IconBase>,
  chevRight:(p) => <IconBase {...p}><path d="M9 6l6 6-6 6"/></IconBase>,
  chevLeft: (p) => <IconBase {...p}><path d="M15 6l-6 6 6 6"/></IconBase>,
  chevDown: (p) => <IconBase {...p}><path d="M6 9l6 6 6-6"/></IconBase>,
  play:     (p) => <IconBase {...p}><path d="M7 5v14l12-7z"/></IconBase>,
  playFill: (p) => <IconBase {...p}><path d="M7 5v14l12-7z" fill="currentColor"/></IconBase>,
  check:    (p) => <IconBase {...p}><path d="M4 12l5 5L20 6"/></IconBase>,
  checkCircle:(p) => <IconBase {...p}><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></IconBase>,
  circle:   (p) => <IconBase {...p}><circle cx="12" cy="12" r="9"/></IconBase>,
  clock:    (p) => <IconBase {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></IconBase>,
  search:   (p) => <IconBase {...p}><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></IconBase>,
  filter:   (p) => <IconBase {...p}><path d="M4 5h16"/><path d="M7 12h10"/><path d="M10 19h4"/></IconBase>,
  copy:     (p) => <IconBase {...p}><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></IconBase>,
  download: (p) => <IconBase {...p}><path d="M12 4v12"/><path d="M7 11l5 5 5-5"/><path d="M4 20h16"/></IconBase>,
  bell:     (p) => <IconBase {...p}><path d="M6 9a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 19a2 2 0 0 0 4 0"/></IconBase>,
  plus:     (p) => <IconBase {...p}><path d="M12 5v14M5 12h14"/></IconBase>,
  spark:    (p) => <IconBase {...p}><path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z"/></IconBase>,
  msg:      (p) => <IconBase {...p}><path d="M21 12a8 8 0 1 1-3-6.3L21 4l-1 4.2A8 8 0 0 1 21 12z"/></IconBase>,
  doc:      (p) => <IconBase {...p}><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/><path d="M9 13h6M9 17h4"/></IconBase>,
  tag:      (p) => <IconBase {...p}><path d="M3 12V4h8l10 10-8 8z"/><circle cx="8" cy="8" r="1.5"/></IconBase>,
  list:     (p) => <IconBase {...p}><path d="M4 6h16M4 12h16M4 18h10"/></IconBase>,
  logout:   (p) => <IconBase {...p}><path d="M10 4H5v16h5"/><path d="M15 8l4 4-4 4"/><path d="M9 12h10"/></IconBase>,
  settings: (p) => <IconBase {...p}><circle cx="12" cy="12" r="3"/><path d="M19 12l2-1-2-3-2 .5a7 7 0 0 0-1.5-.9L15 5h-6l-.5 2.6a7 7 0 0 0-1.5.9L5 8l-2 3 2 1c0 .7 0 1.3.2 2L3 15l2 3 2-.5c.5.4 1 .7 1.5.9L9 21h6l.5-2.6c.5-.2 1-.5 1.5-.9l2 .5 2-3-2-1c.2-.7.2-1.3 0-2z"/></IconBase>,
  menu:     (p) => <IconBase {...p}><path d="M4 7h16M4 12h16M4 17h16"/></IconBase>,
  // Sector icons (for playbooks)
  cart:     (p) => <IconBase {...p}><path d="M3 4h2l2 12h12l2-8H7"/><circle cx="9" cy="20" r="1.2"/><circle cx="17" cy="20" r="1.2"/></IconBase>,
  cloud:    (p) => <IconBase {...p}><path d="M7 18a5 5 0 0 1 .5-10 6 6 0 0 1 11.5 2 4 4 0 0 1 0 8z"/></IconBase>,
  cap:      (p) => <IconBase {...p}><path d="M3 9l9-4 9 4-9 4z"/><path d="M7 11v5c0 1.5 2.5 3 5 3s5-1.5 5-3v-5"/></IconBase>,
  bldg:     (p) => <IconBase {...p}><rect x="4" y="3" width="16" height="18" rx="1"/><path d="M9 8h2M13 8h2M9 12h2M13 12h2M9 16h2M13 16h2"/></IconBase>,
  whatsapp: (p) => <IconBase {...p}><path d="M20 12a8 8 0 1 1-3.5-6.6L20 4l-1.5 4A8 8 0 0 1 20 12z"/><path d="M9 10c0 3 2 5 5 5l1.5-1.5-2-1-1 1c-1 0-2-1-2-2l1-1-1-2z"/></IconBase>,
  shield:   (p) => <IconBase {...p}><path d="M12 3l8 3v6c0 5-4 8-8 9-4-1-8-4-8-9V6z"/></IconBase>,
  bars:     (p) => <IconBase {...p}><path d="M4 20V10M10 20V4M16 20v-8M22 20v-4"/></IconBase>,
  arrowUp:  (p) => <IconBase {...p}><path d="M12 19V5M6 11l6-6 6 6"/></IconBase>,
  arrowRight:(p) => <IconBase {...p}><path d="M5 12h14M13 6l6 6-6 6"/></IconBase>,
  ext:      (p) => <IconBase {...p}><path d="M14 4h6v6"/><path d="M20 4l-9 9"/><path d="M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/></IconBase>,
  flame:    (p) => <IconBase {...p}><path d="M12 3c1 3 5 5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3-1-4 0-7 1-9z"/></IconBase>,
  lock:     (p) => <IconBase {...p}><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></IconBase>,
};

Object.assign(window, { I, IconBase });
