// Lucide-style line icons, hand-drawn to spec. 24px viewBox, 1.6px stroke, currentColor.

const I = (paths, opts = {}) => ({ size = 20, color = 'currentColor', strokeWidth = 1.6, style = {} } = {}) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
    stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"
    style={style}>
    {paths}
  </svg>
);

const IconHome = I(<>
  <path d="M3 11l9-7 9 7v9a2 2 0 0 1-2 2h-3v-7H10v7H5a2 2 0 0 1-2-2v-9z"/>
</>);

const IconReceipt = I(<>
  <path d="M5 3h14v18l-3-2-2 2-2-2-2 2-2-2-3 2V3z"/>
  <path d="M8 8h8M8 12h8M8 16h5"/>
</>);

const IconSparkle = I(<>
  <path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8L12 3z"/>
  <path d="M19 16l.7 1.8L21.5 18.5 19.7 19.2 19 21l-.7-1.8L16.5 18.5 18.3 17.8 19 16z"/>
</>);

const IconLayers = I(<>
  <path d="M12 3l9 5-9 5-9-5 9-5z"/>
  <path d="M3 13l9 5 9-5"/>
  <path d="M3 17l9 5 9-5"/>
</>);

const IconUser = I(<>
  <circle cx="12" cy="8" r="4"/>
  <path d="M4 21c0-4 4-7 8-7s8 3 8 7"/>
</>);

const IconClover = I(<>
  <path d="M12 12c-1.5-3-4-3.5-5.5-2C5 11.5 5.5 14 8.5 15.5"/>
  <path d="M12 12c1.5-3 4-3.5 5.5-2C19 11.5 18.5 14 15.5 15.5"/>
  <path d="M12 12c-3-1.5-3.5-4-2-5.5C11.5 5 14 5.5 15.5 8.5"/>
  <path d="M12 12c-1.5 3-1 5.5.5 7 1.5-1.5 2-4 .5-7"/>
  <circle cx="12" cy="12" r="0.8" fill="currentColor"/>
</>);

