Aller au contenu principal
9+
Mise aux normes appartement T3 — Lefebvre
Rénovation électrique — Maison Rousseau Bordeaux
Agencement électrique — Pharmacie du Capitole
Installation neuve — Villa Maisons Vallée
Aménagement bureaux — Aubert Architectes
Restaurant « Le Garonne » — Cuisine pro & salle
Mise aux normes appartement T3 — Lefebvre
par Olivier Dubois· 3 tâches· 1 problème
Rénovation électrique — Maison Rousseau Bordeaux
par Julien Bernard· 2 tâches· 1 problème
Agencement électrique — Pharmacie du Capitole
par Antoine Simon· 1 tâche
3
0
0
Pharmacie Capitole : attendre le plan définitif des meubles réfrigérés avant de tirer les alims.
sam. 27 juin
Commander 3 différentiels Type F 4P pour la borne IRVE de la villa Maisons Vallée
sam. 27 juin
Rappeler le bureau de contrôle pour la visite Consuel — appartement Lefebvre (T3 Paris 08).
sam. 27 juin
Relancer Dupuis Immobilier pour valider le bilan de puissances de la cuisine du restaurant.
sam. 27 juin
Réception bureaux Aubert OK — penser à envoyer le DOE et l'attestation de conformité.
sam. 27 juin
4 conversations · 1 non lue
AS
Antoine Simon 2h
Les prises du séjour sont posées, je t'env…
CP
Camille Petit ven.
Mme Lefebvre valide le devis, on peut comm…
JB
Julien Bernard 4h
CR Rousseau envoyé — il manque les réfs de…
JB
Julien Bernard 21 mars
Oui prends tout le dossier, le client veut…
Projet Mise aux normes appartement T3 — Lefebvre
il y a 1 h · mis à jour
Projet Rénovation électrique — Maison Rousseau Bordeaux
il y a 18 h · mis à jour
CR sur Mise aux normes appartement T3 — Lefebvre
hier · par Olivier Dubois · 1 problème
CR sur Rénovation électrique — Maison Rousseau Bordeaux
il y a 3 j · par Julien Bernard · 1 problème (1 ouvert)
Projet Agencement électrique — Pharmacie du Capitole
il y a 4 j · mis à jour
CR sur Agencement électrique — Pharmacie du Capitole
sam. 4 juil. · par Antoine Simon
3
0
Projets Planning Rapports Nouveau projet
Projets actifs
6
Archives
Les projets archivés sont en lecture seule. Leur contenu (plans, schémas, tableaux, matériaux) est conservé intact.
Mise aux normes appartement T3 — Lefebvre Lefebvre Marie-Claire · Paris 08
OD Olivier Dubois (éditeur)
+ Progression 40%
Ouvrir
Aménagement bureaux — Aubert Architectes Aubert & Co Architectes · Paris 11
Progression 100%
Ouvrir
Rénovation électrique — Maison Rousseau Bordeaux Rousseau Patrick · Bordeaux Bastide
OD Olivier Dubois (éditeur)
+ Progression 70%
Ouvrir
Agencement électrique — Pharmacie du Capitole Pharmacie du Capitole · Toulouse Capitole
OD Olivier Dubois (éditeur)
+ Progression 25%
Ouvrir
Installation neuve — Villa Maisons Vallée Maisons Vallée SAS · Blagnac
Progression 5%
Ouvrir
Restaurant « Le Garonne » — Cuisine pro & salle Dupuis Immobilier · Toulouse Saint-Cyprien
Progression 0%
Ouvrir
Aucun projet pour le moment
Créez votre premier projet pour commencer à gérer vos installations électriques.
Créer un projet
RetourMise aux normes appartement T3 — Lefebvre
Modifier Éditeur Archiver ExporterÉquipe (4) Gérer
OD
Olivier Dubois
demo@ohmbase.fr
Admin CP
Camille Petit
demo@ohmbase.fr
Manager JB
Julien Bernard
demo@ohmbase.fr
Membre AS
Antoine Simon
demo@ohmbase.fr
Membre Collaborateurs (2) Ajouter
Monceau Gestion — Syndic
Monceau Gestion
06 00 00 00 00 demo@ohmbase.fr Paris 08
Atelier Brossard Architecture
Atelier Brossard
06 00 00 00 00 demo@ohmbase.fr Paris 11
Comptes-rendus (3)
Mise aux normes appartement T3 — Lefebvre
par Olivier Dubois· 3 tâches· 1 problème
Tâches
Saignées chambres + séjour terminées
Gaines ICTA tirées vers la GTL
Boîtes d'encastrement posées (28)
Notes
Saignées et gaines terminées dans les chambres et le séjour. Boîtes d'encastrement posées, on est dans les temps pour le tableau.
Problèmes
Doublage placo non prévu derrière la cuisine — passage revu par la plinthe
Mise aux normes appartement T3 — Lefebvre
par Julien Bernard· 2 tâches
Tâches
Protection sols et mobilier
Dépose des circuits vétustes
Notes
Appartement protégé, dépose complète des anciens circuits et de la filerie. Tableau à fusibles conservé provisoirement pour le chantier.
Mise aux normes appartement T3 — Lefebvre
par Olivier Dubois· 2 tâches
Tâches
Relevé complet de l'existant
Repérage des circuits au tableau
Notes
Diagnostic complet de l'installation d'origine (années 80) : tableau à fusibles, absence de terre dans les chambres, cuisine sous-dimensionnée. Mise aux normes complète validée avec Mme Lefebvre.
A&
Aubert & Co Architectes
Aubert & Co
demo@ohmbase.fr
06 00 00 00 00
Paris
1 projet
demo@ohmbase.fr
06 00 00 00 00
Nice
0 projet
CP
Chevalier Promotions
Chevalier Promotions SAS
demo@ohmbase.fr
06 00 00 00 00
Lyon
0 projet
demo@ohmbase.fr
06 00 00 00 00
Lyon
0 projet
DI
Dupuis Immobilier
Dupuis Immobilier SARL
demo@ohmbase.fr
06 00 00 00 00
Marseille
1 projet
FR
Fontaine Résidences
Fontaine Résidences SA
demo@ohmbase.fr
06 00 00 00 00
Paris
0 projet
demo@ohmbase.fr
06 00 00 00 00
Nantes
0 projet
demo@ohmbase.fr
06 00 00 00 00
Lille
0 projet
LC
Laurent Christophe
Bâti Laurent
demo@ohmbase.fr
06 00 00 00 00
Montpellier
0 projet
demo@ohmbase.fr
06 00 00 00 00
Bordeaux
0 projet
demo@ohmbase.fr
06 00 00 00 00
Paris
1 projet
demo@ohmbase.fr
06 00 00 00 00
Rouen
0 projet
MV
Maisons Vallée SAS
Maisons Vallée SAS
demo@ohmbase.fr
06 00 00 00 00
Blagnac
1 projet
MS
Martin Sophie
Martin & Fils SARL
demo@ohmbase.fr
06 00 00 00 00
Marseille
0 projet
demo@ohmbase.fr
06 00 00 00 00
Rennes
0 projet
demo@ohmbase.fr
06 00 00 00 00
Grenoble
0 projet
demo@ohmbase.fr
06 00 00 00 00
Tours
0 projet
PC
Petit Construction
Petit Construction SAS
demo@ohmbase.fr
06 00 00 00 00
Villeurbanne
0 projet
PD
Pharmacie du Capitole
SELARL Pharmacie du Capitole
demo@ohmbase.fr
06 00 00 00 00
Toulouse
1 projet
demo@ohmbase.fr
06 00 00 00 00
Toulouse
0 projet
demo@ohmbase.fr
06 00 00 00 00
Bordeaux
1 projet
demo@ohmbase.fr
06 00 00 00 00
Strasbourg
0 projet
demo@ohmbase.fr
06 00 00 00 00
Toulouse
0 projet
v625
Mise aux normes appartement T3 — Lefebvre Lefebvre Marie-Claire · Paris 08
11/07/2026 · 234 éléments
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir Voir
v320
Agencement électrique — Pharmacie du Capitole Pharmacie du Capitole · Toulouse Capitole
07/07/2026 · 334 éléments
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir Voir
v34
Rénovation électrique — Maison Rousseau Bordeaux Rousseau Patrick · Bordeaux Bastide
07/07/2026 · 22 éléments
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir Voir
Lecture seule
Restaurant « Le Garonne » — Cuisine pro & salle Dupuis Immobilier · Toulouse Saint-Cyprien
27/06/2026 · 0 éléments
leon dupont
Voir
Lecture seule
Installation neuve — Villa Maisons Vallée Maisons Vallée SAS · Blagnac
27/06/2026 · 0 éléments
Julien Bernard
Voir
Lecture seule
Aménagement bureaux — Aubert Architectes Aubert & Co Architectes · Paris 11
27/06/2026 · 0 éléments
Antoine Simon
Voir
Aucun plan
Les plans se créent depuis un projet. Ouvrez un projet pour y ajouter un plan.
Dessin
ZONE
Lien électrique
Lien fonctionnel
Analyse
Arborescence
Vérif.
0, 0
Mode tampon · 0 posé(s) · Echap pour quitter
Nouveau plan
0 objets | 1200 x 800
Sauvegarder le plan
×
Projet *
Selectionner un projet
Nom du plan *
Description
Annuler
Sauvegarder
Aucun tableau electrique
Les tableaux se génèrent depuis un projet (à partir du schéma électrique). Ouvrez un projet pour créer son tableau.
Mise aux normes appartement T3 — Lefebvre Lefebvre Marie-Claire · Paris 08
OD Olivier Dubois (éditeur)
Olivier Dubois
Ouvrir
Aménagement bureaux — Aubert Architectes Aubert & Co Architectes · Paris 11
Antoine Simon
Voir
Rénovation électrique — Maison Rousseau Bordeaux Rousseau Patrick · Bordeaux Bastide
OD Olivier Dubois (éditeur)
Olivier Dubois
Ouvrir
Agencement électrique — Pharmacie du Capitole Pharmacie du Capitole · Toulouse Capitole
OD Olivier Dubois (éditeur)
Olivier Dubois
Ouvrir
Installation neuve — Villa Maisons Vallée Maisons Vallée SAS · Blagnac
Julien Bernard
Voir
Restaurant « Le Garonne » — Cuisine pro & salle Dupuis Immobilier · Toulouse Saint-Cyprien
leon dupont
Voir
Retour
Principal
Tableau libre
Exporter PDF
Étiquettes
Circuits du tableau
Pos.
Designation
Type
Protection
Section
Piece
Phase
Référence
Actions
Aucun circuit configure
Generer un tableau depuis un projet
×
Projet source *
Selectionner un projet Restaurant « Le Garonne » — Cuisine pro & salle Installation neuve — Villa Maisons Vallée Agencement électrique — Pharmacie du Capitole Mise aux normes appartement T3 — Lefebvre Rénovation électrique — Maison Rousseau Bordeaux Aménagement bureaux — Aubert Architectes
Nom du tableau
Annuler
Generer
Ajouter un circuit existant
×
Pour créer un nouveau disjoncteur, cliquez directement sur une case vide du tableau.
Circuit du projet
Selectionner un circuit
Position dans le tableau
Annuler
Ajouter
SKU Article Catégorie Emplacement Stock Seuil Actions REF-0068 Ampoule LED E27 9W équivalent 60W Éclairage Étagère F3 14 pièce 25 pièce REF-0069 Ampoule LED GU10 5W Éclairage Étagère F3 78 pièce 20 pièce REF-0064 Applique murale extérieure LED Éclairage Étagère F2 17 pièce 5 pièce REF-0088 Barrette de connexion 10mm² (boîte 100) Connectique Établi 12 boîte 3 boîte REF-0083 Bloc autonome éclairage sécurité Sécurité Étagère H1 10 pièce 4 pièce REF-0086 Borne Wago 3 entrées (boîte 100) Connectique Établi 24 boîte 6 boîte REF-0087 Borne Wago 5 entrées (boîte 50) Connectique Établi 18 boîte 5 boîte REF-0108 Borne de recharge VE 11kW triphasé IRVE Dépôt D1 2 pièce 1 pièce REF-0107 Borne de recharge VE 7.4kW monophasé IRVE Dépôt D1 3 pièce 1 pièce REF-0049 Bornier de terre 12 connexions Tableaux Dépôt A3 12 pièce 4 pièce REF-0039 Bouton-poussoir blanc Odace Interrupteurs Étagère D1 30 pièce 8 pièce REF-0053 Boîte DCL plafond Boîtes Étagère E1 108 pièce 30 pièce REF-0051 Boîte d'encastrement double Ø67 Boîtes Étagère E1 85 pièce 20 pièce REF-0052 Boîte d'encastrement triple Ø67 Boîtes Étagère E1 35 pièce 10 pièce REF-0050 Boîte d'encastrement Ø67 prof 40mm Boîtes Étagère E1 165 pièce 50 pièce REF-0054 Boîte de dérivation Ø100 étanche Boîtes Étagère E2 51 pièce 15 pièce REF-0120 Chatterton tissu 19mm Consommables Établi 300 pièce 5 pièce REF-0097 Cheville Molly M5 (boîte 100) Consommables Établi 15 boîte 4 boîte REF-0116 Coffret 1 rangée 13 modules Tableaux Dépôt A3 10 pièce 2 pièce REF-0045 Coffret 2 rangées 26 modules Tableaux Dépôt A3 4 pièce 2 pièce REF-0043 Coffret 3 rangées 39 modules Tableaux Dépôt A3 198 pièce 2 pièce REF-0044 Coffret 4 rangées 52 modules Tableaux Dépôt A3 4 pièce 2 pièce REF-0111 Coffret AC solaire prêt à poser Photovoltaïque Dépôt D1 3 pièce 1 pièce REF-0046 Coffret de communication grade 3 RJ45 Tableaux Dépôt A3 4 pièce 2 pièce REF-0095 Collier Colson nylon 200mm noir Consommables Établi 40 sachet 10 sachet REF-0072 Contacteur jour/nuit 25A Domotique Étagère G1 10 pièce 3 pièce REF-0089 Cosse faston femelle isolée rouge Connectique Établi 16 sachet 4 sachet REF-0075 Coupleur/actionneur KNX 4 sorties Domotique Étagère G2 102 pièce 2 pièce REF-0020 Câble H07V-U 1.5mm² bleu Câbles Dépôt B2 540 m 150 m REF-0019 Câble H07V-U 1.5mm² rouge Câbles Dépôt B2 540 m 150 m REF-0021 Câble H07V-U 1.5mm² vert/jaune Câbles Dépôt B2 500 m 150 m REF-0023 Câble H07V-U 2.5mm² bleu Câbles Dépôt B2 380 m 100 m REF-0022 Câble H07V-U 2.5mm² rouge Câbles Dépôt B2 380 m 100 m REF-0024 Câble H07V-U 2.5mm² vert/jaune Câbles Dépôt B2 350 m 100 m REF-0025 Câble RJ45 cat 6a U/FTP LSZH Câbles Dépôt B3 160 m 50 m REF-0013 Câble U-1000 R2V 3G1.5mm² Câbles Dépôt B1 790 m 200 m REF-0115 Câble U-1000 R2V 3G10mm² Câbles Dépôt B1 1035 m 80 m REF-0014 Câble U-1000 R2V 3G2.5mm² Câbles Dépôt B1 915 m 300 m REF-0015 Câble U-1000 R2V 3G4mm² Câbles Dépôt B1 380 m 100 m REF-0016 Câble U-1000 R2V 3G6mm² Câbles Dépôt B1 180 m 50 m REF-0017 Câble U-1000 R2V 5G1.5mm² Câbles Dépôt B1 240 m 60 m REF-0018 Câble U-1000 R2V 5G2.5mm² Câbles Dépôt B1 320 m 80 m REF-0080 Câble brassage RJ45 cat 6a 0.5m jaune VDI Dépôt VDI 60 pièce 15 pièce REF-0081 Câble brassage RJ45 cat 6a 1m bleu VDI Dépôt VDI 40 pièce 10 pièce REF-0106 Câble chauffant plancher 10m² Chauffage Étagère I2 6 pièce 2 pièce REF-0026 Câble coaxial TV KX6 Câbles Dépôt B3 150 m 30 m REF-0109 Câble recharge VE 5m type 2 IRVE Dépôt D1 4 pièce 2 pièce REF-0112 Câble solaire 6mm² rouge (touret 50m) Photovoltaïque Dépôt D1 4 pièce 1 pièce REF-0010 Disjoncteur 2A courbe C Disjoncteurs Dépôt A2 15 pièce 4 pièce REF-0012 Disjoncteur différentiel ph+N 16A 30mA A Disjoncteurs Dépôt A2 10 pièce 3 pièce REF-0006 Disjoncteur ph+N 10A courbe C Disjoncteurs Dépôt A2 36 pièce 12 pièce REF-0007 Disjoncteur ph+N 16A courbe C Disjoncteurs Dépôt A2 -2 pièce 15 pièce REF-0008 Disjoncteur ph+N 20A courbe C Disjoncteurs Dépôt A2 38 pièce 10 pièce REF-0113 Disjoncteur ph+N 25A courbe C Disjoncteurs Dépôt A2 3 pièce 5 pièce REF-0009 Disjoncteur ph+N 32A courbe C Disjoncteurs Dépôt A2 17 pièce 6 pièce REF-0011 Disjoncteur tétrapolaire 32A courbe D Disjoncteurs Dépôt A2 6 pièce 2 pièce REF-0038 Double va-et-vient blanc Odace Interrupteurs Étagère D1 22 pièce 6 pièce REF-0082 Détecteur autonome de fumée DAAF Sécurité Étagère H1 29 pièce 10 pièce REF-0042 Détecteur de présence 360° plafond Interrupteurs Étagère D2 8 pièce 2 pièce REF-0090 Embout de câblage 1.5mm² (boîte 100) Connectique Établi 28 boîte 8 boîte REF-0091 Embout de câblage 2.5mm² (boîte 100) Connectique Établi 22 boîte 6 boîte REF-0092 Embout de câblage 4mm² (boîte 100) Connectique Établi 14 boîte 4 boîte REF-0118 Fusible cartouche 10x38 16A Connectique Établi 1 sachet 4 sachet REF-0060 Gaine ICTA Ø16 rouge (touret 100m) Gaines Dépôt C2 8 pièce 3 pièce REF-0058 Gaine ICTA Ø20 grise (touret 25m) Gaines Dépôt C2 18 pièce 6 pièce REF-0059 Gaine ICTA Ø25 grise (touret 25m) Gaines Dépôt C2 14 pièce 5 pièce REF-0098 Gaine thermorétractable Ø6mm (1m) Consommables Établi 40 m 10 m REF-0055 Goulotte GBA 20x12.5 mm 2m Goulottes Dépôt C1 48 pièce 12 pièce REF-0056 Goulotte GBA 40x25 mm 2m Goulottes Dépôt C1 32 pièce 10 pièce REF-0073 Horloge modulaire programmable Domotique Étagère G1 6 pièce 2 pièce REF-0114 Interrupteur différentiel 25A 30mA AC Différentiels Dépôt A1 1 pièce 3 pièce REF-0005 Interrupteur différentiel 40A 30mA type Hi (haute immunité) Différentiels Dépôt A1 6 pièce 2 pièce REF-0036 Interrupteur simple blanc Odace Interrupteurs Étagère D1 64 pièce 15 pièce REF-0041 Interrupteur étanche IP55 Interrupteurs Étagère D1 10 pièce 3 pièce REF-0074 Minuterie d'escalier 6A Domotique Étagère G1 8 pièce 3 pièce REF-0077 Module Bluetooth pour variateur Domotique Étagère G2 6 pièce 2 pièce REF-0057 Moulure 32x12.5 mm 2m Goulottes Dépôt C1 60 pièce 15 pièce REF-0101 Multimètre TRMS CAT IV 600V Outillage Véhicule 1 4 pièce 2 pièce REF-0110 Onduleur solaire 6kVA monophasé Photovoltaïque Dépôt D1 1 pièce 1 pièce REF-0078 Panneau de brassage 24 ports cat 6a VDI Dépôt VDI 3 pièce 1 pièce REF-0085 Parafoudre type 2 1P+N 20kA Sécurité Étagère H2 7 pièce 3 pièce REF-0047 Peigne horizontal ph+N 13 modules Tableaux Dépôt A3 22 pièce 6 pièce REF-0048 Peigne vertical d'alimentation Tableaux Dépôt A3 18 pièce 5 pièce REF-0119 Piles AA alcalines (pack 4) Consommables Établi 6 pack 10 pack REF-0100 Pince coupante 180mm isolée 1000V Outillage Véhicule 1 6 pièce 2 pièce REF-0099 Pince à sertir universelle Outillage Véhicule 1 4 pièce 2 pièce REF-0065 Plafonnier LED 24W 30cm Éclairage Étagère F2 22 pièce 6 pièce REF-0028 Prise 2P+T 16A alu Odace Prises Étagère C1 45 pièce 15 pièce REF-0029 Prise 2P+T 16A blanche Céliane Prises Étagère C1 38 pièce 10 pièce REF-0027 Prise 2P+T 16A blanche Odace Prises Étagère C1 7 pièce 20 pièce REF-0030 Prise 2P+T 20A plaque de cuisson Prises Étagère C1 12 pièce 4 pièce REF-0031 Prise 2P+T 32A plaque 4 pôles Prises Étagère C1 8 pièce 3 pièce REF-0032 Prise RJ45 cat 6 Odace Prises Étagère C2 50 pièce 15 pièce REF-0117 Prise Schuko allemande Prises Étagère C1 2 pièce 5 pièce REF-0033 Prise TV satellite Odace Prises Étagère C2 22 pièce 6 pièce REF-0034 Prise USB double 2.4A Odace Prises Étagère C2 18 pièce 5 pièce REF-0035 Prise étanche 2P+T IP55 Prises Étagère C1 11 pièce 4 pièce REF-0070 Projecteur LED 20W IP65 extérieur Éclairage Étagère F2 12 pièce 4 pièce REF-0067 Ruban LED 5m 2835 blanc chaud Éclairage Étagère F2 10 pièce 3 pièce REF-0094 Ruban isolant coloré (lot 6) Consommables Établi 18 lot 5 lot REF-0093 Ruban isolant noir 19mm x 20m Consommables Établi 65 pièce 15 pièce REF-0066 Réglette LED 18W 60cm Éclairage Étagère F2 15 pièce 5 pièce REF-0084 Sirène intérieure alarme 105dB Sécurité Étagère H2 6 pièce 2 pièce REF-0076 Sonde température KNX Domotique Étagère G2 3 pièce 1 pièce REF-0063 Spot LED IP65 salle de bain Éclairage Étagère F1 34 pièce 12 pièce REF-0061 Spot LED encastré 7W blanc chaud Éclairage Étagère F1 88 pièce 30 pièce REF-0062 Spot LED encastré 7W blanc neutre Éclairage Étagère F1 80 pièce 20 pièce REF-0079 Switch Cisco SG350 28 ports VDI Dépôt VDI 2 pièce 1 pièce REF-0103 Testeur différentiel 30mA Outillage Véhicule 1 3 pièce 1 pièce REF-0105 Thermostat connecté Wi-Fi Chauffage Étagère I1 4 pièce 2 pièce REF-0104 Thermostat d'ambiance programmable Chauffage Étagère I1 8 pièce 3 pièce REF-0071 Télérupteur modulaire 16A Domotique Étagère G1 18 pièce 5 pièce REF-0102 VAT Vérificateur Absence Tension Outillage Véhicule 1 6 pièce 3 pièce REF-0037 Va-et-vient blanc Odace Interrupteurs Étagère D1 49 pièce 15 pièce REF-0040 Variateur rotatif 200W LED Odace Interrupteurs Étagère D1 12 pièce 4 pièce REF-0096 Vis à bois 4x40 tête fraisée Consommables Établi 22 boîte 6 boîte
Mise aux normes appartement T3 — Lefebvre
Matériel du projet — LIVE14 circuits · 1 tableau(x) · calculé en direct depuis le Plan / Tableau (base de vérité) Figer en commande
Aucune liste de materiel
Les listes de matériel sont générées automatiquement depuis un projet. Ouvrez un projet pour créer sa liste.
Reference
Designation
Categorie
Quantite
Actions
Aucun article
Nouvelle Liste de Materiel
×
Projet associe *
Selectionner un projet Restaurant « Le Garonne » — Cuisine pro & salle Installation neuve — Villa Maisons Vallée Agencement électrique — Pharmacie du Capitole Mise aux normes appartement T3 — Lefebvre Rénovation électrique — Maison Rousseau Bordeaux Aménagement bureaux — Aubert Architectes
Nom de la liste *
Description
Annuler
Enregistrer
Ajouter un article
×
Notes
Annuler
Enregistrer
Generer une liste de materiel
×
Projet source *
Selectionner un projet Restaurant « Le Garonne » — Cuisine pro & salle Installation neuve — Villa Maisons Vallée Agencement électrique — Pharmacie du Capitole Mise aux normes appartement T3 — Lefebvre Rénovation électrique — Maison Rousseau Bordeaux Aménagement bureaux — Aubert Architectes
Nom de la liste
Annuler
Generer
Désignation
Catégorie
Réf.
Qté
Fournisseur
Section câble
Puissance max
Chute de tension
Protection
Chauffage
Tableaux
Formules
Section recommandée
6 mm²
Détails du calcul
Type de circuit
Ev
Tension
230V (Mono)
Matériau
Cuivre
Différentiel
Type F 30mA
Recommandations
Utilisez un câble de section 6 mm² minimum
Protégez avec un disjoncteur 32A courbe C
Différentiel Type F obligatoire
Calculer la puissance maximale
Entrez les caractéristiques de votre câble existant
Section + Longueur → Puissance max
Section
P max Mono 230V
P max Tri 400V
Usage typique
1.5 mm² 1550 W 4650 W Éclairage
2.5 mm² 2640 W 7920 W Prises
4 mm² 4220 W 12660 W Chauffage
6 mm² 6330 W 18990 W Plaque cuisson
10 mm² 10550 W 31650 W IRVE
Entrez les caractéristiques de votre circuit
P + L + S → ΔU% et conformité
3%
Chute max admissible
NF C 15-100 § 525
5%
Chute max admissible
Prises, chauffage, etc.
8%
Somme depuis compteur
Limite absolue
Dimensionner la protection
Sélectionnez un type de circuit ci-dessus
Type circuit → Disjoncteur + Différentiel
Courant alternatif
Éclairage
Prises standards
Chauffage électrique
+ Composante continue
Plaque induction
Lave-linge / sèche-linge
Lave-vaisselle
Haute fréquence
IRVE (borne VE)
Pompe à chaleur
Climatisation inverter
Tous courants
Onduleurs
Variateurs puissants
Industrie spécialisée
Calculer la puissance de chauffage
Entrez au minimum la surface de la pièce
Surface + isolation → Puissance (W) et répartition radiateurs
Isolation
Ratio W/m²
Exemple 25 m²
Repère
Récente (RT2012 / RE2020) ≈ 60 W/m² ≈ 1500 W Logement neuf
Bonne (rénovée) ≈ 80 W/m² ≈ 2000 W Rénovation récente
Moyenne (standard) ≈ 100 W/m² ≈ 2500 W Cas courant
Ancienne / mal isolée ≈ 125 W/m² ≈ 3100 W Bâti ancien
Circuit
Section min
Disj. max
DDR
Éclairage
1.5 mm²
10A
AC
Prises 16A
2.5 mm²
20A
AC
Chauffage
1.5-2.5 mm²
16-20A
AC
Plaque cuisson
6 mm²
32A
A
Four
2.5 mm²
20A
AC
Lave-linge
2.5 mm²
20A
A
IRVE
6 mm²
32A
F
PAC
6 mm²
32A
F
Section
Mono (A)
Tri (A)
P max mono
1.5 mm²
16
14.5
3680 W
2.5 mm²
21
20
4830 W
4 mm²
27
25
6210 W
6 mm²
34
32
7820 W
10 mm²
46
44
10580 W
16 mm²
61
59
14030 W
25 mm²
80
77
18400 W
Aucun schema electrique
Les schémas se créent depuis un projet. Ouvrez un projet pour y ajouter un schéma.
Mise aux normes appartement T3 — Lefebvre Lefebvre Marie-Claire · Paris 08
01/07/2026
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir
Aménagement bureaux — Aubert Architectes Aubert & Co Architectes · Paris 11
27/06/2026
Antoine Simon
Voir
16 élém.
Rénovation électrique — Maison Rousseau Bordeaux Rousseau Patrick · Bordeaux Bastide
07/07/2026
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir
Agencement électrique — Pharmacie du Capitole Pharmacie du Capitole · Toulouse Capitole
27/06/2026
Olivier Dubois
OD Olivier Dubois (éditeur)
Ouvrir
Installation neuve — Villa Maisons Vallée Maisons Vallée SAS · Blagnac
27/06/2026
Julien Bernard
Voir
Restaurant « Le Garonne » — Cuisine pro & salle Dupuis Immobilier · Toulouse Saint-Cyprien
27/06/2026
leon dupont
Voir
Dessin
Architecture
Choisir…
Monophasé
Triphasé — peigne 4P (Archi A)
Triphasé — ID 2P par phase (Archi B)
PDF
PNG
Arbo
Conforme NFC 15-100
Modifications manuelles détectées
Ce schéma a été modifié manuellement depuis sa dernière génération.
La régénération depuis le plan va écraser ces modifications .
Voulez-vous continuer ?
Annuler
Régénérer quand même
Sauvegarder le schema
Nom *
Projet *
Description
Annuler
Sauvegarder
Sauvegarder le schéma
Nom du schéma
Projet
Sélectionner un projet
Annuler
Sauvegarder
Generer un schema depuis un plan
Projet
Selectionner un projet
Plan source
Selectionner un plan
Annuler
Generer le schema
Mon Équipe
Organisation
Electro Expert SARL
4 utilises 7 disponibles
Créer un compte
OD
Olivier Dubois
demo@ohmbase.fr
Admin Dernière connexion : À l'instant
Dernière connexion
À l'instant
Liste des projets : -- Sélectionner un projet pour ouvrir -- ★ Mise aux normes appartement T3 — Lefebvre (propriétaire) ★ Rénovation électrique — Maison Rousseau Bordeaux (propriétaire) ★ Agencement électrique — Pharmacie du Capitole (propriétaire)
CP
Camille Petit
demo@ohmbase.fr
Manager Dernière connexion : Il y a 1 heure
Dernière connexion
Il y a 1 heure
Liste des projets : -- Sélectionner un projet pour ouvrir -- Mise aux normes appartement T3 — Lefebvre (affilié) Agencement électrique — Pharmacie du Capitole (affilié)
JB
Julien Bernard
demo@ohmbase.fr
Membre Dernière connexion : Il y a 20 heures
Dernière connexion
Il y a 20 heures
Liste des projets : -- Sélectionner un projet pour ouvrir -- Mise aux normes appartement T3 — Lefebvre (affilié) Rénovation électrique — Maison Rousseau Bordeaux (affilié)
AS
Antoine Simon
demo@ohmbase.fr
Membre InventoristeDernière connexion : Il y a 2 heures
Dernière connexion
Il y a 2 heures
Liste des projets : -- Sélectionner un projet pour ouvrir -- Agencement électrique — Pharmacie du Capitole (affilié)
Créer un compte employé
Email *
Rôle
Membre
Manager
Admin
Un mot de passe provisoire sera généré automatiquement et envoyé par email
à l'employé. Il devra le remplacer par son propre mot de passe à la première connexion.
Annuler
Créer le compte
Nouvel Utilisateur
×
Annuler
Enregistrer
08:00
Mise aux normes appartement T3 — Lefebvre
08:30 - 12:30
Julien B.
Planifié
Mise aux normes appartement T3 — Lefebvre
08:00 - 12:00
Olivier D., Julien B.
Planifié
Rénovation électrique — Maison Rousseau Bordeaux
08:30 - 12:30
Julien B.
Planifié
Mise aux normes appartement T3 — Lefebvre
08:00 - 17:00
Olivier D.
Planifié
Mise aux normes appartement T3 — Lefebvre
08:00 - 16:00
Olivier D.
Planifié
Mise aux normes appartement T3 — Lefebvre
08:00 - 12:00
Olivier D., Julien B.
Planifié
10:00
Agencement électrique — Pharmacie du Capitole
10:00 - 11:30
Camille P.
Planifié
13:00
Rénovation électrique — Maison Rousseau Bordeaux
13:30 - 15:30
Julien B.
Planifié
14:00
Rénovation électrique — Maison Rousseau Bordeaux
14:00 - 16:30
Antoine S.
Planifié
Agencement électrique — Pharmacie du Capitole
14:00 - 15:30
Camille P.
Planifié
16:00
Agencement électrique — Pharmacie du Capitole
16:00 - 18:00
Antoine S.
Planifié
Projets : Mise aux normes appartement T3 — Lefebvre Rénovation électrique — Maison Rousseau Bordeaux Agencement électrique — Pharmacie du Capitole
Nouvelle entrée
×
Projet *
Statut
Planifié
Confirmé
En cours
Terminé
Notes
Tous
Non lus
Directs
Projets
Archives
4 conversations
Plus récents
Non lus en premier
Alphabétique
AS
Antoine Simon 2h
Les prises du séjour sont posées, je t'envoie les photo…
JB
Julien Bernard 4h
CR Rousseau envoyé — il manque les réfs des spots, tu p…
CP
Camille Petit ven.
Mme Lefebvre valide le devis, on peut commander le maté… 1
JB
Julien Bernard 21 mars
Oui prends tout le dossier, le client veut tout avoir a…
Nouvelle conversation
Hier
Antoine, tu peux passer au T3 demain matin poser les prises du séjour ?
ven. ✓
Antoine Simon Oui pas de souci, j'y suis à 8h. Il reste des boîtes 2 postes dans le camion ?
ven.
Oui, rangées avec le consommable. Prends aussi 2 sorties de câble pour les volets.
ven. ✓
Aujourd'hui
Antoine Simon Les prises du séjour sont posées, je t'envoie les photos ce soir
2h
Nouvelle conversation
Type
Message direct (utilisateur)
Discussion projet
Destinataire
Chargement...
Projet
Chargement...
Annuler
Ouvrir
Tous les projets Restaurant « Le Garonne » — Cuisine pro & salle Installation neuve — Villa Maisons Vallée Agencement électrique — Pharmacie du Capitole Mise aux normes appartement T3 — Lefebvre Rénovation électrique — Maison Rousseau Bordeaux Aménagement bureaux — Aubert Architectes
Tous les utilisateurs Olivier Dubois Camille Petit Julien Bernard Antoine Simon
Nouveau compte-rendu
10 juil
ven 14:18
Mise aux normes appartement T3 — Lefebvre
OD Olivier Dubois
Saignées et gaines terminées dans les chambres et le séjour. Boîtes d'encastrement posées, on est dans les temps pour le tableau.
3 tâches 1 résolu
Tâches
Saignées chambres + séjour terminées Gaines ICTA tirées vers la GTL Boîtes d'encastrement posées (28) Problèmes
Doublage placo non prévu derrière la cuisine — passage revu par la plinthe
Voir détails8 juil
mer 14:18
Rénovation électrique — Maison Rousseau Bordeaux
JB Julien Bernard
Dépose de l'ancien tableau, repérage et étiquetage des circuits existants.
2 tâches 1 problème
Tâches
Ancien tableau déposé Circuits repérés et étiquetés Problèmes
Section insuffisante sur le circuit four (1,5 mm²) — à retirer en 2,5 mm²
Résoudre Voir détails4 juil
sam 14:18
Agencement électrique — Pharmacie du Capitole
AS Antoine Simon
Relevé sur site avec le frigoriste. En attente du plan définitif des meubles réfrigérés avant de tirer les alimentations.
1 tâche
Tâches
Relevé des attentes en plafond Voir détails
Nouveau Compte-Rendu
×
Notes / Observations
Matériel / Outillage utilisé
Annuler
Enregistrer
×
←
→
Résoudre le problème
×
Mode de résolution
— Sélectionner —
Résolu sur site
Résolu à distance
Pièce remplacée
En attente
Autre
Commentaire (optionnel)
Annuler
Marquer résolu
Confirmation requise
Entrez votre mot de passe pour confirmer le changement d'adresse email.
Un code de verification sera envoye a la nouvelle adresse.
Mot de passe
Annuler
Envoyer le code
Verification email
Un code a 6 chiffres a ete envoye a votre nouvelle adresse.
Code de verification
Annuler
Valider
Quitter mon abonnement
Vous allez perdre l'acces aux fonctionnalites de votre offre actuelle. Vous pourrez vous reabonner a tout moment.
Annuler
Quitter mon abonnement
Passer en Équipe
Vous allez transformer votre offre individuelle en organisation, ce qui vous permet d'inviter votre équipe et de répartir les rôles.
Ce que vous gagnez :
10 sièges inclus pour inviter votre équipe
Rôles différenciés (admin, manager, technicien, inventoriste)
Tableaux de bord équipe et partage des projets
Gestion centralisée de l'inventaire et des comptes-rendus
Vos données sont en sécurité
Tout ce que vous avez créé (projets, plans, schémas, panels, clients, listes, inventaire, comptes-rendus) sera automatiquement transféré dans votre nouvelle organisation. Aucune action manuelle de votre part.
Facturation
Stripe calcule automatiquement un prorata : vous serez crédité des jours non consommés de votre offre actuelle, et facturé pour les jours restants en Équipe. Le détail apparaîtra clairement sur votre prochaine facture.
J'accepte le passage en plan Équipe, le calcul automatique du prorata par Stripe, le transfert de mes données dans ma nouvelle organisation, et je renonce à mon droit de rétractation pour bénéficier de l'accès immédiat.
Annuler
Confirmer le passage
Télécharger mes données
Récupérez l'intégralité de votre travail au format ZIP : tous vos projets, plans, schémas, tableaux électriques, listes de matériel, clients et collaborateurs — organisés par dossier.
Télécharger l'archive ZIP
Export limité à 5 téléchargements / heure (RGPD).
Mon abonnement
6 utilises 5 disponibles
10 inclus + 1 suppl. = +2,00 EUR/mois
Mettre a jour Gerer Équipe
Synchronisation calendrier
Connectez votre application calendrier. Vos créneaux planning apparaissent automatiquement, dans les deux sens.
Le fichier Ohmbase.url va être téléchargé. Déplace-le sur ton bureau pour un accès direct.
× Ajouter Ohmbase à l'écran d'accueil Touchez le bouton Partager en bas de Safari Faites défiler et sélectionnez "Sur l'écran d'accueil" Touchez Ajouter en haut à droite Ohmbase s'ouvrira ensuite comme une vraie application, sans la barre du navigateur.
× Installer Ohmbase comme app Mac Selon votre navigateur :
Safari (macOS Sonoma+) : menu Fichier → Ajouter au Dock… Chrome / Edge : icône dans la barre d'adresse, ou menu ⋮ → Installer Ohmbase Brave / Arc : menu de la fenêtre → Installer comme app Ohmbase apparaîtra dans le Launchpad et le Dock comme une vraie application Mac, avec son icône, et s'ouvrira dans sa propre fenêtre (sans la barre du navigateur).
Vos factures officielles Stripe, prêtes à télécharger.
0,00 € de crédit en attente — déduit du prochain prélèvement.
Faites défiler pour voir toutes vos factures
Centre d'aide
Trouvez des réponses rapides à vos questions sur Ohmbase.
Catégories Démarrer avec Ohmbase
12 articles
Schémas électriques
16 articles
Tableaux électriques
19 articles
Listes de matériel
9 articles
Comptes-rendus & clients
11 articles
Tableau de bord
6 articles
Abonnement & facturation
8 articles
Sécurité & données
4 articles
Circuits
Différentiels
Câbles
Zones SDB
GTL / ETEL
Chute de tension
Tous
Cuisine
Électroménager
VE / Énergie
Type A
Type F
Obligatoires
Circuit
Section
Disjoncteur
Différentiel
Points max
Circuits standards
1.5 mm²
16A · courbe C
Type AC
8
Max 8 points lumineux par circuit.
Sensibilité 30 mA
Réf. § 10.1.3.1
1.5 mm²
16A · courbe C
Type AC
—
Plusieurs volets par circuit, puissance totale ≤ 2 000 W.
Sensibilité 30 mA
Réf. § 10.1.3.10
1.5 mm²
2A · courbe D
Type AC
1
Circuit dédié, non coupable depuis l'intérieur du logement.
Sensibilité 30 mA
Réf. § 10.1.3.6
Obligatoire Dédié
1.5 mm²
2A · courbe C
Type AC
1
Circuit TBTS (très basse tension). Disjoncteur 2A ou transformateur séparé.
Sensibilité 30 mA
Réf. § 10.1.3
2.5 mm²
20A · courbe C
Type AC
12
Max 12 socles par circuit en 2,5 mm²/20 A (8 socles si 1,5 mm²/16 A).
Sensibilité 30 mA
Réf. § 10.1.3.3
2.5 mm²
20A · courbe C
Type A
8
IP44 minimum obligatoire. DDR 30 mA Type A impératif. Max 8 socles.
Sensibilité 30 mA
Réf. § 10.1.3.3
Spécialisé
Circuits cuisine
6 mm²
32A · courbe C
Type A
1
Type A obligatoire (induction). Circuit dédié obligatoire.
Sensibilité 30 mA
Réf. § 10.1.3.2.2
Obligatoire Spécialisé Dédié
2.5 mm²
20A · courbe C
Type A
1
Type A obligatoire. 6 mm²/32 A si P > 3 680 W (four vapeur/pyrolyse puissant).
Sensibilité 30 mA
Réf. § 10.1.3.2.2
Spécialisé Dédié
2.5 mm²
20A · courbe C
Type A
6
Min. 6 prises dont 4 au-dessus du plan de travail. 2 circuits min. Type A obligatoire.
Sensibilité 30 mA
Réf. § 10.1.3.3
Obligatoire Dédié
2.5 mm²
20A · courbe C
Type A
1
Type A obligatoire (moteur à onduleur). Circuit spécialisé dédié.
Sensibilité 30 mA
Réf. § 10.1.3.2
Spécialisé Dédié
Électroménager & eau
2.5 mm²
20A · courbe C
Type A
1
Type A obligatoire (moteur électronique à onduleur).
Sensibilité 30 mA
Réf. § 10.1.3.2.3
Obligatoire Spécialisé Dédié
2.5 mm²
20A · courbe C
Type A
1
Type A obligatoire si PAC intégrée, AC acceptable si résistance simple.
Sensibilité 30 mA
Réf. § 10.1.3.2
Spécialisé Dédié
2.5 mm²
20A · courbe D
Type AC
1
DDR dédié recommandé pour éviter les coupures intempestives.
Sensibilité 30 mA
Réf. § 10.1.3.3
Dédié
2.5 mm²
20A · courbe C
Type AC
1
Circuit dédié. Contacteur HC/HP si tarif heures creuses.
Sensibilité 30 mA
Réf. § 10.1.3.2.4
Obligatoire Spécialisé Dédié
Chauffe-eau thermodynamique
2.5 mm²
20A · courbe D
Type F
1
Type F obligatoire (compresseur à onduleur, éd. 2024). Courbe D : pic de démarrage.
Sensibilité 30 mA
Réf. § 10.1.3.2.4
Spécialisé Dédié
4 mm²
25A · courbe C
Type AC
1
4 mm²/25A pour les chauffe-eaux de forte puissance.
Sensibilité 30 mA
Réf. § 10.1.3.2.4
Spécialisé Dédié
2.5 mm²
20A · courbe C
Type AC
1
1 radiateur = 1 circuit dédié (règle appliquée par l'app). Puissance max : 1,5 mm² ≤ 2 250 W | 2,5 mm² ≤ 3 500 W | 4 mm² ≤ 5 750 W.
Sensibilité 30 mA
Réf. § 10.1.3.4
Dédié
Plancher chauffant électrique
2.5 mm²
20A · courbe C
Type A
1
Type A obligatoire. Circuit dédié. 6 mm²/32A si puissance > 3 680 W.
Sensibilité 30 mA
Réf. § 10.1.3.4
Spécialisé Dédié
VE / Énergie / CVC
6 mm²
32A · courbe C
Type F
1
Type F obligatoire depuis 2024. Circuit dédié obligatoire. Pré-équipement obligatoire logement neuf.
Sensibilité 30 mA
Réf. NF C 15-100-7-722
Obligatoire Spécialisé Dédié
2.5 mm²
20A · courbe C
Type A
1
Alternative à l'IRVE pour recharge lente (mode 2, 3,7 kW max).
Sensibilité 30 mA
Réf. § 10.1.3.2
Spécialisé Dédié
6 mm²
32A · courbe C
Type F
1
Type F obligatoire depuis 2024. Section selon puissance (6 mm² pour ≥ 7 kW).
Sensibilité 30 mA
Réf. § 10.1.3.5
Spécialisé Dédié
Piscine (pompe / traitement)
2.5 mm²
20A · courbe C
Type F
1
Type F obligatoire depuis 2024. Norme piscine § 702. IP44 minimum pour appareillage.
Sensibilité 30 mA
Réf. § 702
Spécialisé Dédié
Production solaire (onduleur)
6 mm²
32A · courbe C
Type B
1
Type B si DC > 6 mA. Circuit dédié. Disjoncteur bidirectionnel.
Sensibilité 30 mA
Réf. NF C 15-100-7-712
Spécialisé Dédié
Courbes de disjoncteur
B Courbe B Coupe vite Domestique
Déclenche dès 3× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : très rapidement
Éclairage Câbles longs Résistances
C Courbe C Le standard Domestique
Déclenche dès 5 à 10× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : équilibré
Prises Habitat Le plus courant
D Courbe D Tolère l'appel Domestique
Déclenche dès 10 à 14× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : laisse passer les pics
Moteurs Transfos Fort démarrage
Z Courbe Z Ultra-sensible Industriel
Déclenche dès 2 à 3× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : au moindre écart
Électronique Semi-conducteurs
K Courbe K Inductif Industriel
Déclenche dès 8 à 14× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : comme la D, en indus
Moteurs Transfos
MA Courbe MA Départ moteur Industriel
Déclenche dès ≈ 12× le courant nominal
TEMPS lent vite COURANT (× le calibre) 1× 10× 20×
Réagit : magnétique seul
Départs moteurs Sans thermique
Inter différentiel
PHASE
NEUTRE
TORE DIFFÉRENTIEL
APPAREIL
10 A →
← 10 A
COUPURE
TERRE
> 30 mA s'échappent vers la terre
Simuler une fuite
Réarmer
En temps normal, tout le courant qui part par la phase revient par le neutre. Les deux s'équilibrent, et le tore ne détecte rien.
Mais si une partie s'échappe vers la terre (à travers une masse métallique défectueuse, ou une personne qui touche l'appareil), il revient moins de courant qu'il n'en est parti.
C'est précisément ce déséquilibre que le différentiel repère, pour couper aussitôt.
AC
Type AC
Courants détectés
Alternatifs sinusoïdaux uniquement
Forme détectée · sinus pur
Sensibilité standard
30 mA
Usage
Éclairage Prises standard VMC Volets
A
Type A
Courants détectés
AC + DC pulsés
Forme détectée · DC pulsé
Sensibilité standard
30 mA
Usage
Plaque induction Lave-linge Four Plancher chauffant
F
Type F
Courants détectés
AC + DC lissés + HF (variateurs de vitesse)
Forme détectée · composite HF
Sensibilité standard
30 mA
Usage · obligatoire 2024
IRVE PAC inverter Piscine
B
Type B
Courants détectés
AC + DC lisses + HF
Forme détectée · DC lisse
Sensibilité standard
30 mA
Usage
Onduleurs PV Bornes DC HP
Note
Rarement requis en résidentiel
EV
Type EV
Courants détectés
AC + DC pulsés + détection 6 mA DC intégrée
Forme détectée · seuil 6 mA DC
Rôle
Remplace un Type B coûteux : protège la borne sans surdimensionner
B+
Type B+
Courants détectés
Tout le Type B + hautes fréquences jusqu'à ~20 kHz
Forme détectée · HF très élevée
Sensibilité standard
30 mA
Usage
Industriel Variateurs HF
Combien de DDR par logement ?
8
circuits max / DDR
Répartition obligatoire
Le disjoncteur de protection doit toujours être calibré en dessous du courant admissible du câble selon son mode de pose.
Section
Disjoncteur max
Conduit
Enterré
Puissance max mono (230V)
Puissance max triphasé (400V)
1,5
16 A 15 A 18 A
2,5
20 A 19 A 26 A
4
25 A 26 A 34 A
6
32 A 32 A 44 A
10
40–50 A 44 A 60 A
16
63 A 57 A 80 A
25
80–100 A 73 A 101 A
35
100–125 A 90 A 121 A
Couleur des conducteurs
NF C 15-100 § 514 — chaque conducteur doit être repérable par sa couleur à ses deux extrémités .
L
N
PE
Marron — Phase (L)
Bleu clair — Neutre (N)
Vert & jaune rayé — Terre (PE)
Le PE est toujours rayé vert/jaune en diagonale — jamais vert seul, jamais jaune seul.
Monophasé 230 V
Vert / jaune rayé Terre (PE) — obligatoire
Rayage diagonal · interdit pour tout autre usage
Bleu clair Neutre (N) — obligatoire
Réservé au neutre (sauf repérage marron en bout)
Marron Phase (L)
Couleur de référence de la phase
Rouge / marron Retour de va-et-vient
Navette — uniquement rouge ou marron (§ 514.3)
Orange Fil pilote radiateur
Commande des radiateurs à inertie
Triphasé 400 V
Vert / jaune rayé Terre (PE)
Règles de repérage
INTERDIT
Vert seul ou jaune seul (réservés au PE en bicolore)
Bleu pour autre chose que le neutre (sauf repérage)
PE et neutre fusionnés (TN-C interdit en résidentiel neuf)
OBLIGATOIRE
Repérage couleur aux deux extrémités du conducteur
Conducteur bleu réutilisé en phase : ruban marron aux extrémités
PE jamais coupé ni fusionné avec le neutre
Volume 0 Dans la baignoire / douche
Volume 1 0 à 2,25 m au-dessus
Volume 2 60 cm autour du volume 1
Hors volume Au-delà de 60 cm
0
Volume 0 Dans la baignoire / douche · IPX7
Interdit
Tout appareillage électrique interdit . Aucune prise, aucun interrupteur. Aucune boîte de connexion.
Règles générales de la salle de bains
Liaison équipotentielle
Toutes les masses métalliques de la SDB (baignoire, robinetterie, canalisations métalliques) doivent être reliées entre elles par une liaison équipotentielle supplémentaire raccordée au PE.
Sèche-serviettes
Autorisé en volume 2 : IP44, classe II , circuit dédié 20 A recommandé. Type A si PAC intégrée. Raccordement fixe obligatoire (pas de prise).
Éclairage
Volume 1 ou 2 : IP44 . Hors-volume : IP21 minimum. L'interrupteur doit être hors volume (ou cordon isolant depuis le volume 2).
DDR 30 mA obligatoire
Tous les circuits desservant la SDB doivent être protégés par un DDR 30 mA , situé hors de la pièce humide ou dans un coffret IP4X.
ETEL
Espace Technique Électrique Le volume réservé qui reçoit la GTL
§ 10.1.4.1
Volume strictement réservé
Largeur = GTL + 10 cm
Emplacement dédié à l'alimentation, la protection et le contrôle-commande. Toute autre destination du volume est interdite . Inclut un volume communication de 240 × 300 mm (prof. 200 mm).
GTL
Gaine Technique Logement Ce qu'on installe dans l'ETEL
§ 10.1.4.2
Tableau de répartition
Coupure d'urgence
Panneau de contrôle
Tableau de communication
Regroupe toutes les arrivées et tous les départs des circuits de puissance et de communication. Matérialisation obligatoire en partie haute et/ou basse selon le sens des câbles ; accès garanti par parties démontables.
L'ETEL accueille la GTL : disjoncteur de branchement, tableau de répartition et coffret de communication, empilés du sol au plafond sur une emprise de 60 × 25 cm minimum.
§ 525
3 %
Éclairage
La limite la plus stricte
§ 525
5 %
Prises & autres usages
Chauffage, électroménager…
§ 525.2
2 %
Depuis le réseau public
En amont du compteur
§ 528
5 %
Alimentation de sécurité
Circuits de sécurité
Estimez votre chute de tension
Monophasé 230 V Triphasé 400 V
Éclairage · 3 % Prises · 5 %
Prises (5 %)
2,5 %
soit 5,8 V de chute
Conforme — bonne marge 2,5 %
Longueur maximale d'un circuit — limite 3 % · monophasé 230 V
Section
À 10 A (2 300 W)
À 16 A (3 680 W)
À 20 A (4 600 W)
À 32 A (7 360 W)
1,5 mm²
—
2,5 mm²
—
4 mm²
6 mm²
10 mm²
Actifs (1)
Résolus (1)
Tous (2)
Nouveau ticket
Passer notre abonnement Équipe en facturation annuelle
Abonnement 10/07/2026 1 réponse
Normale En cours
Créer un compte pour notre nouvel apprenti
Équipe 28/06/2026 2 réponses
Faible Résolu
Chargement...
Aucun membre.
Ajouter
Chargement...
Aucun historique disponible.
Étages
↑ ↓ pour naviguer
Arbo
Matériel
Arborescence électrique
×
Imprimer / Exporter
×
Annuler
Imprimer
Chargement du plan…
Plan pas encore sauvegardé.Ouvrez et enregistrez le plan pour générer l'aperçu.
Molette pour zoomer · Clic + glisser pour naviguer
Étage…
Plan seul
Plan + Liens élec.
Plan + Liaisons fonc.
Tous les calques
Aucun aperçu disponible pour cette version.
Restaurer cette version
Fermer
Un seul membre peut éditer ce projet (Plan + Schéma + Tableau). Les autres le voient en lecture seule.
Chargement...
Aucun membre trouvé pour ce projet.
Retirer l'éditeur
Annuler
Retour
{"threads":{"2158f8e2-2634-4be1-a6b4-8cf085af151f":{"header":"<div style=\"width:40px;height:40px;border-radius:50%;background:white;border:1.5px solid #0d9488;color:#0d9488;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-0.3px;flex-shrink:0;\">CP</div><div style=\"flex:1;min-width:0;\"><div style=\"font-weight:700;font-size:15px;color:#111827;\">Camille Petit</div><div style=\"font-size:11px;color:#94a3b8;\"><i class=\"fas fa-user\" style=\"margin-right:4px;\"></i>USER</div></div><button onclick=\"msgToggleArchive('2158f8e2-2634-4be1-a6b4-8cf085af151f',true)\" title=\"Archiver\" style=\"background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:5px;flex-shrink:0;\"><i class=\"fas fa-box-archive\"></i> Archiver</button>","body":"<div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">jeudi 9 juillet</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-camille-0\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-camille-0',true)\" onmouseleave=\"msgShowActions('demo-msg-camille-0',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Camille Petit</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Mme Lefebvre demande si on peut avancer la pose du tableau à samedi matin.</div><div id=\"msgActions-demo-msg-camille-0\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-camille-0')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-camille-0')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-camille-0\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-camille-0','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-camille-0','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-camille-0','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-camille-0','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-camille-0','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-camille-0','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"9 juil., 12:18\">jeu.</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-camille-1\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-camille-1',true)\" onmouseleave=\"msgShowActions('demo-msg-camille-1',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">OK pour samedi 8h, je préviens Julien. Tu confirmes au client ?</div><div id=\"msgActions-demo-msg-camille-1\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-camille-1')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-camille-1')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-camille-1\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-camille-1','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-camille-1','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-camille-1','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-camille-1','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-camille-1','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-camille-1','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"9 juil., 12:30\">jeu.</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-camille-2\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-camille-2',true)\" onmouseleave=\"msgShowActions('demo-msg-camille-2',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Camille Petit</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Confirmé. Le devis signé est dans le dossier projet.</div><div id=\"msgActions-demo-msg-camille-2\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-camille-2')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-camille-2')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-camille-2\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-camille-2','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-camille-2','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-camille-2','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-camille-2','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-camille-2','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-camille-2','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"9 juil., 17:18\">jeu.</span></div></div><div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">Hier</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-camille-3\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-camille-3',true)\" onmouseleave=\"msgShowActions('demo-msg-camille-3',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Camille Petit</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Mme Lefebvre valide le devis, on peut commander le matériel</div><div id=\"msgActions-demo-msg-camille-3\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-camille-3')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-camille-3')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-camille-3\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-camille-3','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-camille-3','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-camille-3','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-camille-3','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-camille-3','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-camille-3','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 12:18\">ven.</span></div></div>"},"4febae63-0cd8-4c99-925d-2fa533cd5b85":{"header":"<div style=\"width:40px;height:40px;border-radius:50%;background:white;border:1.5px solid #0d9488;color:#0d9488;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-0.3px;flex-shrink:0;\">JB</div><div style=\"flex:1;min-width:0;\"><div style=\"font-weight:700;font-size:15px;color:#111827;\">Julien Bernard</div><div style=\"font-size:11px;color:#94a3b8;\"><i class=\"fas fa-user\" style=\"margin-right:4px;\"></i>USER</div></div><button onclick=\"msgToggleArchive('4febae63-0cd8-4c99-925d-2fa533cd5b85',true)\" title=\"Archiver\" style=\"background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:5px;flex-shrink:0;\"><i class=\"fas fa-box-archive\"></i> Archiver</button>","body":"<div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">Hier</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-julien-0\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-julien-0',true)\" onmouseleave=\"msgShowActions('demo-msg-julien-0',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Julien Bernard</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Chez Rousseau : l'ancien tableau est déposé, circuits repérés et étiquetés.</div><div id=\"msgActions-demo-msg-julien-0\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-julien-0')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-julien-0')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-julien-0\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-julien-0','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-julien-0','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-julien-0','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-julien-0','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-julien-0','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-julien-0','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 19:18\">19h</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-julien-1\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-julien-1',true)\" onmouseleave=\"msgShowActions('demo-msg-julien-1',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Nickel. Le circuit four est en 1,5 — prévois du 2,5 pour le retirage.</div><div id=\"msgActions-demo-msg-julien-1\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-julien-1')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-julien-1')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-julien-1\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-julien-1','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-julien-1','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-julien-1','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-julien-1','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-julien-1','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-julien-1','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 19:30\">18h</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">Aujourd'hui</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-julien-2\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-julien-2',true)\" onmouseleave=\"msgShowActions('demo-msg-julien-2',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Julien Bernard</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">CR Rousseau envoyé — il manque les réfs des spots, tu peux compléter ?</div><div id=\"msgActions-demo-msg-julien-2\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-julien-2')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-julien-2')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-julien-2\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-julien-2','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-julien-2','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-julien-2','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-julien-2','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-julien-2','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-julien-2','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"11 juil., 10:18\">4h</span></div></div>"},"eb873eb0-ef9f-442c-b960-140e8a7ef80b":{"header":"<div style=\"width:40px;height:40px;border-radius:50%;background:white;border:1.5px solid #0d9488;color:#0d9488;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-0.3px;flex-shrink:0;\">JB</div><div style=\"flex:1;min-width:0;\"><div style=\"font-weight:700;font-size:15px;color:#111827;\">Julien Bernard</div><div style=\"font-size:11px;color:#94a3b8;\"><i class=\"fas fa-user\" style=\"margin-right:4px;\"></i>USER</div></div><button onclick=\"msgToggleArchive('eb873eb0-ef9f-442c-b960-140e8a7ef80b',true)\" title=\"Archiver\" style=\"background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:5px;flex-shrink:0;\"><i class=\"fas fa-box-archive\"></i> Archiver</button>","body":"<div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">samedi 21 mars</span></div><div class=\"msg-bubble-wrap\" id=\"msg-3f7aaaa5-dd0c-4902-b201-9226dc6b47cc\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc',true)\" onmouseleave=\"msgShowActions('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Julien, t'as pensé à commander les câbles 2,5mm² pour la RDC ? On en a besoin pour lundi.</div><div id=\"msgActions-3f7aaaa5-dd0c-4902-b201-9226dc6b47cc\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-3f7aaaa5-dd0c-4902-b201-9226dc6b47cc\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('3f7aaaa5-dd0c-4902-b201-9226dc6b47cc','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:03\">21 mars</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-546ec52a-6563-435c-b2d0-706dc56b49d9\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('546ec52a-6563-435c-b2d0-706dc56b49d9',true)\" onmouseleave=\"msgShowActions('546ec52a-6563-435c-b2d0-706dc56b49d9',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Julien Bernard</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Oui j'ai passé la commande hier chez Rexel. Livraison prévue vendredi matin normalement.</div><div id=\"msgActions-546ec52a-6563-435c-b2d0-706dc56b49d9\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('546ec52a-6563-435c-b2d0-706dc56b49d9')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('546ec52a-6563-435c-b2d0-706dc56b49d9')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-546ec52a-6563-435c-b2d0-706dc56b49d9\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('546ec52a-6563-435c-b2d0-706dc56b49d9','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:08\">21 mars</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-25de06bf-8194-45f7-a305-424a37c454d6\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('25de06bf-8194-45f7-a305-424a37c454d6',true)\" onmouseleave=\"msgShowActions('25de06bf-8194-45f7-a305-424a37c454d6',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Parfait. Et pour les prises étanches de la cuisine, t'as le bon modèle ? IP44 minimum selon le plan.</div><div id=\"msgActions-25de06bf-8194-45f7-a305-424a37c454d6\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('25de06bf-8194-45f7-a305-424a37c454d6')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('25de06bf-8194-45f7-a305-424a37c454d6')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-25de06bf-8194-45f7-a305-424a37c454d6\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('25de06bf-8194-45f7-a305-424a37c454d6','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:13\">21 mars</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-e953f027-7d2c-4c27-b18f-ae4a81ef5abe\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('e953f027-7d2c-4c27-b18f-ae4a81ef5abe',true)\" onmouseleave=\"msgShowActions('e953f027-7d2c-4c27-b18f-ae4a81ef5abe',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Julien Bernard</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Oui, j'ai pris les Legrand Plexo IP55, mieux vaut voir large. J'en ai pris 6 en plus pour les imprévus.</div><div id=\"msgActions-e953f027-7d2c-4c27-b18f-ae4a81ef5abe\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('e953f027-7d2c-4c27-b18f-ae4a81ef5abe')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('e953f027-7d2c-4c27-b18f-ae4a81ef5abe')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-e953f027-7d2c-4c27-b18f-ae4a81ef5abe\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('e953f027-7d2c-4c27-b18f-ae4a81ef5abe','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:18\">21 mars</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-c84c67ca-1a05-41cc-b9bf-a1b0240fbc91\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91',true)\" onmouseleave=\"msgShowActions('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Très bien. Passe par chez moi ce soir si tu veux récupérer les plans papier du tableau.</div><div id=\"msgActions-c84c67ca-1a05-41cc-b9bf-a1b0240fbc91\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-c84c67ca-1a05-41cc-b9bf-a1b0240fbc91\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('c84c67ca-1a05-41cc-b9bf-a1b0240fbc91','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:23\">21 mars</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-584819f5-4cbf-4095-bb8b-746fa339b47f\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('584819f5-4cbf-4095-bb8b-746fa339b47f',true)\" onmouseleave=\"msgShowActions('584819f5-4cbf-4095-bb8b-746fa339b47f',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Julien Bernard</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Ok, je passe vers 18h30. Je récupère aussi les DTU pour le client ?</div><div id=\"msgActions-584819f5-4cbf-4095-bb8b-746fa339b47f\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('584819f5-4cbf-4095-bb8b-746fa339b47f')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('584819f5-4cbf-4095-bb8b-746fa339b47f')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-584819f5-4cbf-4095-bb8b-746fa339b47f\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('584819f5-4cbf-4095-bb8b-746fa339b47f','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:28\">21 mars</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-292a66e4-8f18-4854-96f5-a9a4ae08867d\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('292a66e4-8f18-4854-96f5-a9a4ae08867d',true)\" onmouseleave=\"msgShowActions('292a66e4-8f18-4854-96f5-a9a4ae08867d',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Oui prends tout le dossier, le client veut tout avoir avant la réception.</div><div id=\"msgActions-292a66e4-8f18-4854-96f5-a9a4ae08867d\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('292a66e4-8f18-4854-96f5-a9a4ae08867d')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('292a66e4-8f18-4854-96f5-a9a4ae08867d')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-292a66e4-8f18-4854-96f5-a9a4ae08867d\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('292a66e4-8f18-4854-96f5-a9a4ae08867d','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"21 mars, 07:33\">21 mars</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div>"},"16b55142-b42f-4264-9cbf-8817e1df13eb":{"header":"<div style=\"width:40px;height:40px;border-radius:50%;background:white;border:1.5px solid #0d9488;color:#0d9488;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-0.3px;flex-shrink:0;\">AS</div><div style=\"flex:1;min-width:0;\"><div style=\"font-weight:700;font-size:15px;color:#111827;\">Antoine Simon</div><div style=\"font-size:11px;color:#94a3b8;\"><i class=\"fas fa-user\" style=\"margin-right:4px;\"></i>USER</div></div><button onclick=\"msgToggleArchive('16b55142-b42f-4264-9cbf-8817e1df13eb',true)\" title=\"Archiver\" style=\"background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:5px;flex-shrink:0;\"><i class=\"fas fa-box-archive\"></i> Archiver</button>","body":"<div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">Hier</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-antoine-0\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-antoine-0',true)\" onmouseleave=\"msgShowActions('demo-msg-antoine-0',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Antoine, tu peux passer au T3 demain matin poser les prises du séjour ?</div><div id=\"msgActions-demo-msg-antoine-0\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-antoine-0')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-antoine-0')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-antoine-0\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-antoine-0','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-antoine-0','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-antoine-0','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-antoine-0','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-antoine-0','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-antoine-0','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 11:48\">ven.</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-antoine-1\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-antoine-1',true)\" onmouseleave=\"msgShowActions('demo-msg-antoine-1',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Antoine Simon</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Oui pas de souci, j'y suis à 8h. Il reste des boîtes 2 postes dans le camion ?</div><div id=\"msgActions-demo-msg-antoine-1\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-antoine-1')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-antoine-1')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-antoine-1\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-antoine-1','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-antoine-1','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-antoine-1','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-antoine-1','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-antoine-1','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-antoine-1','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 12:12\">ven.</span></div></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-antoine-2\" style=\"display:flex;flex-direction:column;align-items:flex-end;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-antoine-2',true)\" onmouseleave=\"msgShowActions('demo-msg-antoine-2',false)\"><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row-reverse;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:18px 4px 18px 18px;background:#30c39e;color:white;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Oui, rangées avec le consommable. Prends aussi 2 sorties de câble pour les volets.</div><div id=\"msgActions-demo-msg-antoine-2\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-antoine-2')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-antoine-2')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-antoine-2\" style=\"display:none;position:absolute;bottom:32px;right:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-antoine-2','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-antoine-2','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-antoine-2','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-antoine-2','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-antoine-2','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-antoine-2','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"10 juil., 12:18\">ven.</span><span style=\"font-size:10px;color:#94a3b8;margin-left:4px;\" title=\"Envoyé\">✓</span></div></div><div style=\"text-align:center;margin:16px 0 8px;\"><span style=\"background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;padding:3px 12px;border-radius:20px;\">Aujourd'hui</span></div><div class=\"msg-bubble-wrap\" id=\"msg-demo-msg-antoine-3\" style=\"display:flex;flex-direction:column;align-items:flex-start;margin-bottom:4px;position:relative;\" onmouseenter=\"msgShowActions('demo-msg-antoine-3',true)\" onmouseleave=\"msgShowActions('demo-msg-antoine-3',false)\"><span style=\"font-size:11px;font-weight:600;color:#0d9488;margin-bottom:3px;padding-left:4px;\">Antoine Simon</span><div style=\"display:flex;align-items:flex-end;gap:6px;flex-direction:row;\"><div style=\"max-width:460px;padding:9px 13px;border-radius:4px 18px 18px 18px;background:white;color:#111827;font-size:14px;line-height:1.55;box-shadow:0 1px 4px rgba(0,0,0,.08);word-break:break-word;\">Les prises du séjour sont posées, je t'envoie les photos ce soir</div><div id=\"msgActions-demo-msg-antoine-3\" style=\"display:none;align-items:center;gap:3px;\"><button onclick=\"msgStartReply('demo-msg-antoine-3')\" title=\"Répondre\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\">↩</button><div style=\"position:relative;display:inline-block;\"><button onclick=\"msgToggleEmojiPicker('demo-msg-antoine-3')\" title=\"Réagir\" style=\"background:white;border:1px solid #e5e7eb;border-radius:8px;padding:4px 7px;cursor:pointer;font-size:12px;color:#6b7280;box-shadow:0 1px 3px rgba(0,0,0,.1);\"><i class=\"far fa-face-smile\"></i></button><div id=\"emojiPicker-demo-msg-antoine-3\" style=\"display:none;position:absolute;bottom:32px;left:0;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:100;white-space:nowrap;\"><span onclick=\"msgToggleReaction('demo-msg-antoine-3','👍')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👍</span><span onclick=\"msgToggleReaction('demo-msg-antoine-3','❤️')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">❤️</span><span onclick=\"msgToggleReaction('demo-msg-antoine-3','😂')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😂</span><span onclick=\"msgToggleReaction('demo-msg-antoine-3','😮')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😮</span><span onclick=\"msgToggleReaction('demo-msg-antoine-3','😢')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">😢</span><span onclick=\"msgToggleReaction('demo-msg-antoine-3','👎')\" style=\"cursor:pointer;font-size:20px;padding:3px 4px;border-radius:6px;display:inline-block;transition:transform .1s;\" onmouseenter=\"this.style.transform='scale(1.3)'\" onmouseleave=\"this.style.transform=''\">👎</span></div></div></div></div><div style=\"display:flex;align-items:center;gap:3px;margin-top:2px;padding:0 4px;\"><span style=\"font-size:10px;color:#94a3b8;\" title=\"11 juil., 12:18\">2h</span></div></div>"}},"order":["2158f8e2-2634-4be1-a6b4-8cf085af151f","4febae63-0cd8-4c99-925d-2fa533cd5b85","eb873eb0-ef9f-442c-b960-140e8a7ef80b","16b55142-b42f-4264-9cbf-8817e1df13eb"]}
{"list":"<div style=\"display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap;--bar-h:44px;\"><input type=\"text\" id=\"inventorySearch\" placeholder=\"Rechercher un article, SKU...\" value=\"\" oninput=\"inventoryOnSearch(this.value)\" style=\"flex:1 1 420px;min-width:260px;padding:0 14px;border:1px solid #e5e7eb;height:var(--bar-h);box-sizing:border-box;border-radius:10px;font-size:13px;\"><select id=\"inventoryCatFilter\" onchange=\"inventoryOnCategory(this.value)\" style=\"min-width:180px;padding:0 14px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;height:var(--bar-h);box-sizing:border-box;border-radius:10px;font-size:13px;\"><option value=\"\">Toutes catégories</option><option value=\"Disjoncteurs\">Disjoncteurs</option><option value=\"Câbles\">Câbles</option><option value=\"Prises\">Prises</option><option value=\"Différentiels\">Différentiels</option><option value=\"Interrupteurs\">Interrupteurs</option><option value=\"Tableaux\">Tableaux</option><option value=\"Boîtes\">Boîtes</option><option value=\"Goulottes\">Goulottes</option><option value=\"Gaines\">Gaines</option><option value=\"Éclairage\">Éclairage</option><option value=\"Domotique\">Domotique</option><option value=\"VDI\">VDI</option><option value=\"Sécurité\">Sécurité</option><option value=\"Connectique\">Connectique</option><option value=\"Consommables\">Consommables</option><option value=\"Outillage\">Outillage</option><option value=\"Chauffage\">Chauffage</option><option value=\"IRVE\">IRVE</option><option value=\"Photovoltaïque\">Photovoltaïque</option></select><label style=\"display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid #e5e7eb;background:#fff;font-weight:600;color:#374151;cursor:pointer;white-space:nowrap;transition:all .15s;height:var(--bar-h);box-sizing:border-box;border-radius:10px;font-size:13px;\"><input type=\"checkbox\" onchange=\"inventoryOnLowStock(this.checked)\" style=\"width:15px;height:15px;accent-color:#f59e0b;cursor:pointer;margin:0;\"><i class=\"fas fa-triangle-exclamation\" style=\"font-size:12px;color:#94a3b8;\"></i>Stock bas uniquement</label><button onclick=\"inventoryOpenForm()\" style=\"display:inline-flex;align-items:center;gap:6px;padding:0 18px;background:#fff;color:#1e293b;border:1px solid #e5e7eb;cursor:pointer;font-weight:600;white-space:nowrap;transition:all .15s;height:var(--bar-h);box-sizing:border-box;border-radius:10px;font-size:13px;\" onmouseover=\"this.style.background='#f8fafc';this.style.borderColor='#cbd5e1'\" onmouseout=\"this.style.background='#fff';this.style.borderColor='#e5e7eb'\"><i class=\"fas fa-plus\"></i> Nouvel article</button><div style=\"position:relative;flex-shrink:0;\"><button id=\"invActionsBtn\" onclick=\"inventoryToggleActionsMenu(event)\" title=\"Actions avancées\" aria-haspopup=\"menu\" aria-expanded=\"false\" style=\"display:inline-flex;align-items:center;gap:6px;padding:0 14px;background:#fff;color:#1e293b;border:1px solid #e5e7eb;cursor:pointer;font-weight:600;white-space:nowrap;transition:all .15s;height:var(--bar-h);box-sizing:border-box;border-radius:10px;font-size:13px;\" onmouseover=\"this.style.background='#f8fafc';this.style.borderColor='#cbd5e1'\" onmouseout=\"this.style.background='#fff';this.style.borderColor='#e5e7eb'\"><span id=\"inv-sse-dot\" title=\"Reconnexion...\" style=\"display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: rgb(245, 158, 11); transition: background 0.3s;\"></span><i class=\"fas fa-gear\"></i> Actions <i class=\"fas fa-chevron-down\" style=\"font-size:10px;opacity:0.6;\"></i></button><div id=\"invActionsMenu\" role=\"menu\" style=\"display:none;position:absolute;top:calc(100% + 6px);right:0;width:270px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.12);z-index:1000;padding:4px 0;overflow:hidden;\"><div style=\"font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.5px;padding:10px 14px 4px;\">Données</div><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryImportCsvPrompt()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-file-import\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Importer des articles (CSV)</button><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryExportItemsCsv()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-file-export\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Exporter le stock (CSV)</button><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryExportMovementsCsv()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-receipt\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Exporter les mouvements (CSV)</button><div style=\"border-top:1px solid #f1f5f9;\"></div><div style=\"font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.5px;padding:10px 14px 4px;\">Étiquettes & codes</div><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryPrintLabels(\" barcode\")\"=\"\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-tags\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Imprimer les étiquettes (codes-barres)</button><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryPrintLabels(\" qr\")\"=\"\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-qrcode\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Imprimer les QR codes</button><div style=\"border-top:1px solid #f1f5f9;\"></div><div style=\"font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.5px;padding:10px 14px 4px;\">Affichage</div><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryTogglePhotos()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-eye-slash\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Masquer les photos</button><div style=\"border-top:1px solid #f1f5f9;\"></div><div style=\"font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.5px;padding:10px 14px 4px;\">Inventaire physique</div><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryPrintCountSheet()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-clipboard-check\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Feuille de comptage à imprimer</button><div style=\"border-top:1px solid #f1f5f9;\"></div><div style=\"font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.5px;padding:10px 14px 4px;\">Réglages</div><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryOpenAlertSettings()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-bell\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Réglages des alertes stock</button><button role=\"menuitem\" onclick=\"inventoryCloseActionsMenu();inventoryRunAlertsNow()\" style=\"display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#1e293b;text-align:left;transition:background .12s;\" onmouseover=\"this.style.background='#f5f7fa'\" onmouseout=\"this.style.background='none'\"><i class=\"fas fa-paper-plane\" style=\"width:16px;text-align:center;color:#64748b;\"></i>Tester les alertes maintenant</button></div></div></div><div style=\"background:white;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;\"><table style=\"width:100%;border-collapse:collapse;\"><thead><tr style=\"background:#f8fafc;\"><th style=\"padding:14px 8px 14px 16px;width:88px;\"></th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">SKU</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Article</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Catégorie</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Emplacement</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Stock</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Seuil</th><th style=\"padding:14px 16px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:0.5px;text-align:left;\">Actions</th></tr></thead><tbody><tr data-inv-id=\"c25a1554-5e4e-4b7d-9822-6896357e2921\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c25a1554-5e4e-4b7d-9822-6896357e2921')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/ampoule-led-e27-9w-equivalent-60w.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0068</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Ampoule LED E27 9W équivalent 60W</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">14</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">25 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c25a1554-5e4e-4b7d-9822-6896357e2921')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c25a1554-5e4e-4b7d-9822-6896357e2921','Ampoule LED E27 9W équivalent 60W')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"30365c60-9561-40c4-bd66-0afbe46f335d\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('30365c60-9561-40c4-bd66-0afbe46f335d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/ampoule-led-gu10-5w.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0069</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Ampoule LED GU10 5W</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">78</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">20 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('30365c60-9561-40c4-bd66-0afbe46f335d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('30365c60-9561-40c4-bd66-0afbe46f335d','Ampoule LED GU10 5W')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1dd5efdf-360b-4331-9492-472e6200ac94\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1dd5efdf-360b-4331-9492-472e6200ac94')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/applique-murale-exterieure-led.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0064</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Applique murale extérieure LED</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">17</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1dd5efdf-360b-4331-9492-472e6200ac94')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1dd5efdf-360b-4331-9492-472e6200ac94','Applique murale extérieure LED')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a67abeb0-99d7-42fd-ba86-42bb85ddba62\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a67abeb0-99d7-42fd-ba86-42bb85ddba62')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/barrette-de-connexion-10mm-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0088</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Barrette de connexion 10mm² (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">12</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a67abeb0-99d7-42fd-ba86-42bb85ddba62')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a67abeb0-99d7-42fd-ba86-42bb85ddba62','Barrette de connexion 10mm² (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c4c54309-1821-4e3d-9e54-84a969175108\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c4c54309-1821-4e3d-9e54-84a969175108')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/bloc-autonome-eclairage-securite.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/securite.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0083</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Bloc autonome éclairage sécurité</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Sécurité</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère H1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c4c54309-1821-4e3d-9e54-84a969175108')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c4c54309-1821-4e3d-9e54-84a969175108','Bloc autonome éclairage sécurité')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"5d4cc02f-01ec-4cdb-bb45-e93fdeda81db\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('5d4cc02f-01ec-4cdb-bb45-e93fdeda81db')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/borne-wago-3-entrees-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0086</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Borne Wago 3 entrées (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">24</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('5d4cc02f-01ec-4cdb-bb45-e93fdeda81db')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('5d4cc02f-01ec-4cdb-bb45-e93fdeda81db','Borne Wago 3 entrées (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1c88cb8b-051c-4048-9a3c-6ea5b0dc6b42\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1c88cb8b-051c-4048-9a3c-6ea5b0dc6b42')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/borne-wago-5-entrees-boite-50.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0087</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Borne Wago 5 entrées (boîte 50)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1c88cb8b-051c-4048-9a3c-6ea5b0dc6b42')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1c88cb8b-051c-4048-9a3c-6ea5b0dc6b42','Borne Wago 5 entrées (boîte 50)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"09a973b8-4c84-4ea1-9a38-8a5739d713ee\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('09a973b8-4c84-4ea1-9a38-8a5739d713ee')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/borne-de-recharge-ve-11kw-triphase.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/irve.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0108</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Borne de recharge VE 11kW triphasé</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">IRVE</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">2</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('09a973b8-4c84-4ea1-9a38-8a5739d713ee')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('09a973b8-4c84-4ea1-9a38-8a5739d713ee','Borne de recharge VE 11kW triphasé')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"95765601-f483-41d0-8e97-c5a4679bece4\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('95765601-f483-41d0-8e97-c5a4679bece4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/borne-de-recharge-ve-7-4kw-monophase.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/irve.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0107</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Borne de recharge VE 7.4kW monophasé</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">IRVE</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('95765601-f483-41d0-8e97-c5a4679bece4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('95765601-f483-41d0-8e97-c5a4679bece4','Borne de recharge VE 7.4kW monophasé')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"bc51fe5e-2047-44f9-8c30-010f89996bc9\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('bc51fe5e-2047-44f9-8c30-010f89996bc9')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/bornier-de-terre-12-connexions.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0049</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Bornier de terre 12 connexions</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">12</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('bc51fe5e-2047-44f9-8c30-010f89996bc9')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('bc51fe5e-2047-44f9-8c30-010f89996bc9','Bornier de terre 12 connexions')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"8f82aeb3-046d-4036-b1cb-abd870b1554b\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('8f82aeb3-046d-4036-b1cb-abd870b1554b')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/bouton-poussoir-blanc-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0039</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Bouton-poussoir blanc Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">30</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">8 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('8f82aeb3-046d-4036-b1cb-abd870b1554b')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('8f82aeb3-046d-4036-b1cb-abd870b1554b','Bouton-poussoir blanc Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"09bae359-ebd9-4876-b943-129b9465033d\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('09bae359-ebd9-4876-b943-129b9465033d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/boite-dcl-plafond.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/boites.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0053</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Boîte DCL plafond</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Boîtes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère E1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">108</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">30 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('09bae359-ebd9-4876-b943-129b9465033d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('09bae359-ebd9-4876-b943-129b9465033d','Boîte DCL plafond')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6947c4fc-9dcc-4fe2-abce-83b87ceabb3d\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6947c4fc-9dcc-4fe2-abce-83b87ceabb3d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/boite-d-encastrement-double-67.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/boites.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0051</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Boîte d'encastrement double Ø67</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Boîtes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère E1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">85</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">20 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6947c4fc-9dcc-4fe2-abce-83b87ceabb3d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6947c4fc-9dcc-4fe2-abce-83b87ceabb3d','Boîte d'encastrement double Ø67')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c243f805-bca6-4ea3-837a-ebdc3f574d38\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c243f805-bca6-4ea3-837a-ebdc3f574d38')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/boite-d-encastrement-triple-67.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/boites.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0052</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Boîte d'encastrement triple Ø67</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Boîtes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère E1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">35</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c243f805-bca6-4ea3-837a-ebdc3f574d38')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c243f805-bca6-4ea3-837a-ebdc3f574d38','Boîte d'encastrement triple Ø67')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"96ffd0da-95e3-4c7e-a675-f300efe7ea2f\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('96ffd0da-95e3-4c7e-a675-f300efe7ea2f')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/boite-d-encastrement-67-prof-40mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/boites.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0050</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Boîte d'encastrement Ø67 prof 40mm</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Boîtes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère E1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">165</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">50 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('96ffd0da-95e3-4c7e-a675-f300efe7ea2f')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('96ffd0da-95e3-4c7e-a675-f300efe7ea2f','Boîte d'encastrement Ø67 prof 40mm')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"dc422a5f-48f0-4d4d-812b-9b673617cbad\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('dc422a5f-48f0-4d4d-812b-9b673617cbad')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/boite-de-derivation-100-etanche.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/boites.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0054</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Boîte de dérivation Ø100 étanche</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Boîtes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère E2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">51</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('dc422a5f-48f0-4d4d-812b-9b673617cbad')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('dc422a5f-48f0-4d4d-812b-9b673617cbad','Boîte de dérivation Ø100 étanche')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"06e4020b-667e-45ca-8802-f3844366e6d0\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('06e4020b-667e-45ca-8802-f3844366e6d0')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/chatterton-tissu-19mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0120</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Chatterton tissu 19mm</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">300</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('06e4020b-667e-45ca-8802-f3844366e6d0')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('06e4020b-667e-45ca-8802-f3844366e6d0','Chatterton tissu 19mm')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"f7a089fd-8f8d-4295-b9b0-ff5534201a0c\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('f7a089fd-8f8d-4295-b9b0-ff5534201a0c')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cheville-molly-m5-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0097</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Cheville Molly M5 (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">15</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('f7a089fd-8f8d-4295-b9b0-ff5534201a0c')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('f7a089fd-8f8d-4295-b9b0-ff5534201a0c','Cheville Molly M5 (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"fb669d3b-83aa-464b-a59d-aa2c23fc0725\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('fb669d3b-83aa-464b-a59d-aa2c23fc0725')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-1-rangee-13-modules.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0116</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret 1 rangée 13 modules</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('fb669d3b-83aa-464b-a59d-aa2c23fc0725')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('fb669d3b-83aa-464b-a59d-aa2c23fc0725','Coffret 1 rangée 13 modules')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"d57c436d-64ce-4d8f-b64d-a39d688115bb\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('d57c436d-64ce-4d8f-b64d-a39d688115bb')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-2-rangees-26-modules.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0045</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret 2 rangées 26 modules</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('d57c436d-64ce-4d8f-b64d-a39d688115bb')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('d57c436d-64ce-4d8f-b64d-a39d688115bb','Coffret 2 rangées 26 modules')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"d2204472-97c6-4818-ac8b-05bc36417342\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('d2204472-97c6-4818-ac8b-05bc36417342')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-3-rangees-39-modules.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0043</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret 3 rangées 39 modules</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">198</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('d2204472-97c6-4818-ac8b-05bc36417342')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('d2204472-97c6-4818-ac8b-05bc36417342','Coffret 3 rangées 39 modules')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1e4f6720-8e07-492e-be01-0261cf1bd3d1\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1e4f6720-8e07-492e-be01-0261cf1bd3d1')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-4-rangees-52-modules.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0044</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret 4 rangées 52 modules</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1e4f6720-8e07-492e-be01-0261cf1bd3d1')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1e4f6720-8e07-492e-be01-0261cf1bd3d1','Coffret 4 rangées 52 modules')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"d3cf70c7-53e1-4b53-8d3c-f9c17542f77e\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('d3cf70c7-53e1-4b53-8d3c-f9c17542f77e')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-ac-solaire-pret-a-poser.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/photovoltaique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0111</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret AC solaire prêt à poser</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Photovoltaïque</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('d3cf70c7-53e1-4b53-8d3c-f9c17542f77e')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('d3cf70c7-53e1-4b53-8d3c-f9c17542f77e','Coffret AC solaire prêt à poser')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"8429d174-83c0-483b-b7d6-33817f69f2ce\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('8429d174-83c0-483b-b7d6-33817f69f2ce')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coffret-de-communication-grade-3-rj45.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0046</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coffret de communication grade 3 RJ45</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('8429d174-83c0-483b-b7d6-33817f69f2ce')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('8429d174-83c0-483b-b7d6-33817f69f2ce','Coffret de communication grade 3 RJ45')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"b47f5eb5-7d58-4a99-aab5-da61c5063db5\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('b47f5eb5-7d58-4a99-aab5-da61c5063db5')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/collier-colson-nylon-200mm-noir.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0095</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Collier Colson nylon 200mm noir</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">40</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">sachet</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 sachet</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('b47f5eb5-7d58-4a99-aab5-da61c5063db5')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('b47f5eb5-7d58-4a99-aab5-da61c5063db5','Collier Colson nylon 200mm noir')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"40a2d036-9966-4f6e-8677-025ab652745b\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('40a2d036-9966-4f6e-8677-025ab652745b')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/contacteur-jour-nuit-25a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0072</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Contacteur jour/nuit 25A</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('40a2d036-9966-4f6e-8677-025ab652745b')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('40a2d036-9966-4f6e-8677-025ab652745b','Contacteur jour/nuit 25A')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"f65cf9bb-5bac-4ca6-a416-4a3ad9a38396\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('f65cf9bb-5bac-4ca6-a416-4a3ad9a38396')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cosse-faston-femelle-isolee-rouge.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0089</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Cosse faston femelle isolée rouge</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">16</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">sachet</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 sachet</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('f65cf9bb-5bac-4ca6-a416-4a3ad9a38396')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('f65cf9bb-5bac-4ca6-a416-4a3ad9a38396','Cosse faston femelle isolée rouge')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"e78cec44-739f-469d-afd9-0afa9dc06758\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('e78cec44-739f-469d-afd9-0afa9dc06758')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/coupleur-actionneur-knx-4-sorties.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0075</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Coupleur/actionneur KNX 4 sorties</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">102</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('e78cec44-739f-469d-afd9-0afa9dc06758')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('e78cec44-739f-469d-afd9-0afa9dc06758','Coupleur/actionneur KNX 4 sorties')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"ceac9263-d61f-4998-9373-ccbaa87bc01f\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('ceac9263-d61f-4998-9373-ccbaa87bc01f')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-1-5mm-bleu.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0020</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 1.5mm² bleu</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">540</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">150 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('ceac9263-d61f-4998-9373-ccbaa87bc01f')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('ceac9263-d61f-4998-9373-ccbaa87bc01f','Câble H07V-U 1.5mm² bleu')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"787215fb-8c3f-457d-bf41-ed8618048d3a\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('787215fb-8c3f-457d-bf41-ed8618048d3a')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-1-5mm-rouge.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0019</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 1.5mm² rouge</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">540</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">150 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('787215fb-8c3f-457d-bf41-ed8618048d3a')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('787215fb-8c3f-457d-bf41-ed8618048d3a','Câble H07V-U 1.5mm² rouge')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"4a573849-1b52-4765-9ce9-5eb1deec8f26\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('4a573849-1b52-4765-9ce9-5eb1deec8f26')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-1-5mm-vert-jaune.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0021</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 1.5mm² vert/jaune</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">500</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">150 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('4a573849-1b52-4765-9ce9-5eb1deec8f26')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('4a573849-1b52-4765-9ce9-5eb1deec8f26','Câble H07V-U 1.5mm² vert/jaune')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"876a59fd-b6be-4249-92b0-9d9b7ab0cc99\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('876a59fd-b6be-4249-92b0-9d9b7ab0cc99')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-2-5mm-bleu.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0023</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 2.5mm² bleu</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">380</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">100 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('876a59fd-b6be-4249-92b0-9d9b7ab0cc99')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('876a59fd-b6be-4249-92b0-9d9b7ab0cc99','Câble H07V-U 2.5mm² bleu')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"e2fc73a4-61c8-436a-bf42-6843e8595ffb\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('e2fc73a4-61c8-436a-bf42-6843e8595ffb')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-2-5mm-rouge.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0022</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 2.5mm² rouge</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">380</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">100 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('e2fc73a4-61c8-436a-bf42-6843e8595ffb')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('e2fc73a4-61c8-436a-bf42-6843e8595ffb','Câble H07V-U 2.5mm² rouge')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1fecec6c-43ae-4ffd-a393-aaa100e57065\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1fecec6c-43ae-4ffd-a393-aaa100e57065')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-h07v-u-2-5mm-vert-jaune.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0024</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble H07V-U 2.5mm² vert/jaune</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">350</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">100 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1fecec6c-43ae-4ffd-a393-aaa100e57065')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1fecec6c-43ae-4ffd-a393-aaa100e57065','Câble H07V-U 2.5mm² vert/jaune')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"b6ccd457-ef3e-4c3e-936b-0f3060d871c0\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('b6ccd457-ef3e-4c3e-936b-0f3060d871c0')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-rj45-cat-6a-u-ftp-lszh.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0025</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble RJ45 cat 6a U/FTP LSZH</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">160</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">50 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('b6ccd457-ef3e-4c3e-936b-0f3060d871c0')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('b6ccd457-ef3e-4c3e-936b-0f3060d871c0','Câble RJ45 cat 6a U/FTP LSZH')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"8cb166e9-ebf5-4d6e-b685-5ba24ea02755\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('8cb166e9-ebf5-4d6e-b685-5ba24ea02755')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-3g1-5mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0013</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 3G1.5mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">790</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">200 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('8cb166e9-ebf5-4d6e-b685-5ba24ea02755')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('8cb166e9-ebf5-4d6e-b685-5ba24ea02755','Câble U-1000 R2V 3G1.5mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"b8f2e300-bbe7-47b3-af53-fdd7ab34b52c\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('b8f2e300-bbe7-47b3-af53-fdd7ab34b52c')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-3g10mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0115</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 3G10mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">1035</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">80 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('b8f2e300-bbe7-47b3-af53-fdd7ab34b52c')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('b8f2e300-bbe7-47b3-af53-fdd7ab34b52c','Câble U-1000 R2V 3G10mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"0f9c27ef-a724-4035-91f2-7c9e29169f0f\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('0f9c27ef-a724-4035-91f2-7c9e29169f0f')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-3g2-5mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0014</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 3G2.5mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">915</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">300 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('0f9c27ef-a724-4035-91f2-7c9e29169f0f')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('0f9c27ef-a724-4035-91f2-7c9e29169f0f','Câble U-1000 R2V 3G2.5mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"b7543fa7-d00b-4ddf-86f7-f4e21ededf6d\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('b7543fa7-d00b-4ddf-86f7-f4e21ededf6d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-3g4mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0015</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 3G4mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">380</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">100 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('b7543fa7-d00b-4ddf-86f7-f4e21ededf6d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('b7543fa7-d00b-4ddf-86f7-f4e21ededf6d','Câble U-1000 R2V 3G4mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"147a4f0d-f335-49af-a4a4-3e630e133db7\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('147a4f0d-f335-49af-a4a4-3e630e133db7')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-3g6mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0016</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 3G6mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">180</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">50 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('147a4f0d-f335-49af-a4a4-3e630e133db7')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('147a4f0d-f335-49af-a4a4-3e630e133db7','Câble U-1000 R2V 3G6mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"7510a9e3-ed8b-431c-99d8-9acdc383ec95\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('7510a9e3-ed8b-431c-99d8-9acdc383ec95')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-5g1-5mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0017</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 5G1.5mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">240</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">60 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('7510a9e3-ed8b-431c-99d8-9acdc383ec95')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('7510a9e3-ed8b-431c-99d8-9acdc383ec95','Câble U-1000 R2V 5G1.5mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"eabf1bda-ecaa-4df8-b4a9-64f029f76285\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('eabf1bda-ecaa-4df8-b4a9-64f029f76285')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-u-1000-r2v-5g2-5mm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0018</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble U-1000 R2V 5G2.5mm²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">320</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">80 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('eabf1bda-ecaa-4df8-b4a9-64f029f76285')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('eabf1bda-ecaa-4df8-b4a9-64f029f76285','Câble U-1000 R2V 5G2.5mm²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"7e598c87-d860-4e43-88b6-29b5aa07b01c\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('7e598c87-d860-4e43-88b6-29b5aa07b01c')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-brassage-rj45-cat-6a-0-5m-jaune.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/vdi.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0080</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble brassage RJ45 cat 6a 0.5m jaune</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">VDI</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt VDI</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">60</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('7e598c87-d860-4e43-88b6-29b5aa07b01c')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('7e598c87-d860-4e43-88b6-29b5aa07b01c','Câble brassage RJ45 cat 6a 0.5m jaune')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"be06fe01-b6cf-4ab2-a2e0-04969646d7d4\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('be06fe01-b6cf-4ab2-a2e0-04969646d7d4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-brassage-rj45-cat-6a-1m-bleu.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/vdi.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0081</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble brassage RJ45 cat 6a 1m bleu</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">VDI</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt VDI</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">40</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('be06fe01-b6cf-4ab2-a2e0-04969646d7d4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('be06fe01-b6cf-4ab2-a2e0-04969646d7d4','Câble brassage RJ45 cat 6a 1m bleu')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1a70fc00-2c8c-48f5-877d-a571c4bf6486\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1a70fc00-2c8c-48f5-877d-a571c4bf6486')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-chauffant-plancher-10m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/chauffage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0106</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble chauffant plancher 10m²</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Chauffage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère I2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1a70fc00-2c8c-48f5-877d-a571c4bf6486')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1a70fc00-2c8c-48f5-877d-a571c4bf6486','Câble chauffant plancher 10m²')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"0f87adf3-2560-45fc-9f51-bc6c65c83632\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('0f87adf3-2560-45fc-9f51-bc6c65c83632')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-coaxial-tv-kx6.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/cables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0026</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble coaxial TV KX6</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Câbles</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt B3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">150</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">30 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('0f87adf3-2560-45fc-9f51-bc6c65c83632')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('0f87adf3-2560-45fc-9f51-bc6c65c83632','Câble coaxial TV KX6')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"85f92bd2-5213-42ff-8dec-b5675977d2d4\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('85f92bd2-5213-42ff-8dec-b5675977d2d4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-recharge-ve-5m-type-2.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/irve.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0109</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble recharge VE 5m type 2</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">IRVE</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('85f92bd2-5213-42ff-8dec-b5675977d2d4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('85f92bd2-5213-42ff-8dec-b5675977d2d4','Câble recharge VE 5m type 2')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"cba3d35d-5d89-44a5-9a9c-554679b030a6\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('cba3d35d-5d89-44a5-9a9c-554679b030a6')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/cable-solaire-6mm-rouge-touret-50m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/photovoltaique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0112</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Câble solaire 6mm² rouge (touret 50m)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Photovoltaïque</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('cba3d35d-5d89-44a5-9a9c-554679b030a6')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('cba3d35d-5d89-44a5-9a9c-554679b030a6','Câble solaire 6mm² rouge (touret 50m)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"2434cd8a-d474-40ce-bbd5-27bcaf53bd66\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('2434cd8a-d474-40ce-bbd5-27bcaf53bd66')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-2a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0010</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur 2A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">15</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('2434cd8a-d474-40ce-bbd5-27bcaf53bd66')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('2434cd8a-d474-40ce-bbd5-27bcaf53bd66','Disjoncteur 2A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"b261118b-8222-4c54-a72e-87b9232b248b\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('b261118b-8222-4c54-a72e-87b9232b248b')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-differentiel-ph-n-16a-30ma-a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0012</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur différentiel ph+N 16A 30mA A</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('b261118b-8222-4c54-a72e-87b9232b248b')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('b261118b-8222-4c54-a72e-87b9232b248b','Disjoncteur différentiel ph+N 16A 30mA A')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c696c33d-6e57-4332-bed3-339ef8ff08a5\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c696c33d-6e57-4332-bed3-339ef8ff08a5')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-ph-n-10a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0006</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur ph+N 10A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">36</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">12 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c696c33d-6e57-4332-bed3-339ef8ff08a5')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c696c33d-6e57-4332-bed3-339ef8ff08a5','Disjoncteur ph+N 10A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a1a05b65-1ed8-4f4d-b937-83166a58b8e9\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a1a05b65-1ed8-4f4d-b937-83166a58b8e9')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-ph-n-16a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0007</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur ph+N 16A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">-2</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a1a05b65-1ed8-4f4d-b937-83166a58b8e9')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a1a05b65-1ed8-4f4d-b937-83166a58b8e9','Disjoncteur ph+N 16A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"0630603e-09d2-48d0-9bb8-a2dec6a77fda\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('0630603e-09d2-48d0-9bb8-a2dec6a77fda')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-ph-n-20a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0008</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur ph+N 20A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">38</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('0630603e-09d2-48d0-9bb8-a2dec6a77fda')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('0630603e-09d2-48d0-9bb8-a2dec6a77fda','Disjoncteur ph+N 20A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"61b73d8a-4a5d-4b0a-a955-ec5b5726857b\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('61b73d8a-4a5d-4b0a-a955-ec5b5726857b')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-ph-n-25a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0113</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur ph+N 25A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('61b73d8a-4a5d-4b0a-a955-ec5b5726857b')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('61b73d8a-4a5d-4b0a-a955-ec5b5726857b','Disjoncteur ph+N 25A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a4ddb26f-b9de-4f6c-86c9-dbd96bc6c4f1\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a4ddb26f-b9de-4f6c-86c9-dbd96bc6c4f1')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-ph-n-32a-courbe-c.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0009</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur ph+N 32A courbe C</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">17</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a4ddb26f-b9de-4f6c-86c9-dbd96bc6c4f1')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a4ddb26f-b9de-4f6c-86c9-dbd96bc6c4f1','Disjoncteur ph+N 32A courbe C')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"2e22ee3d-fbc3-41dc-a619-e7e3dc29658d\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('2e22ee3d-fbc3-41dc-a619-e7e3dc29658d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/disjoncteur-tetrapolaire-32a-courbe-d.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/disjoncteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0011</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Disjoncteur tétrapolaire 32A courbe D</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Disjoncteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('2e22ee3d-fbc3-41dc-a619-e7e3dc29658d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('2e22ee3d-fbc3-41dc-a619-e7e3dc29658d','Disjoncteur tétrapolaire 32A courbe D')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c2e15bd8-828b-45d7-a238-3300e778d2dc\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c2e15bd8-828b-45d7-a238-3300e778d2dc')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/double-va-et-vient-blanc-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0038</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Double va-et-vient blanc Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c2e15bd8-828b-45d7-a238-3300e778d2dc')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c2e15bd8-828b-45d7-a238-3300e778d2dc','Double va-et-vient blanc Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"df718d47-14cf-4a72-b258-8e3b3517e818\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('df718d47-14cf-4a72-b258-8e3b3517e818')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/detecteur-autonome-de-fumee-daaf.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/securite.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0082</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Détecteur autonome de fumée DAAF</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Sécurité</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère H1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">29</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('df718d47-14cf-4a72-b258-8e3b3517e818')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('df718d47-14cf-4a72-b258-8e3b3517e818','Détecteur autonome de fumée DAAF')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"96886520-33be-4fc8-bdf2-1861f7f49984\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('96886520-33be-4fc8-bdf2-1861f7f49984')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/detecteur-de-presence-360-plafond.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0042</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Détecteur de présence 360° plafond</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">8</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('96886520-33be-4fc8-bdf2-1861f7f49984')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('96886520-33be-4fc8-bdf2-1861f7f49984','Détecteur de présence 360° plafond')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"7e149bbd-a178-48d6-99a6-4aa992cffc71\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('7e149bbd-a178-48d6-99a6-4aa992cffc71')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/embout-de-cablage-1-5mm-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0090</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Embout de câblage 1.5mm² (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">28</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">8 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('7e149bbd-a178-48d6-99a6-4aa992cffc71')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('7e149bbd-a178-48d6-99a6-4aa992cffc71','Embout de câblage 1.5mm² (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"cc8136de-4b1d-430a-80b0-85cf3da89f80\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('cc8136de-4b1d-430a-80b0-85cf3da89f80')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/embout-de-cablage-2-5mm-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0091</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Embout de câblage 2.5mm² (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('cc8136de-4b1d-430a-80b0-85cf3da89f80')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('cc8136de-4b1d-430a-80b0-85cf3da89f80','Embout de câblage 2.5mm² (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"fba6bfad-5a25-42da-9251-4617a6592ef0\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('fba6bfad-5a25-42da-9251-4617a6592ef0')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/embout-de-cablage-4mm-boite-100.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0092</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Embout de câblage 4mm² (boîte 100)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">14</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('fba6bfad-5a25-42da-9251-4617a6592ef0')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('fba6bfad-5a25-42da-9251-4617a6592ef0','Embout de câblage 4mm² (boîte 100)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"154a5768-88db-4dbd-b092-272b1e178687\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('154a5768-88db-4dbd-b092-272b1e178687')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/fusible-cartouche-10x38-16a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/connectique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0118</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Fusible cartouche 10x38 16A</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Connectique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">1</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">sachet</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 sachet</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('154a5768-88db-4dbd-b092-272b1e178687')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('154a5768-88db-4dbd-b092-272b1e178687','Fusible cartouche 10x38 16A')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"def990c9-f8d4-4268-b475-c114fd9c4ec4\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('def990c9-f8d4-4268-b475-c114fd9c4ec4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/gaine-icta-16-rouge-touret-100m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/gaines.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0060</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Gaine ICTA Ø16 rouge (touret 100m)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Gaines</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">8</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('def990c9-f8d4-4268-b475-c114fd9c4ec4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('def990c9-f8d4-4268-b475-c114fd9c4ec4','Gaine ICTA Ø16 rouge (touret 100m)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"e8b11095-74fb-43e5-8ecd-b590c20f0fd3\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('e8b11095-74fb-43e5-8ecd-b590c20f0fd3')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/gaine-icta-20-grise-touret-25m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/gaines.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0058</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Gaine ICTA Ø20 grise (touret 25m)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Gaines</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('e8b11095-74fb-43e5-8ecd-b590c20f0fd3')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('e8b11095-74fb-43e5-8ecd-b590c20f0fd3','Gaine ICTA Ø20 grise (touret 25m)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6e6b4344-9847-4c16-bb1b-88c21a410912\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6e6b4344-9847-4c16-bb1b-88c21a410912')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/gaine-icta-25-grise-touret-25m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/gaines.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0059</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Gaine ICTA Ø25 grise (touret 25m)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Gaines</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">14</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6e6b4344-9847-4c16-bb1b-88c21a410912')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6e6b4344-9847-4c16-bb1b-88c21a410912','Gaine ICTA Ø25 grise (touret 25m)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"df353f1f-acd2-4438-839b-e2c5b0abe4e2\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('df353f1f-acd2-4438-839b-e2c5b0abe4e2')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/gaine-thermoretractable-6mm-1m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0098</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Gaine thermorétractable Ø6mm (1m)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">40</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">m</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 m</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('df353f1f-acd2-4438-839b-e2c5b0abe4e2')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('df353f1f-acd2-4438-839b-e2c5b0abe4e2','Gaine thermorétractable Ø6mm (1m)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c479f561-bf20-4003-a87c-9a4027582899\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c479f561-bf20-4003-a87c-9a4027582899')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/goulotte-gba-20x12-5-mm-2m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/goulottes.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0055</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Goulotte GBA 20x12.5 mm 2m</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Goulottes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">48</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">12 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c479f561-bf20-4003-a87c-9a4027582899')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c479f561-bf20-4003-a87c-9a4027582899','Goulotte GBA 20x12.5 mm 2m')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"953d70f3-fa92-4e92-a672-0e48a3423dc0\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('953d70f3-fa92-4e92-a672-0e48a3423dc0')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/goulotte-gba-40x25-mm-2m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/goulottes.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0056</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Goulotte GBA 40x25 mm 2m</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Goulottes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">32</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('953d70f3-fa92-4e92-a672-0e48a3423dc0')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('953d70f3-fa92-4e92-a672-0e48a3423dc0','Goulotte GBA 40x25 mm 2m')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1a5c418c-73a4-481c-b463-049bdec84d56\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1a5c418c-73a4-481c-b463-049bdec84d56')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/horloge-modulaire-programmable.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0073</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Horloge modulaire programmable</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1a5c418c-73a4-481c-b463-049bdec84d56')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1a5c418c-73a4-481c-b463-049bdec84d56','Horloge modulaire programmable')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"41ad7fd2-9ac4-41f6-88c5-391e00c289c4\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('41ad7fd2-9ac4-41f6-88c5-391e00c289c4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/interrupteur-differentiel-25a-30ma-ac.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/differentiels.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0114</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Interrupteur différentiel 25A 30mA AC</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Différentiels</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">1</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('41ad7fd2-9ac4-41f6-88c5-391e00c289c4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('41ad7fd2-9ac4-41f6-88c5-391e00c289c4','Interrupteur différentiel 25A 30mA AC')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"d12739b7-c880-4b36-83eb-6a78d5bdca30\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('d12739b7-c880-4b36-83eb-6a78d5bdca30')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/interrupteur-differentiel-40a-30ma-type-hi-haute-immunite.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/differentiels.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0005</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Interrupteur différentiel 40A 30mA type Hi (haute immunité)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Différentiels</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('d12739b7-c880-4b36-83eb-6a78d5bdca30')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('d12739b7-c880-4b36-83eb-6a78d5bdca30','Interrupteur différentiel 40A 30mA type Hi (haute immunité)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"0691c6fc-e14b-4beb-a2f4-580428068b03\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('0691c6fc-e14b-4beb-a2f4-580428068b03')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/interrupteur-simple-blanc-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0036</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Interrupteur simple blanc Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">64</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('0691c6fc-e14b-4beb-a2f4-580428068b03')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('0691c6fc-e14b-4beb-a2f4-580428068b03','Interrupteur simple blanc Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"13909247-0c29-4e27-96e5-7ba14312325b\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('13909247-0c29-4e27-96e5-7ba14312325b')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/interrupteur-etanche-ip55.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0041</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Interrupteur étanche IP55</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('13909247-0c29-4e27-96e5-7ba14312325b')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('13909247-0c29-4e27-96e5-7ba14312325b','Interrupteur étanche IP55')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"85f8cf49-ec4b-4de0-b7ab-0e00ffad28cd\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('85f8cf49-ec4b-4de0-b7ab-0e00ffad28cd')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/minuterie-d-escalier-6a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0074</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Minuterie d'escalier 6A</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">8</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('85f8cf49-ec4b-4de0-b7ab-0e00ffad28cd')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('85f8cf49-ec4b-4de0-b7ab-0e00ffad28cd','Minuterie d'escalier 6A')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6d1ff775-9844-424c-8083-afc0ccef1506\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6d1ff775-9844-424c-8083-afc0ccef1506')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/module-bluetooth-pour-variateur.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0077</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Module Bluetooth pour variateur</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6d1ff775-9844-424c-8083-afc0ccef1506')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6d1ff775-9844-424c-8083-afc0ccef1506','Module Bluetooth pour variateur')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"996fff97-fbc3-4234-943e-ec4fd18abd4d\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('996fff97-fbc3-4234-943e-ec4fd18abd4d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/moulure-32x12-5-mm-2m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/goulottes.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0057</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Moulure 32x12.5 mm 2m</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Goulottes</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">60</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('996fff97-fbc3-4234-943e-ec4fd18abd4d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('996fff97-fbc3-4234-943e-ec4fd18abd4d','Moulure 32x12.5 mm 2m')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"acde288e-02e4-415e-a193-cc028f623a1c\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('acde288e-02e4-415e-a193-cc028f623a1c')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/multimetre-trms-cat-iv-600v.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/outillage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0101</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Multimètre TRMS CAT IV 600V</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Outillage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Véhicule 1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('acde288e-02e4-415e-a193-cc028f623a1c')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('acde288e-02e4-415e-a193-cc028f623a1c','Multimètre TRMS CAT IV 600V')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a3be47cc-6918-40a8-bbd4-d707da2f607a\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a3be47cc-6918-40a8-bbd4-d707da2f607a')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/onduleur-solaire-6kva-monophase.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/photovoltaique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0110</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Onduleur solaire 6kVA monophasé</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Photovoltaïque</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">1</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a3be47cc-6918-40a8-bbd4-d707da2f607a')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a3be47cc-6918-40a8-bbd4-d707da2f607a','Onduleur solaire 6kVA monophasé')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"2db5c731-68e1-49d4-af5b-b1b82a27209d\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('2db5c731-68e1-49d4-af5b-b1b82a27209d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/panneau-de-brassage-24-ports-cat-6a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/vdi.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0078</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Panneau de brassage 24 ports cat 6a</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">VDI</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt VDI</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('2db5c731-68e1-49d4-af5b-b1b82a27209d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('2db5c731-68e1-49d4-af5b-b1b82a27209d','Panneau de brassage 24 ports cat 6a')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"cd7c8835-d8f8-4929-8cce-3e2654758dfd\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('cd7c8835-d8f8-4929-8cce-3e2654758dfd')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/parafoudre-type-2-1p-n-20ka.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/securite.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0085</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Parafoudre type 2 1P+N 20kA</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Sécurité</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère H2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">7</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('cd7c8835-d8f8-4929-8cce-3e2654758dfd')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('cd7c8835-d8f8-4929-8cce-3e2654758dfd','Parafoudre type 2 1P+N 20kA')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"0159dce0-0f95-4ab5-b87e-de146eaa637f\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('0159dce0-0f95-4ab5-b87e-de146eaa637f')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/peigne-horizontal-ph-n-13-modules.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0047</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Peigne horizontal ph+N 13 modules</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('0159dce0-0f95-4ab5-b87e-de146eaa637f')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('0159dce0-0f95-4ab5-b87e-de146eaa637f','Peigne horizontal ph+N 13 modules')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"9e53b66c-4f9d-498a-bbed-e45f6b90cab2\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('9e53b66c-4f9d-498a-bbed-e45f6b90cab2')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/peigne-vertical-d-alimentation.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0048</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Peigne vertical d'alimentation</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Tableaux</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt A3</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('9e53b66c-4f9d-498a-bbed-e45f6b90cab2')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('9e53b66c-4f9d-498a-bbed-e45f6b90cab2','Peigne vertical d'alimentation')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"42d5988e-d011-4628-bea8-e7238e6acb79\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('42d5988e-d011-4628-bea8-e7238e6acb79')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/piles-aa-alcalines-pack-4.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0119</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Piles AA alcalines (pack 4)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pack</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pack</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('42d5988e-d011-4628-bea8-e7238e6acb79')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('42d5988e-d011-4628-bea8-e7238e6acb79','Piles AA alcalines (pack 4)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"414cee6b-089b-4a55-a1e8-c5e2de9c6ada\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('414cee6b-089b-4a55-a1e8-c5e2de9c6ada')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/pince-coupante-180mm-isolee-1000v.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/outillage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0100</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Pince coupante 180mm isolée 1000V</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Outillage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Véhicule 1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('414cee6b-089b-4a55-a1e8-c5e2de9c6ada')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('414cee6b-089b-4a55-a1e8-c5e2de9c6ada','Pince coupante 180mm isolée 1000V')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"f4b056c2-0b56-49f7-a1a0-901776da8e77\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('f4b056c2-0b56-49f7-a1a0-901776da8e77')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/pince-a-sertir-universelle.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/outillage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0099</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Pince à sertir universelle</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Outillage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Véhicule 1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('f4b056c2-0b56-49f7-a1a0-901776da8e77')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('f4b056c2-0b56-49f7-a1a0-901776da8e77','Pince à sertir universelle')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a7d0623b-031a-49db-8d56-2c2d77b4146f\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a7d0623b-031a-49db-8d56-2c2d77b4146f')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/plafonnier-led-24w-30cm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0065</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Plafonnier LED 24W 30cm</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a7d0623b-031a-49db-8d56-2c2d77b4146f')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a7d0623b-031a-49db-8d56-2c2d77b4146f','Plafonnier LED 24W 30cm')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"f46cd210-73a8-4c02-b1f1-3d4f27e506e7\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('f46cd210-73a8-4c02-b1f1-3d4f27e506e7')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-2p-t-16a-alu-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0028</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise 2P+T 16A alu Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">45</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('f46cd210-73a8-4c02-b1f1-3d4f27e506e7')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('f46cd210-73a8-4c02-b1f1-3d4f27e506e7','Prise 2P+T 16A alu Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6fa09b98-cf21-40de-a07f-ea7cc4786cd5\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6fa09b98-cf21-40de-a07f-ea7cc4786cd5')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-2p-t-16a-blanche-celiane.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0029</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise 2P+T 16A blanche Céliane</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">38</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">10 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6fa09b98-cf21-40de-a07f-ea7cc4786cd5')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6fa09b98-cf21-40de-a07f-ea7cc4786cd5','Prise 2P+T 16A blanche Céliane')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"aeceb49a-4076-4ddf-8f43-5289841989d9\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('aeceb49a-4076-4ddf-8f43-5289841989d9')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-2p-t-16a-blanche-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0027</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise 2P+T 16A blanche Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">7</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">20 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('aeceb49a-4076-4ddf-8f43-5289841989d9')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('aeceb49a-4076-4ddf-8f43-5289841989d9','Prise 2P+T 16A blanche Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a94f68d2-9099-412e-858d-8674fe0f2b02\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a94f68d2-9099-412e-858d-8674fe0f2b02')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-2p-t-20a-plaque-de-cuisson.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0030</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise 2P+T 20A plaque de cuisson</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">12</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a94f68d2-9099-412e-858d-8674fe0f2b02')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a94f68d2-9099-412e-858d-8674fe0f2b02','Prise 2P+T 20A plaque de cuisson')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"4d70f869-9f31-4b72-a110-5389d933ba2c\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('4d70f869-9f31-4b72-a110-5389d933ba2c')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-2p-t-32a-plaque-4-poles.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0031</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise 2P+T 32A plaque 4 pôles</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">8</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('4d70f869-9f31-4b72-a110-5389d933ba2c')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('4d70f869-9f31-4b72-a110-5389d933ba2c','Prise 2P+T 32A plaque 4 pôles')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"690bb0da-8252-4213-a0eb-dd3d09995960\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('690bb0da-8252-4213-a0eb-dd3d09995960')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-rj45-cat-6-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0032</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise RJ45 cat 6 Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">50</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('690bb0da-8252-4213-a0eb-dd3d09995960')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('690bb0da-8252-4213-a0eb-dd3d09995960','Prise RJ45 cat 6 Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"ec8bc8a9-69a5-4be5-a4ba-2d524cc2dfd4\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('ec8bc8a9-69a5-4be5-a4ba-2d524cc2dfd4')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-schuko-allemande.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0117</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise Schuko allemande</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#ef4444;\">2</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span> <i class=\"fas fa-exclamation-triangle\" style=\"color:#ef4444;font-size:11px;\" title=\"Stock bas\"></i></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('ec8bc8a9-69a5-4be5-a4ba-2d524cc2dfd4')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('ec8bc8a9-69a5-4be5-a4ba-2d524cc2dfd4','Prise Schuko allemande')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a588d213-714f-4f1a-8846-94a50ae7fb31\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a588d213-714f-4f1a-8846-94a50ae7fb31')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-tv-satellite-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0033</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise TV satellite Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a588d213-714f-4f1a-8846-94a50ae7fb31')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a588d213-714f-4f1a-8846-94a50ae7fb31','Prise TV satellite Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"3d7f6f07-c43f-418a-90e4-781101a3a0e5\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('3d7f6f07-c43f-418a-90e4-781101a3a0e5')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-usb-double-2-4a-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0034</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise USB double 2.4A Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('3d7f6f07-c43f-418a-90e4-781101a3a0e5')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('3d7f6f07-c43f-418a-90e4-781101a3a0e5','Prise USB double 2.4A Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"4587a4d8-99bd-4b7c-9b06-d326d758c321\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('4587a4d8-99bd-4b7c-9b06-d326d758c321')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/prise-etanche-2p-t-ip55.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/prises.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0035</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Prise étanche 2P+T IP55</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Prises</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère C1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">11</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('4587a4d8-99bd-4b7c-9b06-d326d758c321')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('4587a4d8-99bd-4b7c-9b06-d326d758c321','Prise étanche 2P+T IP55')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"30231c20-ee23-4fb9-bc76-b6f7a78e2c1d\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('30231c20-ee23-4fb9-bc76-b6f7a78e2c1d')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/projecteur-led-20w-ip65-exterieur.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0070</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Projecteur LED 20W IP65 extérieur</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">12</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('30231c20-ee23-4fb9-bc76-b6f7a78e2c1d')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('30231c20-ee23-4fb9-bc76-b6f7a78e2c1d','Projecteur LED 20W IP65 extérieur')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"524dd05d-33ee-4281-9628-9c3f0dadccb6\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('524dd05d-33ee-4281-9628-9c3f0dadccb6')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/ruban-led-5m-2835-blanc-chaud.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0067</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Ruban LED 5m 2835 blanc chaud</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">10</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('524dd05d-33ee-4281-9628-9c3f0dadccb6')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('524dd05d-33ee-4281-9628-9c3f0dadccb6','Ruban LED 5m 2835 blanc chaud')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"44a518da-e643-48c4-b6db-a5e07f841dcc\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('44a518da-e643-48c4-b6db-a5e07f841dcc')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/ruban-isolant-colore-lot-6.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0094</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Ruban isolant coloré (lot 6)</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">lot</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 lot</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('44a518da-e643-48c4-b6db-a5e07f841dcc')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('44a518da-e643-48c4-b6db-a5e07f841dcc','Ruban isolant coloré (lot 6)')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"8bb49cd8-f2a8-4137-9ef0-ff2f3154af92\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('8bb49cd8-f2a8-4137-9ef0-ff2f3154af92')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/ruban-isolant-noir-19mm-x-20m.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0093</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Ruban isolant noir 19mm x 20m</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">65</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('8bb49cd8-f2a8-4137-9ef0-ff2f3154af92')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('8bb49cd8-f2a8-4137-9ef0-ff2f3154af92','Ruban isolant noir 19mm x 20m')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"e3a24dca-eed7-4f19-8c80-a3e3e8191880\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('e3a24dca-eed7-4f19-8c80-a3e3e8191880')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/reglette-led-18w-60cm.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0066</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Réglette LED 18W 60cm</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">15</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('e3a24dca-eed7-4f19-8c80-a3e3e8191880')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('e3a24dca-eed7-4f19-8c80-a3e3e8191880','Réglette LED 18W 60cm')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"27b2eded-7767-4161-bb87-835c11eaa9fd\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('27b2eded-7767-4161-bb87-835c11eaa9fd')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/sirene-interieure-alarme-105db.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/securite.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0084</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Sirène intérieure alarme 105dB</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Sécurité</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère H2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('27b2eded-7767-4161-bb87-835c11eaa9fd')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('27b2eded-7767-4161-bb87-835c11eaa9fd','Sirène intérieure alarme 105dB')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"e0a6f62f-908a-4750-9b16-4d325c932eef\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('e0a6f62f-908a-4750-9b16-4d325c932eef')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/sonde-temperature-knx.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0076</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Sonde température KNX</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G2</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('e0a6f62f-908a-4750-9b16-4d325c932eef')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('e0a6f62f-908a-4750-9b16-4d325c932eef','Sonde température KNX')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"1b751b02-415e-4500-a9b7-6726d6890b75\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('1b751b02-415e-4500-a9b7-6726d6890b75')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/spot-led-ip65-salle-de-bain.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0063</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Spot LED IP65 salle de bain</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">34</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">12 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('1b751b02-415e-4500-a9b7-6726d6890b75')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('1b751b02-415e-4500-a9b7-6726d6890b75','Spot LED IP65 salle de bain')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"f7d718d5-91a1-4a61-a656-a0975b2fff03\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('f7d718d5-91a1-4a61-a656-a0975b2fff03')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/spot-led-encastre-7w-blanc-chaud.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0061</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Spot LED encastré 7W blanc chaud</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">88</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">30 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('f7d718d5-91a1-4a61-a656-a0975b2fff03')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('f7d718d5-91a1-4a61-a656-a0975b2fff03','Spot LED encastré 7W blanc chaud')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"18d91d37-2e2d-4abd-895a-9a5d102c691a\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('18d91d37-2e2d-4abd-895a-9a5d102c691a')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/spot-led-encastre-7w-blanc-neutre.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0062</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Spot LED encastré 7W blanc neutre</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Éclairage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère F1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">80</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">20 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('18d91d37-2e2d-4abd-895a-9a5d102c691a')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('18d91d37-2e2d-4abd-895a-9a5d102c691a','Spot LED encastré 7W blanc neutre')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"bbef2f95-d3da-464f-a7f3-28e713c533ea\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('bbef2f95-d3da-464f-a7f3-28e713c533ea')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/switch-cisco-sg350-28-ports.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/vdi.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0079</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Switch Cisco SG350 28 ports</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">VDI</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Dépôt VDI</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">2</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('bbef2f95-d3da-464f-a7f3-28e713c533ea')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('bbef2f95-d3da-464f-a7f3-28e713c533ea','Switch Cisco SG350 28 ports')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"a9fec88f-ad0b-4a68-a931-33b34cc257b7\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('a9fec88f-ad0b-4a68-a931-33b34cc257b7')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/testeur-differentiel-30ma.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/outillage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0103</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Testeur différentiel 30mA</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Outillage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Véhicule 1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">3</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">1 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('a9fec88f-ad0b-4a68-a931-33b34cc257b7')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('a9fec88f-ad0b-4a68-a931-33b34cc257b7','Testeur différentiel 30mA')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6de22efc-9b15-4075-8f3d-7c4d05d6cdfa\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6de22efc-9b15-4075-8f3d-7c4d05d6cdfa')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/thermostat-connecte-wi-fi.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/chauffage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0105</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Thermostat connecté Wi-Fi</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Chauffage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère I1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">4</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">2 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6de22efc-9b15-4075-8f3d-7c4d05d6cdfa')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6de22efc-9b15-4075-8f3d-7c4d05d6cdfa','Thermostat connecté Wi-Fi')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"54a7bf14-73c6-4ea8-99aa-9f41020ecc5a\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('54a7bf14-73c6-4ea8-99aa-9f41020ecc5a')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/thermostat-d-ambiance-programmable.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/chauffage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0104</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Thermostat d'ambiance programmable</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Chauffage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère I1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">8</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('54a7bf14-73c6-4ea8-99aa-9f41020ecc5a')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('54a7bf14-73c6-4ea8-99aa-9f41020ecc5a','Thermostat d'ambiance programmable')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"de0eb0c7-da6f-4dd1-bfd1-b7c5630d0998\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('de0eb0c7-da6f-4dd1-bfd1-b7c5630d0998')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/telerupteur-modulaire-16a.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/domotique.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0071</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Télérupteur modulaire 16A</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Domotique</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère G1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">18</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">5 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('de0eb0c7-da6f-4dd1-bfd1-b7c5630d0998')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('de0eb0c7-da6f-4dd1-bfd1-b7c5630d0998','Télérupteur modulaire 16A')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"c0d2475d-39be-47d9-866e-26e511f639fb\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('c0d2475d-39be-47d9-866e-26e511f639fb')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/vat-verificateur-absence-tension.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/outillage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0102</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">VAT Vérificateur Absence Tension</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Outillage</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Véhicule 1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">6</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">3 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('c0d2475d-39be-47d9-866e-26e511f639fb')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('c0d2475d-39be-47d9-866e-26e511f639fb','VAT Vérificateur Absence Tension')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"6b1b5ca8-0af9-42e7-94db-fd9172c44070\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('6b1b5ca8-0af9-42e7-94db-fd9172c44070')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/va-et-vient-blanc-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0037</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Va-et-vient blanc Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">49</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">15 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('6b1b5ca8-0af9-42e7-94db-fd9172c44070')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('6b1b5ca8-0af9-42e7-94db-fd9172c44070','Va-et-vient blanc Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"ed72d2e1-174e-4f1c-abc8-faf690e5495a\" style=\"background:white;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('ed72d2e1-174e-4f1c-abc8-faf690e5495a')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='white'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/variateur-rotatif-200w-led-odace.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/interrupteurs.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0040</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Variateur rotatif 200W LED Odace</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Interrupteurs</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Étagère D1</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">12</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">pièce</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">4 pièce</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('ed72d2e1-174e-4f1c-abc8-faf690e5495a')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('ed72d2e1-174e-4f1c-abc8-faf690e5495a','Variateur rotatif 200W LED Odace')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr><tr data-inv-id=\"ced031a7-28a7-4a96-b531-6cf87a16ae46\" style=\"background:#fafafa;border-top:1px solid #f1f5f9;cursor:pointer;\" onclick=\"inventoryOpenDetail('ced031a7-28a7-4a96-b531-6cf87a16ae46')\" onmouseover=\"this.style.background='#f0f4ff'\" onmouseout=\"this.style.background='#fafafa'\"><td style=\"padding:8px 8px 8px 16px;width:88px;\"><img src=\"/img/inventory/articles/vis-a-bois-4x40-tete-fraisee.svg\" alt=\"\" loading=\"lazy\" data-fallbacks=\"["/img/inventory/consommables.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"width:72px;height:72px;border-radius:12px;object-fit:cover;background:#f8fafc;border:1px solid #eef2f7;display:block;\"></td><td style=\"padding:14px 16px;font-size:12px;font-family:monospace;color:#667eea;font-weight:600;\">REF-0096</td><td style=\"padding:14px 16px;font-size:13px;font-weight:600;color:#1e293b;\">Vis à bois 4x40 tête fraisée</td><td style=\"padding:14px 16px;\"><span style=\"background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;\">Consommables</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">Établi</td><td style=\"padding:14px 16px;\"><span data-inv-stock=\"\" style=\"font-size:14px;font-weight:700;color:#10b981;\">22</span><span style=\"font-size:11px;color:#9ca3af;margin-left:4px;\">boîte</span></td><td style=\"padding:14px 16px;font-size:12px;color:#6b7280;\">6 boîte</td><td style=\"padding:14px 16px;\" onclick=\"event.stopPropagation()\"><button onclick=\"inventoryOpenForm('ced031a7-28a7-4a96-b531-6cf87a16ae46')\" style=\"background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;cursor:pointer;color:#6b7280;font-size:12px;margin-right:6px;\" title=\"Modifier\"><i class=\"fas fa-edit\"></i></button><button onclick=\"inventoryDelete('ced031a7-28a7-4a96-b531-6cf87a16ae46','Vis à bois 4x40 tête fraisée')\" style=\"background:none;border:1px solid #fca5a5;border-radius:6px;padding:5px 10px;cursor:pointer;color:#ef4444;font-size:12px;\" title=\"Supprimer\"><i class=\"fas fa-trash\"></i></button></td></tr></tbody></table></div>","details":{"c25a1554-5e4e-4b7d-9822-6896357e2921":"<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;\"><div style=\"display:flex;align-items:center;gap:10px;\"><button onclick=\"inventoryBackToList()\" style=\"background:#f1f5f9;border:none;color:#374151;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;\"><i class=\"fas fa-arrow-left\"></i> Stock</button><span style=\"color:#d1d5db;\">/</span><span style=\"font-size:13px;font-weight:600;color:#1e293b;\">Ampoule LED E27 9W équivalent 60W</span></div><div style=\"display:flex;gap:8px;\"><button onclick=\"inventoryOpenForm('c25a1554-5e4e-4b7d-9822-6896357e2921')\" style=\"padding:10px 20px;background:#fff;color:#1e293b;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;\" onmouseover=\"this.style.background='#f8fafc';this.style.borderColor='#cbd5e1';\" onmouseout=\"this.style.background='#fff';this.style.borderColor='#e5e7eb';\"><i class=\"fas fa-edit\" style=\"margin-right:6px;\"></i>Modifier</button></div></div><div style=\"display:grid;grid-template-columns:1fr 1fr auto;grid-template-rows:auto 1fr;gap:20px;margin-bottom:20px;align-items:stretch;\"><div class=\"card\" style=\"padding:22px;grid-column:1;grid-row:1;\"><div style=\"display:flex;align-items:center;gap:10px;margin-bottom:4px;\"><span style=\"font-family:monospace;font-size:11px;background:#ede9fe;color:#7c3aed;padding:3px 8px;border-radius:4px;font-weight:700;\">REF-0068</span><span style=\"font-size:11px;background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-weight:600;\">Éclairage</span></div><h3 style=\"margin:8px 0 12px;font-size:20px;color:#1e293b;font-weight:700;\">Ampoule LED E27 9W équivalent 60W</h3><p style=\"color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 16px;border-left:3px solid #e5e7eb;padding-left:10px;\">Philips — blanc chaud</p><div style=\"display:flex;flex-direction:column;gap:8px;\"><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-ruler\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Unité</span><span style=\"color:#1e293b;font-weight:500;\">pièce</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-map-marker-alt\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Emplacement</span><span style=\"color:#1e293b;font-weight:500;\">Étagère F3</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-user\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Créé par</span><span style=\"color:#1e293b;font-weight:500;\">Antoine Simon</span></div></div></div><div class=\"card\" style=\"padding:22px;grid-column:2;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:12px;\">Niveaux de stock</div><div style=\"display:flex;align-items:baseline;gap:6px;margin-bottom:6px;\"><span id=\"inv-stock-val\" style=\"font-size:52px;font-weight:800;color:#ef4444;line-height:1;transition:color 0.4s;\">14</span><span style=\"font-size:16px;color:#9ca3af;font-weight:500;\">pièce</span></div><div style=\"font-size:12px;color:#9ca3af;margin-bottom:12px;\">Seuil d'alerte : 25 pièce</div><div style=\"height:6px;background:#f1f5f9;border-radius:3px;margin-bottom:16px;overflow:hidden;\"><div style=\"height:100%;width:19%;background:#ef4444;border-radius:3px;transition:width 0.3s;\"></div></div><div style=\"background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 12px;margin-bottom:14px;font-size:12px;color:#dc2626;\"><i class=\"fas fa-exclamation-triangle\" style=\"margin-right:6px;\"></i>Stock sous le seuil d'alerte</div><div style=\"display:flex;flex-direction:column;gap:8px;\"><button onclick=\"inventoryOpenMovement('c25a1554-5e4e-4b7d-9822-6896357e2921','RETURN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#0891b215;color:#0891b2;border:1px solid #0891b2;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-rotate-left\"></i>Retourner au stock</button><button onclick=\"inventoryOpenMovement('c25a1554-5e4e-4b7d-9822-6896357e2921','IN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#10b98115;color:#10b981;border:1px solid #10b981;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-down\"></i>Entrée stock</button><button onclick=\"inventoryOpenMovement('c25a1554-5e4e-4b7d-9822-6896357e2921','OUT')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#ef444415;color:#ef4444;border:1px solid #ef4444;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-up\"></i>Sortie stock</button><button onclick=\"inventoryOpenMovement('c25a1554-5e4e-4b7d-9822-6896357e2921','ADJUST')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#f59e0b15;color:#f59e0b;border:1px solid #f59e0b;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-balance-scale\"></i>Ajustement</button><button onclick=\"inventoryOpenMovement('c25a1554-5e4e-4b7d-9822-6896357e2921','BROKEN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#71717a15;color:#71717a;border:1px dashed #71717a;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-circle-xmark\"></i>Déclarer cassé</button></div></div><div class=\"card\" style=\"padding:22px;text-align:center;grid-column:3;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:10px;\">Code article</div><div style=\"display:inline-flex;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:8px;padding:3px;margin-bottom:14px;\"><button onclick=\"inventorySetCodeMode('qr')\" style=\"border:none;background:#ffffff;color:#1e293b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.08);display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-qrcode\"></i>QR Ohmbase</button><button onclick=\"inventorySetCodeMode('barcode')\" style=\"border:none;background:transparent;color:#64748b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:none;display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-barcode\"></i>Code-barre</button></div><div id=\"inv-code-visual\" style=\"min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAklEQVR4AewaftIAAAtESURBVO3BwY1dSQ5FwaNE+cE9baD5tIF7WqLRMkEoka8ffkndgxvx4+cviMhvLUTkaCEiRwsROVqIyNEXv2Ee/G1dyY15MHUlO/Pgja7kCfNg15VM5sEndCWTeTB1JW+YB290JTvzYOpKbsyDv60r2S1E5GghIkcLETlaiMjRFw91Jd/FPPgU82DXlTxhHtyYBzfmwdSV/Bd1JU+YB7uuZDIPpq7kpiv5LubBzUJEjhYicrQQkaMvXjIP3uhKvlNXsjMPnuhKbrqSyTx4wzzYdSWTeXDTlUzmwa4rmcyDqSvZmQdTV3JjHkxdyaeYB290Jf/UQkSOFiJytBCRo4WIHH3xf8Y82HUlT5gHu67kO3UlO/PgDfPgxjyYupI3zIObrmQyD6au5N9uISJHCxE5WojI0UJEjr74P2cePNGV/Nt1JZN58Cnmwa4recI8+H+1EJGjhYgcLUTk6IuXupI/yTx4oivZmQdPmAc3XcnUlezMg8k8eKMr2ZkHU1cymQc35sGNefBEV7IzD6au5FO6kj9lISJHCxE5WojI0UJEjr54yDz4t+lKJvNg15VM5sHUlezMgyfMg11XMpkHU1eyMw++S1cymQdTV7IzD6auZDIPdl3JZB5MXcmNefA3LUTkaCEiRwsROVqIyNGPn7/wf8Q8uOlKbsyDJ7qSnXnwRlcymQef0JVM5sFNVzKZB1NXsjMPpq7kv2ghIkcLETlaiMjRF79hHkxdyY15MHUlO/Pgia5kZx5MXclNVzKZB1NXctOVTObBriv5Ll3JZB7cmAdPdCU782DqSm66kifMg11XMpkHU1fypyxE5GghIkcLETlaiMjRFw+ZB5/QlTxhHuy6kjfMgyfMgze6kp158ERXsjMPbsyDqSuZzIPvYh5MXcl36UpuzINP6Up2CxE5WojI0UJEjhYicvTj5y98iHlw05VM5sGndCU35sFNV/KGeTB1JZN5cNOV7MyDqSu5MQ+mruQN8+C7dCVPmAe7ruS7LETkaCEiRwsROfriX6ArmcyDN8yDN7qSnXkwdSWTebDrSibz4KYrmcyDXVfyt3Ulb5gHN+bBG+bBp3Qlu4WIHC1E5GghIkcLETn64jfMg6kr2ZkHU1cymQc35sFNVzKZBzddyRPmwa4recM8mLqSG/PgDfNg6kpuzIOpK9mZB9+pK9mZB1NX8inmwT+1EJGjhYgcLUTkaCEiRz9+/sID5sF36UreMA/+C7qSG/PgU7qSG/PgpiuZzIObruRTzIOpK9mZB090Jf/UQkSOFiJytBCRox8/f2EwDz6lK9mZB090JTvz4Imu5MY8uOlKJvPgpiuZzIObrmQyD97oSnbmwdSVTObBG13JjXkwdSU78+CNruQN82DqSnYLETlaiMjRQkSOFiJy9MUHdSVvdCWTebDrSt4wD6auZDIPdubBE13JzjyYupIb8+Bv60p25sEb5sET5sGuK3nDPJi6kk9YiMjRQkSOFiJytBCRox8/f+EPMg+e6Ep25sETXcknmAdvdCWfYh7cdCWTebDrSibz4I2uZDIPdl3JE+bBriuZzIOpK9mZB1NXMpkHu67kZiEiRwsROVqIyNEXD5kHu67kCfPgpit5oyv5FPNg15W8YR480ZXszIObrmQyD6au5KYr+bcxD97oSt4wD6auZLcQkaOFiBwtRORoISJHX/yGeTB1JTvzYOpKbrqSyTyYupJdV/KEefAJ5sHUlUzmwU1X8kZXsjMPpq5kMg9uupIb82DqSt4wD6auZGcePGEe7LqSJ7qSnXlwsxCRo4WIHC1E5GghIkdffLOu5KYrmcyDXVcymQc3XclkHkxdyc48mMyDm67kCfNg15VM5sGuK5nMgz/JPLgxD54wD3ZdyWQefIp5sOtKbhYicrQQkaOFiBx98RtdyXcxD57oSnbmwdSVTObBG+bBrit5wzyYupKpK7npSnbmwdSVTObBriuZzIOpK9l1JZN5cNOVvGEeTF3JG+bB1JXszIOpK9ktRORoISJHCxE5WojI0RcPmQe7ruQJ82DXlTxhHnyCeTB1JZN58IZ58AnmwXcxD6au5I2uZDIPbsyDqSu5MQ+mruRPWYjI0UJEjhYicvTFQ13JJ5gHb3Qlk3kwdSV/UleyMw8m8+BP6kpuzIOpK9mZB090JTvz4I2u5AnzYNeVPGEe7LqSm4WIHC1E5GghIkcLETn64jfMg5uuZDIPpq5kZx5MXclkHtx0JX+SeXDTlTxhHuy6ksk82HUlT5gHN13JZB7supInzINdVzKZB5N5sOtKnuhKdubBd1mIyNFCRI4WInK0EJGjHz9/YTAPpq7kxjy46Uom8+BTupKdeTB1JZ9iHtx0JW+YB7uu5Anz4KYruTEPnuhK3jAPbrqSyTy46Uom8+CmK9ktRORoISJHCxE5+vHzF14wDz6lK5nMg+/SldyYB1NXcmMe/EldyWQe7LqSTzEPpq5kZx5MXckb5sHUlbxhHtx0JbuFiBwtRORoISJHCxE5+uI3zINP6Up25sFkHkxdyd/UlXxKV/JdzIOpK7kxD6au5BO6kr/NPPiEhYgcLUTkaCEiRwsROfriN7qSG/PgCfPgpiuZzIM3upIb8+CmK5nMg6kr+QTz4FPMg5uuZDIP3jAPdl3JE+bBriv5lK7kExYicrQQkaOFiBz9+PkLg3nwRldyYx680ZVM5sEbXcmNeTB1JTfmwRNdyY15sOtKJvPgpiuZzINP6Up25sHUlfxt5sGuK7lZiMjRQkSOFiJytBCRox8/f+EF8+BTupLJPPguXclkHuy6ksk8uOlKnjAPbrqSN8yDT+hKJvNg6kreMA/e6Ep25sETXcnOPJi6kt1CRI4WInK0EJGjhYgc/fj5C4N5MHUln2AefEpXMpkHN13JjXnwRFeyMw+e6EpuzINP6Eom82DqSt4wD3ZdyWQefJeu5A3zYOpKdgsROVqIyNFCRI6++I2u5MY8mLqSyTy46UreMA9uupLJPPiTupJP6EqeMA/eMA/e6Ep25sHUldyYB2+YB1NXMpkH/9RCRI4WInK0EJGjhYgcffEb5sHUlXwX8+CmK3miK9mZB1NXMpkHu67kCfPg3848mLqS79KVTObBd+lKJvNg6kp25sHNQkSOFiJytBCRo4WIHH3xG13JTVfyRFfyCebB1JVM5sEnmAdTVzJ1JTvz4FO6kp15MHUlU1eyMw/+JPPgia7kDfPgDfPgn1qIyNFCRI4WInL0xW+YB39bV7LrSibzYOpKdubBZB7cdCWTeTB1JbuuZDIPbrqSyTx4wzy4MQ+mrmRnHjzRlXyCeTB1JZ/SlfxTCxE5WojI0UJEjhYicvTFQ13JdzEPbsyDJ8yDXVfyhnkwdSV/UldyYx5MXcnOPJi6ksk8+ISuZDIPbrqSf5uFiBwtRORoISJHCxE5+uIl8+CNruSNrmQyD75LV/KEebDrSp7oSj6hK7npSibzYOpKPsE8eMI8+LdbiMjRQkSOFiJy9MV/hHkwdSU35sEbXclkHkxdyRvmwa4rmcyDm67ku5gHU1dy05VM5sEbXclkHtx0JZ+wEJGjhYgcLUTkaCEiR1/8R3Qlk3kwdSW7rmQyD6au5A3z4I2uZGceTF3JjXkwdSWf0JVM5sFNV/JEV/I3mQdTV7JbiMjRQkSOFiJytBCRoy9e6kr+tq7kxjyYupK/zTy4MQ/eMA/eMA92XckTXcnOPHjCPHijK9mZB1NXMpkHu67kZiEiRwsROVqIyNEXD5kHf5N5MHUlN13JE+bBTVcymQc3XcmNefBdupLJPJi6kj+pK9mZB0+YB7uu5LssRORoISJHCxE5WojI0Y+fvyAiv7UQkaOFiBwtROTof7xutuMuAaezAAAAAElFTkSuQmCC\" alt=\"QR Code REF-0068\" style=\"width:160px;height:160px;border-radius:8px;border:1px solid #e5e7eb;display:block;\"></div><div style=\"font-family:monospace;font-size:12px;color:#667eea;font-weight:700;margin-top:6px;margin-bottom:4px;\">REF-0068</div><div style=\"font-size:11px;color:#9ca3af;max-width:180px;margin:0 auto;word-break:break-word;\">Ampoule LED E27 9W équivalent 60W</div><button onclick=\"inventoryPrintCode()\" style=\"margin-top:12px;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:11px;color:#6b7280;\"><i class=\"fas fa-print\" style=\"margin-right:4px;\"></i>Imprimer</button></div><div class=\"card\" style=\"padding:18px;grid-column:1;grid-row:2;display:flex;flex-direction:column;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;\"><h4 style=\"margin:0;font-size:13px;color:#1e293b;display:flex;align-items:center;gap:6px;\"><i class=\"fas fa-image\" style=\"color:#667eea;\"></i>Photo de l'article</h4></div><div style=\"flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px;padding:14px;min-height:160px;gap:10px;\"><img src=\"/img/inventory/articles/ampoule-led-e27-9w-equivalent-60w.svg\" alt=\"\" data-fallbacks=\"["/img/inventory/eclairage.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"max-width:100%;max-height:170px;border-radius:8px;object-fit:contain;\"><span style=\"font-size:10px;color:#94a3b8;font-style:italic;\">Visuel générique — ajoutez votre photo</span></div><label style=\"display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:#667eea;cursor:pointer;font-weight:600;\"><i class=\"fas fa-cloud-upload-alt\"></i>Ajouter votre photo<input type=\"file\" accept=\"image/*\" onchange=\"inventoryUploadImage('c25a1554-5e4e-4b7d-9822-6896357e2921', this.files[0])\" style=\"display:none;\"><span style=\"font-size:10px;color:#94a3b8;font-weight:400;margin-left:4px;\">(JPG/PNG/WEBP · 10 Mo)</span></label></div></div><div class=\"card\" style=\"padding:20px;margin-bottom:20px;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;\"><h4 style=\"margin:0;font-size:15px;color:#1e293b;display:flex;align-items:center;gap:8px;\"><i class=\"fas fa-history\" style=\"color:#667eea;\"></i>Historique des mouvements</h4><span style=\"font-size:11px;color:#9ca3af;\">8 mouvement(s)</span></div><div id=\"inv-movements-list\" style=\"max-height:360px;overflow-y:auto;\"><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Olivier Dubois</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-5 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">10/06<br>17:46</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Olivier Dubois</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-10 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">10/06<br>14:17</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-1 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">26/04<br>15:56</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-10 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">26/04<br>15:53</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-3 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/04<br>11:44</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-11 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/04<br>11:35</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-41 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/04<br>11:05</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#10b98115;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-down\" style=\"color:#10b981;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Entrée</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon · Stock initial — constitution catalogue</div></div><div style=\"font-size:14px;font-weight:700;color:#10b981;white-space:nowrap;\">+95 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">04/03<br>13:09</div></div></div></div>","c4c54309-1821-4e3d-9e54-84a969175108":"<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;\"><div style=\"display:flex;align-items:center;gap:10px;\"><button onclick=\"inventoryBackToList()\" style=\"background:#f1f5f9;border:none;color:#374151;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;\"><i class=\"fas fa-arrow-left\"></i> Stock</button><span style=\"color:#d1d5db;\">/</span><span style=\"font-size:13px;font-weight:600;color:#1e293b;\">Bloc autonome éclairage sécurité</span></div><div style=\"display:flex;gap:8px;\"><button onclick=\"inventoryOpenForm('c4c54309-1821-4e3d-9e54-84a969175108')\" style=\"padding:10px 20px;background:#fff;color:#1e293b;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;\" onmouseover=\"this.style.background='#f8fafc';this.style.borderColor='#cbd5e1';\" onmouseout=\"this.style.background='#fff';this.style.borderColor='#e5e7eb';\"><i class=\"fas fa-edit\" style=\"margin-right:6px;\"></i>Modifier</button></div></div><div style=\"display:grid;grid-template-columns:1fr 1fr auto;grid-template-rows:auto 1fr;gap:20px;margin-bottom:20px;align-items:stretch;\"><div class=\"card\" style=\"padding:22px;grid-column:1;grid-row:1;\"><div style=\"display:flex;align-items:center;gap:10px;margin-bottom:4px;\"><span style=\"font-family:monospace;font-size:11px;background:#ede9fe;color:#7c3aed;padding:3px 8px;border-radius:4px;font-weight:700;\">REF-0083</span><span style=\"font-size:11px;background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-weight:600;\">Sécurité</span></div><h3 style=\"margin:8px 0 12px;font-size:20px;color:#1e293b;font-weight:700;\">Bloc autonome éclairage sécurité</h3><p style=\"color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 16px;border-left:3px solid #e5e7eb;padding-left:10px;\">BAES 45lm SATI — ERP</p><div style=\"display:flex;flex-direction:column;gap:8px;\"><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-ruler\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Unité</span><span style=\"color:#1e293b;font-weight:500;\">pièce</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-map-marker-alt\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Emplacement</span><span style=\"color:#1e293b;font-weight:500;\">Étagère H1</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-user\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Créé par</span><span style=\"color:#1e293b;font-weight:500;\">Antoine Simon</span></div></div></div><div class=\"card\" style=\"padding:22px;grid-column:2;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:12px;\">Niveaux de stock</div><div style=\"display:flex;align-items:baseline;gap:6px;margin-bottom:6px;\"><span id=\"inv-stock-val\" style=\"font-size:52px;font-weight:800;color:#10b981;line-height:1;transition:color 0.4s;\">10</span><span style=\"font-size:16px;color:#9ca3af;font-weight:500;\">pièce</span></div><div style=\"font-size:12px;color:#9ca3af;margin-bottom:12px;\">Seuil d'alerte : 4 pièce</div><div style=\"height:6px;background:#f1f5f9;border-radius:3px;margin-bottom:16px;overflow:hidden;\"><div style=\"height:100%;width:83%;background:#10b981;border-radius:3px;transition:width 0.3s;\"></div></div><div style=\"display:flex;flex-direction:column;gap:8px;\"><button onclick=\"inventoryOpenMovement('c4c54309-1821-4e3d-9e54-84a969175108','RETURN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#0891b215;color:#0891b2;border:1px solid #0891b2;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-rotate-left\"></i>Retourner au stock</button><button onclick=\"inventoryOpenMovement('c4c54309-1821-4e3d-9e54-84a969175108','IN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#10b98115;color:#10b981;border:1px solid #10b981;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-down\"></i>Entrée stock</button><button onclick=\"inventoryOpenMovement('c4c54309-1821-4e3d-9e54-84a969175108','OUT')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#ef444415;color:#ef4444;border:1px solid #ef4444;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-up\"></i>Sortie stock</button><button onclick=\"inventoryOpenMovement('c4c54309-1821-4e3d-9e54-84a969175108','ADJUST')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#f59e0b15;color:#f59e0b;border:1px solid #f59e0b;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-balance-scale\"></i>Ajustement</button><button onclick=\"inventoryOpenMovement('c4c54309-1821-4e3d-9e54-84a969175108','BROKEN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#71717a15;color:#71717a;border:1px dashed #71717a;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-circle-xmark\"></i>Déclarer cassé</button></div></div><div class=\"card\" style=\"padding:22px;text-align:center;grid-column:3;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:10px;\">Code article</div><div style=\"display:inline-flex;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:8px;padding:3px;margin-bottom:14px;\"><button onclick=\"inventorySetCodeMode('qr')\" style=\"border:none;background:#ffffff;color:#1e293b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.08);display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-qrcode\"></i>QR Ohmbase</button><button onclick=\"inventorySetCodeMode('barcode')\" style=\"border:none;background:transparent;color:#64748b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:none;display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-barcode\"></i>Code-barre</button></div><div id=\"inv-code-visual\" style=\"min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAklEQVR4AewaftIAAAt+SURBVO3BwY1cy65FwaVE+cE5baD5tIFzWqIv/FGC6ESWDqqlq4cd8ePnL4jIlxYicrQQkaOFiBwtROToxRfMg7+tK7kxD6au5Anz4ImuZGcevKMr2ZkHN13JZB5MXcnOPJi6khvzYOpKbsyDd3QlO/Pgb+tKdgsROVqIyNFCRI4WInL04k1dyXcxD57oSibz4KYruelKPqUruelKJvPgpit5wjy46UreYR7cdCVPdCXfxTy4WYjI0UJEjhYicvTiIfPgia7kCfNg6kqmruTGPJi6kp158CnmwU1XcmMeTF3JE13Jp3QlN+bB1JU8YR480ZX8roWIHC1E5GghIkcLETl68T/GPLjpSm66ksk8mLqSJ8yD39WVTObB1JXsupLJPHiiK5nMg11X8r9iISJHCxE5WojI0UJEjl78j+tKJvNg6kp25sHUlUzmwSeYB1NXsjMP3mEe7LqSqSuZzINdV/KOrmRnHkxdyb9oISJHCxE5WojI0YuHupK/zTyYupJP6Eom82DqSnbmwdSV/EldySeYB090JZN5MHUlT3Qlf8pCRI4WInK0EJGjhYgcvXiTefBf05VM5sGuK3nCPJi6ksk82HUlk3kwdSU782DqSm66ksk82HUlk3kwdSU782DqSibz4LuYB3/TQkSOFiJytBCRo4WIHP34+Qv/APNg6kom8+ATupLJPLjpSt5hHvyuruRTzIMnupLJPLjpSv5FCxE5WojI0UJEjn78/IXBPJi6kp158J26khvzYOpKdubBO7qSnXkwdSWTeXDTlXyCeTB1JZN58AldyWQeTF3JJ5gH36kr+V0LETlaiMjRQkSOFiJy9OILXclkHtx0JTfmwdSVfJeu5ImuZDIPPsU8uOlKbsyDqSu5MQ+mrmRnHkxdyWQe3HQlk3mw60reYR7supLJPJjMg11XcrMQkaOFiBwtRORoISJHL75gHkxdyY158IR5MHUlf5N58I6u5Imu5BO6kie6ksk82HUl7+hKnuhKbsyDqSvZmQffZSEiRwsROVqIyNGPn7/wIebB1JXszIOpK5nMg11X8l9kHjzRlezMg5uu5B3mwU1X8inmwU1XMpkHu65kMg9uupJ3mAc3XcluISJHCxE5WojI0UJEjl68yTy46UqeMA+mruTGPLjpSibz4FO6khvz4ImuZGcefIp58Cldyc48eEdXctOVPGEeTF3J71qIyNFCRI4WInK0EJGjF18wD6auZGcefEpXMpkHu67kCfNg6kom82DXlUzmwY158ERX8kRX8inmwa4rmcyDyTzYdSWTeXDTlbzDPHjCPLjpSnYLETlaiMjRQkSOfvz8hTeYB7uu5FPMgye6ksk82HUlk3lw05V8inkwdSU782DqSnbmwRNdyWQePNGVTObBTVcymQe7ruQd5sGuK3mHeXDTlewWInK0EJGjhYgcLUTk6MUXzIOpK9mZB1NXMpkHN13JjXnwhHnwjq5kZx5MXcmNefBEV3LTlUzmwdSV3HQlk3mw60re0ZXszIPJPHjCPPguXcnNQkSOFiJytBCRo4WIHL34Qldy05VM5sFNVzKZB1NXcmMe3HQl7zAPdl3JO8yD/xrzYNeVTObBE+bBE13Jp3QlN+bB1JXszIOpK9ktRORoISJHCxE5evEF82DqSnbmwdSVPNGV3HQl7zAPdubB1JXcmAdTV3LTlUzmwY15MHUlT3QlN13JZB58QlfyDvPgCfPgpiuZzIPftRCRo4WIHC1E5GghIkcvHupKJvNg6kpuzIOpK9mZB+/oSnbmwWQe3HQlk3nwXbqSG/Ng6kom82DXlbyjK3miK/mErmQyD266ksk8uOlKbhYicrQQkaOFiBwtROTox89fGMyDJ7qSyTzYdSXvMA92Xck7zIMnupKdefBEV/KEeTB1JTfmwdSV3JgHN13JZB480ZVM5sFNV/KEefBEV7JbiMjRQkSOFiJy9OKDzIMnzIOpK9mZB1NXctOVPNGVfIp5MHUlu65kMg+eMA92XcnUlTzRlXyXruRP6kpuFiJytBCRo4WIHC1E5OjFF7qSyTy46Uom82BnHkxdyWQe3JgHT5gHN13JO8yDXVcydSWTebDrSm66kneYBzfmwdSV7MyD79SV7MyDT+lKbsyDqSvZLUTkaCEiRwsROfrx8xcG82DqSnbmwdSVTObBriuZzIOpK9mZB090JZ9iHnyXruTGPPiUruQJ82DqSv5rzIOpK/ldCxE5WojI0UJEjhYicvTioa5kMg+mrmRnHkxdyWQePNGV3JgHT3QlT5gHU1eyMw9uupLJPLjpSibz4KYrmbqSG/Ng6kom8+ATupKpK/mEhYgcLUTkaCEiRwsROXrxJvNg15VMXckT5sFNVzKZBzfmwdSVfBfzYOpKJvPgpivZmQdPmAefYh5MXcmuK5nMgye6kr9pISJHCxE5WojI0Ys3dSU782DqSibzYNeVPGEevMM82HUlk3kwdSU35sHUley6kk8xD3ZdyWQeTF3JJ5gHU1cymQc3XclkHuy6ku9kHtx0JbuFiBwtRORoISJHCxE5+vHzF95gHvxNXckT5sE7upKdeTB1Jf8i8+BP6kqeMA+e6Eom8+CJrmS3EJGjhYgcLUTkaCEiRy++YB78SV3JjXkwdSWTebDrSibz4Anz4ImuZDIPbrqS79KVTObBTVdyYx5MXcl3MQ+mruQTFiJytBCRo4WIHL14U1dyYx5MXcmNeXDTlTxhHkxdyWQePNGV7MyDyTy46Uom82DXlUzmwdSV3JgHU1dyYx7cdCXvMA9uupIb82AyD6au5HctRORoISJHCxE5WojI0YuHzIOpK7kxD6auZDIPdubB1JVMXcnOPJjMg6kr2ZkHU1cymQdPdCU78+CJrmQyD3ZdyWQeTObBTVcymQffxTy46UreYR7cdCW7hYgcLUTkaCEiRwsROfrx8xcG82DqSnbmwXfqSnbmwad0JU+YB1NXcmMe3HQlk3lw05U8YR5MXcl/jXlw05VM5sFNV3KzEJGjhYgcLUTk6MU360p25sHUldx0JZN5cNOVvMM82HUl7zAPPsE8uOlK3mEefIJ5MHUlf1JXcmMeTF3JjXkwdSW7hYgcLUTkaCEiRwsROXrxQV3JZB7cmAc3XcnUldyYB1NXMnUlO/Ng6ko+xTzYdSWTebAzD6au5KYr+RTzYOpKbsyD79KVTObB1JXsupKbhYgcLUTkaCEiRwsROfrx8xf+AebBd+pKdubBd+pKdubBTVfyhHkwdSWTeXDTlTxhHkxdyRPmwU1XMpkHN13JbiEiRwsROVqIyNGLL5gHf1tXsutKJvPgpiv5lK5kMg9uupI/yTy4MQ+mruQJ8+ATzIOpK7npSibz4KYruVmIyNFCRI4WInK0EJGjF2/qSr6LeXBjHryjK9mZB1NXMpkHN+bBE+bBJ5gHU1cydSU782DqSibzYNeVvKMruTEPbrqS79SV/K6FiBwtRORoISJHCxE5evGQefBEV/IpXclkHuy6knd0JTvzYOpKJvNg15V8inmw60qe6Eom82DqSp4wD3ZdyTvMg+/SlUzmwU1XsluIyNFCRI4WInL04h9mHtyYB1NXMpkHN+bBE+bB1JX8LvNg6kom82DXlUxdyY158I6u5KYrmcyDXVcymQdTV7IzD6au5BMWInK0EJGjhYgcLUTk6IX8v67kxjz4FPPgbzIPbrqSd5gHn2AevMM8uDEPbrqSm4WIHC1E5GghIkcLETl68VBX8id1Je8wD3ZdyTvMg11XMnUlk3nwRFdyYx78i7qSyTx4oiuZzINdV/IO8+B3LUTkaCEiRwsROXrxJvPgbzIPpq5k6kp25sE7upIb8+BP6kp25sFkHtyYB1NXMpkHN+bB1JXcdCWTeXBjHnxKV/K7FiJytBCRo4WIHC1E5OjHz18QkS8tRORoISJHCxE5+j/oivheUrqq/AAAAABJRU5ErkJggg==\" alt=\"QR Code REF-0083\" style=\"width:160px;height:160px;border-radius:8px;border:1px solid #e5e7eb;display:block;\"></div><div style=\"font-family:monospace;font-size:12px;color:#667eea;font-weight:700;margin-top:6px;margin-bottom:4px;\">REF-0083</div><div style=\"font-size:11px;color:#9ca3af;max-width:180px;margin:0 auto;word-break:break-word;\">Bloc autonome éclairage sécurité</div><button onclick=\"inventoryPrintCode()\" style=\"margin-top:12px;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:11px;color:#6b7280;\"><i class=\"fas fa-print\" style=\"margin-right:4px;\"></i>Imprimer</button></div><div class=\"card\" style=\"padding:18px;grid-column:1;grid-row:2;display:flex;flex-direction:column;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;\"><h4 style=\"margin:0;font-size:13px;color:#1e293b;display:flex;align-items:center;gap:6px;\"><i class=\"fas fa-image\" style=\"color:#667eea;\"></i>Photo de l'article</h4></div><div style=\"flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px;padding:14px;min-height:160px;gap:10px;\"><img src=\"/img/inventory/articles/bloc-autonome-eclairage-securite.svg\" alt=\"\" data-fallbacks=\"["/img/inventory/securite.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"max-width:100%;max-height:170px;border-radius:8px;object-fit:contain;\"><span style=\"font-size:10px;color:#94a3b8;font-style:italic;\">Visuel générique — ajoutez votre photo</span></div><label style=\"display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:#667eea;cursor:pointer;font-weight:600;\"><i class=\"fas fa-cloud-upload-alt\"></i>Ajouter votre photo<input type=\"file\" accept=\"image/*\" onchange=\"inventoryUploadImage('c4c54309-1821-4e3d-9e54-84a969175108', this.files[0])\" style=\"display:none;\"><span style=\"font-size:10px;color:#94a3b8;font-weight:400;margin-left:4px;\">(JPG/PNG/WEBP · 10 Mo)</span></label></div></div><div class=\"card\" style=\"padding:20px;margin-bottom:20px;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;\"><h4 style=\"margin:0;font-size:15px;color:#1e293b;display:flex;align-items:center;gap:8px;\"><i class=\"fas fa-history\" style=\"color:#667eea;\"></i>Historique des mouvements</h4><span style=\"font-size:11px;color:#9ca3af;\">4 mouvement(s)</span></div><div id=\"inv-movements-list\" style=\"max-height:360px;overflow-y:auto;\"><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#10b98115;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-down\" style=\"color:#10b981;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Entrée</div><div style=\"font-size:11px;color:#9ca3af;\">Olivier Dubois</div></div><div style=\"font-size:14px;font-weight:700;color:#10b981;white-space:nowrap;\">+10 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">25/04<br>12:53</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-3 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/04<br>11:32</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-11 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/04<br>11:31</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#10b98115;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-down\" style=\"color:#10b981;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Entrée</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon · Stock initial — constitution catalogue</div></div><div style=\"font-size:14px;font-weight:700;color:#10b981;white-space:nowrap;\">+14 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">26/02<br>13:09</div></div></div></div>","d2204472-97c6-4818-ac8b-05bc36417342":"<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;\"><div style=\"display:flex;align-items:center;gap:10px;\"><button onclick=\"inventoryBackToList()\" style=\"background:#f1f5f9;border:none;color:#374151;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;\"><i class=\"fas fa-arrow-left\"></i> Stock</button><span style=\"color:#d1d5db;\">/</span><span style=\"font-size:13px;font-weight:600;color:#1e293b;\">Coffret 3 rangées 39 modules</span></div><div style=\"display:flex;gap:8px;\"><button onclick=\"inventoryOpenForm('d2204472-97c6-4818-ac8b-05bc36417342')\" style=\"padding:10px 20px;background:#fff;color:#1e293b;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;\" onmouseover=\"this.style.background='#f8fafc';this.style.borderColor='#cbd5e1';\" onmouseout=\"this.style.background='#fff';this.style.borderColor='#e5e7eb';\"><i class=\"fas fa-edit\" style=\"margin-right:6px;\"></i>Modifier</button></div></div><div style=\"display:grid;grid-template-columns:1fr 1fr auto;grid-template-rows:auto 1fr;gap:20px;margin-bottom:20px;align-items:stretch;\"><div class=\"card\" style=\"padding:22px;grid-column:1;grid-row:1;\"><div style=\"display:flex;align-items:center;gap:10px;margin-bottom:4px;\"><span style=\"font-family:monospace;font-size:11px;background:#ede9fe;color:#7c3aed;padding:3px 8px;border-radius:4px;font-weight:700;\">REF-0043</span><span style=\"font-size:11px;background:#f0f4ff;color:#667eea;padding:3px 8px;border-radius:4px;font-weight:600;\">Tableaux</span></div><h3 style=\"margin:8px 0 12px;font-size:20px;color:#1e293b;font-weight:700;\">Coffret 3 rangées 39 modules</h3><p style=\"color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 16px;border-left:3px solid #e5e7eb;padding-left:10px;\">Hager VS313 — appartement T3</p><div style=\"display:flex;flex-direction:column;gap:8px;\"><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-ruler\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Unité</span><span style=\"color:#1e293b;font-weight:500;\">pièce</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-map-marker-alt\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Emplacement</span><span style=\"color:#1e293b;font-weight:500;\">Dépôt A3</span></div><div style=\"display:flex;align-items:center;gap:10px;font-size:13px;\"><i class=\"fas fa-user\" style=\"color:#9ca3af;width:14px;text-align:center;\"></i><span style=\"color:#6b7280;min-width:70px;\">Créé par</span><span style=\"color:#1e293b;font-weight:500;\">Antoine Simon</span></div></div></div><div class=\"card\" style=\"padding:22px;grid-column:2;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:12px;\">Niveaux de stock</div><div style=\"display:flex;align-items:baseline;gap:6px;margin-bottom:6px;\"><span id=\"inv-stock-val\" style=\"font-size:52px;font-weight:800;color:#10b981;line-height:1;transition:color 0.4s;\">198</span><span style=\"font-size:16px;color:#9ca3af;font-weight:500;\">pièce</span></div><div style=\"font-size:12px;color:#9ca3af;margin-bottom:12px;\">Seuil d'alerte : 2 pièce</div><div style=\"height:6px;background:#f1f5f9;border-radius:3px;margin-bottom:16px;overflow:hidden;\"><div style=\"height:100%;width:100%;background:#10b981;border-radius:3px;transition:width 0.3s;\"></div></div><div style=\"display:flex;flex-direction:column;gap:8px;\"><button onclick=\"inventoryOpenMovement('d2204472-97c6-4818-ac8b-05bc36417342','RETURN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#0891b215;color:#0891b2;border:1px solid #0891b2;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-rotate-left\"></i>Retourner au stock</button><button onclick=\"inventoryOpenMovement('d2204472-97c6-4818-ac8b-05bc36417342','IN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#10b98115;color:#10b981;border:1px solid #10b981;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-down\"></i>Entrée stock</button><button onclick=\"inventoryOpenMovement('d2204472-97c6-4818-ac8b-05bc36417342','OUT')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#ef444415;color:#ef4444;border:1px solid #ef4444;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-arrow-up\"></i>Sortie stock</button><button onclick=\"inventoryOpenMovement('d2204472-97c6-4818-ac8b-05bc36417342','ADJUST')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#f59e0b15;color:#f59e0b;border:1px solid #f59e0b;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-balance-scale\"></i>Ajustement</button><button onclick=\"inventoryOpenMovement('d2204472-97c6-4818-ac8b-05bc36417342','BROKEN')\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#71717a15;color:#71717a;border:1px dashed #71717a;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;\"><i class=\"fas fa-circle-xmark\"></i>Déclarer cassé</button></div></div><div class=\"card\" style=\"padding:22px;text-align:center;grid-column:3;grid-row:1 / span 2;\"><div style=\"font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:10px;\">Code article</div><div style=\"display:inline-flex;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:8px;padding:3px;margin-bottom:14px;\"><button onclick=\"inventorySetCodeMode('qr')\" style=\"border:none;background:#ffffff;color:#1e293b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.08);display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-qrcode\"></i>QR Ohmbase</button><button onclick=\"inventorySetCodeMode('barcode')\" style=\"border:none;background:transparent;color:#64748b;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;box-shadow:none;display:flex;align-items:center;gap:5px;\"><i class=\"fas fa-barcode\"></i>Code-barre</button></div><div id=\"inv-code-visual\" style=\"min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAklEQVR4AewaftIAAAsOSURBVO3BwY1du65F0Wnh5ME+Y2D4jIF9RuLvpiBY0Lawq3z9/hrjx89fEJHfGojI1kBEtgYisjUQka0Pv2Ee/G1dyRvMg1VXcsM8OOlKVubBqiuZmQcnXcnKPFh1JSfmwaormZkHX6krmZkHf1tXMhuIyNZARLYGIrI1EJGtDw91JV/FPDgxD250JTfMg1VXcmIerLqSlXkw60reYh68oSt5wjyYdSVv6Uq+inlwMhCRrYGIbA1EZOvDJfPgRlfyncyDG13JyjxYdSUn5sGqK5mZB2/pSmbmwaorWZkHs67kia7kxDxYdSU3zIMbXcmfGojI1kBEtgYisjUQka0P/7CuZGUezLqSlXmw6kpm5sGNruQtXcnMPFh1JSvzYNaV3DAPVl3JyjyYdSWrruRfNBCRrYGIbA1EZGsgIlsf/hFdyco8ODEP3tKVnJgHT3QlX6UreUNX8kRX8r9qICJbAxHZGojI1odLXcnf1pWcmAerruSkK3lLV3LSlazMgxPz4KQreaIrmZkHN7qSr9SVfJeBiGwNRGRrICJbAxHZ+vCQefA3mQerrmRlHsy6kpV5sOpKZubBqitZmQezrmRlHqy6kpl5sOpKZubBqitZmQcn5sGqKznpSlbmwYl5sOpKTsyDv2kgIlsDEdkaiMjWQES2PvxGV/IvMA9OzIO3mAc3upI3dCXfqSv5Tl3Jf81ARLYGIrI1EJGtD79hHqy6kq9iHqy6kpOu5MQ8uNGVPGEezMyDVVeyMg9mXcmJeXDDPHiLebDqSk66kpV5cNKVnJgHN7qSk4GIbA1EZGsgIlsDEdn68BtdyYl58JauZGUefJWu5MQ8WHUlq65kZh68xTyYdSUr82DVldwwD2ZdyaorWZkHN7qSmXnwhHkw60q+ykBEtgYisjUQka2BiGx9uNSVvMU8WHUlM/PgLebBqis5MQ/e0pX8KfNg1ZXcMA++Sldyoyu5YR480ZX8qYGIbA1EZGsgIlsfXmQerLqSmXmw6kpumAcnXcmNrmRlHqy6khPzYNWVzMyDt5gHs67kO5kHq67kxDx4oit5g3mw6kpmAxHZGojI1kBEtgYisvXhknlwoytZmQerruRGVzIzD57oSm6YBzfMg1lXsjIP3mAevMU8OOlKVubBqit5g3mw6kpW5sGsKzkZiMjWQES2BiKyNRCRrR8/f2FhHqy6kpl58ERXcsM8mHUlK/PgpCv5SubBrCtZmQerruRfZB6supIT82DVldwwD250JX9qICJbAxHZGojI1off6EpW5sGsK3mLefBVzINVV7IyD066khtdyYl5sOpKZubB39aVrMyDk65kZR7MupIbXckN82DVlcwGIrI1EJGtgYhsDURk68NvmAerruSrdCUr8+CkK1mZBze6kpl5sDIPTsyDJ7qSE/PgRldyYh6supKZefCVupKZefAW82DVlfypgYhsDURkayAiWwMR2frwH2AerLqSmXnwRFdyYh6cdCVvMQ9OupIT8+AJ82DWlTxhHsy6kie6kpl5cKMrWZkHq67khnnwpwYisjUQka2BiGx9eMg8mHUlK/Ng1ZXMzINVV7IyD066khPzYNWVrMyDmXnwRFfyBvPgpCtZmQerruSkKzkxD57oSmZdyco8WHUlM/PgCfPgRlcyMw9OBiKyNRCRrYGIbA1EZOvDb3QlJ+bBja5kZR6supIb5sF3Mg9umAcnXclJV7IyD97QlXwl8+CkK1mZByddyco8+FMDEdkaiMjWQES2BiKy9ePnLyzMg5OuZGUe3OhKVubBja7kxDw46UpW5sFJV3LDPDjpSt5iHqy6kpl5cKMruWEerLqSr2IerLqS2UBEtgYisjUQka0Pv9GVrMyDG13JzDxYmQerruTEPDgxD1ZdyVu6khPzYNWVzLqSlXkwMw9WXcmNrmRlHsy6khvmwaorWZkHs67khnmw6kpW5sGsKzkZiMjWQES2BiKyNRCRrQ8PdSUz82DVlZx0JTfMgyfMg1lXsjIPVl3JSVdyoys5MQ9WXcnMPPhKXcmJefCdzIOTrmRlHrxhICJbAxHZGojI1offMA9WXcmsK1mZB6uu5MQ8WHUlJ13Jyjy4YR7MupIb5sETXcmsK7lhHqy6kpl5sOpKTsyDJ7qSG13JzDxYdSUr8+CkK3nDQES2BiKyNRCRrYGIbP34+QsPmAezruQJ8+CkK1mZBze6khvmwUlXcsM8uNGVfBXz4EZXcmIerLqSlXkw60pumAerrmRlHpx0JbOBiGwNRGRrICJbAxHZ+nDJPHiLeXDSlXylrmRmHjxhHsy6klVX8p3Mg1lXsupKTsyDr9SVzMyD/5qBiGwNRGRrICJbHx7qSmbmwaorWZkHs67kLebBqiuZmQerruSGebDqSmbmwaorWZkHf6orWZkHq65kZh6supKVeXBiHrzFPJh1JSvz4KQrudGVnAxEZGsgIlsDEdkaiMjWh98wD066kie6kpl58ERXMjMPbnQlN7qSlXlwwzxYdSVv6Eq+U1fylq7kRldyYh6supI/NRCRrYGIbA1EZGsgIlsfLpkHq65kZR7MupK3dCVfxTxYdSUnXckT5sGsK/kqXckTXcmJefCWrmRmHqy6khPz4IZ5sOpKZgMR2RqIyNZARLY+XOpKnuhKZubBdzIPnuhKZl3JE+bBrCt5i3lwoys5MQ9WXclJV/L/yUBEtgYisjUQka2BiGz9+PkLC/Ng1ZX8C8yDWVfylcyDk67kxDw46UqeMA9mXckN8+CJruSGefCGruQJ82DWlZwMRGRrICJbAxHZGojI1oeHzINZV7IyD75TV7LqSmbmwVfqSk7Mg1VXctKVzMyDJ7qSmXmw6kpudCUr8+BGVzIzD1Zdyco8mJkHq65k1ZXMzINVVzIbiMjWQES2BiKy9eGhrmRmHtzoSv4FXckT5sEN8+BPdSVPmAezruQJ8+BGVzIzD1Zdyco8mHUlT3QlM/PgRldyMhCRrYGIbA1EZGsgIlsfXtSVnJgHX6kreYN5sOpKTrqSlXlwwzw46UpumAerrmRmHjxhHpyYByfmwY2uZGUe3OhKZgMR2RqIyNZARLYGIrL14+cv/APMg1VXsjIP3tCVrMyDVVcyMw9udCUn5sGqKzkxD1ZdyVvMgxtdyQ3zYNaVfJWBiGwNRGRrICJbH37DPPjbupJZV7IyD066khvmwRPmwUlXcsM8mHUlT5gHJ+bBqit5Q1eyMg9OzINVV/IW82DWlZwMRGRrICJbAxHZGojI1oeHupKvYh7c6EpOzINVV7IyD2ZdyRPmwYl5sOpKZubBqiuZmQerruRGV7IyD2ZdyRNdyRu6kreYB28YiMjWQES2BiKyNRCRrQ+XzIMbXclXMg9mXclbzINVVzIzD1Zdyco8ODEPvlNXMjMPbnQlT5gHbzAPvspARLYGIrI1EJGtD/9jupI3mAdvMQ9WXcmfMg+e6EpumAc3upKTruSGebDqSt5gHqy6ktlARLYGIrI1EJGtgYhsffgfZx6supJVV3JiHpx0JSvz4MQ8eIt5MOtKVubBSVfyhHkw60pW5sFbzINZV/KEeTDrSk4GIrI1EJGtgYhsDURk68fPX1iYB6uu5KuYB6uu5DuZB7Ou5AnzYNaVfCfzYNWVfCfzYNaVfCXz4EZXMjMPVl3JbCAiWwMR2RqIyNaHh8yDv8k8eKIrOTEPbpgHq65kZh7c6EpOzIMnzIOTruSGebDqSm6YB2/oSlbmwUlXcjIQka2BiGwNRGRrICJbP37+goj81kBEtgYisjUQka3/A2YyowJH/G97AAAAAElFTkSuQmCC\" alt=\"QR Code REF-0043\" style=\"width:160px;height:160px;border-radius:8px;border:1px solid #e5e7eb;display:block;\"></div><div style=\"font-family:monospace;font-size:12px;color:#667eea;font-weight:700;margin-top:6px;margin-bottom:4px;\">REF-0043</div><div style=\"font-size:11px;color:#9ca3af;max-width:180px;margin:0 auto;word-break:break-word;\">Coffret 3 rangées 39 modules</div><button onclick=\"inventoryPrintCode()\" style=\"margin-top:12px;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:11px;color:#6b7280;\"><i class=\"fas fa-print\" style=\"margin-right:4px;\"></i>Imprimer</button></div><div class=\"card\" style=\"padding:18px;grid-column:1;grid-row:2;display:flex;flex-direction:column;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;\"><h4 style=\"margin:0;font-size:13px;color:#1e293b;display:flex;align-items:center;gap:6px;\"><i class=\"fas fa-image\" style=\"color:#667eea;\"></i>Photo de l'article</h4></div><div style=\"flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px;padding:14px;min-height:160px;gap:10px;\"><img src=\"/img/inventory/articles/coffret-3-rangees-39-modules.svg\" alt=\"\" data-fallbacks=\"["/img/inventory/tableaux.svg","/img/inventory/default.svg"]\" onerror=\"_invThumbFallback(this)\" style=\"max-width:100%;max-height:170px;border-radius:8px;object-fit:contain;\"><span style=\"font-size:10px;color:#94a3b8;font-style:italic;\">Visuel générique — ajoutez votre photo</span></div><label style=\"display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:#667eea;cursor:pointer;font-weight:600;\"><i class=\"fas fa-cloud-upload-alt\"></i>Ajouter votre photo<input type=\"file\" accept=\"image/*\" onchange=\"inventoryUploadImage('d2204472-97c6-4818-ac8b-05bc36417342', this.files[0])\" style=\"display:none;\"><span style=\"font-size:10px;color:#94a3b8;font-weight:400;margin-left:4px;\">(JPG/PNG/WEBP · 10 Mo)</span></label></div></div><div class=\"card\" style=\"padding:20px;margin-bottom:20px;\"><div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;\"><h4 style=\"margin:0;font-size:15px;color:#1e293b;display:flex;align-items:center;gap:8px;\"><i class=\"fas fa-history\" style=\"color:#667eea;\"></i>Historique des mouvements</h4><span style=\"font-size:11px;color:#9ca3af;\">4 mouvement(s)</span></div><div id=\"inv-movements-list\" style=\"max-height:360px;overflow-y:auto;\"><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#10b98115;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-down\" style=\"color:#10b981;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Entrée</div><div style=\"font-size:11px;color:#9ca3af;\">Olivier Dubois</div></div><div style=\"font-size:14px;font-weight:700;color:#10b981;white-space:nowrap;\">+199 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">25/04<br>12:55</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Olivier Dubois · Coffret neuf 3 rangées</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-1 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">08/04<br>14:09</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#ef444415;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-up\" style=\"color:#ef4444;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Sortie</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon · Coffrets 39 modules T2 ×6</div></div><div style=\"font-size:14px;font-weight:700;color:#ef4444;white-space:nowrap;\">-6 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">16/03<br>13:09</div></div><div style=\"display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f8fafc;\"><div style=\"width:32px;height:32px;background:#10b98115;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\"><i class=\"fas fa-arrow-down\" style=\"color:#10b981;font-size:11px;\"></i></div><div style=\"min-width:0;\"><div style=\"font-size:13px;font-weight:600;color:#1e293b;\">Entrée</div><div style=\"font-size:11px;color:#9ca3af;\">Antoine Simon · Stock initial — constitution catalogue</div></div><div style=\"font-size:14px;font-weight:700;color:#10b981;white-space:nowrap;\">+6 <span style=\"font-size:11px;font-weight:400;color:#9ca3af;\">pièce</span></div><div style=\"font-size:11px;color:#c4cbd8;white-space:nowrap;text-align:right;\">24/02<br>13:09</div></div></div></div>"}}