/* ch.562 — tableau des prestations par fréquence (composant TableauPrestations.js).
   ⛔ Styles DU COMPOSANT, ⛔ jamais d'une page : il sera réutilisé par le contrat final et le planning.
   Charte (ch.563, style de RÉFÉRENCE) : en-tête #10B981 texte blanc, cellules blanches, lignes alternées
   #F8FAFC, grille 1px #CBD5E1, cases ☑ #10B981 / ☐ #94A3B8, pieds #ECFDF5 ; une couleur d'accent par
   groupe (bordure gauche de la tuile, posée par le composant).
   ⛔ Aucune variable CSS (piège n°7). Sous 768 px : défilement DANS le tableau, jamais la page. */
.tp-bloc { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tp-forfait { background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46; border-radius: 10px;
  padding: 9px 12px; font-size: 13px; }
.tp-groupe { background: #FFFFFF; border: 1px solid #E2E8F0; border-left: 5px solid #10B981;
  border-radius: 12px; padding: 10px 12px 12px; box-shadow: 0 2px 6px rgba(15,23,42,.06); min-width: 0; }
.tp-groupe-titre { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800;
  color: #0F172A; margin-bottom: 8px; flex-wrap: wrap; }
.tp-pastille { width: 12px; height: 12px; border-radius: 50%; display: inline-block; flex: none; }
.tp-compte { font-size: 11px; font-weight: 600; color: #64748B; margin-left: auto; }
.tp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
/* ch.563 — style NET (modèle : annexe Indigo) : en-tête vert foncé texte blanc, cellules BLANCHES, grille de
   lignes fines 1px #CBD5E1, cases à cocher DESSINÉES (☑ vert / ☐ gris) — ⛔ plus aucune cellule remplie de vert. */
.tp-table { width: 100%; border-collapse: collapse; font-size: 12px; color: #1E293B; background: #FFFFFF;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.tp-table th, .tp-table td { border: 1px solid #CBD5E1; }
.tp-table th { background: #10B981; color: #FFFFFF; font-weight: 800; padding: 6px; text-align: left; white-space: nowrap; }
.tp-table td { background: #FFFFFF; padding: 6px; vertical-align: top; }
.tp-table tr.tp-alt td { background: #F8FAFC; }
.tp-table th.tp-c, .tp-table td.tp-c, .tp-table td.tp-case { text-align: center; width: 34px; min-width: 34px; max-width: 34px; }
.tp-table td.tp-case, .tp-table td.tp-freq, .tp-table td.tp-nb { vertical-align: middle; white-space: nowrap; }
.tp-table .tp-num { text-align: right; white-space: nowrap; }
.tp-table .tp-nb { text-align: center; font-weight: 800; white-space: nowrap; }
.tp-table .tp-freq { text-align: center; white-space: nowrap; }
.tp-table td.tp-freq { color: #334155; font-weight: 700; }   /* ⚠️ td SEULEMENT : sur le th, elle écrasait le texte blanc de l'en-tête (mesuré) */
.tp-cb { display: inline-block; width: 14px; height: 14px; box-sizing: border-box; border: 1.5px solid #94A3B8;
  border-radius: 3px; background: #FFFFFF; vertical-align: middle; position: relative; }
.tp-cb.tp-on { border-color: #10B981; }
.tp-cb.tp-on::after { content: ""; position: absolute; left: 3.5px; top: 0.5px; width: 4px; height: 8px;
  border: solid #10B981; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.tp-x { font-size: 10px; font-weight: 800; color: #047857; margin-left: 2px; vertical-align: middle; }
.tp-zone { font-weight: 700; min-width: 120px; }
.tp-taches { min-width: 180px; line-height: 1.45; }
.tp-tache { white-space: nowrap; }
.tp-sep { color: #94A3B8; }
.tp-desc { font-size: 11px; color: #64748B; margin-top: 3px; }
.tp-vide { color: #94A3B8; }
.tp-manque { color: #B45309; font-weight: 700; font-size: 11px; }
.tp-table tfoot td, .tp-table tr.tp-pied td { background: #ECFDF5; font-weight: 700; color: #1E293B; }
.tp-vide-bloc { padding: 14px; color: #64748B; font-size: 13px; }
@media (max-width: 768px) {
  .tp-table { font-size: 11px; }
  .tp-groupe { padding: 8px; }
}
@media print {
  .tp-groupe { box-shadow: none; background: transparent; border-radius: 0; padding: 4px 0; break-inside: auto; }
  .tp-wrap { overflow: visible; }
  .tp-table { width: 100%; font-size: 10px; }
  .tp-table tr { break-inside: avoid; page-break-inside: avoid; }
  .tp-table thead { display: table-header-group; }
}
