// Lucide-style icons as plain React components. 16px default, currentColor stroke.
// 1.5px stroke weight matches shadcn/lucide convention.

const I = ({ children, size = 16, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round"
       {...rest}>{children}</svg>
);

window.Icons = {
  Dashboard:   (p)=> <I {...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"/></I>,
  Procurement: (p)=> <I {...p}><path d="M6 2l1.5 4h9L18 2"/><path d="M5 6h14l-1.4 12.2A2 2 0 0 1 15.6 20H8.4a2 2 0 0 1-2-1.8L5 6z"/><path d="M9 11h6"/></I>,
  Production:  (p)=> <I {...p}><path d="M2 20h20"/><path d="M4 20V10l4 3V10l5 4V10l5 4v6"/><path d="M9 16h.01M14 16h.01M19 16h.01"/></I>,
  Inventory:   (p)=> <I {...p}><path d="M21 8V21H3V8"/><path d="M1 3h22v5H1z"/><path d="M10 12h4"/></I>,
  Orders:      (p)=> <I {...p}><path d="M9 17a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM20 17a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"/><path d="M1 3h3l3 13h13l3-9H6"/></I>,
  Logistics:   (p)=> <I {...p}><path d="M1 5h13v11H1z"/><path d="M14 8h5l3 4v4h-8"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="19" r="2"/></I>,
  QC:          (p)=> <I {...p}><path d="M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z"/></I>,
  Maintenance: (p)=> <I {...p}><path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.7 2.7-2.6-2.6 2.7-2.7z"/></I>,
  Reports:     (p)=> <I {...p}><path d="M3 3v18h18"/><path d="M7 14l3-3 4 4 6-7"/></I>,
  Users:       (p)=> <I {...p}><circle cx="9" cy="8" r="4"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/><path d="M16 4a4 4 0 0 1 0 8M22 21v-1a6 6 0 0 0-4-5.65"/></I>,
  Mobile:      (p)=> <I {...p}><rect x="7" y="2" width="10" height="20" rx="2"/><path d="M11 18h2"/></I>,
  Tablet:      (p)=> <I {...p}><rect x="4" y="2" width="16" height="20" rx="2"/><path d="M11 18h2"/></I>,
  Search:      (p)=> <I {...p}><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></I>,
  Bell:        (p)=> <I {...p}><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10 21a2 2 0 0 0 4 0"/></I>,
  Plus:        (p)=> <I {...p}><path d="M12 5v14M5 12h14"/></I>,
  Check:       (p)=> <I {...p}><path d="M20 6L9 17l-5-5"/></I>,
  X:           (p)=> <I {...p}><path d="M18 6L6 18M6 6l12 12"/></I>,
  ChevronDown: (p)=> <I {...p}><path d="M6 9l6 6 6-6"/></I>,
  ChevronRight:(p)=> <I {...p}><path d="M9 6l6 6-6 6"/></I>,
  ChevronLeft: (p)=> <I {...p}><path d="M15 6l-6 6 6 6"/></I>,
  ArrowUp:     (p)=> <I {...p}><path d="M12 19V5M5 12l7-7 7 7"/></I>,
  ArrowDown:   (p)=> <I {...p}><path d="M12 5v14M5 12l7 7 7-7"/></I>,
  ArrowRight:  (p)=> <I {...p}><path d="M5 12h14M12 5l7 7-7 7"/></I>,
  ArrowLeft:   (p)=> <I {...p}><path d="M19 12H5M12 5l-7 7 7 7"/></I>,
  Filter:      (p)=> <I {...p}><path d="M3 4h18l-7 9v6l-4 2v-8z"/></I>,
  Download:    (p)=> <I {...p}><path d="M12 3v12M7 10l5 5 5-5"/><path d="M5 21h14"/></I>,
  Upload:      (p)=> <I {...p}><path d="M12 21V9M7 14l5-5 5 5"/><path d="M5 3h14"/></I>,
  Eye:         (p)=> <I {...p}><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z"/><circle cx="12" cy="12" r="3"/></I>,
  Edit:        (p)=> <I {...p}><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 1 1 3 3L7 19l-4 1 1-4z"/></I>,
  Trash:       (p)=> <I {...p}><path d="M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1.5 14a2 2 0 0 1-2 2H8.5a2 2 0 0 1-2-2L5 6"/></I>,
  More:        (p)=> <I {...p}><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></I>,
  Calendar:    (p)=> <I {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></I>,
  Clock:       (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></I>,
  Truck:       (p)=> <I {...p}><path d="M1 5h13v11H1z"/><path d="M14 8h5l3 4v4h-8"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="19" r="2"/></I>,
  Gate:        (p)=> <I {...p}><path d="M4 21V9"/><path d="M4 21h4"/><path d="M4 9h16v4H4z"/><path d="M8 9v4M12 9v4M16 9v4"/></I>,
  Leaf:        (p)=> <I {...p}><path d="M5 21c8 0 14-6 14-14V3h-4C7 3 1 9 1 17v4z"/><path d="M5 21S9 13 19 5"/></I>,
  Factory:     (p)=> <I {...p}><path d="M2 20h20"/><path d="M4 20V10l4 3V10l5 4V10l5 4v6"/><path d="M9 16h.01M14 16h.01M19 16h.01"/></I>,
  Drop:        (p)=> <I {...p}><path d="M12 2c-3 4-7 8-7 12a7 7 0 0 0 14 0c0-4-4-8-7-12z"/></I>,
  Warning:     (p)=> <I {...p}><path d="M12 2L1 21h22z"/><path d="M12 9v5M12 17h.01"/></I>,
  Info:        (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 8h.01M11 12h1v5h1"/></I>,
  CheckCircle: (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></I>,
  XCircle:     (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M15 9l-6 6M9 9l6 6"/></I>,
  Sun:         (p)=> <I {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"/></I>,
  Moon:        (p)=> <I {...p}><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></I>,
  Gauge:       (p)=> <I {...p}><path d="M12 14l3-3"/><circle cx="12" cy="14" r="8"/><path d="M5 14a7 7 0 0 1 14 0"/></I>,
  Box:         (p)=> <I {...p}><path d="M21 8V21H3V8"/><path d="M1 3h22v5H1z"/><path d="M10 12h4"/></I>,
  QR:          (p)=> <I {...p}><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/><path d="M14 14h3v3h-3zM18 18h3v3h-3z"/></I>,
  Phone:       (p)=> <I {...p}><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.97.36 1.92.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.89.34 1.84.57 2.81.7A2 2 0 0 1 22 16.92z"/></I>,
  Mail:        (p)=> <I {...p}><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M2 7l10 7 10-7"/></I>,
  Star:        (p)=> <I {...p}><path d="M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z"/></I>,
  Tag:         (p)=> <I {...p}><path d="M20 12l-8 8-9-9V3h8z"/><circle cx="7" cy="7" r="1.4"/></I>,
  Wallet:      (p)=> <I {...p}><path d="M3 7a2 2 0 0 1 2-2h13a1 1 0 0 1 1 1v2"/><path d="M3 7v10a2 2 0 0 0 2 2h14a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1H5"/><circle cx="17" cy="13" r="1.2"/></I>,
  Bolt:        (p)=> <I {...p}><path d="M13 2L4 14h7l-1 8 9-12h-7z"/></I>,
  Thermometer: (p)=> <I {...p}><path d="M14 14.76V3a2 2 0 0 0-4 0v11.76a4 4 0 1 0 4 0z"/></I>,
  Layers:      (p)=> <I {...p}><path d="M12 2L2 7l10 5 10-5z"/><path d="M2 17l10 5 10-5M2 12l10 5 10-5"/></I>,
  Settings:    (p)=> <I {...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 0 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.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.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.5V3a2 2 0 0 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.8 1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/></I>,
  Sparkles:    (p)=> <I {...p}><path d="M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5z"/><path d="M19 13l.7 2 2 .7-2 .7L19 18l-.7-1.6-2-.7 2-.7z"/></I>,
  Menu:        (p)=> <I {...p}><path d="M3 6h18M3 12h18M3 18h18"/></I>,
  PanelLeft:   (p)=> <I {...p}><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 3v18"/></I>,
  Home:        (p)=> <I {...p}><path d="M3 12l9-9 9 9"/><path d="M5 10v10h14V10"/></I>,
  Coin:        (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v10M9 10h4a2 2 0 1 1 0 4H9"/></I>,
  User:        (p)=> <I {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21v-1a8 8 0 0 1 16 0v1"/></I>,
  File:        (p)=> <I {...p}><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/></I>,
  Camera:      (p)=> <I {...p}><path d="M3 7h4l2-3h6l2 3h4v13H3z"/><circle cx="12" cy="13" r="4"/></I>,
  QR:          (p)=> <I {...p}><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/><path d="M14 14h3v3h-3zM18 18h3v3h-3z"/></I>,
  Warning:     (p)=> <I {...p}><path d="M12 2l11 19H1z"/><path d="M12 9v5M12 18h.01"/></I>,
  CheckCircle: (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></I>,
  Bolt:        (p)=> <I {...p}><path d="M13 2L4 14h7l-1 8 9-12h-7z"/></I>,
  Gauge:       (p)=> <I {...p}><circle cx="12" cy="13" r="9"/><path d="M12 13l5-4"/></I>,
  Box:         (p)=> <I {...p}><path d="M21 8V21H3V8"/><path d="M1 3h22v5H1z"/><path d="M10 12h4"/></I>,
  Star:        (p)=> <I {...p}><path d="M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z"/></I>,
  Mail:        (p)=> <I {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 7 9-7"/></I>,
  MapPin:      (p)=> <I {...p}><path d="M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11z"/><circle cx="12" cy="10" r="2.5"/></I>,
  Crosshair:   (p)=> <I {...p}><circle cx="12" cy="12" r="8"/><path d="M12 2v4M12 18v4M2 12h4M18 12h4"/></I>,
  HelpCircle:  (p)=> <I {...p}><circle cx="12" cy="12" r="9"/><path d="M9.2 9a2.8 2.8 0 0 1 5.4 1c0 1.8-2.6 2.2-2.6 4"/><path d="M12 17h.01"/></I>,
  Flag:        (p)=> <I {...p}><path d="M4 22V4"/><path d="M4 4h13l-2 4 2 4H4"/></I>,
  Handshake:   (p)=> <I {...p}><path d="M11 17l2 2a1.5 1.5 0 0 0 2-2"/><path d="M13 15l2.5 2.5a1.5 1.5 0 0 0 2-2L13 11"/><path d="M3 11l4-4 5 1 3 3"/><path d="M3 11l3 3M21 11l-3-4"/></I>,
  ClipboardList:(p)=> <I {...p}><rect x="8" y="2" width="8" height="4" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><path d="M9 12h6M9 16h4"/></I>,
};
