/* =============================================================================
   L'ÉCRAN DE STOCK — `STOCK-2`, 25/08.
   Il reprend la charpente de la caisse : `hub.css` porte le fond, le bandeau,
   les boutons et les cases. Ce fichier ne pose QUE ce qui lui est propre.

   `V3-y` : 1366 × 768, au doigt, 60 px de cible minimum.
   ⚠️  L'exception des écrans de GESTION (`B000-D225`) s'applique à la LISTE des
       produits, et à elle seule : le contenu n'est pas à nous, et réduire le
       contenu voudrait dire cacher des produits réels. L'en-tête, le panneau de
       droite et la page ne défilent pas.
   ============================================================================= */

.page.stock .cadre {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 14px;
  align-items: start;
}

.page.stock .bloc-produits {
  background: var(--bleu);
  border: 1px solid var(--bleu-clair);
  border-radius: 12px;
  padding: 14px;
}

#stock-recherche {
  width: 100%;
  min-height: 60px;                /* `V3-y` ② — au doigt */
  padding: 0 16px;
  margin-bottom: 12px;
  background: #16233a;
  color: var(--texte);
  border: 1px solid var(--bleu-clair);
  border-radius: 10px;
  font-family: inherit;
  font-size: 1.05rem;
}
#stock-recherche:focus { outline: none; border-color: var(--or); }

/* La liste — et c'est elle, l'exception qui défile. */
.liste-stock {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 520px;
  overflow-y: auto;
}

.rangee-stock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 60px;                /* `V3-y` ② */
  padding: 0 14px;
  background: #16233a;
  color: var(--texte);
  border: 1px solid var(--bleu-clair);
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.98rem;
  text-align: left;
  cursor: pointer;
}
.rangee-stock:hover  { border-color: var(--or); }
.rangee-stock.choisi { border-color: var(--or); background: #22314a; }

.rangee-stock .nom        { font-weight: 700; min-width: 0; overflow: hidden;
                            text-overflow: ellipsis; white-space: nowrap; }
.rangee-stock .contenance { color: var(--gris); font-weight: 400; font-size: 0.86rem; }
.rangee-stock .stock      { color: var(--or); font-weight: 700; white-space: nowrap;
                            font-variant-numeric: tabular-nums; }

/* ⚠️  L'ÉPUISÉ SE SIGNALE, IL NE SE REFUSE PAS. Le Hub informe, il n'empêche
       jamais (`B000-D260`) : la ligne se colore, et tout reste cliquable. Et
       « jamais relevé » n'est PAS épuisé — cette classe ne lui est pas posée
       (`B000-D220`). */
.rangee-stock.epuise .stock { color: var(--orange); }

/* Les natures — cinq cases, la sixième appartient à la vente. */
.page.stock .natures { margin: 14px 0; }
.page.stock .case.nature { min-height: 74px; }
.page.stock .case.sens   { min-height: 60px; }

.page.stock .bloc-saisie { margin-top: 4px; }
.page.stock .sens { margin-top: 10px; }

#quantite {
  width: 100%;
  min-height: 60px;
  padding: 0 16px;
  background: #16233a;
  color: var(--texte);
  border: 1px solid var(--bleu-clair);
  border-radius: 10px;
  font-family: inherit;
  font-size: 1.3rem;
  font-variant-numeric: tabular-nums;
}
#quantite:focus { outline: none; border-color: var(--or); }

#quantite-apercu { font-variant-numeric: tabular-nums; }

#ecrire { margin-top: 16px; width: 100%; }
