/* Poste de gestion — groupe Approvisionnement et Rapports (Commandes, Réception et factures, Prix et fournisseurs,
   Fournisseurs, Économies). Thème clair, souris et clavier, 1440 × 900. Jetons seulement. */

/* Bandeau « agent en panne » : pas encore stylé par le socle commun */
.liaison[data-etat="agent"] { background: var(--c-rouge-fond); color: var(--c-texte); }

.poste .corps { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); overflow: hidden; }
body[data-reserve] .corps > :not(.reserve) { display: none !important; }
.reserve:empty { display: none; }
.reserve { display: flex; }

/* Outils communs */
.meta { font-size: var(--taille-meta); color: var(--c-texte-2); }
.discret { color: var(--c-texte-3); }
.fort { font-weight: 600; }
.nb { font-variant-numeric: tabular-nums; }
.poste .panneau > header { padding: var(--espace-3) var(--espace-4) var(--espace-2); min-height: 56px; flex-wrap: wrap; }
.poste .panneau > header .droite { margin-left: auto; display: flex; gap: var(--espace-2); align-items: center; }
.defile { overflow-y: auto; min-height: 0; }
.cellule-2 { display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: center; gap: 0 !important; line-height: 1.3; padding-top: var(--espace-1) !important; padding-bottom: var(--espace-1) !important; }
.cellule-2.nb { align-items: flex-end !important; justify-content: center !important; }
.cellule-2 small { font-size: var(--taille-meta); color: var(--c-texte-2); }
.grille .ent > .nb { text-align: right; justify-content: flex-end; display: flex; }
.poste .grille { grid-auto-rows: max-content; }
.poste .grille .ligne > * { min-height: 52px; }
.poste .grille .ent > * { position: sticky; top: 0; background: var(--c-fond); z-index: 1; border-bottom: 1px solid var(--c-filet); }
.signe { font-weight: 600; white-space: nowrap; }
.signe[data-ton="rouge"] { color: var(--c-rouge); }
.signe[data-ton="vert"] { color: var(--c-vert); }
.signe[data-ton="ambre"] { color: var(--c-ambre); }
.puce { white-space: nowrap; }
.puce[data-ton="contour"] { background: none; box-shadow: inset 0 0 0 1px var(--c-contour); color: var(--c-texte); }
.encadre { padding: var(--espace-3) var(--espace-4); border-radius: var(--rayon-bouton); background: var(--c-surface); border: 1px solid var(--c-filet); font-size: var(--taille-meta); }
.encadre p { margin: 0; }
/* Un encadré rouge dit un état critique (rupture, désactivé, échec) : jamais en taille meta (docs/design.md, « Norme de tailles ») */
.encadre[data-ton="rouge"] { background: var(--c-rouge-fond); border-color: var(--c-rouge); color: var(--c-texte); font-size: var(--taille-corps); }
.encadre[data-ton="ambre"] { background: var(--c-ambre-fond); border-color: var(--c-ambre); }
.encadre[data-ton="bleu"] { background: var(--c-bleu-fond); border-color: var(--c-bleu); }
.encadre strong { font-weight: 700; }
.poste .lien-btn { background: none; border: 0; padding: 0 var(--espace-2); min-height: var(--cible-minimum); color: var(--c-accent-texte); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; }
.poste .btn-petit { min-height: var(--cible-minimum); padding: 0 var(--espace-3); font-size: var(--taille-meta); }
.poste .btn-icone { min-width: var(--cible-minimum); width: var(--cible-minimum); padding: 0; background: none; color: var(--c-texte-2); box-shadow: inset 0 0 0 1px var(--c-filet); border-radius: 9px; font-size: var(--taille-corps-fort); }
.poste .btn-icone:hover { color: var(--c-rouge); box-shadow: inset 0 0 0 1px var(--c-rouge); }
/* Gestes d'une ligne d'article (gestes-articles.js, boutonGesteArticle) : seul le retrait passe au rouge au survol */
.poste .btn-icone.geste-art { display: inline-grid; place-items: center; }
.poste .btn-icone.geste-art svg { width: 18px; height: 18px; }
.poste .btn-icone.geste-art:hover { color: var(--c-texte); box-shadow: inset 0 0 0 1px var(--c-texte); }
.poste .btn-icone.geste-art[data-retirer-article]:hover { color: var(--c-rouge); box-shadow: inset 0 0 0 1px var(--c-rouge); }
.poste input[type="date"] { font: inherit; color: var(--c-texte); background: var(--c-fond); border: 1px solid var(--c-contour); border-radius: 8px; min-height: var(--cible-minimum); padding: 0 var(--espace-3); }

/* Boîte de dialogue */
.dlg {
  width: min(560px, calc(100vw - 32px)); padding: var(--espace-5); border: 1px solid var(--c-contour); border-radius: var(--rayon-panneau);
  background: var(--c-fond); color: var(--c-texte); font-family: var(--police); box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.dlg[data-theme] { color-scheme: light; }
.dlg::backdrop { background: rgba(20, 18, 16, .45); }
.dlg h2 { margin: 0 0 var(--espace-2); font-size: var(--taille-titre-3); }
.dlg p { margin: 0 0 var(--espace-3); }
.dlg .aide { color: var(--c-texte-2); font-size: var(--taille-meta); }
.dlg .champ { display: flex; flex-direction: column; gap: var(--espace-1); margin-bottom: var(--espace-3); font-size: var(--taille-meta); font-weight: 600; color: var(--c-texte-2); }
.dlg .champ input, .dlg .champ select, .dlg .champ textarea, .champs-sc input { font: inherit; font-size: var(--taille-corps); color: var(--c-texte); font-weight: 400; background: var(--c-fond); border: 1px solid var(--c-contour); border-radius: 8px; min-height: var(--cible-minimum); padding: 0 var(--espace-3); }
.dlg .champ textarea { padding: var(--espace-2) var(--espace-3); min-height: 72px; resize: vertical; }
.dlg .rangee { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espace-3); }
.dlg fieldset { border: 0; margin: 0 0 var(--espace-3); padding: 0; display: flex; flex-direction: column; gap: var(--espace-2); }
.dlg legend { padding: 0; margin-bottom: var(--espace-2); font-size: var(--taille-meta); font-weight: 600; color: var(--c-texte-2); }
.dlg .choix label { min-height: var(--cible-minimum); padding: var(--espace-2) var(--espace-3); border-radius: var(--rayon-bouton); border: 1px solid var(--c-contour); display: flex; align-items: center; gap: var(--espace-3); cursor: pointer; }
.dlg .choix input { width: 18px; height: 18px; accent-color: var(--c-accent); margin: 0; flex: none; }
.dlg .choix label:has(input:checked) { border-color: var(--c-texte); background: var(--c-surface); }
.dlg .choix small { color: var(--c-texte-2); font-size: var(--taille-meta); margin-left: auto; white-space: nowrap; }
.dlg .boutons { display: flex; justify-content: flex-end; gap: var(--espace-2); margin-top: var(--espace-4); }
.dlg .liste-choix { max-height: 320px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--espace-2); }
.dlg .liste-choix button { min-height: var(--cible-minimum); text-align: left; border: 0; background: none; border-radius: 8px; padding: var(--espace-1) var(--espace-3); display: flex; justify-content: space-between; gap: var(--espace-3); align-items: center; }
.dlg .liste-choix button:hover { background: var(--c-surface); }
.dlg .liste-choix small { color: var(--c-texte-2); font-size: var(--taille-meta); }
.dlg .resume { list-style: none; padding: 0; margin: 0 0 var(--espace-3); border-top: 1px solid var(--c-filet); }
.dlg.large { width: min(720px, calc(100vw - 32px)); }
.dlg .prix-saisie { width: 120px; flex: none; }
.dlg #s-lignes { max-height: 300px; overflow-y: auto; }
.dlg #s-lignes select { flex: 1; min-width: 0; }
.dlg .resume li { display: flex; justify-content: space-between; align-items: center; gap: var(--espace-3); padding: var(--espace-2) 0; border-bottom: 1px solid var(--c-filet); }

