/* Lucide-style 2px stroke icons (ISC licensed paths), as lightweight React
   components so UI kits don't depend on a CDN at render time. */
const Ico = (paths, { fill = false } = {}) => function Icon({ size = 22, color = "currentColor", strokeWidth = 2, style, ...rest }) {
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill={fill ? color : "none"}
      stroke={fill ? "none" : color} strokeWidth={strokeWidth} strokeLinecap="round"
      strokeLinejoin="round" style={{ display: "block", flex: "0 0 auto", ...style }} {...rest}>
      {paths}
    </svg>
  );
};

const IconMenu      = Ico(<><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></>);
const IconArrowRight= Ico(<><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></>);
const IconArrowUp   = Ico(<><line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/></>);
const IconCheck     = Ico(<polyline points="20 6 9 17 4 12"/>);
const IconShield    = Ico(<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>);
const IconBolt      = Ico(<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>);
const IconChart     = Ico(<><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></>);
const IconFile      = Ico(<><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></>);
const IconMessage   = Ico(<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>);
const IconBell      = Ico(<><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.7 21a2 2 0 0 1-3.4 0"/></>);
const IconHome      = Ico(<><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></>);
const IconGrid      = Ico(<><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/></>);
const IconUser      = Ico(<><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></>);
const IconSearch    = Ico(<><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></>);
const IconChevDown  = Ico(<polyline points="6 9 12 15 18 9"/>);
const IconChevRight = Ico(<polyline points="9 6 15 12 9 18"/>);
const IconPhone     = Ico(<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/>);
const IconClock     = Ico(<><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 15 14"/></>);
const IconLock      = Ico(<><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></>);
const IconUpload    = Ico(<><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></>);
const IconStar      = Ico(<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>, { fill: true });
const IconLogout    = Ico(<><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></>);
const IconBank      = Ico(<><line x1="3" y1="22" x2="21" y2="22"/><line x1="6" y1="18" x2="6" y2="11"/><line x1="10" y1="18" x2="10" y2="11"/><line x1="14" y1="18" x2="14" y2="11"/><line x1="18" y1="18" x2="18" y2="11"/><polygon points="12 2 20 7 4 7 12 2"/></>);
const IconEuro      = Ico(<><path d="M14.5 4.5a6.5 6.5 0 1 0 0 15"/><line x1="4" y1="10" x2="13" y2="10"/><line x1="4" y1="14" x2="11" y2="14"/></>);
const IconPlus      = Ico(<><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></>);

Object.assign(window, {
  IconMenu, IconArrowRight, IconArrowUp, IconCheck, IconShield, IconBolt, IconChart,
  IconFile, IconMessage, IconBell, IconHome, IconGrid, IconUser, IconSearch,
  IconChevDown, IconChevRight, IconPhone, IconClock, IconLock, IconUpload, IconStar,
  IconLogout, IconBank, IconEuro, IconPlus,
});
