// Lightweight inline SVG icon set — outlined, 16px default, currentColor stroke.

const I = ({ children, size = 14, ...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>
);

const Icon = {
  mail: (p) => (
    <I {...p}>
      <rect x="3" y="5" width="18" height="14" rx="2.2" />
      <path d="M3.5 6.5l8.5 6 8.5-6" />
    </I>
  ),
  calendar: (p) => (
    <I {...p}>
      <rect x="3.5" y="5" width="17" height="15" rx="2" />
      <path d="M3.5 9.5h17" />
      <path d="M8 3.5v3M16 3.5v3" />
    </I>
  ),
  search: (p) => (
    <I {...p}>
      <circle cx="11" cy="11" r="6.5" />
      <path d="M20 20l-3.5-3.5" />
    </I>
  ),
  plus: (p) => (
    <I {...p}>
      <path d="M12 5v14M5 12h14" />
    </I>
  ),
  trash: (p) => (
    <I {...p}>
      <path d="M4 7h16" />
      <path d="M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7" />
      <path d="M6 7l1 12.2A2 2 0 0 0 9 21h6a2 2 0 0 0 2-1.8L18 7" />
      <path d="M10 11v6M14 11v6" />
    </I>
  ),
  spark: (p) => (
    <I {...p}>
      <path d="M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6z" />
      <path d="M19 16l.7 1.8L21.5 18.5l-1.8.7L19 21l-.7-1.8L16.5 18.5l1.8-.7z" />
    </I>
  ),
  refresh: (p) => (
    <I {...p}>
      <path d="M20 12a8 8 0 1 1-2.34-5.66" />
      <path d="M20 4v4h-4" />
    </I>
  ),
  paperclip: (p) => (
    <I {...p}>
      <path d="M21 11.5l-8.7 8.7a5 5 0 0 1-7.07-7.07L13.4 4.96a3.5 3.5 0 0 1 4.95 4.95L9.9 18.36a2 2 0 0 1-2.83-2.83L15 7.5" />
    </I>
  ),
  arrow: (p) => (
    <I {...p}>
      <path d="M5 12h14M13 6l6 6-6 6" />
    </I>
  ),
  check: (p) => (
    <I {...p}>
      <path d="M5 12.5l4.5 4.5L19 7.5" />
    </I>
  ),
  x: (p) => (
    <I {...p}>
      <path d="M6 6l12 12M18 6L6 18" />
    </I>
  ),
  chevron: (p) => (
    <I {...p}>
      <path d="M9 6l6 6-6 6" />
    </I>
  ),
  external: (p) => (
    <I {...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" />
    </I>
  ),
  filter: (p) => (
    <I {...p}>
      <path d="M4 5h16l-6 8v5l-4 2v-7z" />
    </I>
  ),
  info: (p) => (
    <I {...p}>
      <circle cx="12" cy="12" r="9" />
      <path d="M12 11v5M12 8.2v.01" />
    </I>
  ),
  bell: (p) => (
    <I {...p}>
      <path d="M6 9a6 6 0 1 1 12 0c0 5 2 6 2 6H4s2-1 2-6z" />
      <path d="M10 19a2 2 0 0 0 4 0" />
    </I>
  ),
  gear: (p) => (
    <I {...p}>
      <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.04 1.56V21a2 2 0 1 1-4 0v-.08a1.7 1.7 0 0 0-1.04-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.87 1.7 1.7 0 0 0-1.56-1.04H3a2 2 0 1 1 0-4h.08a1.7 1.7 0 0 0 1.56-1.04 1.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.34h.03a1.7 1.7 0 0 0 1.04-1.56V3a2 2 0 1 1 4 0v.08a1.7 1.7 0 0 0 1.04 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.87v.03c.27.61.85 1.02 1.51 1.04H21a2 2 0 1 1 0 4h-.08a1.7 1.7 0 0 0-1.52 1.04z" />
    </I>
  ),
};

Object.assign(window, { Icon });