/* ================= Commandes ================= */
/* Cartes (cachées s'il n'y a aucune commande active), onglets, puis le panneau devant, qui prend le reste */
body[data-onglet="commandes"] .corps { display: flex; flex-direction: column; }
body[data-onglet="commandes"] .corps > .panneau { flex: 1; min-height: 0; }

.cmd { overflow: hidden; }
.cmd .titre-cmd { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.cmd .titre-cmd .meta b { color: var(--c-texte); }
.lignes-cmd { grid-template-columns: 218px 62px 60px 56px 72px 68px 140px 184px 126px 92px 44px; justify-content: space-between; flex: 1; padding: 0 var(--espace-3) var(--espace-2); }
.lignes-cmd .ligne[data-modifie] > * { background: var(--c-surface); }
.lignes-cmd .suggere { font-weight: 600; color: var(--c-texte-2); }
.pas { display: inline-flex; align-items: center; gap: 2px; }
.pas button { width: var(--cible-minimum); height: var(--cible-minimum); border-radius: 9px; border: 1px solid var(--c-contour); background: var(--c-fond); font-size: var(--taille-corps-fort); font-weight: 600; line-height: 1; }
.pas button:hover { background: var(--c-surface-2); }
.pas output { min-width: 44px; text-align: center; font-weight: 700; font-size: var(--taille-corps-fort); }
.lignes-cmd select { width: 100%; min-height: var(--cible-minimum); font-size: var(--taille-meta); padding: 0 var(--espace-2); }
.lignes-cmd select[data-vide] { color: var(--c-texte-2); border-style: dashed; }
.pied-cmd {
  display: flex; align-items: center; gap: var(--espace-4); padding: var(--espace-3) var(--espace-4);
  border-top: 1px solid var(--c-filet); background: var(--c-surface); border-radius: 0 0 var(--rayon-panneau) var(--rayon-panneau);
}
.pied-cmd .chiffre { display: flex; flex-direction: column; line-height: 1.25; }
.pied-cmd .chiffre b { font-size: var(--taille-titre-3); }
.pied-cmd .chiffre .meta { white-space: nowrap; }
.jauge-min { width: 140px; height: 6px; border-radius: 3px; background: var(--c-surface-active); overflow: hidden; margin-top: 4px; }
.jauge-min i { display: block; height: 100%; background: var(--c-texte-2); }
.pied-cmd .action { margin-left: auto; display: flex; align-items: center; gap: var(--espace-3); }
.pied-cmd .action .meta { max-width: 300px; text-align: right; }
.pied-cmd .btn-principal { min-height: 48px; padding: 0 var(--espace-5); white-space: nowrap; flex: none; }
.cmd .encadre { margin: 0 var(--espace-4) var(--espace-2); }
.plan-cmd { display: flex; align-items: flex-end; gap: var(--espace-4); margin: 0 var(--espace-4) var(--espace-2); padding: var(--espace-2) var(--espace-4); border-radius: var(--rayon-bouton); background: var(--c-surface); border: 1px solid var(--c-filet); }
.plan-cmd .chiffre { display: flex; flex-direction: column; line-height: 1.3; }
.plan-cmd .chiffre b { font-size: var(--taille-corps-fort); }
.plan-cmd > p { margin: 0 0 0 auto; max-width: 340px; }
.liste-cueillette h3 { margin: var(--espace-3) 0 var(--espace-1); font-size: var(--taille-corps); }
.liste-cueillette table { width: 100%; border-collapse: collapse; font-size: var(--taille-meta); table-layout: fixed; }
.liste-cueillette th:nth-child(2) { width: 92px; }
.liste-cueillette th:nth-child(4) { width: 210px; }
/* Lignes de toute la commande dans la validation (164) : sans la colonne des cases */
.liste-cueillette.sans-cases th:nth-child(1) { width: 92px; }
.liste-cueillette.sans-cases th:nth-child(2) { width: auto; }
.liste-cueillette.sans-cases th:nth-child(3) { width: 140px; }
/* Colonnes Quantité et Section d'un document partagé (164) */
.liste-cueillette th.qte-doc { width: 84px; }
.liste-cueillette th.section-doc { width: 96px; }
.liste-cueillette th { text-align: left; font-weight: 600; color: var(--c-texte-2); padding: var(--espace-1) var(--espace-2); border-bottom: 1px solid var(--c-contour); }
.liste-cueillette td { padding: var(--espace-1) var(--espace-2); border-bottom: 1px solid var(--c-filet); vertical-align: top; }
.liste-cueillette .case { width: 28px; }
.liste-cueillette .boite { display: inline-block; width: 16px; height: 16px; border: 2px solid var(--c-texte); border-radius: 3px; }
.dlg .liste-cueillette { max-height: 60vh; overflow-y: auto; }
.etat-cmd { display: flex; align-items: center; gap: var(--espace-3); }

/* ================= Factures ================= */
body[data-onglet="factures"] .corps { grid-template-columns: 340px minmax(0, 1fr); }
.liste-fact { display: flex; flex-direction: column; gap: var(--espace-2); padding: 0 var(--espace-3) var(--espace-3); }
.carte-fact, .carte-cmd {
  text-align: left; border: 1px solid var(--c-filet); background: var(--c-fond); border-radius: var(--rayon-bouton);
  padding: var(--espace-3); display: grid; gap: 2px; color: var(--c-texte); min-height: 64px;
}
:is(.carte-fact, .carte-cmd):hover { border-color: var(--c-contour); }
/* Carte choisie (Factures) ou ouverte dans le Détail (Commandes, carte des commandes actives) */
.carte-fact[aria-pressed="true"], .carte-cmd[aria-current="true"] { border-color: var(--c-texte); box-shadow: inset 0 0 0 1px var(--c-texte); }
:is(.carte-fact, .carte-cmd) .haut { display: flex; justify-content: space-between; gap: var(--espace-2); align-items: baseline; }
.carte-fact .bas { display: flex; gap: var(--espace-2); flex-wrap: wrap; margin-top: var(--espace-1); }
.liste-fact h3 { margin: var(--espace-2) 0 0; font-size: var(--taille-meta); font-weight: 600; color: var(--c-texte-2); }
.fact .corps-fact { display: flex; flex-direction: column; gap: var(--espace-3); padding: 0 var(--espace-4) var(--espace-3); overflow-y: auto; min-height: 0; flex: 1; }
.alerte-plats { border: 2px solid var(--c-rouge); border-radius: var(--rayon-bouton); padding: var(--espace-3) var(--espace-4); background: var(--c-fond); }
.alerte-plats h3 { margin: 0 0 var(--espace-2); font-size: var(--taille-corps-fort); color: var(--c-rouge); display: flex; gap: var(--espace-2); align-items: center; }
.alerte-plats ul { list-style: none; margin: 0; padding: 0; }
.alerte-plats li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--espace-4); align-items: baseline; padding: var(--espace-2) 0; border-top: 1px solid var(--c-filet); }
.alerte-plats li .plat { font-weight: 700; }
.alerte-plats .options { margin: var(--espace-2) 0 0; font-size: var(--taille-meta); color: var(--c-texte-2); display: flex; align-items: center; gap: var(--espace-3); flex-wrap: wrap; }
.lignes-fact { grid-template-columns: minmax(0, 1fr) 92px 92px 96px 96px 76px 100px; padding: 0; overflow: visible; }
.lignes-fact .ligne[data-ecart] > :first-child { box-shadow: inset 3px 0 0 var(--c-ambre); }
.lignes-fact .ligne[data-ecart="qte"] > :first-child { box-shadow: inset 3px 0 0 var(--c-rouge); }
.resume-fact { display: flex; gap: var(--espace-4); flex-wrap: wrap; }
.resume-fact .chiffre { display: flex; flex-direction: column; }
.resume-fact .chiffre b { font-size: var(--taille-titre-3); }
.pied-fact { display: flex; gap: var(--espace-3); align-items: center; padding: var(--espace-3) var(--espace-4); border-top: 1px solid var(--c-filet); }
.pied-fact .meta { flex: 1; }
.attente { margin: auto; max-width: 520px; text-align: center; padding: var(--espace-5) var(--espace-4); display: flex; flex-direction: column; gap: var(--espace-3); align-items: center; }
.attente h3 { margin: 0; font-size: var(--taille-titre-3); }
.attente p { margin: 0; color: var(--c-texte-2); }