const IconArrowRight = I(<><path d="M5 12h14M13 6l6 6-6 6"/></>);
const IconArrowLeft = I(<><path d="M19 12H5M11 6l-6 6 6 6"/></>);
const IconChevronRight = I(<><path d="M9 6l6 6-6 6"/></>);
const IconChevronDown = I(<><path d="M6 9l6 6 6-6"/></>);
const IconCheck = I(<><path d="M5 13l4 4L19 7"/></>);
const IconPlus = I(<><path d="M12 5v14M5 12h14"/></>);
const IconClose = I(<><path d="M6 6l12 12M18 6L6 18"/></>);
const IconSearch = I(<><circle cx="11" cy="11" r="7"/><path d="M20 20l-4-4"/></>);
const IconBell = I(<><path d="M6 9a6 6 0 0 1 12 0c0 7 3 7 3 9H3c0-2 3-2 3-9z"/><path d="M10 21a2 2 0 0 0 4 0"/></>);
const IconQR = I(<>
  <rect x="3" y="3" width="7" height="7" rx="1"/>
  <rect x="14" y="3" width="7" height="7" rx="1"/>
  <rect x="3" y="14" width="7" height="7" rx="1"/>
  <path d="M14 14h3v3M21 14v3M14 18v3h3M21 21h-3"/>
</>);
const IconCalendar = I(<>
  <rect x="3" y="5" width="18" height="16" rx="2"/>
  <path d="M3 10h18M8 3v4M16 3v4"/>
</>);
const IconMapPin = I(<><path d="M12 22s7-7 7-12a7 7 0 0 0-14 0c0 5 7 12 7 12z"/><circle cx="12" cy="10" r="2.5"/></>);
const IconPhone = I(<><path d="M5 4h4l2 5-3 2a12 12 0 0 0 5 5l2-3 5 2v4a2 2 0 0 1-2 2A18 18 0 0 1 3 6a2 2 0 0 1 2-2z"/></>);
const IconUpload = I(<><path d="M12 3v14"/><path d="M6 9l6-6 6 6"/><path d="M4 21h16"/></>);
const IconDownload = I(<><path d="M12 3v14"/><path d="M6 13l6 6 6-6"/><path d="M4 21h16"/></>);
const IconSettings = I(<>
  <circle cx="12" cy="12" r="3"/>
  <path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3h0a1.7 1.7 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.7 1.7 0 0 0 1 1.5h0a1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8v0a1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/>
</>);
const IconUsers = I(<>
  <circle cx="9" cy="8" r="3.5"/>
  <path d="M2 21c0-3.5 3-6 7-6s7 2.5 7 6"/>
  <path d="M16 4a3.5 3.5 0 0 1 0 7"/>
  <path d="M17 15c2.5.5 5 2.5 5 6"/>
</>);
const IconBranch = I(<>
  <rect x="3" y="9" width="18" height="12" rx="1.5"/>
  <path d="M7 9V5h10v4"/>
  <path d="M3 13h18M9 17h6"/>
</>);
const IconChart = I(<>
  <path d="M3 21h18"/>
  <rect x="5" y="12" width="3" height="7"/>
  <rect x="10.5" y="8" width="3" height="11"/>
  <rect x="16" y="4" width="3" height="15"/>
</>);
const IconFile = I(<><path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9l-6-6z"/><path d="M14 3v6h6"/></>);
const IconImage = I(<>
  <rect x="3" y="4" width="18" height="16" rx="2"/>
  <circle cx="9" cy="10" r="2"/>
  <path d="M21 16l-5-5-9 9"/>
</>);
const IconGift = I(<>
  <rect x="3" y="8" width="18" height="13" rx="1"/>
  <path d="M3 12h18M12 8v13"/>
  <path d="M8 8a3 3 0 1 1 4-3 3 3 0 1 1 4 3"/>
</>);
const IconStar = I(<>
  <path d="M12 3l2.7 6 6.3.9-4.5 4.4 1 6.2L12 17.7 6.5 20.5l1-6.2L3 9.9l6.3-.9L12 3z"/>
</>);
const IconLine = (props = {}) => (
  // simplified LINE glyph (no copyrighted mark — generic chat bubble with "L")
  <svg width={props.size || 20} height={props.size || 20} viewBox="0 0 24 24" fill="none">
    <path d="M12 3c5.5 0 10 3.5 10 8 0 4-3.5 7-8 7.6-.3 0-.6.2-.8.4l-2.7 2.5c-.3.3-.8 0-.8-.4v-2c0-.2-.1-.3-.3-.4C5 17.6 2 14.6 2 11c0-4.5 4.5-8 10-8z"
      fill="currentColor"/>
    <text x="12" y="14.5" textAnchor="middle" fontSize="7" fontWeight="700" fill="#fff" fontFamily="DM Sans, sans-serif">L</text>
  </svg>
);
const IconGoogle = (props = {}) => (
  <svg width={props.size || 20} height={props.size || 20} viewBox="0 0 24 24">
    <path d="M21.6 12.2c0-.8-.1-1.4-.2-2H12v3.9h5.4c-.2 1.3-1 2.3-2.1 3v2.5h3.4c2-1.8 3.2-4.5 3.2-7.4z" fill="#4285F4"/>
    <path d="M12 22c2.9 0 5.3-1 7-2.6l-3.4-2.5c-1 .6-2.2 1-3.6 1-2.8 0-5.1-1.9-5.9-4.4H2.5v2.6A10 10 0 0 0 12 22z" fill="#34A853"/>
    <path d="M6.1 13.5a6 6 0 0 1 0-3.8V7.1H2.5a10 10 0 0 0 0 9l3.6-2.6z" fill="#FBBC04"/>
    <path d="M12 5.8c1.6 0 3 .5 4.1 1.6l3-3A10 10 0 0 0 2.5 7.1l3.6 2.6C6.9 7.7 9.2 5.8 12 5.8z" fill="#EA4335"/>
  </svg>
);

Object.assign(window, {
  IconHome, IconReceipt, IconSparkle, IconLayers, IconUser, IconClover,
  IconArrowRight, IconArrowLeft, IconChevronRight, IconChevronDown,
  IconCheck, IconPlus, IconClose, IconSearch, IconBell, IconQR,
  IconCalendar, IconMapPin, IconPhone, IconUpload, IconDownload, IconSettings,
  IconUsers, IconBranch, IconChart, IconFile, IconImage, IconGift, IconStar,
  IconLine, IconGoogle,
});
