// fichaje.eu — Icons (lucide-style, 1.6 stroke, professional)
const Icon = ({ children, size = 18, strokeWidth = 1.7, style }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
    stroke="currentColor" strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"
    style={style}>{children}</svg>
);

const IHome = (p) => <Icon {...p}><path d="M3 10.5 12 3l9 7.5"/><path d="M5 9.5V20a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1V9.5"/></Icon>;
const IInbox = (p) => <Icon {...p}><path d="M3 13h4l2 3h6l2-3h4"/><path d="M5 5h14l2 8v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6Z"/></Icon>;
const ICalendar = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4"/></Icon>;
const ICompass = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="m15.5 8.5-2 5-5 2 2-5 5-2Z"/></Icon>;
const IShield = (p) => <Icon {...p}><path d="M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3Z"/><path d="m9 12 2 2 4-4"/></Icon>;
const ITimer = (p) => <Icon {...p}><circle cx="12" cy="13" r="8"/><path d="M12 9v4l2.5 2.5M9 3h6M5 6l2-2M19 6l-2-2"/></Icon>;
const IFile = (p) => <Icon {...p}><path d="M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8l-5-5Z"/><path d="M14 3v5h5M8 13h8M8 17h6"/></Icon>;
const ICheckSquare = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="3"/><path d="m8 12 3 3 5-6"/></Icon>;
const IUsers = (p) => <Icon {...p}><circle cx="9" cy="9" r="3.5"/><path d="M3 20c0-3.5 2.7-6 6-6s6 2.5 6 6"/><path d="M16 11a3 3 0 0 0 0-6"/><path d="M21 20c0-2.6-1.8-4.8-4.5-5.6"/></Icon>;
const ILayers = (p) => <Icon {...p}><path d="M12 3 2 8l10 5 10-5-10-5Z"/><path d="m2 13 10 5 10-5M2 18l10 5 10-5"/></Icon>;
const ILogIn = (p) => <Icon {...p}><path d="M14 3h5a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-5"/><path d="M10 17 15 12 10 7M3 12h12"/></Icon>;
const ISettings = (p) => <Icon {...p}><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.6 1.6 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.6 1.6 0 0 0-1.8-.3 1.6 1.6 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.6 1.6 0 0 0-1-1.5 1.6 1.6 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.6 1.6 0 0 0 .3-1.8 1.6 1.6 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.6 1.6 0 0 0 1.5-1 1.6 1.6 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.6 1.6 0 0 0 1.8.3H9a1.6 1.6 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.6 1.6 0 0 0 1 1.5 1.6 1.6 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.6 1.6 0 0 0-.3 1.8V9a1.6 1.6 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.6 1.6 0 0 0-1.5 1Z"/></Icon>;