/* ================= Prix et fournisseurs ================= */
body[data-onglet="produits"] .corps { grid-template-columns: 310px minmax(0, 1fr); }
.poste .panneau > header { flex: none; }
.vide-liste { grid-column: 1 / -1; padding: var(--espace-4); }
.outils-prix { display: flex; flex-direction: column; gap: var(--espace-2); padding: 0 var(--espace-4) var(--espace-3); }
.outils-prix input[type="search"] { width: 100%; }
.outils-prix .filtres, .outils-cmd .filtres { gap: var(--espace-1); }
.outils-prix .filtres button { min-height: 36px; padding: 0 var(--espace-3); font-size: var(--taille-meta); }
.poste .outils-prix .filtres button { min-height: var(--cible-minimum); }
.liste-prix { grid-template-columns: minmax(0, 1fr) 104px 64px; padding: 0 var(--espace-2) var(--espace-2); }
.liste-prix .ligne { cursor: pointer; }
.liste-prix .ligne[aria-selected="true"] > *, .liste-cmd .ligne[aria-current="true"] > * { background: var(--c-surface-active); }
.liste-prix .ligne > :first-child { padding-left: var(--espace-3); }
.liste-prix .reperes { display: flex; gap: var(--espace-1); flex-wrap: wrap; margin-top: 2px; }
.liste-prix .puce { padding: 1px 6px; }
.fiche { overflow: hidden; }
.fiche .corps-fiche { display: flex; flex-direction: column; gap: var(--espace-4); padding: 0 var(--espace-4) var(--espace-4); overflow-y: auto; min-height: 0; }
.fiche h3 { margin: 0 0 var(--espace-2); font-size: var(--taille-corps); font-weight: 600; }
.articles-fiche { grid-template-columns: minmax(0, 1fr) 120px 84px 92px minmax(0, 1.2fr) 176px; padding: 0; overflow: visible; }
.articles-fiche .ligne[data-auto] > * { background: var(--c-vert-fond); }
.articles-fiche .ligne[data-rupture] > :not(:last-child) { color: var(--c-texte-2); }
.articles-fiche .ligne[data-rupture] .prix-u { text-decoration: line-through; }
.choix-fiche { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espace-3); }
.choix-fiche .encadre { display: flex; flex-direction: column; gap: var(--espace-1); }
.choix-fiche .encadre b.grand { font-size: var(--taille-corps-fort); }
.choix-fiche .encadre .btn { align-self: flex-start; margin-top: var(--espace-2); }
.histo { display: flex; flex-direction: column; gap: var(--espace-3); }
.histo .etiquette { fill: var(--c-texte); font-weight: 600; }
.histo svg { width: 100%; height: auto; display: block; }
.histo .axe { stroke: var(--c-filet); stroke-width: 1; }
.histo text, .graphe text { font-family: var(--police); font-size: 13px; fill: var(--c-texte-2); }
.legende { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--espace-2); font-size: var(--taille-meta); }
.legende li { display: flex; align-items: center; gap: var(--espace-2); }
.legende i { width: 16px; height: 3px; border-radius: 2px; flex: none; }
.journal-prix { list-style: none; margin: 0; padding: 0; font-size: var(--taille-meta); }
.journal-prix li { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: var(--espace-3); padding: var(--espace-1) 0; border-top: 1px solid var(--c-filet); }
.rappel { font-size: var(--taille-meta); color: var(--c-texte-2); margin: 0; }

