/* Renforcement du squelette de planning - appliqué quand data-planning-squelette="1" ou classe .planning-squelette */
#planningTableWithNames.planning-squelette[data-planning-squelette="1"],
.planning-squelette#planningTableWithNames,
#planningTableWithNames[data-planning-squelette="1"] {
  /* Par défaut (si pas de frame) on affiche le contour sur la table */
  border: var(--skel-width,1px) solid var(--skel-color,#cbd5e1);
  border-collapse: separate; /* laisse la place aux lignes internes personnalisées */
  border-spacing: 0 !important; /* élimine les écarts blancs entre cellules */
  margin: 0 !important;
  padding: 0 !important;
}
/* Quand un frame (#planning-table-frame) entoure la table, on laisse UNIQUEMENT le frame gérer le contour */
#planning-table-frame > #planningTableWithNames.planning-squelette[data-planning-squelette="1"] {
  border: none !important;
}

/* Annuler tout border-spacing résiduel sur n'importe quelle table squelette */
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] thead,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] tbody,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] tfoot,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] tr,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] th,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] td {
  margin: 0 !important;
  padding-top: 0;
  /* on garde padding latéral dans les cellules de contenu; ne pas écraser leur padding inline spécifique */
  border-spacing: 0 !important;
}

/* Supprimer tout gap visuel induit par line-height sur cellules vides */
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] td:empty { line-height: 1; }

/* Neutraliser décorations inline top/bottom 2px persistantes si restées (défense CSS en plus du JS) */
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] td[style*="2px solid rgb(0, 0, 0)"] { border-top: 0 !important; border-bottom: 0 !important; }

/* Mode compact (si un jour nécessaire) : réduire padding interne */
#planningTableWithNames.planning-squelette[data-skel-compact="1"] th,
#planningTableWithNames.planning-squelette[data-skel-compact="1"] td { padding-left: 2px !important; padding-right: 2px !important; }
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] tbody td,
#planningTableWithNames.planning-squelette[data-planning-squelette="1"] tbody th {
  /* Empêcher des overrides inline parasites */
  box-shadow: none !important;
}
/* Option: si aucun inner line activé, garantir une lisibilité minimale */
#planningTableWithNames.planning-squelette[data-planning-squelette="1"]:not([data-inner-v]):not([data-inner-h]) tbody td {
  border-right: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
