// Himma icons — minimal stroke set, 24x24 viewBox

const Ico = {};

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

// Nav + utility
mk('home',    <><path d="M3 10l9-7 9 7v10a1 1 0 01-1 1h-5v-7h-6v7H4a1 1 0 01-1-1V10z"/></>);
mk('assets',  <><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 10h18M8 4v16"/></>);
mk('chat',    <><path d="M4 5h16a1 1 0 011 1v10a1 1 0 01-1 1h-9l-5 4v-4H4a1 1 0 01-1-1V6a1 1 0 011-1z"/></>);
mk('tx',      <><path d="M4 8h14M14 4l4 4-4 4M20 16H6M10 20l-4-4 4-4"/></>);
mk('star',    <><path d="M12 3l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.8 6.2 20.9l1.1-6.5L2.6 9.8l6.5-.9L12 3z"/></>);
mk('plus',    <><path d="M12 5v14M5 12h14"/></>);
mk('minus',   <><path d="M5 12h14"/></>);
mk('check',   <><path d="M5 12l4 4 10-10"/></>);
mk('chevR',   <><path d="M9 6l6 6-6 6"/></>);
mk('chevL',   <><path d="M15 6l-6 6 6 6"/></>);
mk('chevD',   <><path d="M6 9l6 6 6-6"/></>);
mk('chevU',   <><path d="M6 15l6-6 6 6"/></>);
mk('arrowUR', <><path d="M7 17L17 7M9 7h8v8"/></>);
mk('arrowDR', <><path d="M7 7l10 10M9 17h8V9"/></>);
mk('sparkle', <><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5L18 18M6 18l2.5-2.5M15.5 8.5L18 6"/><circle cx="12" cy="12" r="2"/></>);
mk('send',    <><path d="M4 12l16-8-6 18-3-8-7-2z"/></>);
mk('filter',  <><path d="M3 5h18M6 12h12M10 19h4"/></>);
mk('search',  <><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></>);
mk('close',   <><path d="M6 6l12 12M18 6L6 18"/></>);
mk('dots',    <><circle cx="5" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/></>);
mk('bell',    <><path d="M18 16H6l1-2V10a5 5 0 0110 0v4l1 2zM10 19a2 2 0 004 0"/></>);
mk('lock',    <><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 018 0v3"/></>);
mk('shield',  <><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z"/></>);
mk('building',<><rect x="5" y="3" width="14" height="18" rx="1"/><path d="M9 7h2M9 11h2M9 15h2M13 7h2M13 11h2M13 15h2"/></>);
mk('coin',    <><circle cx="12" cy="12" r="8"/><path d="M12 7v10M9 9.5h4.5a1.5 1.5 0 010 3H10a1.5 1.5 0 000 3h5"/></>);
mk('chart',   <><path d="M4 20V8M10 20V4M16 20v-8M22 20H2"/></>);
mk('wallet',  <><rect x="3" y="6" width="18" height="14" rx="2"/><path d="M3 10h18M17 15h2"/></>);
mk('car',     <><path d="M5 16V11l2-4h10l2 4v5M5 16h14M5 16v2h2v-2M17 16v2h2v-2"/><circle cx="8" cy="13.5" r="0.5" fill="currentColor"/><circle cx="16" cy="13.5" r="0.5" fill="currentColor"/></>);
mk('gem',     <><path d="M6 3h12l3 5-9 13L3 8l3-5zM3 8h18M9 3l3 5 3-5M12 8v13"/></>);
mk('briefcase',<><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M8 7V5a2 2 0 012-2h4a2 2 0 012 2v2"/></>);
mk('download',<><path d="M12 4v12m-5-5l5 5 5-5M4 20h16"/></>);
mk('target',  <><circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="4"/><circle cx="12" cy="12" r="1" fill="currentColor"/></>);
mk('sparkles',<><path d="M5 3v4M3 5h4M18 14v6M15 17h6M11 4l2 5 5 2-5 2-2 5-2-5-5-2 5-2 2-5z"/></>);
mk('eye',     <><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></>);
mk('refresh', <><path d="M4 12a8 8 0 0114-5l2-2M20 12a8 8 0 01-14 5l-2 2M20 4v5h-5M4 20v-5h5"/></>);
mk('doc',     <><path d="M7 3h8l4 4v13a1 1 0 01-1 1H7a1 1 0 01-1-1V4a1 1 0 011-1zM14 3v5h5"/></>);

// Category dots (filled circles with glyphs for transactions)
mk('food',    <><path d="M6 3v8a3 3 0 003 3v7M9 3v8M6 3h3M18 3c-1.5 1.5-2 3-2 5v3h2v8"/></>);
mk('cart',    <><path d="M4 5h2l2 10h10l2-7H7M9 20a1 1 0 100-2 1 1 0 000 2zM17 20a1 1 0 100-2 1 1 0 000 2z"/></>);
mk('bolt',    <><path d="M13 3L4 14h7l-1 7 9-11h-7l1-7z"/></>);
mk('pluscircle', <><circle cx="12" cy="12" r="9"/><path d="M12 8v8M8 12h8"/></>);

Object.assign(window, { Ico });