/* Couleurs des séries : encre, bleu, gris (identité doublée par la légende et le libellé) */
.serie-0 { stroke: var(--c-texte); background: var(--c-texte); fill: var(--c-texte); }
.serie-1 { stroke: var(--c-bleu); background: var(--c-bleu); fill: var(--c-bleu); }
.serie-2 { stroke: var(--c-texte-3); background: var(--c-texte-3); fill: var(--c-texte-3); }

/* ================= Fournisseurs ================= */
body[data-onglet="fournisseurs"] .corps { grid-template-rows: auto minmax(0, 1fr); gap: var(--espace-3); }
.choix-f { display: flex; gap: var(--espace-2); flex-wrap: wrap; }
.choix-f button { text-align: left; border: 1px solid var(--c-filet); background: var(--c-fond); color: var(--c-texte); border-radius: var(--rayon-bouton); padding: var(--espace-1) var(--espace-3); min-height: 48px; display: flex; flex-direction: column; justify-content: center; }
.choix-f button:hover { border-color: var(--c-contour); }
.choix-f button[aria-pressed="true"] { background: var(--c-texte); color: var(--c-fond); border-color: var(--c-texte); }
.choix-f button[aria-pressed="true"] small { color: var(--c-fond); }
.choix-f small { font-size: var(--taille-meta); color: var(--c-texte-2); }
.choix-f button[data-nouveau-f] { border-style: dashed; color: var(--c-accent-texte, var(--c-accent)); font-weight: 600; }
.choix-f .case-inactifs { margin-left: var(--espace-2); }
.detail-f { overflow: hidden; }
.detail-f > header .droite { flex-wrap: wrap; }
.bande-f { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--espace-3); margin: 0 var(--espace-4) var(--espace-2); padding: var(--espace-2) var(--espace-3); background: var(--c-surface); border: 1px solid var(--c-filet); border-radius: var(--rayon-bouton); font-size: var(--taille-meta); }
.bande-f div { min-width: 0; }
.bande-f dt { color: var(--c-texte-2); }
.bande-f dd { margin: 0; overflow-wrap: anywhere; line-height: 1.3; }
.bande-f { padding: var(--espace-1) var(--espace-3); }
.bande-f .a-saisir { color: var(--c-ambre); font-weight: 600; }
.marge-f { margin: 0 var(--espace-4) var(--espace-2); }
.onglets-f { margin: 0 var(--espace-4) var(--espace-2); align-self: flex-start; }
.corps-f { flex: 1; min-height: 0; overflow-y: auto; padding: 0 var(--espace-4) var(--espace-3); display: flex; flex-direction: column; gap: var(--espace-2); }
.tete-cal { display: flex; align-items: center; gap: var(--espace-3); }
.outils-art { display: flex; gap: var(--espace-3); align-items: center; }
.outils-art input[type="search"] { margin-left: auto; width: 320px; }
.articles-f { grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1.1fr) 100px 104px minmax(0, 1fr) 92px 124px 136px 200px; overflow: visible; padding: 0; }
.articles-f .ligne > * { font-size: var(--taille-meta); }
.articles-f .ligne > .cellule-2 > span, .articles-f .lien-produit { font-size: var(--taille-corps); }
.articles-f .ligne[data-etat="inactif"] > :not(:last-child) { color: var(--c-texte-3); }
.articles-f .ligne[data-auto] > :first-child { box-shadow: inset 3px 0 0 var(--c-vert); }
.articles-f .sku { font-variant-numeric: tabular-nums; }
.articles-f .desc { overflow-wrap: anywhere; }
.gestes-art { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.poste .gestes-art .btn-petit { padding: 0 var(--espace-2); }
.erreur-api { display: block; color: var(--c-rouge); font-weight: 600; font-size: var(--taille-meta); margin-top: 2px; }
.erreur-api b { font-weight: 700; margin-right: var(--espace-1); }
.aide-calcul { color: var(--c-texte-2); font-weight: 400; }
.prix-direct { font-size: var(--taille-meta); }
.dlg .effets { margin: 0 0 var(--espace-3); padding-left: var(--espace-5); display: flex; flex-direction: column; gap: var(--espace-2); }
.semaine { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background: var(--c-filet); border-top: 1px solid var(--c-filet); border-radius: 0 0 var(--rayon-panneau) var(--rayon-panneau); overflow: hidden; }
.jour { background: var(--c-fond); padding: var(--espace-2) var(--espace-3) var(--espace-3); min-height: 168px; display: flex; flex-direction: column; gap: var(--espace-2); }
.jour[data-aujourdhui] { background: var(--c-surface); }
.jour .tete { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--taille-meta); font-weight: 600; color: var(--c-texte-2); }
.jour[data-aujourdhui] .tete { color: var(--c-texte); }
.evt { border-radius: 8px; padding: var(--espace-1) var(--espace-2); font-size: var(--taille-meta); line-height: 1.3; border: 1px solid var(--c-filet); background: var(--c-fond); }
.evt b { display: block; font-weight: 600; }
.evt[data-type="limite"] { border-left: 4px solid var(--c-ambre); }
.evt[data-type="livraison"] { border-left: 4px solid var(--c-texte); }
.evt[data-type="cueillette"] { border-left: 4px solid var(--c-bleu); }
.evt[data-passe] { color: var(--c-texte-2); border-left-color: var(--c-filet); }
.evt[data-urgent] { border-color: var(--c-accent); border-left: 4px solid var(--c-accent); }
.legende-sem { display: flex; gap: var(--espace-4); font-size: var(--taille-meta); color: var(--c-texte-2); margin-left: auto; }
.legende-sem span { display: inline-flex; align-items: center; gap: var(--espace-1); }
.legende-sem i { width: 4px; height: 16px; border-radius: 2px; display: inline-block; }
.fiches-f { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espace-3); padding: 0 var(--espace-4) var(--espace-4); align-content: start; overflow-y: auto; min-height: 0; }
.fiche-f { border: 1px solid var(--c-filet); border-radius: var(--rayon-bouton); padding: var(--espace-3) var(--espace-4); display: flex; flex-direction: column; gap: var(--espace-2); }
.fiche-f[data-incomplete] { border-style: dashed; }
.fiche-f .haut { display: flex; justify-content: space-between; gap: var(--espace-2); align-items: flex-start; }
.fiche-f h3 { margin: 0; font-size: var(--taille-corps-fort); }
.fiche-f dl { margin: 0; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 4px var(--espace-3); font-size: var(--taille-meta); }
.fiche-f dt { color: var(--c-texte-2); }
.fiche-f dd { margin: 0; }
.fiche-f .a-saisir { color: var(--c-ambre); font-weight: 600; }
.fiche-f .bas { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: var(--espace-1); }