const IPlay = (p) => <Icon {...p}><path d="M7 5v14l12-7L7 5Z"/></Icon>;
const IPause = (p) => <Icon {...p}><rect x="6" y="5" width="4" height="14" rx="1"/><rect x="14" y="5" width="4" height="14" rx="1"/></Icon>;
const IStop = (p) => <Icon {...p}><rect x="6" y="6" width="12" height="12" rx="2"/></Icon>;
const ICoffee = (p) => <Icon {...p}><path d="M4 8h13v6a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V8Z"/><path d="M17 10h2a2 2 0 0 1 0 4h-2M8 2v3M12 2v3M16 2v3"/></Icon>;
const IUtensils = (p) => <Icon {...p}><path d="M3 3v6a3 3 0 0 0 3 3v9M6 3v8M15 3c-2 0-3 1.5-3 4s1 4 3 4v9"/></Icon>;
const IChevronRight = (p) => <Icon {...p}><path d="m9 6 6 6-6 6"/></Icon>;
const IChevronLeft = (p) => <Icon {...p}><path d="m15 6-6 6 6 6"/></Icon>;
const IChevronDown = (p) => <Icon {...p}><path d="m6 9 6 6 6-6"/></Icon>;
const IPlus = (p) => <Icon {...p}><path d="M12 5v14M5 12h14"/></Icon>;
const ISearch = (p) => <Icon {...p}><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></Icon>;
const IBell = (p) => <Icon {...p}><path d="M6 8a6 6 0 1 1 12 0c0 6 2 7 2 7H4s2-1 2-7Z"/><path d="M10 19a2 2 0 0 0 4 0"/></Icon>;
const ICheck = (p) => <Icon {...p}><path d="m5 12 5 5 9-11"/></Icon>;
const IX = (p) => <Icon {...p}><path d="M6 6l12 12M18 6 6 18"/></Icon>;
const IMoreH = (p) => <Icon {...p}><circle cx="5" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/></Icon>;
const IFilter = (p) => <Icon {...p}><path d="M3 5h18l-7 9v6l-4-2v-4L3 5Z"/></Icon>;
const IDownload = (p) => <Icon {...p}><path d="M12 3v12M7 10l5 5 5-5M5 21h14"/></Icon>;
const IUpload = (p) => <Icon {...p}><path d="M12 21V9M7 14l5-5 5 5M5 3h14"/></Icon>;
const IEdit = (p) => <Icon {...p}><path d="M4 20h4l11-11-4-4L4 16v4Z"/><path d="m13 6 4 4"/></Icon>;
const ITrash = (p) => <Icon {...p}><path d="M4 7h16M10 7V4h4v3M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13"/></Icon>;
const IGift = (p) => <Icon {...p}><rect x="3" y="8" width="18" height="5" rx="1"/><path d="M4 13v8h16v-8M12 8v13M12 8s-3-5-5-5a2 2 0 0 0 0 5h5Zm0 0s3-5 5-5a2 2 0 0 1 0 5h-5Z"/></Icon>;
const IMapPin = (p) => <Icon {...p}><path d="M12 22s-7-6.5-7-12a7 7 0 1 1 14 0c0 5.5-7 12-7 12Z"/><circle cx="12" cy="10" r="2.5"/></Icon>;
const IBuilding = (p) => <Icon {...p}><rect x="4" y="3" width="16" height="18" rx="1.5"/><path d="M9 8h2M13 8h2M9 12h2M13 12h2M9 16h2M13 16h2"/></Icon>;
const IClock = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Icon>;
const ITrending = (p) => <Icon {...p}><path d="m3 17 6-6 4 4 8-8"/><path d="M14 7h7v7"/></Icon>;
const IPie = (p) => <Icon {...p}><path d="M12 3a9 9 0 1 0 9 9h-9V3Z"/><path d="M15 3a6 6 0 0 1 6 6h-6V3Z"/></Icon>;
const IBar = (p) => <Icon {...p}><path d="M3 21h18M6 17V9M11 17V5M16 17v-6M21 17v-3"/></Icon>;
const IPen = (p) => <Icon {...p}><path d="m3 21 4-1 11-11-3-3L4 17l-1 4Z"/><path d="m14 6 3 3"/></Icon>;
const IShieldCheck = IShield;
const ILock = (p) => <Icon {...p}><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 1 1 8 0v4"/></Icon>;
const IPhone = (p) => <Icon {...p}><path d="M5 4a2 2 0 0 1 2-2h2l2 5-2 1a11 11 0 0 0 5 5l1-2 5 2v2a2 2 0 0 1-2 2A15 15 0 0 1 5 4Z"/></Icon>;
const IMail = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></Icon>;
const IFlag = (p) => <Icon {...p}><path d="M5 21V4l9 2 5-1v10l-5 1-9-2"/></Icon>;
const IBriefcase = (p) => <Icon {...p}><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18"/></Icon>;
const IAward = (p) => <Icon {...p}><circle cx="12" cy="9" r="6"/><path d="m8 14-2 8 6-3 6 3-2-8"/></Icon>;
const IPaperclip = (p) => <Icon {...p}><path d="m21 11-9 9a5 5 0 0 1-7-7l9-9a3.5 3.5 0 0 1 5 5l-9 9a2 2 0 0 1-3-3l8-8"/></Icon>;
const ISend = (p) => <Icon {...p}><path d="m22 2-7 20-4-9-9-4 20-7Z"/></Icon>;
const IGlobe = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a13 13 0 0 1 0 18M12 3a13 13 0 0 0 0 18"/></Icon>;
const IMoon = (p) => <Icon {...p}><path d="M21 13A9 9 0 1 1 11 3a7 7 0 0 0 10 10Z"/></Icon>;
const ISun = (p) => <Icon {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></Icon>;
const ISparkle = (p) => <Icon {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M5.5 5.5l2.5 2.5M16 16l2.5 2.5M5.5 18.5 8 16M16 8l2.5-2.5"/></Icon>;
const IArrowRight = (p) => <Icon {...p}><path d="M5 12h14M13 5l7 7-7 7"/></Icon>;
const IArrowUpRight = (p) => <Icon {...p}><path d="M7 17 17 7M8 7h9v9"/></Icon>;
const IExternal = IArrowUpRight;
const IList = (p) => <Icon {...p}><path d="M8 6h13M8 12h13M8 18h13M4 6h.01M4 12h.01M4 18h.01"/></Icon>;
const IGrid = (p) => <Icon {...p}><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="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></Icon>;
const IFolder = (p) => <Icon {...p}><path d="M3 6a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6Z"/></Icon>;
const IZap = (p) => <Icon {...p}><path d="M13 2 4 14h7l-1 8 9-12h-7l1-8Z"/></Icon>;

Object.assign(window, {
  Icon, IHome, IInbox, ICalendar, ICompass, IShield, ITimer, IFile, ICheckSquare,
  IUsers, ILayers, ILogIn, ISettings, IPlay, IPause, IStop, ICoffee, IUtensils,
  IChevronRight, IChevronLeft, IChevronDown, IPlus, ISearch, IBell, ICheck, IX,
  IMoreH, IFilter, IDownload, IUpload, IEdit, ITrash, IGift, IMapPin, IBuilding,
  IClock, ITrending, IPie, IBar, IPen, IShieldCheck, ILock, IPhone, IMail,
  IFlag, IBriefcase, IAward, IPaperclip, ISend, IGlobe, IMoon, ISun, ISparkle,
  IArrowRight, IArrowUpRight, IExternal, IList, IGrid, IFolder, IZap,
});
