// Tiny inline icon set — stroke-based, 1.5px, 24×24, matches Geist/Linear feel.
// Pure SVG; no library.

const Icon = ({ d, size = 20, stroke = 1.6, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
    stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round"
    aria-hidden="true" {...rest}>
    {typeof d === "string" ? <path d={d} /> : d}
  </svg>
);

const IconArrow = (p) => <Icon {...p} d="M5 12h14M13 6l6 6-6 6" />;
const IconCheck = (p) => <Icon {...p} d="M4 12.5l5 5L20 7" />;
const IconAlert = (p) => <Icon {...p} d={
  <>
    <path d="M12 3l10 18H2L12 3z" />
    <path d="M12 10v5" />
    <circle cx="12" cy="18" r=".6" fill="currentColor" stroke="none" />
  </>
} />;
const IconShield = (p) => <Icon {...p} d={
  <>
    <path d="M12 3l8 3v6c0 4.5-3.4 8.5-8 9-4.6-.5-8-4.5-8-9V6l8-3z" />
    <path d="M9 12.5l2 2 4-4" />
  </>
} />;
const IconClipboard = (p) => <Icon {...p} d={
  <>
    <rect x="6" y="4" width="12" height="17" rx="2" />
    <path d="M9 4h6v3H9z" />
    <path d="M9 11h6M9 14h6M9 17h4" />
  </>
} />;
const IconWrench = (p) => <Icon {...p} d="M14.7 6.3a4 4 0 015.4 5.4l-2.1-2.1-2.6.7-.7 2.6 2.1 2.1a4 4 0 01-5.4-5.4l-7 7a2.1 2.1 0 003 3l7-7z" />;
const IconCog = (p) => <Icon {...p} d={
  <>
    <circle cx="12" cy="12" r="3.2" />
    <path d="M19.4 15a1.6 1.6 0 00.3 1.7l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.6 1.6 0 00-1.7-.3 1.6 1.6 0 00-1 1.5V21a2 2 0 01-4 0v-.1a1.6 1.6 0 00-1-1.5 1.6 1.6 0 00-1.7.3l-.1.1A2 2 0 014.6 17l.1-.1A1.6 1.6 0 005 15.3a1.6 1.6 0 00-1.5-1H3a2 2 0 010-4h.1a1.6 1.6 0 001.5-1A1.6 1.6 0 004.3 7.6l-.1-.1A2 2 0 017 4.6l.1.1a1.6 1.6 0 001.7.3H9a1.6 1.6 0 001-1.5V3a2 2 0 014 0v.1a1.6 1.6 0 001 1.5 1.6 1.6 0 001.7-.3l.1-.1a2 2 0 012.8 2.8l-.1.1a1.6 1.6 0 00-.3 1.7V9a1.6 1.6 0 001.5 1H21a2 2 0 010 4h-.1a1.6 1.6 0 00-1.5 1z" />
  </>
} />;
const IconFlame = (p) => <Icon {...p} d="M12 2c1 4 5 5 5 10a5 5 0 11-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-3-1-5 1-9z" />;
const IconDoor = (p) => <Icon {...p} d={
  <>
    <path d="M5 21V4a1 1 0 011-1h12a1 1 0 011 1v17" />
    <path d="M3 21h18" />
    <circle cx="15" cy="12" r=".7" fill="currentColor" stroke="none" />
  </>
} />;
const IconPhone = (p) => <Icon {...p} d="M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.3 1.8.6 2.6a2 2 0 01-.5 2.1L7.9 9.7a16 16 0 006.4 6.4l1.3-1.3a2 2 0 012.1-.5c.8.3 1.7.5 2.6.6a2 2 0 011.7 2z" />;
const IconMap = (p) => <Icon {...p} d={
  <>
    <path d="M9 3L3 5v16l6-2 6 2 6-2V3l-6 2-6-2z" />
    <path d="M9 3v16M15 5v16" />
  </>
} />;
const IconBolt = (p) => <Icon {...p} d="M13 2L4 14h6l-1 8 9-12h-6l1-8z" />;
const IconMenu = (p) => <Icon {...p} d="M4 7h16M4 12h16M4 17h16" />;
const IconClose = (p) => <Icon {...p} d="M6 6l12 12M18 6L6 18" />;
const IconPlus = (p) => <Icon {...p} d="M12 5v14M5 12h14" />;

Object.assign(window, {
  Icon, IconArrow, IconCheck, IconAlert, IconShield, IconClipboard, IconWrench, IconCog,
  IconFlame, IconDoor, IconPhone, IconMap, IconBolt, IconMenu, IconClose, IconPlus
});