/* ================= Économies ================= */
body[data-onglet="economies"] .corps { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); grid-template-rows: auto auto minmax(0, 1fr); }
.barre-eco { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--espace-4); }
.barre-eco .meta { margin-left: auto; }
.tuiles { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-3); }
.tuile { background: var(--c-fond); border: 1px solid var(--c-filet); border-radius: var(--rayon-panneau); padding: var(--espace-3) var(--espace-4); display: flex; flex-direction: column; gap: 2px; }
.tuile .lib { font-size: var(--taille-meta); color: var(--c-texte-2); font-weight: 500; }
.tuile .val { font-size: var(--taille-chiffre); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.tuile[data-vedette] { border: 2px solid var(--c-texte); }
.tuile[data-vedette] .val { font-size: var(--taille-chiffre-geant); }
.tuile .detail { font-size: var(--taille-meta); color: var(--c-texte-2); }
.col-eco { display: flex; flex-direction: column; gap: var(--espace-3); min-height: 0; overflow-y: auto; }
.col-eco .panneau { flex: none; }
.graphe { padding: 0 var(--espace-4) var(--espace-3); }
.graphe svg { width: 100%; height: auto; display: block; overflow: visible; }
.graphe .grille-l { stroke: var(--c-filet); stroke-width: 1; }
.graphe .barre-r { fill: var(--c-vert); }
.graphe .barre-m { fill: var(--c-rouge); }
.graphe .cible:hover + .bulle, .graphe .grp:hover .bulle { opacity: 1; }
.graphe .grp .zone { fill: transparent; }
.graphe .grp:hover .zone { fill: var(--c-surface); }
.graphe .valeur { fill: var(--c-texte); font-weight: 600; }
.tableau-eco { grid-template-columns: minmax(0, 1fr) 100px 96px 96px; padding: 0 var(--espace-2) var(--espace-2); overflow: visible; }
.barres-h { list-style: none; margin: 0; padding: 0 var(--espace-4) var(--espace-3); display: flex; flex-direction: column; gap: var(--espace-2); font-size: var(--taille-meta); }
.barres-h li { display: grid; grid-template-columns: 150px minmax(0, 1fr) 76px; gap: var(--espace-3); align-items: center; }
.barres-h .rail { height: 10px; border-radius: 0 4px 4px 0; background: var(--c-surface-2); overflow: hidden; }
.barres-h .rail i { display: block; height: 100%; border-radius: 0 4px 4px 0; background: var(--c-texte-2); }
.barres-h .rail i[data-ton="rouge"] { background: var(--c-rouge); }
.barres-h .rail i[data-ton="vert"] { background: var(--c-vert); }
.barres-h .v { text-align: right; font-weight: 600; }
.mini-prix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espace-3); padding: 0 var(--espace-4) var(--espace-3); }
.mini { display: flex; flex-direction: column; gap: 2px; font-size: var(--taille-meta); }
.mini b { font-size: var(--taille-meta); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini svg { width: 100%; height: 44px; display: block; }
.mini .trait { fill: none; stroke: var(--c-texte); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.mini .pt { fill: var(--c-texte); stroke: var(--c-fond); stroke-width: 2; }

@media (max-width: 900px) {
  .poste .corps { display: flex !important; flex-direction: column; overflow: visible; padding: var(--espace-3); }
  .poste .entete { flex-wrap: wrap; height: auto; padding: var(--espace-2) var(--espace-3); gap: var(--espace-2); }
  .tuiles, .choix-fiche, .histo, .mini-prix { grid-template-columns: 1fr; }
  .lignes-cmd, .liste-cmd, .lignes-fact, .articles-fiche, .liste-prix, .tableau-eco { display: flex; flex-direction: column; overflow-x: auto; }
  .grille .ent { display: none; }
  .grille .ligne { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--c-filet); padding: var(--espace-2) 0; }
  .grille .ligne > * { border-top: 0 !important; min-height: var(--cible-minimum) !important; }
  .grille .ligne > :first-child { grid-column: 1 / -1; }
  .pied-cmd, .pied-fact, .plan-cmd { flex-wrap: wrap; }
  .pied-cmd .action { margin-left: 0; width: 100%; flex-wrap: wrap; }
  .pied-cmd .action .meta { text-align: left; max-width: none; }
  .semaine { grid-template-columns: 1fr; }
  .jour { min-height: 0; }
  .fiches-f { grid-template-columns: 1fr; }
  .barres-h li { grid-template-columns: 110px minmax(0, 1fr) 64px; }
  .panneau { overflow: visible !important; }
  .grille [data-l]::before { content: attr(data-l); color: var(--c-texte-2); font-size: var(--taille-meta); font-weight: 400; margin-right: var(--espace-2); }
  .grille .ligne > .nb { justify-content: flex-start !important; }
  .cellule-2.nb { align-items: flex-start !important; }
  .poste .panneau > header { flex-direction: column; align-items: flex-start; }
  .poste .panneau > header .droite { margin-left: 0; }
  .alerte-plats li { grid-template-columns: 1fr; gap: var(--espace-1); }
  .legende-sem { margin-left: 0; flex-wrap: wrap; }
  .barre-eco { flex-wrap: wrap; }
  .barre-eco .meta { margin-left: 0; }
  .sous-onglets { flex-wrap: wrap; }
}
.legende.horiz { flex-direction: row; gap: var(--espace-4); }

.legende-sem i[data-type="limite"] { background: var(--c-ambre); }
.legende-sem i[data-type="livraison"] { background: var(--c-texte); }
.legende-sem i[data-type="cueillette"] { background: var(--c-bleu); }
.legende-sem i[data-type="fait"] { background: var(--c-filet); }
body[data-onglet="fournisseurs"] .jour { min-height: 0; padding: var(--espace-1) var(--espace-2) var(--espace-2); gap: var(--espace-1); }
body[data-onglet="fournisseurs"] .jour[data-passe] { background: var(--c-surface); }
body[data-onglet="fournisseurs"] .semaine { border-radius: 0; grid-template-columns: repeat(var(--jours-cal, 5), minmax(0, 1fr)); }
body[data-onglet="fournisseurs"] .evt b { display: inline; }
body[data-onglet="fournisseurs"] .evt { padding: 2px var(--espace-2); }
body[data-onglet="fournisseurs"] .jour .tete { flex-direction: row; gap: var(--espace-2); justify-content: flex-start; }
.evt[data-type="fait"] { border-left: 4px solid var(--c-filet); color: var(--c-texte-2); }
.evt[data-prochaine] { border-width: 2px; border-color: var(--c-texte); }
.evt[data-type="cueillette"][data-prochaine] { border-color: var(--c-bleu); }
.poste-cal { padding: var(--espace-2) var(--espace-4) var(--espace-3); font-size: var(--taille-meta); }
.poste-cal:empty { display: none; }
.poste-cal p { margin: 0; }
.dlg .mode-detail { margin: 0 0 var(--espace-3); }
.dlg .mode-detail[hidden], .dlg .champ[hidden], .dlg fieldset[hidden], .dlg .apercu-f[hidden] { display: none; }
.dlg .rangee.trois-f { grid-template-columns: 1fr 1fr 1.2fr; }
.dlg .modes-f { flex-direction: row; }
.dlg .modes-f label { flex: 1; }
/* Approvisionnement automatique (238) : la case, désactivée hors des modes jours fixes et intervalle */
.dlg .auto-f { margin-bottom: var(--espace-3); }
.dlg .auto-f .aide { margin: var(--espace-1) 0 0; }
.dlg .auto-f label:has(input:disabled) { opacity: .45; cursor: default; }
.dlg .minimum-f .rangee { align-items: end; }
.dlg .minimum-f .filtres { padding-bottom: var(--espace-3); }
.dlg .apercu-f { padding: var(--espace-2) var(--espace-3); border-radius: var(--rayon-bouton); background: var(--c-surface); font-size: var(--taille-meta); }
.dlg .apercu-f p { margin: 0; }
.dlg .erreur-f { color: var(--c-rouge); font-weight: 600; }
.fiche-f p { margin: 0; }
.dlg .filtres label { min-height: var(--cible-minimum); padding: 0 var(--espace-3); border: 1px solid var(--c-contour); border-radius: var(--rayon-rond); display: inline-flex; align-items: center; gap: var(--espace-2); cursor: pointer; color: var(--c-texte); font-weight: 500; }
.dlg .filtres label:has(input:checked) { background: var(--c-texte); color: var(--c-fond); border-color: var(--c-texte); }
.dlg .filtres input { position: absolute; opacity: 0; pointer-events: none; }
.dlg .filtres label:has(input:focus-visible) { outline: 3px solid var(--c-accent); outline-offset: 2px; }
.jour[data-aujourdhui] .tete { flex-direction: column; align-items: flex-start; }
.legende .leg-r, .legende .leg-m { width: 12px; height: 12px; border-radius: 3px; }
.legende .leg-r { background: var(--c-vert); }
.legende .leg-m { background: var(--c-rouge); }
.sous-titre { margin: 0; padding: 0 var(--espace-4) var(--espace-2); font-size: var(--taille-meta); font-weight: 600; color: var(--c-texte-2); }
.liste-forces li { grid-template-columns: minmax(0, 1fr) 76px; row-gap: 0; padding-bottom: var(--espace-1); }
.liste-forces li .meta { grid-column: 1; grid-row: 2; }
.liste-forces li .v { grid-column: 2; grid-row: 1; }
.reserve .btn { text-decoration: none; }
.dlg input:not([type="radio"]):not([type="checkbox"]), .dlg select, .dlg textarea { font: inherit; font-size: var(--taille-corps); color: var(--c-texte); background: var(--c-fond); border: 1px solid var(--c-contour); border-radius: 8px; min-height: var(--cible-minimum); padding: 0 var(--espace-3); }
.dlg .btn { min-height: var(--cible-minimum); }
.lignes-cmd select { padding-right: 0; }

/* ================= Produits : tous les fournisseurs d'un produit ================= */
.articles-p { grid-template-columns: 92px minmax(0, 1fr) 100px minmax(0, 1.3fr) 140px 120px; padding: 0; overflow: visible; }
.articles-p .ligne > * { font-size: var(--taille-meta); }
.articles-p .ligne > .cellule-2 > span, .articles-p .lien-produit { font-size: var(--taille-corps); }
.articles-p .ligne[data-auto] > * { background: var(--c-vert-fond); }
.articles-p .ligne[data-force] > :first-child { box-shadow: inset 3px 0 0 var(--c-ambre); }
.articles-p .ligne[data-etat="inactif"] > :not(:last-child) { color: var(--c-texte-3); }
.articles-p .ligne[data-etat="en_rupture"] .prix-u > span { text-decoration: line-through; }
.pile-puces { display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 4px; justify-content: center; }
.liste-prix .ligne[data-inactif] > * { color: var(--c-texte-3); }

/* ================= Nouveau produit : parcours guidé ================= */
.dlg.dlg-np { width: min(820px, calc(100vw - 32px)); max-height: calc(100vh - 32px); flex-direction: column; }
.dlg-np[open] { display: flex; }
.dlg-np .corps-np { overflow-y: auto; min-height: 0; flex: 1; padding-right: var(--espace-2); }
.etapes-np { list-style: none; margin: 0 0 var(--espace-4); padding: 0; display: flex; gap: var(--espace-2); }
.etapes-np li { flex: 1; display: flex; align-items: center; gap: var(--espace-2); padding: var(--espace-2) var(--espace-3); border-radius: var(--rayon-bouton); background: var(--c-surface); color: var(--c-texte-2); font-size: var(--taille-meta); font-weight: 600; }
.etapes-np li[aria-current="step"] { background: var(--c-texte); color: var(--c-fond); }
.etapes-np .n { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 2px solid currentColor; flex: none; }
.etapes-np li[data-fait] .n { background: var(--c-vert); border-color: var(--c-vert); color: var(--c-fond); }
.bloc-np { border: 1px solid var(--c-filet) !important; border-radius: var(--rayon-bouton); padding: var(--espace-3) var(--espace-4) !important; margin-bottom: var(--espace-3) !important; display: block !important; }
.bloc-np legend { padding: 0 var(--espace-1) !important; color: var(--c-texte) !important; font-size: var(--taille-corps) !important; }
.bloc-np .champ { margin-bottom: var(--espace-2) !important; }
.pied-bloc { display: flex; align-items: center; justify-content: space-between; gap: var(--espace-3); }
.pied-bloc .prix-direct { margin: 0; }
.nouveau-f { padding: var(--espace-2) var(--espace-3) 0; border-radius: var(--rayon-bouton); background: var(--c-surface); margin-bottom: var(--espace-2); }
.case-np { display: flex; gap: var(--espace-3); align-items: flex-start; font-size: var(--taille-corps); cursor: pointer; padding-top: var(--espace-4); }
.case-np input { width: 20px; height: 20px; accent-color: var(--c-accent); margin-top: 2px; flex: none; }
.case-np small { color: var(--c-texte-2); font-size: var(--taille-meta); }
/* Appro Bar : Remplir depuis la SAQ, format de stockage, mise à jour des prix SAQ (saq-produits.js, mise à jour 186) */
.saq-np { margin: 0 0 var(--espace-4); }
fieldset.saq-np, fieldset.stockage-np { border: 1px solid var(--c-filet); border-radius: var(--rayon-bouton); padding: var(--espace-3) var(--espace-4); }
.saq-np legend, .stockage-np legend { padding: 0 var(--espace-1); font-weight: 600; }
.saq-np .rangee { align-items: flex-end; }
.saq-np .encadre { margin: var(--espace-2) 0 0; }
.saq-np .encadre p + p { margin-top: var(--espace-1); }
.stockage-np { margin-top: var(--espace-3); }
.stockage-np .aide { margin: 0; }
.dlg-maj-saq .resume-fact { margin: var(--espace-3) 0; }
.dlg-maj-saq .jauge-min { width: 100%; height: 8px; border-radius: 4px; margin: var(--espace-2) 0; }
.dlg-maj-saq .jauge-min i { background: var(--c-accent); transition: width .3s; }
.liste-saq { margin: var(--espace-2) 0; }
.liste-saq summary { cursor: pointer; font-weight: 600; }
.liste-saq ul { margin: var(--espace-2) 0 0; padding-left: var(--espace-4); max-height: 40vh; overflow-y: auto; }
.liste-saq li { font-size: var(--taille-meta); padding: 2px 0; overflow-wrap: anywhere; }
.rappels-np { display: flex; flex-direction: column; gap: var(--espace-2); margin: var(--espace-3) 0; padding: var(--espace-3) var(--espace-4); border: 2px solid var(--c-ambre); border-radius: var(--rayon-bouton); }
.rappels-np p { margin: 0; font-size: var(--taille-meta); }
.encadre[data-ton="vert"] { background: var(--c-vert-fond); border-color: var(--c-vert); }
.dlg .lien { color: var(--c-accent-texte); font-weight: 600; }
.erreur-api + .aide-calcul, .aide-calcul + .erreur-api { margin-top: 2px; }
.champ input[aria-invalid="true"] { border-color: var(--c-rouge); }

.articles-p .gestes-ligne { grid-column: 1 / -1; display: flex !important; justify-content: flex-end; gap: var(--ecart-minimum); min-height: 0 !important; padding: 0 var(--espace-2) var(--espace-2) !important; border-top: 0 !important; }
.articles-p .ligne > :not(.gestes-ligne) { border-bottom: 0; }
.articles-p .ligne[data-auto] > .gestes-ligne { background: var(--c-vert-fond); }

.raison-etat { display: block; font-size: var(--taille-meta); color: var(--c-texte-2); }
.choix-f button[data-inactif] { border-style: dashed; color: var(--c-texte-2); }
.choix-f button[data-inactif][aria-pressed="true"] { color: var(--c-fond); }
.ajout-refuse { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; max-width: 280px; }
.ajout-refuse small { font-size: var(--taille-meta); color: var(--c-rouge); text-align: right; }
.dlg .orphelins { margin: var(--espace-2) 0 0; padding-left: var(--espace-5); columns: 2; font-size: var(--taille-meta); }
.dlg .liens-usages { list-style: none; padding: 0; margin: 0 0 var(--espace-3); display: flex; flex-direction: column; gap: var(--espace-1); }
.dlg .liens-usages a { display: inline-flex; min-height: var(--cible-minimum); align-items: center; }

/* ================= Saisie des ingrédients d'un article (saisie-composition.js) =================
   Les lignes se lisent comme l'étiquette : rangs sur un rail orange, sous-ingrédients en retrait sous leur ligne,
   « peut contenir » en ambre. Un champ du dictionnaire relié est marqué en vert, un nom absent du dictionnaire en ambre. */
.dlg.dlg-sc { width: min(880px, calc(100vw - 32px)); }
.dlg-sc .meta { margin: 0 0 var(--espace-3); }
.dlg-sc .illisible-sc { margin-bottom: var(--espace-3); border-width: 2px; }
.dlg-sc .illisible-sc p { margin: 0; }
.dlg-sc .illisible-sc p + p { margin-top: var(--espace-1); }
.decouper-sc { display: flex; align-items: center; gap: var(--espace-3); margin: calc(-1 * var(--espace-1)) 0 var(--espace-4); }
.decouper-sc .btn { flex: none; white-space: nowrap; }
.decouper-sc small { color: var(--c-texte-2); font-size: var(--taille-meta); }
.bloc-sc h3 { margin: 0 0 var(--espace-3); font-size: var(--taille-corps-fort); }
.lignes-sc, .sous-sc { list-style: none; margin: 0; padding: 0; }
.lignes-sc { position: relative; margin: 0 0 var(--espace-3) 15px; padding-left: var(--espace-5); border-left: 2px solid var(--c-accent); display: flex; flex-direction: column; gap: var(--espace-3); }
.ligne-sc { position: relative; }
.rang-sc { flex: none; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--c-fond); border: 2px solid var(--c-accent); color: var(--c-accent-texte); font-weight: 600; font-size: var(--taille-meta); font-variant-numeric: tabular-nums; }
.lignes-sc > .ligne-sc > .rang-sc, .lignes-sc > .ligne-sc > .res-sc > .rang-sc { position: absolute; left: calc(-1 * var(--espace-5) - 16px); top: 5px; }
.resultat-sc > .ligne-sc > .res-sc > .rang-sc { top: 1px; }
.ligne-sc[data-mention="peut_contenir"] > .rang-sc { border-color: var(--c-ambre); border-style: dashed; color: var(--c-texte); }
.champs-sc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 9.5em auto; gap: var(--espace-2); align-items: center; }
.champs-sc input { min-width: 0; }
.ingr-bloc-sc { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ingr-bloc-sc .nouvel-sc { align-self: flex-start; }
.ingr-bloc-sc .nouvel-sc[hidden] { display: none; }
.nouvel-ingr-sc { display: flex; flex-direction: column; gap: var(--espace-2); }
.nouvel-ingr-sc h3 { margin: 0; font-size: var(--taille-corps-fort); }
.nouvel-ingr-sc .boutons-sc { display: flex; gap: var(--espace-2); justify-content: flex-end; }
.champs-sc input:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 1px; }
.ingr-sc[data-etat="relie"] { border-color: var(--c-vert); box-shadow: inset 4px 0 0 var(--c-vert); }
.ingr-sc[data-etat="libre"] { border-color: var(--c-ambre); box-shadow: inset 4px 0 0 var(--c-ambre); }
.mention-sc { width: 100%; min-height: var(--cible-minimum); padding: 0 var(--espace-3); border-radius: var(--rayon-puce); border: 1px solid var(--c-contour); background: var(--c-surface); color: var(--c-texte); font: inherit; font-size: var(--taille-meta); font-weight: 600; white-space: nowrap; cursor: pointer; }
.mention-sc[aria-pressed="true"] { background: var(--c-ambre-fond); border-color: var(--c-ambre); }
.outils-sc { display: inline-flex; gap: 2px; }
.btn-icone-sc { width: 36px; height: var(--cible-minimum); border: 0; border-radius: 8px; background: none; color: var(--c-texte-2); font-size: var(--taille-corps); cursor: pointer; }
.btn-icone-sc:hover:not(:disabled) { background: var(--c-surface); color: var(--c-texte); }
.btn-icone-sc[data-action^="retirer"]:hover:not(:disabled) { color: var(--c-rouge); }
.btn-icone-sc:disabled { opacity: .3; cursor: default; }
.sous-sc { margin: var(--espace-2) 0 0 var(--espace-5); padding-left: var(--espace-3); border-left: 1px dashed var(--c-contour); display: flex; flex-direction: column; gap: var(--espace-2); }
.sous-sc > li { display: flex; align-items: center; gap: var(--espace-2); }
.sous-sc > li > .res-sc { flex: 1; }
.sous-sc > li > .champs-sc { flex: 1; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.sous-sc .rang-sc { min-width: var(--cible-minimum); border-width: 1px; }
.ajout-sous-sc { margin: var(--espace-1) 0 0 var(--espace-5); min-height: 32px; padding: 0 var(--espace-2); border: 0; background: none; color: var(--c-accent-texte); font: inherit; font-size: var(--taille-meta); font-weight: 600; cursor: pointer; border-radius: 6px; }
.ajout-sous-sc:hover { background: var(--c-accent-fond); }
.dlg .contient-sc { margin-top: var(--espace-4); }
.puces-sc { display: flex; flex-wrap: wrap; gap: var(--espace-2); }
.dlg .puces-sc label { gap: var(--espace-2); font-size: var(--taille-meta); font-weight: 600; }
.dlg-sc > .encadre { margin-top: var(--espace-3); }
/* Résultat : ce que la base a retenu et reconnu */
.res-sc { display: flex; align-items: center; gap: var(--espace-3); flex-wrap: wrap; min-height: 32px; }
.texte-res-sc { flex: 1; min-width: 12em; }
.ingr-res-sc { color: var(--c-vert); font-weight: 600; font-size: var(--taille-meta); }
.ingr-res-sc::before { content: "✓ "; }
@media (max-width: 680px) {
  .champs-sc, .sous-sc > li > .champs-sc { grid-template-columns: minmax(0, 1fr) auto; }
  .champs-sc .texte-sc, .champs-sc .ingr-sc { grid-column: 1 / -1; }
  .sous-sc > li { align-items: flex-start; }
  .decouper-sc { flex-wrap: wrap; }
}

/* ================= Factures : copie au Google Drive pour QuickBooks ================= */
.liste-fact > .filtres { gap: var(--espace-1); }
.copie-compta { border: 1px solid var(--c-filet); border-radius: var(--rayon-bouton); padding: var(--espace-3) var(--espace-4); display: flex; flex-direction: column; gap: var(--espace-1); font-size: var(--taille-meta); }
.copie-compta.echec { border: 2px solid var(--c-rouge); }
.copie-compta .haut-copie { display: flex; align-items: center; justify-content: space-between; gap: var(--espace-3); }
.copie-compta h3 { margin: 0; font-size: var(--taille-corps); }
.copie-compta p { margin: 0; }
.copie-compta .etat-copie .puce { margin-right: var(--espace-1); }
.copie-dl { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 2px var(--espace-3); margin: 0; }
.copie-dl dt { color: var(--c-texte-2); }
.copie-dl dd { margin: 0; overflow-wrap: anywhere; }
.nom-fichier { font-variant-numeric: tabular-nums; font-weight: 600; }
.note-qb { font-size: var(--taille-meta); }
.attente + .corps-fact { flex: none; }

/* Produits : « Gérer les raisons » du choix forcé et codes-barres du produit (mise à jour 276). Listes modifiables :
   une ligne compacte par élément, boutons de ligne au bout (.ligne-actions, docs/design.md) */
.choix-fiche .gestes-force { display: flex; flex-wrap: wrap; gap: var(--espace-2); margin-top: var(--espace-1); }
.choix-fiche .encadre > [data-gerer-raisons] { align-self: flex-start; margin-top: var(--espace-1); }
.dlg-raisons { width: min(720px, calc(100vw - 32px)); }
.liste-raisons { list-style: none; margin: var(--espace-2) 0 var(--espace-4); padding: 0 var(--espace-2) 0 0; max-height: 50vh; overflow-y: auto; }
.liste-raisons > .rien { padding: var(--espace-2) 0; color: var(--c-texte-2); }
.raison-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espace-2); padding: var(--espace-2) 0; }
.liste-raisons .raison-ligne { border-top: 1px solid var(--c-filet); }
.raison-ligne[data-retiree] textarea { color: var(--c-texte-2); }
.raison-ligne :is(input[type="text"], textarea) { flex: 1 1 16rem; min-width: 0; min-height: 40px; font: inherit; }
.raison-ligne textarea { field-sizing: content; resize: none; overflow: hidden; padding: var(--espace-2); line-height: 1.3; }
.raison-ligne .case-note { display: inline-flex; align-items: center; gap: var(--espace-1); font-size: var(--taille-meta); white-space: nowrap; }
.raison-ligne .ligne-actions { display: flex; align-items: center; gap: var(--ecart-minimum); margin-left: auto; }
.raison-ligne .btn-icone { min-height: 40px; display: inline-grid; place-items: center; }
.raison-ligne .btn-icone svg { width: 20px; height: 20px; }
.raison-ligne[data-retiree] .btn-icone:hover { color: var(--c-vert); box-shadow: inset 0 0 0 1px var(--c-vert); }
.raison-ligne .btn-icone:disabled { opacity: .35; cursor: not-allowed; }
.liste-codes-barres { list-style: none; margin: 0; padding: 0; }
.code-barre-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espace-2) var(--espace-3); padding: var(--espace-2) 0; border-top: 1px solid var(--c-filet); }
.code-barre-ligne .code-barre { font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.code-barre-ligne .ligne-actions { margin-left: auto; }
