/* =====================================================================
   Feuille de style du site (thèmes minty / darkly)
   ===================================================================== */

:root {
  --accent: #1b6a32;
  /* vert principal */
  --accent-doux: #78c2ad;
  /* vert du thème minty */
  --accent-fond: #eef7f3;
  /* fond vert très clair */
  --texte-doux: #5f6b66;
  --bordure: #e3ebe7;
  --rayon: 8px;
  --titre: #24312c;
  /* Couleurs des environnements hérités du polycopié LaTeX. */
  --encadre-bleu: #00498a;
  --encadre-bleu-fond: #eaf4fc;
  --exemple-bande: #dcf0dc;
  --exemple-texte: #193c22;
}

body.quarto-dark {
  --accent: #8fd3b4;
  --accent-doux: #5fa98f;
  --accent-fond: #1f2b27;
  --texte-doux: #a9b5b0;
  --bordure: #34403b;
  --titre: #e6ece9;
  --fond: #181d1b;
  --fond-lateral: #1e2522;
  --texte: #d7dfdb;
  --encadre-bleu: #95c8f0;
  --encadre-bleu-fond: #1e2e3a;
  --exemple-bande: #294834;
  --exemple-texte: #d3ead7;
}

/* --- Mode sombre : fonds sobres et contraste confortable --------------- */
body.quarto-dark {
  background-color: var(--fond);
  color: var(--texte);
}

body.quarto-dark #quarto-sidebar,
body.quarto-dark .sidebar.sidebar-navigation,
body.quarto-dark #quarto-header,
body.quarto-dark .navbar {
  background-color: var(--fond-lateral) !important;
  border-color: var(--bordure) !important;
}

body.quarto-dark #quarto-sidebar .sidebar-link {
  color: var(--texte);
}

body.quarto-dark #quarto-sidebar .aa-DetachedSearchButton,
body.quarto-dark #quarto-search .aa-Form,
body.quarto-dark .aa-DetachedSearchButton {
  background-color: var(--fond) !important;
  border: 1px solid var(--bordure) !important;
  color: var(--texte-doux) !important;
}

body.quarto-dark div.callout {
  background-color: #1f2724;
}

body.quarto-dark div.sourceCode,
body.quarto-dark pre.sourceCode,
body.quarto-dark .cell-output pre {
  background-color: #202825 !important;
}

/* figures générées sur fond clair : cadre clair pour rester lisibles */
body.quarto-dark .quarto-figure img,
body.quarto-dark .cell-output-display img {
  background-color: #fcfcfb;
  padding: 4px;
}

/* --- Fil d'Ariane --------------------------------------------------- */
.quarto-page-breadcrumbs .breadcrumb,
.breadcrumb {
  --bs-breadcrumb-bg: transparent;
  --bs-breadcrumb-divider-color: var(--texte-doux);
  --bs-breadcrumb-item-active-color: var(--texte-doux);
  background: transparent !important;
  padding: 0.2rem 0 !important;
  margin-bottom: 0.6rem;
  font-size: 0.85rem;
  border-bottom: 1px solid var(--bordure);
  border-radius: 0;
}

.breadcrumb .breadcrumb-item a,
.breadcrumb .breadcrumb-item a strong {
  color: var(--accent) !important;
  font-weight: 500;
  text-decoration: none;
}

.breadcrumb .breadcrumb-item a:hover {
  text-decoration: underline;
}

.breadcrumb .breadcrumb-item.active {
  color: var(--texte-doux);
}

/* --- Barre latérale ------------------------------------------------- */
#quarto-sidebar .sidebar-title {
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--accent);
}

/* intitulés de sections (Statistique, Modèles avancés, chapitre...) */
#quarto-sidebar .sidebar-item-section>.sidebar-item-container .sidebar-item-text,
#quarto-sidebar .sidebar-section .sidebar-item-text.sidebar-link {
  font-weight: 600;
}

