// Inline SVG icons. Stroke-based, single-color (currentColor).
const Icon = ({ d, size = 18, stroke = 1.7, fill = "none", viewBox = "0 0 24 24", children, ...rest }) => (
  <svg width={size} height={size} viewBox={viewBox} fill={fill} stroke="currentColor"
       strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d ? <path d={d} /> : children}
  </svg>
);

const I = {
  Check: (p) => <Icon {...p} d="M5 12.5l4.5 4.5L19 7.5" />,
  CheckCircle: (p) => (
    <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M8 12.5l3 3 5-6" /></Icon>
  ),
  Shield: (p) => <Icon {...p} d="M12 3l8 3v6c0 5-3.5 8.3-8 9-4.5-.7-8-4-8-9V6l8-3z" />,
  ShieldCheck: (p) => (
    <Icon {...p}><path d="M12 3l8 3v6c0 5-3.5 8.3-8 9-4.5-.7-8-4-8-9V6l8-3z" /><path d="M8.5 12l2.5 2.5L16 9.5" /></Icon>
  ),
  Lock: (p) => (
    <Icon {...p}><rect x="4.5" y="11" width="15" height="10" rx="1.5" /><path d="M8 11V8a4 4 0 1 1 8 0v3" /></Icon>
  ),
  Truck: (p) => (
    <Icon {...p}><path d="M3 7h11v9H3z" /><path d="M14 10h4l3 3v3h-7" /><circle cx="7" cy="18" r="2" /><circle cx="17" cy="18" r="2" /></Icon>
  ),
  Coins: (p) => (
    <Icon {...p}><ellipse cx="8" cy="8" rx="5" ry="3" /><path d="M3 8v3c0 1.66 2.24 3 5 3" /><path d="M3 11v3c0 1.66 2.24 3 5 3" /><ellipse cx="16" cy="14" rx="5" ry="3" /><path d="M11 14v3c0 1.66 2.24 3 5 3s5-1.34 5-3v-3" /></Icon>
  ),
  Clock: (p) => (
    <Icon {...p}><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></Icon>
  ),
  Star: (p) => (
    <Icon {...p} fill="currentColor" stroke="none"
      d="M12 2.5l2.95 6 6.6.97-4.78 4.66 1.13 6.6L12 17.6l-5.9 3.1 1.13-6.6L2.45 9.47l6.6-.97L12 2.5z" />
  ),
  Plus: (p) => <Icon {...p} d="M5 12h14M12 5v14" />,
  X: (p) => <Icon {...p} d="M6 6l12 12M18 6L6 18" />,
  Upload: (p) => (
    <Icon {...p}><path d="M21 15v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3" /><path d="M7 9l5-5 5 5" /><path d="M12 4v12" /></Icon>
  ),
  Camera: (p) => (
    <Icon {...p}><path d="M4 8h3l2-3h6l2 3h3v11H4z" /><circle cx="12" cy="13" r="3.5" /></Icon>
  ),
  Sparkles: (p) => (
    <Icon {...p} d="M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3zM18 14l.9 2.4 2.6.9-2.6.9L18 21l-.9-2.8-2.6-.9 2.6-.9.9-2.4z" />
  ),
  Phone: (p) => (
    <Icon {...p} d="M21 17v3a1.5 1.5 0 0 1-1.6 1.5A18 18 0 0 1 3 6.6 1.5 1.5 0 0 1 4.5 5h3a1.5 1.5 0 0 1 1.5 1.3l.5 2.4a1.5 1.5 0 0 1-.4 1.4L8 11.3a14 14 0 0 0 5 5l1.3-1.2a1.5 1.5 0 0 1 1.4-.4l2.4.5A1.5 1.5 0 0 1 19.4 17H21z" />
  ),
  Bolt: (p) => <Icon {...p} d="M13 2L4 14h7l-1 8 9-12h-7l1-8z" />,
  ArrowRight: (p) => <Icon {...p} d="M5 12h14m-6-6l6 6-6 6" />,
  Award: (p) => (
    <Icon {...p}><circle cx="12" cy="9" r="6" /><path d="M8.5 13.5L7 21l5-3 5 3-1.5-7.5" /></Icon>
  ),
  Calculator: (p) => (
    <Icon {...p}><rect x="5" y="3" width="14" height="18" rx="2" /><path d="M8 7h8M8 11h2m3 0h3m-8 4h2m3 0h3m-8 3h2m3 0h3" /></Icon>
  ),
  Scale: (p) => (
    <Icon {...p}><path d="M12 3v18M5 21h14" /><path d="M6 6h12" /><path d="M3 13l3-7 3 7c0 1.66-1.34 3-3 3s-3-1.34-3-3z" /><path d="M15 13l3-7 3 7c0 1.66-1.34 3-3 3s-3-1.34-3-3z" /></Icon>
  ),
  Flame: (p) => (
    <Icon {...p}><path d="M12 22c3.86 0 7-3.13 7-7 0-2.5-1.5-4.5-3-6 0 2-1.5 3-3 3 0-3 1-5-2-8-1 4-5 5-5 11 0 3.87 3.14 7 6 7z" /></Icon>
  ),
  Bag: (p) => (
    <Icon {...p}><path d="M5 7h14l-1.2 13a2 2 0 0 1-2 1.8H8.2A2 2 0 0 1 6.2 20L5 7z" /><path d="M9 7V5a3 3 0 0 1 6 0v2" /></Icon>
  ),
  Doc: (p) => (
    <Icon {...p}><path d="M14 3H6a1.5 1.5 0 0 0-1.5 1.5v15A1.5 1.5 0 0 0 6 21h12a1.5 1.5 0 0 0 1.5-1.5V8.5L14 3z" /><path d="M14 3v5.5h5.5" /><path d="M8 13h8M8 17h6" /></Icon>
  ),
};

window.I = I;
