/* Espace Club
   Couleurs et polices passent par les variables --ecl-* : valeurs par défaut ci-dessous, couleurs choisies
   dans Réglages › Espace Club, ou variables du thème associées dans le « CSS supplémentaire » des réglages. */

/* Bouton de l'en-tête */
.ecl-bouton-entete{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 16px;border-radius:999px;background:var(--ecl-ball,#f2b705);color:var(--ecl-navy,#14213d);font-weight:700;font-size:14px;line-height:1;text-decoration:none;white-space:nowrap}
.ecl-bouton-entete:hover,.ecl-bouton-entete:focus-visible{background:var(--ecl-ball-hover,#f6c945);color:var(--ecl-navy,#14213d)}
.ecl-bouton-entete--connecte{background:var(--ecl-chip,#e6edf8);color:var(--ecl-chip-ink,#174a96);padding:0 4px 0 14px}
.ecl-bouton-entete--connecte:hover,.ecl-bouton-entete--connecte:focus-visible{background:var(--ecl-action,#1f5fbf);color:var(--ecl-action-ink,#fff)}
/* Dans un menu mobile Bricks (élément « Nav imbriquée ») : bouton pleine largeur */
.brxe-nav-nested .ecl-bouton-entete{width:100%;justify-content:center;min-height:48px;padding:0 20px;font-size:15.5px;border-radius:6px}
.brxe-nav-nested .ecl-bouton-entete--connecte{padding:0 6px 0 20px}
.ecl-bouton-entete__initiales{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:var(--ecl-ball,#f2b705);color:var(--ecl-navy,#14213d);font-size:12px}

/* Cadre général */
.ecl{--e-r:16px;--e-ink:var(--ecl-ink,#0B1A33);--e-ink2:var(--ecl-ink-2,#3D4B63);--e-ink3:var(--ecl-ink-3,#5B6880);--e-line:var(--ecl-line,#D6E0EE);--e-surface:var(--ecl-surface,#fff);--e-alt:var(--ecl-bg-alt,#F2F6FC);--e-action:var(--ecl-action,#1f5fbf);--e-action-ink:var(--ecl-action-ink,#fff);--e-action-hover:var(--ecl-action-hover,#174a96);--e-chip:var(--ecl-chip,#e6edf8);--e-chip-ink:var(--ecl-chip-ink,#174a96);--e-link:var(--ecl-link,#174a96);
	box-sizing:border-box;width:100%;max-width:var(--ecl-container,1280px);margin:0 auto;padding:clamp(16px,3vw,32px) clamp(16px,3vw,32px) 64px;font-family:var(--ecl-font-body,inherit);color:var(--e-ink);font-size:16px;line-height:1.5}
.ecl *,.ecl *::before,.ecl *::after{box-sizing:border-box}
.ecl :where(a){color:var(--e-link)}
.ecl p{margin:0 0 .6em}
.ecl-masque{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Bandeau de compte */
.ecl-bandeau{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:var(--e-r);background:var(--ecl-navy,#14213d);color:#fff;margin-bottom:20px}
.ecl-bandeau__compte{display:flex;flex-direction:column;gap:2px;min-width:0}
.ecl-bandeau__compte span{color:rgba(255,255,255,.8);font-size:14px}
.ecl-bandeau__actions{display:flex;flex-wrap:wrap;gap:8px}
.ecl-bandeau .ecl-btn--leger{background:rgba(255,255,255,.12);border-color:transparent;color:#fff;min-height:40px;padding:0 16px;font-size:15px}
@media (max-width:599px){.ecl-bandeau{padding:12px 14px;margin-bottom:14px}.ecl-bandeau__compte span{font-size:13px}}
.ecl-bandeau .ecl-btn--leger:hover{background:rgba(255,255,255,.22);color:#fff}

/* Navigation : onglets pour les clubs, colonne pour le comité */
.ecl-corps{display:flex;flex-direction:column;gap:20px}
.ecl-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.ecl-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--e-line);background:var(--e-surface);color:var(--e-ink);font-weight:600;text-decoration:none}
.ecl-nav a:hover{border-color:var(--e-action)}
.ecl-nav a.is-actif{background:var(--e-chip);border-color:transparent;color:var(--e-chip-ink)}
.ecl-contenu{min-width:0;display:flex;flex-direction:column;gap:18px}
@media (min-width:992px){
	.ecl--comite .ecl-corps{flex-direction:row;align-items:flex-start;gap:28px}
	.ecl--comite .ecl-nav{flex:0 0 232px;flex-direction:column;overflow:visible;padding:12px;border:1px solid var(--e-line);border-radius:18px;background:var(--e-surface)}
	.ecl--comite .ecl-nav a{border:0;border-radius:10px;min-height:40px;padding:0 12px}
	.ecl--comite .ecl-contenu{flex:1 1 auto}
}

/* Titres et textes */
.ecl-titre{font-family:var(--ecl-font-display,inherit);font-weight:800;font-size:clamp(28px,4vw,40px);line-height:1.05;color:var(--ecl-navy,#14213d);margin:0}
:root[data-brx-theme="dark"] .ecl-titre{color:var(--e-ink)}
.ecl-h2{font-family:var(--ecl-font-display,inherit);font-weight:800;font-size:clamp(22px,3vw,28px);line-height:1.15;margin:0 0 6px}
.ecl-h3{font-size:19px;font-weight:700;margin:0 0 10px}
.ecl-h4{font-size:16px;font-weight:700;margin:14px 0 8px}
.ecl-surtitre{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--e-ink2);margin:0}
.ecl-surtitre--clair{color:var(--ecl-sky,#9FD2F1)}
.ecl-sous-titre{color:var(--e-ink2);margin:-8px 0 0}
.ecl-lead{font-size:19px;color:var(--e-ink2)}
.ecl-note,.ecl-aide{font-size:14px;color:var(--e-ink3)}
.ecl-vide{padding:18px;border:1px dashed var(--e-line);border-radius:var(--e-r);color:var(--e-ink2);background:var(--e-surface);margin:0}
.ecl-retour{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none}
.ecl-texte p:last-child{margin-bottom:0}

/* Messages */
.ecl-message{padding:12px 16px;border-radius:12px;font-weight:600;margin:0}
.ecl-message--ok{background:#DFF3E6;color:#14532D}
.ecl-message--erreur{background:#FDE8E8;color:#8A1C1C}

/* Cartes */
.ecl-carte{display:block;background:var(--e-surface);border:1px solid var(--e-line);border-radius:18px;padding:clamp(16px,2.5vw,24px);color:var(--e-ink)}
.ecl-carte--sombre{background:var(--ecl-navy,#14213d);border-color:transparent;color:#fff}
.ecl-carte--sombre p{color:rgba(255,255,255,.85)}
.ecl-carte--accent{border:2px solid var(--e-action)}
.ecl-carte--lien{display:flex;flex-direction:column;gap:2px;text-decoration:none}
.ecl-carte--lien span{color:var(--e-ink2);font-size:14px}
.ecl-carte--table{padding:0;overflow:hidden}
.ecl-carte--table>.ecl-ligne,.ecl-carte--table>.ecl-h3,.ecl-carte--table>.ecl-note,.ecl-carte--table>.ecl-vide{padding:18px 20px 0;margin:0}
.ecl-carte--table>.ecl-ligne:last-child{padding:16px 20px}
.ecl-grille{display:grid;gap:18px}
@media (min-width:768px){.ecl-grille--2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Boutons */
.ecl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.ecl-btn--plein{background:var(--e-action);color:var(--e-action-ink)}
.ecl-btn--plein:hover,.ecl-btn--plein:focus-visible{background:var(--e-action-hover);color:var(--e-action-ink)}
.ecl-btn--leger{background:var(--e-surface);border-color:var(--e-line);color:var(--e-ink)}
.ecl-btn--leger:hover{border-color:var(--e-action);color:var(--e-ink)}
.ecl-btn--jaune{background:var(--ecl-ball,#f2b705);color:var(--ecl-navy,#14213d)}
.ecl-btn--jaune:hover{background:var(--ecl-ball-hover,#f6c945);color:var(--ecl-navy,#14213d)}
.ecl-btn--transparent{background:rgba(255,255,255,.14);color:#fff}
.ecl-btn--transparent:hover{background:rgba(255,255,255,.24);color:#fff}
.ecl-btn--large{width:100%;min-height:54px;font-size:17px}
.ecl-btn:active{transform:scale(.98)}

/* Badges */
.ecl-badges{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.ecl-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap}
.ecl-badge--neutre{background:#EEF1F5;color:#3D4B63}
.ecl-badge--info{background:var(--e-chip);color:var(--e-chip-ink)}
.ecl-badge--ok{background:#DFF3E6;color:#1C5E33}
.ecl-badge--alerte{background:#FFE8CC;color:#7A3E00}
.ecl-badge--attente{background:#FFF1C9;color:#6B4E00}

/* Lignes et listes */
.ecl-ligne{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ecl-ligne--entre{justify-content:space-between}
.ecl-ligne--bas{align-items:flex-end}
.ecl-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ecl-liste a,.ecl-liste li>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:var(--e-alt);text-decoration:none;color:var(--e-ink)}
.ecl-liste a:hover{outline:2px solid var(--e-action)}
.ecl-liste span{color:var(--e-ink2);font-size:14px}
.ecl-liste--cartes a,.ecl-liste--cartes li>div{background:var(--e-surface);border:1px solid var(--e-line);padding:14px 16px}
.ecl-liste .ecl-badges{margin-top:6px}
.ecl-liste li.is-nouveau>a,.ecl-liste li.is-nouveau>div{border-color:var(--e-action)}
.ecl-liste-simple{margin:0;padding-left:18px}
.ecl-points{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ecl-points li{position:relative;padding-left:22px}
.ecl-points li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:999px;background:var(--e-action)}

/* Tuiles et indicateurs */
.ecl-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){.ecl-tuiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ecl-tuile{display:flex;flex-direction:column;gap:4px;min-height:88px;padding:16px;border:1px solid var(--e-line);border-radius:16px;background:var(--e-surface);color:var(--e-ink);text-decoration:none}
.ecl-tuile span{color:var(--e-ink2);font-size:14px}
.ecl-tuile:hover{border-color:var(--e-action)}
.ecl-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){.ecl-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ecl-kpi{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--e-line);border-radius:16px;background:var(--e-surface)}
.ecl-kpi span{color:var(--e-ink2);font-size:14px}
.ecl-kpi strong{font-family:var(--ecl-font-display,inherit);font-size:32px;line-height:1.1;color:var(--ecl-navy,#14213d)}
:root[data-brx-theme="dark"] .ecl-kpi strong{color:var(--e-ink)}

/* Tableaux */
.ecl-tableau-boite{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ecl-tableau{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.ecl-tableau th{text-align:left;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--e-ink3);background:var(--e-alt);padding:10px 14px;white-space:nowrap}
.ecl-tableau td{padding:12px 14px;border-top:1px solid var(--e-line);vertical-align:top}
.ecl-tableau code{font-size:12px;white-space:pre-wrap;word-break:break-word}
.ecl-tableau details{margin-top:6px;font-size:14px}

/* Formulaires */
.ecl-form{display:flex;flex-direction:column;gap:14px}
.ecl-form--grille{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:768px){.ecl-form--grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ecl-champ--plein{grid-column:1/-1}
.ecl-champ{display:flex;flex-direction:column;gap:6px;margin:0}
.ecl-champ>label,.ecl-cases>legend,.ecl-choix>legend{font-weight:700}
.ecl-champ--court{max-width:220px}
.ecl input[type=text],.ecl input:not([type]),.ecl input[type=email],.ecl input[type=password],.ecl input[type=number],.ecl input[type=tel],.ecl input[type=url],.ecl input[type=date],.ecl input[type=datetime-local],.ecl input[type=search],.ecl select,.ecl textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid #9AABC4;border-radius:12px;background:var(--e-surface);color:var(--e-ink);font:inherit}
.ecl textarea{min-height:96px}
.ecl input:focus-visible,.ecl select:focus-visible,.ecl textarea:focus-visible{outline:3px solid var(--e-action);outline-offset:1px}
.ecl input[type=file]{font:inherit}
.ecl-case{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.ecl input[type=checkbox],.ecl input[type=radio]{width:22px;height:22px;accent-color:var(--e-action);flex:0 0 auto}
.ecl fieldset{min-width:0}
.ecl-cases,.ecl-choix{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.ecl-cases>legend,.ecl-choix>legend{width:100%;margin-bottom:4px}
.ecl-choix label{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600}
.ecl-filtres{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.ecl-filtres label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px}
.ecl-filtres label.ecl-case{flex-direction:row}
.ecl-filtres select,.ecl-filtres input[type=search]{min-width:180px}
.ecl-recherche{margin-bottom:10px}

/* Pointage */
.ecl-pointage{display:flex;flex-direction:column;gap:10px}
.ecl-pointage>.ecl-ligne .ecl-recherche{flex:1 1 260px;margin:0}
.ecl-compteur{font-weight:700;color:var(--e-chip-ink)}
.ecl-joueurs{list-style:none;margin:0;padding:0;border:1px solid var(--e-line);border-radius:16px;overflow:hidden;background:var(--e-surface)}
.ecl-joueurs>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 14px;border-top:1px solid var(--e-line)}
.ecl-joueurs>li:first-child{border-top:0}
.ecl-joueurs>li[hidden]{display:none}
.ecl label{color:inherit}
.ecl-joueur{flex:1 1 240px;display:flex;align-items:center;gap:12px;min-height:56px;cursor:pointer;color:var(--e-ink)}
.ecl-joueurs .ecl-equipe{margin:0 0 8px 34px}
@media (min-width:600px){.ecl-joueurs .ecl-equipe{margin:0}}
.ecl-joueur__nom{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.ecl-joueur__nom span{font-size:13px;color:var(--e-ink2)}
.ecl-equipe{max-width:150px;min-height:44px!important}
.ecl-barre-action{position:sticky;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--ecl-bg,#fff) 70%,transparent)}

/* Bureau (Mon club) */
.ecl-bureau{display:flex;flex-direction:column;gap:12px}
.ecl-bureau__ligne{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:end;margin:0;padding:14px;border:1px solid var(--e-line);border-radius:14px}
@media (min-width:900px){.ecl-bureau__ligne{grid-template-columns:1fr 1.4fr 1.4fr 1fr auto}}
.ecl-bureau__ligne label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}

/* Connexion */
.ecl--public{max-width:var(--ecl-container,1280px)}
.ecl-connexion{display:grid;gap:32px;align-items:center;padding:clamp(8px,4vw,48px) 0}
@media (min-width:900px){.ecl-connexion{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}}
.ecl-connexion__form{display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 32px rgba(0,40,88,.08)}

@media (hover:none){.ecl-nav a:hover,.ecl-tuile:hover,.ecl-btn--leger:hover{border-color:var(--e-line)}}
@media (prefers-reduced-motion:reduce){.ecl-btn:active{transform:none}}
.ecl-connexion__logo{display:block;max-height:72px;width:auto;max-width:240px;margin:0 0 16px}
.ecl-tableau__groupe th{background:var(--e-alt);color:var(--e-ink2);font-size:13px;text-transform:uppercase;letter-spacing:.06em;text-align:left}

/* Annonces */
.ecl-annonces{display:grid;gap:12px;margin:0 0 20px}
.ecl-annonce{background:var(--e-surface);border:1px solid var(--e-line);border-radius:var(--e-r);padding:16px 18px;display:grid;gap:6px}
.ecl-annonce--importante{border-color:transparent;box-shadow:inset 4px 0 0 var(--ecl-ball,#f2b705);background:var(--e-alt)}
.ecl-annonce .ecl-texte p:last-child{margin-bottom:0}

/* Documents */
.ecl-document{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:var(--e-alt)}
.ecl-document__lien{color:var(--e-ink);text-decoration:none}
.ecl-document__lien:hover strong,.ecl-document__lien:focus-visible strong{text-decoration:underline}
.ecl-document span{color:var(--e-ink2);font-size:14px}

/* Calendrier : grille par mois, liste des seuls jours occupés sur téléphone */
.ecl-cal__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
.ecl-cal__nav h2{margin:0;text-transform:capitalize}
.ecl-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ecl-cal__entete{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--e-ink3);text-align:center;padding:4px 0}
.ecl-cal__jour{min-height:96px;background:var(--e-surface);border:1px solid var(--e-line);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ecl-cal__jour.is-aujourdhui{border-color:var(--e-action);box-shadow:inset 0 0 0 1px var(--e-action)}
.ecl-cal__num{font-size:13px;font-weight:700;color:var(--e-ink2);font-variant-numeric:tabular-nums}
.ecl-cal__jsem{display:none}
.ecl-cal__ev{display:block;font-size:12px;line-height:1.3;padding:4px 6px;border-radius:6px;background:var(--e-chip);color:var(--e-chip-ink);text-decoration:none;overflow-wrap:anywhere}
.ecl-cal__ev span{display:block;opacity:.8}
.ecl-cal__ev--closed{background:var(--e-alt);color:var(--e-ink2)}
.ecl-cal__ev--draft{background:transparent;border:1px dashed var(--e-line);color:var(--e-ink3)}
.ecl-cal__ev--limite{background:#FFE8CC;color:#7A3E00}
.ecl-legende{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:var(--e-ink3);margin-top:12px}
.ecl-cal__puce{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}
.ecl-cal__puce--published{background:var(--e-chip)}
.ecl-cal__puce--limite{background:#FFE8CC}
.ecl-cal__puce--draft{border:1px dashed var(--e-ink3)}
@media (max-width:767px){
	.ecl-cal{grid-template-columns:1fr;gap:8px}
	.ecl-cal__entete,.ecl-cal__vide,.ecl-cal__jour:not(.a-evenement):not(.is-aujourdhui){display:none}
	.ecl-cal__jour{min-height:0;padding:10px 12px}
	.ecl-cal__jsem{display:inline;text-transform:capitalize}
	.ecl-cal__ev{font-size:14px;padding:8px 10px}
}
.ecl-cal__ev--tournoi{background:color-mix(in srgb,var(--ecl-ball,#f2b705) 28%,var(--e-surface));color:var(--e-ink)}
.ecl-cal__ev--challenge{background:#DFF3E6;color:#1C5E33}
.ecl-cal__puce--tournoi{background:color-mix(in srgb,var(--ecl-ball,#f2b705) 28%,#fff)}
.ecl-cal__puce--challenge{background:#DFF3E6}
/* Événements du site : stages (violet) et formations (bleu canard) */
.ecl-cal__ev--stage,.ecl-badge--stage{background:#EEE5FA;color:#4B2380}
.ecl-cal__ev--formation,.ecl-badge--formation{background:#DDF1F1;color:#0D5454}
.ecl-cal__puce--stage{background:#EEE5FA}
.ecl-cal__puce--formation{background:#DDF1F1}
.ecl-promo{display:grid;gap:12px;margin-top:16px}
.ecl-promo .ecl-h3{margin:0}
.ecl .ecl-promo__texte{min-height:0;resize:vertical;background:var(--e-alt);line-height:1.5}

/* Challenges */
.ecl-engagement summary{cursor:pointer;list-style:none}
.ecl-engagement summary::-webkit-details-marker{display:none}
.ecl-engagement[open] summary{margin-bottom:12px}
.ecl-choix-joueurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:6px 16px;max-height:340px;overflow:auto;padding:8px;border:1px solid var(--e-line);border-radius:10px;margin-top:8px}

/* Tournois : espace et site public (le style du thème s'applique autour) */
.ecl-tournois{display:grid;gap:12px}
.ecl-tournoi{border:1px solid var(--ecl-line,#d6e0ee);border-radius:14px;padding:16px 18px;display:grid;gap:4px;background:var(--ecl-surface,transparent)}
.ecl-tournoi__date{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ecl-action,#1f5fbf)}
.ecl-tournoi__nom{margin:0;font-size:1.25em;line-height:1.25}
.ecl-tournoi__nom a{color:inherit}
.ecl-tournoi__club,.ecl-tournoi__infos,.ecl-tournoi__contact{margin:0;font-size:.95em;opacity:.85}
.ecl-tournoi__texte p{margin:.4em 0}
.ecl-public{margin:1em 0}

/* Statistiques : barres d'une seule couleur, valeur écrite à côté */
.ecl-barre{display:flex;align-items:center;gap:8px;min-width:140px}
.ecl-barre__trait{display:block;height:10px;min-width:2px;border-radius:0 4px 4px 0;background:var(--e-action)}
.ecl-barre__valeur{font-variant-numeric:tabular-nums;color:var(--e-ink);font-weight:600}
.ecl-num{font-variant-numeric:tabular-nums;text-align:right}
.ecl-col-barre{width:32%}
.ecl-kpi small{display:block;color:var(--e-ink3);font-size:13px;margin-top:2px}

/* Calculateur de licences */
.ecl-tableau--calcul input{width:100%;min-width:80px;max-width:120px}
.ecl-calcul__ligne{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--e-line)}
.ecl-calcul__ligne label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--e-ink2)}
.ecl-calcul__ligne input,.ecl-calcul__ligne select{width:100%}
.ecl-calcul__chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:0}
.ecl-calcul__chiffres div{display:flex;flex-direction:column;gap:2px}
.ecl-calcul__chiffres dt{font-size:13px;opacity:.85}
.ecl-calcul__chiffres dd{margin:0;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.ecl-calcul__resultat .ecl-note{color:rgba(255,255,255,.85)}
@media (min-width:768px){.ecl-kpis--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.ecl-kpis--5{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ------------------------------------------------------------------------------------------
 * Ergonomie au toucher (contrôle du 27/10/2026, principes d'interface d'Apple)
 * ---------------------------------------------------------------------------------------- */
/* Réponse immédiate : retour visuel dès l'appui, pas de délai de double-tape. */
.ecl a,.ecl button,.ecl summary,.ecl label,.ecl select,.ecl input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ecl-nav a:active,.ecl-liste a:active,.ecl-cal__ev:active,.ecl-joueur:active,.ecl-document__lien:active,.ecl-lien:active{transform:scale(.98);transition:transform 80ms ease-out}
.ecl-liste a:active{background:var(--e-chip)}
.ecl-joueur:active{background:var(--e-alt)}
/* Cibles tactiles d'au moins 44 px. */
.ecl-lien{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.ecl-bandeau .ecl-btn--leger{min-height:44px}
.ecl summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.ecl input[type=file]{min-height:44px;padding:8px 0}
.ecl-case-tableau{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-10px;cursor:pointer}
.ecl-tournoi__nom a{display:inline-flex;align-items:center;min-height:44px}
/* Sur téléphone, les champs en 16 px : sinon l'iPhone zoome sur la page à chaque saisie. */
@media (max-width:767px){
	.ecl input:not([type=checkbox]):not([type=radio]),.ecl select,.ecl textarea{font-size:16px}
	.ecl-filtres label{width:100%}
	.ecl-filtres select,.ecl-filtres input[type=search]{min-width:0;width:100%}
}
/* Menu en onglets qui défile : un fondu sur le bord indique qu'il y a d'autres onglets. */
@media (max-width:991px){
	.ecl-nav.a-droite{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}
	.ecl-nav.a-gauche{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px);mask-image:linear-gradient(to right,transparent,#000 40px)}
	.ecl-nav.a-gauche.a-droite{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
}
/* Tableaux plus larges que l'écran : ombres sur les bords tant qu'il reste à faire défiler. */
.ecl-tableau-boite{background:linear-gradient(to right,var(--e-surface) 30%,transparent) left center/40px 100% no-repeat local,linear-gradient(to left,var(--e-surface) 30%,transparent) right center/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.22),transparent) left center/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.22),transparent) right center/14px 100% no-repeat scroll}
/* Typographie : grands titres resserrés, comme les caractères d'affichage. */
.ecl-titre{letter-spacing:-.015em}
.ecl-h2{letter-spacing:-.01em}
/* Préférences du système. */
@media (prefers-reduced-motion:reduce){
	.ecl-nav a:active,.ecl-liste a:active,.ecl-cal__ev:active,.ecl-joueur:active,.ecl-document__lien:active,.ecl-lien:active{transform:none;transition:none}
}
@media (prefers-contrast:more){
	.ecl-carte,.ecl-tableau th,.ecl-tableau td,.ecl input,.ecl select,.ecl textarea,.ecl-btn--leger,.ecl-nav a{border-color:currentColor}
	.ecl-note,.ecl-aide{color:var(--e-ink)}
}
/* Intitulés de groupe du menu de gestion : seulement dans la colonne (ordinateur). */
.ecl-nav__groupe{display:none}
@media (min-width:992px){
	.ecl--comite .ecl-nav__groupe{display:block;margin:14px 12px 4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--e-ink3)}
	.ecl--comite .ecl-nav__groupe:first-child{margin-top:4px}
}
/* Filtres repliés (téléphone) */
.ecl-filtres-repli{border:1px solid var(--e-line);border-radius:14px;background:var(--e-surface);margin:0 0 16px}
.ecl-filtres-repli>summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:10px 44px 10px 14px;position:relative;list-style:none}
.ecl-filtres-repli>summary::-webkit-details-marker{display:none}
.ecl-filtres-repli>summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid var(--e-ink2);border-bottom:2px solid var(--e-ink2);transform:translateY(-70%) rotate(45deg)}
.ecl-filtres-repli[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.ecl-filtres-repli>summary span{font-size:14px;color:var(--e-ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ecl-filtres-repli>.ecl-filtres{padding:0 14px 14px}