/* liens */
#quarto-sidebar .sidebar-link {
  border-radius: 6px;
  padding: 0.18rem 0.5rem;
  transition: background-color 0.15s ease, color 0.15s ease;
}

#quarto-sidebar .sidebar-link:hover {
  background-color: var(--accent-fond);
  color: var(--accent) !important;
}

/* page active : texte vert en gras précédé d'un petit point (sans fond ni liseré) */
#quarto-sidebar .sidebar-link.active {
  background-color: transparent;
  color: var(--accent) !important;
  font-weight: 700;
}

#quarto-sidebar .sidebar-link.active .menu-text::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.45rem 0.12rem -0.2rem;
  border-radius: 50%;
  background: var(--accent);
}

/* sous-niveaux : filet vertical pour visualiser l'imbrication */
#quarto-sidebar .sidebar-section {
  margin-left: 0.35rem;
  padding-left: 0.45rem;
  border-left: 1px solid var(--bordure);
}

#quarto-sidebar .sidebar-item {
  margin-top: 1px;
}

/* espacement entre les grandes sections du site (Accueil, Statistique, R...) */
#quarto-sidebar .sidebar-menu-container>ul>li.sidebar-item {
  margin-top: 1.1rem;
}

#quarto-sidebar .sidebar-menu-container>ul>li.sidebar-item:first-child {
  margin-top: 0.3rem;
}

/* et, plus discrètement, entre les sous-sections (Les bases, Modèles avancés...) */
#quarto-sidebar .sidebar-menu-container>ul>li>ul>li.sidebar-item-section {
  margin-top: 0.5rem;
}

/* champ de recherche */
#quarto-sidebar .aa-DetachedSearchButton,
#quarto-search .aa-Form {
  border-radius: var(--rayon);
}

/* --- Titres ----------------------------------------------------------- */
main h1,
main .title {
  font-weight: 700;
  letter-spacing: -0.01em;
}

main h1,
main h2,
main h3 {
  color: var(--titre);
}

main section.level2+section.level2 {
  margin-top: 1rem;
}

main h2 {
  margin-top: 3.2rem;
  padding-bottom: 0.3rem;
  border-bottom: 2px solid var(--bordure);
}

main h3 {
  margin-top: 2.2rem;
}

.header-section-number {
  color: var(--accent-doux);
  margin-right: 0.15em;
}

/* --- Table des matières de droite ------------------------------------ */
#TOC,
nav[role="doc-toc"] {
  font-size: 0.86rem;
}

#toc-title,
.toc-actions {
  font-weight: 600;
}

.sidebar nav[role="doc-toc"] ul>li>a.active,
.sidebar nav[role="doc-toc"] ul>li>ul>li>a.active {
  /* border-left: 2px solid var(--accent); */
  color: var(--accent) !important;
  font-weight: 600;
}

/* --- Texte, liens ---------------------------------------------------- */
main p,
main li {
  line-height: 1.75;
}

main p {
  margin-bottom: 1.1rem;
}

main a:not(.nav-link):not(.sidebar-link) {
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* --- Encadrés (callouts) --------------------------------------------- */
div.callout {
  border-radius: var(--rayon);
  border-left-width: 4px !important;
  /* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); */
}

div.callout .callout-header {
  font-weight: 600;
}

/* --- Code ------------------------------------------------------------- */
details.code-fold>summary {
  color: var(--texte-doux);
  font-size: 0.85rem;
}

div.sourceCode,
pre.sourceCode {
  border-radius: var(--rayon);
}

code:not(.sourceCode) {
  background-color: var(--accent-fond);
  color: inherit;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  font-size: 0.88em;
}

.cell-output pre {
  border-radius: var(--rayon);
  font-size: 0.84rem;
}

/* --- Figures ---------------------------------------------------------- */
.quarto-figure img,
.cell-output-display img {
  border-radius: var(--rayon);
}

.figure-caption,
figcaption {
  font-size: 0.88rem;
  color: var(--texte-doux);
  line-height: 1.5;
}

/* --- Tableaux scientifiques en HTML -----------------------------------
   Filets noirs de type booktabs, texte à gauche et nombres à droite.
   Le fond blanc conserve la lisibilité dans les deux thèmes.
   Le contre-exemple .tableau-luis garde volontairement son propre style. */
main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table) {
  --bs-table-color: #000;
  --bs-table-bg: #fff;
  --bs-table-border-color: #000;
  --bs-table-striped-color: #000;
  --bs-table-striped-bg: transparent;
  --bs-table-active-color: #000;
  --bs-table-active-bg: transparent;
  --bs-table-hover-color: #000;
  --bs-table-hover-bg: transparent;
  width: 100%;
  margin: 0.7rem 0 1rem;
  border: 0 !important;
  border-collapse: collapse;
  background: #fff !important;
  color: #000;
  font-family: "Times New Roman", Times, Georgia, serif;
  font-size: 0.96em;
  font-variant-numeric: lining-nums tabular-nums;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody, tfoot),
