:root {
    color-scheme: light;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #172033;
    background: #f2f5f9;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.page-connexion {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.carte-connexion {
    width: min(100%, 28rem);
    padding: 2rem;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(23, 32, 51, .12);
}

.logo-connexion {
    display: block;
    width: 180px;
    height: auto;
    margin: 0 auto .8rem;
}

.carte-connexion h1 {
    margin: 0;
    color: #174f86;
    font-size: 1.8rem;
    text-align: center;
}

.carte-connexion h1::after {
    content: "";
    display: block;
    width: 4.5rem;
    height: 2px;
    margin: .8rem auto 1rem;
    border-radius: 999px;
    background: #8eb6d9;
}

.carte-connexion h1 + p {
    margin-top: 0;
    text-align: center;
}

h1 { margin-top: 0; }
label { display: block; margin: 1rem 0 .4rem; font-weight: 650; }
input, button { width: 100%; font: inherit; }
input {
    padding: .75rem;
    border: 1px solid #b8c1d1;
    border-radius: .5rem;
}
select {
    width: 100%;
    padding: .45rem .55rem;
    border: 1px solid #b8c1d1;
    border-radius: .4rem;
    color: #172033;
    background: #fff;
    font: inherit;
}
button {
    margin-top: 1.25rem;
    padding: .8rem 1rem;
    border: 0;
    border-radius: .5rem;
    color: #fff;
    background: #174a8b;
    cursor: pointer;
}
.alerte { padding: .75rem; border-radius: .5rem; color: #8b1a1a; background: #fdeaea; }
.aide { margin-top: 1.25rem; text-align: center; }
.aide a { color: #174a8b; }
.entete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 2rem;
    color: #fff;
    background: #174a8b;
}
.entete span { display: block; font-size: .85rem; opacity: .85; }
.entete form, .entete button { width: auto; margin: 0; }
.identite-entete {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.identite-entete strong {
    font-size: 1.15rem;
}
.selection-club-entete {
    margin-top:.25rem !important;
}
.selection-club-entete select {
    width:230px;
    padding:.3rem .5rem;
    border-color:rgba(255,255,255,.75);
    font-size:.85rem;
}
.selection-club-entete button {
    margin-top:.25rem !important;
    padding:.3rem .6rem;
}
.logo-entete {
    display: block;
    width: 76px;
    height: 52px;
    padding: .2rem;
    border-radius: .4rem;
    object-fit: contain;
    background: #fff;
}
.actions-entete {
    display: flex;
    align-items: center;
    gap: .75rem;
}
.bouton-entete,
.actions-entete button {
    display: inline-block;
    padding: .45rem .7rem;
    border-radius: .5rem;
    font: inherit;
    font-size: .86rem;
    text-decoration: none;
}
.secondaire {
    border: 1px solid rgba(255,255,255,.7);
    color: #fff;
    background: transparent;
}
.secondaire:hover,
.secondaire:focus-visible {
    background: rgba(255,255,255,.12);
}
.actions-entete .deconnexion {
    border: 1px solid #fff;
    color: #174a8b;
    background: #fff;
}
.actions-entete .deconnexion:hover,
.actions-entete .deconnexion:focus-visible {
    background: #e8eff8;
}
.bandeau-contexte {
    padding: .55rem 1.5rem;
    color: #663300;
    background: #fff0d6;
    border-bottom: 1px solid #edc27c;
    text-align: center;
}
.mise-en-page {
    display: flex;
    align-items: flex-start;
    flex: 1 0 auto;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient(to right, #e9edf2 0, #e9edf2 300px, transparent 300px);
}
.navigation {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    flex: 0 0 300px;
    max-height: 100vh;
    padding: .55rem 0 .75rem;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: #e9edf2;
    box-shadow: none;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.25;
}
.bouton-navigation-mobile { display: none; }
.navigation-accueil { order: 1; }
.navigation .menu-principal { order: 2; }
.navigation .bloc-saison { order: 3; }
.navigation-accueil { margin: 0; }
.navigation-accueil a {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 2.7rem;
    padding: .55rem 2.2rem .55rem .8rem;
    border-left: 4px solid transparent;
    color: #263746;
    font-weight: 400;
    text-decoration: none;
}
.navigation-accueil a:hover,
.navigation-accueil a:focus-visible { color: #174a8b; background: #dde5ed; }
.navigation-accueil a.active { border-left-color: transparent; color: #174a8b; background: #e1e8ef; font-weight: 600; }
.navigation-accueil a.active::before {
    content: "";
    position: absolute;
    left: .5rem;
    top: .55rem;
    bottom: .55rem;
    width: 3px;
    border-radius: 2px;
    background: #1769aa;
}
.icone-menu {
    display: inline-flex;
    flex: 0 0 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    justify-content: center;
    color: #34495a;
    background-color: currentColor;
    -webkit-mask-image: var(--icone-menu);
    mask-image: var(--icone-menu);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.icone-accueil { --icone-menu: url("assets/icons/home.svg"); }
.icone-saison { --icone-menu: url("assets/icons/calendar.svg"); }
.icone-calendrier { --icone-menu: url("assets/icons/calendar-edit.svg"); }
.icone-championnat { --icone-menu: url("assets/icons/keyboard.svg"); }
.icone-statistiques { --icone-menu: url("assets/icons/statistics.svg"); }
.icone-documents { --icone-menu: url("assets/icons/document.svg"); }
.icone-profils { --icone-menu: url("assets/icons/person.svg"); }
.icone-securite { --icone-menu: url("assets/icons/shield.svg"); }
.icone-affilies { --icone-menu: url("assets/icons/contact.svg"); }
.icone-clubs { --icone-menu: url("assets/icons/people.svg"); }
.icone-challenge { --icone-menu: url("assets/icons/trophy.svg"); }
.icone-communication { --icone-menu: url("assets/icons/news.svg"); }
.icone-rubrique { --icone-menu: url("assets/icons/folder.svg"); }
.bloc-navigation {
    margin: 0;
    overflow: visible;
    background: transparent;
}
.bloc-navigation + .bloc-navigation {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.bloc-navigation h2 {
    margin: 0;
    padding: .45rem .85rem .3rem;
    color: #526475;
    background: transparent;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
}
.bloc-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
}
.bloc-navigation li + li {
    margin-top: 0;
}
.bloc-navigation:not(.menu-principal) li + li {
    margin-top: 0;
}
.bloc-navigation a {
    position: relative;
    display: block;
    min-height: 2.15rem;
    padding: .45rem 2rem .45rem 2.8rem;
    border-radius: 0;
    color: #34495a;
    font-size: inherit;
    text-decoration: none;
}
.bloc-navigation:not(.menu-principal) a {
    padding-top: .42rem;
    padding-bottom: .42rem;
}
.bloc-navigation .navigation-saisons {
    margin: 0;
    padding: .12rem 2rem .12rem 2.8rem;
    color: #647789;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
    text-align: left;
}
.bloc-navigation a:hover,
.bloc-navigation a:focus-visible {
    color: #174a8b;
    background: #dde5ed;
    text-decoration: none;
}
.bloc-navigation a.active {
    color: #174a8b;
    background: #e1e8ef;
    text-decoration: none;
}
.bloc-saison a.active {
    border-left: 0;
    padding-left: 2.8rem;
    color: #174a8b;
    background: #e1e8ef;
    font-weight: 600;
}
.bloc-saison a.active::before {
    content: "";
    position: absolute;
    left: 2rem;
    top: .38rem;
    bottom: .38rem;
    width: 3px;
    border-radius: 2px;
    background: #1769aa;
}
.menu-principal details,
.menu-saison {
    border-bottom: 0;
}
.menu-principal details:last-child {
    border-bottom: 0;
}
.menu-principal summary,
.menu-saison > summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 2.7rem;
    margin: 0;
    padding: .55rem 2.2rem .55rem .8rem;
    border-left: 4px solid transparent;
    border-radius: 0;
    color: #263b4b;
    font-size: 1em;
    font-weight: 400;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.menu-principal summary::-webkit-details-marker,
.menu-saison > summary::-webkit-details-marker {
    display: none;
}
.menu-principal summary::after,
.menu-saison > summary::after {
    content: "›";
    position: absolute;
    right: .85rem;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    color: #60788d;
    font-size: 1.2em;
    font-weight: 700;
    transition: transform .15s ease;
}
.menu-principal details[open] summary::after,
.menu-saison[open] > summary::after {
    content: "›";
    transform: translateY(-50%) rotate(90deg);
}
.menu-principal summary:hover,
.menu-principal summary:focus-visible,
.menu-saison > summary:hover,
.menu-saison > summary:focus-visible {
    color: #174a8b;
    background: #dde5ed;
}
.menu-principal details.rubrique-active > summary { color: #174a8b; font-weight: 600; }
.menu-principal summary:hover .icone-menu,
.menu-principal summary:focus-visible .icone-menu,
.menu-principal details.rubrique-active > summary .icone-menu,
.menu-saison > summary:hover .icone-menu,
.menu-saison > summary:focus-visible .icone-menu,
.navigation-accueil a:hover .icone-menu,
.navigation-accueil a.active .icone-menu { color: #174a8b; }
.menu-principal details.demande-calendrier-en-attente > summary .icone-menu,
.menu-principal details.demande-calendrier-en-attente > summary:hover .icone-menu,
.menu-principal details.demande-calendrier-en-attente > summary:focus-visible .icone-menu { color: #c6302c; }
.sous-menu-saisons,
.menu-principal ul {
    padding: 0;
    text-align: left;
    background: rgba(255,255,255,.28);
}
.menu-principal ul a {
    min-height: 2.2rem;
    padding: .48rem 2rem .48rem 2.8rem;
    border-left: 0;
    border-radius: 0;
    font-size: .94em;
}
.menu-principal ul a.active {
    color: #174a8b;
    background: #e1e8ef;
    font-weight: 600;
}
.menu-principal ul a.active::before {
    content: "";
    position: absolute;
    left: 2rem;
    top: .38rem;
    bottom: .38rem;
    width: 3px;
    border-radius: 2px;
    background: #1769aa;
}
.compteur-demandes-menu { color:#c6302c; font-weight:700; }
.visuellement-cache {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.contenu {
    align-self: stretch;
    min-width: 0;
    flex: 1;
    margin: 0;
    padding: 1.5rem;
    border-radius: 0;
    background: #fff;
    font-family: "Open Sans", sans-serif;
    font-size: small;
    line-height: normal;
}
.titre-page { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; margin-bottom:1.25rem; }
.titre-page h1 { margin-bottom:0; }
.actions-titre-page { display:flex; align-items:center; gap:.75rem; }
.bouton-imprimer { width:auto; margin:0; padding:.45rem .75rem; }
.surtitre { margin:0 0 .25rem; color:#5f6b7c; font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.message-succes,.information { margin:0 0 1.15rem; padding:.75rem 1rem; border:1px solid #b9d9c1; border-radius:.5rem; background:#eaf5ed; }
.information { border-color:#c5d5e8; background:#edf3fa; }
.rappel-echeances { display:block; margin-top:.4rem; color:#a34f00; font-weight:700; }
.information-fermee { color:#743c00; border-color:#edc27c; background:#fff0d6; }
.selection-journee { display:flex; align-items:center; gap:.75rem; margin:0 0 1.15rem; }
.selection-journee label { margin:0; }
.selection-journee select { width:22rem; }
.conseil-defilement { display:none; }
.tableau-resultats-conteneur { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tableau-resultats { width:100%; min-width:1100px; border-collapse:collapse; table-layout:fixed; }
.tableau-resultats th,.tableau-resultats td { padding:.48rem .5rem; border:1px solid #d7dee8; vertical-align:middle; text-align:center; }
.tableau-resultats th { color:#fff; background:#174a8b; }
.tableau-resultats th:nth-child(1){width:7%}.tableau-resultats th:nth-child(2),.tableau-resultats th:nth-child(4){width:4%}.tableau-resultats th:nth-child(3){width:24%}.tableau-resultats th:nth-child(5){width:19%}.tableau-resultats th:nth-child(6){width:28%}.tableau-resultats th:nth-child(7){width:14%}
.tableau-resultats input[type="checkbox"] { width:auto; }
.tableau-resultats textarea { width:100%; min-height:2rem; padding:.3rem .45rem; resize:vertical; font:inherit; }
.libelle-rencontre { font-weight:650; }
.champs-score { min-width:12rem; white-space:nowrap; overflow:hidden; }
.champs-score input { display:inline-block; width:4.5rem; padding:.4rem .35rem .4rem .5rem; text-align:center; }
.ligne-verrouillee { color:#667080; background:#f2f4f7; }
.pastille { display:inline-block; padding:.2rem .45rem; border-radius:999px; color:#475467; background:#e8ecf1; font-size:.78rem; white-space:nowrap; }
.pastille-ok { color:#216334; background:#dff2e4; }
.pastille-fermee { color:#7b3f00; background:#ffe7c2; }
.actions-formulaire { display:flex; justify-content:flex-end; margin-top:1.15rem; }
.actions-formulaire button { width:auto; margin:0; }

.formulaire-profil,
.formulaire-permissions {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #d8e1e9;
    border-radius: .45rem;
    background: #fff;
}
.grille-formulaire-profil {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1.2rem;
}
.grille-formulaire-profil label { margin-top: 0; }
.note-formulaire {
    margin: 1rem 0 0;
    padding: .6rem .75rem;
    border-left: 3px solid #8eb6d9;
    color: #506272;
    background: #f2f6fa;
    font-size: .9em;
}
.selection-profil {
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: 48rem;
    margin-bottom: 1rem;
}
.selection-profil label {
    flex: 0 0 auto;
    margin: 0;
}
.selection-profil select { min-width: 22rem; }
.selection-profil button { width: auto; margin: 0; }
.tableau-permissions {
    width: 100%;
    border-collapse: collapse;
}
.tableau-permissions th,
.tableau-permissions td {
    padding: .55rem .7rem;
    border-bottom: 1px solid #dfe5eb;
    text-align: center;
}
.tableau-permissions thead th {
    color: #405464;
    background: #edf2f7;
    font-size: .9em;
}
.tableau-permissions tbody th {
    color: #263746;
    text-align: left;
}
.tableau-permissions input[type="radio"] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: #174a8b;
}
.non-applicable { color: #9aa5af; }
.bouton-action-journal { display:inline-block; width:auto; padding:.5rem .75rem; border-radius:.4rem; color:#fff; background:#174a8b; text-decoration:none; }
.bouton-action-journal:hover,.bouton-action-journal:focus-visible { background:#123d73; }
.raccourcis-journal { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin:.8rem 0; }
.raccourcis-journal span { color:#526475; font-weight:700; }
.raccourcis-journal a,.actions-filtres-journal a,.pagination-journal a { padding:.3rem .55rem; border-radius:.3rem; color:#174a8b; background:#edf3fa; text-decoration:none; }
.raccourcis-journal a:hover,.actions-filtres-journal a:hover,.pagination-journal a:hover { background:#dce9f6; }
.filtres-journal { display:grid; grid-template-columns:repeat(4,minmax(9rem,1fr)); gap:.6rem .8rem; padding:.8rem; border:1px solid #d8e1e9; border-radius:.45rem; background:#f7f9fb; }
.filtres-journal label { margin:0; color:#405464; font-size:.9em; }
.filtres-journal input,.filtres-journal select { margin-top:.25rem; padding:.4rem .5rem; }
.filtre-texte-journal { grid-column:span 2; }
.actions-filtres-journal { display:flex; align-items:flex-end; justify-content:flex-end; gap:.5rem; grid-column:span 2; }
.actions-filtres-journal button { width:auto; margin:0; padding:.48rem .7rem; }
.compteur-journal { margin:.8rem 0 .45rem; color:#526475; }
.tableau-journal-conteneur { width:100%; overflow-x:auto; }
.tableau-journal { width:100%; min-width:1050px; border-collapse:collapse; }
.tableau-journal th,.tableau-journal td { padding:.42rem .5rem; border-bottom:1px solid #dfe5eb; vertical-align:top; text-align:left; }
.tableau-journal thead th { color:#fff; background:#174a8b; }
.tableau-journal tbody tr:nth-child(even) { background:#f7f9fb; }
.tableau-journal td small { display:block; margin-top:.15rem; color:#6b7885; }
.date-journal { white-space:nowrap; }
.action-journal { color:#174a8b; background:#e3edf8; }
.detail-journal summary { color:#174a8b; font-weight:650; cursor:pointer; }
.detail-journal div { width:min(38rem,60vw); margin-top:.4rem; padding:.55rem; border:1px solid #d8e1e9; border-radius:.35rem; background:#fff; }
.detail-journal h3 { margin:.4rem 0 .2rem; color:#405464; font-size:.85rem; }
.detail-journal h3:first-child { margin-top:0; }
.detail-journal pre { max-height:18rem; margin:0; padding:.5rem; overflow:auto; color:#263746; background:#f2f5f8; font:12px/1.35 Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.detail-journal p { margin:.2rem 0 0; overflow-wrap:anywhere; }
.pagination-journal { display:flex; justify-content:center; align-items:center; gap:.8rem; margin-top:1rem; }
.pagination-journal span { color:#526475; font-weight:650; }
.carte-document { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; max-width:58rem; padding:1rem 1.1rem; border:1px solid #d8e1e9; border-left:4px solid #174a8b; border-radius:.45rem; background:#f8fafc; }
.carte-document h2 { margin:0 0 .3rem; color:#174a8b; font-size:1.08rem; }
.carte-document p { margin:0 0 .35rem; }
.carte-document span { color:#657482; font-size:.88em; }
.carte-document a { flex:0 0 auto; padding:.5rem .75rem; border-radius:.4rem; color:#fff; background:#174a8b; text-decoration:none; }
.carte-document a:hover,.carte-document a:focus-visible { background:#123d73; }
.information-listes-forces { margin-bottom:1rem; }
.logo-impression-listes { display:none; }
.liste-forces-clubs { display:grid; gap:1rem; }
.club-liste-forces { overflow:hidden; border:1px solid #d8e1e9; border-radius:.5rem; background:#fff; box-shadow:0 2px 8px rgba(26,49,67,.06); }
.entete-club-liste-forces { padding:.65rem .8rem; color:#fff; background:#174a8b; }
.entete-club-liste-forces h2 { margin:0; font-size:1.05rem; }
.entete-club-liste-forces h2 span { display:inline-block; min-width:2rem; margin-right:.35rem; padding:.12rem .3rem; border-radius:.25rem; color:#174a8b; background:#fff; text-align:center; }
.entete-club-liste-forces p { margin:.25rem 0 0; color:#e8f0f8; }
.coordonnees-club-liste-forces,.responsables-club-liste-forces { display:grid; gap:.25rem 1rem; padding:.5rem .8rem; }
.coordonnees-club-liste-forces { grid-template-columns:1.2fr .8fr .8fr 1.4fr; background:#edf3fa; }
.responsables-club-liste-forces { grid-template-columns:repeat(3,1fr); border-bottom:1px solid #d8e1e9; }
.coordonnees-club-liste-forces p,.responsables-club-liste-forces p { margin:0; overflow-wrap:anywhere; }
.coordonnees-club-liste-forces strong,.responsables-club-liste-forces strong { display:block; margin-bottom:.12rem; color:#526475; font-size:.82em; text-transform:uppercase; }
.tableau-listes-forces-conteneur { width:100%; overflow-x:auto; }
.tableau-listes-forces { width:100%; min-width:760px; border-collapse:collapse; }
.tableau-listes-forces th,.tableau-listes-forces td { padding:.35rem .55rem; border-bottom:1px solid #e0e6ec; text-align:left; vertical-align:middle; }
.tableau-listes-forces th { color:#405464; background:#f2f5f8; font-size:.88em; }
.tableau-listes-forces th:nth-child(1) { width:7%; }
.tableau-listes-forces th:nth-child(2) { width:10%; }
.tableau-listes-forces th:nth-child(3) { width:30%; }
.tableau-listes-forces th:nth-child(4) { width:10%; }
.tableau-listes-forces th:nth-child(5) { width:43%; }
.tableau-listes-forces tbody tr:last-child td { border-bottom:0; }
.nom-joueur-liste-forces { font-weight:650; }
.joueur-non-affilie { box-shadow:inset 4px 0 #c0392b; }
.joueur-inactif { box-shadow:inset 4px 0 #df8424; }
.statuts-liste-forces { display:flex; align-items:center; flex-wrap:wrap; gap:.25rem; }
.statut-non-affilie { color:#8b1a1a; background:#fde3e1; }
.statut-inactif { color:#82420b; background:#ffead2; }
.statut-qualifie { color:#276a3a; background:#def1e3; }
.statut-da { color:#174a8b; background:#dceaf7; }
.statut-comite { color:#4c3a78; background:#ece6f7; }
.legende-listes-forces { margin-top:1rem; padding:.75rem .9rem; border-left:3px solid #8eb6d9; background:#f2f6fa; }
.legende-listes-forces h2 { margin:0 0 .45rem; font-size:1rem; }
.legende-listes-forces p { margin:.3rem 0; }
.legende-listes-forces .pastille { margin-right:.35rem; }
.accueil-titre { margin-bottom:1.1rem; }
.accueil-titre h1 { margin-bottom:.2rem; }
.accueil-titre h1 + p { margin:.2rem 0 0; color:#607080; }
.accueil-echeances { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1rem; margin-bottom:1rem; padding:.7rem .85rem; border-left:4px solid #174a8b; background:#edf3fa; }
.accueil-echeances h2 { margin:0 .5rem 0 0; font-size:1rem; }
.accueil-echeances div { display:flex; flex-direction:column; padding-right:1rem; border-right:1px solid #c8d7e5; }
.accueil-echeances div:last-of-type { border-right:0; }
.accueil-echeances div span { color:#526475; font-size:.9em; }
.accueil-echeances p { flex-basis:100%; margin:.15rem 0 0; color:#526475; font-size:.9em; }
.accueil-section { margin-top:1.2rem; }
.accueil-section > h2,.entete-section-accueil h2 { margin:0 0 .6rem; font-size:1.08rem; }
.entete-section-accueil { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.entete-section-accueil > span { color:#607080; }
.entete-section-accueil > a { color:#174a8b; }
.accueil-vide { margin:0; padding:.7rem .85rem; color:#526475; background:#f4f6f8; }
.accueil-vide-ok { border-left:4px solid #3b8a52; color:#216334; background:#eaf5ed; }
.liste-actions-accueil { display:grid; gap:.45rem; }
.action-accueil { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem .8rem; border:1px solid #d8e1e9; border-left:4px solid #df8424; background:#fff; }
.action-accueil.action-urgente { border-left-color:#c0392b; }
.action-accueil.action-ecart { border-left-color:#8a5aaa; }
.action-accueil h3 { margin:.25rem 0 .15rem; font-size:1rem; }
.action-accueil p { margin:0; color:#607080; }
.action-accueil > a { flex:0 0 auto; padding:.4rem .65rem; border-radius:.35rem; color:#fff; background:#174a8b; text-decoration:none; }
.action-accueil > a:hover,.action-accueil > a:focus-visible { background:#123d73; }
.tableau-accueil-conteneur { width:100%; overflow-x:auto; }
.tableau-accueil { width:100%; min-width:720px; border-collapse:collapse; }
.tableau-accueil th,.tableau-accueil td { padding:.45rem .55rem; border-bottom:1px solid #dfe5eb; text-align:left; }
.tableau-accueil th { color:#405464; background:#edf2f7; font-size:.9em; }
.grille-indicateurs-accueil { display:grid; grid-template-columns:repeat(3,minmax(10rem,1fr)); gap:.7rem; }
.grille-indicateurs-accueil > a { display:block; padding:1rem; border:1px solid #d8e1e9; border-top:3px solid #174a8b; color:#263746; background:#f8fafc; text-decoration:none; }
.grille-indicateurs-accueil > a:hover,.grille-indicateurs-accueil > a:focus-visible { border-top-color:#e47719; background:#edf3fa; }
.grille-indicateurs-accueil strong { display:block; color:#174a8b; font-size:1.7rem; }
.grille-indicateurs-accueil span { color:#526475; }
.grille-indicateurs-accueil small { display:block; margin-top:.45rem; color:#174a8b; }
.liste-evenements-accueil { border-top:1px solid #dfe5eb; }
.liste-evenements-accueil p { display:grid; grid-template-columns:9rem 11rem 1fr; gap:.6rem; margin:0; padding:.45rem .2rem; border-bottom:1px solid #dfe5eb; }
.liste-evenements-accueil p span { color:#607080; }
.grille-raccourcis-accueil { display:grid; grid-template-columns:repeat(3,minmax(12rem,1fr)); gap:.65rem; }
.grille-raccourcis-accueil a { display:flex; flex-direction:column; min-height:4.2rem; padding:.75rem .85rem; border:1px solid #d8e1e9; border-left:3px solid #8eb6d9; color:#263746; background:#f8fafc; text-decoration:none; }
.grille-raccourcis-accueil a:hover,.grille-raccourcis-accueil a:focus-visible { border-left-color:#174a8b; background:#edf3fa; }
.grille-raccourcis-accueil strong { color:#174a8b; }
.grille-raccourcis-accueil span { margin-top:.25rem; color:#607080; }
.lien-retour-suivi { padding:.4rem .6rem; border-radius:.35rem; color:#174a8b; background:#edf3fa; text-decoration:none; }
.lien-retour-suivi:hover,.lien-retour-suivi:focus-visible { background:#dce9f6; }
.compteur-suivi { margin:.2rem 0 .7rem; color:#526475; }
.tableau-suivi-conteneur { width:100%; overflow-x:auto; }
.tableau-suivi-rencontres { width:100%; min-width:850px; border-collapse:collapse; }
.tableau-suivi-rencontres th,.tableau-suivi-rencontres td { padding:.45rem .55rem; border-bottom:1px solid #dfe5eb; text-align:left; vertical-align:middle; }
.tableau-suivi-rencontres th { color:#fff; background:#174a8b; }
.tableau-suivi-rencontres tbody tr:nth-child(even) { background:#f7f9fb; }
.carte-statut-profil {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: .8rem 1rem;
    border: 1px solid #d8e1e9;
    border-left: 4px solid #174a8b;
    border-radius: .4rem;
    background: #fff;
}
.carte-statut-profil h2 { margin: 0; font-size: 1.05rem; }
.carte-statut-profil p { margin: .2rem 0 0; color: #607080; }
.formulaire-statut {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #d8e1e9;
    border-radius: .45rem;
    background: #fff;
}
.formulaire-statut > p:first-of-type { margin-top: 0; }
.formulaire-desactivation { border-left: 4px solid #c83a3a; }
.bouton-danger { background: #a92323; }
.bouton-danger:hover,
.bouton-danger:focus-visible { background: #861b1b; }
.formulaire-news { max-width: 62rem; }
.formulaire-news > label { display:block; margin-top:.8rem; color:#405464; font-weight:650; }
.formulaire-news input,.formulaire-news textarea { display:block; box-sizing:border-box; width:100%; margin-top:.3rem; }
.formulaire-news textarea { min-height:10rem; resize:vertical; }
.confirmation-suppression-news { max-width:62rem; margin-bottom:1.2rem; padding:1rem 1.1rem; border:1px solid #efc6c6; border-left:4px solid #a92323; border-radius:.45rem; background:#fff7f7; }
.confirmation-suppression-news h2 { margin-top:0; color:#8b1a1a; }
.liste-news-admin { max-width:62rem; margin-top:1.35rem; }
.liste-news-admin > h2 { margin-bottom:.65rem; font-size:1.08rem; }
.carte-news-admin { padding:.85rem 1rem; border:1px solid #d8e1e9; border-left:4px solid #174a8b; background:#fff; }
.carte-news-admin + .carte-news-admin { margin-top:.65rem; }
.carte-news-admin h3 { margin:0 0 .4rem; color:#174a8b; font-size:1.02rem; }
.contenu-news-admin { line-height:1.45; overflow-wrap:anywhere; }
.carte-news-admin > p { margin:.65rem 0 0; color:#607080; font-size:.88rem; }
.actions-news-admin { display:flex; gap:.65rem; margin-top:.6rem; }
.actions-news-admin a { color:#174a8b; font-weight:650; }
.actions-news-admin .lien-danger { color:#a92323; }
.section-demandes-calendrier { margin-top:1.3rem; }
.section-demandes-calendrier h2 { margin:0 0 .6rem; font-size:1.08rem; }
.tableau-demandes-calendrier { width:100%; overflow-x:auto; }
.tableau-demandes-calendrier table { width:100%; min-width:680px; border-collapse:collapse; }
.tableau-demandes-calendrier th,.tableau-demandes-calendrier td { padding:.5rem .6rem; border-bottom:1px solid #dfe5eb; text-align:left; }
.tableau-demandes-calendrier th { color:#fff; background:#174a8b; font-size:.9em; }
.tableau-demandes-calendrier tbody tr:nth-child(even) { background:#f7f9fb; }
.detail-demande-calendrier { padding:1.15rem; border:1px solid #d8e1e9; border-radius:.55rem; background:#fbfcfe; }
.detail-demande-calendrier h2 { color:#174a8b; }
.detail-demande-type { margin:.1rem 0 1rem; color:#526475; font-weight:650; }
.titre-rencontre-demande { margin:1rem 0 .5rem; color:#34495a; font-size:.92rem; }
.comparaison-demande-calendrier { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:0 0 1rem; }
.comparaison-demande-calendrier article { padding:.85rem 1rem; border:1px solid #d8e1e9; border-radius:.45rem; background:#fff; }
.comparaison-demande-calendrier .proposition-demande { border-color:#b9d2ec; background:#edf5fd; }
.comparaison-demande-calendrier h3 { margin:0 0 .65rem; color:#174a8b; font-size:1rem; }
.comparaison-demande-calendrier p { margin:.4rem 0; }
.comparaison-demande-calendrier p strong { display:block; margin-bottom:.1rem; color:#617181; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
.detail-demande-calendrier .formulaire-profil label { display:block; }
.detail-demande-calendrier .formulaire-profil textarea { display:block; width:100%; min-height:6rem; margin-top:.35rem; box-sizing:border-box; font:inherit; }
@media (max-width:768px) { .comparaison-demande-calendrier { grid-template-columns:1fr; } }
.formulaire-demande-calendrier { max-width:62rem; }
.formulaire-demande-calendrier .case-ldf { display:flex; align-items:center; gap:.5rem; margin:.8rem 0; cursor:pointer; }
.formulaire-demande-calendrier .case-ldf input[type="checkbox"] { flex:0 0 auto; width:1rem; height:1rem; margin:0; padding:0; accent-color:#174a8b; }
.formulaire-demande-calendrier > label:not(.case-ldf) { display:block; margin-top:.9rem; color:#405464; font-weight:650; }
.formulaire-demande-calendrier textarea { display:block; box-sizing:border-box; width:100%; margin-top:.3rem; resize:vertical; }
.bloc-retour-demande { margin:.45rem 0 .8rem 1.8rem; padding:.7rem .85rem; border-left:3px solid #8eb6d9; background:#f4f8fb; }
.bloc-retour-demande p { margin-top:0; }

.entete-tableau-selections {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .55rem;
}
.entete-tableau-selections h2 { margin: 0; color: #263746; font-size: 1.05rem; }
.entete-tableau-selections span { color: #667480; font-size: .9em; }
.groupe-club-da + .groupe-club-da { margin-top: 1.6rem; }
.tableau-selections-conteneur {
    width: 100%;
    overflow-x: auto;
    border-top: 3px solid #174a8b;
    border-radius: .35rem;
    box-shadow: 0 3px 12px rgba(26, 49, 67, .07);
    -webkit-overflow-scrolling: touch;
}
.tableau-selections {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: #263746;
    font-size: .94em;
    white-space: nowrap;
}
.tableau-selections th,
.tableau-selections td {
    min-width: 2.9rem;
    padding: .42rem .45rem;
    border: 0;
    border-bottom: 1px solid #e3e8ee;
    text-align: center;
}
.tableau-selections thead th {
    color: #405464;
    background: #edf2f7;
    font-size: .9em;
    font-weight: 700;
    letter-spacing: .02em;
}
.tableau-selections tbody tr:nth-child(even) > * { background: #f8fafc; }
.tableau-selections .col-indice,
.tableau-selections .col-joueur,
.tableau-selections .col-da {
    position: sticky;
    z-index: 1;
}
.tableau-selections .col-indice {
    left: 0;
    min-width: 4rem;
    width: 4rem;
}
.tableau-selections .col-joueur {
    left: 4rem;
    min-width: 15rem;
    width: 15rem;
}
.tableau-selections .col-da {
    left: 19rem;
    min-width: 5rem;
    width: 5rem;
    box-shadow: 1px 0 0 #dce3ea;
}
.tableau-selections tbody .col-indice,
.tableau-selections tbody .col-joueur,
.tableau-selections tbody .col-da {
    background: #fff;
}
.tableau-selections tbody tr:nth-child(even) > .col-indice,
.tableau-selections tbody tr:nth-child(even) > .col-joueur,
.tableau-selections tbody tr:nth-child(even) > .col-da {
    background: #f8fafc;
}
.tableau-selections tbody .col-joueur {
    color: #172033;
    font-weight: 600;
    text-align: left;
}
.tableau-selections thead .col-indice,
.tableau-selections thead .col-joueur,
.tableau-selections thead .col-da {
    z-index: 2;
    background: #edf2f7;
}
.tableau-selections thead .col-joueur {
    text-align: left;
}
.tableau-selections tbody tr.ligne-double-attention > .col-indice { border-left: 4px solid #d47a00; }
.tableau-selections tbody tr.ligne-double-ok > .col-indice { border-left: 4px solid #36813d; }
.tableau-selections tbody tr.ligne-double-erreur > .col-indice { border-left: 4px solid #d52b2b; }
.pastille-double-appartenance {
    display: inline-block;
    margin: 0;
    padding: .08rem .4rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .85em;
    white-space: nowrap;
}
.ligne-double-attention .pastille-double-appartenance { color: #9a5700; background: #fff1d5; }
.ligne-double-ok .pastille-double-appartenance { color: #286735; background: #dff1e3; }
.ligne-double-erreur .pastille-double-appartenance { color: #a32626; background: #f9dddd; }
.selection-jouee,
.selection-total-ok { color: #36813d; }
.selection-forfait-compte,
.selection-total-attention { color: #d47a00; }
.selection-bye { color: #1b62a0; }
.selection-non-comptee,
.selection-total-erreur { color: #d52b2b; }
.selection-total { min-width: 4.6rem; font-weight: 700; }
.selection-total span,.selection-premier-tour span {
    display: inline-block;
    min-width: 3.3rem;
    padding: .18rem .42rem;
    border-radius: 999px;
    color: #455563;
    background: #e9eef3;
}
.selection-premier-tour { min-width:4.8rem; font-weight:700; }
.selection-premier-tour.selection-total-attention span { color:#8a5000; background:#ffe8bd; }
.selection-premier-tour.selection-total-ok span { color:#286735; background:#d8edde; }
.selection-premier-tour.selection-total-erreur span { color:#a32626; background:#f6d6d6; }
.indicateurs-clubs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; margin:0 0 1.15rem; }
.indicateurs-clubs article { display:flex; min-height:6.2rem; flex-direction:column; justify-content:center; padding:.8rem 1rem; border-left:4px solid #174a8b; border-radius:.45rem; background:#edf3fa; }
.indicateurs-clubs span { color:#526475; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.indicateurs-clubs strong { margin:.15rem 0; color:#173f63; font-size:1.65rem; line-height:1; }
.indicateurs-clubs small { font-size:.8rem; }
.tableau-statistiques-clubs-conteneur { width:100%; overflow-x:auto; border:1px solid #d8e1e9; border-radius:.5rem; }
.tableau-statistiques-clubs { width:100%; min-width:720px; border-collapse:collapse; }
.tableau-statistiques-clubs th,.tableau-statistiques-clubs td { padding:.52rem .65rem; border-bottom:1px solid #dfe6ed; text-align:center; vertical-align:middle; }
.tableau-statistiques-clubs th { color:#fff; background:#174a8b; font-size:.82rem; }
.tableau-statistiques-clubs .tri-colonne { width:auto; min-height:0; margin:0; padding:0; border:0; border-radius:0; color:inherit; background:transparent; font:inherit; font-weight:700; cursor:pointer; }
.tableau-statistiques-clubs .tri-colonne::after { content:' ↕'; color:#c8dbef; font-size:.9em; }.tableau-statistiques-clubs th[aria-sort="ascending"] .tri-colonne::after { content:' ↑'; color:#fff; }.tableau-statistiques-clubs th[aria-sort="descending"] .tri-colonne::after { content:' ↓'; color:#fff; }
.tableau-statistiques-clubs .tri-colonne:hover,.tableau-statistiques-clubs .tri-colonne:focus-visible { color:#dcecff; text-decoration:underline; }
.tableau-statistiques-clubs th:first-child,.tableau-statistiques-clubs td:first-child { text-align:left; }
.tableau-statistiques-clubs td:first-child small { display:block; margin-top:.1rem; color:#697987; font-size:.78rem; }
.tableau-statistiques-clubs tbody tr:nth-child(even) { background:#f8fafc; }
.tableau-statistiques-clubs tbody tr.club-absent { color:#7d4a00; background:#fff7e7; }
.tableau-statistiques-clubs tfoot th,.tableau-statistiques-clubs tfoot td { color:#173f63; background:#e5edf5; }
.evolution { display:inline-block; min-width:2.3rem; padding:.12rem .38rem; border-radius:999px; font-weight:700; font-variant-numeric:tabular-nums; }
.evolution-hausse { color:#276a3a; background:#def1e3; }.evolution-baisse { color:#a32626; background:#f8dddd; }.evolution-neutre { color:#596a79; background:#e7edf2; }
.note-statistiques-clubs { margin:.7rem 0 0; color:#667684; font-size:.82rem; }
.indicateurs-challenge { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tableau-challenge-participation { min-width:760px; margin-bottom:1.3rem; }
.tableau-challenge-participation td:not(:first-child),.tableau-challenge-participation th:not(:first-child) { text-align:center; }
.titre-tournoi-challenge { margin:1.5rem 0 .45rem; color:#174a8b; font-size:1rem; }
.tableau-inscriptions-clubs th:first-child,.tableau-inscriptions-clubs td:first-child,.tableau-inscriptions-clubs th:nth-child(2),.tableau-inscriptions-clubs td:nth-child(2) { width:1%; text-align:center; white-space:nowrap; }
.lien-inscription-club { display:inline-flex; width:auto; padding:.55rem .85rem; border:1px solid #8795a1; border-radius:.45rem; color:#435463; background:#fff; font-weight:650; text-decoration:none; }
.lien-inscription-club:hover { color:#263746; background:#edf1f4; }
.ligne-double-attention .selection-total span { color: #8a5000; background: #ffe8bd; }
.ligne-double-ok .selection-total span { color: #286735; background: #d8edde; }
.ligne-double-erreur .selection-total span { color: #a32626; background: #f6d6d6; }
.legende-selections {
    margin-top: 1rem;
    padding-top: .75rem;
    border-top: 1px solid #dce3ea;
}
.legende-selections h2 { margin: 0 0 .5rem; font-size: 1rem; }
.legende-selections dl { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.legende-selections dl div {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .5rem;
    border: 1px solid #dde4eb;
    border-radius: 999px;
    background: #f8fafc;
}
.legende-selections dt { flex: 0 0 auto; font-weight: 700; }
.legende-selections dd { margin: 0; }

@media (max-width: 900px) {
    .entete { flex-wrap:wrap; }
    .actions-entete { margin-left:auto; }
    .mise-en-page { display:block; padding:1rem; }
    .navigation {
        display:flex;
        width:100%;
        gap:1rem;
        margin-bottom:1rem;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .navigation .bloc-navigation { flex:0 0 200px; margin-bottom:.5rem; }
    .contenu { width:100%; }
    .selection-journee select { width:min(22rem, 100%); }
    .conseil-defilement { display:block; margin:.5rem 0; color:#5f6b7c; font-size:.85rem; }
    .tableau-resultats input[type="checkbox"] { width:1.4rem; height:1.4rem; }
}
/* Feuilles d'arbitrage */
.liste-fa-conteneur { width: 100%; overflow-x: auto; border: 1px solid #ccd7e2; border-radius: .5rem; }
.liste-fa { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; }
.liste-fa th, .liste-fa td { padding: .55rem .7rem; border-right: 1px solid #d9e1e8; border-bottom: 1px solid #d9e1e8; vertical-align: middle; }
.liste-fa th:last-child, .liste-fa td:last-child { border-right: 0; }
.liste-fa tbody tr:last-child td { border-bottom: 0; }
.liste-fa thead th { color: #fff; background: #174a8b; font-size: .82rem; font-weight: 700; text-align: left; }
.liste-fa th:nth-child(1) { width: 6rem; text-align: center; }
.liste-fa th:nth-child(2) { width: auto; }
.liste-fa th:nth-child(3) { width: 8rem; text-align: center; }
.liste-fa th:nth-child(4) { width: 9rem; text-align: center; }
.liste-fa th:nth-child(5) { width: 8rem; }
.liste-forfaits { min-width: 900px; }
.liste-forfaits th:nth-child(4), .liste-forfaits th:nth-child(5) { width: 11rem; }
.liste-forfaits th:nth-child(6) { width: 8rem; }
.liste-fa tbody tr:nth-child(even) { background: #f8fafc; }
.liste-fa tbody tr:hover { background: #edf4fa; }
.liste-fa td:first-child, .liste-fa .resultat-fa, .liste-fa td:nth-child(4), .liste-fa .action-fa { text-align: center; }
.rencontre-fa { color: #263746; font-weight: 650; }
.resultat-fa { font-variant-numeric: tabular-nums; font-weight: 700; }
.division-fa { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 1.65rem; padding: 0 .4rem; border-radius: 999px; color: #174a8b; background: #e4eef7; font-weight: 700; }
.etat-fa { display: inline-block; padding: .22rem .5rem; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.etat-fa-ok { color: #246237; background: #dff2e4; }
.etat-fa-attente { color: #8a5700; background: #fff0cf; }
.etat-fa-neutre { color: #5e6973; background: #e9edf0; }
.bouton-liste-fa { display: inline-block; min-width: 5.5rem; padding: .38rem .65rem; border: 1px solid #174a8b; border-radius: .4rem; color: #174a8b; background: #fff; font-weight: 650; text-align: center; text-decoration: none; }
.bouton-liste-fa:hover { color: #fff; background: #174a8b; }
.aucune-action-fa { color: #8a949d; }
.entete-feuille { margin: .8rem 0; padding-bottom: .55rem; border-bottom: 2px solid #d9e1e8; }
.entete-feuille h2 { margin: 0 0 .15rem; color: #173f63; }
.entete-feuille p { margin: 0; }
.fa-selection { margin-top: .8rem; padding: 0; overflow: hidden; border: 1px solid #ccd7e2; border-radius: .55rem; background: #fff; }
.entete-selection-fa { padding: .75rem 1rem; color: #fff; background: #174a8b; }
.entete-selection-fa h3 { margin: 0 0 .15rem; font-size: 1rem; }
.entete-selection-fa p { margin: 0; color: #e4eef8; font-size: .82rem; }
.equipes-selection-fa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1rem; }
.equipe-selection-bye-fa { grid-column: 1 / -1; width: 100%; max-width: 760px; }
.composition-bye-fa { max-width: 760px; margin: 1rem 0; }
.composition-bye-fa .tableau-composition-fa { min-width: 420px; }
.tableau-bye-fa { min-width: 620px; }
.equipe-selection-fa { min-width: 0; margin: 0; padding: .75rem; border: 1px solid #d7e0e8; border-radius: .45rem; background: #fbfcfd; }
.equipe-selection-fa legend { padding: 0 .4rem; color: #174a8b; font-size: .95rem; font-weight: 700; }
.tableau-selection-fa-conteneur { width: 100%; overflow-x: auto; }
.tableau-selection-fa { width: 100%; min-width: 430px; border-collapse: collapse; table-layout: fixed; }
.tableau-selection-fa th, .tableau-selection-fa td { padding: .42rem .45rem; border-bottom: 1px solid #dce3e9; vertical-align: middle; }
.tableau-selection-fa th { color: #5d6b77; font-size: .76rem; text-transform: uppercase; letter-spacing: .025em; text-align: left; }
.tableau-selection-fa th:nth-child(1), .tableau-selection-fa td:nth-child(1) { width: 4.5rem; text-align: center; }
.tableau-selection-fa th:nth-child(3), .tableau-selection-fa td:nth-child(3), .tableau-selection-fa th:nth-child(4), .tableau-selection-fa td:nth-child(4) { width: 4.7rem; text-align: center; }
.tableau-selection-fa tbody tr:last-child td { border-bottom: 0; }
.tableau-selection-fa select { width: 100%; min-width: 15rem; padding: .4rem .5rem; }
.tableau-selection-fa option:disabled { color: #9aa4ad; }
.position-joueur-fa { display: inline-flex; align-items: center; justify-content: center; width: 1.65rem; height: 1.65rem; border-radius: 999px; color: #174a8b; background: #e4eef7; font-weight: 700; }
.choix-role-fa { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; margin: 0; font-size: .78rem; font-weight: 600; cursor: pointer; }
.choix-role-fa input { width: 1rem; height: 1rem; margin: 0; accent-color: #174a8b; }
.choix-role-fa input:disabled + span { color: #9aa4ad; }
.choix-role-fa input[aria-disabled="true"] + span { color: #687580; }
.aide-selection-fa { min-height: 1.1rem; margin: .35rem 0 0; color: #805000; font-size: .78rem; }
.actions-selection-fa { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; padding: 0 1rem 1rem; }
.actions-selection-fa button { width: auto; margin: 0; }
.actions-selection-fa .bouton-secondaire { display: inline-flex; align-items: center; padding: .45rem .75rem; border: 1px solid #8795a1; border-radius: .45rem; color: #435463; background: #fff; font-weight: 650; text-decoration: none; }
.actions-selection-fa .bouton-secondaire:hover { color: #263746; background: #edf1f4; }
.etapes-fa { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: .7rem 0; }
.entete-impression-fa { display: none; }
.etapes-fa .lien-retour-fa { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .75rem; border: 1px solid #174a8b; border-radius: .5rem; color: #174a8b; background: #fff; font-weight: 650; text-decoration: none; }
.etapes-fa .lien-retour-fa span { font-size: .68rem; }
.etapes-fa .lien-retour-fa:hover { color: #fff; background: #174a8b; }
.actions-hautes-fa { display: flex; align-items: center; gap: .55rem; }
.actions-hautes-fa button { width: auto; margin: 0; padding: .45rem .85rem; }
.actions-hautes-fa .bouton-supprimer-fa { border: 1px solid #a52b2b; color: #a52b2b; background: #fff; }
.actions-hautes-fa .bouton-supprimer-fa:hover { color: #fff; background: #a52b2b; }
.etapes-fa .bouton-imprimer-fa { width: auto; margin: 0; padding: .45rem .85rem; border: 1px solid #174a8b; color: #174a8b; background: #fff; }
.etapes-fa .bouton-imprimer-fa:hover { color: #fff; background: #174a8b; }
.compositions-fa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: .75rem 0 1rem; }
.composition-equipe-fa { min-width: 0; overflow: hidden; border: 1px solid #ccd7e2; border-radius: .55rem; background: #fff; }
.composition-equipe-fa h3 { display: flex; align-items: center; gap: .65rem; margin: 0; padding: .55rem .7rem; border-bottom: 1px solid rgba(255,255,255,.28); color: #fff; background: #174a8b; font-size: .9rem; font-weight: 700; }
.composition-equipe-fa h3 span { display: inline-block; padding: .18rem .42rem; border: 1px solid rgba(255,255,255,.45); border-radius: .3rem; color: #fff; background: rgba(255,255,255,.12); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.tableau-composition-fa-conteneur { overflow-x: auto; }
.tableau-composition-fa { width: 100%; min-width: 560px; border-collapse: collapse; table-layout: fixed; }
.tableau-composition-fa th, .tableau-composition-fa td { padding: .48rem .6rem; border-right: 1px solid #d9e1e8; border-bottom: 1px solid #d9e1e8; text-align: center; vertical-align: middle; }
.tableau-composition-fa th:last-child, .tableau-composition-fa td:last-child { border-right: 0; }
.tableau-composition-fa th { color: #fff; background: #174a8b; font-size: .82rem; font-weight: 700; text-transform: none; }
.tableau-composition-fa th:first-child, .tableau-composition-fa td:first-child { width: 35%; text-align: left; }
.tableau-composition-fa th:nth-child(2) { width: 17%; }
.tableau-composition-fa tbody tr:last-child td { border-bottom: 0; }
.tableau-composition-fa tbody tr:nth-child(odd) { background: #f8fafc; }
.tableau-composition-fa tbody tr:hover { background: #edf4fa; }
.tableau-composition-fa tbody td:first-child { color: #263746; font-weight: 650; }
.tableau-composition-fa [data-stat-v], .tableau-composition-fa [data-stat-d], .tableau-composition-fa [data-stat-double], .tableau-composition-fa [data-stat-wo] { font-weight: 700; }
.tableau-fa-conteneur { width: 100%; overflow-x: auto; border: 1px solid #ccd7e2; border-radius: .5rem; }
.tableau-fa { width: 100%; min-width: 980px; border-collapse: collapse; table-layout: fixed; }
.tableau-fa th, .tableau-fa td { padding: .48rem .6rem; border-right: 1px solid #d9e1e8; border-bottom: 1px solid #d9e1e8; vertical-align: middle; }
.tableau-fa th:last-child, .tableau-fa td:last-child { border-right: 0; }
.tableau-fa tbody tr:last-child td { border-bottom: 0; }
.tableau-fa thead th { color: #fff; background: #174a8b; font-size: .82rem; font-weight: 700; text-align: left; }
.tableau-fa thead th:nth-child(1), .tableau-fa tbody td:nth-child(1) { width: 3.5rem; text-align: center; }
.tableau-fa thead th:nth-child(2), .tableau-fa thead th:nth-child(3) { width: 30%; }
.tableau-fa thead th:nth-child(4), .tableau-fa tbody td:nth-child(4) { width: 7rem; text-align: center; }
.tableau-fa thead th:nth-child(5), .tableau-fa tbody td:nth-child(5) { width: 19rem; text-align: center; }
.tableau-fa tbody tr:nth-child(odd) { background: #f8fafc; }
.tableau-fa tbody tr:hover { background: #edf4fa; }
.tableau-fa .ligne-double-fa { color: #123e65; background: #e8f1f8; font-weight: 650; }
.tableau-fa .ligne-double-fa:hover { background: #e0edf7; }
.joueurs-double-fa { display: flex; flex-direction: column; gap: .2rem; }
.joueurs-double-fa span + span { padding-top: .2rem; border-top: 1px solid #c9d9e6; }
.repere-double-fa, .numero-simple-fa { display: inline-flex; align-items: center; justify-content: center; min-width: 1.7rem; height: 1.7rem; border-radius: 999px; font-weight: 700; }
.repere-double-fa { color: #fff; background: #174a8b; }
.numero-simple-fa { color: #31536d; background: #e7edf2; }
.resultat-unique-fa { width: 4.8rem; min-width: 4.8rem; padding: .35rem .4rem; font-weight: 700; text-align: center; text-align-last: center; }
.resultat-automatique-fa { display: inline-block; min-width: 3.5rem; padding: .3rem .45rem; border-radius: .35rem; color: #34495b; background: #eef1f4; font-weight: 700; }
.tableau-fa select:disabled { color: #34495b; opacity: 1; background: #eef1f4; cursor: default; }
.abandon-fa { white-space: nowrap; }
.controle-abandon-fa { display: flex; align-items: center; justify-content: center; gap: .55rem; }
.case-abandon-fa { display: inline-flex; align-items: center; gap: .3rem; margin: 0; font-weight: 600; cursor: pointer; }
.abandon-fa input[type="checkbox"] { width: 1rem; height: 1rem; margin: 0; accent-color: #174a8b; }
.abandon-fa input[type="checkbox"]:disabled { cursor: default; }
.controle-abandon-fa select { width: 12.5rem; min-width: 12.5rem; padding: .35rem .45rem; }
.controle-abandon-fa select[hidden] { display: none; }
.abandon-fa-vide { color: #83909b; }
.etat-automatique-fa { display: inline-block; padding: .2rem .45rem; border-radius: 999px; color: #5d6973; background: #e7ebee; font-size: .78rem; }
.resume-feuille-fa { width: min(31rem, 100%); margin: .85rem 0 .85rem auto; overflow: hidden; border: 1px solid #ccd7e2; border-radius: .5rem; background: #fff; }
.entete-resume-fa { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; color: #fff; background: #174a8b; }
.entete-resume-fa h3 { margin: 0; font-size: .9rem; }
.grille-resume-fa { display: grid; grid-template-columns: 1fr 6rem 6rem; }
.grille-resume-fa > * { margin: 0; padding: .45rem .6rem; border-right: 1px solid #dce3e9; border-bottom: 1px solid #dce3e9; text-align: center; }
.grille-resume-fa > :nth-child(3n) { border-right: 0; }
.grille-resume-fa > :nth-last-child(-n+3) { border-bottom: 0; }
.grille-resume-fa > span { text-align: left; }
.resume-feuille-fa > p { margin: 0; padding: .45rem .7rem; border-top: 1px solid #dce3e9; text-align: right; }
.conformite-fa { display: inline-block; padding: .2rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.conformite-incomplete { color: #4e5c67; background: #e7ebee; }
.conformite-ok { color: #205d32; background: #dff2e4; }
.conformite-ecart { color: #814d00; background: #ffe9bd; }
.fa-textes { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: .8rem 0; }
.fa-textes label { font-weight: 600; }
.fa-textes textarea { display: block; width: 100%; min-height: 5rem; box-sizing: border-box; }
.confirmation-ecart { display: block; margin: .7rem 0; padding: .65rem; background: #fff3cd; border-left: 4px solid #d49b00; }
.confirmation-ecart input { width: auto; }
.actions-fa { display: flex; justify-content: flex-end; }
.actions-fa button { width: auto; margin-top: 0; }

/* Contrôle administratif des sélections par journée */
.filtres-controle-selections { display:flex; align-items:center; gap:1.25rem; margin:.8rem 0; padding:.7rem .85rem; border:1px solid #d5dee7; border-radius:.5rem; background:#f8fafc; }
.filtres-controle-selections label { display:flex; align-items:center; gap:.5rem; margin:0; }
.filtres-controle-selections select { width:18rem; }
.filtres-controle-selections input[type="checkbox"] { width:1rem; height:1rem; margin:0; }
.synthese-controle { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:1rem 0; }
.synthese-controle div { padding:.75rem; border-left:4px solid #1f5593; border-radius:.35rem; background:#eef3f8; }
.synthese-controle strong { display:block; color:#174a8b; font-size:1.35rem; }
.synthese-controle span { color:#566675; font-size:.78rem; }
.club-controle-selections { margin:0 0 1rem; overflow:hidden; border:1px solid #ccd7e2; border-radius:.5rem; background:#fff; }
.club-controle-selections > header { display:flex; align-items:center; justify-content:space-between; padding:.55rem .75rem; border-bottom:2px solid #174a8b; }
.club-controle-selections h2 { margin:0; color:#173f63; font-size:1rem; }
.club-controle-selections table { width:100%; min-width:1050px; border-collapse:collapse; }
.club-controle-selections th,.club-controle-selections td { padding:.4rem .5rem; border-right:1px solid #dce3e9; border-bottom:1px solid #dce3e9; text-align:center; }
.club-controle-selections th { color:#fff; background:#174a8b; font-size:.76rem; }
.club-controle-selections td:nth-child(3),.club-controle-selections th:nth-child(3),.club-controle-selections td:last-child,.club-controle-selections th:last-child { text-align:left; }
.club-controle-selections td small { display:block; color:#75818c; }
.ligne-anomalie-selection { background:#fff4e6 !important; box-shadow:inset 4px 0 #d97706; }
.pastille-alerte { color:#8a3e00; background:#ffe1bf; }
.statut-selection { display:inline-block; min-width:2.3rem; padding:.18rem .4rem; border-radius:999px; font-size:.72rem; font-weight:700; }
.statut-ok { color:#246237; background:#dff2e4; }.statut-na,.statut-nq,.statut-wo,.statut-da { color:#8b2727; background:#f9dada; }
.legende-controle { padding:.7rem .85rem; border:1px solid #d5dee7; border-radius:.45rem; background:#f8fafc; }.legende-controle h2 { margin:0 0 .25rem; font-size:.95rem; }.legende-controle p { margin:0; }

/* Gestion administrative des listes de forces */
.tableau-gestion-ldf { border:1px solid #ccd7e2; border-radius:.5rem; }
.tableau-gestion-ldf table { width:100%; min-width:1050px; border-collapse:collapse; }
.tableau-gestion-ldf th,.tableau-gestion-ldf td { padding:.45rem .55rem; border-right:1px solid #dce3e9; border-bottom:1px solid #dce3e9; text-align:center; }
.tableau-gestion-ldf th { color:#fff; background:#174a8b; font-size:.78rem; }
.tableau-gestion-ldf td:nth-child(3),.tableau-gestion-ldf th:nth-child(3) { text-align:left; }
.tableau-gestion-ldf tbody tr:nth-child(even) { background:#f8fafc; }

.tableau-affilies { width:100%; border-collapse:collapse; margin:.6rem 0 1.2rem; }
.tableau-affilies th,.tableau-affilies td { padding:.45rem .6rem; border-right:1px solid #dce3e9; border-bottom:1px solid #dce3e9; text-align:left; vertical-align:middle; }
.tableau-affilies th:last-child,.tableau-affilies td:last-child { border-right:0; }
.tableau-affilies thead th { color:#fff; background:#174a8b; font-size:.82rem; font-weight:700; }
.tableau-affilies tbody tr:nth-child(even) { background:#f8fafc; }
.tableau-affilies tbody tr:hover { background:#edf4fa; }
.formulaire-action-ligne { display:inline; margin-left:.65rem; }
.bouton-lien-danger { width:auto; margin:0; padding:0; border:0; color:#a42424; background:transparent; font:inherit; text-decoration:underline; cursor:pointer; }
.bouton-lien-danger:hover { color:#741717; }
.actions-formulaire .bouton-secondaire { display:inline-flex; align-items:center; width:auto; margin-right:.65rem; padding:.55rem .85rem; border:1px solid #8795a1; border-radius:.45rem; color:#435463; background:#fff; font-weight:650; text-decoration:none; }
.actions-formulaire .bouton-secondaire:hover { color:#263746; background:#edf1f4; }
.actions-ldf { display:flex; align-items:center; justify-content:center; gap:.35rem; white-space:nowrap; }
.actions-ldf form { display:inline-flex; gap:.2rem; margin:0; }
.actions-ldf a,.actions-ldf button { width:auto; margin:0; padding:.28rem .45rem; border:1px solid #174a8b; border-radius:.3rem; color:#174a8b; background:#fff; font-size:.75rem; text-decoration:none; }
.actions-ldf button:hover,.actions-ldf a:hover { color:#fff; background:#174a8b; }.actions-ldf button:disabled { opacity:.35; cursor:default; }.actions-ldf .danger { color:#9b2929; border-color:#b84a4a; }
.formulaire-gestion-ldf { margin-top:1rem; padding:1rem; border:1px solid #ccd7e2; border-radius:.5rem; background:#f8fafc; }
.formulaire-gestion-ldf h2 { margin:0 0 .75rem; color:#173f63; font-size:1.05rem; }
.formulaire-gestion-ldf form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.formulaire-gestion-ldf label { margin:0; }.formulaire-gestion-ldf input,.formulaire-gestion-ldf select { width:100%; }
.formulaire-gestion-ldf .case-ldf { display:flex; align-items:center; gap:.4rem; }.formulaire-gestion-ldf .case-ldf input { width:1rem; height:1rem; }
.formulaire-gestion-ldf form>div { grid-column:1/-1; display:flex; justify-content:flex-end; align-items:center; gap:.5rem; }.formulaire-gestion-ldf form>div button { width:auto; margin:0; }

/* Affichage smartphone réservé aux dirigeants. Le rendu ordinateur reste inchangé. */
.entete-mobile-dirigeant,
.accueil-mobile-dirigeant,
.retour-mode-mobile { display: none; }

@media (max-width: 768px) {
    body.mode-mobile-dirigeant { min-width: 0; background: #fff; }
    .mode-mobile-dirigeant .entete-bureau,
    .mode-mobile-dirigeant .navigation { display: none; }
    .mode-mobile-dirigeant .entete-mobile-dirigeant {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .7rem .85rem;
        color: #fff;
        background: #1f5593;
        box-shadow: 0 2px 8px rgba(22, 45, 70, .18);
    }
    .identite-mobile-dirigeant { display: flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; }
    .logo-mobile-dirigeant { width: 2.65rem; height: 2.65rem; object-fit: contain; border-radius: .45rem; background: #fff; }
    .identite-mobile-dirigeant span { display: flex; flex-direction: column; line-height: 1.18; }
    .identite-mobile-dirigeant strong { font-size: 1rem; }
    .identite-mobile-dirigeant small { margin-top: .18rem; color: #e6eef7; font-size: .78rem; }
    .entete-mobile-dirigeant form { margin: 0; }
    .deconnexion-mobile { width: auto; min-height: 2.4rem; margin: 0; padding: .45rem .65rem; border: 1px solid rgba(255,255,255,.6); color: #fff; background: transparent; font-size: .76rem; }
    .mode-mobile-dirigeant .mise-en-page {
        display: block;
        width: 100%;
        min-height: 0;
        padding: 0;
        background: #fff;
    }
    .mode-mobile-dirigeant .contenu { width: 100%; min-width: 0; margin: 0; padding: .9rem; border-radius: 0; box-sizing: border-box; }
    .mode-mobile-dirigeant .contenu h1 { font-size: 1.45rem; }
    .mode-mobile-dirigeant input:not([type="checkbox"]):not([type="radio"]),
    .mode-mobile-dirigeant select,
    .mode-mobile-dirigeant button,
    .mode-mobile-dirigeant .bouton { min-height: 44px; font-size: 16px; box-sizing: border-box; }

    .mode-mobile-dirigeant .page-accueil-clubs > :not(.accueil-mobile-dirigeant) { display: none; }
    .mode-mobile-dirigeant .accueil-mobile-dirigeant { display: block; }
    .accueil-mobile-introduction { padding: .45rem .15rem 1rem; }
    .accueil-mobile-introduction .surtitre { margin: 0 0 .25rem; }
    .accueil-mobile-introduction h1 { margin: 0 0 .25rem; color: #173f63; }
    .accueil-mobile-introduction p:last-child { margin: 0; color: #657482; }
    .actions-mobile-dirigeant { display: grid; gap: .75rem; }
    .actions-mobile-dirigeant a {
        position: relative;
        display: flex;
        min-height: 5.4rem;
        flex-direction: column;
        justify-content: center;
        padding: .85rem 2.7rem .85rem 1rem;
        border: 1px solid #cbd8e4;
        border-left: 5px solid #1f5593;
        border-radius: .65rem;
        color: #173f63;
        background: #f8fafc;
        text-decoration: none;
        box-shadow: 0 2px 7px rgba(31,85,147,.08);
    }
    .actions-mobile-dirigeant strong { font-size: 1.05rem; }
    .actions-mobile-dirigeant span { margin-top: .25rem; color: #667684; font-size: .8rem; line-height: 1.3; }
    .actions-mobile-dirigeant b { position: absolute; right: 1rem; top: 50%; transform: translateY(-52%); color: #1f5593; font-size: 1.8rem; font-weight: 400; }
    .mode-ordinateur-mobile { width: 100%; margin-top: 1.2rem; border: 0; color: #536879; background: transparent; font-size: .8rem !important; text-decoration: underline; }

    .mode-mobile-dirigeant .titre-page { align-items: flex-start; gap: .5rem; }
    .mode-mobile-dirigeant .titre-page h1 { line-height: 1.15; }
    .mode-mobile-dirigeant .equipes-selection-fa,
    .mode-mobile-dirigeant .compositions-fa,
    .mode-mobile-dirigeant .fa-textes { grid-template-columns: 1fr; }
    .mode-mobile-dirigeant .actions-selection-fa,
    .mode-mobile-dirigeant .etapes-fa,
    .mode-mobile-dirigeant .actions-hautes-fa,
    .mode-mobile-dirigeant .actions-fa { flex-wrap: wrap; }
    .mode-mobile-dirigeant .actions-selection-fa > *,
    .mode-mobile-dirigeant .actions-hautes-fa > *,
    .mode-mobile-dirigeant .actions-fa > * { width: 100%; }
    .mode-mobile-dirigeant .tableau-resultats-conteneur,
    .mode-mobile-dirigeant .liste-fa-conteneur,
    .mode-mobile-dirigeant .tableau-fa-conteneur,
    .mode-mobile-dirigeant .tableau-selection-fa-conteneur,
    .mode-mobile-dirigeant .tableau-composition-fa-conteneur { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .mode-mobile-dirigeant .resume-feuille-fa { width: 100%; }
    .mode-mobile-dirigeant .tableau-selection-fa select {
        min-width: 0;
        max-width: 100%;
    }
    .mode-mobile-dirigeant .tableau-selection-fa th:nth-child(3),
    .mode-mobile-dirigeant .tableau-selection-fa td:nth-child(3),
    .mode-mobile-dirigeant .tableau-selection-fa th:nth-child(4),
    .mode-mobile-dirigeant .tableau-selection-fa td:nth-child(4) {
        width: 4.7rem;
        overflow: hidden;
    }

    .mode-ordinateur-sur-mobile .retour-mode-mobile { display: block; position: fixed; right: .6rem; bottom: .6rem; z-index: 1000; width: auto; padding: .45rem .7rem; border: 1px solid #1f5593; border-radius: .4rem; color: #fff; background: #1f5593; font-size: .72rem; }
}

/* Réduction facultative du menu sur ordinateur pour les administrateurs. */
@media (min-width: 769px) {
    .navigation-reductible .bouton-navigation-mobile {
        display: grid;
        width: 100%;
        min-height: 2.55rem;
        margin: 0 0 .2rem;
        padding: 0 .8rem;
        place-items: center start;
        border: 0;
        border-radius: 0;
        color: #34495a;
        background: transparent;
        cursor: pointer;
    }
    .navigation-reductible .bouton-navigation-mobile:hover,
    .navigation-reductible .bouton-navigation-mobile:focus-visible { color: #174a8b; background: #dde5ed; }
    .navigation-reductible .bouton-navigation-mobile > span,
    .navigation-reductible .bouton-navigation-mobile > span::before,
    .navigation-reductible .bouton-navigation-mobile > span::after {
        display: block;
        width: 1.15rem;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        content: "";
    }
    .navigation-reductible .bouton-navigation-mobile > span { position: relative; }
    .navigation-reductible .bouton-navigation-mobile > span::before { position: absolute; top: -.36rem; left: 0; }
    .navigation-reductible .bouton-navigation-mobile > span::after { position: absolute; top: .36rem; left: 0; }
    .mise-en-page:has(.navigation-reductible.est-reduite) {
        background: linear-gradient(to right, #e9edf2 0, #e9edf2 3.75rem, transparent 3.75rem);
    }
    .navigation-reductible {
        z-index: 10;
        transition: flex-basis .18s ease, width .18s ease;
    }
    .navigation-reductible.est-reduite {
        flex-basis: 3.75rem;
        width: 3.75rem;
        z-index: 100;
        overflow: visible;
    }
    .navigation-reductible.est-reduite .bouton-navigation-mobile {
        place-items: center;
        padding: 0;
    }
    .navigation-reductible.est-reduite .navigation-accueil a,
    .navigation-reductible.est-reduite .menu-principal summary,
    .navigation-reductible.est-reduite .menu-saison > summary {
        justify-content: center;
        padding-right: 0;
        padding-left: 0;
    }
    .navigation-reductible.est-reduite .navigation-accueil a > span:last-child,
    .navigation-reductible.est-reduite .menu-principal summary > span:last-of-type,
    .navigation-reductible.est-reduite .menu-saison > summary > span:last-of-type,
    .navigation-reductible.est-reduite .menu-principal summary::after,
    .navigation-reductible.est-reduite .menu-saison > summary::after,
    .navigation-reductible.est-reduite .sous-menu-saisons,
    .navigation-reductible.est-reduite .menu-principal ul {
        display: none;
    }
    .navigation-reductible.est-reduite .navigation-accueil a.active::before {
        left: .18rem;
        top: .55rem;
        bottom: .55rem;
    }
    .navigation-reductible.est-reduite .menu-principal details.rubrique-active > summary::before {
        content: "";
        position: absolute;
        top: .55rem;
        bottom: .55rem;
        left: .18rem;
        width: 3px;
        border-radius: 2px;
        background: #1769aa;
    }
    .navigation-reductible.est-reduite .menu-principal details,
    .navigation-reductible.est-reduite .menu-saison {
        position: relative;
    }
    .navigation-reductible.est-reduite .menu-principal details:hover > summary > span:last-of-type,
    .navigation-reductible.est-reduite .menu-principal details:focus-within > summary > span:last-of-type,
    .navigation-reductible.est-reduite .menu-saison:hover > summary > span:last-of-type,
    .navigation-reductible.est-reduite .menu-saison:focus-within > summary > span:last-of-type {
        position: absolute;
        top: 0;
        left: 3.75rem;
        z-index: 30;
        display: flex;
        align-items: center;
        width: 13.5rem;
        min-height: 2.7rem;
        padding: 0 .85rem;
        box-sizing: border-box;
        color: #174a8b;
        background: #edf2f7;
        box-shadow: 5px 0 12px rgba(30, 52, 73, .16);
        font-weight: 600;
    }
    .navigation-reductible.est-reduite .menu-principal details:hover > ul,
    .navigation-reductible.est-reduite .menu-principal details:focus-within > ul,
    .navigation-reductible.est-reduite .menu-saison:hover > .sous-menu-saisons,
    .navigation-reductible.est-reduite .menu-saison:focus-within > .sous-menu-saisons {
        position: absolute;
        top: 2.7rem;
        left: 3.75rem;
        z-index: 30;
        display: block;
        width: 13.5rem;
        padding: .2rem 0;
        box-sizing: border-box;
        background: #f7f9fb;
        box-shadow: 5px 6px 12px rgba(30, 52, 73, .16);
    }
    .navigation-reductible.est-reduite .menu-principal details:hover > ul a,
    .navigation-reductible.est-reduite .menu-principal details:focus-within > ul a,
    .navigation-reductible.est-reduite .menu-saison:hover > .sous-menu-saisons a,
    .navigation-reductible.est-reduite .menu-saison:focus-within > .sous-menu-saisons a {
        min-height: 2.25rem;
        padding-right: .85rem;
        padding-left: 1rem;
    }
    .navigation-reductible.est-reduite .menu-principal details:hover > ul a.active::before,
    .navigation-reductible.est-reduite .menu-principal details:focus-within > ul a.active::before,
    .navigation-reductible.est-reduite .menu-saison:hover > .sous-menu-saisons a.active::before,
    .navigation-reductible.est-reduite .menu-saison:focus-within > .sous-menu-saisons a.active::before {
        left: .3rem;
    }
}

/* Navigation compacte sur smartphone pour les administrateurs. */
@media (max-width: 768px) {
    .mise-en-page:has(.navigation-administrateur),
    .mise-en-page.mise-en-page-administrateur-mobile {
        position: relative;
        display: block;
        min-height: 100vh;
        padding: 0;
        background: linear-gradient(to right, #e9edf2 0, #e9edf2 3.75rem, #fff 3.75rem);
    }
    .navigation-administrateur {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 100;
        display: flex;
        flex: 0 0 3.75rem;
        width: 3.75rem;
        min-height: 100%;
        max-height: none;
        margin: 0;
        padding: .35rem 0;
        overflow: hidden;
        transition: width .18s ease, box-shadow .18s ease;
    }
    .navigation-administrateur + .contenu,
    .mise-en-page-administrateur-mobile > .contenu {
        position: relative;
        z-index: 0;
        width: calc(100% - 3.75rem);
        min-width: 0;
        margin-left: 3.75rem;
        box-sizing: border-box;
    }
    .mise-en-page-administrateur-mobile .tableau-selections-conteneur {
        position: relative;
        z-index: 0;
    }
    .mise-en-page-administrateur-mobile .tableau-selections .col-indice,
    .mise-en-page-administrateur-mobile .tableau-selections .col-joueur,
    .mise-en-page-administrateur-mobile .tableau-selections .col-da,
    .mise-en-page-administrateur-mobile .tableau-selections thead .col-indice,
    .mise-en-page-administrateur-mobile .tableau-selections thead .col-joueur,
    .mise-en-page-administrateur-mobile .tableau-selections thead .col-da {
        z-index: 0;
    }
    .bouton-navigation-mobile {
        display: grid;
        width: 100%;
        min-height: 2.8rem;
        margin: 0;
        padding: 0;
        place-items: center;
        border: 0;
        border-radius: 0;
        color: #34495a;
        background: transparent;
        cursor: pointer;
    }
    .bouton-navigation-mobile:hover,
    .bouton-navigation-mobile:focus-visible { color: #174a8b; background: #dde5ed; }
    .bouton-navigation-mobile > span,
    .bouton-navigation-mobile > span::before,
    .bouton-navigation-mobile > span::after {
        display: block;
        width: 1.15rem;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        content: "";
    }
    .bouton-navigation-mobile > span { position: relative; }
    .bouton-navigation-mobile > span::before { position: absolute; top: -.36rem; left: 0; }
    .bouton-navigation-mobile > span::after { position: absolute; top: .36rem; left: 0; }
    .navigation-administrateur .navigation-accueil a,
    .navigation-administrateur .menu-principal summary,
    .navigation-administrateur .menu-saison > summary {
        justify-content: center;
        min-height: 2.85rem;
        padding: .55rem 0;
    }
    .navigation-administrateur .navigation-accueil a > span:last-child,
    .navigation-administrateur .menu-principal summary > span:last-of-type,
    .navigation-administrateur .menu-saison > summary > span:last-of-type,
    .navigation-administrateur .menu-principal summary::after,
    .navigation-administrateur .menu-saison > summary::after,
    .navigation-administrateur .sous-menu-saisons,
    .navigation-administrateur .menu-principal ul {
        display: none;
    }
    .navigation-administrateur .navigation-accueil a.active::before {
        left: .18rem;
        top: .5rem;
        bottom: .5rem;
    }
    .navigation-administrateur:not(.est-ouverte) .menu-principal details.rubrique-active > summary::before {
        content: "";
        position: absolute;
        top: .5rem;
        bottom: .5rem;
        left: .18rem;
        width: 3px;
        border-radius: 2px;
        background: #1769aa;
    }
    .navigation-administrateur .icone-menu { flex-basis: 1.3rem; width: 1.3rem; height: 1.3rem; }
    .navigation-administrateur.est-ouverte {
        width: min(18rem, calc(100vw - .6rem));
        overflow-y: auto;
        box-shadow: 4px 0 14px rgba(30, 52, 73, .2);
    }
    .navigation-administrateur.est-ouverte .bouton-navigation-mobile {
        justify-content: flex-start;
        padding-left: 1.1rem;
    }
    .navigation-administrateur.est-ouverte .navigation-accueil a,
    .navigation-administrateur.est-ouverte .menu-principal summary,
    .navigation-administrateur.est-ouverte .menu-saison > summary {
        justify-content: flex-start;
        padding-right: 2.2rem;
        padding-left: .8rem;
    }
    .navigation-administrateur.est-ouverte .navigation-accueil a > span:last-child,
    .navigation-administrateur.est-ouverte .menu-principal summary > span:last-of-type,
    .navigation-administrateur.est-ouverte .menu-saison > summary > span:last-of-type,
    .navigation-administrateur.est-ouverte .menu-principal summary::after,
    .navigation-administrateur.est-ouverte .menu-saison > summary::after,
    .navigation-administrateur.est-ouverte .sous-menu-saisons,
    .navigation-administrateur.est-ouverte .menu-principal ul {
        display: block;
    }
    .navigation-administrateur.est-ouverte .menu-principal summary,
    .navigation-administrateur.est-ouverte .menu-saison > summary,
    .navigation-administrateur.est-ouverte .navigation-accueil a { gap: .75rem; }
    .navigation-administrateur.est-ouverte .sous-menu-saisons,
    .navigation-administrateur.est-ouverte .menu-principal ul { display: block; }
}
