/* Domaine Piece — les états des lignes de pièce et des champs de la fiche, peints par les controllers.
   Chargée après app-theme.css (_Host.cshtml) : les !important de ce fichier suffisent à battre les règles
   globales sans monter la spécificité. */

/* Ligne de pièce en rupture théorique de stock — classe posée sur la ligne par
   PieceLineStockIssueRowStyleController d'après BasePieceLine.HasStockIssue.

   Remplace l'ancienne ConditionalAppearance « OrderLineStockIssue » (MistyRose sur Firebrick), qui
   coloriait cellule par cellule : 16 colonnes × N lignes de critères réévalués à chaque frappe dans
   la grille. Depuis le 26/10/2026, les teintes sont celles de la charte (rouge du tag,
   --ds-state-stock-issue-*), comme les autres états métier de ce bloc.

   La cellule de sélection est exclue : sa case à cocher dessine son icône avec currentColor,
   toucher `color` là la fait disparaître.

   Le FOND se pose sur la ligne, la COULEUR DE TEXTE sur les cellules — cf. CONTRAT DE PEINTURE
   DES LIGNES dans app-theme.css. L'exclusion de la cellule de sélection ne concernait QUE
   `color` ; en la laissant porter aussi le fond, la colonne gelée d'une ligne en alerte serait
   restée transparente. Effet visible : la cellule de sélection prend désormais le rose de
   l'alerte au lieu de rester blanche — c'est la ligne entière qui alerte — et sa coche reste
   lisible, sa couleur de texte n'ayant pas bougé. */
/* Préparation partielle (PIM-352) : la ligne de vente dont la quantité à préparer est en dessous
   du commandé. Une réduction VOULUE, pas un déficit : orange, pas rouge, même contrat de peinture
   (fond sur la ligne, texte sur les cellules) et même exclusion de la cellule de sélection.
   Déclaré AVANT le déficit de stock : une ligne qui cumule les deux porte les deux classes, et à
   spécificité égale c'est la dernière déclaration qui peint — le rouge gagne. */
.pim-line-partial-shortage {
    background-color: var(--ds-state-partial-shortage-bg) !important;
}

.pim-line-partial-shortage > td:not(.dxbl-grid-selection-cell) {
    color: var(--ds-state-partial-shortage-content) !important;
}

/* La ligne d'avoir sans rien à créditer (popup « Créer un avoir », CreditNoteLineExhaustedRowStyleController)
   prend exprès la teinte de la rupture : une ligne bloquée se lit pareil partout dans l'application. */
.pim-line-stock-issue,
.pim-line-credit-exhausted {
    background-color: var(--ds-state-stock-issue-bg) !important;
}

:is(.pim-line-stock-issue, .pim-line-credit-exhausted) > td:not(.dxbl-grid-selection-cell) {
    color: var(--ds-state-stock-issue-content) !important;
}

/* Stock théorique d'une ligne d'achat (PurchaseStockAvailabilityCellStyleController) : une valeur colorée
   dans sa cellule, le « color item » de la grille dans la charte (CHARTE.md § 5.3). Couleur du texte seule,
   sans !important : la cellule hérite la sienne de la ligne, aucune règle du thème ne la pose sur le td
   (vérifié au navigateur le 27/10/2026), une classe suffit donc. */
.pim-stock-shortfall {
    color: var(--ds-grid-color-item-red-content);
}

.pim-stock-available {
    color: var(--ds-grid-color-item-green-content);
}

/* Date de tarif forcée sur une pièce (PricingDateForcedMarkController) : en orange, comme le dit
   l'infobulle du champ. Posée sur le modèle du composant, la classe arrive sur dxbl-date-edit ; la
   couleur est posée sur l'input lui-même. (Le -webkit-text-fill-color qui l'accompagnait contrait une
   règle d'app-theme.css sur les champs désactivés, retirée le 22/10 ; aucune feuille DevExpress n'en pose.) */
.dxbl-fl-item .pim-pricing-date-forced input.dxbl-text-edit-input {
    color: var(--ds-state-forced-content) !important;
    font-weight: 600 !important;
}