main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody, tfoot)>tr,
main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody, tfoot)>tr> :is(th, td) {
  border: 0 !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody, tfoot)>tr> :is(th, td) {
  padding: 0.35rem 0.65rem;
  text-align: left !important;
  vertical-align: top;
  font-weight: 400;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)>thead {
  border-top: 2px solid #000 !important;
  border-bottom: 1px solid #000 !important;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)>tbody:last-of-type {
  border-bottom: 2px solid #000 !important;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table):not(:has(> thead))>tbody:first-of-type {
  border-top: 2px solid #000 !important;
}

main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody)>tr>.tableau-nombre,
main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody)>tr>[align="right"],
main :is(table.table, table.gt_table, table.tableau-scientifique):not(.tableau-luis):not(.cell-output table)> :is(thead, tbody)>tr>.gt_right {
  text-align: right !important;
  white-space: nowrap;
}

main table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr>th.tableau-groupe {
  border-bottom: 1px solid #000 !important;
  text-align: center !important;
}

main table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>tbody>tr>th.tableau-modalite {
  padding-left: 1.65rem;
}

main .tableau-defilement {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

main .quarto-float-tbl>figcaption,
main table.tableau-scientifique>caption,
main table.gt_table:not(.cell-output table)>caption {
  margin-bottom: 0.45rem;
  color: inherit;
  font-family: "Times New Roman", Times, Georgia, serif;
  font-size: 1em;
  line-height: 1.45;
  text-align: left;
}

main .quarto-float-tbl>figcaption .tableau-numero {
  font-weight: 700;
}

/* Les notes prolongent le tableau, avec la même police et sans les
   espacements des paragraphes du cours. */
main .quarto-float:has(+ .tableau-notes),
main .quarto-float:has(+ .tableau-notes)>figure,
main .quarto-float:has(+ .tableau-notes) table.tableau-scientifique {
  margin-bottom: 0;
}

main .tableau-notes {
  margin: 0 0 1.25rem;
  padding: 0.35rem 0.65rem 0.45rem;
  background: #fff;
  color: #000;
  font-family: "Times New Roman", Times, Georgia, serif;
  font-size: 0.9em;
  text-align: left;
}

main .tableau-notes>p {
  margin: 0;
  line-height: 1.4;
}

main .tableau-notes>p+p {
  margin-top: 0.2rem;
}

/* --- Équations longues : défilement plutôt que débordement ------------ */
mjx-container[display="true"] {
  overflow-x: auto;
  overflow-y: hidden;
}

/* --- Navigation précédent / suivant ---------------------------------- */
.page-navigation {
  border-top: 1px solid var(--bordure);
  padding-top: 1rem;
}

.page-navigation a {
  color: var(--accent);
}

/* --- Couleurs des encadrés, alignées sur le poly ----------------------
   commentaire (>) : gris italique · exemple : vert · remarque : bleu
   définition : rouge · avertissement : orange                          */
main blockquote,
main .blockquote {
  color: #6c757d;
  font-style: italic;
  border-left: 3px solid #ced4da;
}

body.quarto-dark main blockquote {
  color: #a9b0b5;
  border-left-color: #4a5257;
}

div.callout-note.callout {
  --c: #2a78d6;
}

div.callout-note.exemple {
  --c: #1b8a4a;
}

div.callout-important.callout {
  --c: #c62828;
}

div.callout-warning.callout,
div.callout-caution.callout {
  --c: #e07b00;
}

div.callout-note.callout,
div.callout-note.exemple,
div.callout-important.callout,
div.callout-warning.callout,
div.callout-caution.callout {
  border-left-color: var(--c) !important;
}

div.callout-note.callout>.callout-header,
div.callout-note.exemple>.callout-header,
div.callout-important.callout>.callout-header,
div.callout-warning.callout>.callout-header,
div.callout-caution.callout>.callout-header {
  background-color: color-mix(in srgb, var(--c) 10%, transparent) !important;
}

div.callout-note.callout .callout-title-container,
div.callout-note.exemple .callout-title-container,
div.callout-important.callout .callout-title-container,
div.callout-warning.callout .callout-title-container,
div.callout-caution.callout .callout-title-container,
div.callout.exemple.callout-style-simple .callout-title-container {
  color: var(--c);
}

/* --- Environnements du polycopié, version HTML -------------------------
   Les exemples existants gardent leur syntaxe .callout-note .exemple.
   Les exemples numérotés (#exm-...) et les preuves (.proof) sont natifs
   dans Quarto. Voir environnements.qmd pour les syntaxes et les aperçus. */

/* Exemple : cartouche, bande verticale et petit retour en bas. Le
   cartouche reste dans la colonne pour ne pas empiéter sur le menu. */
main div.callout.exemple,
main div.theorem.example {
  position: relative;
  margin: 1.6rem 0;
  padding: 0 1.1rem 1rem;
  border: 0 !important;
  border-left: 5px solid var(--exemple-bande) !important;
  border-radius: 0;
  background-color: transparent !important;
  box-shadow: none;
  font-size: 1rem;
  font-style: normal;
}

main div.callout.exemple::after,
main div.theorem.example::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -5px;
  width: 3rem;
  height: 5px;
  background-color: var(--exemple-bande);
}

