// Lucide-style stroke icons. Single-element function components.
const Icon = ({ d, size = 16, stroke = 1.6, fill = "none", style, ...rest }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size}
    viewBox="0 0 24 24" fill={fill} stroke="currentColor" strokeWidth={stroke}
    strokeLinecap="round" strokeLinejoin="round" style={style} {...rest}>
    {d}
  </svg>
);

const IcChevronDown = (p) => <Icon {...p} d={<path d="M6 9l6 6 6-6"/>} />;
const IcChevronLeft = (p) => <Icon {...p} d={<path d="M15 18l-6-6 6-6"/>} />;
const IcChevronRight = (p) => <Icon {...p} d={<path d="M9 18l6-6-6-6"/>} />;
const IcPlus = (p) => <Icon {...p} d={<><path d="M12 5v14"/><path d="M5 12h14"/></>} />;
const IcX = (p) => <Icon {...p} d={<><path d="M18 6L6 18"/><path d="M6 6l12 12"/></>} />;
const IcBell = (p) => <Icon {...p} d={<><path d="M6 8a6 6 0 0112 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 003.4 0"/></>} />;
const IcSwap = (p) => <Icon {...p} d={<><path d="M17 3l4 4-4 4"/><path d="M3 7h18"/><path d="M7 21l-4-4 4-4"/><path d="M21 17H3"/></>} />;
const IcEuro = (p) => <Icon {...p} d={<><path d="M18.5 4.5A8 8 0 008 6.5"/><path d="M18.5 19.5A8 8 0 018 17.5"/><path d="M3 10h11"/><path d="M3 14h9"/></>} />;
const IcCheck = (p) => <Icon {...p} d={<path d="M5 12.5l5 5 9-11"/>} />;
const IcCheckCircle = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M8 12.5l3 3 5-6"/></>} />;
const IcAlert = (p) => <Icon {...p} d={<><path d="M12 4l10 17H2L12 4z"/><path d="M12 10v5"/><path d="M12 18v.01"/></>} />;
const IcAlertCircle = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M12 8v5"/><path d="M12 16v.01"/></>} />;
const IcCalendar = (p) => <Icon {...p} d={<><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18"/><path d="M8 3v4"/><path d="M16 3v4"/></>} />;
const IcUser = (p) => <Icon {...p} d={<><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 4-7 8-7s8 3 8 7"/></>} />;
const IcLock = (p) => <Icon {...p} d={<><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V7a4 4 0 018 0v4"/></>} />;
const IcSchool = (p) => <Icon {...p} d={<><path d="M3 10l9-5 9 5-9 5-9-5z"/><path d="M7 12v5c0 1 2 2 5 2s5-1 5-2v-5"/></>} />;
const IcBeach = (p) => <Icon {...p} d={<><path d="M12 3v18"/><path d="M5 21h14"/><path d="M12 7l-5 4"/><path d="M12 7l5 4"/><path d="M12 7l0 5"/></>} />;
const IcDoc = (p) => <Icon {...p} d={<><path d="M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8z"/><path d="M14 3v5h5"/></>} />;
const IcMessage = (p) => <Icon {...p} d={<path d="M21 15a2 2 0 01-2 2H8l-4 4V5a2 2 0 012-2h13a2 2 0 012 2z"/>} />;
const IcSettings = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1.1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3h0a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5h0a1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8v0a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"/></>} />;
const IcFilter = (p) => <Icon {...p} d={<path d="M3 5h18l-7 9v6l-4-2v-4z"/>} />;
const IcActivity = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M9 9l6 6"/><path d="M15 9l-6 6"/></>} />;
const IcHome = (p) => <Icon {...p} d={<><path d="M3 11l9-7 9 7"/><path d="M5 10v10h14V10"/></>} />;
const IcClock = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>} />;
const IcMapPin = (p) => <Icon {...p} d={<><path d="M12 22s7-7 7-12a7 7 0 10-14 0c0 5 7 12 7 12z"/><circle cx="12" cy="10" r="2.5"/></>} />;
const IcUpload = (p) => <Icon {...p} d={<><path d="M12 16V4"/><path d="M7 9l5-5 5 5"/><path d="M5 20h14"/></>} />;
const IcHistory = (p) => <Icon {...p} d={<><path d="M3 12a9 9 0 109-9 9 9 0 00-7 3.5"/><path d="M3 4v4h4"/><path d="M12 7v5l3 2"/></>} />;
const IcSparkle = (p) => <Icon {...p} d={<path d="M12 3l1.6 5.4L19 10l-5.4 1.6L12 17l-1.6-5.4L5 10l5.4-1.6z"/>} />;
const IcSun = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="4"/><path d="M12 3v2"/><path d="M12 19v2"/><path d="M3 12h2"/><path d="M19 12h2"/><path d="M5.6 5.6l1.4 1.4"/><path d="M17 17l1.4 1.4"/><path d="M5.6 18.4l1.4-1.4"/><path d="M17 7l1.4-1.4"/></>} />;
const IcSearch = (p) => <Icon {...p} d={<><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></>} />;
const IcPhone = (p) => <Icon {...p} d={<path d="M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3 19.5 19.5 0 01-6-6 19.8 19.8 0 01-3-8.7A2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.3 1.7.6 2.5a2 2 0 01-.4 2.1L8 9.6a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.5c.8.3 1.6.5 2.5.6a2 2 0 011.7 2z"/>} />;
const IcDots = (p) => <Icon {...p} d={<><circle cx="12" cy="5" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="12" cy="19" r="1"/></>} />;
const IcSend = (p) => <Icon {...p} d={<><path d="M22 2L11 13"/><path d="M22 2l-7 20-4-9-9-4z"/></>} />;
const IcSmile = (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><path d="M9 9h.01"/><path d="M15 9h.01"/></>} />;
const IcAttach = (p) => <Icon {...p} d={<path d="M21 12.5l-8.5 8.5a5 5 0 11-7-7L13.5 5a3.5 3.5 0 014.9 4.9l-8.5 8.5a2 2 0 11-2.8-2.8L14.5 8"/>} />;
const IcShield = (p) => <Icon {...p} d={<path d="M12 3l8 3v6c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V6l8-3z"/>} />;
const IcRefresh = (p) => <Icon {...p} d={<><path d="M3 12a9 9 0 0115-6.7L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 01-15 6.7L3 16"/><path d="M3 21v-5h5"/></>} />;
const IcUsers = (p) => <Icon {...p} d={<><circle cx="9" cy="9" r="3.5"/><path d="M2 20c0-3.5 3-6 7-6s7 2.5 7 6"/><circle cx="17" cy="8" r="3"/><path d="M22 19c0-3-2.5-5-5-5"/></>} />;
const IcEye = (p) => <Icon {...p} d={<><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></>} />;
const IcDownload = (p) => <Icon {...p} d={<><path d="M12 4v12"/><path d="M7 11l5 5 5-5"/><path d="M5 20h14"/></>} />;
const IcEdit = (p) => <Icon {...p} d={<><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 113 3L7 19l-4 1 1-4z"/></>} />;
const IcLeaf = (p) => <Icon {...p} d={<><path d="M11 20A8 8 0 0119 12V4h-8a8 8 0 00-8 8c0 5 4 8 8 8z"/><path d="M11 12L4 19"/></>} />;

Object.assign(window, {
  Icon, IcChevronDown, IcChevronLeft, IcChevronRight, IcPlus, IcX, IcBell, IcSwap, IcEuro,
  IcCheck, IcCheckCircle, IcAlert, IcAlertCircle, IcCalendar, IcUser, IcLock, IcSchool,
  IcBeach, IcDoc, IcMessage, IcSettings, IcFilter, IcActivity, IcHome, IcClock, IcMapPin,
  IcUpload, IcHistory, IcSparkle, IcSun, IcSearch, IcPhone, IcDots, IcSend, IcSmile, IcAttach, IcShield, IcRefresh, IcUsers, IcEye, IcDownload, IcEdit, IcLeaf
});
