/* Feuilles A4 paysage (aperçu à l'écran + impression). 297 × 210 mm ≈ 1123 × 794 px. */
.feuille{width:297mm;height:209mm;box-sizing:border-box;background:#fff;color:#111;overflow:hidden;
  font-family:'Atkinson Hyperlegible','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.feuille *{-webkit-print-color-adjust:exact;print-color-adjust:exact}

/* ---- Feuille cuisine ---- */
.feuille-cuisine{padding:34px 40px;gap:9px}
.fc-entete{display:flex;justify-content:space-between;align-items:stretch;border-bottom:3px solid #111;padding-bottom:6px;gap:16px}
.fc-titres{display:flex;flex-direction:column;justify-content:center}
.fc-titre{font-size:28px;font-weight:700}
.fc-sous{font-size:13px}
.fc-grand{background:#111;color:#fff;border-radius:6px;padding:4px 20px;text-align:center;flex:none}
.fc-grand-lab{font-size:12px;letter-spacing:1px}
.fc-grand-val{font-size:42px;font-weight:700;line-height:1}
.fc-grand-val span{font-size:18px}
.fc-ventil{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.fc-ventil-lab{font-size:12px;font-weight:700;margin-right:4px}
.fc-chip{display:inline-flex;gap:6px;align-items:baseline;border:1px solid #111;border-radius:4px;padding:1px 8px;font-size:13px}
.fc-chip b{font-size:17px}
/* Le tableau prend la place restante (container-type) ; --u = hauteur d'une ligne simple, au plus 20 px,
   réduite si les --n lignes ne tiennent pas (beaucoup de régimes). 56 px = bandeau des zones + en-têtes de colonnes. */
.fc-table{border-top:2px solid #111;flex:1 1 0;min-height:0;overflow:hidden;container-type:size}
.fc-table > *{--u:min(20px, (100cqh - 56px) / var(--n, 1))}
.fc-zones,.fc-colonnes,.fc-ligne{display:grid}
.fc-zones{font-size:10px;font-weight:700;letter-spacing:.3px}
.fc-zone{border-left:2px solid #111;background:#e4e4e4;text-align:center;padding:1px 0}
.fc-zone.noir{background:#111;color:#fff}
.fc-colonnes{border-bottom:2px solid #111}
.fc-col{display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:11px;height:36px;line-height:1.1;padding:0 1px;overflow:hidden}
.fc-lab{display:flex;align-items:center;padding-left:8px;border-bottom:1px solid #999;font-size:calc(var(--u) * .7);white-space:nowrap;overflow:hidden}
.fc-colonnes .fc-lab{font-weight:700;border-bottom:0;font-size:13px}
.fc-cel{display:flex;align-items:center;justify-content:center;border-bottom:1px solid #999;font-size:calc(var(--u) * .7)}
.fc-cel.vide{color:#767676}
.fc-ligne{height:var(--u)}
.fc-ligne.fc-total{height:calc(var(--u) * 1.4);font-weight:700}
.fc-ligne.fc-total .fc-lab,.fc-ligne.fc-total .fc-cel{font-size:calc(var(--u) * .8)}
.fc-ligne.fc-texture{height:calc(var(--u) * 1.4);font-weight:700}
.fc-ligne.fc-texture .fc-lab,.fc-ligne.fc-texture .fc-cel{font-size:calc(var(--u) * .85)}
.fc-groupe{background:#d9d9d9;font-size:calc(var(--u) * .55);line-height:1;font-weight:700;letter-spacing:1px;padding:0 8px;
  height:calc(var(--u) * .9);box-sizing:border-box;display:flex;align-items:center;border-bottom:1px solid #999}
.fc-pied{margin-top:auto;font-size:12px;color:#444;display:flex;justify-content:space-between;gap:16px}

/* ---- Feuille chariot ---- */
.feuille-chariot{padding:36px 40px;gap:14px}
.ch-entete{display:flex;align-items:stretch;border:3px solid #111;border-radius:6px;overflow:hidden;flex:none}
.ch-nom{padding:8px 20px;font-size:32px;font-weight:700;display:flex;align-items:center}
.ch-info{padding:8px 18px;flex-grow:1;display:flex;flex-direction:column;justify-content:center;min-width:0}
.ch-titre{font-size:22px;font-weight:700}
.ch-sous{font-size:14px}
.ch-plats{padding:8px 20px;border-left:3px solid #111;text-align:center}
.ch-plats-lab{font-size:13px}
.ch-plats-val{font-size:34px;font-weight:700;line-height:1}
.ch-detail{padding:8px 20px;border-left:1px solid #999;font-size:14px;display:flex;flex-direction:column;justify-content:center;max-width:300px}
.ch-tex{padding:0 4px}
.ch-corps{display:flex;gap:18px;flex-grow:1;min-height:0}
.ch-collectif{width:300px;flex:none;border:2px solid #111;border-radius:6px;display:flex;flex-direction:column}
.ch-parts{flex:1 1 auto;width:auto;min-width:0}
.ch-bandeau{background:#111;color:#fff;padding:6px 12px;font-size:16px;font-weight:700}
.ch-bacs{padding:12px;display:flex;flex-direction:column;gap:12px;font-size:14px}
.ch-bac{border:1px solid #111;border-radius:4px;padding:8px 10px}
.ch-bac-haut{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ch-bac-lab{font-size:17px;font-weight:700}
.ch-bac-val{font-size:30px;font-weight:700}
.ch-bac-desc{font-size:13px;color:#444}
/* Bacs collectifs : salariés (beige) et résidents (bleu) bien distincts, aussi en noir et blanc (bandeau écrit). */
.ch-bac-sal{background:#f0ede4}
.ch-bac-res{background:#e4edf7}
.ch-bac-qui{font-size:11px;font-weight:700;letter-spacing:.08em;color:#444}
.ch-enplus{font-size:13px;border-top:1px solid #767676;padding-top:8px}
.ch-indiv{flex-grow:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.ch-indiv-haut{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.ch-indiv-haut b{font-size:16px}
.ch-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ch-etiq{border:2px solid #111;border-radius:6px;height:158px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
.ch-etiq-haut{font-size:12px;font-weight:700;padding:1px 10px;border-bottom:2px solid #111;display:flex;justify-content:space-between;background:#f2f2f2}
.ch-etiq-parc{padding:0 6px;border:1px solid #111;border-radius:3px}
.ch-etiq-tex{font-size:30px;font-weight:700;letter-spacing:1px;text-align:center;line-height:1.15;padding:2px 0;border-bottom:2px solid #111}
.ch-etiq-corps{padding:6px 10px;display:flex;justify-content:space-between;align-items:center;flex-grow:1;gap:8px;min-height:0}
.ch-etiq-gauche{display:flex;flex-direction:column;gap:5px;min-width:0}
.ch-etiq-nom{font-size:22px;font-weight:700;line-height:1}
.ch-etiq-consigne{font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-etiq-tags{display:flex;flex-wrap:wrap;gap:5px}
.ch-tag{display:inline-block;border:2px solid #111;border-radius:4px;padding:0 7px;font-size:13px;font-weight:700}
.ch-eq{border:2px solid #111;border-radius:4px;padding:2px 10px;text-align:center;flex:none}
.ch-eq-lab{font-size:11px}
.ch-eq-val{font-size:26px;font-weight:700;line-height:1}
.ch-libre{border:2px solid #767676;border-radius:6px;height:158px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#767676;font-size:14px}
.ch-aucune{grid-column:span 2}
.ch-pied{font-size:12px;color:#444;display:flex;justify-content:space-between;gap:16px;flex:none}

/* ---- Impression ---- */
@page{size:A4 landscape;margin:0}
@media screen{#impression{display:none}}
@media print{
  html,body{margin:0;padding:0;background:#fff}
  #app{display:none !important}
  #impression{display:block}
  #impression .feuille{break-inside:avoid;page-break-inside:avoid}
  #impression .feuille + .feuille{break-before:page;page-break-before:always}
}