main div.callout.exemple>.callout-header,
main div.theorem.example> :first-child>.theorem-title {
  display: block !important;
  width: fit-content;
  max-width: calc(100% + 1.1rem + 5px);
  margin: 0 0 0.85rem calc(-1.1rem - 5px);
  padding: 0.35rem 0.8rem;
  border-radius: 0;
  background-color: var(--exemple-bande) !important;
  color: var(--exemple-texte);
  font-size: 0.95rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
}

main div.callout.exemple>.callout-header .callout-title-container {
  color: var(--exemple-texte);
}

main div.callout.exemple>.callout-header>.callout-icon-container {
  display: none;
}

main div.callout.exemple>.callout-body-container,
main div.callout.exemple>.callout-collapse>.callout-body-container {
  padding: 0;
  font-size: 1em;
}

/* EncadreBlanc / EncadreBleu : même bande bleue que dans style.tex.
   Le titre est un titre de callout : il n'entre pas dans le sommaire. */
main div.callout.encadre-blanc,
main div.callout.encadre-bleu {
  margin: 1.5rem 0;
  padding: 1rem 1.2rem;
  border: 1px solid var(--bordure);
  border-left: 6px solid var(--encadre-bleu) !important;
  border-radius: 0;
  background-color: var(--bs-body-bg) !important;
  font-size: 1rem;
}

main div.callout.encadre-bleu {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  background-color: var(--encadre-bleu-fond) !important;
}

main div.callout.encadre-blanc>.callout-header,
main div.callout.encadre-bleu>.callout-header {
  margin: 0 0 0.6rem;
  padding: 0;
  border-radius: 0;
  background-color: transparent !important;
}

