- L : Age entrée sur 2 lignes (largeur 5.4 -> 7.5)
- M : Poids (kg) au lieu de Poids kg
- N : Prix du kg sur 2 lignes (largeur 8.4 -> 6.0)
- P : Age du jour au lieu de Age mois Aujourd'hui
- Q : Trpt au lieu de Tport (largeur 4.0 -> 5.0 pour tenir sur 1 ligne)
- Sous-titre : ajout bordure left
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Police Aptos Narrow par défaut sur tout le classeur
- Titre A1 en RichText (Arial Black 18 noir + 20 rouge pour l'année)
- Date R1 en Aptos Narrow 14 gras
- Sous-titre A3 fusionné A3:R3, dynamique selon les filtres, bordures top + right
- Bordure thick en bas du bloc titre (A1:R1)
- En-têtes A/B/C avec rotation 60° et wrap désactivé
- Couleur d'âge appliquée uniquement sur la colonne P (Age mois Aujourd'hui)
- Couleurs pastel red-300 / orange-300 / yellow-200
- Tri âge desc puis race (Limousine → Charolaise → autres)
- Configuration impression : A4 paysage, fit width 1 page, lignes 3-4 répétées, centré horizontalement
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Dépendance phpoffice/phpspreadsheet
- Endpoint GET /bovines/inventory-export : XLSX coloré, header figé, auto-filter, tri birthDate ASC
- Endpoint GET /bovines/inventory-stats : comptes par tranche d'âge (>=24, 22-24, 20-22)
- Bouton Excel à gauche du titre (style icône-only, même design que le bouton impression)
- Légende visuelle avec cartes bordées coloriées
- Ajustement seuils couleurs des lignes en -300 (base) / -400 (hover)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>