/* Inline 1.5px-stroke icons, ~lucide style. All accept `size` (defaults 18). */
const Ico = ({ size = 18, children, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"
       strokeLinejoin="round" {...rest}>{children}</svg>
);

const IconLogo = ({ size = 24 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" aria-hidden="true">
    {/* stylized hammer + book spine */}
    <rect x="3" y="4" width="14" height="16" rx="1.5" fill="currentColor" opacity=".18" />
    <path d="M3 4h14v16H3z M3 4v16" stroke="currentColor" strokeWidth="1.6" />
    <path d="M14 9.5l5.2-1.4M14 9.5l1.5 5.6 4.5-3.6-1.5-5.6-4.5 3.6z"
          stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round" />
  </svg>
);

const IconDash      = (p) => <Ico {...p}><path d="M3 12L12 4l9 8" /><path d="M5 10v10h14V10" /></Ico>;
const IconInvoice   = (p) => <Ico {...p}><path d="M6 3h9l4 4v14H6z" /><path d="M15 3v4h4" /><path d="M9 12h7M9 16h7M9 8h3" /></Ico>;
const IconJobs      = (p) => <Ico {...p}><rect x="3" y="7" width="18" height="13" rx="2" /><path d="M9 7V5a2 2 0 012-2h2a2 2 0 012 2v2" /><path d="M3 13h18" /></Ico>;
const IconExpenses  = (p) => <Ico {...p}><path d="M6 3h12v18l-3-2-3 2-3-2-3 2z" /><path d="M9 8h6M9 12h6M9 16h4" /></Ico>;
const IconReports   = (p) => <Ico {...p}><path d="M4 20V10M10 20V4M16 20v-8M22 20H2" /></Ico>;
const IconClients   = (p) => <Ico {...p}><circle cx="9" cy="9" r="3.2" /><path d="M3 20c.7-3.4 3.2-5 6-5s5.3 1.6 6 5" /><circle cx="17" cy="7" r="2.4" /><path d="M21 15c-.4-1.8-1.6-2.8-3.4-2.8" /></Ico>;
const IconTax       = (p) => <Ico {...p}><path d="M4 4h12l4 4v12H4z" /><path d="M16 4v4h4" /><path d="M8 18L18 8M9.5 11.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM16.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z" /></Ico>;
const IconDocuments = (p) => <Ico {...p}><path d="M14 3H6v18h12V8z" /><path d="M14 3v5h4" /></Ico>;
const IconSettings  = (p) => <Ico {...p}><circle cx="12" cy="12" r="3" /><path d="M19.4 15a1.7 1.7 0 00.4 1.9l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.9-.4 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.9.4l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.4-1.9 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-.4-1.9l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.9.4H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.9-.4l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.4 1.9V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z" /></Ico>;

const IconBell      = (p) => <Ico {...p}><path d="M6 8a6 6 0 0112 0c0 7 3 7 3 9H3c0-2 3-2 3-9z" /><path d="M10 21a2 2 0 004 0" /></Ico>;
const IconSearch    = (p) => <Ico {...p}><circle cx="11" cy="11" r="7" /><path d="m20 20-3.5-3.5" /></Ico>;
const IconChevDown  = (p) => <Ico {...p}><path d="m6 9 6 6 6-6" /></Ico>;
const IconChevRight = (p) => <Ico {...p}><path d="m9 6 6 6-6 6" /></Ico>;
const IconArrowUR   = (p) => <Ico {...p}><path d="M7 17 17 7M9 7h8v8" /></Ico>;
const IconArrowDR   = (p) => <Ico {...p}><path d="M7 7l10 10M17 9v8H9" /></Ico>;
const IconPlus      = (p) => <Ico {...p}><path d="M12 5v14M5 12h14" /></Ico>;
const IconDots      = (p) => <Ico {...p}><circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/></Ico>;
const IconCalendar  = (p) => <Ico {...p}><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 10h18M8 3v4M16 3v4" /></Ico>;
const IconAlert     = (p) => <Ico {...p}><circle cx="12" cy="12" r="9" /><path d="M12 8v5M12 16.5v.5" /></Ico>;
const IconCheck     = (p) => <Ico {...p}><path d="m5 12 4.5 4.5L19 7" /></Ico>;
const IconClose     = (p) => <Ico {...p}><path d="M6 6l12 12M18 6 6 18" /></Ico>;
const IconSend      = (p) => <Ico {...p}><path d="m4 12 17-8-8 17-2.5-6.5z" /></Ico>;
const IconDownload  = (p) => <Ico {...p}><path d="M12 4v12M6 12l6 6 6-6M4 20h16" /></Ico>;
const IconExternal  = (p) => <Ico {...p}><path d="M14 4h6v6M20 4 10 14M18 13v6H5V6h6" /></Ico>;
const IconFilter    = (p) => <Ico {...p}><path d="M4 5h16l-6 8v6l-4-2v-4z" /></Ico>;
const IconWallet    = (p) => <Ico {...p}><path d="M3 7h15a2 2 0 012 2v9a2 2 0 01-2 2H4a1 1 0 01-1-1z" /><path d="M3 7V5a1 1 0 011-1h12v3" /><circle cx="17" cy="13.5" r="1.2" fill="currentColor" stroke="none"/></Ico>;
const IconHammer    = (p) => <Ico {...p}><path d="M14 4l6 6-3 3-6-6 3-3z" /><path d="m11 7-7 7v4h4l7-7" /></Ico>;
const IconReceipt   = (p) => <Ico {...p}><path d="M5 3h14v18l-2-1.5L15 21l-3-1.5L9 21l-2-1.5L5 21z" /><path d="M8 8h8M8 12h8M8 16h5" /></Ico>;

Object.assign(window, {
  IconLogo, IconDash, IconInvoice, IconJobs, IconExpenses, IconReports,
  IconClients, IconTax, IconDocuments, IconSettings,
  IconBell, IconSearch, IconChevDown, IconChevRight, IconArrowUR, IconArrowDR,
  IconPlus, IconDots, IconCalendar, IconAlert, IconCheck, IconClose,
  IconSend, IconDownload, IconExternal, IconFilter, IconWallet, IconHammer, IconReceipt,
});