main div.callout.encadre-blanc>.callout-header .callout-title-container,
main div.callout.encadre-bleu>.callout-header .callout-title-container {
  color: var(--encadre-bleu);
  font-weight: 700;
}

main div.callout.encadre-blanc>.callout-body-container,
main div.callout.encadre-bleu>.callout-body-container {
  padding: 0;
  font-size: 1em;
}

/* Les tableaux larges défilent dans leur encadré sur petit écran. */
main :is(.exemple, .theorem.example, .encadre-blanc, .encadre-bleu) .quarto-float-tbl>div[aria-describedby] {
  max-width: 100%;
  overflow-x: auto;
}

/* Preuve : titre en italique, filet gris et carré final, comme proofbox. */
main div.proof {
  margin: 1.3rem 0 1.8rem 1.1rem;
  padding: 0.2rem 1rem 0.5rem;
  border-left: 2px solid var(--bordure);
  font-style: normal;
}

main div.proof .proof-title {
  display: block;
  margin-bottom: 0.6rem;
  font-style: italic;
}

main div.proof::after {
  content: "\25A0";
  display: block;
  color: var(--texte-doux);
  font-size: 0.75em;
  line-height: 1;
  text-align: right;
}

main div.callout.exemple>.callout-body-container> :last-child,
main div.callout.encadre-blanc>.callout-body-container> :last-child,
main div.callout.encadre-bleu>.callout-body-container> :last-child {
  margin-bottom: 0;
}

@media (max-width: 575.98px) {

  main div.callout.exemple,
  main div.theorem.example {
    padding-right: 0.5rem;
  }

  main div.callout.encadre-blanc,
  main div.callout.encadre-bleu {
    padding: 0.8rem;
  }

  main div.proof {
    margin-left: 0;
    padding-right: 0.5rem;
  }
}

/* --- Bibliographie : une référence par puce, bien séparées ----------- */
#refs .csl-entry,
div.csl-bib-body .csl-entry {
  position: relative;
  padding-left: 1.1rem !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  margin-bottom: 0.7rem;
  line-height: 1.55;
  font-size: 0.92rem;
}

#refs .csl-entry::before,
div.csl-bib-body .csl-entry::before {
  content: "";
  position: absolute;
  left: 0.15rem;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-doux);
}

/* Tableau PAM-13 croise : proportions et densite du modele du polycopie. */
main .tableau-pam13-croise {
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)> :is(thead, tbody)>tr> :is(th, td) {
  padding: 0.08rem 0.45rem;
  line-height: 1.2;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>tbody>tr>th.tableau-modalite {
  padding-left: 1.45rem;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr:last-child>th {
  font-size: 0.9em;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr:last-child>th,
main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr>th[rowspan] {
  padding-bottom: 0.3rem;
}

main .tableau-pam13-croise>figure>figcaption.quarto-float-caption {
  text-align: left;
  line-height: 1.25;
}

main .tableau-pam13-croise.tableau-notes {
  padding: 0.1rem 0.45rem 0.45rem;
}

main .tableau-pam13-croise.tableau-notes>p {
  line-height: 1.25;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table) {
  margin-bottom: 0;
}

main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr>th:not(:first-child):not(.tableau-groupe),
main .tableau-pam13-croise table.tableau-scientifique:not(.tableau-luis):not(.cell-output table)>thead>tr:last-child>th {
  text-align: right !important;
}

/* Exception pédagogique : centrer les effectifs, inconnues et formules
   des tableaux de contingence du chapitre sur le chi-deux. */
main #sec-tests-qualitatives [id^="tbl-tests-contingence-"] table> :is(thead, tbody, tfoot)>tr> :is(th, td):not(:first-child) {
  text-align: center !important;
  vertical-align: middle;
}

/* Sélection backward : trois modèles à en-têtes groupés et bilan commun. */
main #tbl-rl-selection-backward table {
  margin-bottom: 0;
}

main #tbl-rl-selection-backward table> :is(thead, tbody)>tr> :is(th, td) {
  padding: 0.12rem 0.45rem;
  line-height: 1.25;
  white-space: nowrap;
}

