// Icons — small crisp 16px line icons, drawn original.
const svg = (path, extra) => ({ size = 16, ...p } = {}) => (
  <svg viewBox="0 0 16 16" width={size} height={size} fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" {...p}>
    {path}
    {extra}
  </svg>
);

const IHome = svg(<><path d="M2.5 7L8 2.5 13.5 7v6.5H2.5z"/><path d="M6 13.5V9h4v4.5"/></>);
const IKey = svg(<><circle cx="5.5" cy="8" r="2.5"/><path d="M8 8h5.5M11.5 8v2M13.5 8v1.5"/></>);
const IShield = svg(<path d="M8 2l5 2v4.5c0 3-2 4.5-5 5.5-3-1-5-2.5-5-5.5V4z"/>);
const IWallet = svg(<><rect x="2" y="4" width="12" height="9" rx="1.5"/><path d="M2 7h12M11 10h1"/></>);
const IGraph = svg(<><path d="M2 13h12"/><path d="M4 11V7M7.5 11V4M11 11V9"/></>);
const IBook = svg(<><path d="M3 3h5c1 0 2 .5 2 2v8c0-1-1-1.5-2-1.5H3z"/><path d="M13 3H8c-1 0-2 .5-2 2v8c0-1 1-1.5 2-1.5h5z"/></>);
const IWebhook = svg(<><circle cx="5" cy="5" r="2"/><circle cx="11" cy="11" r="2"/><circle cx="11" cy="5" r="2"/><path d="M6.5 6.5l3 3"/></>);
const ILogs = svg(<><rect x="2.5" y="2.5" width="11" height="11" rx="1.5"/><path d="M5 6h6M5 8.5h6M5 11h3.5"/></>);
const IPolicy = svg(<><path d="M8 2l5 2v5c0 2.5-2 4-5 5-3-1-5-2.5-5-5V4z"/><path d="M6 8l1.5 1.5L10.5 7"/></>);
const IPeople = svg(<><circle cx="6" cy="6.5" r="2"/><path d="M2.5 13c.5-2 2-3 3.5-3s3 1 3.5 3"/><circle cx="11" cy="6" r="1.5"/><path d="M10.5 10h.5c1.5 0 2.5.8 3 2.5"/></>);
const ICog = svg(<><circle cx="8" cy="8" r="1.8"/><path d="M8 2v1.5M8 12.5V14M14 8h-1.5M3.5 8H2M12.3 3.7l-1 1M4.7 11.3l-1 1M12.3 12.3l-1-1M4.7 4.7l-1-1"/></>);
const ISearch = svg(<><circle cx="7" cy="7" r="4"/><path d="M10 10l3 3"/></>);
const ICommand = svg(<><rect x="3" y="3" width="10" height="10" rx="1.5"/><path d="M6 6l4 4M10 6l-4 4"/></>);
const IHelp = svg(<><circle cx="8" cy="8" r="6"/><path d="M6.5 6.5c0-1 .7-1.8 1.5-1.8s1.5.8 1.5 1.7c0 1-1 1.5-1.5 2v.3M8 11v.1"/></>);
const IBell = svg(<><path d="M4 7.5a4 4 0 1 1 8 0c0 3 1 4 1 4H3s1-1 1-4z"/><path d="M6.5 12.5c.2.8.8 1.3 1.5 1.3s1.3-.5 1.5-1.3"/></>);
const IPlus = svg(<path d="M8 3v10M3 8h10"/>);
const IChevron = svg(<path d="M6 4l4 4-4 4"/>);
const IChevronDown = svg(<path d="M4 6l4 4 4-4"/>);
const ICopy = svg(<><rect x="5" y="5" width="8" height="8" rx="1.2"/><path d="M3 11V4c0-.5.5-1 1-1h7"/></>);
const ICheck = svg(<path d="M3.5 8.5l3 3 6-7"/>);
const IEye = svg(<><path d="M1 8s2.5-4.5 7-4.5S15 8 15 8s-2.5 4.5-7 4.5S1 8 1 8z"/><circle cx="8" cy="8" r="2"/></>);
const IEyeOff = svg(<><path d="M3 3l10 10"/><path d="M6 5.5C6.6 5.2 7.3 5 8 5c4.5 0 7 4 7 4s-.6 1-1.7 2"/><path d="M11 11c-.8.5-1.8.8-3 .8C3.5 11.8 1 8 1 8s.9-1.5 2.4-2.8"/></>);
const IExternal = svg(<><path d="M6 3h7v7"/><path d="M13 3L7 9"/><path d="M13 9v4H3V3h4"/></>);
const IRefresh = svg(<><path d="M13 8a5 5 0 1 1-1.5-3.5"/><path d="M13 2v3h-3"/></>);
const IWarn = svg(<><path d="M8 2l6 11H2z"/><path d="M8 6v3.5M8 11.5v.1"/></>);
const IInfo = svg(<><circle cx="8" cy="8" r="6"/><path d="M8 7v4M8 4.8v.1"/></>);
const ITrash = svg(<><path d="M3 4h10"/><path d="M5 4V3c0-.5.5-1 1-1h4c.5 0 1 .5 1 1v1"/><path d="M4 4l.5 9c0 .6.5 1 1 1h5c.5 0 1-.4 1-1L12 4"/></>);
const IPasskey = svg(<><circle cx="5.5" cy="6.5" r="2.5"/><path d="M3 14c.5-1.5 1.5-2.5 2.5-2.5S8 12.5 8.5 14"/><circle cx="11.5" cy="5" r="1.5"/><path d="M11.5 7v4M10 9h3"/></>);
const IFingerprint = svg(<><path d="M4 10c0 1.5.5 3 .5 3"/><path d="M8 4.5c-3 0-5 2-5 4.5"/><path d="M13 9c0-3-2-5-5-5"/><path d="M8 7v3c0 2 1 3 1 3"/><path d="M10.5 13c.3-1 .5-2 .5-3"/><path d="M6 13c-.5-1-.5-2-.5-3 0-1.5 1-2.5 2.5-2.5s2.5 1 2.5 2.5"/></>);
const ILock = svg(<><rect x="3" y="7" width="10" height="7" rx="1.3"/><path d="M5 7V5a3 3 0 0 1 6 0v2"/></>);
const IMail = svg(<><rect x="2" y="3.5" width="12" height="9" rx="1.3"/><path d="M2.5 5l5.5 4 5.5-4"/></>);
const IGlobe = svg(<><circle cx="8" cy="8" r="6"/><path d="M2 8h12M8 2c2 2 2 10 0 12M8 2c-2 2-2 10 0 12"/></>);
const IArrow = svg(<><path d="M3 8h10"/><path d="M9 4l4 4-4 4"/></>);
const IMinus = svg(<path d="M3 8h10"/>);
const IRotate = svg(<><path d="M13 8a5 5 0 1 1-1.5-3.5"/><path d="M13 2v3h-3"/></>);
const IDownload = svg(<><path d="M8 2v9"/><path d="M4 7l4 4 4-4"/><path d="M3 13h10"/></>);
const ISliders = svg(<><path d="M3 5h10M3 8h10M3 11h10"/><circle cx="6" cy="5" r="1.2" fill="currentColor"/><circle cx="10" cy="8" r="1.2" fill="currentColor"/><circle cx="5" cy="11" r="1.2" fill="currentColor"/></>);
const IZap = svg(<path d="M9 2L3 9h4l-1 5 6-7H8z"/>);
const IX = svg(<path d="M3.5 3.5l9 9M12.5 3.5l-9 9"/>);
const IMenu = svg(<path d="M2 4h12M2 8h12M2 12h12"/>);
const IDots = svg(<><circle cx="4" cy="8" r="1" fill="currentColor"/><circle cx="8" cy="8" r="1" fill="currentColor"/><circle cx="12" cy="8" r="1" fill="currentColor"/></>);
const IOrg = svg(<><rect x="3" y="6" width="10" height="7.5" rx="1"/><path d="M5.5 13.5v-2M8 13.5v-2M10.5 13.5v-2"/><path d="M4.5 6V4c0-.5.5-1 1-1h5c.5 0 1 .5 1 1v2"/></>);

Object.assign(window, {
  IHome, IKey, IShield, IWallet, IGraph, IBook, IWebhook, ILogs, IPolicy, IPeople,
  ICog, ISearch, ICommand, IHelp, IBell, IPlus, IChevron, IChevronDown, ICopy, ICheck,
  IEye, IEyeOff, IExternal, IRefresh, IWarn, IInfo, ITrash, IPasskey, IFingerprint,
  ILock, IMail, IGlobe, IArrow, IMinus, IRotate, IDownload, ISliders, IZap, IX, IMenu, IDots, IOrg,
});
