// Minimal inline SVG icons matching lucide-react style (1.5 stroke, 24x24)
const Ic = ({ d, size = 16, className = "", stroke = "currentColor", fill = "none", strokeWidth = 1.75 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke={stroke} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" className={className}>{d}</svg>
);

const Icons = {
  Logo: ({ size = 22, className = "" }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" className={className}>
      <rect x="2" y="2" width="20" height="20" rx="5" fill="#17a2b8"/>
      <path d="M7 17V7M12 17V11M17 17V13" stroke="white" strokeWidth="2.25" strokeLinecap="round"/>
      <circle cx="17" cy="8" r="1.5" fill="white"/>
    </svg>
  ),
  Plus:        (p) => <Ic {...p} d={<><path d="M12 5v14M5 12h14"/></>} />,
  Search:      (p) => <Ic {...p} d={<><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></>} />,
  Settings:    (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .34 1.87l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.7 1.7 0 0 0-1.87-.34 1.7 1.7 0 0 0-1.03 1.56V21a2 2 0 0 1-4 0v-.09A1.7 1.7 0 0 0 9 19.4a1.7 1.7 0 0 0-1.87.34l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.7 1.7 0 0 0 .34-1.87 1.7 1.7 0 0 0-1.56-1.03H3a2 2 0 0 1 0-4h.09A1.7 1.7 0 0 0 4.6 9a1.7 1.7 0 0 0-.34-1.87l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.7 1.7 0 0 0 1.87.34H9a1.7 1.7 0 0 0 1-1.56V3a2 2 0 0 1 4 0v.09a1.7 1.7 0 0 0 1 1.56 1.7 1.7 0 0 0 1.87-.34l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.7 1.7 0 0 0-.34 1.87V9a1.7 1.7 0 0 0 1.56 1H21a2 2 0 0 1 0 4h-.09a1.7 1.7 0 0 0-1.56 1z"/></>} />,
  ChevronRight:(p) => <Ic {...p} d={<path d="m9 18 6-6-6-6"/>} />,
  ChevronDown: (p) => <Ic {...p} d={<path d="m6 9 6 6 6-6"/>} />,
  ChevronLeft: (p) => <Ic {...p} d={<path d="m15 18-6-6 6-6"/>} />,
  ArrowRight:  (p) => <Ic {...p} d={<><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></>} />,
  ArrowLeft:   (p) => <Ic {...p} d={<><path d="M19 12H5"/><path d="m12 19-7-7 7-7"/></>} />,
  Check:       (p) => <Ic {...p} d={<path d="M20 6 9 17l-5-5"/>} />,
  X:           (p) => <Ic {...p} d={<><path d="M18 6 6 18"/><path d="m6 6 12 12"/></>} />,
  Sparkles:    (p) => <Ic {...p} d={<><path d="M9.94 14.34 12 21l2.06-6.66L21 12.28l-6.94-2.06L12 3.56l-2.06 6.66L3 12.28z"/><path d="M19 4v3M21 5.5h-3M5 17v3M6.5 18.5h-3"/></>} />,
  Rocket:      (p) => <Ic {...p} d={<><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09Z"/><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2Z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/></>} />,
  FileText:    (p) => <Ic {...p} d={<><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"/><path d="M16 13H8M16 17H8M10 9H8"/></>} />,
  Folder:      (p) => <Ic {...p} d={<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/>} />,
  Clock:       (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></>} />,
  Globe:       (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></>} />,
  Calendar:    (p) => <Ic {...p} d={<><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></>} />,
  Layers:      (p) => <Ic {...p} d={<><path d="m12 2 9 5-9 5-9-5 9-5z"/><path d="m3 17 9 5 9-5"/><path d="m3 12 9 5 9-5"/></>} />,
  GripVertical:(p) => <Ic {...p} d={<><circle cx="9" cy="6" r="1"/><circle cx="9" cy="12" r="1"/><circle cx="9" cy="18" r="1"/><circle cx="15" cy="6" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="18" r="1"/></>} strokeWidth={2} />,
  Tag:         (p) => <Ic {...p} d={<><path d="M12.59 13.41 20 6V2h-4l-7.41 7.41a2 2 0 0 0 0 2.83l3.17 3.17a2 2 0 0 0 2.83 0z"/><path d="M7 11l-5 5a2 2 0 0 0 0 2.83l3.17 3.17a2 2 0 0 0 2.83 0L13 17"/></>} />,
  CircleCheck: (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></>} />,
  CircleAlert: (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></>} />,
  Loader:      (p) => <Ic {...p} d={<><path d="M21 12a9 9 0 1 1-6.219-8.56" opacity=".95"/></>} />,
  Download:    (p) => <Ic {...p} d={<><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="M7 10l5 5 5-5"/><path d="M12 15V3"/></>} />,
  Eye:         (p) => <Ic {...p} d={<><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/></>} />,
  Hourglass:   (p) => <Ic {...p} d={<><path d="M5 22h14M5 2h14M17 22v-4.17a2 2 0 0 0-.59-1.42L12 12l-4.41 4.41A2 2 0 0 0 7 17.83V22M7 2v4.17a2 2 0 0 0 .59 1.42L12 12l4.41-4.41A2 2 0 0 0 17 6.17V2"/></>} />,
  Type:        (p) => <Ic {...p} d={<><path d="M4 7V4h16v3M9 20h6M12 4v16"/></>} />,
  Bell:        (p) => <Ic {...p} d={<><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/></>} />,
  MoreH:       (p) => <Ic {...p} d={<><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></>} strokeWidth={2} />,
  Filter:      (p) => <Ic {...p} d={<path d="M22 3H2l8 9.46V19l4 2v-8.54z"/>} />,
  Refresh:     (p) => <Ic {...p} d={<><path d="M3 12a9 9 0 0 1 15-6.7L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-15 6.7L3 16"/><path d="M3 21v-5h5"/></>} />,
  Image:       (p) => <Ic {...p} d={<><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></>} />,
  UploadCloud: (p) => <Ic {...p} d={<><path d="M4 14.9A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.24"/><path d="M12 12v9"/><path d="m16 16-4-4-4 4"/></>} />,
  Trash:       (p) => <Ic {...p} d={<><path d="M3 6h18"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><path d="M10 11v6M14 11v6"/></>} />,
  LayoutGrid:  (p) => <Ic {...p} d={<><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></>} />,
};

window.Icons = Icons;