main #tbl-rl-selection-backward table>thead>tr>th {
  vertical-align: bottom;
}

main #tbl-rl-selection-backward table>thead>tr>th:not([rowspan]) {
  text-align: center !important;
}

main #tbl-rl-selection-backward table>thead>tr>th.tableau-groupe {
  border-bottom: 0 !important;
  background-image: linear-gradient(#777, #777) !important;
  background-size: calc(100% - 1rem) 1px !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  padding-bottom: 0.35rem;
}

main #tbl-rl-selection-backward table>tbody>tr>th.tableau-modalite {
  padding-left: 1.5rem;
}

main #tbl-rl-selection-backward table>tbody>tr.tableau-bilan>td {
  text-align: center !important;
}

main #tbl-rl-selection-backward table>tbody>tr:not(.tableau-bilan)+tr.tableau-bilan> :is(th, td) {
  border-top: 1px solid #000 !important;
  padding-top: 0.35rem;
}

main #tbl-rl-selection-backward>figure>figcaption {
  text-align: left;
  line-height: 1.3;
}

main #selection-backward-notes {
  padding-top: 0.15rem;
}

main #selection-backward-notes>p {
  line-height: 1.25;
}

main #tbl-rl-selection-backward .tableau-defilement {
  max-height: none;
  overflow-y: hidden;
}

/* Code et sorties textuelles R : conserver les lignes et défiler horizontalement.
   S'applique aussi aux pages déjà générées avec code-overflow: wrap. */
main div.sourceCode,
main .cell-output,
main .cell-output-stdout,
main .cell-output-stderr {
  min-width: 0;
  max-width: 100%;
}

main pre.sourceCode,
main .cell-output pre,
main .cell-output-stdout pre,
main .cell-output-stderr pre {
  max-width: 100%;
  overflow-x: auto;
}

main pre.sourceCode,
main pre.sourceCode code,
main pre.sourceCode code>span,
main .cell-output pre,
main .cell-output pre code,
main .cell-output-stdout pre,
main .cell-output-stdout pre code,
main .cell-output-stderr pre,
main .cell-output-stderr pre code {
  white-space: pre !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Les numéros Quarto sont décalés dans la marge du pre.
   Faire défiler le conteneur complet évite de couper cette marge. */
main div.sourceCode {
  overflow-x: auto;
}
main div.sourceCode > pre.sourceCode {
  overflow: visible;
}

/* En-têtes de colonnes en gras par défaut, y compris les en-têtes groupés. */
main table>thead>tr> :is(th, td) {
  font-weight: 700 !important;
}

/* Suivi des quatre sujets : aligner les durées et statuts sous leur sujet. */
main #tbl-surv-suivi-quatre-sujets table> :is(thead, tbody)>tr> :is(th, td):not(:first-child) {
  text-align: center !important;
  vertical-align: middle;
}

/* Cox : analyses brute et ajustée regroupées, libellés lisibles. */
main #tbl-surv-rr-bruts-ajustes table> :is(thead, tbody)>tr> :is(th, td) {
  padding: 0.15rem 0.5rem;
  line-height: 1.3;
  white-space: nowrap;
}

main #tbl-surv-rr-bruts-ajustes table>thead>tr>th {
  vertical-align: bottom;
}

main #tbl-surv-rr-bruts-ajustes table>thead>tr>th:not([rowspan]) {
  text-align: center !important;
}

main #tbl-surv-rr-bruts-ajustes table>thead>tr>th.tableau-groupe {
  border-bottom: 0 !important;
  background-image: linear-gradient(#777, #777) !important;
  background-size: calc(100% - 1rem) 1px !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  padding-bottom: 0.35rem;
}

main #tbl-surv-rr-bruts-ajustes table>tbody>tr>th.tableau-modalite {
  padding-left: 1.5rem;
}

main #tbl-surv-rr-bruts-ajustes .tableau-defilement {
  max-height: none;
  overflow-y: hidden;
}