/* ==============================
   VARIABLES DE THÈME
============================== */
:root {
  --main-color: #0b3d6e;
  --secondary-color: #5bb7d7;
  --header-color: var(--main-color);
  --nav-color: var(--secondary-color);
  --nav-text-color: var(--secondary-color);
  --club-primary: var(--main-color);
  --club-secondary: var(--secondary-color);
}

/* ==============================
   STRUCTURE GÉNÉRALE
============================== */
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: #f4f6f8;
}

header {
  background-color: var(--club-primary, var(--header-color));
  color: white;
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 15px;
}

nav {
  background-color: var(--club-primary, var(--header-color));
  padding: 10px;
  text-align: center;
}

nav a,
nav strong {
  margin: 0 10px;
  color: var(--club-secondary, var(--nav-text-color));
  text-decoration: none;
  font-weight: bold;
}

nav strong {
  text-decoration: underline;
}

/* ==============================
   COMPOSANTS GÉNÉRIQUES
============================== */
.card {
  background: white;
  margin: 15px;
  padding: 15px;
  border-radius: 4px;
}

.formRow {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

input,
button {
  padding: 6px;
}

/* ==============================
   BOUTONS
============================== */
button {
  background: var(--main-color);
  color: white;
  border: none;
  cursor: pointer;
}

button:hover {
  opacity: 0.9;
}

/* Liens affichés comme boutons */
button a,
a.button {
  color: white !important;
  text-decoration: none;
}

/* ==============================
   TABLEAUX
============================== */
table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  table-layout: fixed;
}

th,
td {
  border: 1px solid #ccc;
  padding: 6px;
  text-align: center;
}

td input {
  width: 100%;
  box-sizing: border-box;
}

/* ==============================
   PLANNING
============================== */
.orderCol { width: 4ch; }
.dateCol  { width: 10ch; white-space: nowrap; }
.timeCol  { width: 9ch; }

.timeCol input[type="time"] {
  width: 100%;
  font-family: monospace;
}

/* ==============================
   LISTE DES JOUEURS
============================== */
table input[type="number"] {
  width: 6ch;
}

.teamHeader {
  user-select: none;
}

/* ==============================
   CONTACT
============================== */
#contactRoot label {
  font-weight: bold;
  min-width: 160px;
}

/* ==============================
   LECTURE SEULE (COACH / VIEWER)
============================== */
.readOnlyValue {
  flex: 1;
  min-height: 32px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
}

.readOnlyText {
  color: #333;
}

.readOnlyText.empty {
  color: #999;
  font-style: italic;
}

.readOnlyLink {
  color: #0b5ed7;
  text-decoration: underline;
  word-break: break-all;
}

.readOnlyLink:hover {
  text-decoration: none;
}

/* ==============================
   LIENS GÉNÉRAUX
============================== */
a {
  color: #0b5ed7;
  text-decoration: underline;
}

/* ==============================
   RESPONSIVE
============================== */
@media (max-width: 700px) {
  .formRow {
    flex-direction: column;
    align-items: flex-start;
  }

  #contactRoot label {
    min-width: unset;
  }
}
.actualite {
  margin-bottom: 25px;
}

.actuTitle {
  font-size: 1.4em;
  font-weight: bold;
  margin: 10px 0;
}

.actuText {
  margin-top: 10px;
  line-height: 1.4;
}

.imageWrapper img {
  display: block;
  max-width: 100%;
  margin: 10px 0;
}
/* Planning lisible pour Viewer */
body[data-role="read"] #planningTable input:disabled,
body[data-role="read"] #planningTable select:disabled {
  opacity: 1;
  background-color: #fff;
  color: #000;
  border-color: #ccc;
}
.lastConvocation .card {
  border-left: 4px solid var(--main-color);
  background-color: #f9fbff;
}
.historyTabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.historyTab {
  padding: 4px 8px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  cursor: pointer;
  border-radius: 4px;
}

.historyTab:hover {
  background: #eaeaea;
}

.historyContent .card {
  margin-top: 10px;
}
/* ===== Boutons de dates – Historique convocations ===== */
.historyTabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.historyTab {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid var(--main-color);
  background-color: white;
  color: var(--main-color);
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Hover */
.historyTab:hover {
  background-color: var(--main-color);
  color: white;
}

/* Bouton actif */
.historyTab.active {
  background-color: var(--main-color);
  color: white;
}
.convLabel {
  font-size: 0.8em;
  color: #666;
}
/* Liste de présence */
.presenceList {
  list-style: none;
  padding-left: 0;
}

/* Ligne joueur compacte */
.presenceItem {
  margin: 3px 0;
}

/* Ligne joueur : tout reste groupé */
.presenceRow {
  display: inline-flex;     /* ✅ clé du fix */
  align-items: center;
  gap: 10px;
}

/* Nom joueur */
.presenceName {
  font-size: 15px;
}

/* Compteur juste à côté */
.presenceCount {
  font-size: 14px;
  font-weight: bold;
  color: #555;
}
.historyDates button.active {
  background: var(--main-color);
  color: white;
}
/* =====================================================
   SCORES DU WE
   ===================================================== */

/* Carte formulaire d’ajout */
#scoresWERoot .card {
  margin-bottom: 16px;
}

/* Formulaire d’ajout score */
#scoresWERoot label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

#scoresWERoot input[type="text"],
#scoresWERoot input[type="number"],
#scoresWERoot input[type="date"] {
  margin-left: 6px;
  padding: 4px 6px;
}

/* Ligne de score */
.scoreLine {
  padding: 8px 0;
  border-bottom: 1px solid #ddd;
}

/* Affichage score */
.scoreMatch {
  font-size: 16px;
  margin-top: 4px;
}

/* Score bien visible */
.scoreValue {
  font-weight: bold;
  margin: 0 4px;
}

/* Bouton supprimer score */
#scoresWERoot button {
  margin-top: 6px;
}

/* Lecture seule (viewer) */
#scoresWERoot.readOnly input,
#scoresWERoot.readOnly button {
  display: none;
}
/* ===== Formulaire Scores du WE ===== */
.scoreFormLine {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.scoreFormLine select {
  min-width: 300px;
}

.scoreFormLine input[type="number"] {
  width: 50px;
  text-align: center;
}

.scoreFormLine button {
  padding: 6px 10px;
}



/* =====================================================
   URW UX V4.7 - couche safe séparée
===================================================== */

.hiddenByRole {
  display: none !important;
}

.menu-toggle {
  display: none;
  width: calc(100% - 24px);
  margin: 10px 12px;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 17px;
  font-weight: 700;
  background: var(--main-color);
  color: #fff;
  border: none;
}

.main-menu {
  background-color: var(--club-primary, var(--header-color));
  padding: 10px;
  text-align: center;
}

.menu-section {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.menu-title {
  font-weight: 800;
  color: var(--club-secondary, var(--nav-text-color));
  opacity: .75;
  padding: 0 6px;
}

.main-menu a,
.main-menu strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 6px 9px;
  border-radius: 9px;
}

.main-menu .is-disabled {
  opacity: .35;
  pointer-events: none;
  filter: grayscale(1);
}

/* Planning */
.planningGroupedTable {
  table-layout: fixed;
  width: 100%;
}

.planningGroupedTable th,
.planningGroupedTable td {
  overflow: visible;
  text-overflow: unset;
}

.planningDateRow td {
  background: #eef3ff;
  color: var(--main-color);
  font-weight: 800;
  text-align: left;
  padding: 7px 8px;
  font-size: 13px;
  white-space: nowrap;
}

.planningMatchRow td {
  padding: 4px 3px;
  vertical-align: middle;
}

.planningCategoryCell {
  width: 42px;
  max-width: 42px;
  font-weight: 800;
  color: var(--main-color);
  text-align: center;
  white-space: normal;
  word-break: break-word;
}

.planningTeamCell {
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
  line-height: 1.15;
}

.planningVsCell {
  width: 18px;
  max-width: 18px;
  text-align: center;
  opacity: .75;
  white-space: nowrap;
  font-size: 10px;
}

.planningTimeCell {
  width: 42px;
  max-width: 42px;
  text-align: center;
  font-family: monospace;
  white-space: nowrap;
}

.planningAddressCell,
.planningConvCell {
  width: 28px;
  max-width: 28px;
  text-align: center;
}

.addressBtn,
.planningConvCell button {
  min-height: 26px;
  width: 26px;
  padding: 0;
  border-radius: 50%;
  font-size: 12px;
}

.planningActions {
  margin: 10px 15px 20px;
}

#sharePlanningWhatsappBtn {
  width: 100%;
  border-radius: 12px;
  font-weight: 800;
}

.fieldIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-size: 18px;
  margin-right: -4px;
}

.compactDate {
  width: 118px !important;
  max-width: 118px !important;
  min-width: 118px !important;
}

.compactTime {
  width: 92px !important;
  max-width: 92px !important;
  min-width: 92px !important;
}

/* Classement */
.classementCompactTable {
  table-layout: fixed;
  width: 100%;
}

.classementCompactTable .rankCol {
  width: 24px;
  max-width: 24px;
}

.classementCompactTable .pointsCol {
  width: 44px;
  max-width: 44px;
}

.classementCompactTable .orderColV47 {
  width: 42px;
  max-width: 42px;
}

.classementCompactTable .deleteColV47 {
  width: 34px;
  max-width: 34px;
}

.classementCompactTable .teamCol {
  width: auto;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Scores */
.scoresCompactTable {
  table-layout: fixed;
  width: 100%;
}

#scoresWERoot input[type="date"],
#scoresWERoot .compactDate {
  width: 118px !important;
  max-width: 118px !important;
  min-width: 118px !important;
}

/* Customisation */
#customisationRoot input[type="color"] {
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 3px;
  border-radius: 10px;
  border: 1px solid #cfd7df;
}

@media (max-width: 700px) {
  .menu-toggle {
    display: block;
  }

  .main-menu {
    display: none;
    margin: 0 12px 12px;
    padding: 10px;
    border-radius: 14px;
    text-align: left;
  }

  .main-menu.open {
    display: block;
  }

  .menu-section {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    margin-bottom: 12px;
  }

  .menu-section:last-child {
    margin-bottom: 0;
  }

  .menu-title {
    padding: 6px 8px 2px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .main-menu a,
  .main-menu strong {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    padding: 8px;
    background: rgba(255,255,255,.55);
    text-align: center;
  }

  .planningGroupedTable th,
  .planningGroupedTable td,
  .classementCompactTable th,
  .classementCompactTable td,
  .scoresCompactTable th,
  .scoresCompactTable td {
    font-size: 10px;
    padding: 3px 2px;
  }

  .planningDateRow td {
    font-size: 12px;
    padding: 6px 7px;
  }

  .planningCategoryCell {
    width: 38px;
    max-width: 38px;
    font-size: 10px;
  }

  .planningVsCell {
    width: 16px;
    max-width: 16px;
    font-size: 9px;
  }

  .planningTimeCell {
    width: 36px;
    max-width: 36px;
    font-size: 10px;
  }

  .planningAddressCell,
  .planningConvCell {
    width: 24px;
    max-width: 24px;
  }

  .addressBtn,
  .planningConvCell button {
    width: 22px;
    min-height: 22px;
    font-size: 11px;
  }

  .planningTeamCell {
    font-size: 9.5px;
  }

  .classementCompactTable .rankCol {
    width: 22px;
    max-width: 22px;
  }

  .classementCompactTable .pointsCol {
    width: 38px;
    max-width: 38px;
  }

  .classementCompactTable .orderColV47,
  .classementCompactTable .deleteColV47 {
    width: 30px;
    max-width: 30px;
  }
}


/* =====================================================
   URW UX V6 PRO
===================================================== */

.badgeControls {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.badgeControls label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  border: 1px solid #d0d8e0;
  border-radius: 10px;
  background: #fff;
  min-height: 38px;
}

.badgeControls input {
  min-height: auto;
}

.myClubRow {
  background: #fff6d8 !important;
}

.myClubText {
  font-weight: 800 !important;
  color: var(--main-color) !important;
}

.champCard {
  background: #fff;
  border: 1px solid #dbe3ec;
  border-radius: 14px;
  padding: 12px;
  margin: 12px 0;
}

.champHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.champHeader strong {
  cursor: pointer;
}

.champTeamList {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
}

.champTeamList li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #eef2f6;
  padding: 7px 0;
}

.mutedText {
  color: #667;
  font-size: .95em;
}

/* popup pro */
.proPopupOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.proPopupBox {
  background: #fff;
  width: min(520px, 96vw);
  border-radius: 18px;
  padding: 20px;
  position: relative;
  box-shadow: 0 18px 45px rgba(0,0,0,.24);
}

.proPopupClose {
  position: absolute;
  top: 8px;
  right: 8px;
  min-height: 32px;
  width: 32px;
  padding: 0;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
}

.proPopupActions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.proPopupActions button {
  flex: 1 1 140px;
  border-radius: 12px;
  font-weight: 700;
}

.addressText {
  background: #f4f6f8;
  padding: 12px;
  border-radius: 10px;
}

/* Planning V6 */
.planningV6Table .planningCategoryCell {
  width: 46px;
  max-width: 46px;
}

.planningV6Table .planningTeamCell {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .badgeControls {
    width: 100%;
  }

  .badgeControls label {
    flex: 1 1 54px;
    justify-content: center;
  }

  .proPopupActions {
    flex-direction: column;
  }
}


/* =====================================================
   URW V6.1.1 - Correctif badges + popup unique
===================================================== */
.badgeControls label {
  cursor: pointer;
}
.badgeControls input[type="checkbox"] {
  min-height: auto;
}


/* =====================================================
   URW V7.1 - Sponsors
===================================================== */

.sponsorForm input[type="file"] {
  background: white;
  border: 1px solid #cfd7df;
  border-radius: 10px;
}

.sponsorsGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
}

.sponsorCard {
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  padding: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.sponsorImageWrap {
  aspect-ratio: 1.6 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f6f8;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 10px;
}

.sponsorImageWrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.sponsorImageLink {
  display: block;
  width: 100%;
  height: 100%;
}

.sponsorCard:hover {
  transform: translateY(-1px);
}

.sponsorName {
  font-weight: 800;
  font-size: 14px;
  color: var(--main-color);
  margin-bottom: 4px;
}

.sponsorVisit {
  font-size: 12px;
  color: #667;
  margin-bottom: 8px;
}

.deleteSponsorBtn {
  width: 100%;
  border-radius: 10px;
  margin-top: 8px;
}

@media (max-width: 700px) {
  .sponsorsGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .sponsorCard {
    padding: 10px;
  }

  .sponsorName {
    font-size: 13px;
  }
}


/* =====================================================
   URW V7.1.1 - Ordre sponsors
===================================================== */

.sponsorAdminActions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: auto;
  padding-top: 8px;
}

.sponsorAdminActions button {
  min-height: 34px;
  padding: 4px;
  border-radius: 10px;
  font-size: 13px;
}

.sponsorAdminActions button:disabled {
  opacity: .35;
  cursor: not-allowed;
}

/* =====================================================
   Sponsors — equal card dimensions V6.9.10.9
   Stabilise les dimensions des tuiles sans modifier le JS.
===================================================== */

.sponsorsGrid {
  grid-template-columns: repeat(auto-fill, minmax(170px, 170px));
  justify-content: start;
  align-items: stretch;
}

.sponsorCard {
  width: 170px;
  min-height: 250px;
  height: 250px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.sponsorImageWrap {
  width: 100%;
  height: 96px;
  flex: 0 0 96px;
  aspect-ratio: auto;
}

.sponsorName {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
  overflow: hidden;
}

.sponsorVisit {
  min-height: 18px;
  margin-bottom: 6px;
}

@media (max-width: 700px) {
  .sponsorsGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    align-items: stretch;
  }

  .sponsorCard {
    width: 100%;
    min-height: 232px;
    height: 232px;
  }

  .sponsorImageWrap {
    height: 82px;
    flex-basis: 82px;
  }
}


/* =====================================================
   URW V7.2 - Planning ordre + colonnes optimisées
===================================================== */

/* On supprime l’esprit "ordre numérique" : l’ordre devient visuel avec ⬆️⬇️ */
#planOrder {
  display: none !important;
}

/* Planning : priorité aux équipes */
.planningV6Table,
.planningGroupedTable {
  table-layout: fixed;
  width: 100%;
}

/* Largeurs compactes */
.planningCategoryCell {
  width: 44px !important;
  max-width: 44px !important;
}

.planningVsCell {
  width: 18px !important;
  max-width: 18px !important;
  min-width: 18px !important;
  text-align: center;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 10px;
}

.planningTimeCell {
  width: 42px !important;
  max-width: 42px !important;
  min-width: 42px !important;
  font-family: monospace;
  text-align: center;
  white-space: nowrap;
}

.planningAddressCell,
.planningConvCell {
  width: 28px !important;
  max-width: 28px !important;
  min-width: 28px !important;
  text-align: center;
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.planningMoveCell {
  width: 44px !important;
  max-width: 44px !important;
  min-width: 44px !important;
  text-align: center;
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.planningMoveCell button {
  min-height: 22px;
  width: 20px;
  padding: 0;
  border-radius: 8px;
  font-size: 10px;
  margin: 1px;
}

/* Les équipes doivent prendre la place, quitte à aller à la ligne */
.planningTeamCell {
  width: auto !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15;
}

/* Icônes ultra compactes */
.addressBtn,
.planningConvCell button {
  min-height: 24px !important;
  width: 24px !important;
  padding: 0 !important;
  border-radius: 50%;
  font-size: 11px;
}

/* En-têtes compacts */
.planningGroupedTable th {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

@media (max-width: 700px) {
  .planningCategoryCell {
    width: 38px !important;
    max-width: 38px !important;
  }

  .planningVsCell {
    width: 14px !important;
    max-width: 14px !important;
    min-width: 14px !important;
    font-size: 8px;
  }

  .planningTimeCell {
    width: 34px !important;
    max-width: 34px !important;
    min-width: 34px !important;
    font-size: 9px;
  }

  .planningAddressCell,
  .planningConvCell {
    width: 22px !important;
    max-width: 22px !important;
    min-width: 22px !important;
  }

  .planningMoveCell {
    width: 36px !important;
    max-width: 36px !important;
    min-width: 36px !important;
  }

  .planningMoveCell button {
    width: 16px;
    min-height: 20px;
    font-size: 9px;
  }

  .addressBtn,
  .planningConvCell button {
    width: 20px !important;
    min-height: 20px !important;
    font-size: 10px;
  }

  .planningTeamCell {
    font-size: 9.5px;
  }
}


/* =====================================================
   URW V7.2.1 - Fix planning add
===================================================== */
#planOrder {
  display: none !important;
}


/* =====================================================
   URW V7.2.2 - Fix colonne VS + flèches planning
===================================================== */

/* Forçage largeur VS par cellule et par colonne */
.planningGroupedTable th:nth-child(3),
.planningGroupedTable td:nth-child(3),
.planningV6Table th:nth-child(3),
.planningV6Table td:nth-child(3),
.planningVsCell {
  width: 16px !important;
  max-width: 16px !important;
  min-width: 16px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  font-size: 9px !important;
}

/* Donne l'espace libéré aux équipes */
.planningGroupedTable th:nth-child(2),
.planningGroupedTable td:nth-child(2),
.planningGroupedTable th:nth-child(4),
.planningGroupedTable td:nth-child(4) {
  width: auto !important;
  max-width: none !important;
}

/* Colonne flèches toujours visible et compacte */
.planningMoveCell {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.planningMoveCell button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 18px !important;
  min-height: 22px !important;
  padding: 0 !important;
  margin: 0 1px !important;
  font-size: 10px !important;
  border-radius: 7px !important;
}

@media (max-width: 700px) {
  .planningGroupedTable th:nth-child(3),
  .planningGroupedTable td:nth-child(3),
  .planningV6Table th:nth-child(3),
  .planningV6Table td:nth-child(3),
  .planningVsCell {
    width: 12px !important;
    max-width: 12px !important;
    min-width: 12px !important;
    font-size: 8px !important;
  }

  .planningMoveCell {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
  }

  .planningMoveCell button {
    width: 16px !important;
    min-height: 20px !important;
    font-size: 9px !important;
  }
}


/* =====================================================
   URW V8.1 - Webshop Pro
===================================================== */

.webshopAdminForm,
.webshopCustomerForm {
  display: grid;
  gap: 10px;
}

.webshopAdminForm textarea,
.webshopCustomerForm textarea {
  min-height: 90px;
}

.webshopGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
}

.webshopProductCard {
  border: 1px solid #dbe3ec;
  background: #fff;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
}

.webshopImageWrap {
  aspect-ratio: 1.2 / 1;
  background: #f4f6f8;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.webshopImageWrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.webshopProductCard h3 {
  margin: 12px 0 4px;
}

.webshopPrice {
  font-weight: 900;
  color: var(--main-color);
  font-size: 20px;
  margin-bottom: 8px;
}

.webshopDesc {
  font-size: 14px;
  color: #555;
}

.webshopProductControls {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.productQtyInput {
  width: 100%;
}

.deleteProductBtn {
  width: 100%;
  margin-top: 10px;
  border-radius: 12px;
}

.cartLines {
  display: grid;
  gap: 10px;
}

.cartLine {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #eef2f6;
  padding: 8px 0;
}

.cartLinePrice {
  font-weight: 800;
  white-space: nowrap;
}

.cartTotal {
  margin-top: 14px;
  padding: 12px;
  border-radius: 14px;
  background: #eef3ff;
  font-weight: 900;
  color: var(--main-color);
  text-align: right;
  font-size: 18px;
}

@media (max-width: 700px) {
  .webshopGrid {
    grid-template-columns: 1fr;
  }

  .cartLine {
    grid-template-columns: 1fr auto;
  }

  .cartLine button {
    grid-column: 1 / -1;
  }
}


/* =====================================================
   URW V8.3 - Webshop rupture de stock
===================================================== */

.stockCheckbox {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #dbe3ec;
  border-radius: 12px;
  padding: 10px;
  font-weight: 700;
}

.stockCheckbox input {
  min-height: auto;
}

.outOfStockProduct {
  opacity: .68;
  position: relative;
}

.outOfStockProduct .webshopImageWrap img {
  filter: grayscale(1);
}

.stockBadge {
  display: inline-block;
  margin-top: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eee;
  color: #555;
  font-weight: 900;
  font-size: 13px;
}

.addToCartBtn:disabled {
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(1);
}


/* =====================================================
   URW V8.3.1 - Toggle disponibilité produit
===================================================== */

.webshopAdminProductActions {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.webshopAdminProductActions button {
  width: 100%;
  border-radius: 12px;
}

.toggleStockBtn {
  font-weight: 800;
}


/* =====================================================
   URW V7.3 - Photos de la semaine
===================================================== */

.weekPhotoCard {
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background: #fff;
  padding: 12px;
  margin: 12px 0;
}

.weekPhotoHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.toggleWeekBtn {
  flex: 1 1 auto;
  text-align: left;
  font-weight: 900;
  border-radius: 12px;
}

.weekShareActions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.weekShareActions button {
  min-height: 36px;
  border-radius: 10px;
  padding: 6px 9px;
}

.weekPhotoContent {
  margin-top: 12px;
}

.weekUploadRow {
  display: grid;
  gap: 8px;
  margin-bottom: 8px;
}

.weekPhotoGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
}

.weekPhotoItem {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: #f4f6f8;
}

.weekPhotoItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

.deletePhotoBtn {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 30px;
  min-height: 30px;
  border-radius: 50%;
  padding: 0;
  font-size: 13px;
}

.photoViewerOverlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 44px 16px;
}

.photoViewerImage {
  max-width: 94vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 10px;
}

.photoViewerClose,
.photoViewerPrev,
.photoViewerNext {
  position: fixed;
  z-index: 10000;
  border: none;
  background: rgba(255,255,255,.18);
  color: white;
  border-radius: 999px;
  font-size: 30px;
  min-height: 44px;
  width: 44px;
  padding: 0;
}

.photoViewerClose {
  top: 14px;
  right: 14px;
}

.photoViewerPrev {
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.photoViewerNext {
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.photoViewerCaption {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 14px;
  color: #fff;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 700px) {
  .weekPhotoHeader {
    flex-direction: column;
    align-items: stretch;
  }

  .weekShareActions {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
  }

  .weekPhotoGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
}


/* =====================================================
   URW V1.2.1 FULL - Match + Statistiques
===================================================== */
.matchHistoryList { display:grid; gap:8px; }
.matchHistoryBtn,
.matchToggleBtn {
  width:100%;
  text-align:left;
  font-weight:900;
  padding:12px;
  border-radius:14px;
}
.matchMetaLine { margin-top:10px; font-weight:700; color:#667; }
.bigStatusBtn {
  width:100%;
  padding:18px;
  font-size:21px;
  font-weight:900;
  text-align:center;
  border-radius:16px;
  margin:12px 0;
  background:#eef3ff;
  color:var(--main-color);
  border:2px solid var(--main-color);
}
.readOnlyStatus { border-color:#dbe3ec; }
.matchSummaryBox {
  background:#f4f6f8;
  padding:12px;
  border-radius:14px;
  margin:12px 0;
  line-height:1.5;
}
.matchSubBlock {
  border-top:1px solid #eef2f6;
  padding-top:12px;
  margin-top:12px;
}
.matchInlineForm {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.matchListLine {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #eef2f6;
  padding:8px 0;
}
.minuteLine { margin:10px 0; }
.minuteBar {
  height:8px;
  background:#eef2f6;
  border-radius:999px;
  overflow:hidden;
  margin-top:4px;
}
.minuteBar span {
  display:block;
  height:100%;
  background:var(--main-color);
  border-radius:999px;
}
.refereeHistoryBox {
  background:#fff6d8;
  border:1px solid #f0d98b;
  border-radius:12px;
  padding:10px;
  font-weight:700;
  margin:8px 0;
}
.scoreStatusCell,
.scoreStatusHead {
  width:42px;
  text-align:center;
}
.scoreStatusBtn {
  width:34px;
  min-height:34px;
  padding:0;
  border-radius:50%;
}
.planningMatchReportCell,
.matchReportHead {
  width:28px !important;
  max-width:28px !important;
  text-align:center !important;
}
.matchReportBtn {
  width:24px;
  min-height:24px;
  padding:0;
  border-radius:50%;
  font-size:12px;
}
.statsCards {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(130px,1fr));
  gap:10px;
  margin-bottom:16px;
}
.statCard {
  background:#eef3ff;
  border-radius:14px;
  padding:12px;
  text-align:center;
}
.statCard strong {
  display:block;
  color:#667;
  font-size:13px;
}
.statCard span {
  display:block;
  font-size:22px;
  font-weight:900;
  color:var(--main-color);
  margin-top:4px;
}
.statsBlock {
  margin-top:18px;
}
@media(max-width:700px){
  .matchInlineForm { grid-template-columns:1fr; }
  .bigStatusBtn { font-size:18px; padding:16px; }
  .scoreStatusCell,.scoreStatusHead { width:34px; }
}


/* =====================================================
   URW V1.2.2 - Match par catégorie + clôture
===================================================== */
.matchCategoryBlock,
.matchCategorySection,
.statsCategory {
  margin-top: 14px;
}

.matchCategorySection > h2,
.statsCategory > h2 {
  border-bottom: 2px solid var(--main-color);
  padding-bottom: 8px;
}

.statusInstruction {
  text-align: center;
  font-weight: 900;
  font-size: 15px;
  margin-top: 12px;
  color: #333;
}

.scoreLabel {
  font-size: 20px;
  font-weight: 900;
  color: var(--main-color);
  margin-top: 16px;
  text-align: center;
}

.matchHistoryList {
  display: grid;
  gap: 8px;
}

.matchHistoryBtn,
.matchToggleBtn {
  width: 100%;
  text-align: left;
  font-weight: 900;
  padding: 12px;
  border-radius: 14px;
}

.matchMetaLine {
  margin-top: 10px;
  font-weight: 700;
  color: #667;
}

.bigStatusBtn {
  width: 100%;
  padding: 18px;
  font-size: 21px;
  font-weight: 900;
  text-align: center;
  border-radius: 16px;
  margin: 12px 0;
  background: #eef3ff;
  color: var(--main-color);
  border: 2px solid var(--main-color);
}

.readOnlyStatus {
  border-color: #dbe3ec;
}

.matchSummaryBox {
  background: #f4f6f8;
  padding: 12px;
  border-radius: 14px;
  margin: 12px 0;
  line-height: 1.5;
}

.matchSubBlock {
  border-top: 1px solid #eef2f6;
  padding-top: 12px;
  margin-top: 12px;
}

.matchInlineForm {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.matchListLine {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #eef2f6;
  padding: 8px 0;
}

.minuteLine { margin: 10px 0; }

.minuteBar {
  height: 8px;
  background: #eef2f6;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 4px;
}

.minuteBar span {
  display: block;
  height: 100%;
  background: var(--main-color);
  border-radius: 999px;
}

.refereeHistoryBox {
  background: #fff6d8;
  border: 1px solid #f0d98b;
  border-radius: 12px;
  padding: 10px;
  font-weight: 700;
  margin: 8px 0;
}

.scoreStatusCell,
.scoreStatusHead {
  width: 42px;
  text-align: center;
}

.scoreStatusBtn {
  width: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: 50%;
}

.planningMatchReportCell,
.matchReportHead {
  width: 28px !important;
  max-width: 28px !important;
  text-align: center !important;
}

.matchReportBtn {
  width: 24px;
  min-height: 24px;
  padding: 0;
  border-radius: 50%;
  font-size: 12px;
}

.statsCards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px,1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.statCard {
  background: #eef3ff;
  border-radius: 14px;
  padding: 12px;
  text-align: center;
}

.statCard strong {
  display: block;
  color: #667;
  font-size: 13px;
}

.statCard span {
  display: block;
  font-size: 22px;
  font-weight: 900;
  color: var(--main-color);
  margin-top: 4px;
}

.statsBlock { margin-top: 18px; }

@media(max-width:700px){
  .matchInlineForm { grid-template-columns: 1fr; }
  .bigStatusBtn { font-size: 18px; padding: 16px; }
  .scoreStatusCell,.scoreStatusHead { width: 34px; }
}


/* =====================================================
   URW V1.3 - Quick wins
===================================================== */

.modeBadgeV13 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--main-color);
  border: 1px solid #dbe3ec;
  font-weight: 900;
  font-size: 13px;
  white-space: nowrap;
}

/* Rappel V1.2.3 réappliqué si besoin */
.refereeTopBlock {
  border-top: none;
  margin-top: 14px;
  padding-top: 0;
}

.scoreBoxRow {
  display: grid;
  grid-template-columns: 86px 24px 86px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 10px 0 18px;
}

.scoreBoxInput,
.scoreBoxRead {
  width: 86px !important;
  height: 86px !important;
  min-height: 86px !important;
  border-radius: 18px !important;
  text-align: center !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  border: 3px solid var(--main-color) !important;
  background: #fff !important;
  color: var(--main-color) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scoreDash {
  font-size: 34px;
  font-weight: 900;
  text-align: center;
}

.summaryBottom {
  margin-top: 20px;
}

.refereeHistoryBox summary {
  font-weight: 900;
}

.refereeHistoryContent {
  margin-top: 8px;
}

@media(max-width:700px){
  .modeBadgeV13 {
    font-size: 12px;
    padding: 6px 9px;
  }

  .scoreBoxRow {
    grid-template-columns: 74px 20px 74px;
    gap: 8px;
  }

  .scoreBoxInput,
  .scoreBoxRead {
    width: 74px !important;
    height: 74px !important;
    min-height: 74px !important;
    font-size: 34px !important;
    border-radius: 16px !important;
  }
}


/* =====================================================
   URW V1.4.3 - Les dernières photos du club
===================================================== */

.photosClubHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.photosAdminActions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.photosUpdate {
  font-size: 13px;
  color: #667;
  margin-top: 4px;
}

.photosClubGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.photosClubItem {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: #f4f6f8;
}

.photosClubItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

.photosClubBadge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  background: #d71920;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  padding: 4px 7px;
  border-radius: 999px;
}

.photosClubDeleteBtn {
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 2;
  width: 30px;
  min-height: 30px;
  padding: 0;
  border-radius: 50%;
  font-size: 13px;
}

.photosClubViewer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.94);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 44px 16px;
}

.photosClubViewer.hidden {
  display: none;
}

.photosClubViewer img {
  max-width: 94vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 10px;
}

.photosClubCloseBtn,
.photosClubPrevBtn,
.photosClubNextBtn {
  position: fixed;
  z-index: 10000;
  border: none;
  background: rgba(255,255,255,.18);
  color: white;
  border-radius: 999px;
  font-size: 30px;
  min-height: 44px;
  width: 44px;
  padding: 0;
}

.photosClubCloseBtn {
  top: 14px;
  right: 14px;
}

.photosClubPrevBtn {
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.photosClubNextBtn {
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.photosClubCounter {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 14px;
  color: #fff;
  text-align: center;
  font-weight: 900;
}

@media (max-width: 700px) {
  .photosClubHeader {
    display: block;
  }

  .photosAdminActions {
    margin-top: 10px;
  }

  .photosClubGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
}

/* =====================================================
   URW V1.5 - UX & navigation : hide/expand catégories
===================================================== */
.collapsibleCategory { overflow: hidden; }
.categoryToggleBtn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #dbe3ec;
  background: #f7f9fc;
  color: var(--main-color);
  border-radius: 16px;
  padding: 12px 14px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}
.categoryToggleBtnLarge { margin-bottom: 12px; font-size: 18px; }
.categoryToggleBtn small { color: #667; font-weight: 800; white-space: nowrap; }
.categoryPanel { margin-top: 10px; }
.matchCategorySection > h2, .statsCategory > h2 { display: none; }
.collapsibleCategory.is-closed { padding-bottom: 12px; }
@media(max-width:700px){
  .categoryToggleBtn { padding: 11px 12px; border-radius: 14px; }
  .categoryToggleBtnLarge { font-size: 16px; }
  .categoryToggleBtn small { font-size: 12px; }
}

/* === V1.5.2 validation Daniel === */
.secondaryActionBtn,
.statsConvBtn {
  border: none;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  background: var(--main-color);
  color: #fff;
}

.matchTopActions {
  display: grid;
  gap: 10px;
}

.matchTopActions .secondaryActionBtn {
  justify-self: start;
}

.matchHistoryBottom {
  margin-top: 24px;
}

.matchScoreRow.scoreBoxRow {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
}

.scoreDash,
.inlineScoreDash {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-width: 18px;
  text-align: center !important;
}

.matchSubBlock textarea,
.refereeTopBlock textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 120px !important;
  box-sizing: border-box !important;
}

.refereeTopBlock input {
  width: 100% !important;
  box-sizing: border-box !important;
}

.statsCards {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.statsMatchLine {
  gap: 10px;
}

.statsMatchLine .statsConvBtn {
  margin-left: auto;
  padding: 7px 10px;
  font-size: 13px;
}

.planningDeleteCell,
.planningMoveCell {
  text-align: center;
  white-space: nowrap;
}

.deletePlanningBtn {
  border: none;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
}


/* =====================================================
   URW V1.6 - Interaction coach + adresse Planning
===================================================== */
.planningMatchRequestV16 {
  margin-top: 12px;
}

.planningMatchRequestV16 h2 {
  margin-top: 0;
  font-size: 1.05rem;
}

.requestMatchGridV16 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 110px auto;
  gap: 10px;
  align-items: center;
}

#sendMatchRequestWhatsappV16 {
  border-radius: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.addressPopupBoxV16 .addressInputV16 {
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  padding: 10px;
  font-family: inherit;
}

.compactPopupActionsV16 {
  align-items: center;
}

.compactPopupActionsV16 button {
  flex: 0 0 auto;
  width: auto;
}

.compactPopupActionsV16 .saveAddressBtnV16 {
  flex: 1 1 180px;
}

.smallPopupBtnV16 {
  padding: 7px 10px;
  min-height: 34px;
  font-size: .9rem;
  border-radius: 9px;
}

.secondaryPopupBtnV16 {
  background: #6b7280;
}

@media (max-width: 720px) {
  .requestMatchGridV16 {
    grid-template-columns: 1fr;
  }

  #sendMatchRequestWhatsappV16 {
    width: 100%;
  }
}


/* V1.7 - Certification comptes */
.cert-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  background: #e8f5e9;
  color: #1b5e20;
  border: 1px solid #a5d6a7;
  white-space: nowrap;
}
.cert-request-box {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.12);
}
.cert-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}
.cert-selected-badge {
  margin: 4px 0 10px;
  font-weight: 700;
  color: #1b5e20;
}
.small-help {
  font-size: 0.92rem;
  opacity: 0.78;
  margin-top: -4px;
}
.accounts-filter-row {
  margin: 10px 0 14px;
}

/* V1.7.1 - demandes de certification : SMS + e-mail */
.cert-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.cert-actions button {
  width: auto;
  min-width: 150px;
}
.superadmin-cert-settings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}

/* URW V1.8.0 - Nettoyage UX */
.scoresLegendV18 {
  margin: 0 0 10px;
  color: #556;
  font-size: .9rem;
}
.scoreSourceBadgeV18 {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2f6;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
}
.scoreSourceBadgeV18.manual {
  background: #f3f4f6;
  color: #4b5563;
}
.proPopupActions button,
.compactPopupActionsV16 button {
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 9px;
  font-size: .88rem;
}
.proPopupBox {
  padding: 16px;
}

/* URW V1.8.1 - Certification simplifiée */
.cert-request-box-v181 {
  margin-top: 16px;
  padding-top: 10px;
}
.linkLikeBtn {
  width: auto;
  background: transparent;
  color: #0b3d6e;
  border: 0;
  padding: 6px 0;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  box-shadow: none;
}
.linkLikeBtn:hover {
  background: transparent;
  color: #06294c;
}
.certPopupOverlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,.45);
  z-index: 9999;
}
.certPopupOverlay.is-open {
  display: flex;
}
.certPopup {
  width: min(560px, 100%);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
}
.certPopupHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.certPopupHeader h2 {
  margin: 0;
}
.popupCloseBtn {
  width: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: 999px;
  font-size: 1.4rem;
  line-height: 1;
}
.cert-form-grid-v181 {
  margin-top: 12px;
  grid-template-columns: 1fr;
}
.cert-actions-v181 {
  justify-content: flex-end;
}
.cert-actions-v181 button {
  min-width: 0;
  min-height: 34px;
  padding: 8px 12px;
}

/* V1.8.3 - Planning terrain */
.planningAddressCell .addressBtn,
.planningAddressCell .editAddressBtnV183 {
  padding: 4px 6px;
  min-width: 30px;
  font-size: 13px;
  line-height: 1.1;
  margin: 0 2px;
}
.requestMatchGridV16 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 8px;
  align-items: center;
}
.requestMatchGridV16 button { padding: 8px 10px; }

/* V1.8.3.2 - Planning adresse simplifiée */
.planningAddressCell .addressBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 999px;
  font-size: 16px;
  line-height: 1;
}
.planningAddressCell .editAddressBtnV183 {
  display: none !important;
}
.compactPopupActionsV16 {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.compactPopupActionsV16 .saveAddressBtnV16 {
  flex: 0 0 auto;
  min-width: 0;
  width: auto;
  padding: 8px 12px;
  min-height: 34px;
  font-size: .9rem;
  border-radius: 9px;
}
.addressPopupBoxV16 .copyAddressBtn {
  min-width: 0;
}


/* URW V1.8.4 - Convocation utile */
.convocationPlayers {
  list-style: none;
  padding-left: 0;
}
.convocationPlayerLine {
  cursor: pointer;
  padding: 8px 10px;
  margin: 4px 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  font-size: .95rem;
}
.convHelpText {
  margin-top: -4px;
  margin-bottom: 8px;
}
.convPopupActionsV184 {
  justify-content: flex-start;
}
.convPopupActionsV184 button {
  flex: 0 0 auto;
  width: auto;
  min-height: 32px;
  padding: 7px 12px;
  font-size: .88rem;
  border-radius: 9px;
}
.historyDetail .card > div button {
  min-height: 32px;
  padding: 7px 10px;
  font-size: .88rem;
  border-radius: 9px;
}


/* =====================================================
   V1.8.5 - Présence entraînement simple
   ===================================================== */
.presenceTrainingRow {
  flex-wrap: wrap;
  width: 100%;
}

.presenceCheckLabel {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
}

.presenceLateLabel input,
.presenceLate {
  accent-color: #f39c12;
}

.presenceLateLabel span,
.lateBadge {
  color: #d97706;
  font-weight: 700;
}

.lateBadge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff3cd;
  font-size: 12px;
}

.presenceSessionCounter {
  margin: 10px 0;
  font-weight: 600;
}

.presenceCommentBlock {
  display: block;
  margin: 12px 0;
  font-weight: 600;
}

.presenceComment {
  display: block;
  width: 100%;
  margin-top: 6px;
  box-sizing: border-box;
}

/* =====================================================
   V1.8.5.1 - Présence entraînement compacte
   ===================================================== */
.presenceCompactHeader,
.presenceCompactRow {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 38px 38px 46px;
  align-items: center;
  column-gap: 8px;
  width: 100%;
}

.presenceCompactHeader {
  margin: 10px 0 4px;
  padding: 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: #666;
}

.presenceCompactHeader span:not(:first-child) {
  text-align: center;
}

.presenceCompactRow .presenceName {
  min-width: 0;
  overflow-wrap: anywhere;
}

.presenceIconLabel {
  display: flex;
  justify-content: center;
  align-items: center;
}

.presenceIconLabel input {
  width: 22px;
  height: 22px;
  margin: 0;
}

.presenceCompactRow .presenceCount {
  text-align: center;
}

.presenceCompactRow .presenceLate {
  accent-color: #f39c12;
}

/* =====================================================
   V1.8.5.2 - Présence entraînement : header emojis
   ===================================================== */
.presenceEmojiHeader span:not(:first-child) {
  font-size: 16px;
  line-height: 1;
}

.presenceEmojiHeader span:last-child {
  font-size: 12px;
}

/* V1.8.5.4.1 — Catégories d’équipe */
.teamsMasterListV1854 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}
.teamMasterRowV1854 {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  background: #fff;
}
.teamMasterNameV1854 { font-weight: 600; }
.smallBtn { padding: 4px 7px; min-width: 0; line-height: 1.1; }

/* V1.8.6 — Vue personnalisée multi-équipes */
.teamsViewButtonV186 {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 950;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  background: var(--main-color, #0b3d6e);
  color: #fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.teamsViewOverlayV186 {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,.42);
  z-index: 1200;
}
.teamsViewOverlayV186.open { display: flex; }
.teamsViewPopupV186 {
  width: min(440px, 100%);
  max-height: 85vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.28);
}
.teamsViewHeaderV186 { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.teamsViewHeaderV186 h2 { margin:0; font-size:20px; }
.teamsViewListV186 { display:grid; gap:8px; margin:14px 0; }
.teamsViewChoiceV186 {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:#fafafa;
  font-weight:600;
}
.teamsViewChoiceV186 input { transform: scale(1.12); }
.teamsViewRememberV186 { display:flex; align-items:center; gap:8px; margin-top:8px; font-size:13px; }
.teamsViewActionsV186 { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.teamsViewActionsV186 button { padding:8px 12px; }
.favoriteClubRowV186 { font-size:13px; }

/* =========================================================
   V1.8.7 — Site public club + galerie + conversion app
   ========================================================= */
.publicSiteCardV187 .slugBuilderV187{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}
.publicSiteCardV187 .slugBuilderV187 span{font-size:.9rem;color:#667085;background:#f2f4f7;border-radius:10px;padding:9px 10px}
.publicSiteCardV187 .slugBuilderV187 input{flex:1;min-width:160px}
.switchLineV187{display:flex;align-items:center;gap:8px;font-weight:700}
.generatedSiteBoxV187{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f6f9ff;border:1px solid #d8e4f7;border-radius:14px;padding:12px;margin:12px 0}
.generatedSiteBoxV187 a{font-weight:800;color:#0b3d6e;word-break:break-all}
.publicGalleryGridV187{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:12px}
.galleryAdminItemV187{position:relative;border-radius:16px;overflow:hidden;background:#eef2f7;min-height:120px;box-shadow:0 8px 20px rgba(11,61,110,.08)}
.galleryAdminItemV187 img{width:100%;height:130px;object-fit:cover;display:block}
.galleryAdminActionsV187{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;gap:6px}
.galleryAdminActionsV187 .smallBtn{padding:5px 8px;font-size:.75rem;background:rgba(255,255,255,.92)}
.clubPublicBodyV187{margin:0;background:#07111f;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#clubPublicRootV187{--public-primary:#0b3d6e;background:linear-gradient(180deg,#07111f 0%,#101827 55%,#f7f8fb 55%);min-height:100vh}
.publicHeroV187{min-height:88vh;background-size:cover;background-position:center;position:relative;display:flex;flex-direction:column;padding:22px;box-sizing:border-box}
.publicTopbarV187{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 14px;font-weight:900}
.publicTopbarV187 img{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff;padding:4px}
.publicHeroContentV187{max-width:780px;margin:auto 0 8vh;animation:publicRiseV187 .55s ease-out both}
.publicKickerV187{text-transform:uppercase;letter-spacing:.18em;color:#d7e7ff;font-size:.78rem;font-weight:900;margin:0 0 12px}
.publicHeroContentV187 h1{font-size:clamp(3rem,10vw,7.5rem);line-height:.92;margin:0;text-shadow:0 14px 40px rgba(0,0,0,.35)}
.publicHeadlineV187{font-size:clamp(1.35rem,4vw,2.35rem);font-weight:900;margin:20px 0 8px;color:#fff}
.publicIntroV187{font-size:1.05rem;max-width:580px;color:#e9eef8;margin:0 0 24px}
.publicHeroActionsV187{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.publicPrimaryCtaV187{border:0;border-radius:999px;padding:14px 22px;background:var(--public-primary);color:#fff;font-weight:950;font-size:1rem;box-shadow:0 16px 32px rgba(0,0,0,.25);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.publicSecondaryCtaV187{border-radius:999px;padding:13px 20px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:850;border:1px solid rgba(255,255,255,.25)}
.publicMiniProofV187{margin-top:16px;color:#d5e2f2;font-weight:800}
.publicSectionV187{max-width:1100px;margin:0 auto;padding:58px 20px;color:#101827}
.publicConversionV187{background:#fff;border-radius:30px 30px 0 0;transform:translateY(-26px);box-shadow:0 -12px 45px rgba(0,0,0,.16)}
.publicSectionV187 h2{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 24px;color:#101827}
.publicBenefitsV187{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.publicBenefitsV187 article{background:#f5f7fb;border:1px solid #e6eaf2;border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:8px;font-size:2rem}
.publicBenefitsV187 strong{font-size:1.1rem;color:#101827}.publicBenefitsV187 span{font-size:.95rem;color:#667085}
.publicLiveV187{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:24px}
.publicPanelV187{background:#fff;border-radius:26px;padding:22px;box-shadow:0 14px 34px rgba(16,24,39,.08);border:1px solid #edf0f6}
.publicPanelV187 h2{font-size:1.45rem;margin-bottom:14px}
.publicMatchCardV187{border-radius:18px;padding:13px 14px;background:#f8fafc;margin:10px 0;border-left:5px solid var(--public-primary)}
.publicMatchCardV187 strong{display:block;color:#101827}.publicMatchCardV187 span{font-size:.86rem;color:#667085}.publicMatchCardV187 p{margin:4px 0 0;color:#344054}
.publicSectionTitleV187 p{text-transform:uppercase;letter-spacing:.16em;color:var(--public-primary);font-weight:950;margin:0 0 6px}
.publicGalleryMosaicV187{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:12px}
.publicGalleryItemV187{border:0;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;background:#dbe4ef;box-shadow:0 12px 28px rgba(16,24,39,.09)}
.publicGalleryItemV187.large{grid-column:span 2;grid-row:span 2}.publicGalleryItemV187 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.publicGalleryItemV187:hover img{transform:scale(1.05)}
.publicEmptyGalleryV187{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:24px;padding:34px;text-align:center;color:#667085;font-weight:800}
.publicInstallSectionV187{text-align:center;background:linear-gradient(135deg,var(--public-primary),#111827);color:#fff;padding:58px 22px;margin-top:30px}
.publicInstallLogoV187{width:86px;height:86px;object-fit:contain;background:#fff;border-radius:24px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.publicInstallSectionV187 h2{font-size:clamp(1.9rem,6vw,3.6rem);margin:18px 0 8px}.publicInstallSectionV187 p{color:#e5edf8}.publicInstallHintV187{font-size:.9rem;max-width:520px;margin:14px auto 0}
.publicFooterV187{padding:28px 20px;text-align:center;background:#07111f;color:#d5e2f2;display:flex;flex-direction:column;gap:6px}.publicFooterV187 a{color:#fff;font-weight:800}
.publicNotFoundV187{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:#f8fafc;color:#101827}.publicNotFoundV187 h1{font-size:2.5rem;margin:0 0 8px}
.publicLightboxV187{position:fixed;inset:0;display:none;background:rgba(0,0,0,.86);z-index:9999;align-items:center;justify-content:center;padding:20px}.publicLightboxV187.open{display:flex}.publicLightboxV187 img{max-width:94vw;max-height:86vh;border-radius:20px}.publicLightboxV187 button{position:absolute;top:18px;right:18px;border:0;border-radius:50%;width:44px;height:44px;font-size:2rem;background:#fff;cursor:pointer}
@keyframes publicRiseV187{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:760px){.publicHeroV187{min-height:82vh;padding:16px}.publicBenefitsV187,.publicLiveV187{grid-template-columns:1fr}.publicGalleryMosaicV187{grid-template-columns:repeat(2,1fr);grid-auto-rows:135px}.publicGalleryItemV187.large{grid-column:span 2;grid-row:span 1}.publicSectionV187{padding:38px 14px}.publicConversionV187{border-radius:24px 24px 0 0}.publicPrimaryCtaV187,.publicSecondaryCtaV187{width:100%;box-sizing:border-box}.publicTopbarV187 span{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.publicSitePreviewLinkV187{display:inline-flex;align-items:center;gap:8px;background:#0b3d6e;color:#fff!important;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:900}
.contactGalleryPreviewV187{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.contactGalleryPreviewV187 img{width:100%;height:90px;object-fit:cover;border-radius:14px;background:#eef2f7}
@media(max-width:760px){.contactGalleryPreviewV187{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   V1.8.7.2 — Site public vraiment site + contacts sociaux
   ========================================================= */
.publicWebsiteHeroV187{min-height:78vh;background-attachment:scroll}
.publicWelcomeV187{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;align-items:stretch;background:#fff;border-radius:30px 30px 0 0;transform:translateY(-26px);box-shadow:0 -12px 45px rgba(0,0,0,.16)}
.publicWelcomeTextV187{display:flex;flex-direction:column;justify-content:center}.publicWelcomeTextV187 p{font-size:1.04rem;color:#475467;line-height:1.55}.publicSectionKickerV187{text-transform:uppercase;letter-spacing:.16em;color:var(--public-primary)!important;font-weight:950;margin:0 0 8px!important;font-size:.8rem!important}
.publicWelcomeAppV187{background:linear-gradient(135deg,var(--public-primary),#111827);border-radius:26px;color:#fff;padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;justify-content:center;box-shadow:0 18px 40px rgba(16,24,39,.18)}
.publicWelcomeAppV187 img{width:72px;height:72px;border-radius:22px;background:#fff;object-fit:contain;padding:7px}.publicWelcomeAppV187 strong{font-size:1.35rem}.publicWelcomeAppV187 span{color:#e5edf8;line-height:1.4}.publicWelcomeAppV187 .publicPrimaryCtaV187{background:#fff;color:#111827;box-shadow:none;margin-top:6px}
.publicSectionTitleV187 span{display:block;color:#667085;max-width:680px;line-height:1.45;margin-top:-12px;margin-bottom:22px}
.publicContactSectionV187{padding-top:30px}.publicContactLayoutV187{display:grid;grid-template-columns:.9fr 1.4fr;gap:18px;align-items:stretch}.publicContactInfoV187{display:flex;flex-direction:column;gap:12px}.publicContactCardV187{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid #edf0f6;border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(16,24,39,.07)}.publicContactCardV187>span{font-size:1.45rem}.publicContactCardV187 strong{display:block;color:#101827;margin-bottom:4px}.publicContactCardV187 p{margin:0;color:#475467;line-height:1.4}
.publicSocialGridV187{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.publicSocialPillV187{min-height:86px;border-radius:24px;text-decoration:none;color:#fff!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px;gap:6px;font-weight:900;box-shadow:0 16px 34px rgba(16,24,39,.12);transition:transform .18s ease, box-shadow .18s ease}.publicSocialPillV187:hover{transform:translateY(-2px);box-shadow:0 22px 45px rgba(16,24,39,.18)}.publicSocialPillV187 span{font-size:1.55rem;line-height:1}.publicSocialPillV187.facebook{background:#1877f2}.publicSocialPillV187.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.publicSocialPillV187.tiktok{background:#050505}.publicSocialPillV187.web{background:var(--public-primary)}.publicSocialPillV187.email{background:#344054}.publicSocialPillV187.phone{background:#12b76a}
@media(max-width:760px){.publicWelcomeV187,.publicContactLayoutV187{grid-template-columns:1fr}.publicSocialGridV187{grid-template-columns:1fr 1fr}.publicSocialPillV187{min-height:72px}.publicWelcomeV187{padding-top:42px}}

/* =========================================================
   V1.8.7.3 — Galerie publique plus premium + ordre photo
   ========================================================= */
.publicGalleryTitleCleanV187{margin-bottom:22px}
.publicGalleryTitleCleanV187 h2{margin-bottom:0}
.galleryAdminItemV187.isHeroV187{outline:3px solid rgba(11,61,110,.25)}
.galleryOrderBadgeV187{position:absolute;top:8px;left:8px;z-index:2;background:rgba(255,255,255,.92);color:#0b3d6e;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;box-shadow:0 6px 14px rgba(16,24,39,.12)}
.galleryMoveV187:disabled{opacity:.35;cursor:not-allowed}

/* V1.8.8 - Correctifs UX fondations */
.readonlyInputV188 { background:#f8fafc; color:#475569; }
.scoresLegendV188 { margin:0 0 12px; font-size:.95rem; color:#334155; }
.scoresTableV188 .scoreStatusHead,
.scoresTableV188 .scoreStatusCell { width:48px; text-align:center; background:transparent !important; }
.scoresTableV188 .scoreStatusCell { font-size:1.15rem; }
.scoresTableV188 .scoreStatusBtn,
.scoresTableV188 .scoreSourceBadgeV18 { background:transparent !important; box-shadow:none !important; }
.buttonLike { display:inline-block; padding:10px 14px; border-radius:10px; background:var(--main-color,#0b3d6e); color:white; text-decoration:none; font-weight:700; }

/* V1.8.8.1 - Onboarding mots de passe */
.bootstrapAccessGrid {
  display: grid;
  gap: 14px;
  margin: 16px 0;
}
.bootstrapAccessBlock {
  border: 1px solid #d9e2ef;
  border-radius: 14px;
  padding: 14px;
  background: #f8fafc;
}
.bootstrapAccessBlock h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}
.bootstrapPwdPair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 520px) {
  .bootstrapPwdPair { grid-template-columns: 1fr; }
}

/* V1.8.8.1 - Derniers scores mobile propre */
.scoresTableV1881 {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.scoresTableV1881 th,
.scoresTableV1881 td {
  padding: 8px 6px;
  vertical-align: middle;
  word-break: normal;
  overflow-wrap: anywhere;
}
.scoresTableV1881 th:nth-child(1),
.scoresTableV1881 td:nth-child(1) { width: 44px; text-align: center; }
.scoresTableV1881 th:nth-child(2),
.scoresTableV1881 td:nth-child(2) { width: 52px; text-align: center; }
.scoresTableV1881 th:nth-child(3),
.scoresTableV1881 td:nth-child(3) { width: 58px; text-align: center; }
.scoresTableV1881 th:nth-child(5),
.scoresTableV1881 td:nth-child(5) { width: 84px; text-align: center; }
.scoresTableV1881 th:last-child,
.scoresTableV1881 td:last-child { width: 44px; text-align: center; }
.scoresTableV1881 .scoreStatusCell {
  font-size: 1.15rem;
  background: transparent !important;
}
.scoreMatchCell {
  font-weight: 700;
  line-height: 1.2;
}
.scoreVs { opacity: .6; font-weight: 600; }
.scoreMiniInput {
  width: 34px !important;
  max-width: 34px;
  padding: 6px 4px;
  text-align: center;
  border-radius: 8px;
}
.scoreDash { display: inline-block; margin: 0 2px; }
.scoreDeleteBtn {
  padding: 7px 8px !important;
  min-width: 0 !important;
  line-height: 1;
}
.scoreManualAddV1881 { margin-top: 14px; }
.scoreManualGridV1881 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.scoreManualGridV1881 button { width: 48px; }
@media (max-width: 520px) {
  .scoresLegendV188 { line-height: 1.35; }
  .scoresTableV1881 th,
  .scoresTableV1881 td { font-size: .82rem; padding: 7px 4px; }
  .scoresTableV1881 th:nth-child(1),
  .scoresTableV1881 td:nth-child(1) { width: 36px; }
  .scoresTableV1881 th:nth-child(2),
  .scoresTableV1881 td:nth-child(2) { width: 42px; }
  .scoresTableV1881 th:nth-child(3),
  .scoresTableV1881 td:nth-child(3) { width: 50px; }
  .scoresTableV1881 th:nth-child(5),
  .scoresTableV1881 td:nth-child(5) { width: 74px; }
  .scoreManualGridV1881 { grid-template-columns: 1fr; }
}

/* Correctif strict V1.8.8.3 — Derniers scores aligné sur le rendu Planning */
.scoresTableV1881 {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.scoresTableV1881 th,
.scoresTableV1881 td {
  border: 1px solid #ccc;
  padding: 8px 6px;
  vertical-align: middle;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.15;
  word-break: normal;
  overflow-wrap: normal;
}
.scoresTableV1881 th:nth-child(1),
.scoresTableV1881 td:nth-child(1) { width: 42px; }
.scoresTableV1881 th:nth-child(2),
.scoresTableV1881 td:nth-child(2) { width: 48px; }
.scoresTableV1881 th:nth-child(3),
.scoresTableV1881 td:nth-child(3) { width: 58px; white-space: nowrap; }
.scoresTableV1881 th:nth-child(5),
.scoresTableV1881 td:nth-child(5) { width: 92px; }
.scoresTableV1881 th:last-child,
.scoresTableV1881 td:last-child { width: 44px; }
.scoresTableV1881 .scoreStatusCell { font-size: 1rem; background: transparent !important; }
.scoresTableV1881 .scoreStatusBtn,
.scoresTableV1881 .scoreDeleteBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px !important;
  padding: 0 !important;
  border-radius: 999px;
  line-height: 1;
}
.scoresTableV1881 .scoreDeleteBtn { border-radius: 0; }
.scoresTableV1881 .scoreCatCell { font-weight: 800; color: var(--main-color); white-space: nowrap; }
.scoresTableV1881 .scoreDateCell { white-space: nowrap; }
.scoresTableV1881 .scoreMatchCell {
  text-align: left;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.scoresTableV1881 .scoreInputsInline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  white-space: nowrap;
}
.scoresTableV1881 .scoreMiniInput {
  width: 34px !important;
  max-width: 34px !important;
  min-width: 34px !important;
  padding: 5px 2px !important;
  text-align: center;
  border-radius: 8px;
}
.scoresTableV1881 .scoreDash {
  display: inline-block;
  width: 7px;
  margin: 0;
  font-weight: 800;
}
@media (max-width: 520px) {
  .scoresLegendV188 { line-height: 1.35; }
  .scoresTableV1881 th,
  .scoresTableV1881 td { font-size: .84rem; padding: 7px 4px; }
  .scoresTableV1881 th:nth-child(1),
  .scoresTableV1881 td:nth-child(1) { width: 38px; }
  .scoresTableV1881 th:nth-child(2),
  .scoresTableV1881 td:nth-child(2) { width: 43px; }
  .scoresTableV1881 th:nth-child(3),
  .scoresTableV1881 td:nth-child(3) { width: 54px; }
  .scoresTableV1881 th:nth-child(5),
  .scoresTableV1881 td:nth-child(5) { width: 88px; }
  .scoresTableV1881 th:last-child,
  .scoresTableV1881 td:last-child { width: 40px; }
}

/* Correctif V1.8.8.4 - Derniers scores lisible façon Planning */
.scoresPlanningLikeTable {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.scoresPlanningLikeTable th,
.scoresPlanningLikeTable td {
  border: 1px solid #ccc;
  padding: 8px 4px;
  vertical-align: middle;
  text-align: center;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  line-height: 1.15;
  box-sizing: border-box;
}
.scoresPlanningLikeTable .scoreColStatus { width: 46px; }
.scoresPlanningLikeTable .scoreColCat { width: 60px; }
.scoresPlanningLikeTable .scoreColDate { width: 54px; }
.scoresPlanningLikeTable .scoreColScore { width: 78px; }
.scoresPlanningLikeTable .scoreColAction { width: 48px; }
.scoresPlanningLikeTable .scoreMatchCell {
  text-align: left;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.scoresPlanningLikeTable .scoreCatCell {
  font-weight: 800;
  color: var(--main-color);
  white-space: nowrap;
}
.scoresPlanningLikeTable .scoreDateCell {
  white-space: nowrap;
  font-size: .78rem;
}
.scoresPlanningLikeTable .scoreStatusBtn,
.scoresPlanningLikeTable .scoreDeleteBtn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  line-height: 1 !important;
  box-sizing: border-box;
}
.scoresPlanningLikeTable .scoreDeleteBtn { border-radius: 0 !important; }
.scoresPlanningLikeTable .scoreInputsInline {
  display: inline-grid !important;
  grid-template-columns: 26px 10px 26px;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 66px;
  max-width: 66px;
  white-space: nowrap;
}
.scoresPlanningLikeTable .scoreMiniInput {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 28px !important;
  padding: 3px 1px !important;
  text-align: center;
  border-radius: 8px;
  box-sizing: border-box;
}
.scoresPlanningLikeTable .scoreDash {
  width: 10px !important;
  min-width: 10px !important;
  margin: 0 !important;
  text-align: center;
  font-weight: 800;
}
@media (max-width: 520px) {
  .scoresPlanningLikeTable th,
  .scoresPlanningLikeTable td { font-size: .78rem; padding: 7px 3px; }
  .scoresPlanningLikeTable .scoreColStatus { width: 44px; }
  .scoresPlanningLikeTable .scoreColCat { width: 58px; }
  .scoresPlanningLikeTable .scoreColDate { width: 48px; }
  .scoresPlanningLikeTable .scoreColScore { width: 76px; }
  .scoresPlanningLikeTable .scoreColAction { width: 44px; }
  .scoresPlanningLikeTable .scoreStatusHead { font-size: .75rem; }
}

/* Correctif V1.8.8.4 - demande d'ajout match : domicile / extérieur */
.requestMatchGridV1884 {
  grid-template-columns: minmax(0, 1fr) minmax(160px, 1fr);
}
.requestMatchLocationV1884 {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  min-height: 42px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eee;
  box-sizing: border-box;
}
.requestMatchLocationV1884 label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  white-space: nowrap;
}
.requestMatchLocationV1884 input { width: auto !important; }
.passwordConflict { border-color: #c0392b !important; box-shadow: 0 0 0 2px rgba(192,57,43,.15); }
@media (max-width: 720px) {
  .requestMatchGridV1884 { grid-template-columns: 1fr; }
}

/* V1.8.8.5 - Demande planning : libellé Heure + lisibilité */
.requestMatchTimeLabelV1885{
  display:block;
  font-weight:700;
  color:#0b3d6e;
  margin:4px 0 -4px 2px;
  font-size:0.95rem;
}

/* V2.0.1 — saisons / archives */
.seasonCardV201 p { margin: 8px 0; }
.seasonActionsV201,
.seasonCategoryGridV201 { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px; }
.seasonActionsV201 button,
.seasonCategoryGridV201 button { min-height:38px; }
.seasonArchivesTableV201 { table-layout:fixed; width:100%; }
.seasonArchivesTableV201 th:nth-child(1),
.seasonArchivesTableV201 td:nth-child(1) { width:90px; }
.seasonArchivesTableV201 th:nth-child(2),
.seasonArchivesTableV201 td:nth-child(2) { width:90px; }
.seasonArchivesTableV201 th:nth-child(3),
.seasonArchivesTableV201 td:nth-child(3) { width:120px; }
.seasonArchivesTableV201 td { vertical-align:top; overflow-wrap:anywhere; }
.scoreStatusDot { display:inline-flex; align-items:center; justify-content:center; min-width:28px; }
@media (max-width: 760px) {
  .seasonArchivesTableV201 { font-size:12px; }
  .seasonArchivesTableV201 th:nth-child(1),
  .seasonArchivesTableV201 td:nth-child(1) { width:70px; }
  .seasonArchivesTableV201 th:nth-child(2),
  .seasonArchivesTableV201 td:nth-child(2) { width:70px; }
  .seasonArchivesTableV201 th:nth-child(3),
  .seasonArchivesTableV201 td:nth-child(3) { width:90px; }
}

/* V2.0.4 - Page Match : feuille des convoqués */
.calledPlayersBlockV203 { border-left: 4px solid rgba(11,61,110,.25); }
.calledSummaryV203 { margin: 8px 0 10px; padding: 8px 10px; border-radius: 10px; background: rgba(11,61,110,.06); font-size: .95rem; }
.calledActionsV203 { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 12px; }
.calledTableWrapV203 { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.calledPlayersTableV203 { width: 100%; border-collapse: collapse; min-width: 620px; }
.calledPlayersTableV203 th, .calledPlayersTableV203 td { padding: 8px 6px; border-bottom: 1px solid rgba(0,0,0,.08); vertical-align: middle; }
.calledPlayersTableV203 th { text-align: left; font-size: .85rem; opacity: .8; }
.calledPlayersTableV203 select { max-width: 130px; }
.tinyInputV203 { width: 54px; max-width: 54px; text-align: center; }
.planningMatchReportCell .matchReportBtn { white-space: nowrap; }

/* V3 — Structure coach, icônes globales et onboarding */
.menu-v3 { border-left: 3px solid rgba(11,61,110,.18); padding-left: .6rem; margin: .45rem 0; }
.menu-v3 .menu-title { display:block; font-weight:700; opacity:.85; margin:.2rem 0 .25rem; }
.globalActionsV3 { position: fixed; right: 14px; bottom: 82px; z-index: 9997; display:flex; flex-direction:column; gap:8px; }
.globalIconV3 { width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; text-decoration:none; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.18); border:1px solid rgba(0,0,0,.08); font-size:21px; }
.coachOnboardingV3, .teamsCoachEntryV3 { z-index: 9999; }
.coachOnboardingBoxV3 input { width:100%; padding:.75rem; margin:.5rem 0; box-sizing:border-box; }
.errorTextV3 { color:#b00020; font-weight:700; min-height:1.2em; }
.otherTeamV3 { margin:.5rem 0; width:100%; text-align:center; }
.onboardingChoicesV3 { display:grid; gap:.75rem; }
.onboardingChoicesV3 .buttonLike { text-decoration:none; display:block; padding:1rem; }
.seasonLinkV3 { margin-left:.5rem; }
@media (max-width: 700px) { .globalActionsV3 { right: 10px; bottom: 72px; } .globalIconV3 { width:40px; height:40px; } }

/* V3.1 — menus, rôles et planning */
.menu-public-v31 a,
.menu-coach-v31 a,
.menu-admin-v31 a {
  justify-content: space-between;
  gap: .5rem;
}
.roleBadgeV31 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(11,61,110,.10);
  color: #0b3d6e;
  margin-left: 6px;
}
.main-menu .lockedCoachV31 {
  opacity: .48;
  filter: grayscale(.8);
  cursor: not-allowed;
}
.createTeamHintV31 {
  margin-top: -.25rem;
}
.planningMatchReportCell,
.planningConvCell {
  text-align: center;
  white-space: nowrap;
}
.planningMatchReportCell .matchReportBtn,
.planningConvCell .convoquerBtn {
  min-height: 34px;
  padding: 5px 8px;
  border-radius: 9px;
}

/* V3.1.1 stabilisation */
.planningTopActions { margin: 14px 0; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.prepareMatchGlobalBtnV311 { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
body[data-role="read"] .coach-admin-only-v311,
body:not([data-role]) .coach-admin-only-v311 { display: none !important; }
.secondaryActionBtnV311 { opacity: .78; }
.lockedCoachV31 { opacity: .45; pointer-events: none; cursor: not-allowed; filter: grayscale(1); }
.roleBadgeV31 { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 999px; font-size: 11px; font-weight: 700; background: rgba(0,0,0,.12); }

/* V3.1.4 - Convocation / Match sans scroll horizontal */
.noPlayersNoticeV314 {
  background: #fff7e8;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px;
  margin: 10px 0;
}
.noPlayersNoticeV314 a { font-weight: 700; }
.convConfirmListV314,
.matchPlayersListV314 {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.convConfirmItemV314,
.matchPlayerItemV314 {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 10px;
  background: #fff;
}
.convConfirmTopV314,
.matchPlayerTopV314 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.convPlayerNameV314,
.matchPlayerNameV314 { font-weight: 700; }
.convActionsV314,
.matchActionsV314 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 8px;
}
.convToggleV314,
.matchToggleV314 {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  padding: 6px 10px;
  background: #f7f7f7;
  font-size: .95rem;
}
.matchStatGridV314 {
  display: grid;
  grid-template-columns: repeat(4, minmax(58px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.matchStatGridV314 label {
  font-size: .85rem;
  display: grid;
  gap: 4px;
}
.matchStatGridV314 input,
.matchStatGridV314 select {
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 480px){
  .matchStatGridV314 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* V3.1.5 - Confirmation convocation compacte mobile */
.convConfirmListV314 {
  display: grid;
  gap: 6px;
}
.convConfirmRowV315 {
  display: grid;
  grid-template-columns: minmax(82px, 1fr) auto auto auto;
  align-items: center;
  gap: 6px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: transparent;
}
.convConfirmRowV315:last-child { border-bottom: 0; }
.convMiniCheckV315 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  font-size: .88rem;
  line-height: 1;
  padding: 4px 6px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  background: #f7f7f7;
}
.convMiniCheckV315 input { margin: 0; }
@media (max-width: 420px){
  .convConfirmRowV315 { grid-template-columns: minmax(70px, 1fr) auto auto auto; gap: 4px; }
  .convMiniCheckV315 { font-size: .78rem; padding: 4px 5px; }
  .convPlayerNameV314 { font-size: .95rem; }
}
.joueursQuickLinksV315 {
  display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;
}
.joueursQuickLinksV315 a {
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 10px; border-radius:8px; text-decoration:none;
  background:var(--kf-primary); color:white; font-weight:700;
}

/* V3.1.6 - Match compact, NOK, liens rapides discrets */
.matchPlayersTableV316 {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  margin-top: 8px;
}
.matchPlayerHeaderV316,
.matchPlayerRowV316 {
  display: grid;
  grid-template-columns: minmax(56px, 1fr) 34px 50px 28px 28px 34px 26px;
  gap: 3px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  font-size: .86rem;
}
.matchPlayerHeaderV316 {
  font-size: .72rem;
  color: #666;
  font-weight: 700;
  text-transform: uppercase;
}
.matchPlayerRowV316:last-child { border-bottom: 0; }
.matchPlayerRowV316 .matchPlayerNameV314 {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .9rem;
}
.matchMiniInputV316,
.matchMiniSelectV316,
.matchTinyInputV316 {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 5px 3px;
  font-size: .8rem;
  border-radius: 6px;
}
.matchMiniSelectV316 { padding: 5px 1px; }
.matchTinyCheckV316 {
  width: 20px;
  height: 20px;
  margin: 0 auto;
}
.matchRemoveMiniV316 {
  width: 24px;
  height: 24px;
  min-width: 0;
  padding: 0;
  border-radius: 50%;
  line-height: 1;
  font-size: 1rem;
}
.joueursQuickLinksV315 {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
}
.joueursQuickLinksV315 a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 0;
  border-radius:0;
  background:transparent;
  color:var(--kf-primary);
  font-size:.88rem;
  font-weight:600;
  text-decoration:underline;
}
.joueursQuickLinksV315 a::before { content:'→ '; }
@media (max-width: 380px){
  .matchPlayerHeaderV316,
  .matchPlayerRowV316 {
    grid-template-columns: minmax(48px, 1fr) 30px 46px 26px 26px 30px 22px;
    gap: 2px;
    font-size: .78rem;
  }
  .matchMiniInputV316,
  .matchMiniSelectV316,
  .matchTinyInputV316 { font-size:.72rem; padding:4px 2px; }
}

/* V3.1.7 - Irritants terrain */
.addPlayerToConvV317 {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.addPlayerToConvV317 input {
  flex: 1 1 150px;
  min-width: 0;
  padding: 7px 8px;
  box-sizing: border-box;
}
.addPlayerToConvV317 button {
  flex: 0 0 auto;
  padding: 7px 10px;
}
.matchPlayersTableV317 {
  margin-top: 8px;
}
.matchPlayerHeaderV317,
.matchPlayerRowV317 {
  display: grid;
  grid-template-columns: minmax(64px, 1fr) 34px 28px 28px 28px 34px 24px;
  gap: 3px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  font-size: .84rem;
}
.matchPlayerHeaderV317 {
  font-size: .78rem;
  color: #555;
  font-weight: 800;
}
.matchPlayerRowV317:last-child { border-bottom: 0; }
.cardCheckV317 {
  width: 20px;
  height: 20px;
  margin: 0 auto;
}
.yellowCardCheckV317:checked {
  accent-color: #f2c94c;
}
.redCardCheckV317:checked {
  accent-color: #d93025;
}
.matchTopActions h2 { margin-bottom: 0; }
@media (max-width: 380px){
  .matchPlayerHeaderV317,
  .matchPlayerRowV317 {
    grid-template-columns: minmax(52px, 1fr) 30px 25px 25px 25px 30px 22px;
    gap: 2px;
    font-size: .76rem;
  }
  .cardCheckV317 { width: 18px; height: 18px; }
}

/* V3.1.8 UX terrain final */
.matchStatusBlockV318 { margin: 12px 0; padding: 12px; border-radius: 12px; background: rgba(11,61,110,.06); }
.matchStatusBlockV318 h3 { margin: 0 0 8px; }
.matchStatusBadgeV318 { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.matchStatsLinkV318 { display: inline-block; margin-top: 10px; font-size: .9rem; opacity: .75; }
.calledPlayersTableV318 th:nth-child(3),
.calledPlayersTableV318 th:nth-child(4),
.calledPlayersTableV318 th:nth-child(5),
.calledPlayersTableV318 th:nth-child(6),
.calledPlayersTableV318 td:nth-child(3),
.calledPlayersTableV318 td:nth-child(4),
.calledPlayersTableV318 td:nth-child(5),
.calledPlayersTableV318 td:nth-child(6),
.calledCenterCellV318 { text-align: center; }
.calledPlayersTableV318 input[type="checkbox"] { display: inline-block; margin: 0 auto; }
.scoreDash, .scoreVs { display: inline-flex; justify-content: center; min-width: 14px; }
.scoreValueCell, .scoreInputsInline { text-align: center; }

/* V3.1.8.1 - Scores : pastille cliquable admin/coach */
.scoreStatusClearBtnV3181{
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:1.05rem;
  line-height:1;
  padding:4px 6px;
}
.scoreStatusClearBtnV3181:hover{
  transform:scale(1.08);
}

/* URW V3.1.8.2 - Correctif Match demandé */
.matchStatusBlockV318{
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid rgba(11,61,110,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
}
.matchStatusBlockV318 h3{margin:0 0 8px 0;}
.matchStatusBadgeV318{font-weight:800;font-size:1.05rem;}
.matchPlayerHeaderV318 span,
.matchPlayerRowV318 > *{text-align:center;justify-self:center;align-self:center;}
.matchPlayerHeaderV318 span:first-child,
.matchPlayerRowV318 > *:first-child{text-align:left;justify-self:stretch;}
.matchStatsLinkV318{display:block;margin-top:10px;text-align:right;font-size:.9rem;opacity:.75;text-decoration:none;font-weight:700;}
.matchStatsLinkV318:hover{opacity:1;text-decoration:underline;}

/* V3.1.8 CLEAN - terrain final */
.matchPlayersTableV318Clean{width:100%;display:block;margin-top:10px;border:1px solid rgba(11,61,110,.12);border-radius:12px;overflow:hidden;background:#fff;}
.matchPlayerHeaderV318Clean,.matchPlayerRowV318Clean{display:grid;grid-template-columns:minmax(120px,1fr) 52px 52px 52px 52px 52px;align-items:center;gap:0;border-bottom:1px solid rgba(11,61,110,.08);}
.matchPlayerHeaderV318Clean{font-weight:800;background:rgba(11,61,110,.06);}
.matchPlayerHeaderV318Clean span,.matchPlayerRowV318Clean span,.matchPlayerRowV318Clean input{padding:9px 6px;text-align:center;justify-self:center;}
.matchPlayerHeaderV318Clean span:first-child,.matchPlayerRowV318Clean span:first-child{text-align:left;justify-self:stretch;}
.matchPlayerRowV318Clean:last-child{border-bottom:0;}
.matchPlayerRowV318Clean input[type="checkbox"]{width:20px;height:20px;justify-self:center;}
.matchStatsLinkV318{display:block;margin:10px 0 0;text-align:right;font-size:.9rem;opacity:.72;text-decoration:none;}
.matchStatsLinkV318:hover{opacity:1;text-decoration:underline;}
.scoreDash,.scoreVs{display:inline-flex;align-items:center;justify-content:center;min-width:14px;text-align:center;}
.scoreStatusClearBtnV3181{border:0;background:transparent;cursor:pointer;font-size:1.05rem;line-height:1;}
@media(max-width:640px){.matchPlayerHeaderV318Clean,.matchPlayerRowV318Clean{grid-template-columns:minmax(96px,1fr) 44px 44px 44px 44px 44px;font-size:.92rem}.matchPlayerHeaderV318Clean span,.matchPlayerRowV318Clean span,.matchPlayerRowV318Clean input{padding:8px 4px}.matchStatsLinkV318{text-align:left}}

/* V3.1.9 - Ajout joueurs + confirmation publique */
.playerPickerV319{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.playerPickerV319 select,.matchPlayerSelectV319,.publicPlayerSelectV319{min-width:220px;max-width:100%;padding:9px;border:1px solid #d8d8d8;border-radius:10px;background:#fff;}
.playerModalBackdropV319{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:18px;}
.playerModalV319{background:#fff;border-radius:16px;padding:18px;max-width:420px;width:100%;box-shadow:0 15px 45px rgba(0,0,0,.25);}
.modalActionsV319{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap;}
.publicConfirmCardV319{max-width:620px;margin:18px auto;}
.publicPresenceBtnsV319{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.publicPresenceBtnsV319 button{font-size:1.05rem;padding:12px 16px;}
.publicConfirmFeedbackV319{margin-top:14px;padding:12px;border-radius:12px;background:#eef8ef;}

/* URW V3.1.10 */
.teamPickerInlineV3110 select,
.planCategorySelectV3110,
.customTeamSelectV3110,
.createPlayerSelectV3110,
.addPlayerSelectV319,
.matchPlayerSelectV319,
.publicPlayerSelectV319 { max-width: 100%; padding: 8px; border-radius: 8px; border: 1px solid #ccd6e0; }
.teamPillV3110 { display:inline-block; margin:4px 6px 4px 0; padding:6px 10px; border-radius:999px; background:#eef5fb; border:1px solid #d7e6f3; font-weight:600; }
.presencePublicLineV3110 { padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06); }
.presenceStatusLinkV3110 { margin-top:8px; font-size:.95rem; }
.coachPrepareLinkV3110 { margin-top:14px; font-size:.92rem; opacity:.78; }

/* V3.1.10.1 - Convocation initiale par cases à cocher + retrait joueur */
.convocationInitialChecklistV3110{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  margin:10px 0 12px;
}
.convocationCheckLineV3110{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  cursor:pointer;
}
.convocationCheckLineV3110 input{ width:auto; }
.removeConvPlayerV31101{
  margin-left:auto;
  opacity:.75;
  padding:4px 8px;
}
.removeConvPlayerV31101:hover{ opacity:1; }


/* V3.1.10.6 - Dernier polish Convocation mobile */
.convocationInitialChecklistV3110 {
  display: grid !important;
  gap: 4px !important;
  margin: 6px 0 12px !important;
}
.convocationInitialChecklistV3110 .convocationCheckLineV3110,
.convocationCheckLineV3110 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  line-height: 1.15 !important;
  min-height: 32px !important;
}
.convocationCheckLineV3110 input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.convConfirmRowV315 {
  grid-template-columns: 34px minmax(74px, 1fr) auto auto !important;
  gap: 8px !important;
  padding: 6px 0 !important;
}
.presenceIconV31106 {
  font-size: 1.35rem;
  line-height: 1;
  text-align: center;
}
.convConfirmRowV315 .presenceSelectV31105 {
  max-width: 140px;
}
.initialCreatePlayerV3110 { margin-top: 10px !important; }
.initialCreatePlayerV3110 + .createConvV313,
.createConvV313 { margin-top: 10px !important; }
@media (max-width: 430px){
  .convConfirmRowV315 { grid-template-columns: 30px minmax(72px, 1fr) minmax(104px, auto) 42px !important; gap: 6px !important; }
  .convConfirmRowV315 .presenceSelectV31105 { max-width: 118px; font-size: .9rem; }
  .convocationCheckLineV3110 { padding: 4px 0 !important; min-height: 30px !important; }
}

/* URW V3.1.10.7 - Convocation compacte + timing RDV */
.convocationInitialChecklistV3110,
.convocationPlayersV313.convocationInitialChecklistV3110 {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin: 6px 0 10px !important;
}
.convocationInitialChecklistV3110 .convocationCheckLineV3110,
label.convocationCheckLineV3110 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
}
.convocationInitialChecklistV3110 .convocationCheckLineV3110 input[type="checkbox"],
label.convocationCheckLineV3110 input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.cRdvOffset {
  min-width: 105px;
}


/* V3.1.10.9 - Match terrain : sticky minimal score + boutons rapides */
.matchScoreStickyV31109{
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(11,61,110,0.12);
  border-radius: 14px;
  padding: 10px;
  margin: 10px 0 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.quickScoreBtnsV31109{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.quickScoreBtnsV31109 button{
  min-height: 42px;
  border-radius: 12px;
  border: none;
  font-weight: 800;
  cursor: pointer;
  background: #0b3d6e;
  color: #fff;
  padding: 8px 10px;
  line-height: 1.15;
}
.matchJerseyInputV31109{
  text-align: center;
}
@media (max-width: 640px){
  .matchScoreStickyV31109{top: 0; padding: 8px;}
  .quickScoreBtnsV31109 button{font-size: 0.9rem; min-height: 40px;}
}

/* V3.1.10.10 - Match terrain + : navigation compacte + but joueur par ballon */
.matchToggleBtn.matchToggleBtnV31110{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 12px;
  align-items:center;
  background:#fff !important;
  color:#1f2933 !important;
  border:1px solid rgba(11,61,110,0.14) !important;
  border-left:5px solid var(--main-color, #0b3d6e) !important;
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
  padding:10px 12px !important;
  margin:8px 0;
}
.matchToggleBtnV31110 .matchNavTopV31110{
  grid-column:1 / 2;
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:.82rem;
  font-weight:800;
  color:#5f6b7a;
}
.matchToggleBtnV31110 .matchNavMiddleV31110{
  grid-column:1 / 2;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.98rem;
  line-height:1.2;
  color:#111827;
}
.matchToggleBtnV31110 .matchNavMiddleV31110 span{
  font-size:.72rem;
  font-weight:900;
  color:#7b8794;
  text-transform:uppercase;
}
.matchToggleBtnV31110 .matchNavScoreV31110{
  grid-column:2 / 3;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
  min-width:56px;
  padding:6px 8px;
  border-radius:12px;
  background:#f3f6fa;
  color:var(--main-color, #0b3d6e);
  font-size:1.25rem;
  font-weight:950;
  text-align:center;
  white-space:nowrap;
}
.compactScoreDashV31110{
  min-width:0 !important;
  margin:0 4px !important;
  font-weight:800;
}
.goalHintLineV31110{
  margin:4px 0 8px;
  color:#667085;
  font-size:.84rem;
  font-weight:700;
}
.playerGoalCountV31110{
  font-weight:900;
  color:var(--main-color, #0b3d6e);
}
.playerGoalBallV31110{
  width:34px;
  min-width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(11,61,110,.16);
  background:#fff;
  cursor:pointer;
  font-size:1.12rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  -webkit-user-select:none;
  user-select:none;
  touch-action:manipulation;
}
.playerGoalBallV31110.active{
  background:#eef5ff;
  border-color:rgba(11,61,110,.38);
  box-shadow:0 2px 8px rgba(11,61,110,.12);
}
.playerGoalBallV31110:active{
  transform:scale(.94);
}
.goalHintToastV31110{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%) translateY(16px);
  z-index:9999;
  max-width:calc(100vw - 28px);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(17,24,39,.94);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  opacity:0;
  transition:opacity .22s ease, transform .22s ease;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.goalHintToastV31110.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
@media (max-width:640px){
  .matchToggleBtn.matchToggleBtnV31110{grid-template-columns:1fr auto; padding:9px 10px !important;}
  .matchToggleBtnV31110 .matchNavTopV31110{font-size:.76rem; flex-direction:column; gap:2px;}
  .matchToggleBtnV31110 .matchNavMiddleV31110{font-size:.91rem; flex-wrap:wrap; gap:5px;}
  .matchToggleBtnV31110 .matchNavScoreV31110{font-size:1.08rem; min-width:50px;}
  .goalHintLineV31110{font-size:.8rem;}
  .playerGoalBallV31110{width:32px; min-width:32px; height:32px;}
}

/* V3.1.10.12 - Statistiques audit */
.statsTopActionsV31112{
  display:flex;
  justify-content:flex-end;
  margin:0 0 14px 0;
}
.statsBackMatchBtnV31112{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:10px 14px;
  border-radius:999px;
  background:#0b3d6e;
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.statsHelpV31112,
.statsNoticeV31112{
  margin:8px 0 12px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(11,61,110,.07);
  color:var(--kf-primary);
  font-size:.92rem;
  line-height:1.35;
}
.statsNoticeV31112{background:rgba(255,193,7,.16);}
.statsCardsV31112 .statCard strong{font-size:.8rem;}
@media(max-width:700px){
  .statsTopActionsV31112{justify-content:stretch;}
  .statsBackMatchBtnV31112{width:100%;}
}

/* =====================================================
   V3.2.1 - Affinage Match réintégré
===================================================== */
.matchSelectorCardV321{
  padding:12px 14px;
  margin-bottom:12px;
}
.matchSelectorLabelV321{
  display:block;
  font-weight:800;
  color:#0b3d6e;
  margin-bottom:6px;
}
.matchSelectorV321{
  width:100%;
  min-height:44px;
  border:1px solid rgba(11,61,110,.22);
  border-radius:12px;
  padding:10px 12px;
  font-size:.98rem;
  background:#fff;
  color:#123;
  font-weight:700;
}
.matchCurrentHeaderV321{
  background:#fff;
  border:1px solid rgba(11,61,110,.12);
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.matchCurrentMetaV321{
  font-size:.82rem;
  color:#5a6d7e;
  font-weight:700;
  margin-bottom:4px;
}
.matchCurrentTeamsV321{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font-size:1.04rem;
  color:#0b2438;
}
.matchCurrentTeamsV321 span{
  color:#7d8b99;
  font-weight:700;
  text-transform:uppercase;
  font-size:.78rem;
}
.matchPlayersTableV321 .matchPlayerHeaderV321,
.matchPlayersTableV321 .matchPlayerRowV321{
  display:grid !important;
  grid-template-columns:minmax(120px,1fr) 46px 42px 34px 34px 34px !important;
  align-items:center !important;
  column-gap:6px !important;
}
.matchPlayersTableV321 .matchPlayerHeaderV321 > span,
.matchPlayersTableV321 .matchPlayerRowV321 > span,
.matchPlayersTableV321 .matchPlayerRowV321 > button,
.matchPlayersTableV321 .matchPlayerRowV321 > input[type="checkbox"]{
  justify-self:center;
}
.matchPlayersTableV321 .matchPlayerHeaderV321 > span:first-child,
.matchPlayersTableV321 .matchPlayerRowV321 > span:first-child{
  justify-self:start;
}
.matchPlayersTableV321 .matchJerseyInputV31109{
  width:42px !important;
  justify-self:center;
  text-align:center;
}
.playerGoalBallV321{
  width:34px;
  min-width:34px;
  height:34px;
  border:none;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef6ff;
  box-shadow:inset 0 0 0 1px rgba(11,61,110,.12);
  cursor:pointer;
  font-size:1.08rem;
  line-height:1;
  touch-action:manipulation;
}
.playerGoalBallV321.active{
  background:#d8efff;
  box-shadow:inset 0 0 0 2px rgba(11,61,110,.26);
}
.playerGoalBallV321:active{transform:scale(.94);}
.playerGoalCountV321{font-weight:800;color:#0b3d6e;white-space:nowrap;}
.goalHintLineV321{
  margin:6px 0 10px;
  font-size:.86rem;
  color:#5a6d7e;
  font-weight:700;
}
.goalHintToastV321{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(12px);
  opacity:0;
  z-index:9999;
  background:#0b3d6e;
  color:#fff;
  border-radius:14px;
  padding:12px 16px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  text-align:center;
  font-size:.92rem;
  line-height:1.25;
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
  max-width:min(320px, calc(100vw - 32px));
}
.goalHintToastV321 span{opacity:.92;font-size:.84rem;}
.goalHintToastV321.show{opacity:1;transform:translateX(-50%) translateY(0);}
.compactScoreDashV321{font-size:1.4rem !important;line-height:1;color:#6e7c88;margin:0 8px;}
@media(max-width:640px){
  .matchPlayersTableV321 .matchPlayerHeaderV321,
  .matchPlayersTableV321 .matchPlayerRowV321{
    grid-template-columns:minmax(92px,1fr) 40px 38px 30px 30px 30px !important;
    column-gap:4px !important;
  }
  .playerGoalBallV321{width:32px;min-width:32px;height:32px;}
  .matchSelectorV321{font-size:.9rem;}
}

/* =====================================================
   V3.2.2 - Match + Stats affinage terrain
===================================================== */
.matchScoreStickyV31109{
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  overflow: visible !important;
}
.matchScoreStickyV31109 .quickScoreBtnsV31109{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
.goalHintLineV322{
  margin-top: 8px !important;
  margin-bottom: 10px !important;
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(11,61,110,.06);
}
.matchGoalWarningV322,
.statsHelpV322{
  margin: 8px 0 10px;
  padding: 9px 11px;
  border-radius: 12px;
  background: rgba(255,193,7,.16);
  color: var(--kf-primary);
  font-size: .88rem;
  font-weight: 700;
}


/* V3.2.3 - Sécurité terrain Match + Stats */
.matchScoreStickyV323{
  position: sticky !important;
  top: 0 !important;
  z-index: 120 !important;
  display: block !important;
}
.matchScoreStickyV323 .quickScoreBtnsV31109{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
.matchUndoBarV323{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  margin:8px 0 10px;
  border-radius:12px;
  background:rgba(11,61,110,.07);
  border:1px solid rgba(11,61,110,.10);
  font-size:.9rem;
}
.matchUndoBarV323.is-empty{opacity:.65;}
.matchUndoBarV323 button{
  border:none;
  border-radius:10px;
  padding:7px 10px;
  font-weight:800;
  background:#0b3d6e;
  color:#fff;
}
.includeStatsToggleV323{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 12px;
  padding:9px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(11,61,110,.14);
  font-weight:700;
  font-size:.92rem;
}
.includeStatsToggleV323 input{width:18px;height:18px;}
.matchExcludedStatsV323,.statsExcludedInfoV323{
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,193,7,.16);
  border:1px solid rgba(255,193,7,.35);
  font-size:.9rem;
}
@media(max-width:700px){
  .matchUndoBarV323{align-items:flex-start;flex-direction:column;}
  .matchUndoBarV323 button{width:100%;}
}

/* V3.3.0 - Derniers scores + sticky terrain complet */
.scoresLegendV330{margin:0 0 12px;color:var(--kf-primary);font-size:.92rem;}
.scoresUndoBarV330{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px;padding:9px 10px;border-radius:12px;background:rgba(11,61,110,.07);border:1px solid rgba(11,61,110,.12);font-size:.92rem;}
.scoresUndoBarV330.is-empty{opacity:.65;}
.scoresUndoBarV330 button{border:none;border-radius:10px;padding:7px 10px;background:#0b3d6e;color:#fff;font-weight:800;}
.scoresDateGroupV330{margin:18px 0 22px;}
.scoresDateGroupV330 h3{margin:0 0 8px;padding:8px 10px;border-radius:12px;background:rgba(11,61,110,.08);color:#0b3d6e;font-size:1rem;}
.scoresTableV330{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;}
.scoresTableV330 th,.scoresTableV330 td{padding:9px 8px;border-bottom:1px solid rgba(11,61,110,.10);vertical-align:middle;}
.scoresTableV330 th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#53708a;background:rgba(11,61,110,.04);}
.scoresTableV330 tr:last-child td{border-bottom:0;}
.scoreStatusCellV330{width:82px;}
.scoreStatusBtnV330{display:flex;flex-direction:column;align-items:center;gap:1px;border:0;background:transparent;cursor:pointer;font-weight:800;color:var(--kf-primary);}
.scoreStatusBtnV330 span{font-size:1.05rem;line-height:1;}
.scoreStatusBtnV330 small{font-size:.68rem;white-space:nowrap;color:#53708a;}
.scoreStatusReadV330{font-size:1.05rem;}
.scoreVsV330{display:inline-block;margin:0 6px;color:#789;font-size:.78rem;text-transform:uppercase;}
.scoreValueCellV330{min-width:110px;text-align:center;}
.scoreReadV330{display:block;font-size:1.15rem;font-weight:900;color:#0b3d6e;line-height:1.15;white-space:nowrap;}
.scoreReadV330 span{color:#789;font-weight:700;margin:0 3px;}
.scoreEditV330{display:flex;flex-direction:column;align-items:center;gap:5px;}
.scoreInputsV330{display:flex;align-items:center;justify-content:center;gap:5px;}
.scoreInputsV330 input{width:42px;min-height:34px;text-align:center;border:1px solid rgba(11,61,110,.18);border-radius:10px;font-weight:800;background:#fff;}
.matchTerrainStickyV330{position:sticky;top:0;z-index:160;background:#fff;border:1px solid rgba(11,61,110,.13);border-radius:16px;padding:8px;margin:8px 0 12px;box-shadow:0 8px 22px rgba(0,0,0,.09);}
.matchTerrainStickyV330 .bigStatusBtn{width:100%;margin:0 0 8px;}
.matchTerrainStickyV330 .matchScoreStickyV31109{position:static!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;background:transparent!important;}
.matchTerrainStickyV330 .matchUndoBarV323{margin:8px 0 0;}
@media(max-width:700px){.scoresTableV330 th,.scoresTableV330 td{padding:8px 5px;font-size:.86rem}.scoreStatusCellV330{width:64px}.scoreStatusBtnV330 small{font-size:.62rem}.scoreReadV330{font-size:1rem}.scoreInputsV330 input{width:36px}.scoresTableV330 .scoreCatCell{max-width:48px}.scoresTableV330 .scoreMatchCell strong{display:inline;}}

/* V3.4.2 - Presence : tableau résumé par joueur masqué */
.presencePlayerSummaryDetailsV342{
  margin:10px 0;
  border:1px solid rgba(11,61,110,.16);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.presencePlayerSummaryDetailsV342 summary{
  cursor:pointer;
  padding:10px 12px;
  font-weight:700;
  color:#0b3d6e;
  list-style:none;
}
.presencePlayerSummaryDetailsV342 summary::-webkit-details-marker{display:none;}
.presencePlayerSummaryDetailsV342 summary::after{content:'▾';float:right;font-size:.9em;opacity:.7;}
.presencePlayerSummaryDetailsV342[open] summary::after{content:'▴';}
.presencePlayerSummaryContentV342{padding:0 10px 10px;}
.presenceSummaryTableWrapV342{overflow-x:auto;}
.presenceSummaryTableV342{width:100%;border-collapse:collapse;font-size:.92rem;}
.presenceSummaryTableV342 th,.presenceSummaryTableV342 td{padding:8px 7px;border-bottom:1px solid rgba(0,0,0,.08);text-align:center;}
.presenceSummaryTableV342 th:first-child,.presenceSummaryTableV342 td:first-child{text-align:left;}
.presenceSummaryTableV342 th{color:#0b3d6e;font-weight:800;background:rgba(11,61,110,.06);}

/* V3.4.3 - Presence entrainement activation + alignement */
.presenceActivationStackV343 { display:grid; gap:10px; margin:10px 0 14px; }
.presenceActivationNoticeV343 { background:#fff7e8; }
.presencePrimaryBtnV343 { background:var(--main-color,#0b3d6e) !important; color:#fff !important; text-decoration:none !important; margin-top:8px; }
.presenceEmptyActionsV343 { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.presencePlayerSummaryDetailsV343 { margin-top:12px; margin-bottom:10px; }

/* V3.4.4 - Presence entrainement blocage propre */
#presenceRoot.presenceBlockerActiveV344 ~ hr,
#presenceRoot.presenceBlockerActiveV344 ~ section.card {
  display: none !important;
}
.presenceActivationStackV344 {
  display: grid;
  gap: 12px;
}

/* V3.5.0 — Saisons */
.seasonActionsV350,.seasonWizardActionsV350{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.seasonTableWrapV350,.seasonTransitionTableWrapV350{overflow-x:auto}.seasonTableV350,.seasonTransitionTableV350{width:100%;border-collapse:collapse}.seasonTableV350 th,.seasonTableV350 td,.seasonTransitionTableV350 th,.seasonTransitionTableV350 td{padding:10px;border-bottom:1px solid rgba(0,0,0,.12);text-align:left;vertical-align:top}.seasonAlertV350{margin:12px auto;padding:14px 16px;max-width:1000px;border-radius:14px;background:#fff7df;border:1px solid #f0c36d;color:#4a3710}.seasonAlertV350 a,.seasonAlertV350 button{margin-top:8px}.seasonWizardOverlayV350{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:18px}.seasonWizardV350{background:#fff;max-width:820px;width:100%;max-height:88vh;overflow:auto;border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.seasonWizardV350 input[type="text"],.seasonWizardV350 input:not([type]){width:100%;box-sizing:border-box}.seasonPilotV350 h2{margin-top:0}@media(max-width:700px){.seasonTableV350 th,.seasonTableV350 td,.seasonTransitionTableV350 th,.seasonTransitionTableV350 td{padding:8px;font-size:.92rem}.seasonActionsV350 button,.seasonWizardActionsV350 button{width:100%}.seasonWizardOverlayV350{align-items:flex-start}.seasonWizardV350{margin-top:20px}}

/* V3.5.2 — Cockpit saison simplifié */
.seasonPilot352 { border-left: 5px solid rgba(35, 115, 210, .35); }
.seasonChoiceGrid352 { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; margin-top:14px; }
.seasonBigAction352 { min-height:58px; border-radius:14px; font-weight:700; padding:12px 14px; cursor:pointer; }
.seasonBigAction352.secondary { opacity:.88; }
.seasonWizard352 { max-width: 920px; }
.seasonWizard352 input.swName352 { width:100%; max-width:260px; padding:9px 10px; border-radius:10px; border:1px solid rgba(0,0,0,.18); }
.seasonDetectBadge352 { display:inline-block; padding:5px 9px; border-radius:999px; background:rgba(0,0,0,.06); font-size:.86rem; }
.seasonSummary352 { margin:14px 0; padding:12px 14px; border-radius:14px; background:rgba(0,0,0,.045); }
.seasonSummary352 p { margin:6px 0; }
.seasonAdvanced352 { border-style:dashed; }
@media (max-width: 760px) {
  .seasonChoiceGrid352 { grid-template-columns:1fr; }
  .seasonWizard352 input.swName352 { max-width:100%; }
  .seasonTransitionTableV350 th, .seasonTransitionTableV350 td,
  .seasonTableV350 th, .seasonTableV350 td { font-size:.9rem; padding:8px 6px; }
}

/* V3.5.3 — badge saison global */
.seasonGlobalBadgeV353{margin-left:auto;position:relative;font-size:14px;z-index:30}.seasonBadgeButtonV353{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.15);color:inherit;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:600}.seasonDropdownV353{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:#fff;color:#17233a;border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 14px 35px rgba(0,0,0,.18);padding:8px}.seasonDropdownV353 button,.seasonDropdownV353 a{display:block;width:100%;box-sizing:border-box;text-align:left;border:0;background:transparent;color:#17233a;text-decoration:none;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:14px}.seasonDropdownV353 button:hover,.seasonDropdownV353 a:hover{background:rgba(0,0,0,.06)}.seasonSepV353{height:1px;background:rgba(0,0,0,.12);margin:6px 4px}@media(max-width:700px){.seasonGlobalBadgeV353{width:100%;margin-left:0}.seasonBadgeButtonV353{width:100%;text-align:left}.seasonDropdownV353{left:0;right:auto;width:100%}}
body:has(.seasonGlobalBadgeV353) #modeBadgeV13{display:none!important}


/* V3.6.7 - Planning : demande match amical + heure inline + bouton catégorie stable */
.requestMatchTimeInlineV367{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  color:#0b3d6e !important;
  font-weight:700 !important;
}
.requestMatchTimeInlineV367 input{
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
}
#planningMatchRequestV16 h2{
  overflow-wrap:anywhere;
}
#addMatchSection .formRow > #planCategory + .categoryPlusBtnV36212{
  align-self:center !important;
}
@media (max-width:720px){
  #planningMatchRequestV16 .requestMatchGridV1884{
    grid-template-columns:1fr !important;
  }
  .requestMatchTimeInlineV367{
    width:100%;
  }
}

/* V3.6.16 - Navigation équipes sur Présence entraînement */
.presenceTeamNavV3616,
.teamButtonsV3616{
  margin: 0 0 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.presenceTeamNavV3616 button,
.teamButtonsV3616 button{
  border: 1px solid rgba(11,61,110,.25);
  background: #d9ecff;
  color: #0b3d6e;
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 700;
  white-space: nowrap;
}
.presenceTeamNavV3616 button.activeTeamV3616,
.teamButtonsV3616 button.activeTeamV3616{
  background: #0b3d6e;
  color: #fff;
  border-color: #0b3d6e;
}
.presenceEmptyV3616{
  background: #f3f8ff;
  color: #0b3d6e;
  border: 1px solid rgba(11,61,110,.12);
}

/* URW V3.6.18 - Statistiques : navigation par boutons d'équipes */
.teamButtonsV3618.statsTeamNavV3618{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 14px;
  align-items:center;
}
.teamButtonsV3618.statsTeamNavV3618 button{
  border:1px solid #0b3d6e;
  background:#fff;
  color:#0b3d6e;
  border-radius:999px;
  padding:7px 12px;
  font-weight:700;
  cursor:pointer;
}
.teamButtonsV3618.statsTeamNavV3618 button.activeTeamV3618{
  background:#0b3d6e;
  color:#fff;
}
.statsCategoryV3618 > h3{
  margin-top:0;
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.statsCategoryV3618 > h3 small{
  color:#6b7280;
  font-size:.78em;
  font-weight:600;
}

/* ==========================================================
   V3.7.0 — Season Transition System
   ========================================================== */
.urwSeasonBadge370{
  position:sticky;
  top:0;
  z-index:999;
  margin:0 auto 12px auto;
  padding:10px 14px;
  border-radius:0 0 18px 18px;
  background:linear-gradient(135deg,#0b2447,var(--kf-primary));
  color:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,.16);
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  font-size:.95rem;
}
.urwSeasonBadge370 strong{font-size:1.05rem;}
.urwSeasonBadge370 .seasonPill370,
.urwClosedPill370{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-weight:700;
}
.urwClosedPill370{background:#f4e2e2;color:#8b1e1e;border-color:#f0caca;}
.urwSeasonBadge370 button,
.urwSeasonModal370 button,
.urwClosedBanner370 button{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  font-weight:700;
  cursor:pointer;
}
.urwSeasonBadge370 button{background:#fff;color:#0b2447;}
.urwClosedBanner370{
  margin:12px 0;
  padding:14px 16px;
  border-radius:18px;
  background:#fff6e0;
  border:1px solid #f3d48b;
  color:#4c3300;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
/* SAI-5 — MODE LECTURE SEULE (consultation d'une saison archivée).
   Déclenché par l'attribut data-season-readonly="1" posé sur <html> par season-core/scope
   (pages modulaires) et renderReadOnlyBanner3510 (pages script.js).
   Liste CURATÉE de contrôles d'édition (héritée de l'ancien click-guard V3.7.0) : les
   filtres, onglets et navigations restent utilisables pour consulter l'archive ; seule la
   persistance étant de toute façon bloquée par season-scope, ce grisage aligne le visuel
   sur la réalité. Échappatoire : la classe .roAllow370 réactive un contrôle précis. */
html[data-season-readonly="1"] main .createConv,
html[data-season-readonly="1"] main .validatePresence,
html[data-season-readonly="1"] main .addMatch,
html[data-season-readonly="1"] main .saveScore,
html[data-season-readonly="1"] main .save,
html[data-season-readonly="1"] main .delete,
html[data-season-readonly="1"] main .edit,
html[data-season-readonly="1"] main button[type="submit"],
html[data-season-readonly="1"] main input[type="submit"],
html[data-season-readonly="1"] main .dangerBtnV354 {
  pointer-events: none !important;
  opacity: .45 !important;
  filter: grayscale(.4);
}
html[data-season-readonly="1"] main .roAllow370,
html[data-season-readonly="1"] #seasonReadOnlyBanner3510 button,
html[data-season-readonly="1"] .urwClosedBanner370 button {
  pointer-events: auto !important;
  opacity: 1 !important;
  filter: none;
}

/* SAI-4 — marqueurs du wizard de transition : fusion / équipe non reprise */
.urwWizFusion370{ color:#0b6e4f; font-weight:700; font-size:12.5px; }
.urwWizDrop370{ color:#8a4b00; font-weight:700; font-size:12.5px; }
.urwWizRowStatus370{ min-height:18px; margin-top:4px; }
.urwWizDropped370{ opacity:.65; border-style:dashed !important; }

.urwSeasonOverlay370{
  position:fixed;
  inset:0;
  background:rgba(5,18,38,.55);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.urwSeasonModal370{
  width:min(920px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  color:#14213d;
  border-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  padding:22px;
}
.urwSeasonModal370 h2{margin-top:0;}
.urwSeasonActions370{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.urwSeasonActions370 .primary370{background:#0b2447;color:#fff;}
.urwSeasonActions370 .secondary370{background:#eaf0f6;color:#0b2447;}
.urwSeasonActions370 .danger370{background:#f4e2e2;color:#8b1e1e;}
.urwTransitionGrid370{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.urwTransitionTeam370{
  border:1px solid #dfe7f2;
  border-radius:18px;
  padding:14px;
  background:#f8fbff;
}
.urwTransitionTeam370 input[type="text"]{width:100%;padding:9px;border:1px solid #cfd9e6;border-radius:12px;margin-top:7px;}
.urwPlayerTransferList370{margin-top:10px;display:grid;gap:7px;}
.urwPlayerTransferList370 label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e8eef6;border-radius:12px;padding:7px 9px;}
.urwMiniActions370{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.urwMiniActions370 button{background:#eaf0f6;color:#0b2447;padding:7px 10px;font-size:.85rem;}
@media(max-width:720px){.urwTransitionGrid370{grid-template-columns:1fr}.urwSeasonBadge370{border-radius:0 0 14px 14px}.urwSeasonModal370{padding:16px;border-radius:20px}}

/* =========================================================
   V4.0.1 - HOME COACH COMPACT BRANDED
   Home mobile-first, variables club, Lucide inline limitées Home V4
========================================================= */
:root {
  --club-primary: #0b3d6e;
  --club-secondary: #6ec6ff;
  --club-bg-dark: #071726;
  --club-card-bg: rgba(255,255,255,0.08);
  --club-text: #f7fbff;
  --club-muted: rgba(247,251,255,0.68);
}

.home-v4-page #siteHeader,
.home-v4-page .menu-toggle,
.home-v4-page #mainMenu { display:none !important; }

.homeCoachV400 {
  max-width: 560px;
  margin: 0 auto 18px;
  padding: 10px 10px 18px;
  color: var(--club-text);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--club-secondary) 28%, transparent), transparent 30%),
    linear-gradient(160deg, var(--club-bg-dark), color-mix(in srgb, var(--club-primary) 58%, #050b12));
  border-radius: 26px;
  box-shadow: 0 18px 55px rgba(0,0,0,0.22);
}
.homeCoachV400[hidden], .legacyActualiteV400[hidden] { display: none !important; }

.v4Icon { width:16px; height:16px; flex:0 0 auto; }
.v4TopBar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.v4ClubIdentity { display:flex; align-items:center; gap:8px; min-width:0; }
.v4LogoShell { width:38px; height:38px; border-radius:14px; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; overflow:hidden; flex:0 0 auto; border:1px solid rgba(255,255,255,.14); }
.v4LogoShell img { max-width:100%; max-height:100%; object-fit:contain; }
.v4LogoFallback, .v4OpponentFallback { font-size:12px; font-weight:900; letter-spacing:.04em; }
.v4Eyebrow { display:block; font-size:10px; color:var(--club-muted); text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.v4Title { display:block; max-width:132px; line-height:1; }
.v4Season { display:inline-flex; margin-top:2px; font-size:11px; color:var(--club-muted); }
.v4TeamSelect { width:auto; max-width:130px; padding:0 16px 0 0; border:0; background:transparent; color:var(--club-text); font-size:18px; font-weight:900; appearance:auto; }
.v4TeamSelect option { color:#111; }
.v4TeamStatic { font-size:18px; font-weight:900; }
.v4ViewSwitch { display:flex; gap:3px; padding:3px; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); }
.v4ViewSwitch button { border:0; border-radius:999px; padding:6px 7px; background:transparent; color:var(--club-muted); font-size:11px; font-weight:800; }
.v4ViewSwitch button.active { color:#06101b; background:var(--club-secondary); }
.v4ViewSwitch button[hidden] { display:none; }

.v4Card { background: var(--club-card-bg); border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:11px; margin-bottom:8px; backdrop-filter: blur(10px); box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.v4CardHeader { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; margin-bottom:8px; }
.v4CardHeader.compact { margin-bottom:6px; }
.v4CardKicker { color:var(--club-muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.v4CardTitle { margin:1px 0 0; font-size:16px; line-height:1.12; font-weight:900; }
.v4Pill { display:inline-flex; align-items:center; gap:4px; padding:5px 7px; border-radius:999px; background:rgba(255,255,255,.12); color:var(--club-text); font-size:11px; font-weight:850; white-space:nowrap; }
.v4Muted { color:var(--club-muted); margin:5px 0; font-size:13px; }

.v4MatchTeams { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; }
.v4TeamLogoBlock { min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; font-size:12px; font-weight:850; }
.v4TeamLogoBlock span { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v4MatchLogo { width:46px; height:46px; border-radius:17px; }
.v4Versus { display:flex; flex-direction:column; align-items:center; gap:3px; color:var(--club-muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.v4Versus .v4Icon { width:18px; height:18px; color:var(--club-secondary); }
.v4MatchInfoGrid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:9px; }
.v4MatchInfoGrid div { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:7px 8px; min-width:0; }
.v4MatchInfoGrid .wide { grid-column:1 / -1; }
.v4MatchInfoGrid span { display:block; color:var(--club-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; font-weight:850; }
.v4MatchInfoGrid strong { display:block; margin-top:2px; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v4ButtonRow { display:flex; gap:7px; flex-wrap:wrap; margin-top:9px; }
.v4ButtonRowCompact { flex-wrap:nowrap; }
.v4Btn { appearance:none; border:0; border-radius:14px; padding:10px 11px; font-size:13px; font-weight:900; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; }
.v4BtnPrimary { background:var(--club-secondary); color:#06101b; flex:1 1 auto; }
.v4BtnGhost { background:rgba(255,255,255,.12); color:var(--club-text); border:1px solid rgba(255,255,255,.12); }
.v4BtnFull { width:100%; }

.v4Counters { display:grid; grid-template-columns: repeat(3, 1fr); gap:7px; margin-top:6px; }
.v4Counter { border:0; border-radius:16px; padding:9px 5px; background:rgba(255,255,255,.10); color:var(--club-text); text-align:center; border:1px solid rgba(255,255,255,.10); }
.v4Counter strong { display:block; font-size:22px; line-height:1; }
.v4Counter span { display:block; margin-top:4px; font-size:11px; color:var(--club-muted); font-weight:850; }
.v4Counter.present strong { color:#83f0a3; }
.v4Counter.absent strong { color:#ff8a8a; }
.v4Counter.pending strong { color:#ffd166; }

.v4QuickCard { padding:9px; }
.v4QuickGrid { display:grid; grid-template-columns: repeat(4, 1fr); gap:6px; }
.v4Quick { min-height:54px; display:flex; flex-direction:column; gap:4px; justify-content:center; align-items:center; text-align:center; text-decoration:none; color:var(--club-text); background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); border-radius:15px; padding:7px 4px; font-weight:850; font-size:11px; }
.v4Quick .v4Icon { width:18px; height:18px; color:var(--club-secondary); }

.v4MiniFooter { display:grid; grid-template-columns:repeat(3, 1fr); gap:7px; }
.v4MiniCard { text-decoration:none; color:var(--club-text); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.11); border-radius:16px; padding:9px 7px; min-width:0; }
.v4MiniCard span { display:block; color:var(--club-muted); font-size:10px; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v4MiniCard strong { display:block; margin-top:3px; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v4Empty { padding:10px; border-radius:16px; background:rgba(255,255,255,.08); color:var(--club-muted); }

.v4PlayerOverlay { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.55); display:flex; align-items:flex-end; justify-content:center; padding:16px; }
.v4PlayerSheet { width:min(520px, 100%); max-height:78vh; overflow:auto; border-radius:28px; background:#fff; color:#101820; padding:18px; box-shadow:0 22px 70px rgba(0,0,0,.36); }
.v4PlayerSheet h3 { margin:0 0 12px; }
.v4PlayerSheet ul { margin:0; padding-left:20px; }
.v4PlayerSheet li { padding:6px 0; }
.v4PlayerSheet .v4Btn { margin-top:16px; background:#101820; color:#fff; }

@media (max-width: 520px) {
  body.home-v4-page { background:#071726; }
  .homeCoachV400 { border-radius:0; margin:-8px -8px 0; min-height:100vh; padding:9px 8px 18px; }
  .v4TopBar { align-items:center; }
  .v4ViewSwitch button { padding:6px 6px; }
  .v4ButtonRowCompact .v4Btn { padding-left:8px; padding-right:8px; }
  .v4Btn { font-size:12px; }
}


/* =========================================================
   V4.0.2 - HOME COACH VISUAL RESTORE
   Restaure le rendu premium visuel, supprime les blocs imbriqués
   et renforce les icônes Lucide visibles uniquement Home V4.
========================================================= */
.homeCoachV400 {
  padding: 12px 12px 20px;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--club-secondary) 35%, transparent), transparent 28%),
    radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--club-primary) 52%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--club-bg-dark) 92%, #000), color-mix(in srgb, var(--club-primary) 62%, #071726));
}
.homeCoachV400 .v4Icon {
  width: 18px;
  height: 18px;
  stroke-width: 2.35;
  color: currentColor;
}
.v4TopBar {
  margin-bottom: 14px;
}
.v4LogoShell {
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 9px 25px rgba(0,0,0,.18);
}
.v4ClubIdentity > .v4LogoShell {
  width: 48px;
  height: 48px;
  border-radius: 18px;
}
.v4Eyebrow {
  font-size: 10px;
  letter-spacing: .14em;
}
.v4TeamSelect,
.v4TeamStatic {
  font-size: 22px;
  letter-spacing: -.02em;
}
.v4ViewSwitch {
  padding: 4px;
  background: rgba(4,16,30,.35);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}
.v4ViewSwitch button {
  font-size: 13px;
  padding: 8px 10px;
}
.v4Card {
  border-radius: 24px;
}
.v4VisualMatchCard {
  padding: 16px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.13), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  box-shadow: 0 16px 45px rgba(0,0,0,.20);
}
.v4MatchHeader {
  align-items: center;
  margin-bottom: 14px;
}
.v4MatchHeader .v4CardTitle {
  font-size: 24px;
  letter-spacing: -.03em;
}
.v4MatchHeader .v4Pill .v4Icon {
  width: 16px;
  height: 16px;
}
.v4MatchTeamsHero {
  grid-template-columns: 1fr 54px 1fr;
  gap: 12px;
  margin: 2px 0 14px;
}
.v4MatchTeamsHero .v4MatchLogo {
  width: 74px;
  height: 74px;
  border-radius: 24px;
}
.v4MatchTeamsHero .v4TeamLogoBlock {
  font-size: 15px;
  gap: 8px;
}
.v4MatchTeamsHero .v4Versus {
  color: var(--club-secondary);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  height: 42px;
  align-self: center;
  justify-content: center;
}
.v4MatchTeamsHero .v4Versus strong {
  font-size: 15px;
  letter-spacing: .05em;
}
.v4MatchInfoGrid {
  display: none !important;
}
.v4MatchInfoList {
  display: grid;
  gap: 8px;
  margin-top: 4px;
}
.v4InfoLine {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--club-text);
  font-weight: 780;
  font-size: 14px;
  min-width: 0;
}
.v4InfoLine .v4Icon {
  color: var(--club-secondary);
}
.v4InfoLine span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v4InfoAddress span {
  color: var(--club-muted);
}
.v4VisualMatchCard .v4ButtonRowCompact {
  margin-top: 15px;
}
.v4VisualMatchCard .v4Btn {
  min-height: 46px;
  border-radius: 18px;
  font-size: 14px;
}
.v4VisualMatchCard .v4Btn .v4Icon,
.v4Quick .v4Icon,
.v4Pill .v4Icon {
  width: 19px;
  height: 19px;
}
.v4Quick {
  min-height: 58px;
  border-radius: 18px;
  background: rgba(255,255,255,.095);
}
.v4MiniFooter.no-result {
  grid-template-columns: repeat(2, 1fr);
}
.v4MiniCard em {
  display: block;
  margin-top: 3px;
  color: var(--club-secondary);
  font-style: normal;
  font-weight: 950;
  font-size: 15px;
}
@media (max-width: 520px) {
  .homeCoachV400 { padding: 12px 10px 18px; }
  .v4VisualMatchCard { padding: 15px 14px; }
  .v4MatchHeader .v4CardTitle { font-size: 22px; }
  .v4MatchTeamsHero .v4MatchLogo { width: 66px; height: 66px; border-radius: 22px; }
  .v4MatchTeamsHero { grid-template-columns: 1fr 46px 1fr; gap: 9px; }
  .v4ButtonRowCompact { gap: 8px; }
  .v4VisualMatchCard .v4Btn { padding-left: 10px; padding-right: 10px; }
}

/* =========================================================
   V4.0.3 - HOME COACH PREMIUM EMPTY STATES
   Ajustements ciblés Home Coach uniquement.
========================================================= */
.homeCoachV400 .v4InfoAddress {
  width: 100%;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 15px;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
  appearance: none;
}
.homeCoachV400 .v4InfoAddress.has-address span {
  color: var(--club-text);
}
.homeCoachV400 .v4InfoAddress.is-missing {
  color: var(--club-secondary);
  border-style: dashed;
  background: color-mix(in srgb, var(--club-secondary) 12%, transparent);
}
.homeCoachV400 .v4InfoAddress.is-missing span {
  color: var(--club-secondary);
  font-weight: 900;
}
.homeCoachV400 .v4CopyAddressBtn {
  flex: 0 0 auto;
}
.homeCoachV400 .v4CopyAddressBtn.copied {
  background: color-mix(in srgb, var(--club-secondary) 28%, rgba(255,255,255,.12));
  color: var(--club-text);
}
.homeCoachV400 .v4OpponentFallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.24), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
  color: var(--club-text);
  border: 1px solid rgba(255,255,255,.16);
  text-shadow: 0 1px 8px rgba(0,0,0,.18);
}
.homeCoachV400 .v4VisualMatchCard {
  padding-bottom: 14px;
}
.homeCoachV400 .v4MatchInfoList {
  gap: 7px;
}
.homeCoachV400 .v4ButtonRowCompact {
  align-items: stretch;
}
@media (max-width: 420px) {
  .homeCoachV400 .v4ButtonRowCompact {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .homeCoachV400 .v4ButtonRowCompact .v4MainAction {
    grid-column: 1 / -1;
  }
  .homeCoachV400 .v4ButtonRowCompact .v4AddAddressBtn {
    grid-column: 1 / -1;
  }
}

/* =========================================================
   V4.1.1 - HOME COACH PREMIUM DENSITY FIX
   Correctifs ciblés suite régressions V4.1.
========================================================= */
.homeCoachV400 .v4DensityMatchCard {
  padding: 12px 13px 12px;
}
.homeCoachV400 .v4DensityMatchCard .v4MatchHeader {
  margin-bottom: 8px;
}
.homeCoachV400 .v4DensityMatchCard .v4CardTitle {
  display: none !important;
}
.homeCoachV400 .v4DensityMatchCard .v4MatchTeamsHero {
  margin: 0 0 9px;
  grid-template-columns: 1fr 42px 1fr;
  gap: 8px;
}
.homeCoachV400 .v4DensityMatchCard .v4MatchLogo {
  width: 58px;
  height: 58px;
  border-radius: 19px;
}
.homeCoachV400 .v4DensityMatchCard .v4TeamLogoBlock {
  gap: 5px;
  font-size: 13px;
  font-weight: 900;
}
.homeCoachV400 .v4DensityMatchCard .v4Versus {
  height: 34px;
  min-width: 34px;
}
.homeCoachV400 .v4DensityMatchCard .v4Versus strong {
  font-size: 12px;
}
.homeCoachV400 .v4DensityInfoList {
  gap: 6px;
  margin-top: 0;
}
.homeCoachV400 .v4DateTimeLine {
  font-size: 13px;
  opacity: .95;
}
.homeCoachV400 .v4InfoAddress {
  min-height: 36px;
  padding: 7px 9px;
  display: flex;
}
.homeCoachV400 .v4InfoAddress.has-address {
  cursor: pointer;
}
.homeCoachV400 .v4InlineCopy {
  margin-left: auto;
  width: 30px;
  height: 28px;
  border: 0;
  border-radius: 11px;
  background: rgba(255,255,255,.12);
  color: var(--club-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
}
.homeCoachV400 .v4InlineCopy .v4Icon {
  width: 15px;
  height: 15px;
}
.homeCoachV400 .v4InlineCopy.copied {
  background: color-mix(in srgb, var(--club-secondary) 32%, rgba(255,255,255,.12));
}
.homeCoachV400 .v4MatchActionsDual {
  margin-top: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.homeCoachV400 .v4MatchActionsDual .v4Btn {
  min-height: 39px;
  padding: 8px 9px;
  border-radius: 15px;
  font-size: 13px;
}
/* t21 (LOT1-C suite) — la grille passe à 3 colonnes quand le bouton
   « Clôturer Match » est présent (match live). Sans cette règle, la grille
   2 colonnes fixe rejetait le 3e bouton sur une 2e ligne. Pattern :has déjà
   établi dans ce fichier (.v44HeroCard:not(:has(.v44HeroEdit)), etc.). */
.homeCoachV400 .v4MatchActionsDual:has(.v4CloseMatchAction) {
  grid-template-columns: 1fr 1fr 1fr;
}
.homeCoachV400 .v4MatchActionsDual:has(.v4CloseMatchAction) .v4Btn {
  padding: 8px 6px;
  font-size: 12.5px;
}
.homeCoachV400 .v4QuickCard {
  padding: 10px;
}
.homeCoachV400 .v4QuickGrid {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.homeCoachV400 .v4Quick {
  min-height: 52px;
  padding: 9px 6px;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  text-align: center;
}
.homeCoachV400 .v4Quick span {
  font-size: 12px;
  line-height: 1.05;
}
.homeCoachV400 .v4PremiumInfoGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.homeCoachV400 .v4InfoButton {
  position: relative;
  min-height: 76px;
  padding: 9px 8px;
  border-radius: 18px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2px;
}
.homeCoachV400 .v4InfoButton .v4Icon {
  width: 18px;
  height: 18px;
  color: var(--club-secondary);
}
.homeCoachV400 .v4InfoButton span {
  font-size: 11px;
  color: var(--club-muted);
  font-weight: 800;
}
.homeCoachV400 .v4InfoButton strong {
  font-size: 17px;
  line-height: 1;
}
.homeCoachV400 .v4InfoButton small {
  font-size: 10px;
  color: var(--club-muted);
}
.homeCoachV400 .v4NewsDot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #ff3b30;
  box-shadow: 0 0 0 3px rgba(255,59,48,.18);
}
@media (max-width: 420px) {
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo { width: 52px; height: 52px; border-radius: 17px; }
  .homeCoachV400 .v4Quick span { font-size: 11px; }
  .homeCoachV400 .v4InfoButton { min-height: 72px; padding: 8px 7px; }
}

/* =========================================================
   V4.2 - PREMIUM REFINEMENT
   Raffinement Home uniquement : typo, profondeur, actualités,
   micro-interactions et empty states premium.
========================================================= */
body.home-v4-page {
  font-family: Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}
.homeCoachV400 {
  --v42-surface-1: rgba(255,255,255,.075);
  --v42-surface-2: rgba(255,255,255,.105);
  --v42-stroke: rgba(255,255,255,.13);
  --v42-shadow-soft: 0 14px 34px rgba(0,0,0,.18);
  --v42-shadow-card: 0 18px 52px rgba(0,0,0,.24);
  background:
    radial-gradient(circle at 14% -4%, color-mix(in srgb, var(--club-secondary) 28%, transparent), transparent 30%),
    radial-gradient(circle at 92% 16%, color-mix(in srgb, var(--club-primary) 48%, transparent), transparent 35%),
    linear-gradient(160deg, color-mix(in srgb, var(--club-bg-dark) 94%, #02060b), color-mix(in srgb, var(--club-primary) 50%, #071726));
}
.homeCoachV400 .v4Card,
.homeCoachV400 .v4MiniCard,
.homeCoachV400 .v4Quick,
.homeCoachV400 .v4ViewSwitch,
.homeCoachV400 .v4InfoAddress {
  backdrop-filter: none;
  transform: translateZ(0);
}
.homeCoachV400 .v4Card {
  border: 1px solid var(--v42-stroke);
  background: linear-gradient(145deg, var(--v42-surface-2), var(--v42-surface-1));
  box-shadow: var(--v42-shadow-soft), inset 0 1px 0 rgba(255,255,255,.12);
}
.homeCoachV400 .v4VisualMatchCard {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--club-secondary) 30%, rgba(255,255,255,.11));
  background:
    radial-gradient(circle at 22% 0%, color-mix(in srgb, var(--club-secondary) 18%, transparent), transparent 33%),
    radial-gradient(circle at 84% 20%, rgba(255,255,255,.13), transparent 27%),
    linear-gradient(145deg, rgba(255,255,255,.145), rgba(255,255,255,.065));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--club-secondary) 10%, transparent), var(--v42-shadow-card), inset 0 1px 0 rgba(255,255,255,.18);
}
.homeCoachV400 .v4VisualMatchCard::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background: linear-gradient(120deg, color-mix(in srgb, var(--club-secondary) 19%, transparent), transparent 28%, transparent 72%, rgba(255,255,255,.10));
  opacity: .72;
}
.homeCoachV400 .v4VisualMatchCard > * { position: relative; z-index: 1; }
.homeCoachV400 .v4CardKicker,
.homeCoachV400 .v4Eyebrow,
.homeCoachV400 .v4Season,
.homeCoachV400 .v4InfoButton span,
.homeCoachV400 .v4InfoButton small {
  letter-spacing: .055em;
}
.homeCoachV400 .v4TeamSelect,
.homeCoachV400 .v4TeamStatic,
.homeCoachV400 .v4CardTitle,
.homeCoachV400 .v4NewsTitle {
  font-weight: 900;
  letter-spacing: -.035em;
}
.homeCoachV400 .v4LogoShell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
}
.homeCoachV400 .v4LogoFallback,
.homeCoachV400 .v4OpponentFallback {
  font-weight: 950;
  letter-spacing: -.03em;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.26), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--club-primary) 72%, #10243c), color-mix(in srgb, var(--club-secondary) 24%, #0b2238));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.homeCoachV400 .v4MatchTeamsHero .v4TeamLogoBlock span {
  line-height: 1.12;
  max-width: 100%;
}
.homeCoachV400 .v4Pill {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11);
}
.homeCoachV400 .v4Btn,
.homeCoachV400 .v4Quick,
.homeCoachV400 .v4InfoButton,
.homeCoachV400 .v4NewsCard,
.homeCoachV400 .v4InlineCopy {
  transition: transform .16s ease, opacity .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.homeCoachV400 .v4Btn:active,
.homeCoachV400 .v4Quick:active,
.homeCoachV400 .v4InfoButton:active,
.homeCoachV400 .v4NewsCard:active {
  transform: scale(.985) translateZ(0);
}
@media (hover:hover) {
  .homeCoachV400 .v4Btn:hover,
  .homeCoachV400 .v4Quick:hover,
  .homeCoachV400 .v4InfoButton:hover,
  .homeCoachV400 .v4NewsCard:hover {
    transform: translateY(-1px) translateZ(0);
    border-color: color-mix(in srgb, var(--club-secondary) 26%, rgba(255,255,255,.13));
  }
}
.homeCoachV400 .v4QuickCard {
  background: rgba(255,255,255,.055);
  box-shadow: none;
}
.homeCoachV400 .v4Quick {
  background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.055));
  border-color: rgba(255,255,255,.105);
}
.homeCoachV400 .v4PremiumInfoGrid { align-items: stretch; }
.homeCoachV400 .v4InfoButton {
  overflow: hidden;
  background: linear-gradient(150deg, rgba(255,255,255,.11), rgba(255,255,255,.055));
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 10px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10);
}
.homeCoachV400 .v4InfoButton::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -22px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--club-secondary) 13%, transparent);
}
.homeCoachV400 .v4InfoButtonRank { transform: translateY(2px); }
.homeCoachV400 .v4InfoButtonNews { transform: translateY(-1px); }
.homeCoachV400 .v4NewsDot {
  width: 8px;
  height: 8px;
  background: #ff453a;
  box-shadow: 0 0 0 4px rgba(255,69,58,.16), 0 6px 16px rgba(255,69,58,.28);
}
.homeCoachV400 .v4EmptyCard,
.homeCoachV400 .v4ConvCard:has(.v4CreateConvFromEmpty) {
  background:
    radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--club-secondary) 12%, transparent), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.045));
  border-style: dashed;
}
.homeCoachV400 .v4Muted {
  color: var(--club-muted);
  line-height: 1.45;
}
.homeCoachV400 .v4NewsCarouselBlock {
  margin-top: 12px;
  padding: 2px 0 4px;
}
.homeCoachV400 .v4NewsHeader {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px 8px;
}
.homeCoachV400 .v4NewsTitle {
  margin: 1px 0 0;
  color: var(--club-text);
  font-size: 18px;
}
.homeCoachV400 .v4NewsBadge {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(255,69,58,.14);
  color: #ffd7d4;
  border: 1px solid rgba(255,69,58,.22);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.homeCoachV400 .v4NewsRail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 76%);
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 2px 9px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.homeCoachV400 .v4NewsRail::-webkit-scrollbar { display: none; }
.homeCoachV400 .v4NewsCard {
  position: relative;
  min-height: 118px;
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  scroll-snap-align: start;
  background: linear-gradient(145deg, color-mix(in srgb, var(--club-primary) 78%, #111), color-mix(in srgb, var(--club-secondary) 28%, #071726));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 13px 30px rgba(0,0,0,.20);
}
.homeCoachV400 .v4NewsCard img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
}
.homeCoachV400 .v4NewsFallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .42;
}
.homeCoachV400 .v4NewsFallback .v4Icon { width: 40px; height: 40px; }
.homeCoachV400 .v4NewsOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.66));
}
.homeCoachV400 .v4NewsContent {
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 12px;
  display: grid;
  gap: 4px;
}
.homeCoachV400 .v4NewsContent small {
  color: rgba(255,255,255,.72);
  font-weight: 850;
  font-size: 10px;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.homeCoachV400 .v4NewsContent strong {
  font-size: 15px;
  line-height: 1.12;
  font-weight: 920;
  text-shadow: 0 2px 14px rgba(0,0,0,.28);
}
.homeCoachV400 .v4Card,
.homeCoachV400 .v4NewsCarouselBlock,
.homeCoachV400 .v4PremiumInfoGrid,
.homeCoachV400 .v4QuickCard {
  animation: v42HomeIn .28s ease both;
}
@keyframes v42HomeIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .homeCoachV400 * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 520px) {
  .homeCoachV400 .v4NewsRail { grid-auto-columns: minmax(196px, 82%); }
  .homeCoachV400 .v4NewsCard { min-height: 112px; border-radius: 20px; }
  .homeCoachV400 .v4VisualMatchCard { box-shadow: 0 15px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16); }
}
@media (max-width: 380px) {
  .homeCoachV400 .v4InfoButton strong { font-size: 15px; }
  .homeCoachV400 .v4InfoButton small { font-size: 9px; }
  .homeCoachV400 .v4NewsRail { grid-auto-columns: 86%; }
}

/* =========================================================
   V4.2.1 - PREMIUM BALANCE HORIZONTAL FLOW
   Home uniquement : densité, rail horizontal, vie du club visible.
========================================================= */
.homeCoachV400 {
  --v421-gap: 9px;
  padding-bottom: 22px;
}
.homeCoachV400 .v4TopBar {
  margin-bottom: 9px;
}
.homeCoachV400 .v4DensityMatchCard {
  padding: 10px 12px 11px;
  margin-bottom: 9px;
}
.homeCoachV400 .v4DensityMatchCard .v4MatchHeader {
  margin-bottom: 6px;
}
.homeCoachV400 .v4DensityMatchCard .v4MatchTeamsHero {
  margin-bottom: 7px;
}
.homeCoachV400 .v4DensityInfoList {
  gap: 5px;
}
.homeCoachV400 .v4DateTimeLine,
.homeCoachV400 .v4InfoAddress {
  min-height: 31px;
  border-radius: 13px;
  font-size: 12.5px;
}
.homeCoachV400 .v4InfoAddress {
  padding: 5px 7px;
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
  box-shadow: none;
}
.homeCoachV400 .v4InfoAddress .v4Icon,
.homeCoachV400 .v4DateTimeLine .v4Icon {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}
.homeCoachV400 .v4InfoAddress span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.homeCoachV400 .v4InlineCopy {
  width: 27px;
  height: 25px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
}
.homeCoachV400 .v4MatchActionsDual {
  margin-top: 7px;
}
.homeCoachV400 .v4MatchActionsDual .v4Btn {
  min-height: 37px;
  border-radius: 14px;
}
.homeCoachV400 .v4LaunchAction {
  box-shadow: 0 10px 24px color-mix(in srgb, var(--club-secondary) 22%, transparent);
}
.homeCoachV400 .v421ConvCompact {
  padding: 10px 11px;
  margin-bottom: 9px;
}
.homeCoachV400 .v421ConvCompact .v4CardHeader {
  margin-bottom: 6px;
}
.homeCoachV400 .v421ConvCompact .v4Counters {
  gap: 7px;
  margin: 0;
}
.homeCoachV400 .v421ConvCompact .v4Counter {
  min-height: 43px;
  padding: 7px 6px;
  border-radius: 15px;
}
.homeCoachV400 .v421ConvCompact .v4Counter strong {
  font-size: 18px;
  line-height: 1;
}
.homeCoachV400 .v421ConvCompact .v4Counter span {
  font-size: 10px;
}
.homeCoachV400 .v421ConvCompact .v4ButtonRow {
  margin-top: 7px;
}
.homeCoachV400 .v421ManageAnswers,
.homeCoachV400 .v4BtnSecondary {
  min-height: 34px;
  border-radius: 14px;
  padding: 7px 10px;
  background: rgba(255,255,255,.075);
  color: var(--club-text);
  border: 1px solid rgba(255,255,255,.11);
  font-size: 12px;
  font-weight: 900;
}
.homeCoachV400 .v4NewsCarouselBlock {
  margin-top: 5px;
  margin-bottom: 8px;
  padding-bottom: 0;
}
.homeCoachV400 .v4NewsHeader {
  padding: 0 2px 6px;
}
.homeCoachV400 .v4NewsTitle {
  font-size: 17px;
}
.homeCoachV400 .v4NewsRail {
  grid-auto-columns: minmax(218px, 78%);
  gap: 9px;
  padding: 0 14px 7px 2px;
  scroll-padding-left: 2px;
  -webkit-overflow-scrolling: touch;
}
.homeCoachV400 .v4NewsCard {
  min-height: 105px;
  border-radius: 20px;
}
.homeCoachV400 .v4NewsContent {
  left: 12px;
  right: 12px;
  bottom: 11px;
}
.homeCoachV400 .v421QuickBlock {
  margin-top: 5px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.homeCoachV400 .v421QuickHeader {
  padding-bottom: 6px;
}
.homeCoachV400 .v4QuickRail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(118px, 35%);
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 16px 8px 2px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.homeCoachV400 .v4QuickRail::-webkit-scrollbar { display: none; }
.homeCoachV400 .v4QuickRail .v4Quick {
  position: relative;
  min-height: 78px;
  padding: 10px 9px;
  border-radius: 20px;
  scroll-snap-align: start;
  align-items: flex-start;
  text-align: left;
  justify-content: space-between;
  gap: 4px;
  text-decoration: none;
  color: var(--club-text);
  overflow: hidden;
}
.homeCoachV400 .v4QuickRail .v4Quick::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -24px;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--club-secondary) 12%, transparent);
  pointer-events: none;
}
.homeCoachV400 .v4QuickRail .v4Quick .v4Icon {
  width: 19px;
  height: 19px;
  color: var(--club-secondary);
}
.homeCoachV400 .v4QuickRail .v4Quick span {
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -.01em;
  color: var(--club-text);
}
.homeCoachV400 .v4QuickRail .v4Quick small,
.homeCoachV400 .v4QuickRail .v4Quick strong {
  display: block;
  line-height: 1.05;
}
.homeCoachV400 .v4QuickRail .v4Quick small {
  color: var(--club-muted);
  font-size: 10px;
  font-weight: 800;
}
.homeCoachV400 .v4QuickRail .v4Quick strong {
  font-size: 16px;
  font-weight: 950;
}
.homeCoachV400 .v4QuickRail .v4NewsDot {
  top: 9px;
  right: 9px;
}
.homeCoachV400 .v4PremiumInfoGrid {
  display: none !important;
}
.homeCoachV400 .v4Card,
.homeCoachV400 .v4NewsCarouselBlock,
.homeCoachV400 .v421QuickBlock {
  animation-duration: .22s;
}
@media (max-width: 520px) {
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo { width: 50px; height: 50px; border-radius: 17px; }
  .homeCoachV400 .v4DensityMatchCard .v4MatchTeamsHero { grid-template-columns: 1fr 34px 1fr; }
  .homeCoachV400 .v4NewsRail { grid-auto-columns: 82%; }
  .homeCoachV400 .v4QuickRail { grid-auto-columns: 122px; }
}
@media (max-width: 380px) {
  .homeCoachV400 .v4QuickRail { grid-auto-columns: 116px; }
  .homeCoachV400 .v4NewsRail { grid-auto-columns: 86%; }
}

/* =========================================================
   V4.2.2 - PREMIUM HOME REBALANCE + STICKY HERO
   Home uniquement : priorité coach, photos lisibles, sticky compact.
========================================================= */
.homeCoachV400 {
  scroll-padding-top: 84px;
}
.homeCoachV400 .v421QuickBlock {
  margin-top: 2px;
  margin-bottom: 10px;
}
.homeCoachV400 .v421QuickHeader {
  padding: 0 2px 6px;
}
.homeCoachV400 .v4NewsCarouselBlock {
  margin-top: 4px;
  margin-bottom: 6px;
}
.homeCoachV400 .v4NewsRail {
  grid-auto-columns: minmax(174px, 58%);
  gap: 10px;
  padding: 0 40px 8px 2px;
}
.homeCoachV400 .v4NewsCard {
  min-height: 154px;
  border-radius: 22px;
}
.homeCoachV400 .v4NewsContent {
  left: 12px;
  right: 12px;
  bottom: 12px;
}
.homeCoachV400 .v4NewsContent strong {
  font-size: 14px;
  line-height: 1.15;
}
.homeCoachV400 .v4NewsOverlay {
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.68));
}
.homeCoachV400 .v4DateTimeLine {
  min-height: 26px;
  font-size: 12px;
  font-weight: 820;
}
.homeCoachV400 .v4InfoAddress {
  min-height: 27px !important;
  padding: 4px 6px !important;
  border-radius: 11px !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.055) !important;
  font-size: 11.5px !important;
  font-weight: 760;
}
.homeCoachV400 .v4InfoAddress.has-address span {
  color: var(--club-muted) !important;
}
.homeCoachV400 .v4InfoAddress.is-missing {
  background: rgba(255,255,255,.035) !important;
  border-style: dashed;
}
.homeCoachV400 .v4InfoAddress .v4Icon,
.homeCoachV400 .v4DateTimeLine .v4Icon {
  width: 13px !important;
  height: 13px !important;
}
.homeCoachV400 .v4InlineCopy {
  width: auto !important;
  min-width: 44px;
  height: 23px !important;
  padding: 0 7px;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 0;
}
.homeCoachV400 .v4InlineCopy::after {
  content: "Copier";
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .01em;
}
.homeCoachV400 .v4InlineCopy .v4Icon {
  display: none;
}
.homeCoachV400 .v421ManageAnswers,
.homeCoachV400 .v421ConvCompact .v4BtnSecondary {
  min-height: 30px !important;
  padding: 5px 9px !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--club-muted) !important;
  box-shadow: none !important;
}
.homeCoachV400 .v421ConvCompact {
  padding: 9px 10px !important;
  margin-bottom: 8px;
}
.homeCoachV400 .v421ConvCompact .v4ButtonRow {
  margin-top: 5px !important;
}
.homeCoachV400 .v421ConvCompact .v4Counter {
  min-height: 39px !important;
  padding: 6px 5px !important;
}
/* V4.2.3 - Home sans sticky + proposition logos */
.homeCoachV400 .v423MatchMetaPill {
  gap: 5px !important;
  white-space: nowrap;
}
.homeCoachV400 .v423DotSep {
  opacity: .55;
  font-weight: 900;
}
.homeCoachV400 .v423LogoSubmitBtn {
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.homeCoachV400 .v423LogoSubmitBtn img,
.homeCoachV400 .v423LogoSubmitBtn .v4LogoFallback,
.homeCoachV400 .v423LogoSubmitBtn .v4OpponentFallback {
  pointer-events: none;
}
.homeCoachV400 .v423LogoSubmitBtn:active {
  transform: scale(.97);
}
.v423LogoModalOverlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(4, 16, 30, .58);
  display: grid;
  place-items: end center;
  padding: 14px;
}
.v423LogoModal {
  width: min(520px, 100%);
  border-radius: 24px;
  background: #fff;
  color: #102033;
  border: 1px solid rgba(11,61,110,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  padding: 18px;
  display: grid;
  gap: 12px;
  position: relative;
}
.v423LogoModal h3 {
  margin: 0;
  font-size: 22px;
}
.v423LogoModal .v4Muted,
.v423LogoModal small.v4Muted {
  color: rgba(16,32,51,.68) !important;
}
.v423LogoModalClose {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(11,61,110,.12);
  background: rgba(11,61,110,.06);
  font-size: 22px;
  line-height: 1;
}
.v423LogoField {
  display: grid;
  gap: 5px;
  font-weight: 800;
  font-size: 12px;
}
.v423LogoField input {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(11,61,110,.16);
  padding: 10px 12px;
  font: inherit;
}
.v423LogoUpload {
  border: 1px dashed rgba(11,61,110,.24);
  background: rgba(11,61,110,.04);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  gap: 8px;
  font-weight: 850;
}
.v423LogoPreview {
  min-height: 64px;
  border-radius: 16px;
  background: rgba(11,61,110,.05);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  color: rgba(16,32,51,.62);
  font-weight: 800;
}
.v423LogoPreview img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(11,61,110,.10);
}
.v423CustoLogoList {
  display: grid;
  gap: 10px;
}
.v423CustoLogoItem {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(11,61,110,.12);
  border-radius: 16px;
  padding: 10px;
  background: rgba(11,61,110,.035);
}
.v423CustoLogoPreview {
  width: 54px;
  height: 54px;
  border-radius: 15px;
  background: #fff;
  border: 1px solid rgba(11,61,110,.12);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.v423CustoLogoPreview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.v423CustoLogoMeta {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.v423CustoLogoMeta strong,
.v423CustoLogoMeta small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v423Status {
  width: fit-content;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 900;
  background: rgba(245,158,11,.12);
  color: #8a4b00;
}
.v423Status.validated { background: rgba(22,163,74,.12); color: #146c2e; }
.v423Status.refused { background: rgba(220,38,38,.12); color: #9f1239; }
@media (max-width: 520px) {
  .v423LogoModalOverlay { place-items: end center; padding: 10px; }
  .v423LogoModal { border-radius: 22px; padding: 16px; }
  .v423CustoLogoItem { grid-template-columns: 48px minmax(0,1fr); }
  .v423CustoLogoItem .v423DeleteLogoSubmission { grid-column: 1 / -1; }
}

/* =========================================================
   V4.2.4 PREMIUM_HOME_LOGO_MODERATION_COMPACT_MENU
   ========================================================= */
.v424TopBar{gap:8px;align-items:center;margin-bottom:8px!important}
.v424HomeMenuBtn{border:1px solid rgba(15,23,42,.10);background:rgba(255,255,255,.86);border-radius:999px;padding:7px 10px;display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.06);min-height:34px;white-space:nowrap}
.v424HomeMenuBtn .v4Icon{width:16px;height:16px}.v424HomeMenuBtn span{font-size:12px}
.v424MenuOverlay{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:9999;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px;backdrop-filter:blur(2px)}
.v424MenuOverlay[hidden]{display:none}.v424MenuPanel{width:min(310px,92vw);background:#fff;border-radius:22px;padding:16px;box-shadow:0 24px 70px rgba(15,23,42,.22);border:1px solid rgba(15,23,42,.08);animation:v424PanelIn .16s ease-out both}.v424MenuClose{position:absolute;right:24px;top:20px;border:0;background:#f1f5f9;width:34px;height:34px;border-radius:999px;font-size:22px;line-height:1;color:#0f172a}.v424MenuLinks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.v424MenuLinks a{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:14px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:800;font-size:13px;border:1px solid rgba(15,23,42,.06)}
@keyframes v424PanelIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
#homeCoachV400 .v4Card{margin-bottom:8px!important}#homeCoachV400 .v4CardHeader{margin-bottom:8px!important}#homeCoachV400 .v4NextMatchCard{padding:13px!important}#homeCoachV400 .v4ConvCard{padding:11px 13px!important}.v4TeamLogoBlock{gap:5px!important}.v4TeamLogoBlock span{font-size:12px!important}.v4MatchTeams{margin:8px 0!important}.v4DateTimeLine,.v4InfoAddress{min-height:28px!important;padding:5px 8px!important;font-size:12px!important}.v4ButtonRowCompact .v4Btn{min-height:36px!important;padding:8px 11px!important}.v421ConvCompact .v4BtnSecondary,.v421ConvCompact .v4ManageConv,.v4ManageConv{min-height:32px!important;padding:7px 10px!important;font-size:12px!important}.v4QuickCard{margin-bottom:8px!important}.v4QuickRail{gap:8px!important;padding-bottom:2px!important}.v4Quick{min-width:112px!important;padding:9px 10px!important;min-height:74px!important}.v4Quick .v4Icon{width:19px!important;height:19px!important}.v4Quick span{font-size:12px!important}.v4Quick small{font-size:10px!important}.v4NewsHeader{margin-bottom:7px!important}.v4NewsCard{width:168px!important;height:190px!important;min-width:168px!important}.v4NewsRail{gap:10px!important}.v4NewsContent strong{font-size:13px!important;line-height:1.12!important}.v4NewsContent small{font-size:10px!important}.v423MatchMetaPill{font-size:11px!important;padding:5px 8px!important}
.v424ModerationList{display:grid;gap:10px;margin-top:10px}.v424ModerationSubTitle{font-weight:900;color:#0f172a;margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.v424ModerationItem{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.08)}.v424ModerationLogo{width:56px;height:56px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(15,23,42,.08)}.v424ModerationLogo img{width:100%;height:100%;object-fit:contain}.v424ModerationMeta{display:grid;gap:3px}.v424ModerationMeta strong{font-size:14px}.v424ModerationMeta small{color:#64748b;font-size:12px}.v424ModerationActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v424ModerationHistory{display:flex;justify-content:space-between;gap:8px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:12px;padding:8px 10px;font-size:12px}.v423Status.pending{background:#fff7ed;color:#9a3412}.v423Status.validated{background:#ecfdf5;color:#047857}.v423Status.refused{background:#fef2f2;color:#b91c1c}
@media(max-width:520px){.v424TopBar .v4ViewSwitch{display:none}.v424HomeMenuBtn span{display:none}.v424ModerationItem{grid-template-columns:48px 1fr;align-items:start}.v424ModerationActions{grid-column:1/-1;justify-content:stretch}.v424ModerationActions .v4Btn{flex:1}.v424ModerationLogo{width:48px;height:48px}.v424MenuLinks{grid-template-columns:1fr}.v4NewsCard{width:158px!important;min-width:158px!important;height:184px!important}}

/* =========================================================
   V4.2.5 - HOME STABILITY + LOGOS LOCAL/COMMUNITY FIX
   Correctifs ciblés : rail rapide, photos, nav Coach/Club/CQ, compactage.
========================================================= */
.homeCoachV400 .v4QuickRail{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 18px 7px 2px !important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  box-sizing:border-box;
}
.homeCoachV400 .v4QuickRail::-webkit-scrollbar{display:none}
.homeCoachV400 .v4QuickRail .v4Quick,
.homeCoachV400 .v4Quick{
  flex:0 0 124px !important;
  width:124px !important;
  min-width:124px !important;
  max-width:124px !important;
  box-sizing:border-box !important;
  min-height:74px !important;
  scroll-snap-align:start;
}
@media(max-width:390px){
  .homeCoachV400 .v4QuickRail .v4Quick,
  .homeCoachV400 .v4Quick{flex-basis:116px !important;width:116px !important;min-width:116px !important;max-width:116px !important;}
}
.homeCoachV400 .v4TopBar.v424TopBar{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  row-gap:7px !important;
}
.homeCoachV400 .v424TopBar .v4ClubIdentity{min-width:0;}
.homeCoachV400 .v424TopBar .v424HomeMenuBtn{grid-column:2;grid-row:1;}
.homeCoachV400 .v424TopBar .v4ViewSwitch{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  max-width:280px;
  justify-self:center;
}
.homeCoachV400 .v424TopBar .v4ViewSwitch button{flex:1 1 0;}
.homeCoachV400 .v4NewsCarouselBlock{margin-top:3px !important;margin-bottom:6px !important;}
.homeCoachV400 .v4NewsHeader{padding:0 2px 5px !important;align-items:center !important;}
.homeCoachV400 .v4NewsTitle{display:none !important;}
.homeCoachV400 .v4NewsRail{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 18px 7px 2px !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.homeCoachV400 .v4NewsCard{
  flex:0 0 166px !important;
  width:166px !important;
  min-width:166px !important;
  height:184px !important;
  min-height:184px !important;
  max-height:184px !important;
}
.homeCoachV400 .v4NewsCard img{
  display:block !important;
  opacity:1 !important;
  z-index:0 !important;
}
.homeCoachV400 .v4NewsOverlay{z-index:1;}
.homeCoachV400 .v4NewsContent{z-index:2;}
.homeCoachV400 .v4Card{margin-bottom:7px !important;}
.homeCoachV400 .v4NextMatchCard{padding:12px !important;}
.homeCoachV400 .v4ConvCard{padding:10px 12px !important;}
.homeCoachV400 .v4Counters{gap:7px !important;}
.homeCoachV400 .v4Counter{min-height:58px !important;padding:7px 8px !important;}
.homeCoachV400 .v4InfoAddress .v4InlineCopy{min-width:32px !important;padding:4px 7px !important;font-size:0 !important;}
.homeCoachV400 .v4InfoAddress .v4InlineCopy .v4Icon{width:15px;height:15px;}

/* =========================================================
   V4.2.6 - LOGO WORKFLOW STABILITY + HEADER COMPACT
   Correctifs ciblés : IDs logos stables, Custo/Super Admin lisibles, onglets compacts.
========================================================= */
.v423Status.local_active{background:#eff6ff;color:#1d4ed8}
.v423Status.deleted{background:#f1f5f9;color:#475569}
.homeCoachV400 .v4TopBar.v424TopBar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto !important;
  align-items:center !important;
  column-gap:6px !important;
  row-gap:0 !important;
  margin-bottom:6px !important;
}
.homeCoachV400 .v424TopBar .v4ClubIdentity{grid-column:1;grid-row:1;min-width:0;gap:7px !important;}
.homeCoachV400 .v424TopBar .v4LogoShell{width:34px;height:34px;border-radius:12px;}
.homeCoachV400 .v424TopBar .v4Eyebrow{font-size:9px;line-height:1;}
.homeCoachV400 .v424TopBar .v4TeamSelect,
.homeCoachV400 .v424TopBar .v4TeamStatic{font-size:16px;line-height:1;max-width:112px;}
.homeCoachV400 .v424TopBar .v4Season{font-size:10px;margin-top:1px;}
.homeCoachV400 .v424TopBar .v4ViewSwitch{
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  width:auto !important;
  max-width:none !important;
  justify-self:end !important;
  justify-content:flex-end !important;
  padding:2px !important;
  gap:2px !important;
  border-radius:999px !important;
}
.homeCoachV400 .v424TopBar .v4ViewSwitch button{
  flex:0 0 auto !important;
  padding:4px 7px !important;
  min-height:24px !important;
  font-size:10px !important;
  line-height:1 !important;
}
.homeCoachV400 .v424TopBar .v424HomeMenuBtn{
  grid-column:3 !important;
  grid-row:1 !important;
  min-height:28px !important;
  padding:5px 8px !important;
  gap:4px !important;
  box-shadow:0 5px 14px rgba(15,23,42,.08) !important;
}
.homeCoachV400 .v424TopBar .v424HomeMenuBtn .v4Icon{width:15px;height:15px;}
.homeCoachV400 .v424TopBar .v424HomeMenuBtn span{font-size:11px;}
.v424ModerationItem[data-submission-id],
.v424ModerationItem[data-club-id],
.v423CustoLogoItem[data-submission-id],
.v423CustoLogoItem[data-club-id]{position:relative;}
.v424ModerationActions .v4Btn,
.v423CustoLogoItem .v4Btn{white-space:nowrap;}
@media(max-width:520px){
  .homeCoachV400 .v4TopBar.v424TopBar{grid-template-columns:minmax(0,1fr) auto auto !important;column-gap:5px !important;}
  .homeCoachV400 .v424TopBar .v4ViewSwitch{display:flex !important;grid-column:2 !important;grid-row:1 !important;width:auto !important;}
  .homeCoachV400 .v424TopBar .v4ViewSwitch button{padding:4px 6px !important;font-size:10px !important;}
  .homeCoachV400 .v424TopBar .v424HomeMenuBtn{grid-column:3 !important;grid-row:1 !important;}
  .homeCoachV400 .v424TopBar .v424HomeMenuBtn span{display:none !important;}
  .homeCoachV400 .v424TopBar .v4Eyebrow{display:none !important;}
  .homeCoachV400 .v424TopBar .v4Season{display:none !important;}
  .homeCoachV400 .v424TopBar .v4TeamSelect,
  .homeCoachV400 .v424TopBar .v4TeamStatic{font-size:15px;max-width:96px;}
  .v423CustoLogoItem{grid-template-columns:48px minmax(0,1fr) !important;align-items:start;}
  .v423CustoLogoItem .v424ModerationActions,
  .v423CustoLogoItem .v423DeleteLogoSubmission{grid-column:1/-1;justify-content:stretch;}
  .v423CustoLogoItem .v424ModerationActions .v4Btn,
  .v423CustoLogoItem .v423DeleteLogoSubmission{flex:1;}
}
@media(max-width:370px){
  .homeCoachV400 .v424TopBar .v4ViewSwitch button{padding:4px 5px !important;font-size:9px !important;}
  .homeCoachV400 .v424TopBar .v4TeamSelect,
  .homeCoachV400 .v424TopBar .v4TeamStatic{max-width:82px;}
}

/* =========================================================
   V4.2.7 - LOGO TAP + QUICK ORDER + FULL MENU FIX
========================================================= */
.v423LogoSubmit{touch-action:manipulation; cursor:pointer; -webkit-tap-highlight-color:transparent;}
.v423LogoSubmit.is-disabled{opacity:.58; filter:saturate(.75);}
.v424MenuPanel{max-height:calc(100vh - 28px); overflow:auto; -webkit-overflow-scrolling:touch;}
.v424MenuLinks a{gap:8px;}

/* V4.2.8 - Stabilisation ciblée Home logos / actualités / convocation */
.v423LogoSubmit{position:relative;z-index:3;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}
.v423LogoSubmit.is-disabled{pointer-events:auto!important;opacity:.58!important}
.v423LogoSubmit.is-busy{opacity:.78!important}
.homeCoachV400 .v4ConvActionRow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.homeCoachV400 .v4ConvActionRow .v4Btn{width:100%!important;min-height:34px!important;padding:8px 9px!important;font-size:12px!important;text-align:center!important;justify-content:center!important}
.homeCoachV400 .v4NewsCard{height:154px!important;min-height:154px!important;max-height:154px!important;width:154px!important;min-width:154px!important;flex-basis:154px!important}
.homeCoachV400 .v4NewsCard img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:0!important}
.homeCoachV400 .v4NewsFallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.7}
@media(max-width:520px){.homeCoachV400 .v4NewsCard{height:148px!important;min-height:148px!important;max-height:148px!important;width:150px!important;min-width:150px!important;flex-basis:150px!important}.homeCoachV400 .v4ConvActionRow{grid-template-columns:1fr 1fr!important}}

/* V4.2.9 - Home convocation buttons + quick scores + news compact */
.homeCoachV400 .v4ConvActionRow{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  align-items:center!important;
}
.homeCoachV400 .v4ConvActionRow .v4Btn{
  width:100%!important;
  min-height:30px!important;
  height:auto!important;
  padding:6px 8px!important;
  font-size:11.5px!important;
  line-height:1.12!important;
  border-radius:14px!important;
  white-space:normal!important;
  text-align:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.homeCoachV400 .v421AssignNumbers{grid-column:1!important;grid-row:1!important;}
.homeCoachV400 .v421ManageAnswers{grid-column:2!important;grid-row:1!important;}
.homeCoachV400 .v4NewsCard{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  width:148px!important;
  min-width:148px!important;
  flex-basis:148px!important;
}
.homeCoachV400 .v4NewsCard img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:520px){
  .homeCoachV400 .v4ConvActionRow{gap:7px!important;}
  .homeCoachV400 .v4ConvActionRow .v4Btn{font-size:11px!important;padding:6px 6px!important;min-height:30px!important;}
  .homeCoachV400 .v4NewsCard{height:126px!important;min-height:126px!important;max-height:126px!important;width:142px!important;min-width:142px!important;flex-basis:142px!important;}
}

/* V4.2.13 - Date/time/weather inline + next match safety */
.homeCoachV400 .v4211DateWeatherLine{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.homeCoachV400 .v4213DateWeatherText{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.homeCoachV400 .v4211WeatherBadge{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:0!important;
  margin-left:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-weight:800!important;
  font-size:12px!important;
  line-height:1!important;
  opacity:.96!important;
  vertical-align:middle!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v4211WeatherBadge .v4Icon{
  width:16px!important;
  height:16px!important;
  opacity:.95!important;
}
.homeCoachV400 .v4LaunchAction .v4Icon{
  width:18px!important;
  height:18px!important;
}
@media(max-width:390px){
  .homeCoachV400 .v4211DateWeatherLine{gap:5px!important;}
  .homeCoachV400 .v4213DateWeatherText{gap:4px!important;}
  .homeCoachV400 .v4211WeatherBadge{font-size:11px!important;}
  .homeCoachV400 .v4211WeatherBadge .v4Icon{width:15px!important;height:15px!important;}
}

/* V4.2.14 - HOME_STATUS_HEADER_UX_REFINEMENT */
.homeCoachV400 .v424HomeMenuBtn{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  justify-content:center!important;
  gap:0!important;
}
.homeCoachV400 .v424HomeMenuBtn span{display:none!important;}
.homeCoachV400 .v424HomeMenuBtn .v4Icon{width:17px!important;height:17px!important;}
.homeCoachV400 .v4214SystemMenu{width:min(280px,88vw)!important;padding:16px!important;}
.homeCoachV400 .v4214SystemMenu .v424MenuLinks{grid-template-columns:1fr!important;gap:8px!important;}
.homeCoachV400 .v4214SystemMenu .v424MenuLinks a{min-height:44px!important;font-size:13px!important;}
.homeCoachV400 .v4211DateWeatherLine{display:flex!important;align-items:center!important;gap:6px!important;}
.homeCoachV400 .v4213DateWeatherText{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0!important;}
.homeCoachV400 .v4211WeatherBadge{display:inline-flex!important;align-items:center!important;gap:3px!important;margin-left:0!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;}
.homeCoachV400 .v4211WeatherBadge .v4Icon{width:17px!important;height:17px!important;}
.homeCoachV400 .v4NewsCarouselBlock .v4CardKicker{letter-spacing:.08em!important;}
.homeCoachV400 .v4NewsAllCard{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.82))!important;color:#fff!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:12px!important;text-decoration:none!important;}
.homeCoachV400 .v4NewsAllCard .v4Icon{position:absolute!important;top:13px!important;right:13px!important;width:22px!important;height:22px!important;opacity:.82!important;}
.homeCoachV400 .v4NewsAllCard .v4NewsContent{position:relative!important;z-index:2!important;color:#fff!important;}
.homeCoachV400 .v4NewsAllCard .v4NewsContent small{color:rgba(255,255,255,.72)!important;}
.homeCoachV400 .v4NewsAllCard .v4NewsContent strong{color:#fff!important;}
.homeCoachV400 .v4ConvActionRow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:center!important;}
.homeCoachV400 .v4ConvActionRow .v4Btn{min-height:34px!important;padding:7px 8px!important;font-size:11.5px!important;white-space:normal!important;text-align:center!important;line-height:1.12!important;}
@media(max-width:390px){
  .homeCoachV400 .v4ConvActionRow{gap:6px!important;}
  .homeCoachV400 .v4ConvActionRow .v4Btn{font-size:11px!important;padding:7px 6px!important;}
  .homeCoachV400 .v4211WeatherBadge .v4Icon{width:16px!important;height:16px!important;}
}

/* =========================================================
   V4.2.15 PREMIUM MICRO INTERACTIONS + ADDRESS MODAL + THEME SYNC
   ========================================================= */
.homeCoachV400{
  --v4215-press-scale:.982;
}
.homeCoachV400 .v4Card,
.homeCoachV400 .v4Quick,
.homeCoachV400 .v4NewsCard{
  animation:v4215CardIn .22s ease-out both;
}
.homeCoachV400 .v4Quick:nth-child(2){animation-delay:.025s}
.homeCoachV400 .v4Quick:nth-child(3){animation-delay:.05s}
.homeCoachV400 .v4Quick:nth-child(4){animation-delay:.075s}
.homeCoachV400 .v4Quick:nth-child(5){animation-delay:.10s}
.homeCoachV400 .v4Quick:nth-child(6){animation-delay:.125s}
@keyframes v4215CardIn{from{opacity:.84;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.homeCoachV400 .v4QuickRail,
.homeCoachV400 .v4NewsRail{
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.homeCoachV400 .v4Quick,
.homeCoachV400 .v4NewsCard{scroll-snap-align:start;}
.homeCoachV400 .v4Quick:active,
.homeCoachV400 .v4Btn:active,
.homeCoachV400 .v4InfoAddress:active,
.homeCoachV400 .v4NewsCard:active{
  transform:scale(var(--v4215-press-scale)) translateZ(0)!important;
}
.homeCoachV400 .v4Quick[href="joueurs.html"] .v4Icon{
  opacity:.92;
  width:20px!important;
  height:20px!important;
}
.v4215AddressOverlay{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:end center;
  padding:14px;
  background:rgba(2,8,23,.34);
  backdrop-filter:blur(3px);
}
.v4215AddressModal{
  width:min(420px,100%);
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  padding:18px;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 70px rgba(15,23,42,.28);
  animation:v4215ModalIn .18s ease-out both;
  position:relative;
}
@keyframes v4215ModalIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.v4215AddressModal h3{margin:4px 40px 4px 0;font-size:20px;line-height:1.1;letter-spacing:-.035em;}
.v4215AddressModal p{margin:0 0 12px;color:#64748b;font-size:13px;font-weight:700;}
.v4215AddressInput{width:100%;min-height:44px;border-radius:16px;border:1px solid rgba(15,23,42,.14);padding:10px 12px;font-size:15px;box-sizing:border-box;}
.v4215AddressInput:focus{outline:3px solid rgba(96,165,250,.22);border-color:rgba(37,99,235,.42);}
.v4215ModalActions{display:flex;gap:8px;margin-top:12px;}
.v4215ModalActions .v4Btn{flex:1;}
.v4215ModalClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:999px;background:#f1f5f9;color:#0f172a;font-size:22px;line-height:1;}
#v4215ToastHost{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10040;display:grid;gap:8px;pointer-events:none;width:min(360px,calc(100vw - 28px));}
.v4215Toast{justify-self:center;background:rgba(15,23,42,.94);color:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 14px 36px rgba(15,23,42,.24);font-size:13px;font-weight:850;opacity:0;transform:translateY(8px);transition:.22s ease;}
.v4215Toast.show{opacity:1;transform:translateY(0);}
.homeCoachV400 .v4EmptyCard .v4CardTitle{font-size:15px;}
.homeCoachV400 .v4EmptyCard .v4Muted{opacity:.78;}
@media (prefers-reduced-motion: reduce){
  .homeCoachV400 .v4Card,
  .homeCoachV400 .v4Quick,
  .homeCoachV400 .v4NewsCard,
  .v4215AddressModal{animation:none!important;transition:none!important;}
}


/* =========================================================
   V4.2.16 HOME NEXT MATCH RECALC + THEME POLISH
   ========================================================= */
.homeCoachV400 .v4LaunchAction,
.homeCoachV400 .v4MainAction,
.homeCoachV400 .v4ConvActionRow .v4BtnPrimary,
.homeCoachV400 .v4EmptyCard .v4BtnPrimary,
.homeCoachV400 .v4215Save{
  background:var(--club-secondary)!important;
  color:#fff!important;
  border-color:color-mix(in srgb, var(--club-secondary), #fff 18%)!important;
}
.homeCoachV400 .v4LaunchAction .v4Icon,
.homeCoachV400 .v4MainAction .v4Icon,
.homeCoachV400 .v4ConvActionRow .v4BtnPrimary .v4Icon,
.homeCoachV400 .v4215Save .v4Icon{
  color:#fff!important;
  opacity:1!important;
}
.homeCoachV400 .v4Quick[href="joueurs.html"] .v4Icon,
.homeCoachV400 .v4Quick[href="joueurs.html"] svg.v4Icon{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--club-secondary)!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
}
#v4215ToastHost{
  z-index:2147483000!important;
  position:fixed!important;
  left:50%!important;
  bottom:max(18px, env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
}
.v4215Toast{will-change:opacity, transform;}
.homeCoachV400 .v4EmptyCard .v4ButtonRowCompact .v4Btn{flex:1 1 0;min-width:0;}
@media (min-width: 720px){
  #v4215ToastHost{bottom:28px!important;}
}

/* =========================================================
   V4.2.17 HOME MATCH CONTEXT SECURITY CLEANUP
   ========================================================= */
body.home-v4-page #globalActionsV3,
body.home-v4-page .globalActionsV3,
body.home-v4-page .globalIconV3,
body.home-v4-page #teamsViewButtonV186,
body.home-v4-page .teamsViewButtonV186{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.homeCoachV400 .v4Quick[href="joueurs.html"] .v4217UsersStableIcon{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--club-secondary)!important;
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v4Quick[href="joueurs.html"]:not(:has(.v4217UsersStableIcon))::before{
  content:'👥';
  display:block;
  font-size:19px;
  line-height:1;
  margin-bottom:1px;
}


/* V4.2.20 - corrections visibles safe */
.convocationBulkActionsV4220{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;}
.convocationBulkActionsV4220 button{border:1px solid rgba(11,61,110,.16);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer;}
.convocationBulkActionsV4220 button:first-child{background:#0b3d6e;color:#fff;border-color:#0b3d6e;}
.v4220JerseyCopyBtn{margin-left:6px;}
.jerseyLaundryCurrentV4220{padding:14px;border:1px solid rgba(11,61,110,.12);border-radius:16px;background:rgba(11,61,110,.04);}

/* V4.2.22 - Accès rapide Mes joueurs : chiffre seul sous le titre, sans modifier le JS Home */
.homeCoachV400 .v4Quick[href="joueurs.html"] strong{
  display:block;
  width:100%;
  margin-top:4px;
  font-size:1.45rem;
  line-height:1;
  font-weight:800;
}
.homeCoachV400 .v4Quick[href="joueurs.html"] small{
  display:none!important;
}

/* V4.3 - Home Club publique moderne & autofeed */
.clubPublicBodyV187{margin:0;background:#07111f;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#clubPublicRootV187{--public-primary:#0b3d6e;--public-secondary:#62b6ff;background:#07111f;min-height:100vh;color:#101827}
.publicAppShellV43{min-height:100vh;background:radial-gradient(circle at top left, color-mix(in srgb,var(--public-primary) 55%,#0b1120), #07111f 36%, #f4f7fb 36%);padding:12px 12px 28px;box-sizing:border-box}
.publicHeaderV43{position:sticky;top:8px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:620px;margin:0 auto 12px;padding:9px 10px;border-radius:24px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);box-shadow:0 18px 42px rgba(2,8,23,.18);border:1px solid rgba(255,255,255,.65)}
.publicHeaderClubV43{display:flex;align-items:center;gap:9px;min-width:0}.publicHeaderClubV43 strong{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#101827}.publicHeaderActionsV43{display:flex;align-items:center;gap:6px}.publicHeaderActionsV43 button,.publicFavBtnV43{border:0;border-radius:999px;background:#eef3f8;color:#101827;font-weight:900;min-height:36px;padding:0 10px;cursor:pointer}.publicHeaderActionsV43 button:not(.publicFavBtnV43){width:36px;padding:0}.publicFavBtnV43{font-size:.78rem}
.publicLogoBubbleV43{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.08);flex:0 0 auto}.publicLogoBubbleV43 img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}.publicLogoBubbleV43 span{font-size:.72rem;font-weight:950;color:var(--public-primary)}.publicLogoBubbleV43.big{width:72px;height:72px;border-radius:24px}.publicLogoBubbleV43.header{width:40px;height:40px}
.publicMenuPanelV43{max-width:620px;margin:-4px auto 12px;background:#fff;border-radius:22px;padding:10px;box-shadow:0 16px 34px rgba(2,8,23,.18);display:grid;gap:6px}.publicMenuPanelV43 a{color:#101827;text-decoration:none;font-weight:900;padding:12px;border-radius:16px;background:#f7f9fc}.publicMenuPanelV43[hidden]{display:none}
.publicTeamsStripV43,.publicHeroSwipeV43,.publicFlashV43,.publicBlockV43,.publicSponsorV43,.publicQuickNavV43,.publicFooterV43{max-width:620px;margin-left:auto;margin-right:auto}.publicSectionMiniTitleV43{display:flex;justify-content:space-between;align-items:center;margin:18px 2px 9px}.publicSectionMiniTitleV43 span{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#fff}.publicSectionMiniTitleV43 small,.publicSectionMiniTitleV43 button{color:#dbeafe;font-weight:850;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 10px}.publicSectionMiniTitleV43 button{cursor:pointer}
.publicHorizontalV43{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}.publicHorizontalV43::-webkit-scrollbar,.publicPhotoRailV43::-webkit-scrollbar{display:none}.publicTeamChipV43{scroll-snap-align:start;flex:0 0 158px;background:rgba(255,255,255,.94);border-radius:24px;padding:12px;color:#101827;box-shadow:0 16px 36px rgba(2,8,23,.16);border:1px solid rgba(255,255,255,.7)}.publicTeamTopV43{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.publicMiniBellV43{border:0;border-radius:999px;background:#eef3f8;width:34px;height:34px}.publicTeamChipV43 strong{display:block;font-size:1.05rem}.publicTeamChipV43 span{display:block;font-size:.88rem;color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publicTeamChipV43 small{display:block;margin-top:5px;color:#667085;font-weight:800}
.publicHorizontalV43.hero{gap:12px}.publicHeroCardV43{scroll-snap-align:center;flex:0 0 min(92vw,596px);min-height:330px;border-radius:34px;padding:22px;box-sizing:border-box;background:linear-gradient(145deg,#fff,#f1f6fb);box-shadow:0 22px 56px rgba(2,8,23,.24);border:1px solid rgba(255,255,255,.8);color:#101827;display:flex;flex-direction:column;justify-content:center}.publicMainMatchV43{background:linear-gradient(145deg,#ffffff 0%,#edf6ff 62%,color-mix(in srgb,var(--public-secondary) 24%,#fff) 100%)}.publicHeroKickerV43{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:950;color:var(--public-primary);margin-bottom:12px}.publicMatchLogosV43{display:flex;align-items:center;gap:13px;margin-bottom:14px}.publicMatchLogosV43>span{font-weight:950;color:#94a3b8}.publicHeroCardV43 h1{font-size:clamp(1.75rem,7vw,2.8rem);line-height:1.02;margin:0 0 14px}.publicHeroCardV43 h2{font-size:2rem;line-height:1.05;margin:0 0 12px}.publicHeroCardV43 p{color:#475467;line-height:1.42;margin:0}.publicHeroMetaV43{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 15px}.publicHeroMetaV43 span{border-radius:999px;background:#fff;padding:8px 10px;font-size:.82rem;font-weight:900;color:#263446;box-shadow:0 8px 18px rgba(15,23,42,.06)}.publicAddressBoxV43{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:auto;background:#fff;border-radius:22px;padding:10px;box-shadow:inset 0 0 0 1px #e6edf5}.publicAddressBoxV43 p{font-weight:850;color:#101827;font-size:.92rem}.publicAddressBoxV43 button,.publicAddressBoxV43 a{border:0;border-radius:999px;background:var(--public-primary);color:#fff;text-decoration:none;font-weight:950;padding:9px 11px;font-size:.78rem}.publicAddressBoxV43 a{background:#111827}.publicContextCardV43{background:linear-gradient(145deg,#101827,#1e293b);color:#fff;justify-content:flex-end}.publicContextCardV43 .publicHeroKickerV43{color:#bae6fd}.publicContextCardV43 h2{color:#fff}.publicContextCardV43 p{color:#dbeafe}.publicHeroEmptyV43{background:linear-gradient(145deg,#fff7ed,#ffffff)}
.publicFlashV43{background:rgba(255,255,255,.95);border-radius:26px;padding:14px;box-shadow:0 16px 38px rgba(2,8,23,.16);margin-top:10px}.publicFlashHeaderV43{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.publicFlashHeaderV43 strong{font-size:1.05rem}.publicFlashHeaderV43 span{font-size:.78rem;color:#667085;font-weight:850}.publicFlashListV43{display:grid;gap:7px}.publicFlashItemV43{display:flex;gap:8px;align-items:flex-start;background:#f7f9fc;border-radius:16px;padding:9px 10px}.publicFlashItemV43 b{flex:0 0 auto}.publicFlashItemV43 span{font-size:.92rem;color:#334155;font-weight:700;line-height:1.28}
.publicBlockV43{margin-top:14px}.publicPhotoRailV43{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.publicPhotoCardV43{position:relative;flex:0 0 142px;height:178px;border:0;border-radius:26px;overflow:hidden;background:#dbe4ef;padding:0;box-shadow:0 16px 34px rgba(2,8,23,.14)}.publicPhotoCardV43 img{width:100%;height:100%;object-fit:cover}.publicPhotoCardV43 span{position:absolute;right:9px;bottom:9px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.86);display:grid;place-items:center;font-weight:950;color:#e11d48}.publicHorizontalV43.scores{padding-bottom:10px}.publicScoreCardV43{scroll-snap-align:start;flex:0 0 238px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:#fff;border-radius:24px;padding:13px;box-shadow:0 16px 34px rgba(2,8,23,.12)}.publicScoreCardV43>div{display:grid;justify-items:center;gap:5px;min-width:0}.publicScoreCardV43 strong{font-size:.78rem;max-width:78px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publicScoreCardV43 p{margin:0;text-align:center}.publicScoreCardV43 p span{display:block;font-size:.68rem;font-weight:950;color:#64748b}.publicScoreCardV43 p span.live{color:#e11d48}.publicScoreCardV43 p b{font-size:1.5rem;color:#101827}.publicScoreCardV43 p small{display:block;color:#667085;font-weight:800}
.publicAutoNewsGridV43{display:grid;grid-template-columns:1fr 1fr;gap:10px}.publicAutoNewsCardV43{background:#fff;border-radius:24px;padding:14px;box-shadow:0 14px 30px rgba(2,8,23,.1)}.publicAutoNewsCardV43 span{font-size:1.4rem}.publicAutoNewsCardV43 strong{display:block;margin-top:5px;color:#101827}.publicAutoNewsCardV43 p{margin:4px 0 0;color:#667085;font-size:.88rem;line-height:1.3}.publicSponsorV43{margin-top:14px;border-radius:22px;padding:13px 16px;background:rgba(255,255,255,.9);display:flex;justify-content:space-between;align-items:center;color:#101827;box-shadow:0 12px 28px rgba(2,8,23,.1)}.publicSponsorV43 span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:950}.publicSponsorV43 strong{font-size:.95rem}
.publicQuickNavV43{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.publicQuickNavV43 a{text-align:center;text-decoration:none;color:#101827;background:#fff;border-radius:18px;padding:13px 6px;font-size:.85rem;font-weight:950;box-shadow:0 12px 25px rgba(2,8,23,.09)}.publicFooterV43{padding:28px 8px 6px;text-align:center;color:#dbeafe;display:grid;gap:4px}.publicFooterV43 strong{color:#fff}.publicFooterV43 span{font-size:.85rem}.publicEmptyCardV43{flex:1;min-height:70px;background:rgba(255,255,255,.92);border-radius:24px;padding:16px;color:#475467;font-weight:800;display:grid;place-items:center;text-align:center}
@media(min-width:780px){.publicAppShellV43{padding-top:24px}.publicHeaderV43,.publicTeamsStripV43,.publicHeroSwipeV43,.publicFlashV43,.publicBlockV43,.publicSponsorV43,.publicQuickNavV43,.publicFooterV43,.publicMenuPanelV43{max-width:760px}.publicHeroCardV43{flex-basis:680px}.publicPhotoCardV43{flex-basis:172px;height:210px}}
@media(max-width:420px){.publicFavBtnV43{display:none}.publicHeaderClubV43 strong{max-width:178px}.publicHeroCardV43{min-height:318px;padding:18px;border-radius:30px}.publicAddressBoxV43{grid-template-columns:auto 1fr;}.publicAddressBoxV43 button,.publicAddressBoxV43 a{grid-column:auto}.publicAutoNewsGridV43{grid-template-columns:1fr}.publicQuickNavV43{grid-template-columns:repeat(2,1fr)}}


/* V4.3.1 - Home Club intégrée : même langage visuel que Home Coach */
.homeCoachV400 .v431ClubTop .v4Season{display:none!important;}
.homeCoachV400 .v431ClubBlock{margin-top:12px;}
.homeCoachV400 .v431FavoritesRail .v431FavoriteTeam{min-width:148px;position:relative;padding-top:12px;}
.homeCoachV400 .v431MiniLogo{width:38px;height:38px;margin-bottom:6px;}
.homeCoachV400 .v431MiniLogo img{width:100%;height:100%;object-fit:contain;}
.homeCoachV400 .v431FavoriteTeam em{position:absolute;right:10px;top:10px;font-style:normal;font-size:13px;opacity:.85;}
.homeCoachV400 .v431TinyBtn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:var(--club-text,#fff);border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px;}
.homeCoachV400 .v431ClubHero .v4MatchActionsDual .v4Btn{justify-content:center;}
.homeCoachV400 .v431Flash{padding:14px 16px;margin-top:12px;}
.homeCoachV400 .v431FlashRail{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px;}
.homeCoachV400 .v431FlashRail span{flex:0 0 auto;max-width:82%;scroll-snap-align:start;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800;color:var(--club-text,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.homeCoachV400 .v431ScoreCard{min-width:132px;align-items:flex-start;}
.homeCoachV400 .v431ScoreCard strong{font-size:20px;line-height:1;margin:2px 0 1px;color:var(--club-text,#fff);}
.homeCoachV400 .v431ScoreCard span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:720px){
  .homeCoachV400 .v431FavoritesRail .v431FavoriteTeam{min-width:142px;}
  .homeCoachV400 .v431FlashRail span{max-width:86%;}
}

/* V4.3.4 - Home Club premium density */
.homeCoachV400 .v431ClubBlock,
.homeCoachV400 .v431Flash,
.homeCoachV400 .v4NewsCarouselBlock,
.homeCoachV400 .v421QuickBlock{margin-top:10px!important;}
.homeCoachV400 .v434FavoritesBlock{padding:12px 14px!important;}
.homeCoachV400 .v434OneLineTeams{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:0;}
.homeCoachV400 .v434OneLineTeams::-webkit-scrollbar{display:none;}
.homeCoachV400 .v434OneLineTeams .v431FavoriteTeam{flex:1 1 0;min-width:92px;max-width:150px;padding:10px 8px;min-height:96px;}
.homeCoachV400 .v434OneLineTeams .v431MiniLogo{width:30px;height:30px;margin-bottom:4px;}
.homeCoachV400 .v434OneLineTeams span{font-size:12px;}
.homeCoachV400 .v434OneLineTeams small{font-size:10px;line-height:1.18;}
.homeCoachV400 .v4HeroSwipeV434{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:10px;}
.homeCoachV400 .v4HeroSwipeV434::-webkit-scrollbar{display:none;}
.homeCoachV400 .v4HeroSwipeV434>.v4Card{flex:0 0 88%;scroll-snap-align:start;margin:0!important;}
.homeCoachV400 .v4HeroSwipeV434>.v434HeroMain{flex-basis:100%;}
.homeCoachV400 .v431ContextCard{min-height:176px;display:flex;flex-direction:column;justify-content:center;gap:10px;}
.homeCoachV400 .v431ContextCard strong{font-size:24px;color:var(--club-text,#fff);}
.homeCoachV400 .v431ContextCard p{margin:0;color:var(--club-muted,#cfe7ff);font-weight:800;line-height:1.35;}
.homeCoachV400 .v434FlashPremium{position:relative;overflow:hidden;padding:14px 16px!important;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border-color:rgba(255,255,255,.16);}
.homeCoachV400 .v434FlashPremium:before{content:"";position:absolute;inset:auto -30px -55px auto;width:160px;height:160px;border-radius:50%;background:rgba(98,182,255,.18);filter:blur(2px);}
.homeCoachV400 .v434FlashLead{position:relative;display:flex;gap:10px;align-items:center;padding:10px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);}
.homeCoachV400 .v434FlashLead svg,.homeCoachV400 .v434FlashLead>b{flex:0 0 auto;color:var(--club-secondary,#62b6ff);font-size:20px;}
.homeCoachV400 .v434FlashLead strong{display:block;color:var(--club-text,#fff);font-size:15px;line-height:1.1;}
.homeCoachV400 .v434FlashLead span{display:block;color:var(--club-muted,#cfe7ff);font-size:12px;font-weight:800;margin-top:3px;}
.homeCoachV400 .v434FlashList{position:relative;list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;}
.homeCoachV400 .v434FlashList li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;padding:6px 2px;border-bottom:1px solid rgba(255,255,255,.08);}
.homeCoachV400 .v434FlashList li:last-child{border-bottom:0;}
.homeCoachV400 .v434FlashList span{color:var(--club-text,#fff);font-weight:850;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.homeCoachV400 .v434FlashList small{color:var(--club-muted,#cfe7ff);font-size:11px;font-weight:800;}
.homeCoachV400 .v434ScoresBlock{padding:12px 14px!important;}
.homeCoachV400 .v434ScoresBlock .v4NewsHeader a,.homeCoachV400 .v434LifeBlock .v4NewsHeader a{font-size:11px;font-weight:900;color:var(--club-secondary,#62b6ff);text-decoration:none;}
.homeCoachV400 .v434ScoresRail{gap:8px;}
.homeCoachV400 .v431LiveScoreCard{flex:0 0 146px;scroll-snap-align:start;border-radius:16px;padding:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:var(--club-text,#fff);}
.homeCoachV400 .v431LiveScoreCard small{display:block;text-align:center;font-size:11px;font-weight:900;color:var(--club-text,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.homeCoachV400 .v434ScoreLogos{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin:7px 0 5px;}
.homeCoachV400 .v434ScoreLogos span{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);overflow:hidden;}
.homeCoachV400 .v434ScoreLogos img{max-width:100%;max-height:100%;object-fit:contain;}
.homeCoachV400 .v434ScoreLogos strong{text-align:center;font-size:20px;letter-spacing:.02em;}
.homeCoachV400 .v431LiveScoreCard em{display:block;text-align:center;font-style:normal;color:var(--club-muted,#cfe7ff);font-size:11px;font-weight:800;}
.homeCoachV400 .v434LifeBlock{margin-top:10px!important;}
.homeCoachV400 .v434LifeRail{gap:10px;padding-bottom:0;}
.homeCoachV400 .v434LifeCard{flex-basis:138px;height:152px;}
@media(max-width:430px){.homeCoachV400 .v434OneLineTeams .v431FavoriteTeam{min-width:84px}.homeCoachV400 .v431LiveScoreCard{flex-basis:138px}.homeCoachV400 .v4HeroSwipeV434>.v4Card{flex-basis:92%;}.homeCoachV400 .v4HeroSwipeV434>.v434HeroMain{flex-basis:100%;}}

/* V4.3.5 HOME CLUB LIVE FEED REFINEMENT */
.publicTeamsStripV43,.publicHeroSwipeV43,.publicFlashV43,.publicBlockV43,.publicSponsorV43,.publicQuickNavV43,.publicFooterV43{margin-top:0;margin-bottom:0}.publicSectionMiniTitleV43{margin:12px 2px 7px}.publicHorizontalV43{scroll-behavior:smooth}.publicHorizontalV43.hero{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:4px}.publicHeroSwipeV43{padding-top:0}.publicHeroCardV43{scroll-snap-align:center}
.publicTeamsLineRailV435{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 0 4px}.publicTeamsLineRailV435::-webkit-scrollbar{display:none}.publicTeamLineV435{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;gap:8px;min-height:34px;max-width:92vw;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);color:#fff;white-space:nowrap}.publicTeamLineV435 strong{font-size:.82rem;font-weight:950}.publicTeamLineV435 b{font-size:.8rem;font-weight:850;max-width:180px;overflow:hidden;text-overflow:ellipsis}.publicTeamLineV435 small{font-size:.76rem;color:#dbeafe;font-weight:800}.publicTeamLineV435 .publicMiniBellV43{width:25px;height:25px;font-size:.72rem;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.18);padding:0}.publicEmptyCardV43.compact{padding:8px 12px;border-radius:999px;min-width:max-content}
.publicFlashV43{position:relative;overflow:hidden;border-radius:0;background:linear-gradient(90deg,rgba(2,8,23,.52),rgba(15,23,42,.22));border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:none;padding:8px 12px;margin-top:8px}.publicFlashHeaderV43{margin:0 0 5px}.publicFlashHeaderV43 strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#fff}.publicFlashHeaderV43 span{font-size:.7rem;color:#bae6fd;text-transform:uppercase;letter-spacing:.08em}.publicFlashListV43{position:relative;height:30px;overflow:hidden;display:block}.publicFlashItemV43{position:absolute;inset:0;display:flex;gap:8px;align-items:center;background:transparent;border-radius:0;padding:0;opacity:0;transform:translateX(100%);transition:transform .42s ease,opacity .42s ease}.publicFlashItemV43.active{opacity:1;transform:translateX(0)}.publicFlashItemV43 b{font-size:.96rem}.publicFlashItemV43 span{color:#fff;font-size:.88rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:30px}
.publicNotificationsV435{max-width:620px;margin:8px auto 0;background:rgba(255,255,255,.96);color:#111827;border-radius:22px;padding:12px;box-shadow:0 18px 45px rgba(2,8,23,.22);border:1px solid rgba(255,255,255,.6)}.publicNotificationsV435>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.publicNotificationsV435 strong{font-size:.92rem}.publicCloseNotifV435{border:0;background:#eef2f7;border-radius:999px;width:28px;height:28px;font-weight:950}.publicNotificationsV435 ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.publicNotificationsV435 li{font-size:.86rem;font-weight:760;padding:7px 8px;border-radius:12px;background:#f8fafc;display:flex;gap:7px}.publicNotificationsV435 li span{overflow:hidden;text-overflow:ellipsis}.publicAddBriefV435{margin-top:8px;width:100%;border:0;border-radius:14px;padding:9px;background:var(--public-primary);color:#fff;font-weight:950}
.publicScoresBlockV435{margin-top:6px}.publicHorizontalV43.scores{gap:8px;padding-bottom:5px}.publicScoreCardV43{flex-basis:230px;min-height:94px;border-radius:19px;padding:10px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,249,255,.92));box-shadow:0 14px 30px rgba(2,8,23,.16)}.publicScoreCardV43 p b{font-size:1.45rem}.publicScoreCardV43 .publicLogoBubbleV43{width:38px;height:38px}.publicScoreCardV43 strong{font-size:.74rem}.publicScoreCardV43 p span.live{color:#e11d48}.publicLifeRailV435{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;-webkit-overflow-scrolling:touch}.publicLifeRailV435::-webkit-scrollbar{display:none}.publicLifeCardV435{scroll-snap-align:start;flex:0 0 142px;height:154px;border:0;border-radius:22px;overflow:hidden;position:relative;background:rgba(255,255,255,.93);box-shadow:0 15px 32px rgba(2,8,23,.18);color:#111827;text-align:left}.publicLifeCardV435.photo img{width:100%;height:100%;object-fit:cover;display:block}.publicLifeCardV435.photo span{position:absolute;left:10px;bottom:10px;background:rgba(15,23,42,.68);color:#fff;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:950}.publicLifeCardV435.brief{display:flex;flex-direction:column;justify-content:flex-end;padding:12px;background:linear-gradient(145deg,#fff,#eaf4ff)}.publicLifeCardV435.brief span{font-size:1.35rem;margin-bottom:auto}.publicLifeCardV435.brief strong{font-size:.9rem;line-height:1.08}.publicLifeCardV435.brief small{margin-top:6px;font-size:.75rem;color:#475569;font-weight:850}.publicAutoNewsGridV43{gap:8px}.publicAutoNewsCardV43{padding:12px;border-radius:18px}.publicQuickNavV43{margin-top:8px}.publicSponsorV43{margin-top:8px;padding:10px 12px}.publicBlockV43{margin-top:4px}.publicHeaderV43{margin-bottom:8px}
@media(max-width:420px){.publicTeamLineV435 b{max-width:128px}.publicTeamLineV435 small{max-width:94px;overflow:hidden;text-overflow:ellipsis}.publicHeroCardV43{min-height:300px}.publicFlashV43{margin-left:-2px;margin-right:-2px}.publicNotificationsV435{margin-left:0;margin-right:0}.publicScoreCardV43{flex-basis:214px}.publicLifeCardV435{flex-basis:132px;height:146px}}
.publicFlashItemV43.prev{opacity:0;transform:translateX(-100%)}


/* V4.3.6 — Home Club réelle intégrée au switch Coach/Club */
.homeCoachV400 .v431ClubBlock,.homeCoachV400 .v436FavoritesCompact,.homeCoachV400 .v436ScoresBlock{margin-top:8px!important;margin-bottom:0!important;}
.homeCoachV400 .v436CompactHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 6px;}
.homeCoachV400 .v436CompactHeader span{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:var(--club-muted,#cfe7ff);}
.homeCoachV400 .v436CompactHeader a,.homeCoachV400 .v436CompactHeader button{font-size:11px;font-weight:900;color:var(--club-secondary,#62b6ff);text-decoration:none;background:transparent;border:0;padding:0;}
.homeCoachV400 .v436TeamsTickerRail{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 1px 2px;}
.homeCoachV400 .v436TeamsTickerRail::-webkit-scrollbar{display:none;}
.homeCoachV400 .v436TeamTickerLine{flex:1 0 auto;min-width:min(92vw,420px);display:grid;grid-template-columns:auto 18px minmax(92px,1fr) auto 20px;align-items:center;gap:6px;padding:8px 9px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 20px rgba(0,0,0,.10);scroll-snap-align:start;white-space:nowrap;}
.homeCoachV400 .v436TeamTickerLine strong{font-size:12px;font-weight:950;color:var(--club-text,#fff);}
.homeCoachV400 .v436TeamSide{font-size:13px;text-align:center;}
.homeCoachV400 .v436TeamGame{font-size:12px;font-weight:850;color:var(--club-text,#fff);overflow:hidden;text-overflow:ellipsis;}
.homeCoachV400 .v436TeamTickerLine small{font-size:11px;font-weight:850;color:var(--club-muted,#cfe7ff);}
.homeCoachV400 .v436TeamTickerLine em{font-style:normal;font-size:13px;opacity:.8;}
.homeCoachV400 .v436HeroNativeSwipe{margin-top:8px!important;overflow:hidden;}
.homeCoachV400 .v436HeroRail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:1px;}
.homeCoachV400 .v436HeroRail::-webkit-scrollbar{display:none;}
.homeCoachV400 .v436HeroRail>.v4Card{flex:0 0 88%;scroll-snap-align:start;margin:0!important;}
.homeCoachV400 .v436HeroRail>.v434HeroMain{flex-basis:100%;}
.homeCoachV400 .v436FlashTicker{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:8px;padding:9px 11px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 26px rgba(0,0,0,.13);overflow:hidden;}
.homeCoachV400 .v436TickerLabel{position:relative;display:grid;gap:0;line-height:1.05;}
.homeCoachV400 .v436TickerLabel strong{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.11em;color:var(--club-text,#fff);}
.homeCoachV400 .v436TickerLabel em{font-size:10px;font-style:normal;font-weight:850;color:var(--club-secondary,#62b6ff);}
.homeCoachV400 .v436TickerViewport{position:relative;height:24px;overflow:hidden;}
.homeCoachV400 .v436TickerItem{position:absolute;inset:0;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;transform:translateX(105%);opacity:0;transition:transform .48s ease,opacity .48s ease;}
.homeCoachV400 .v436TickerItem.active{transform:translateX(0);opacity:1;}
.homeCoachV400 .v436TickerItem.leaving{transform:translateX(-105%);opacity:0;}
.homeCoachV400 .v436TickerItem b{font-size:15px;}
.homeCoachV400 .v436TickerItem span{font-size:12px;font-weight:900;color:var(--club-text,#fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.homeCoachV400 .v436TickerItem small{font-size:10px;font-weight:850;color:var(--club-muted,#cfe7ff);white-space:nowrap;}
/* LOT8 (Point 5) : l'appui long ouvre le message complet. Sans ces règles, iOS/Android
   déclenchent la sélection de texte + le callout natif par-dessus le popup.
   touch-action:manipulation supprime aussi le délai de 300ms sans bloquer le scroll
   vertical de la page (pan-y conservé par 'manipulation'). */
.homeCoachV400 .v436FlashTicker{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;}
/* LOT8 (Point 5) : le texte tronqué dans le ticker doit s'afficher EN ENTIER ici —
   surcharge du 'p' générique du modal V4215 (gris/tronquable) : couleur pleine,
   taille lisible, retour à la ligne garanti y compris sur un mot très long. */
.v115FlashOverlay .v115FlashFullText{color:#0f172a;font-size:15px;font-weight:700;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;max-height:52vh;overflow-y:auto;}
.homeCoachV400 .v436BellBtn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.10);color:var(--club-text,#fff);display:grid;place-items:center;font-size:15px;}
.homeCoachV400 .v436NotifPanel{position:fixed;z-index:80;top:76px;right:12px;left:12px;max-width:420px;margin:auto;padding:13px;border-radius:22px;background:rgba(8,22,43,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.32);backdrop-filter:blur(14px);}
.homeCoachV400 .v436NotifPanel>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#fff;}
.homeCoachV400 .v436CloseNotif{border:0;background:rgba(255,255,255,.12);color:#fff;width:28px;height:28px;border-radius:999px;font-size:18px;}
.homeCoachV400 .v436NotifPanel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.homeCoachV400 .v436NotifPanel li{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:center;padding:8px;border-radius:14px;background:rgba(255,255,255,.08);color:#fff;}
.homeCoachV400 .v436NotifPanel li span{font-size:12px;font-weight:850;}
.homeCoachV400 .v436AddBrief{margin-top:9px;width:100%;border:0;border-radius:14px;padding:9px;background:var(--club-secondary,#62b6ff);color:#06172d;font-weight:950;}
.homeCoachV400 .v436ScoresBlock{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.homeCoachV400 .v436ScoresRail{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px;}
.homeCoachV400 .v436ScoresRail::-webkit-scrollbar{display:none;}
.homeCoachV400 .v436ScorePremium{flex:0 0 178px;scroll-snap-align:start;padding:10px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);box-shadow:0 10px 24px rgba(0,0,0,.12);}
.homeCoachV400 .v436ScoreMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.homeCoachV400 .v436ScoreMeta span{font-size:11px;font-weight:950;color:var(--club-muted,#cfe7ff);}
.homeCoachV400 .v436ScoreMeta em{font-size:10px;font-style:normal;font-weight:950;color:var(--club-muted,#cfe7ff);}
.homeCoachV400 .v436ScoreMeta em.is-live{color:#ff5757;}
.homeCoachV400 .v436ScoreTeams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;text-align:center;}
.homeCoachV400 .v436ScoreTeams>div{min-width:0;display:grid;gap:4px;justify-items:center;}
.homeCoachV400 .v436ScoreTeams img{width:34px;height:34px;object-fit:contain;border-radius:50%;}
.homeCoachV400 .v436ScoreTeams small{max-width:58px;font-size:10px;font-weight:850;color:var(--club-text,#fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.homeCoachV400 .v436ScoreTeams strong{font-size:18px;font-weight:950;color:var(--club-text,#fff);}
@media(max-width:430px){.homeCoachV400 .v436TeamTickerLine{min-width:calc(100vw - 30px);grid-template-columns:auto 17px minmax(80px,1fr) auto 18px;padding:7px 8px}.homeCoachV400 .v436HeroRail>.v4Card{flex-basis:92%}.homeCoachV400 .v436HeroRail>.v434HeroMain{flex-basis:100%;}}

/* =========================================================
   V4.4 — HERO VISUAL STORYBOARD ENGINE
   Home Club only. Ratio stable, swipe natif, fallbacks premium.
========================================================= */
.homeCoachV400 .v44HeroStoryboard{
  margin:14px 0 12px;
  width:100%;
}
.homeCoachV400 .v44HeroRail{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 12px;
}
.homeCoachV400 .v44HeroRail::-webkit-scrollbar{height:0;}
.homeCoachV400 .v44HeroCard{
  position:relative;
  flex:0 0 min(92vw, 720px);
  aspect-ratio:16 / 9;
  min-height:245px;
  border-radius:28px;
  overflow:hidden;
  scroll-snap-align:start;
  background:linear-gradient(135deg,var(--club-bg-dark,#071726),rgba(255,255,255,.08));
  color:var(--club-text,#f7fbff);
  box-shadow:0 22px 55px rgba(0,0,0,.22);
  isolation:isolate;
}
.homeCoachV400 .v44HeroCard::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--v44-hero-img), radial-gradient(circle at 25% 20%, rgba(255,255,255,.28), transparent 28%), linear-gradient(135deg,var(--club-primary,#0b3d6e),var(--club-secondary,#6ec6ff));
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  transition:transform .35s ease;
  z-index:-2;
}
.homeCoachV400 .v44HeroCard:active::before{transform:scale(1.05);}
.homeCoachV400 .v44HeroShade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,8,18,.88),rgba(2,8,18,.46) 58%,rgba(2,8,18,.18)), linear-gradient(0deg,rgba(2,8,18,.58),transparent 45%);
  z-index:-1;
}
.homeCoachV400 .v44HeroContent{
  position:absolute;
  inset:auto 18px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  max-width:88%;
}
.homeCoachV400 .v44HeroKicker{
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(12px);
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.86);
}
.homeCoachV400 .v44HeroContent h2{
  margin:0;
  font-size:clamp(1.35rem,5vw,2.45rem);
  line-height:1.02;
  letter-spacing:-.045em;
  text-shadow:0 6px 22px rgba(0,0,0,.34);
}
.homeCoachV400 .v44HeroContent p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.98rem;
  line-height:1.35;
  max-width:56ch;
}
/* V15r4 — Composition d'équipe : liste des joueurs sous le titre, en plus petit et plus discret. */
.v44HeroContent .v44HeroRoster{
  margin:.35rem 0 0;
  color:rgba(255,255,255,.72);
  font-size:.82rem;
  line-height:1.3;
  max-width:60ch;
  font-weight:400;
}
@media (max-width:600px){
  .v44HeroContent .v44HeroRoster{font-size:.76rem;}
}
/* V15r6 — Photos du match : bouton CTA vers la page photos. */
.v44HeroContent .v44HeroCta{
  display:inline-block;
  margin:.6rem 0 0;
  padding:.4rem .9rem;
  background:rgba(255,255,255,.92);
  color:#12263a;
  font-size:.82rem;
  font-weight:600;
  border-radius:999px;
  text-decoration:none;
  transition:background .15s ease, transform .15s ease;
}
.v44HeroContent .v44HeroCta:hover{
  background:#fff;
  transform:translateY(-1px);
}
/* V15r8 — bouton icône "Passer au match suivant" en overlay de la carte Résultat Sport Pack.
   Calqué sur le crayon admin (.v44HeroEdit) mais décalé à sa gauche (right:52px) pour coexister. */
.v44HeroCard .v15r8SportPackNext{
  position:absolute;
  top:12px;
  right:52px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:none;
  border-radius:50%;
  background:rgba(0,0,0,.32);
  color:#fff;
  font-size:15px;
  line-height:1;
  cursor:pointer;
  z-index:3;
  transition:background .15s ease, transform .15s ease;
}
.v44HeroCard .v15r8SportPackNext:hover{
  background:rgba(0,0,0,.5);
  transform:scale(1.08);
}
/* Si l'admin n'a PAS le crayon sur cette carte, le bouton reprend le coin standard. */
.v44HeroCard:not(:has(.v44HeroEdit)) .v15r8SportPackNext{ right:12px; }
/* TS-3b (révisé t23) — bouton « Activer le mode Trêve ».
   t21 : overlay absolu bas-droite → masquait le logo/nom de l'équipe adverse.
   t22 : replacé dans le flux de .v44HeroContent, juste après la ligne méta — mais
   align-self:flex-start le collait à GAUCHE (retour device Dan, capture 13/07,
   bouton attendu à droite). t23 : align-self:flex-end (même ligne, aligné à
   droite). Toujours discret, teinte orange vive, plus de position absolue donc
   toujours aucun risque de chevauchement. Règle AUTOSUFFISANTE. */
.v44HeroCard .v44HeroCta.v7ts3BreakBtn{
  display:inline-flex;
  align-items:center;
  align-self:flex-end;
  margin-top:2px;
  width:max-content;
  max-width:100%;
  padding:.22rem .6rem;  /* discret, dans l'esprit du texte méta */
  font-size:.7rem;
  font-weight:700;
  color:#ffd9b0;         /* orange vif, lisible sur le dégradé sombre */
  background:transparent;
  border:1px solid rgba(249,115,22,.65);
  border-radius:999px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.v44HeroCard .v44HeroCta.v7ts3BreakBtn:hover{
  background:rgba(249,115,22,.22);
  color:#fff;
}
.homeCoachV400 .v44Teams{
  display:flex;
  align-items:center;
  gap:12px;
  margin:3px 0 2px;
}
.homeCoachV400 .v44Teams > div{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.homeCoachV400 .v44Teams img,
.homeCoachV400 .v44Teams .v4LogoFallback{
  width:38px;
  height:38px;
  border-radius:14px;
  object-fit:cover;
  background:rgba(255,255,255,.16);
}
.homeCoachV400 .v44Teams strong{
  max-width:145px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.homeCoachV400 .v44Teams > span{
  font-weight:900;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}
.homeCoachV400 .v44HeroMeta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.homeCoachV400 .v44HeroMeta span,
.homeCoachV400 .v44Address{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
}
.homeCoachV400 .v44Address{
  border-radius:14px;
  width:fit-content;
  max-width:95%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.homeCoachV400 .v44HeroActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.homeCoachV400 .v44HeroActions button{
  border:0;
  border-radius:999px;
  padding:9px 12px;
  font-weight:800;
  background:rgba(255,255,255,.92);
  color:#08111d;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.homeCoachV400 .v44HeroActions button:last-child{background:var(--club-secondary,#6ec6ff);}
.homeCoachV400 .v44HeroEdit,
.homeCoachV400 .v44HeroAdminOpen{
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  color:#fff;
  backdrop-filter:blur(12px);
  font-weight:900;
}
.homeCoachV400 .v44HeroEdit{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
}
.homeCoachV400 .v44HeroAdminOpen{padding:9px 13px;}
.homeCoachV400 .v44HeroFallback-stadium::before{background-image:radial-gradient(circle at 80% 12%,rgba(255,255,255,.38),transparent 16%),linear-gradient(135deg,#071726,var(--club-primary,#0b3d6e) 52%,var(--club-secondary,#6ec6ff));}
.homeCoachV400 .v44HeroFallback-rain::before{background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.22) 0 2px,transparent 2px 14px),linear-gradient(135deg,#102033,#35546c);}
.homeCoachV400 .v44HeroFallback-sun::before{background-image:radial-gradient(circle at 78% 18%,rgba(255,241,166,.85),transparent 18%),linear-gradient(135deg,#0b3d6e,#75c7ff);}
.homeCoachV400 .v44HeroFallback-fog::before{background-image:linear-gradient(135deg,rgba(255,255,255,.42),transparent),linear-gradient(135deg,#41505f,#8796a6);}
.homeCoachV400 .v44HeroFallback-lights::before{background-image:radial-gradient(circle at 30% 0,rgba(255,255,255,.62),transparent 21%),radial-gradient(circle at 78% 12%,rgba(255,255,255,.42),transparent 18%),linear-gradient(135deg,#06131f,var(--kf-primary));}
.homeCoachV400 .v44HeroFallback-locker::before{background-image:linear-gradient(135deg,#261c18,#5f2f21 52%,#d7a55d);}
.homeCoachV400 .v44HeroFallback-duel::before{background-image:linear-gradient(135deg,#09111c,#641f2c 48%,var(--club-primary,#0b3d6e));}
.homeCoachV400 .v44HeroFallback-celebration::before{background-image:radial-gradient(circle at 75% 18%,rgba(255,255,255,.5),transparent 18%),linear-gradient(135deg,#102416,#1d6f3e 55%,#eac15a);}
.homeCoachV400 .v44HeroFallback-emotion::before{background-image:linear-gradient(135deg,#1b1021,#3b244f 58%,#ba6b67);}
.homeCoachV400 .v44HeroFallback-ball::before{background-image:radial-gradient(circle at 78% 58%,rgba(255,255,255,.35),transparent 20%),linear-gradient(135deg,#0b151f,#274c33);}
.homeCoachV400 .v44HeroFallback-table::before{background-image:linear-gradient(135deg,#101b2a,var(--kf-primary) 58%,#b7d9ff);}
.homeCoachV400 .v44HeroFallback-mosaic::before{background-image:linear-gradient(45deg,rgba(255,255,255,.16) 25%,transparent 25% 50%,rgba(255,255,255,.12) 50% 75%,transparent 75%),linear-gradient(135deg,#111827,var(--club-primary,#0b3d6e));background-size:42px 42px,cover;}
.homeCoachV400 .v44HeroFallback-club-life::before{background-image:linear-gradient(135deg,#221b2f,#24555c 55%,#f0c987);}
.v44HeroAdminOverlay{
  position:fixed;
  inset:0;
  background:rgba(3,8,16,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:9999;
}
.v44HeroAdminPanel{
  width:min(520px,96vw);
  max-height:88vh;
  overflow:auto;
  border-radius:24px;
  background:#fff;
  color:#111827;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  padding:22px;
  position:relative;
}
.v44HeroAdminPanel.wide{width:min(680px,96vw);}
.v44HeroAdminClose{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#eef2f7;
  font-size:22px;
}
.v44HeroAdminPanel label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:14px 0;
  font-weight:700;
}
.v44HeroAdminPanel input[type="text"]{
  width:100%;
  border:1px solid #d6dde8;
  border-radius:14px;
  padding:11px 12px;
}
.v44HeroHint{color:#64748b;font-size:.92rem;line-height:1.35;}
/* T14 — popup date de reprise multi-équipes : une ligne par équipe */
.v7tResumeList{display:flex;flex-direction:column;gap:8px;margin:14px 0;max-height:min(50vh,360px);overflow-y:auto;}
.v7tResumeRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-weight:700;}
.v7tResumeTeam{flex:0 0 auto;min-width:96px;}
.v7tResumeRow input[type="date"]{flex:1 1 auto;max-width:200px;border:1px solid #d6dde8;border-radius:14px;padding:10px 12px;font-weight:600;}
.v44HeroAdminActions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px;}
.v44HeroAdminActions button,
.v44HeroAdminList button{
  border:0;
  border-radius:14px;
  padding:11px 14px;
  font-weight:800;
  background:#eef2f7;
}
.v44HeroAdminActions .v44HeroSave{background:#102033;color:#fff;}
.v44HeroAdminList{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:16px;}
.v44HeroAdminList button{text-align:left;display:flex;flex-direction:column;gap:4px;}
.v44HeroAdminList span{font-size:.82rem;color:#64748b;font-weight:600;}
@media (max-width:560px){
  .homeCoachV400 .v44HeroCard{flex-basis:88vw;min-height:220px;border-radius:24px;}
  .homeCoachV400 .v44HeroContent{inset:auto 14px 14px 14px;max-width:92%;}
  .homeCoachV400 .v44HeroContent p{font-size:.9rem;}
  .homeCoachV400 .v44Teams{gap:8px;}
  .homeCoachV400 .v44Teams img,.homeCoachV400 .v44Teams .v4LogoFallback{width:32px;height:32px;border-radius:12px;}
  .homeCoachV400 .v44Teams strong{max-width:96px;font-size:.9rem;}
  .homeCoachV400 .v44HeroMeta span{font-size:.78rem;}
}

/* =========================================================
   V4.4.1 — HERO UX PATCH
   Mes équipes cliquable + cloche compacte + upload Hero preview.
========================================================= */
.homeCoachV400 .v441TeamHeroJump{
  border:1px solid rgba(255,255,255,.12);
  appearance:none;
  text-align:left;
  cursor:pointer;
  color:inherit;
}
.homeCoachV400 .v441TeamHeroJump:hover,
.homeCoachV400 .v441TeamHeroJump:focus-visible{
  outline:0;
  background:rgba(255,255,255,.16);
  transform:translateY(-1px);
}
.homeCoachV400 .v441TeamHeroJump.is-active{
  border-color:rgba(255,255,255,.36);
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.09));
}
.homeCoachV400 .v441TeamHeroJump em{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
}
.homeCoachV400 .v431ClubTop{
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:8px;
}
.homeCoachV400 .v431ClubTop .v436BellBtn{
  order:2;
  width:36px;
  height:36px;
  margin-left:0;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.homeCoachV400 .v431ClubTop .v44HeroAdminOpen{order:1;}
.homeCoachV400 .v431ClubTop .v424HomeMenuBtn{order:3;}
.homeCoachV400 .v431ClubTop .v4ViewSwitch{grid-column:1 / -1;}
.homeCoachV400 .v436NotifPanel{
  top:68px;
  right:14px;
  left:auto;
  margin:0;
  width:min(390px,calc(100vw - 28px));
}
.v44HeroCheck{
  flex-direction:row!important;
  align-items:center;
  gap:10px!important;
}
.v44HeroCheck input{width:auto;}
.v44HeroUploadBox{
  margin:14px 0;
  display:grid;
  gap:10px;
}
.v44HeroPreview{
  position:relative;
  aspect-ratio:16 / 9;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(135deg,#e8eef7,#f8fafc);
  border:1px dashed #b9c4d4;
  display:grid;
  place-items:center;
  color:#64748b;
  font-weight:850;
}
.v44HeroPreview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.v44HeroPreview.has-image{border-style:solid;background:#111827;}
.v44HeroUploadBtn{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:12px 14px;
  border-radius:16px;
  background:#102033;
  color:#fff;
  cursor:pointer;
  font-weight:900;
  text-align:center;
}
.v44HeroUploadBtn input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
@media(max-width:430px){
  .homeCoachV400 .v431ClubTop{grid-template-columns:minmax(0,1fr) auto auto auto;}
  .homeCoachV400 .v431ClubTop .v44HeroAdminOpen{padding:8px 10px;font-size:.78rem;}
  .homeCoachV400 .v436NotifPanel{top:64px;right:10px;width:calc(100vw - 20px);}
}

/* V4.4.1 header correction: cloche vraiment collée à Accueil Club */
.homeCoachV400 .v424TopBar .v441ClubIdentityWithBell{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
.homeCoachV400 .v424TopBar .v441BellInline{
  position:relative!important;
  flex:0 0 auto!important;
  width:30px!important;
  height:30px!important;
  margin-left:2px!important;
  padding:0!important;
  font-size:14px!important;
  order:initial!important;
}
.homeCoachV400 .v431ClubTop .v44HeroAdminOpen{
  grid-column:2!important;
  grid-row:1!important;
  order:initial!important;
}
.homeCoachV400 .v431ClubTop .v424HomeMenuBtn{
  grid-column:4!important;
  grid-row:1!important;
  order:initial!important;
}
.homeCoachV400 .v431ClubTop .v4ViewSwitch{
  grid-column:3!important;
  grid-row:1!important;
}
@media(max-width:520px){
  .homeCoachV400 .v431ClubTop .v44HeroAdminOpen{display:none!important;}
  .homeCoachV400 .v431ClubTop .v4ViewSwitch{grid-column:2!important;}
  .homeCoachV400 .v431ClubTop .v424HomeMenuBtn{grid-column:3!important;}
}

/*******************************************************************
 * V4.5.2 - Guidage première connexion
 *******************************************************************/
.urwFirstSetupOverlayV452{
  position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center;
  padding:18px; background:rgba(8,18,32,.62); backdrop-filter:blur(8px);
}
.urwFirstSetupOverlayV452.open{display:flex;}
.urwFirstSetupCardV452{
  width:min(720px,100%); max-height:92vh; overflow:auto; border-radius:24px; padding:22px;
  background:var(--club-card-bg,#fff); color:var(--club-text,#172033);
  box-shadow:0 24px 70px rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.25);
}
.urwFirstSetupTopV452{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:10px;}
.urwFirstSetupKickerV452{margin:0 0 4px; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--club-primary,#0b3d6e);}
.urwFirstSetupTopV452 h2{margin:0; font-size:1.45rem; line-height:1.1;}
.urwFirstSetupCloseV452{border:0; background:rgba(0,0,0,.06); border-radius:999px; width:36px; height:36px; font-size:24px; line-height:1; cursor:pointer;}
.urwFirstSetupBlockV452{margin-top:16px; padding:14px; border-radius:18px; background:rgba(11,61,110,.06); border:1px solid rgba(11,61,110,.09);}
.urwFirstSetupBlockV452 h3{margin:0 0 10px; font-size:1rem;}
.urwFirstSetupRolesV452{display:flex; flex-wrap:wrap; gap:10px;}
.urwFirstSetupRolesV452 label,.urwFirstSetupTeamV452{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:14px;
  background:rgba(255,255,255,.78); border:1px solid rgba(0,0,0,.08); cursor:pointer;
}
.urwFirstSetupTeamsV452{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px;}
.urwFirstSetupMiniActionsV452{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.urwFirstSetupMiniActionsV452 button{font-size:.85rem; padding:7px 10px; border-radius:12px;}
.urwFirstSetupGridV452{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px;}
.urwFirstSetupGridV452 label{display:flex; flex-direction:column; gap:6px; font-weight:700;}
.urwFirstSetupGridV452 select{width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.16); background:#fff;}
.urwFirstSetupActionsV452{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:18px;}
.urwFirstSetupActionsV452 button{font-weight:800; padding:11px 16px; border-radius:14px;}
.urwFirstSetupEmptyV452{padding:12px; border-radius:14px; background:rgba(255,193,7,.14); border:1px solid rgba(255,193,7,.35);}
@media (max-width:640px){
  .urwFirstSetupOverlayV452{align-items:flex-end; padding:10px;}
  .urwFirstSetupCardV452{border-radius:24px 24px 14px 14px; padding:18px; max-height:88vh;}
  .urwFirstSetupTopV452 h2{font-size:1.25rem;}
}

/* ==========================================================
   V4.5.8 - Module Actualités factorisé
   ========================================================== */

/* =====================================================
   URW V6.1 - DESIGN SYSTEM PREMIUM FOUNDATION
   Objectif : socle visuel global, sans refonte fonctionnelle.
===================================================== */
:root{
  --club-primary: var(--main-color, #0b3d6e);
  --club-secondary: #5bb7d7;
  --bg-main: #f3f6fa;
  --bg-surface: #ffffff;
  --card-bg: rgba(255,255,255,.96);
  --card-bg-soft: rgba(11,61,110,.045);
  --text-main: #102338;
  --text-soft: #64748b;
  --border-soft: rgba(16,35,56,.11);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 26px;
  --shadow-soft: 0 10px 30px rgba(16,35,56,.07);
  --shadow-card: 0 16px 44px rgba(16,35,56,.09);
  --field-height: 44px;
  --tap-height: 44px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --transition-fast: 160ms ease;
}

html{background:var(--bg-main);}
body{
  background:
    radial-gradient(circle at top left, rgba(91,183,215,.16), transparent 34vw),
    linear-gradient(180deg,#f8fbff 0%,var(--bg-main) 44%,#eef3f8 100%);
  color:var(--text-main);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

header{
  background:linear-gradient(135deg,var(--club-primary),var(--club-bg-dark,var(--club-primary)));
  box-shadow:0 10px 30px rgba(8,47,86,.16);
}

.card{
  background:var(--card-bg);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}

input,select,textarea,button,a.button,.buttonLike{
  font:inherit;
  box-sizing:border-box;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
select,
textarea{
  min-height:var(--field-height);
  border:1px solid rgba(16,35,56,.16);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.96);
  color:var(--text-main);
  padding:0 13px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

textarea{padding:12px 13px;line-height:1.35;}

input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
select:focus,
textarea:focus{
  border-color:rgba(11,61,110,.52);
  box-shadow:0 0 0 4px rgba(91,183,215,.16);
  background:#fff;
}

button,a.button,.buttonLike{
  min-height:var(--tap-height);
  border-radius:999px;
  padding:10px 16px;
  background:linear-gradient(135deg,var(--club-primary),var(--club-bg-dark,var(--club-primary)));
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 20px rgba(11,61,110,.14);
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast);
}

button:hover,a.button:hover,.buttonLike:hover{opacity:.96;transform:translateY(-1px);box-shadow:0 12px 26px rgba(11,61,110,.18);}
button:active,a.button:active,.buttonLike:active{transform:translateY(0) scale(.99);}
button:disabled{opacity:.58;cursor:not-allowed;transform:none;}

/* URW — Sécurité contraste : un bouton à fond clair doit avoir un texte foncé.
   Évite définitivement le "texte blanc sur fond clair". Cible les motifs de fond clair courants. */
button[style*="background:#f"],button[style*="background: #f"],
button[style*="background:#e"],button[style*="background: #e"],
button[style*="background:#fff"],button[style*="background:white"],
.publicLightboxV187 button,.convocationBulkActionsV4220 button,
.v44HeroAdminActions button,.v44HeroAdminList button{
  color:#1f2937;
}

.main-menu{
  border-bottom:1px solid rgba(11,61,110,.09);
  box-shadow:0 8px 22px rgba(16,35,56,.045);
}

.main-menu a,.main-menu strong{
  border-radius:999px;
  transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.main-menu a:hover{background:rgba(11,61,110,.08);transform:translateY(-1px);}

@media(max-width:760px){
  .card{margin:10px;padding:13px;border-radius:18px;}
  header{padding:12px 14px;}
  header h1{font-size:1.35rem;line-height:1.1;margin:0;}
  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea,button,a.button,.buttonLike{min-height:44px;}
}

/* =====================================================
   URW V6.2 - DESIGN LANGUAGE FOUNDATION
   Objectif : langage visuel commun à 2 intensités.
   Niveau 1 : pages immersion/public. Niveau 2 : pages outil/travail.
===================================================== */
:root{
  --club-primary: var(--main-color, #0b3d6e);
  --club-secondary: var(--secondary-color, #5bb7d7);

  --bg-main: #f3f6fa;
  --bg-surface: #ffffff;
  --bg-card: rgba(255,255,255,.96);
  --bg-card-soft: rgba(11,61,110,.055);

  --text-main: #102338;
  --text-soft: #64748b;
  --text-muted: #8a9bad;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 26px;

  --shadow-soft: 0 10px 30px rgba(16,35,56,.07);
  --shadow-card: 0 18px 46px rgba(16,35,56,.095);
  --shadow-hover: 0 22px 52px rgba(16,35,56,.13);

  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 22px;

  --transition-fast: 160ms ease;
  --transition-normal: 240ms ease;
  --field-height: 44px;
  --tap-height: 44px;
  --border-soft: rgba(16,35,56,.105);
}

.urw-page{
  color:var(--text-main);
  background:
    radial-gradient(circle at top left, rgba(91,183,215,.14), transparent 34vw),
    linear-gradient(180deg,#f8fbff 0%,var(--bg-main) 52%,#eef3f8 100%);
}

.urw-page-immersion{
  background:
    radial-gradient(circle at 14% 0%, rgba(91,183,215,.20), transparent 30vw),
    radial-gradient(circle at 96% 8%, rgba(11,61,110,.13), transparent 34vw),
    linear-gradient(180deg,#f7fbff 0%,#eef4f9 56%,#e9f0f7 100%);
}

.urw-page .card{
  border:1px solid var(--border-soft);
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.965));
  box-shadow:var(--shadow-card);
}

.urw-page-immersion > section.card{
  position:relative;
  overflow:hidden;
}
.urw-page-immersion > section.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--club-primary),var(--club-secondary));
  opacity:.82;
}

.urw-page header{
  min-height:72px;
  padding:14px 18px;
  background:
    linear-gradient(135deg, rgba(11,61,110,.98), rgba(8,47,86,.96)),
    var(--club-primary);
  box-shadow:0 14px 34px rgba(8,47,86,.18);
}
.urw-page header h1{
  margin:0;
  letter-spacing:-.035em;
  line-height:1.05;
}

.urw-page .menu-toggle{
  margin:12px 10px 0;
}

.urw-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.urw-page select,
.urw-page textarea{
  min-height:var(--field-height);
  border-radius:var(--radius-md);
  border:1px solid rgba(16,35,56,.15);
  background:rgba(255,255,255,.97);
  color:var(--text-main);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.urw-page button,
.urw-page a.button,
.urw-page .buttonLike{
  min-height:var(--tap-height);
  border-radius:999px;
  font-weight:850;
  letter-spacing:-.01em;
}

.urw-page button:not(.menu-toggle):not(.scoreDeleteBtn):not(.toggleRankV361):not(.rankUpV361):not(.rankDownV361):not(.deleteCatV361):not(.deleteTeamV3614){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.urw-page .formRow,
.urw-form-row{
  display:flex;
  align-items:center;
  gap:var(--spacing-sm);
  flex-wrap:wrap;
}
.urw-page .formRow > input:not([type="checkbox"]):not([type="radio"]),
.urw-page .formRow > select{
  flex:1 1 180px;
}

.urw-surface,
.card-standard{
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  background:var(--bg-card);
  box-shadow:var(--shadow-soft);
}
.card-premium{
  border:1px solid rgba(255,255,255,.46);
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,248,253,.96));
  box-shadow:var(--shadow-card);
}
.card-compact{
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 22px rgba(16,35,56,.055);
}
.card-live{
  border:1px solid rgba(26,188,105,.20);
  border-radius:var(--radius-lg);
  background:linear-gradient(90deg,rgba(26,188,105,.10),rgba(255,255,255,.96) 32%);
  box-shadow:0 12px 30px rgba(26,188,105,.09);
}

.btn-primary{background:linear-gradient(135deg,var(--club-primary),var(--club-bg-dark,var(--club-primary)))!important;color:#fff!important;}
.btn-secondary{background:rgba(11,61,110,.08)!important;color:var(--club-primary)!important;border-color:rgba(11,61,110,.12)!important;box-shadow:none!important;}
.btn-ghost{background:transparent!important;color:var(--club-primary)!important;border-color:rgba(11,61,110,.16)!important;box-shadow:none!important;}
.btn-icon{width:var(--tap-height);min-width:var(--tap-height);padding:0!important;border-radius:999px!important;}

.urw-page button:hover,
.urw-page a.button:hover,
.urw-page .buttonLike:hover{
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast);
}

/* Classement : page visible, premium sobre mais sans nouvelle logique. */
.urw-page-classement #categoryManagementSection .card,
.urw-page-classement section.card:has(#classementRoot){
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.urw-page-classement section.card:has(#classementRoot)>h2{
  margin-bottom:14px;
  letter-spacing:-.035em;
}
.urw-page-classement .classementTeamNavV3611{
  padding:5px;
  border-radius:999px;
  background:rgba(11,61,110,.055);
  border:1px solid rgba(11,61,110,.08);
}
.urw-page-classement .classementTeamNavV3611 button{
  min-height:36px;
  border-radius:999px;
  box-shadow:none;
}
.urw-page-classement #classementRoot .classementBlockV3611,
.urw-page-classement #classementRoot .classementBlockV3614{
  border-radius:var(--radius-xl)!important;
  border:1px solid rgba(16,35,56,.10)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.96))!important;
  box-shadow:var(--shadow-soft)!important;
  overflow:hidden;
}
.urw-page-classement #classementRoot .classementHeaderV361,
.urw-page-classement #classementRoot .classementHeaderV3614{
  padding:12px 14px;
  margin:-12px -12px 12px;
  background:linear-gradient(90deg,rgba(11,61,110,.09),rgba(91,183,215,.08));
  border-bottom:1px solid rgba(16,35,56,.075);
}
.urw-page-classement #classementRoot .classementTitleV361{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--text-main);
}
.urw-page-classement #classementRoot .classementTitleV361 strong,
.urw-page-classement #classementRoot .rankNameV361{
  font-size:1.04rem;
  letter-spacing:-.025em;
}
.urw-page-classement #classementRoot .toggleRankV361,
.urw-page-classement #classementRoot .rankUpV361,
.urw-page-classement #classementRoot .rankDownV361,
.urw-page-classement #classementRoot .deleteCatV361,
.urw-page-classement #classementRoot .deleteTeamV3614{
  min-height:32px;
  min-width:32px;
  border-radius:999px;
  padding:0 9px;
  box-shadow:none;
  background:rgba(255,255,255,.75);
  color:var(--club-primary)!important;
  border:1px solid rgba(11,61,110,.11);
}
.urw-page-classement #classementRoot .classementGoldTableV3614{
  border-collapse:separate!important;
  border-spacing:0 6px!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 thead th{
  color:var(--text-muted);
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  border:0!important;
  background:transparent!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody tr{
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 16px rgba(16,35,56,.045);
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td{
  border-top:1px solid rgba(16,35,56,.07)!important;
  border-bottom:1px solid rgba(16,35,56,.07)!important;
  background:transparent!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:first-child{
  border-left:1px solid rgba(16,35,56,.07)!important;
  border-radius:14px 0 0 14px;
  color:var(--club-primary);
  font-weight:950;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:last-child{
  border-right:1px solid rgba(16,35,56,.07)!important;
  border-radius:0 14px 14px 0;
}
.urw-page-classement #classementRoot .pointsEditV3611{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.urw-page-classement #classementRoot .pointsEditV3611 input{
  min-height:34px!important;
  border-radius:12px!important;
  font-weight:950;
}
.urw-page-classement #classementRoot .pointsEditV3611 button{
  min-height:30px!important;
  min-width:30px!important;
  border-radius:999px!important;
  padding:0!important;
  box-shadow:none!important;
}
.urw-page-classement .classementTeamFormV3614{
  padding:10px;
  border-radius:18px;
  background:rgba(11,61,110,.045);
  border:1px solid rgba(11,61,110,.075);
  margin-bottom:10px;
}

@media(max-width:760px){
  .urw-page header{min-height:64px;padding:12px 14px;}
  .urw-page header h1{font-size:1.34rem;}
  .urw-page .card{border-radius:20px;margin:10px;padding:14px;}
  .urw-page-classement #classementRoot .classementHeaderV361,
  .urw-page-classement #classementRoot .classementHeaderV3614{margin:-14px -14px 10px;padding:11px 12px;}
  .urw-page-classement #classementRoot .classementGoldTableV3614{border-spacing:0 5px!important;}
  .urw-page-classement #classementRoot .classementGoldTableV3614 thead th{font-size:.62rem;letter-spacing:.05em;}
  .urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:first-child{border-radius:12px 0 0 12px;}
  .urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:last-child{border-radius:0 12px 12px 0;}
}

/* =====================================================
   URW V6.3 - SPORT IDENTITY AND DEPTH SYSTEM
   Montée en gamme émotionnelle et visuelle, sans nouvelle logique.
===================================================== */
:root{
  --sport-depth-bg-1:#f7fbff;
  --sport-depth-bg-2:#eef4fa;
  --sport-surface-1:rgba(255,255,255,.985);
  --sport-surface-2:rgba(247,251,255,.955);
  --sport-shadow-float:0 18px 50px rgba(16,35,56,.105);
  --sport-shadow-row:0 9px 24px rgba(16,35,56,.075);
  --sport-score-shadow:0 10px 24px rgba(16,35,56,.105), inset 0 1px 0 rgba(255,255,255,.95);
  --sport-line:rgba(16,35,56,.085);
}

.urw-page-immersion{
  background:
    radial-gradient(circle at 10% -4%, rgba(91,183,215,.24), transparent 28vw),
    radial-gradient(circle at 92% 4%, rgba(11,61,110,.16), transparent 32vw),
    linear-gradient(180deg,var(--sport-depth-bg-1) 0%,var(--sport-depth-bg-2) 52%,#e8f0f7 100%);
}

.urw-page header{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(135deg, rgba(7,25,43,.98), rgba(11,61,110,.96) 56%, rgba(8,47,86,.98)),
    var(--club-primary);
}
.urw-page header::after{
  content:"";
  position:absolute;
  inset:auto 18px 0 18px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  opacity:.7;
}
.urw-page header h1{font-weight:950;text-shadow:0 2px 16px rgba(0,0,0,.18);}

.urw-page .card{
  background:
    linear-gradient(180deg,var(--sport-surface-1),var(--sport-surface-2));
  box-shadow:var(--sport-shadow-float);
  border-color:rgba(255,255,255,.52);
}
.urw-page-immersion > section.card::before{
  height:3px;
  opacity:.72;
  filter:saturate(.9);
}

.urw-page button,
.urw-page a.button,
.urw-page .buttonLike{
  transition:transform 150ms ease, box-shadow 150ms ease, background 150ms ease, opacity 150ms ease;
}
.urw-page button:active,
.urw-page a.button:active,
.urw-page .buttonLike:active{transform:scale(.985);}

/* Classement : sensation championnat sportif premium */
.urw-page-classement section.card:has(#classementRoot){
  background:
    radial-gradient(circle at 8% 0%, rgba(91,183,215,.10), transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(245,249,253,.965));
}
.urw-page-classement section.card:has(#classementRoot)>h2{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:950;
}
.urw-page-classement section.card:has(#classementRoot)>h2::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--club-primary),var(--club-secondary));
  box-shadow:0 0 0 5px rgba(91,183,215,.12);
}
.urw-page-classement #classementRoot .classementBlockV3611,
.urw-page-classement #classementRoot .classementBlockV3614{
  position:relative;
  box-shadow:0 16px 42px rgba(16,35,56,.085)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(246,250,254,.965))!important;
}
.urw-page-classement #classementRoot .classementBlockV3611::before,
.urw-page-classement #classementRoot .classementBlockV3614::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:linear-gradient(90deg,var(--club-primary),var(--club-secondary));
  opacity:.46;
}
.urw-page-classement #classementRoot .classementHeaderV361,
.urw-page-classement #classementRoot .classementHeaderV3614{
  background:
    radial-gradient(circle at 2% 0%, rgba(255,255,255,.75), transparent 22%),
    linear-gradient(90deg,rgba(11,61,110,.105),rgba(91,183,215,.085));
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody tr{
  box-shadow:var(--sport-shadow-row);
  transition:transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody tr:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(16,35,56,.105);
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td{
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:first-child{
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,rgba(11,61,110,.07),rgba(91,183,215,.055))!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(2){
  text-align:left;
  font-weight:900;
  letter-spacing:-.02em;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(2)::before{
  content:"";
  display:inline-block;
  width:22px;
  height:22px;
  margin-right:7px;
  border-radius:8px;
  vertical-align:-6px;
  background:
    linear-gradient(135deg,rgba(11,61,110,.15),rgba(91,183,215,.18));
  border:1px solid rgba(11,61,110,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.urw-page-classement #classementRoot .pointsEditV3611 input{
  font-variant-numeric:tabular-nums;
  box-shadow:var(--sport-score-shadow)!important;
}

/* Home Club / Home Coach : harmonisation légère uniquement */
.homeCoachV400 .v44HeroCard,
.homeCoachV400 .v436ScorePremium,
.homeCoachV400 .v4Card{
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.homeCoachV400 .v44Teams img,
.homeCoachV400 .v44Teams .v4LogoFallback{
  box-shadow:0 8px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.35);
}
.homeCoachV400 .v44HeroCard:active{transform:scale(.992);}

@media(max-width:760px){
  .urw-page header{border-radius:0 0 22px 22px;}
  .urw-page-classement #classementRoot .classementGoldTableV3614 tbody td{padding:8px 5px!important;}
  .urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(2)::before{width:18px;height:18px;border-radius:7px;margin-right:5px;vertical-align:-4px;}
}

/* =====================================================
   URW V6.3.3 - classement sportif plus natif, sans refonte fonctionnelle
===================================================== */
.urw-page-classement #classementRoot .classementGoldTableV3614{
  border-collapse:separate!important;
  border-spacing:0 6px!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 thead th{
  color:rgba(16,35,56,.56)!important;
  font-size:.68rem!important;
  letter-spacing:.09em!important;
  font-weight:900!important;
  text-transform:uppercase;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody tr{
  box-shadow:0 7px 18px rgba(16,35,56,.065)!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td{
  border-top:1px solid rgba(16,35,56,.055)!important;
  border-bottom:1px solid rgba(16,35,56,.055)!important;
  background:rgba(255,255,255,.94)!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:first-child{
  width:42px;
  border-left:1px solid rgba(16,35,56,.055)!important;
  border-radius:14px 0 0 14px!important;
  font-size:1rem;
  font-weight:950;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:last-child{
  border-right:1px solid rgba(16,35,56,.055)!important;
  border-radius:0 14px 14px 0!important;
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(2)::before{
  width:24px;
  height:24px;
  border-radius:9px;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.92),rgba(255,255,255,0) 36%),
    linear-gradient(135deg,rgba(11,61,110,.14),rgba(85,183,217,.18));
  border:1px solid rgba(11,61,110,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 5px 12px rgba(16,35,56,.08);
}
.urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(3){
  font-variant-numeric:tabular-nums;
  font-weight:950;
  font-size:1rem;
}

/* Home Club / Home Coach : harmonisation légère des mini scores, sans restructuration */
.homeCoachV400 .v436ScorePremium{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,253,.965));
  border:1px solid rgba(255,255,255,.54);
}
.homeCoachV400 .v436ScoreTeams strong,
.homeCoachV400 .v44Teams.compact > span{
  min-width:74px;
  padding:7px 10px;
  border-radius:11px;
  background:linear-gradient(180deg,var(--kf-primary),#0e2237);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-variant-numeric:tabular-nums;
  box-shadow:0 10px 22px rgba(14,34,55,.20),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.18);
}
.homeCoachV400 .v436ScoreMeta em.is-live{
  border-radius:7px;
  font-size:.62rem;
  letter-spacing:.11em;
  font-weight:950;
}
@media(max-width:760px){
  .urw-page-classement #classementRoot .classementGoldTableV3614 tbody td:nth-child(2)::before{width:20px;height:20px;border-radius:8px;}
}

/* V6.4.1 - Contact devient la fiche locale du club */
.contactLogoRowV641{align-items:flex-start;}
.contactLogoControlV641{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}
.contactLogoPreviewV641{width:72px;height:72px;border-radius:18px;background:#f8fafc;border:1px solid rgba(15,23,42,.12);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px rgba(15,23,42,.08);color:#64748b;font-size:.8rem;font-weight:800;letter-spacing:.02em;}
.contactLogoPreviewV641 img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box;background:#fff;}
.contactLogoPreviewV641.isEmpty{background:linear-gradient(180deg,#fff,#f8fafc);}
.contactLogoActionsV641{display:flex;flex-direction:column;gap:8px;min-width:0;}
.contactLogoActionsV641 input[type="file"]{max-width:100%;}
.contactLogoActionsV641 button{width:max-content;max-width:100%;}
#clubAliases{min-width:0;}
@media(max-width:640px){.contactLogoControlV641{align-items:flex-start;}.contactLogoPreviewV641{width:60px;height:60px;border-radius:15px}.contactLogoActionsV641 button{width:100%;}}

/* V6.4.2 — Contact devient la fiche locale du club, Customisation garde les réglages app */
.movedClubIdentityV642 {
  border-left: 4px solid rgba(11, 61, 110, 0.18);
}
.v642ContactShortcut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #0b3d6e;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(11, 61, 110, 0.14);
}
.v642ContactShortcut:hover { filter: brightness(1.04); }
.contactClubProfileV642 h2 { margin-bottom: 6px; }
.communityClubStatusV642 { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.v642StatusHeader { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.v642StatusPill {
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 10px; border-radius:999px;
  font-size:12px; font-weight:800; letter-spacing:.01em;
  border:1px solid rgba(15,23,42,.08); background:#fff;
}
.v642StatusPill::before { content:""; width:8px; height:8px; border-radius:999px; background:#94a3b8; }
.v642StatusPill.pending::before { background:#f59e0b; }
.v642StatusPill.approved::before { background:#16a34a; }
.v642StatusPill.local::before { background:#64748b; }
.v642CommunityFields {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:8px;
}
.v642CommunityFields div {
  min-width:0;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
}
.v642CommunityFields span { display:block; color:#64748b; font-size:12px; font-weight:700; margin-bottom:2px; }
.v642CommunityFields strong { display:block; color:#0f172a; font-size:14px; overflow-wrap:anywhere; }
.v642InlineHelp { flex-basis:100%; margin:2px 0 0; }
@media (max-width: 640px){
  .v642CommunityFields { grid-template-columns: 1fr; }
  .v642ContactShortcut { width:100%; }
}

/* V6.4.3 — Onboarding fiche locale du club */
.bootstrapClubProfileV643{
  border-top:1px solid rgba(12,31,54,.08);
}
.urwSetupKickerV643{
  margin:0 0 4px;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:#64748b;
}
.bootstrapProfileGridV643{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  margin:14px 0 18px;
}
.bootstrapProfileGridV643 .formRow,
.bootstrapLogoRowV643{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bootstrapProfileGridV643 label{
  font-size:.82rem;
  font-weight:800;
  color:#334155;
}
.bootstrapWideV643{
  grid-column:1 / -1;
}
.bootstrapLogoInlineV643{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.bootstrapLogoPreviewV643{
  width:54px;
  height:54px;
  border-radius:16px;
  border:1px solid rgba(12,31,54,.12);
  background:linear-gradient(180deg,#fff,#f8fafc);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  color:#94a3b8;
  font-size:.72rem;
  font-weight:800;
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}
.bootstrapLogoPreviewV643 img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
}
@media (max-width:720px){
  .bootstrapProfileGridV643{ grid-template-columns:1fr; }
  .bootstrapLogoInlineV643{ align-items:flex-start; }
}

/* V6.4.4 — parcours Contact → Customisation */
.contactOnboardingActionsV644{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(15,23,42,.10);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.contactOnboardingActionsV644.isOnboardingV644{
  background:rgba(11,61,110,.045);
  border:1px solid rgba(11,61,110,.12);
  border-radius:18px;
  padding:14px;
}
.contactOnboardingActionsV644 .small-help{margin:0;max-width:520px;}
.primaryActionLinkV644{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:#0b3d6e;
  color:#fff!important;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 10px 22px rgba(11,61,110,.18);
  border:0;
  cursor:pointer;
  font-family:inherit;
  font-size:.95rem;
}
.primaryActionLinkV644:active{transform:translateY(1px);}
.custoEntryNoteV644{
  margin:8px 0 14px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(11,61,110,.07);
  color:#0b3d6e;
  font-weight:700;
}
@media (max-width:720px){
  .contactOnboardingActionsV644{align-items:stretch;}
  .primaryActionLinkV644{width:100%;}
}

/* URW V6.5.0 - boutons placeholder visuels FB */
.urwFbPlaceholderV650,
.urwFbPlaceholderV650 button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px dashed rgba(11,61,110,.35);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.72);
  color:rgba(11,61,110,.72);
  font-weight:700;
  font-size:13px;
  line-height:1.1;
  cursor:not-allowed;
  opacity:.78;
}
.urwFbPlaceholderV650 span{
  font-size:11px;
  font-weight:600;
  opacity:.7;
}
.scoresFbBarV60.urwFbPlaceholderV650{
  width:auto;
  min-width:0;
  margin:0;
}
.scoresFbBarV60.urwFbPlaceholderV650 button{
  border:0;
  background:transparent;
  padding:0;
}
@media(max-width:700px){
  #siteHeader .urwFbPlaceholderV650{
    width:100%;
    margin-top:8px;
    flex-wrap:wrap;
  }
}

/* =====================================================
   URW V6.6 — Functional UI Standard Foundation
   Scope pilote : page Classement. Réutilisable ensuite.
===================================================== */
:root{
  --urw-club-primary: var(--club-primary, var(--kf-primary));
  --urw-club-secondary: var(--club-secondary, #0b5ed7);
  --urw-club-dark: var(--club-bg-dark, #061b46);
  --urw-club-accent: var(--club-accent, #1f6fd6);
  --urw-functional-bg: #f3f6fb;
  --urw-card-bg: rgba(255,255,255,.96);
  --urw-border: rgba(6,27,70,.12);
  --urw-text: #0b1735;
  --urw-muted: rgba(11,23,53,.62);
  --urw-shadow: 0 18px 48px rgba(6,27,70,.12);
}
body.urw-functional-page{
  margin:0!important;
  max-width:none!important;
  min-height:100vh;
  padding:0!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(31,111,214,.10), transparent 30%),
    linear-gradient(135deg, #f7f9fd 0%, var(--urw-functional-bg) 100%)!important;
  color:var(--urw-text);
  overflow-x:hidden;
}
.urw-page-classement #siteHeader,
.urw-page-classement .menu-toggle{display:none!important;}
.urw-page-classement #mainMenu{
  position:fixed;
  top:76px;
  right:18px;
  z-index:1000;
  width:min(320px, calc(100vw - 36px));
  max-height:calc(100vh - 96px);
  overflow:auto;
  display:none;
  padding:14px;
  border:1px solid var(--urw-border);
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:var(--urw-shadow);
}
.urw-page-classement #mainMenu.open{display:block;}
.urw-page-classement #mainMenu a{border-radius:12px;}
.urw-functional-shell{min-height:100vh;}
.urw-functional-topbar{
  min-height:76px;
  padding:14px clamp(16px, 4vw, 42px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(135deg, var(--urw-club-dark), var(--urw-club-primary));
  color:#fff;
  box-shadow:0 12px 28px rgba(6,27,70,.18);
}
.urw-functional-context{display:flex;gap:34px;align-items:center;min-width:0;}
.urw-context-item{display:grid;gap:2px;min-width:0;}
.urw-context-item span{font-size:.78rem;line-height:1;color:rgba(255,255,255,.78);}
.urw-context-item strong{font-size:1rem;line-height:1.18;color:#fff;white-space:nowrap;}
.urw-functional-top-actions{display:flex;align-items:center;gap:14px;}
.urw-icon-button{
  width:42px;height:42px;border:0;border-radius:14px;background:transparent;color:#fff;
  display:grid;place-items:center;padding:0;cursor:pointer;
}
.urw-icon-button svg{width:23px;height:23px;}
.urw-top-club-logo,
.urw-functional-club-logo .urw-top-club-logo{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  color:#fff;font-weight:900;border:1px solid rgba(255,255,255,.24);overflow:hidden;
  background:rgba(255,255,255,.12);
}
.urw-top-club-logo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box;}
.urw-functional-main{padding:clamp(18px, 4vw, 38px);}
.urw-functional-card{
  width:min(1120px, 100%);
  margin:0 auto;
  border:1px solid var(--urw-border);
  border-radius:28px;
  background:var(--urw-card-bg);
  box-shadow:var(--urw-shadow);
  padding:clamp(18px, 3vw, 28px);
  box-sizing:border-box;
  overflow:hidden;
}
.urw-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;}
.urw-page-identity{display:flex;align-items:center;gap:18px;min-width:0;}
.urw-page-icon{
  width:68px;height:68px;border-radius:22px;display:grid;place-items:center;
  background:linear-gradient(145deg, rgba(31,111,214,.10), rgba(255,255,255,.92));
  color:var(--urw-club-secondary);
  border:1px solid rgba(31,111,214,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  flex:0 0 auto;
}
.urw-page-icon svg{width:34px;height:34px;}
.urw-page-title{font-size:clamp(1.8rem, 3.3vw, 2.35rem)!important;line-height:1.02;margin:0!important;color:var(--urw-club-dark)!important;font-weight:900;letter-spacing:-.04em;}
.urw-page-subtitle{margin:8px 0 0;color:var(--urw-muted);font-size:1rem;}
.urw-page-actions{display:flex;gap:12px;align-items:center;}
.urw-btn-primary,.urw-btn-secondary{
  min-height:42px;border-radius:999px;padding:0 22px;border:1px solid var(--urw-border);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;cursor:pointer;
  font-size:.92rem;text-decoration:none;white-space:nowrap;box-sizing:border-box;
}
.urw-btn-primary{background:var(--urw-club-primary);color:#fff;border-color:transparent;}
.urw-btn-secondary{background:#fff;color:var(--urw-text);}
.urw-btn-secondary svg{width:18px;height:18px;color:var(--urw-club-primary);}
.urw-ranking-admin-panel{margin:0 0 14px;}
.urw-admin-inline{display:flex;gap:10px;align-items:center;padding:12px;border:1px dashed var(--urw-border);border-radius:18px;background:rgba(244,247,252,.72);}
.urw-admin-inline select{min-height:42px;border-radius:14px;border:1px solid var(--urw-border);padding:0 12px;background:#fff;flex:1;
  /* CORRECTIF « selecteur trop long, bouton hors ecran » (rapport Dan).
     CAUSE : flex:1 seul ne suffit pas a retrecir un <select> — un item flex
     a par defaut min-width:auto, qui l'empeche de descendre sous la largeur
     intrinseque de son contenu. Cette largeur grossit des qu'UNE equipe a
     deja un classement : populateTeamSelectV96B (lot t96b) ajoute alors
     " (classement deja cree)" a son option, et WebKit peut dimensionner la
     boite fermee du select sur SA PLUS LARGE option, pas seulement celle
     selectionnee. min-width:0 est le correctif standard de ce piege flexbox
     (documente MDN) ; il vaut aussi pour le mode grid pris par
     urw-functional-core.css plus bas dans la cascade — les deux regles qui
     stylent ce select recoivent donc le meme correctif. */
  min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;
}
.urw-ranking-root{display:grid;gap:14px;}
.urw-ranking-section{border:1px solid var(--urw-border);border-radius:20px;background:#fff;overflow:hidden;}
.urw-ranking-section-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(6,27,70,.08);}
.urw-ranking-section-header h2{margin:0;font-size:1rem;color:var(--urw-text);font-weight:900;}
.urw-collapse-btn,.urw-mini-icon{border:1px solid var(--urw-border);background:#fff;color:var(--urw-club-primary);border-radius:11px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;}
.urw-collapse-btn{width:32px;height:32px;}
.urw-collapse-btn svg{width:18px;height:18px;transition:transform .18s ease;}
.urw-ranking-section.is-collapsed .urw-collapse-btn svg{transform:rotate(-90deg);}
.urw-ranking-section.is-collapsed .urw-sport-table-wrap,
.urw-ranking-section.is-collapsed .urw-ranking-team-form{display:none;}
.urw-rank-title-input{height:38px;border-radius:12px;border:1px solid transparent;background:rgba(244,247,252,.8);padding:0 10px;font-weight:900;color:var(--urw-text);min-width:0;}
.urw-rank-tools{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--urw-muted);}
.urw-rank-tools small{font-size:.76rem;}
.urw-mini-icon{width:32px;height:32px;padding:0;}
.urw-mini-icon svg{width:16px;height:16px;}
.urw-mini-icon.danger{color:#b42335;}
.urw-ranking-team-form{display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(6,minmax(58px,.45fr)) auto;gap:8px;padding:12px 14px;background:rgba(244,247,252,.62);border-bottom:1px solid rgba(6,27,70,.08);}
.urw-ranking-team-form input,.urw-sport-table input{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(6,27,70,.12);border-radius:10px;background:#fff;color:var(--urw-text);font:inherit;}
.urw-ranking-team-form input{height:38px;padding:0 10px;}
.urw-sport-table-wrap{width:100%;overflow-x:hidden;}
.urw-sport-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.urw-sport-table th{padding:12px 8px;color:var(--urw-muted);font-size:.78rem;font-weight:900;text-align:center;border-bottom:1px solid rgba(6,27,70,.08);}
.urw-sport-table th:nth-child(1){width:52px;}
.urw-sport-table th:nth-child(2){width:auto;text-align:left;}
.urw-sport-table th:nth-child(n+3){width:70px;}
.urw-sport-table th:last-child{width:42px;}
.urw-sport-table td{padding:12px 8px;text-align:center;border-bottom:1px solid rgba(6,27,70,.07);font-size:.94rem;font-variant-numeric:tabular-nums;vertical-align:middle;}
.urw-sport-table tbody tr:last-child td{border-bottom:0;}
.urw-sport-table .urw-highlight-row td{background:color-mix(in srgb, var(--urw-club-primary) 8%, white);}
.urw-sport-table .urw-highlight-row td:first-child{box-shadow:inset 4px 0 0 var(--urw-club-secondary);}
.urw-rank-badge{min-width:28px;height:28px;border-radius:9px;display:inline-grid;place-items:center;background:#f5f7fb;border:1px solid var(--urw-border);font-weight:900;color:var(--urw-text);}
.urw-highlight-row .urw-rank-badge{background:var(--urw-club-secondary);color:#fff;border-color:transparent;}
.urw-team-cell{display:flex;align-items:center;gap:12px;text-align:left!important;min-width:0;}
.urw-team-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.urw-club-logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:#f4f7fc;border:1px solid rgba(6,27,70,.10);font-size:.7rem;font-weight:900;color:var(--urw-club-primary);}
.urw-club-logo img{width:100%;height:100%;object-fit:contain;padding:2px;box-sizing:border-box;}
.urw-sport-table input{height:34px;padding:0 8px;text-align:center;font-weight:800;}
.urw-team-cell input{text-align:left;}
.urw-legend-card{margin-top:18px;border-radius:18px;border:1px solid var(--urw-border);background:rgba(244,247,252,.88);min-height:52px;padding:0 14px;display:flex;align-items:center;gap:26px;color:var(--urw-muted);font-size:.88rem;}
.urw-legend-card span{display:inline-flex;align-items:center;gap:9px;}
.urw-legend-card i{width:10px;height:10px;border-radius:50%;display:inline-block;}
.urw-legend-card i.promotion{background:var(--urw-club-secondary);}
.urw-legend-card i.relegation{background:#ef5a6f;}
.urw-info-button{margin-left:auto;width:30px;height:30px;border:1px solid var(--urw-border);border-radius:50%;background:#fff;color:var(--urw-muted);display:grid;place-items:center;padding:0;}
.urw-info-button svg{width:16px;height:16px;}
.urw-empty-state{padding:24px;border-radius:18px;background:rgba(244,247,252,.85);color:var(--urw-muted);text-align:center;}
@media(max-width:760px){
  .urw-functional-topbar{min-height:72px;padding:13px 16px;border-radius:0 0 22px 22px;}
  .urw-functional-context{gap:20px;}
  .urw-context-item span{font-size:.76rem;}
  .urw-context-item strong{font-size:.98rem;}
  .urw-icon-button{width:36px;height:36px;border-radius:12px;}
  .urw-functional-top-actions{gap:9px;}
  .urw-top-club-logo{width:42px;height:42px;border-radius:14px;}
  .urw-functional-main{padding:0 0 88px;}
  .urw-functional-card{width:100%;margin:-1px 0 0;border-radius:24px 24px 0 0;border-left:0;border-right:0;box-shadow:none;padding:26px 14px 20px;}
  .urw-page-header{display:block;margin-bottom:16px;}
  .urw-page-identity{gap:14px;margin-bottom:18px;}
  .urw-page-icon{width:60px;height:60px;border-radius:19px;}
  .urw-page-icon svg{width:30px;height:30px;}
  .urw-page-title{font-size:2rem!important;}
  .urw-page-subtitle{font-size:.96rem;margin-top:6px;}
  .urw-page-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;}
  .urw-btn-secondary,.urw-btn-primary{min-height:43px;padding:0 12px;}
  .urw-admin-inline{display:grid;grid-template-columns:1fr;}
  .urw-ranking-section-header{padding:10px 8px;}
  .urw-rank-tools small{display:none;}
  .urw-ranking-team-form{grid-template-columns:1fr repeat(3,54px);padding:10px 8px;}
  .urw-ranking-team-form input:nth-of-type(n+5){display:none;}
  .urw-ranking-team-form button{grid-column:1 / -1;}
  .urw-sport-table th{font-size:.68rem;padding:9px 3px;}
  .urw-sport-table td{font-size:.82rem;padding:10px 3px;}
  .urw-sport-table th:nth-child(1){width:38px;}
  .urw-sport-table th:nth-child(2){width:auto;}
  .urw-sport-table th:nth-child(n+3){width:38px;}
  .urw-sport-table th:last-child{width:30px;}
  .urw-club-logo{width:30px;height:30px;border-radius:9px;font-size:.62rem;}
  .urw-team-cell{gap:8px;}
  .urw-team-cell strong{max-width:118px;}
  .urw-rank-badge{min-width:26px;height:26px;border-radius:8px;}
  .urw-sport-table input{height:30px;padding:0 2px;font-size:.76rem;}
  .urw-team-cell input{max-width:104px;}
  .urw-legend-card{min-height:58px;gap:18px;font-size:.78rem;padding:0 12px;}
}
@media(max-width:390px){
  .urw-functional-context{gap:14px;}
  .urw-page-title{font-size:1.82rem!important;}
  .urw-sport-table th:nth-child(n+3){width:34px;}
  .urw-team-cell strong{max-width:96px;}
}
@media(min-width:761px){
  .urw-functional-topbar{border-radius:0;}
  .urw-ranking-card{margin-top:0;}
}

/* =====================================================
   URW V6.6.2 — Correctif Classement clean mobile
   - menu visible
   - suppression légende promotion/relégation
   - bandeau sans gros arrondi mobile
   - ajout catégorie fonctionnel avec input texte
===================================================== */
body.urw-classement-clean-v662{padding-bottom:84px!important;}
.urw-classement-clean-v662 .menu-toggle{
  display:inline-flex!important;
  position:fixed!important;
  right:16px!important;
  bottom:16px!important;
  z-index:1200!important;
  min-height:46px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:var(--urw-club-primary)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(6,27,70,.22)!important;
  font-weight:900!important;
}
.urw-classement-clean-v662 #mainMenu{
  top:auto!important;
  right:14px!important;
  bottom:74px!important;
  z-index:1199!important;
  max-height:min(70vh, 560px)!important;
}
.urw-classement-clean-v662 .urw-functional-topbar{
  border-radius:0!important;
  min-height:68px!important;
}
.urw-classement-clean-v662 .urw-functional-card{
  margin-top:16px!important;
  border-radius:28px!important;
  box-shadow:var(--urw-shadow)!important;
}
.urw-classement-clean-v662 .urw-functional-main{padding:16px clamp(12px,4vw,38px) 96px!important;}
.urw-classement-clean-v662 .urw-admin-inline input{
  min-height:42px;border-radius:14px;border:1px solid var(--urw-border);padding:0 12px;background:#fff;flex:1;min-width:0;font:inherit;color:var(--urw-text);box-sizing:border-box;
}
.urw-classement-clean-v662 .urw-legend-card{display:none!important;}
@media(max-width:760px){
  .urw-classement-clean-v662 .urw-functional-topbar{padding:12px 16px!important;}
  .urw-classement-clean-v662 .urw-functional-main{padding:14px 12px 96px!important;}
  .urw-classement-clean-v662 .urw-functional-card{margin-top:0!important;border-radius:22px!important;border-left:1px solid var(--urw-border)!important;border-right:1px solid var(--urw-border)!important;padding:20px 14px!important;}
  .urw-classement-clean-v662 .urw-page-header{margin-bottom:14px!important;}
  .urw-classement-clean-v662 .urw-page-actions{grid-template-columns:1fr 1fr!important;}
  .urw-classement-clean-v662 .urw-admin-inline{padding:10px!important;border-style:solid!important;}
}

/* =====================================================
   URW V6.6.3 — Classement aligné mock-up validé
   - suppression floating patch/menu bascule visible
   - bottom nav native
   - topbar compacte, card premium, sans zone promo/releg
   - masque anciennes pastilles globales sur Classement
===================================================== */
body.urw-classement-clean-v663{
  padding:0 0 calc(76px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(135deg,#f8fbff 0%,#eef3fa 100%)!important;
}
body.urw-classement-clean-v663 #globalActionsV3,
body.urw-classement-clean-v663 .globalActionsV3,
body.urw-classement-clean-v663 .globalIconV3,
body.urw-classement-clean-v663 #teamsViewButtonV186,
body.urw-classement-clean-v663 .teamsViewButtonV186{display:none!important;}
body.urw-classement-clean-v663 .menu-toggle{display:none!important;}
body.urw-classement-clean-v663 #mainMenu{
  position:fixed!important;
  top:72px!important;
  right:14px!important;
  bottom:auto!important;
  z-index:1199!important;
  width:min(320px, calc(100vw - 28px))!important;
  max-height:min(72vh, 560px)!important;
  display:none;
  border-radius:20px!important;
}
body.urw-classement-clean-v663 #mainMenu.open{display:block!important;}
body.urw-classement-clean-v663 .urw-functional-topbar{
  min-height:78px!important;
  padding:12px clamp(20px,5vw,52px)!important;
  border-radius:0!important;
  box-shadow:0 10px 26px rgba(6,27,70,.14)!important;
  background:linear-gradient(135deg,var(--urw-club-dark),var(--urw-club-primary))!important;
}
body.urw-classement-clean-v663 .urw-functional-main{
  padding:clamp(16px,3vw,28px) clamp(12px,4vw,36px) 24px!important;
}
body.urw-classement-clean-v663 .urw-functional-card{
  width:min(1080px,100%)!important;
  margin:0 auto!important;
  border-radius:24px!important;
  padding:clamp(16px,2.7vw,26px)!important;
  border:1px solid rgba(6,27,70,.10)!important;
  box-shadow:0 18px 46px rgba(6,27,70,.10)!important;
  background:rgba(255,255,255,.97)!important;
}
body.urw-classement-clean-v663 .urw-page-header{margin-bottom:18px!important;}
body.urw-classement-clean-v663 .urw-page-icon{
  width:64px!important;height:64px!important;border-radius:20px!important;
}
body.urw-classement-clean-v663 .urw-page-title{font-size:clamp(1.72rem,3vw,2.1rem)!important;}
body.urw-classement-clean-v663 .urw-page-subtitle{font-size:.95rem!important;margin-top:6px!important;}
body.urw-classement-clean-v663 .urw-btn-secondary{
  min-height:38px!important;
  padding:0 20px!important;
  box-shadow:none!important;
}
body.urw-classement-clean-v663 .urw-ranking-admin-panel{margin:0 0 14px!important;}
body.urw-classement-clean-v663 .urw-admin-inline{
  padding:8px!important;
  border:1px solid rgba(6,27,70,.10)!important;
  border-radius:16px!important;
  background:#f7f9fd!important;
}
body.urw-classement-clean-v663 .urw-admin-inline input{
  min-height:38px!important;border-radius:999px!important;border:1px solid var(--urw-border)!important;padding:0 14px!important;background:#fff!important;flex:1!important;min-width:0!important;font:inherit!important;color:var(--urw-text)!important;box-sizing:border-box!important;
}
body.urw-classement-clean-v663 .urw-admin-inline .urw-btn-primary{min-height:38px!important;}
body.urw-classement-clean-v663 .urw-legend-card{display:none!important;}
body.urw-classement-clean-v663 .urw-sport-table-wrap{overflow-x:hidden!important;}
body.urw-classement-clean-v663 .urw-ranking-section{
  border-radius:18px!important;
  border:0!important;
  background:transparent!important;
}
body.urw-classement-clean-v663 .urw-ranking-section-header{
  display:none!important;
}
body.urw-classement-clean-v663 .urw-ranking-team-form{
  border:1px solid rgba(6,27,70,.10)!important;
  border-radius:16px!important;
  margin:0 0 10px!important;
}
body.urw-classement-clean-v663 .urw-sport-table{
  border-collapse:separate!important;
  border-spacing:0 0!important;
}
body.urw-classement-clean-v663 .urw-sport-table th{padding:10px 7px!important;}
body.urw-classement-clean-v663 .urw-sport-table td{padding:11px 7px!important;}
body.urw-classement-clean-v663 .urw-sport-table tbody tr{position:relative;}
body.urw-classement-clean-v663 .urw-sport-table .urw-highlight-row td{
  background:color-mix(in srgb,var(--urw-club-primary) 7%, white)!important;
  border-top:1px solid rgba(6,27,70,.08)!important;
  border-bottom:1px solid rgba(6,27,70,.08)!important;
}
body.urw-classement-clean-v663 .urw-sport-table .urw-highlight-row td:first-child{
  border-radius:10px 0 0 10px!important;
  box-shadow:inset 4px 0 0 var(--urw-club-secondary)!important;
}
body.urw-classement-clean-v663 .urw-sport-table .urw-highlight-row td:last-child{border-radius:0 10px 10px 0!important;}
.urw-bottom-nav{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:1050;
  height:calc(68px + env(safe-area-inset-bottom));
  padding:7px 14px calc(7px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(6,27,70,.10);
  box-shadow:0 -10px 28px rgba(6,27,70,.08);
  backdrop-filter:blur(16px);
}
.urw-bottom-nav a,.urw-bottom-nav button{
  appearance:none;border:0;background:transparent;text-decoration:none;color:rgba(11,23,53,.62);
  display:grid;place-items:center;gap:3px;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;padding:0;
}
.urw-bottom-nav svg{width:23px;height:23px;stroke-width:2;}
.urw-bottom-nav .active{color:var(--urw-club-secondary);}
@media(max-width:760px){
  body.urw-classement-clean-v663 .urw-functional-topbar{
    min-height:82px!important;
    padding:14px 18px!important;
  }
  body.urw-classement-clean-v663 .urw-functional-context{gap:28px!important;}
  body.urw-classement-clean-v663 .urw-context-item span{font-size:.78rem!important;}
  body.urw-classement-clean-v663 .urw-context-item strong{font-size:1.05rem!important;}
  body.urw-classement-clean-v663 .urw-functional-main{padding:0 0 22px!important;}
  body.urw-classement-clean-v663 .urw-functional-card{
    width:100%!important;
    margin:0!important;
    border-radius:24px 24px 0 0!important;
    border-left:0!important;border-right:0!important;border-bottom:0!important;
    box-shadow:0 -1px 0 rgba(6,27,70,.05), 0 12px 34px rgba(6,27,70,.08)!important;
    padding:24px 14px 18px!important;
  }
  body.urw-classement-clean-v663 .urw-page-header{display:block!important;margin-bottom:16px!important;}
  body.urw-classement-clean-v663 .urw-page-identity{gap:14px!important;margin-bottom:16px!important;}
  body.urw-classement-clean-v663 .urw-page-icon{width:58px!important;height:58px!important;border-radius:18px!important;}
  body.urw-classement-clean-v663 .urw-page-title{font-size:2rem!important;}
  body.urw-classement-clean-v663 .urw-page-subtitle{font-size:.96rem!important;}
  body.urw-classement-clean-v663 .urw-page-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
  body.urw-classement-clean-v663 .urw-btn-secondary{min-height:40px!important;}
  body.urw-classement-clean-v663 .urw-ranking-admin-panel{margin-bottom:12px!important;}
  body.urw-classement-clean-v663 .urw-admin-inline{grid-template-columns:1fr!important;}
  body.urw-classement-clean-v663 .urw-admin-inline .urw-btn-primary{width:100%!important;}
  body.urw-classement-clean-v663 .urw-sport-table th{font-size:.68rem!important;padding:8px 3px!important;}
  body.urw-classement-clean-v663 .urw-sport-table td{font-size:.82rem!important;padding:10px 3px!important;}
  body.urw-classement-clean-v663 .urw-sport-table th:nth-child(1){width:38px!important;}
  body.urw-classement-clean-v663 .urw-sport-table th:nth-child(n+3){width:36px!important;}
  body.urw-classement-clean-v663 .urw-team-cell{gap:7px!important;}
  body.urw-classement-clean-v663 .urw-club-logo{width:29px!important;height:29px!important;}
  body.urw-classement-clean-v663 .urw-team-cell strong{max-width:96px!important;}
  body.urw-classement-clean-v663 #mainMenu{top:70px!important;}
}
@media(min-width:761px){
  .urw-bottom-nav{display:none!important;}
  body.urw-classement-clean-v663{padding-bottom:0!important;}
  body.urw-classement-clean-v663 .urw-page-header{display:flex!important;}
}

/* =====================================================
   URW V6.7 — Functional UI Foundation
   Scope volontairement limité : Classement.
   Objectif : écran fonctionnel sportif premium, mobile-first,
   réutilisable ensuite pour Planning / Scores / Match / Convocation.
===================================================== */
:root{
  --urw-space-1:8px;
  --urw-space-2:12px;
  --urw-space-3:16px;
  --urw-space-4:20px;
  --urw-radius-1:12px;
  --urw-radius-2:16px;
  --urw-radius-3:20px;
  --urw-shadow-soft:0 12px 34px rgba(6,27,70,.09);
  --urw-line:rgba(6,27,70,.09);
  --urw-surface:#fff;
  --urw-surface-soft:#f5f7fb;
}
body.urw-functional-ui-v67{
  padding-bottom:calc(66px + env(safe-area-inset-bottom))!important;
  background:#f3f6fb!important;
}
body.urw-functional-ui-v67 .urw-functional-shell{min-height:auto!important;}
body.urw-functional-ui-v67 .urw-functional-topbar{
  min-height:58px!important;
  padding:8px clamp(14px,4vw,36px)!important;
  box-shadow:0 8px 22px rgba(6,27,70,.13)!important;
}
body.urw-functional-ui-v67 .urw-functional-context{gap:18px!important;}
body.urw-functional-ui-v67 .urw-context-item{gap:1px!important;}
body.urw-functional-ui-v67 .urw-context-item span{font-size:.68rem!important;letter-spacing:.02em!important;}
body.urw-functional-ui-v67 .urw-context-item strong{font-size:.9rem!important;max-width:116px;overflow:hidden;text-overflow:ellipsis;}
body.urw-functional-ui-v67 .urw-functional-top-actions{gap:6px!important;}
body.urw-functional-ui-v67 .urw-icon-button{width:36px!important;height:36px!important;border-radius:12px!important;}
body.urw-functional-ui-v67 .urw-icon-button svg{width:20px!important;height:20px!important;}
body.urw-functional-ui-v67 .urw-top-club-logo,
body.urw-functional-ui-v67 .urw-functional-club-logo .urw-top-club-logo{width:40px!important;height:40px!important;border-radius:13px!important;}
body.urw-functional-ui-v67 .urw-functional-main{padding:12px clamp(10px,3vw,28px) 18px!important;}
body.urw-functional-ui-v67 .urw-functional-card{
  width:min(1040px,100%)!important;
  border-radius:var(--urw-radius-3)!important;
  padding:var(--urw-space-3)!important;
  box-shadow:var(--urw-shadow-soft)!important;
}
body.urw-functional-ui-v67 .urw-page-header{
  display:grid!important;
  grid-template-columns:1fr auto;
  align-items:center!important;
  gap:var(--urw-space-3)!important;
  margin-bottom:var(--urw-space-2)!important;
}
body.urw-functional-ui-v67 .urw-page-identity{gap:var(--urw-space-2)!important;margin:0!important;}
body.urw-functional-ui-v67 .urw-page-icon{width:44px!important;height:44px!important;border-radius:var(--urw-radius-1)!important;}
body.urw-functional-ui-v67 .urw-page-icon svg{width:23px!important;height:23px!important;}
body.urw-functional-ui-v67 .urw-page-title{font-size:1.42rem!important;letter-spacing:-.025em!important;}
body.urw-functional-ui-v67 .urw-page-subtitle{font-size:.82rem!important;margin-top:2px!important;}
body.urw-functional-ui-v67 .urw-page-actions{display:flex!important;gap:8px!important;}
body.urw-functional-ui-v67 .urw-btn-secondary,
body.urw-functional-ui-v67 .urw-btn-primary{min-height:34px!important;border-radius:12px!important;padding:0 12px!important;font-size:.82rem!important;}
body.urw-functional-ui-v67 .urw-btn-secondary svg{width:15px!important;height:15px!important;}
body.urw-functional-ui-v67 .urw-admin-details,
body.urw-functional-ui-v67 .urw-row-admin-details{
  border:1px solid var(--urw-line);
  border-radius:var(--urw-radius-2);
  background:var(--urw-surface-soft);
  overflow:hidden;
}
body.urw-functional-ui-v67 .urw-admin-details summary,
body.urw-functional-ui-v67 .urw-row-admin-details summary{
  list-style:none;
  cursor:pointer;
  padding:9px 12px;
  font-size:.78rem;
  font-weight:900;
  color:var(--urw-muted);
}
body.urw-functional-ui-v67 .urw-admin-details summary::-webkit-details-marker,
body.urw-functional-ui-v67 .urw-row-admin-details summary::-webkit-details-marker{display:none;}
body.urw-functional-ui-v67 .urw-admin-inline{border:0!important;border-top:1px solid var(--urw-line)!important;border-radius:0!important;padding:8px!important;background:transparent!important;}
body.urw-functional-ui-v67 .urw-ranking-admin-panel{margin:0 0 10px!important;}
body.urw-functional-ui-v67 .urw-ranking-root{gap:10px!important;}
body.urw-functional-ui-v67 .urw-ranking-section{
  border:1px solid var(--urw-line)!important;
  border-radius:var(--urw-radius-2)!important;
  background:var(--urw-surface)!important;
  overflow:hidden!important;
}
body.urw-functional-ui-v67 .urw-ranking-section-header{
  display:flex!important;
  padding:8px 10px!important;
  border-bottom:1px solid var(--urw-line)!important;
  background:#fbfcff!important;
}
body.urw-functional-ui-v67 .urw-ranking-section-header h2{font-size:.9rem!important;}
body.urw-functional-ui-v67 .urw-collapse-btn,
body.urw-functional-ui-v67 .urw-mini-icon{width:28px!important;height:28px!important;border-radius:10px!important;}
body.urw-functional-ui-v67 .urw-rank-title-input{height:30px!important;border-radius:10px!important;font-size:.9rem!important;}
body.urw-functional-ui-v67 .urw-row-admin-details{margin:8px 10px 0!important;}
body.urw-functional-ui-v67 .urw-ranking-team-form{
  display:grid!important;
  grid-template-columns:minmax(130px,1.4fr) repeat(6,minmax(42px,.5fr)) auto!important;
  gap:6px!important;
  padding:8px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--urw-line)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.urw-functional-ui-v67 .urw-ranking-team-form input,
body.urw-functional-ui-v67 .urw-sport-table input{border-radius:9px!important;}
body.urw-functional-ui-v67 .urw-sport-table-wrap{overflow-x:hidden!important;background:#fff!important;}
body.urw-functional-ui-v67 .urw-sport-table{table-layout:fixed!important;border-spacing:0!important;}
body.urw-functional-ui-v67 .urw-sport-table th{
  padding:8px 5px!important;
  font-size:.68rem!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
}
body.urw-functional-ui-v67 .urw-sport-table td{
  padding:8px 5px!important;
  font-size:.84rem!important;
  line-height:1.1!important;
}
body.urw-functional-ui-v67 .urw-sport-table th:nth-child(1){width:40px!important;}
body.urw-functional-ui-v67 .urw-sport-table th:nth-child(2){width:auto!important;}
body.urw-functional-ui-v67 .urw-sport-table th:nth-child(n+3){width:48px!important;}
body.urw-functional-ui-v67 .urw-sport-table th:last-child{width:34px!important;}
body.urw-functional-ui-v67 .urw-rank-badge{min-width:24px!important;height:24px!important;border-radius:8px!important;font-size:.78rem!important;}
body.urw-functional-ui-v67 .urw-club-logo{width:28px!important;height:28px!important;border-radius:9px!important;}
body.urw-functional-ui-v67 .urw-team-cell{gap:8px!important;}
body.urw-functional-ui-v67 .urw-team-cell strong{font-size:.87rem!important;}
body.urw-functional-ui-v67 .urw-sport-table .urw-highlight-row td{background:color-mix(in srgb,var(--urw-club-primary) 6%, white)!important;}
body.urw-functional-ui-v67 .urw-sport-table .urw-highlight-row td:first-child{box-shadow:inset 3px 0 0 var(--urw-club-secondary)!important;}
body.urw-functional-ui-v67 .urw-bottom-nav{height:calc(62px + env(safe-area-inset-bottom));padding:6px 10px calc(6px + env(safe-area-inset-bottom));}
body.urw-functional-ui-v67 .urw-bottom-nav a,
body.urw-functional-ui-v67 .urw-bottom-nav button{font-size:.66rem!important;gap:2px!important;}
body.urw-functional-ui-v67 .urw-bottom-nav svg{width:20px!important;height:20px!important;}
@media(max-width:760px){
  body.urw-functional-ui-v67 .urw-functional-topbar{min-height:56px!important;padding:8px 12px!important;}
  body.urw-functional-ui-v67 .urw-functional-context{gap:12px!important;}
  body.urw-functional-ui-v67 .urw-context-item strong{font-size:.82rem!important;max-width:92px;}
  body.urw-functional-ui-v67 .urw-functional-main{padding:8px 8px 16px!important;}
  body.urw-functional-ui-v67 .urw-functional-card{border-radius:18px!important;border:1px solid var(--urw-line)!important;padding:12px 8px!important;margin:0!important;}
  body.urw-functional-ui-v67 .urw-page-header{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:10px!important;}
  body.urw-functional-ui-v67 .urw-page-icon{width:38px!important;height:38px!important;border-radius:12px!important;}
  body.urw-functional-ui-v67 .urw-page-icon svg{width:20px!important;height:20px!important;}
  body.urw-functional-ui-v67 .urw-page-title{font-size:1.28rem!important;}
  body.urw-functional-ui-v67 .urw-page-subtitle{font-size:.78rem!important;}
  body.urw-functional-ui-v67 .urw-page-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body.urw-functional-ui-v67 .urw-admin-details summary{padding:8px 10px!important;}
  body.urw-functional-ui-v67 .urw-ranking-section-header{padding:7px 8px!important;}
  body.urw-functional-ui-v67 .urw-rank-tools small{display:none!important;}
  body.urw-functional-ui-v67 .urw-row-admin-details{margin:6px 8px 0!important;}
  body.urw-functional-ui-v67 .urw-ranking-team-form{grid-template-columns:1fr repeat(3,42px)!important;}
  body.urw-functional-ui-v67 .urw-ranking-team-form input:nth-of-type(n+5){display:none!important;}
  body.urw-functional-ui-v67 .urw-ranking-team-form button{grid-column:1 / -1!important;}
  body.urw-functional-ui-v67 .urw-sport-table th{font-size:.62rem!important;padding:7px 2px!important;}
  body.urw-functional-ui-v67 .urw-sport-table td{font-size:.76rem!important;padding:8px 2px!important;}
  body.urw-functional-ui-v67 .urw-sport-table th:nth-child(1){width:30px!important;}
  body.urw-functional-ui-v67 .urw-sport-table th:nth-child(n+3){width:32px!important;}
  body.urw-functional-ui-v67 .urw-sport-table th:last-child{width:28px!important;}
  body.urw-functional-ui-v67 .urw-rank-badge{min-width:21px!important;height:21px!important;border-radius:7px!important;font-size:.68rem!important;}
  body.urw-functional-ui-v67 .urw-club-logo{width:24px!important;height:24px!important;border-radius:8px!important;}
  body.urw-functional-ui-v67 .urw-team-cell{gap:5px!important;}
  body.urw-functional-ui-v67 .urw-team-cell strong{max-width:88px!important;font-size:.76rem!important;}
  body.urw-functional-ui-v67 .urw-sport-table input{height:27px!important;font-size:.68rem!important;padding:0 1px!important;}
  body.urw-functional-ui-v67 .urw-team-cell input{max-width:82px!important;}
  body.urw-functional-ui-v67 #mainMenu{top:58px!important;right:8px!important;width:calc(100vw - 16px)!important;}
}
@media(max-width:380px){
  body.urw-functional-ui-v67 .urw-context-item strong{max-width:78px;}
  body.urw-functional-ui-v67 .urw-team-cell strong{max-width:72px!important;}
  body.urw-functional-ui-v67 .urw-sport-table th:nth-child(n+3){width:29px!important;}
}
@media(min-width:761px){
  body.urw-functional-ui-v67{padding-bottom:0!important;}
  body.urw-functional-ui-v67 .urw-page-header{grid-template-columns:1fr auto!important;}
}


/* =====================================================
   URW V6.7.1 — Clean Visual Reset Classement
   Objectif unique visible : retirer les parasites évidents de V6.7
   - boutons d'action lisibles et compacts
   - bottom nav sans bouton rond fantôme
   - réduction des vides et hauteurs inutiles
   - aucun changement fonctionnel
===================================================== */
body.urw-functional-ui-v671{
  min-height:100dvh!important;
  padding-bottom:calc(56px + env(safe-area-inset-bottom))!important;
  background:#f3f6fb!important;
  overflow-x:hidden!important;
}
body.urw-functional-ui-v671 .urw-functional-shell{
  min-height:0!important;
}
body.urw-functional-ui-v671 .urw-functional-topbar{
  min-height:54px!important;
  padding:8px 14px!important;
  border-radius:0!important;
  box-shadow:0 6px 18px rgba(6,27,70,.12)!important;
}
body.urw-functional-ui-v671 .urw-functional-context{gap:18px!important;}
body.urw-functional-ui-v671 .urw-context-item span{font-size:.66rem!important;line-height:1!important;}
body.urw-functional-ui-v671 .urw-context-item strong{font-size:.86rem!important;line-height:1.12!important;}
body.urw-functional-ui-v671 .urw-icon-button{
  width:34px!important;height:34px!important;border-radius:11px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body.urw-functional-ui-v671 .urw-functional-club-logo{display:none!important;}
body.urw-functional-ui-v671 .urw-functional-main{
  padding:8px 8px calc(62px + env(safe-area-inset-bottom))!important;
}
body.urw-functional-ui-v671 .urw-functional-card{
  width:100%!important;
  margin:0 auto!important;
  border-radius:18px!important;
  padding:12px 10px 12px!important;
  border:1px solid rgba(6,27,70,.08)!important;
  box-shadow:0 10px 28px rgba(6,27,70,.07)!important;
  min-height:0!important;
}
body.urw-functional-ui-v671 .urw-page-header{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:0 0 10px!important;
}
body.urw-functional-ui-v671 .urw-page-identity{
  display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;
}
body.urw-functional-ui-v671 .urw-page-icon{
  width:38px!important;height:38px!important;border-radius:12px!important;
  box-shadow:none!important;
}
body.urw-functional-ui-v671 .urw-page-icon svg{width:20px!important;height:20px!important;}
body.urw-functional-ui-v671 .urw-page-title{font-size:1.28rem!important;line-height:1.04!important;}
body.urw-functional-ui-v671 .urw-page-subtitle{font-size:.76rem!important;margin-top:2px!important;line-height:1.15!important;}
body.urw-functional-ui-v671 .urw-page-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
body.urw-functional-ui-v671 .urw-btn-secondary{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--urw-text,#0b1735)!important;
  border:1px solid rgba(6,27,70,.12)!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:.78rem!important;
  font-weight:850!important;
}
body.urw-functional-ui-v671 .urw-btn-secondary span{display:inline!important;color:inherit!important;opacity:1!important;}
body.urw-functional-ui-v671 .urw-ranking-admin-panel{margin:0 0 8px!important;}
body.urw-functional-ui-v671 .urw-admin-details{border-radius:13px!important;background:#f7f9fd!important;}
body.urw-functional-ui-v671 .urw-admin-details summary{padding:7px 10px!important;font-size:.72rem!important;}
body.urw-functional-ui-v671 .urw-ranking-root{gap:8px!important;}
body.urw-functional-ui-v671 .urw-ranking-section{
  border-radius:14px!important;
  box-shadow:none!important;
  margin:0!important;
}
body.urw-functional-ui-v671 .urw-ranking-section-header{
  display:flex!important;
  padding:7px 8px!important;
  min-height:34px!important;
}
body.urw-functional-ui-v671 .urw-ranking-section-header h2{font-size:.86rem!important;}
body.urw-functional-ui-v671 .urw-sport-table-wrap{margin:0!important;}
body.urw-functional-ui-v671 .urw-sport-table th{padding:6px 2px!important;font-size:.6rem!important;}
body.urw-functional-ui-v671 .urw-sport-table td{padding:7px 2px!important;font-size:.74rem!important;}
body.urw-functional-ui-v671 .urw-bottom-nav{
  height:calc(54px + env(safe-area-inset-bottom))!important;
  padding:4px 8px calc(4px + env(safe-area-inset-bottom))!important;
  gap:2px!important;
  background:rgba(255,255,255,.98)!important;
  border-top:1px solid rgba(6,27,70,.08)!important;
  box-shadow:0 -6px 18px rgba(6,27,70,.07)!important;
}
body.urw-functional-ui-v671 .urw-bottom-nav a,
body.urw-functional-ui-v671 .urw-bottom-nav button{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;
  color:rgba(11,23,53,.58)!important;
  display:grid!important;place-items:center!important;gap:1px!important;
  font-size:.61rem!important;font-weight:750!important;line-height:1!important;
  padding:3px 0!important;margin:0!important;
}
body.urw-functional-ui-v671 .urw-bottom-nav svg{width:18px!important;height:18px!important;}
body.urw-functional-ui-v671 .urw-bottom-nav .active{
  color:var(--urw-club-primary,#0b3d6e)!important;
  background:rgba(11,61,110,.06)!important;
}
body.urw-functional-ui-v671 #urwBottomMore{
  border:0!important;background:transparent!important;box-shadow:none!important;border-radius:12px!important;
}
@media(min-width:761px){
  body.urw-functional-ui-v671{padding-bottom:0!important;}
  body.urw-functional-ui-v671 .urw-functional-main{padding:14px clamp(14px,3vw,30px) 20px!important;}
  body.urw-functional-ui-v671 .urw-functional-card{width:min(980px,100%)!important;padding:16px!important;}
  body.urw-functional-ui-v671 .urw-page-header{grid-template-columns:1fr auto!important;align-items:center!important;}
  body.urw-functional-ui-v671 .urw-page-actions{display:flex!important;width:auto!important;}
  body.urw-functional-ui-v671 .urw-bottom-nav{display:none!important;}
}


/* =====================================================
   URW V6.7.2 — Classement sport rows
   Objectif visible : supprimer le rendu tableau Excel et installer
   de vraies lignes sportives compactes, sans toucher aux autres pages.
===================================================== */
body.urw-functional-ui-v672 .urw-sport-table-wrap,
body.urw-functional-ui-v672 .urw-sport-table{display:none!important;}
body.urw-functional-ui-v672 .urw-ranking-section{
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
body.urw-functional-ui-v672 .urw-ranking-section-header{
  background:#fff!important;
  border:1px solid rgba(6,27,70,.08)!important;
  border-radius:14px 14px 10px 10px!important;
  margin-bottom:6px!important;
  box-shadow:0 8px 18px rgba(6,27,70,.045)!important;
}
body.urw-functional-ui-v672 .urw-ranking-list{
  width:100%;
  display:grid;
  gap:6px;
}
body.urw-functional-ui-v672 .urw-ranking-list-head,
body.urw-functional-ui-v672 .urw-ranking-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 44px 34px 34px 34px 34px 44px;
  align-items:center;
  column-gap:4px;
}
body.urw-functional-ui-v672 .urw-ranking-list-head:has(.admin),
body.urw-functional-ui-v672 .urw-ranking-row:has(.admin-cell){
  grid-template-columns:34px minmax(0,1fr) 44px 34px 34px 34px 34px 44px 32px;
}
body.urw-functional-ui-v672 .urw-ranking-list-head{
  padding:0 8px 2px;
  color:rgba(11,23,53,.46);
  font-size:.58rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
}
body.urw-functional-ui-v672 .urw-ranking-list-head span{text-align:center;}
body.urw-functional-ui-v672 .urw-ranking-list-head .team{text-align:left;padding-left:43px;}
body.urw-functional-ui-v672 .urw-ranking-row{
  min-height:44px;
  padding:5px 8px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(6,27,70,.075);
  box-shadow:0 6px 16px rgba(6,27,70,.045);
  box-sizing:border-box;
  position:relative;
  overflow:hidden;
}
body.urw-functional-ui-v672 .urw-ranking-row::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:transparent;
}
body.urw-functional-ui-v672 .urw-ranking-row.urw-highlight-row{
  background:linear-gradient(90deg, color-mix(in srgb, var(--urw-club-primary,var(--kf-primary)) 9%, #fff), #fff 68%);
  border-color:color-mix(in srgb, var(--urw-club-primary,var(--kf-primary)) 22%, rgba(6,27,70,.08));
}
body.urw-functional-ui-v672 .urw-ranking-row.urw-highlight-row::before{background:var(--urw-club-secondary,#0b5ed7);}
body.urw-functional-ui-v672 .urw-rank-cell,
body.urw-functional-ui-v672 .urw-ranking-row .stat,
body.urw-functional-ui-v672 .urw-ranking-row .admin-cell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  font-variant-numeric:tabular-nums;
  color:var(--urw-text,#0b1735);
}
body.urw-functional-ui-v672 .urw-ranking-row .points strong,
body.urw-functional-ui-v672 .urw-ranking-row .points{
  font-weight:950;
  color:var(--urw-club-dark,var(--kf-primary));
}
body.urw-functional-ui-v672 .urw-rank-badge{
  min-width:24px!important;
  width:24px!important;
  height:24px!important;
  border-radius:8px!important;
  background:#f4f7fc!important;
  border:1px solid rgba(6,27,70,.08)!important;
  font-size:.72rem!important;
  box-shadow:none!important;
}
body.urw-functional-ui-v672 .urw-highlight-row .urw-rank-badge{
  background:var(--urw-club-primary,var(--kf-primary))!important;
  color:#fff!important;
}
body.urw-functional-ui-v672 .urw-team-cell{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  text-align:left!important;
}
body.urw-functional-ui-v672 .urw-team-cell strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:-.015em;
}
body.urw-functional-ui-v672 .urw-club-logo{
  width:30px!important;
  height:30px!important;
  border-radius:10px!important;
  background:#f6f8fc!important;
  flex:0 0 30px!important;
  font-size:.58rem!important;
}
body.urw-functional-ui-v672 .urw-ranking-row .stat{
  font-size:.78rem;
  font-weight:800;
}
body.urw-functional-ui-v672 .urw-ranking-row .diff{font-weight:850;}
body.urw-functional-ui-v672 .urw-ranking-row input{
  height:28px!important;
  border-radius:8px!important;
  padding:0 4px!important;
  font-size:.72rem!important;
  font-weight:850!important;
  text-align:center!important;
  border:1px solid rgba(6,27,70,.12)!important;
  background:rgba(255,255,255,.94)!important;
}
body.urw-functional-ui-v672 .urw-team-cell input{text-align:left!important;min-width:0!important;}
body.urw-functional-ui-v672 .urw-row-admin-details{
  margin:0 0 6px!important;
  border-radius:12px!important;
  border:1px solid rgba(6,27,70,.08)!important;
  background:#f7f9fd!important;
  overflow:hidden!important;
}
body.urw-functional-ui-v672 .urw-row-admin-details summary{
  padding:7px 10px!important;
  font-size:.72rem!important;
  font-weight:850!important;
  color:rgba(11,23,53,.64)!important;
  cursor:pointer!important;
}
body.urw-functional-ui-v672 .urw-ranking-section.is-collapsed .urw-ranking-list,
body.urw-functional-ui-v672 .urw-ranking-section.is-collapsed .urw-row-admin-details{display:none!important;}

@media(max-width:390px){
  body.urw-functional-ui-v672 .urw-ranking-list-head,
  body.urw-functional-ui-v672 .urw-ranking-row{
    grid-template-columns:30px minmax(0,1fr) 38px 30px 30px 30px 30px 38px;
    column-gap:2px;
    padding-left:6px;
    padding-right:6px;
  }
  body.urw-functional-ui-v672 .urw-ranking-list-head:has(.admin),
  body.urw-functional-ui-v672 .urw-ranking-row:has(.admin-cell){
    grid-template-columns:30px minmax(0,1fr) 38px 30px 30px 30px 30px 38px 28px;
  }
  body.urw-functional-ui-v672 .urw-team-cell strong{font-size:.8rem;}
  body.urw-functional-ui-v672 .urw-club-logo{width:27px!important;height:27px!important;flex-basis:27px!important;}
  body.urw-functional-ui-v672 .urw-ranking-row .stat{font-size:.72rem;}
}
@media(min-width:761px){
  body.urw-functional-ui-v672 .urw-ranking-list{gap:8px;}
  body.urw-functional-ui-v672 .urw-ranking-list-head,
  body.urw-functional-ui-v672 .urw-ranking-row{
    grid-template-columns:48px minmax(220px,1fr) 68px 56px 56px 56px 56px 68px;
    column-gap:8px;
  }
  body.urw-functional-ui-v672 .urw-ranking-list-head:has(.admin),
  body.urw-functional-ui-v672 .urw-ranking-row:has(.admin-cell){
    grid-template-columns:48px minmax(220px,1fr) 68px 56px 56px 56px 56px 68px 42px;
  }
  body.urw-functional-ui-v672 .urw-ranking-row{min-height:52px;padding:7px 12px;border-radius:16px;}
  body.urw-functional-ui-v672 .urw-team-cell strong{font-size:.95rem;}
  body.urw-functional-ui-v672 .urw-club-logo{width:34px!important;height:34px!important;flex-basis:34px!important;}
  body.urw-functional-ui-v672 .urw-ranking-row .stat{font-size:.9rem;}
}


/* =====================================================
   URW V6.7.3 — Header / Topbar Density
   Objectif unique visible : topbar plus basse, header Classement moins massif
   - conserve V6.7.2 tableau sportif
   - réduit la hauteur réelle au-dessus du classement
   - évite l'effet hero / dashboard
   - aucun changement fonctionnel
===================================================== */
body.urw-functional-ui-v673{
  --urw-topbar-h:46px;
  --urw-card-pad-mobile:8px;
}
body.urw-functional-ui-v673 .urw-functional-topbar{
  min-height:var(--urw-topbar-h)!important;
  height:var(--urw-topbar-h)!important;
  padding:5px 12px!important;
  border-radius:0!important;
  box-shadow:0 5px 14px rgba(6,27,70,.11)!important;
  display:flex!important;
  align-items:center!important;
}
body.urw-functional-ui-v673 .urw-functional-context{
  gap:14px!important;
  align-items:center!important;
}
body.urw-functional-ui-v673 .urw-context-item{
  gap:0!important;
  min-width:0!important;
}
body.urw-functional-ui-v673 .urw-context-item span{
  font-size:.58rem!important;
  line-height:1!important;
  opacity:.72!important;
  letter-spacing:.02em!important;
}
body.urw-functional-ui-v673 .urw-context-item strong{
  font-size:.76rem!important;
  line-height:1.05!important;
  max-width:84px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.urw-functional-ui-v673 .urw-functional-top-actions{
  gap:2px!important;
  align-items:center!important;
}
body.urw-functional-ui-v673 .urw-icon-button{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:10px!important;
  padding:0!important;
}
body.urw-functional-ui-v673 .urw-icon-button svg{
  width:17px!important;
  height:17px!important;
}
body.urw-functional-ui-v673 .urw-functional-main{
  padding:6px 6px calc(58px + env(safe-area-inset-bottom))!important;
}
body.urw-functional-ui-v673 .urw-functional-card{
  border-radius:16px!important;
  padding:var(--urw-card-pad-mobile)!important;
}
body.urw-functional-ui-v673 .urw-page-header{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 8px!important;
}
body.urw-functional-ui-v673 .urw-page-identity{
  gap:8px!important;
  min-width:0!important;
}
body.urw-functional-ui-v673 .urw-page-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:11px!important;
  border:1px solid rgba(6,27,70,.09)!important;
}
body.urw-functional-ui-v673 .urw-page-icon svg{
  width:18px!important;
  height:18px!important;
}
body.urw-functional-ui-v673 .urw-page-title{
  font-size:1.08rem!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}
body.urw-functional-ui-v673 .urw-page-subtitle{
  font-size:.66rem!important;
  line-height:1.05!important;
  margin-top:1px!important;
  color:rgba(11,23,53,.56)!important;
  max-width:180px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.urw-functional-ui-v673 .urw-page-actions{
  display:flex!important;
  width:auto!important;
  gap:5px!important;
}
body.urw-functional-ui-v673 .urw-btn-secondary{
  width:auto!important;
  min-width:0!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 8px!important;
  border-radius:10px!important;
  font-size:.68rem!important;
  font-weight:850!important;
}
body.urw-functional-ui-v673 .urw-ranking-admin-panel{margin:0 0 6px!important;}
body.urw-functional-ui-v673 .urw-admin-details summary{
  padding:6px 9px!important;
  font-size:.68rem!important;
}
body.urw-functional-ui-v673 .urw-ranking-root{gap:6px!important;}
body.urw-functional-ui-v673 .urw-ranking-section-header{
  padding:6px 8px!important;
}
body.urw-functional-ui-v673 .urw-ranking-section-header h2{
  font-size:.8rem!important;
}

@media(max-width:390px){
  body.urw-functional-ui-v673 .urw-context-item strong{max-width:70px!important;font-size:.72rem!important;}
  body.urw-functional-ui-v673 .urw-page-subtitle{display:none!important;}
  body.urw-functional-ui-v673 .urw-btn-secondary{font-size:0!important;width:30px!important;padding:0!important;}
  body.urw-functional-ui-v673 #urwRankingShare::before{content:'↗';font-size:.9rem;line-height:1;}
  body.urw-functional-ui-v673 #urwRankingExport::before{content:'↓';font-size:.9rem;line-height:1;}
}
@media(min-width:761px){
  body.urw-functional-ui-v673{
    --urw-topbar-h:54px;
    --urw-card-pad-mobile:14px;
    padding-bottom:0!important;
  }
  body.urw-functional-ui-v673 .urw-functional-topbar{
    padding:8px clamp(18px,4vw,40px)!important;
  }
  body.urw-functional-ui-v673 .urw-context-item strong{font-size:.9rem!important;max-width:150px!important;}
  body.urw-functional-ui-v673 .urw-context-item span{font-size:.66rem!important;}
  body.urw-functional-ui-v673 .urw-functional-main{padding:12px clamp(16px,3vw,32px) 22px!important;}
  body.urw-functional-ui-v673 .urw-functional-card{width:min(980px,100%)!important;border-radius:18px!important;padding:16px!important;}
  body.urw-functional-ui-v673 .urw-page-header{margin-bottom:10px!important;gap:12px!important;}
  body.urw-functional-ui-v673 .urw-page-icon{width:38px!important;height:38px!important;min-width:38px!important;}
  body.urw-functional-ui-v673 .urw-page-title{font-size:1.32rem!important;}
  body.urw-functional-ui-v673 .urw-page-subtitle{font-size:.78rem!important;max-width:none!important;}
  body.urw-functional-ui-v673 .urw-btn-secondary{height:32px!important;min-height:32px!important;font-size:.78rem!important;padding:0 11px!important;}
}

/* =====================================================
   URW V6.7.4 — Admin secondaire
   Objectif unique visible : le classement passe avant l'admin.
   - panneau d'administration déplacé sous le classement dans le HTML
   - ajout équipe placé sous le tableau de chaque classement
   - édition admin rendue discrète dans les lignes sportives
   - aucun changement de logique de stockage
===================================================== */
body.urw-functional-ui-v674 .urw-ranking-root{
  order:1!important;
}
body.urw-functional-ui-v674 .urw-ranking-admin-panel{
  order:2!important;
  margin:8px 0 0!important;
  opacity:.9!important;
}
body.urw-functional-ui-v674 .urw-admin-details,
body.urw-functional-ui-v674 .urw-row-admin-details{
  border:1px solid rgba(6,27,70,.07)!important;
  background:rgba(247,249,253,.72)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.urw-functional-ui-v674 .urw-admin-details summary,
body.urw-functional-ui-v674 .urw-row-admin-details summary{
  min-height:30px!important;
  padding:7px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:rgba(11,23,53,.55)!important;
  font-size:.66rem!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
}
body.urw-functional-ui-v674 .urw-admin-details summary::after,
body.urw-functional-ui-v674 .urw-row-admin-details summary::after{
  content:'+';
  width:20px;
  height:20px;
  border-radius:8px;
  display:grid;
  place-items:center;
  color:rgba(11,23,53,.55);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,27,70,.07);
}
body.urw-functional-ui-v674 .urw-admin-details[open] summary::after,
body.urw-functional-ui-v674 .urw-row-admin-details[open] summary::after{
  content:'−';
}
body.urw-functional-ui-v674 .urw-admin-inline,
body.urw-functional-ui-v674 .urw-ranking-team-form{
  padding:8px!important;
  background:#fff!important;
  border-top:1px solid rgba(6,27,70,.06)!important;
}
body.urw-functional-ui-v674 .urw-row-admin-details{
  margin:6px 0 0!important;
  border-radius:12px!important;
}
body.urw-functional-ui-v674 .urw-ranking-list + .urw-row-admin-details{
  margin-top:6px!important;
}
body.urw-functional-ui-v674 .urw-ranking-row input[data-field]{
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:850!important;
  text-align:center!important;
  outline:none!important;
  -moz-appearance:textfield!important;
}
body.urw-functional-ui-v674 .urw-ranking-row input[data-field]::-webkit-outer-spin-button,
body.urw-functional-ui-v674 .urw-ranking-row input[data-field]::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
body.urw-functional-ui-v674 .urw-team-cell input[data-field="name"]{
  width:100%!important;
  min-width:0!important;
  text-align:left!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.urw-functional-ui-v674 .urw-ranking-row:focus-within{
  box-shadow:0 8px 20px rgba(6,27,70,.08), inset 0 0 0 1px color-mix(in srgb,var(--urw-club-primary,#0b3d6e) 18%, transparent)!important;
}
body.urw-functional-ui-v674 .urw-admin-cell,
body.urw-functional-ui-v674 .admin-cell{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
body.urw-functional-ui-v674 .admin-cell .urw-mini-icon{
  width:24px!important;
  height:24px!important;
  border-radius:9px!important;
  opacity:.42!important;
  background:transparent!important;
  border:0!important;
}
body.urw-functional-ui-v674 .admin-cell .urw-mini-icon:hover,
body.urw-functional-ui-v674 .admin-cell .urw-mini-icon:focus{
  opacity:1!important;
  background:rgba(224,46,46,.08)!important;
}
body.urw-functional-ui-v674 .urw-rank-title-input{
  border:0!important;
  background:transparent!important;
  height:auto!important;
  padding:0!important;
  color:var(--urw-text,#0b1735)!important;
  font-weight:900!important;
  font-size:.82rem!important;
}
body.urw-functional-ui-v674 .urw-rank-title-input:focus{
  outline:1px solid color-mix(in srgb,var(--urw-club-primary,#0b3d6e) 24%, transparent)!important;
  outline-offset:3px!important;
  border-radius:8px!important;
}
body.urw-functional-ui-v674 .urw-rank-tools .urw-mini-icon{
  opacity:.45!important;
}
body.urw-functional-ui-v674 .urw-rank-tools .urw-mini-icon:hover,
body.urw-functional-ui-v674 .urw-rank-tools .urw-mini-icon:focus{
  opacity:1!important;
}
@media(max-width:760px){
  body.urw-functional-ui-v674 .urw-page-header{margin-bottom:7px!important;}
  body.urw-functional-ui-v674 .urw-ranking-admin-panel{margin-top:6px!important;}
  body.urw-functional-ui-v674 .urw-admin-inline{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body.urw-functional-ui-v674 .urw-ranking-team-form{
    grid-template-columns:minmax(0,1fr) repeat(3,38px)!important;
    gap:6px!important;
  }
  body.urw-functional-ui-v674 .urw-ranking-team-form input{
    min-width:0!important;
    height:30px!important;
    font-size:.7rem!important;
  }
  body.urw-functional-ui-v674 .urw-ranking-team-form button{
    min-height:30px!important;
  }
  body.urw-functional-ui-v674 .admin-cell .urw-mini-icon{
    width:22px!important;
    height:22px!important;
  }
}
@media(min-width:761px){
  body.urw-functional-ui-v674 .urw-ranking-admin-panel{max-width:420px!important;margin-left:auto!important;}
  body.urw-functional-ui-v674 .urw-row-admin-details{max-width:680px!important;margin-left:auto!important;}
}

/* =====================================================
   URW V6.7.5 - Fondation UI réutilisable
   Objectif : raccorder Classement au fichier de fondation sans
   refondre Planning/Scores/Match dans cette couche.
===================================================== */
body.urw-functional-ui-v675 .urw-functional-card{
  isolation:isolate;
}
body.urw-functional-ui-v675 .urw-ranking-card{
  background:var(--urw-ui-surface,#fff)!important;
  border-color:var(--urw-ui-line,rgba(6,27,70,.10))!important;
  box-shadow:var(--urw-ui-shadow-soft,0 14px 34px rgba(6,27,70,.08))!important;
}
body.urw-functional-ui-v675 .urw-ranking-list-head,
body.urw-functional-ui-v675 .urw-ranking-row{
  contain:layout paint;
}
body.urw-functional-ui-v675 .urw-ranking-row{
  transition:background-color .16s ease,border-color .16s ease,transform .16s ease;
}
body.urw-functional-ui-v675 .urw-ranking-row:active{
  transform:scale(.995);
}
body.urw-functional-ui-v675 .urw-ranking-admin-panel{
  background:var(--urw-ui-surface-soft,#f7f9fd)!important;
  border-color:var(--urw-ui-line,rgba(6,27,70,.10))!important;
}
@media(max-width:760px){
  body.urw-functional-ui-v675 .urw-functional-main{
    padding-bottom:calc(66px + env(safe-area-inset-bottom))!important;
  }
}

/* =====================================================
   URW V6.9.9.0 - Photos upload visibility hardening
   The add-photo actions must never be visible for Reader.
===================================================== */
.photosAdminActions[hidden],
#photosClubAdminActions[hidden] {
  display: none !important;
}

/* =====================================================
   URW V6.9.9.1 - Photos role visibility hardening
   The add-photo block is strictly hidden outside Admin/Coach.
===================================================== */
body.photosReaderOnlyV14 #photosClubAdminActions,
body.photosReaderOnlyV14 .photosAdminActions,
#photosClubAdminActions[hidden],
.photosAdminActions[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* =====================================================
   URW V6.9.9.3 - Photos upload button + hard reader guard
   Source of truth: the add-photo block is hidden by default and only shown
   when JS confirms Admin/Coach via body.photosCanManageV14.
===================================================== */
#photosClubAdminActions,
.photosAdminActions {
  display: none !important;
}
body.photosCanManageV14 #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanManageV14 .photosAdminActions.photosActionsAllowedV6993 {
  display: flex !important;
  align-items: center;
  gap: 10px;
}
body.photosReaderOnlyV14 #photosClubAdminActions,
body.photosReaderOnlyV14 .photosAdminActions,
#photosClubAdminActions[hidden],
.photosAdminActions[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#photosClubAddBtn.photosUploadButtonV6993 {
  appearance: none;
  border: 1px solid rgba(11, 61, 110, .22);
  background: linear-gradient(135deg, #0b3d6e 0%, #0f5794 100%);
  color: #fff;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: -.01em;
  box-shadow: 0 14px 28px rgba(11, 61, 110, .18);
  cursor: pointer;
  white-space: nowrap;
}
#photosClubAddBtn.photosUploadButtonV6993:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(11, 61, 110, .22);
}
#photosClubAddBtn.photosUploadButtonV6993:disabled {
  opacity: .72;
  cursor: wait;
  transform: none;
}
.photosAddIconV6993 {
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.16);
  color: currentColor;
}
.photosAddIconV6993 svg {
  width: 17px;
  height: 17px;
}
.photosAddSpinnerV6993 {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.42);
  border-top-color: #fff;
  animation: photosSpinV6993 .8s linear infinite;
}
@keyframes photosSpinV6993 { to { transform: rotate(360deg); } }
@media (max-width: 700px) {
  body.photosCanManageV14 #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanManageV14 .photosAdminActions.photosActionsAllowedV6993 {
    margin-top: 12px;
    width: 100%;
    justify-content: flex-start;
  }
  #photosClubAddBtn.photosUploadButtonV6993 {
    min-height: 44px;
    padding: 0 16px;
    font-size: 14px;
  }
}

/* =====================================================
   URW V6.9.9.5 - Photos Reader hard final guard
   Reader/Club must never see add/delete photo controls.
===================================================== */
html.photosReaderOnlyV14 #photosClubAdminActions,
html.photosReaderOnlyV14 .photosAdminActions,
body.photosReaderOnlyV14 #photosClubAdminActions,
body.photosReaderOnlyV14 .photosAdminActions,
html.photosReaderOnlyV14 #photosClubAddBtn,
body.photosReaderOnlyV14 #photosClubAddBtn,
html.photosReaderOnlyV14 .photosClubDeleteBtn,
body.photosReaderOnlyV14 .photosClubDeleteBtn {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =====================================================
   URW V6.9.10.41 - Webshop mobile button containment
   Objectif : empêcher les boutons Webshop de déborder sur mobile
   sans modifier la logique métier ni les autres pages.
===================================================== */
.urw-page-webshop .webshopAdminForm,
.urw-page-webshop .webshopCustomerForm,
.urw-page-webshop .webshopProductControls,
.urw-page-webshop .webshopAdminProductActions {
  min-width: 0;
}

.urw-page-webshop #addProductBtn,
.urw-page-webshop #sendOrderBtn,
.urw-page-webshop .addToCartBtn,
.urw-page-webshop .toggleStockBtn,
.urw-page-webshop .deleteProductBtn {
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  line-height: 1.15;
  text-align: center;
}

@media (max-width: 700px) {
  .urw-page-webshop .urw-webshop-card,
  .urw-page-webshop .urw-webshop-root,
  .urw-page-webshop .card,
  .urw-page-webshop #webshopCartSection,
  .urw-page-webshop #webshopProducts {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .urw-page-webshop #addProductBtn,
  .urw-page-webshop #sendOrderBtn,
  .urw-page-webshop .webshopProductControls button,
  .urw-page-webshop .webshopAdminProductActions button {
    width: 100%;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
  }

  .urw-page-webshop .webshopCustomerForm,
  .urw-page-webshop .webshopAdminForm {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 420px) {
  .urw-page-webshop #addProductBtn,
  .urw-page-webshop #sendOrderBtn,
  .urw-page-webshop .webshopProductControls button,
  .urw-page-webshop .webshopAdminProductActions button {
    font-size: 0.92rem;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* V6.9.10.51 - Validation communautaire : logo local affiché dans la carte Logo */
.v642CommunityLogoField {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  overflow:hidden;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}
.v642CommunityLogoField img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* V6.9.10.52 - Validation communautaire : suppression du logo doublon dans l’en-tête */
.urw-page-customisation .v642StatusHeader .v642CommunityLogoPreview {
  display: none !important;
}

/* V7.2.64 — Home Coach targeted repair: hero multi-match rail only. */
.homeCoachV400 .v7264HeroRail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(292px, 92%);
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  padding:0 2px 4px;
  margin:0 0 10px;
}
.homeCoachV400 .v7264HeroRail::-webkit-scrollbar{ display:none; }
.homeCoachV400 .v7264HeroSlide{
  scroll-snap-align:start;
  min-width:0;
  height:100%;
}
@media (min-width: 760px){
  .homeCoachV400 .v7264HeroRail{
    grid-auto-columns:minmax(360px, 48%);
  }
}

/* =========================================================
   URW V7.2.69 - Home Club targeted repair & polish
   Scope: Home Club only, no common shell mutation.
========================================================= */
.homeCoachV400 .v431ClubTop .v7269ClubTitleOnly{
  display:block;
  max-width:clamp(64px,22vw,150px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.05;
}
.homeCoachV400 .v431ClubTop .v436BellBtn{
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.24);
  color:var(--club-text,#fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(0,0,0,.18);
}
.homeCoachV400 .v431ClubTop .v436BellBtn .v4Icon{
  width:17px;
  height:17px;
  stroke-width:2.1;
}
.homeCoachV400 .v436TeamTickerLine.is-active{
  border-color:rgba(98,182,255,.62);
  background:linear-gradient(135deg,rgba(98,182,255,.25),rgba(255,255,255,.09));
  box-shadow:0 10px 24px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.12);
}
.homeCoachV400 .v7269HeroTeams strong{display:none!important;}
.homeCoachV400 .v7269HeroTeams{
  gap:10px;
  margin-top:7px;
  margin-bottom:7px;
}
.homeCoachV400 .v7269HeroTeams > div{
  width:auto;
  flex:0 0 auto;
}
.homeCoachV400 .v7269HeroMeta span{
  max-width:100%;
}
.homeCoachV400 .v436ScorePremium{
  min-width:178px;
  overflow:hidden;
}
.homeCoachV400 .v436ScoreTeams{
  min-width:0;
}
.homeCoachV400 .v436ScoreTeams .v4LogoFallback,
.homeCoachV400 .v436ScoreTeams .v4OpponentFallback{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.homeCoachV400 .v436ScoreTeams strong{
  min-width:38px;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:430px){
  .homeCoachV400 .v431ClubTop .v7269ClubTitleOnly{max-width:88px;}
  .homeCoachV400 .v436ScorePremium{flex-basis:186px;}
  .homeCoachV400 .v436ScoreTeams small{max-width:52px;}
}

/* =========================================================
   URW V7.2.70 - Home Club Score & Live visual hotfix
   Scope: Home Club score rail only. Fix white-on-white labels
   and oversized VS pill without changing Scores business logic.
========================================================= */
.homeCoachV400 .v436ScoresBlock .v436ScoresRail{
  gap:10px;
  padding:0 2px 5px 0;
}
.homeCoachV400 .v436ScoresBlock .v436ScorePremium{
  flex:0 0 238px;
  min-width:238px;
  padding:11px 12px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,247,252,.97));
  border:1px solid rgba(255,255,255,.72);
  overflow:hidden;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreMeta{
  margin-bottom:7px;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreMeta span,
.homeCoachV400 .v436ScoresBlock .v436ScoreMeta em{
  color:#42617d;
  text-shadow:none;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreMeta em.is-live{
  color:#d42121;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams{
  grid-template-columns:minmax(60px,1fr) 56px minmax(60px,1fr);
  gap:8px;
  align-items:center;
  min-width:0;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams > div{
  min-width:0;
  overflow:hidden;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams img,
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams .v4LogoFallback,
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams .v4OpponentFallback{
  width:31px;
  height:31px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams small{
  display:block;
  max-width:72px;
  margin-top:4px;
  color:var(--kf-primary);
  text-shadow:none;
  font-size:10px;
  line-height:1.05;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams strong{
  min-width:0;
  width:56px;
  max-width:56px;
  padding:7px 4px;
  border-radius:12px;
  font-size:15px;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
  background:linear-gradient(180deg,var(--kf-primary),#0d2238);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px rgba(10,28,48,.16);
}
@media(max-width:430px){
  .homeCoachV400 .v436ScoresBlock .v436ScorePremium{
    flex-basis:230px;
    min-width:230px;
  }
  .homeCoachV400 .v436ScoresBlock .v436ScoreTeams{
    grid-template-columns:minmax(58px,1fr) 54px minmax(58px,1fr);
  }
  .homeCoachV400 .v436ScoresBlock .v436ScoreTeams strong{
    width:54px;
    max-width:54px;
  }
}

/* =========================================================
   URW V7.2.75 - Home Club freeze cleanup checkpoint
   Score & Live is now intentionally isolated in the v7273ClubScore*
   component. The legacy v436 guard remains only as a safe fallback for
   old cached markup; the validated visual layer is the dark v7273 block.
========================================================= */
.homeCoachV400 .v7273ClubScoresBlock{
  margin-top:8px!important;
  margin-bottom:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--kf-primary)!important;
}
.homeCoachV400 .v7273ClubScoresHeader{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 12px 8px 4px!important;
  color:#fff!important;
}
.homeCoachV400 .v7273ClubScoresHeader span{
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.homeCoachV400 .v7273ClubScoresHeader a{
  color:#72d6ff!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.homeCoachV400 .v7273ClubScoresRail{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  padding:0 12px 8px 2px!important;
}
.homeCoachV400 .v7273ClubScoresRail::-webkit-scrollbar{display:none!important;}
.homeCoachV400 .v7273ClubScoreCard{
  flex:0 0 252px!important;
  min-width:252px!important;
  max-width:252px!important;
  scroll-snap-align:start!important;
  box-sizing:border-box!important;
  padding:11px 12px 12px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(33,78,116,.92),rgba(18,57,91,.90))!important;
  border:1px solid rgba(116,214,255,.24)!important;
  box-shadow:0 12px 24px rgba(5,24,44,.18), inset 0 1px 0 rgba(255,255,255,.12)!important;
  overflow:hidden!important;
  color:#f4fbff!important;
}
.homeCoachV400 .v7273ClubScoreMeta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  margin-bottom:8px!important;
}
.homeCoachV400 .v7273ClubScoreMeta span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  font-weight:950!important;
  color:#d8ecfb!important;
  text-shadow:none!important;
}
.homeCoachV400 .v7273ClubScoreMeta em{
  flex:0 0 auto!important;
  font-style:normal!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#d8ecfb!important;
  text-shadow:none!important;
}
.homeCoachV400 .v7273ClubScoreMeta em.is-live{
  color:#d42121!important;
  letter-spacing:.08em!important;
}
.homeCoachV400 .v7273ClubScoreGrid{
  display:grid!important;
  grid-template-columns:minmax(72px,1fr) 46px minmax(72px,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.homeCoachV400 .v7273ClubScoreSide{
  min-width:0!important;
  display:grid!important;
  justify-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
.homeCoachV400 .v7273ClubScoreSide img,
.homeCoachV400 .v7273ClubScoreSide .v4LogoFallback,
.homeCoachV400 .v7273ClubScoreSide .v4OpponentFallback{
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  object-fit:contain!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto!important;
  box-shadow:0 5px 12px rgba(10,30,50,.12), inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.homeCoachV400 .v7273ClubScoreName{
  display:block!important;
  width:100%!important;
  max-width:82px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#ffffff!important;
  text-shadow:none!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:950!important;
  text-align:center!important;
}
.homeCoachV400 .v7273ClubScorePill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:32px!important;
  padding:0 3px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#0f2c47,#071b2d)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
  text-align:center!important;
  text-transform:uppercase!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px rgba(10,28,48,.15)!important;
}
.homeCoachV400 .v7273ClubScorePill.is-vs{
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:28px!important;
  font-size:12px!important;
  letter-spacing:.04em!important;
  opacity:.96!important;
}
.homeCoachV400 .v7273ClubScorePill.is-score{font-size:14px!important;}

/* Emergency guard for old v436 markup if a cached script still outputs it. */
.homeCoachV400 .v436ScoresBlock .v436ScorePremium{
  flex:0 0 252px!important;
  min-width:252px!important;
  max-width:252px!important;
  box-sizing:border-box!important;
  padding:11px 12px 12px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(33,78,116,.92),rgba(18,57,91,.90))!important;
  border:1px solid rgba(116,214,255,.24)!important;
  color:#f4fbff!important;
  overflow:hidden!important;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams{
  display:grid!important;
  grid-template-columns:minmax(72px,1fr) 42px minmax(72px,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  text-align:center!important;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams > div{
  min-width:0!important;
  display:grid!important;
  justify-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams img,
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams .v4LogoFallback,
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams .v4OpponentFallback{
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams small{
  color:#ffffff!important;
  text-shadow:none!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:950!important;
  width:100%!important;
  max-width:82px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.homeCoachV400 .v436ScoresBlock .v436ScoreTeams strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:28px!important;
  padding:0!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#fff!important;
}
@media(max-width:430px){
  .homeCoachV400 .v7273ClubScoreCard,
  .homeCoachV400 .v436ScoresBlock .v436ScorePremium{
    flex-basis:236px!important;
    min-width:236px!important;
    max-width:236px!important;
  }
  .homeCoachV400 .v7273ClubScoreGrid,
  .homeCoachV400 .v436ScoresBlock .v436ScoreTeams{
    grid-template-columns:minmax(66px,1fr) 40px minmax(66px,1fr)!important;
    gap:7px!important;
  }
}

/* --------------------------------------------------------------------------
   URW V7.2.76 - Agenda événements club / équipe structure
   Scope: new agenda-evenements.html + data source only. No Home Club feed routing.
   -------------------------------------------------------------------------- */
.urw-page-agenda-events .urw-events-card-v7276{display:grid;gap:18px;}
.urw-events-spec-v7276,.urw-events-form-v7276,.urw-events-list-v7276{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:18px;box-shadow:0 18px 42px rgba(15,23,42,.08);}
.urw-events-spec-v7276 h2,.urw-events-form-v7276 h2,.urw-events-list-v7276 h2{margin:0 0 12px;color:#0f172a;font-size:1.05rem;}
.urw-events-matrix-v7276{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.urw-events-matrix-v7276 article{border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;padding:12px;}
.urw-events-matrix-v7276 strong{display:block;color:#0f172a;font-weight:950;margin-bottom:4px;}
.urw-events-matrix-v7276 span{display:block;color:#475569;font-weight:750;font-size:.9rem;line-height:1.35;}
.urw-events-form-grid-v7276{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.urw-events-form-grid-v7276 label{display:grid;gap:6px;color:#334155;font-size:.82rem;font-weight:900;}
.urw-events-form-grid-v7276 input,.urw-events-form-grid-v7276 select,.urw-events-form-grid-v7276 textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:10px 11px;background:#fff;color:#0f172a;font-weight:750;}
.urw-events-wide-v7276{grid-column:1/-1;}
.urw-events-actions-v7276{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.urw-events-actions-v7276 button,.urw-event-row-v7276 button{border:0;border-radius:999px;background:var(--kf-primary);color:#fff;font-weight:950;padding:10px 14px;cursor:pointer;}
.urw-events-actions-v7276 button:nth-child(2){background:#e2e8f0;color:#0f172a;}
.urw-events-list-header-v7276{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.urw-events-list-header-v7276 span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:var(--kf-primary);color:#fff;font-weight:950;}
.urw-events-list-grid-v7276{display:grid;gap:10px;}
.urw-event-row-v7276{border:1px solid #e2e8f0;background:#f8fafc;border-radius:20px;padding:14px;display:grid;gap:9px;}
.urw-event-row-v7276 div{display:grid;gap:3px;}
.urw-event-row-v7276 span{width:max-content;border-radius:999px;background:#dbeafe;color:#1e3a8a;padding:4px 8px;font-size:.72rem;text-transform:uppercase;font-weight:950;letter-spacing:.05em;}
.urw-event-row-v7276 strong{color:#0f172a;font-size:1rem;}
.urw-event-row-v7276 small,.urw-event-row-v7276 p{color:#475569;font-weight:750;margin:0;line-height:1.35;}
.urw-event-row-v7276 footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.urw-event-row-v7276 em{font-style:normal;color:#334155;font-weight:850;margin-right:auto;}
.urw-event-row-v7276 b,.urw-event-row-v7276 code{border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:950;}
.urw-event-row-v7276 b{background:#fef3c7;color:#92400e;}
.urw-event-row-v7276 code{background:#e0f2fe;color:#075985;}
.urw-event-row-v7276 button{background:#fee2e2;color:#991b1b;padding:7px 10px;}
.urw-events-empty-v7276{color:#64748b;font-weight:800;margin:0;}
@media(max-width:560px){.urw-events-spec-v7276,.urw-events-form-v7276,.urw-events-list-v7276{padding:14px;border-radius:20px}.urw-events-actions-v7276 button{width:100%;}.urw-event-row-v7276 footer{align-items:flex-start}.urw-event-row-v7276 em{width:100%;}}

/* --------------------------------------------------------------------------
   URW V7.2.77 - Agenda événements shell isolation + contrast hotfix
   Scope: agenda-evenements.html only. Removes accidental legacy/common shell look.
   -------------------------------------------------------------------------- */
body.urw-agenda-events-v7277{
  margin:0;
  min-height:100vh;
  background:#eef3f9;
  color:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.urw-agenda-events-v7277 *{box-sizing:border-box;}
.agendaShellV7277{min-height:100vh;background:linear-gradient(180deg,#0b3d6e 0,#0b3d6e 86px,#eef3f9 86px,#eef3f9 100%);}
.agendaTopV7277{
  min-height:76px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px clamp(14px,4vw,42px);
  color:#fff;
}
.agendaBackV7277,.agendaHomeV7277{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.13);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 26px rgba(2,6,23,.16);
}
.agendaBackV7277{width:42px;height:42px;border-radius:15px;font-size:30px;line-height:1;}
.agendaHomeV7277{min-height:38px;border-radius:999px;padding:0 16px;margin-left:auto;font-size:.9rem;}
.agendaTitleBlockV7277{min-width:0;}
.agendaTitleBlockV7277 p{margin:0 0 2px;color:#b9dcff;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:950;}
.agendaTitleBlockV7277 h1{margin:0;color:#fff;font-size:clamp(1.3rem,3.2vw,1.9rem);line-height:1.05;letter-spacing:-.04em;}
.agendaMainV7277{width:min(980px,calc(100% - 28px));margin:0 auto;padding:22px 0 36px;display:grid;gap:14px;}
.agendaPanelV7277{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:18px;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}
.agendaIntroV7277{display:flex;align-items:flex-start;gap:14px;}
.agendaPageIconV7277{width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#eaf3ff;color:#0b3d6e;flex:0 0 auto;}
.agendaPageIconV7277 svg{width:22px;height:22px;}
.agendaPanelV7277 h2{margin:0 0 12px;color:#0f172a;font-size:1.06rem;letter-spacing:-.02em;}
.agendaIntroV7277 h2{font-size:1.35rem;margin-bottom:4px;}
.agendaPanelV7277 p{margin:0;color:#475569;font-weight:750;line-height:1.45;}
.agendaMatrixV7277{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;}
.agendaMatrixV7277 article{border-radius:18px;background:#f8fafc;border:1px solid #dbe5ef;padding:12px;}
.agendaMatrixV7277 strong{display:block;color:#0f172a;font-weight:950;margin-bottom:5px;}
.agendaMatrixV7277 span{display:block;color:#475569;font-weight:750;font-size:.9rem;line-height:1.35;}
.agendaFormGridV7277{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.agendaFormGridV7277 label{display:grid;gap:6px;color:#334155;font-size:.82rem;font-weight:900;}
.agendaFormGridV7277 input,.agendaFormGridV7277 select,.agendaFormGridV7277 textarea{
  width:100%;
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:750;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.agendaFormGridV7277 textarea{resize:vertical;}
.agendaWideV7277{grid-column:1/-1;}
.agendaActionsV7277{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.agendaActionsV7277 button,
.agendaEventRowV7277 button{
  appearance:none;
  border:0;
  min-height:42px;
  border-radius:999px;
  padding:0 15px;
  font-weight:950;
  cursor:pointer;
  font:inherit;
}
.agendaPrimaryBtnV7277{background:#0b3d6e!important;color:#fff!important;box-shadow:0 12px 24px rgba(11,61,110,.18);}
.agendaSecondaryBtnV7277{background:#e2e8f0!important;color:#0f172a!important;border:1px solid #cbd5e1!important;box-shadow:none!important;}
.agendaSecondaryBtnV7277:disabled,.agendaSecondaryBtnV7277[disabled]{background:#e5e7eb!important;color:#374151!important;opacity:1!important;}
.agendaListHeaderV7277{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.agendaListHeaderV7277 h2{margin:0;}
.agendaListHeaderV7277 span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:#0b3d6e;color:#fff;font-weight:950;}
.agendaListGridV7277{display:grid;gap:10px;}
.agendaEventRowV7277{border:1px solid #dbe5ef;background:#f8fafc;border-radius:20px;padding:14px;display:grid;gap:9px;}
.agendaEventRowV7277 div{display:grid;gap:3px;}
.agendaEventRowV7277 span{width:max-content;border-radius:999px;background:#dbeafe;color:#1e3a8a;padding:4px 8px;font-size:.72rem;text-transform:uppercase;font-weight:950;letter-spacing:.05em;}
.agendaEventRowV7277 strong{color:#0f172a;font-size:1rem;}
.agendaEventRowV7277 small,.agendaEventRowV7277 p{color:#475569;font-weight:750;margin:0;line-height:1.35;}
.agendaEventRowV7277 footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.agendaEventRowV7277 em{font-style:normal;color:#334155;font-weight:850;margin-right:auto;}
.agendaEventRowV7277 b,.agendaEventRowV7277 code{border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:950;}
.agendaEventRowV7277 b{background:#fef3c7;color:#92400e;}
.agendaEventRowV7277 code{background:#e0f2fe;color:#075985;}
.agendaEventRowV7277 button{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;box-shadow:none!important;padding:0 11px;min-height:34px;}
.agendaEmptyV7277{color:#64748b;font-weight:800;margin:0;}
@media(max-width:620px){
  .agendaTopV7277{padding:12px 14px;}
  .agendaMainV7277{width:calc(100% - 20px);padding-top:14px;}
  .agendaPanelV7277{border-radius:20px;padding:14px;}
  .agendaIntroV7277{align-items:center;}
  .agendaActionsV7277 button{width:100%;}
  .agendaEventRowV7277 footer{align-items:flex-start;}
  .agendaEventRowV7277 em{width:100%;}
}

/* URW V7.2.78 — Agenda Events UX correction
   Scope: agenda-evenements.html only. Event-only UX, team checkboxes, image upload, strict contrast. */
body.urw-agenda-events-v7277 .agendaHelpV7278{
  margin:0 0 14px!important;
  color:#475569!important;
  font-weight:750!important;
  line-height:1.45!important;
}
body.urw-agenda-events-v7277 .agendaFormGridV7278{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
body.urw-agenda-events-v7277 .agendaTeamsBoxV7278{
  border:1px solid #dbe5ef;
  background:#f8fafc;
  border-radius:18px;
  padding:12px;
  display:grid;
  gap:12px;
}
body.urw-agenda-events-v7277 .agendaTeamsHeaderV7278{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
body.urw-agenda-events-v7277 .agendaTeamsHeaderV7278 strong{
  display:block;
  color:#0f172a;
  font-weight:950;
  margin-bottom:3px;
}
body.urw-agenda-events-v7277 .agendaTeamsHeaderV7278 span,
body.urw-agenda-events-v7277 .agendaUploadHintV7278{
  display:block;
  color:#475569;
  font-weight:750;
  font-size:.86rem;
  line-height:1.35;
}
body.urw-agenda-events-v7277 .agendaTeamsActionsV7278{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
body.urw-agenda-events-v7277 .agendaTeamsListV7278{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.urw-agenda-events-v7277 .agendaTeamCheckV7278{
  display:inline-flex!important;
  align-items:center;
  gap:7px!important;
  width:auto!important;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#0f172a!important;
  border-radius:999px;
  padding:7px 10px;
  font-size:.86rem!important;
  font-weight:900!important;
  cursor:pointer;
}
body.urw-agenda-events-v7277 .agendaTeamCheckV7278 input{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  padding:0!important;
  border-radius:5px!important;
  accent-color:#0b3d6e;
}
body.urw-agenda-events-v7277 .agendaTeamCheckV7278 span{
  color:#0f172a!important;
  font-weight:900!important;
}
body.urw-agenda-events-v7277 .agendaImageUploadV7278{
  border:1px solid #dbe5ef;
  background:#f8fafc;
  border-radius:18px;
  padding:12px;
}
body.urw-agenda-events-v7277 .agendaImageUploadV7278 input[type="file"]{
  background:#fff!important;
  color:#0f172a!important;
  border:1px dashed #94a3b8!important;
  cursor:pointer;
}
body.urw-agenda-events-v7277 #eventImagePreviewV7278,
body.urw-agenda-events-v7277 .agendaEventImageV7278{
  width:100%;
  max-height:180px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid #dbe5ef;
  background:#e2e8f0;
}
body.urw-agenda-events-v7277 .agendaEventRowV7278{
  grid-template-columns: minmax(0,1fr);
}
body.urw-agenda-events-v7277 .agendaEventRowV7278 .agendaEventImageV7278{
  max-height:160px;
  margin-bottom:3px;
}
body.urw-agenda-events-v7277 .agendaEventRowV7277 footer b{
  display:none!important;
}
body.urw-agenda-events-v7277 .agendaDeleteBtnV7278,
body.urw-agenda-events-v7277 .agendaEventRowV7277 button.agendaDeleteBtnV7278{
  background:#fee2e2!important;
  color:#7f1d1d!important;
  border:1px solid #fecaca!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-weight:950!important;
}
body.urw-agenda-events-v7277 .agendaSecondaryBtnV7277,
body.urw-agenda-events-v7277 button.agendaSecondaryBtnV7277{
  background:#e2e8f0!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-weight:950!important;
}
@media(max-width:640px){
  body.urw-agenda-events-v7277 .agendaTeamsActionsV7278,
  body.urw-agenda-events-v7277 .agendaTeamsActionsV7278 button{width:100%;}
  body.urw-agenda-events-v7277 .agendaTeamCheckV7278{flex:1 1 auto;justify-content:center;}
}

/* URW V7.2.79 — Agenda événements on real V7 functional shell, no custom shell, strict contrast */
body.urw-page-agenda-events{
  background:#eef3f9!important;
  color:#102a43;
  padding-bottom:calc(84px + env(safe-area-inset-bottom));
}
body.urw-page-agenda-events .urw-functional-shell{min-height:100vh;}
body.urw-page-agenda-events .urw-functional-main{padding-bottom:28px;}
body.urw-page-agenda-events .urw-events-card-v7276{display:grid;gap:14px;}
body.urw-page-agenda-events .agendaPanelV7277{
  background:#ffffff;
  border:1px solid rgba(11,61,110,.12);
  box-shadow:none;
}
body.urw-page-agenda-events .agendaPrimaryBtnV7277,
body.urw-page-agenda-events button.agendaPrimaryBtnV7277{
  background:#0b3d6e!important;
  color:#ffffff!important;
  border:1px solid #0b3d6e!important;
  opacity:1!important;
}
body.urw-page-agenda-events .agendaSecondaryBtnV7277,
body.urw-page-agenda-events button.agendaSecondaryBtnV7277,
body.urw-page-agenda-events .urw-btn-secondary.agendaBackToClubV7279{
  background:#e8eef6!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
  text-decoration:none!important;
  opacity:1!important;
}
body.urw-page-agenda-events .agendaDeleteBtnV7278,
body.urw-page-agenda-events .agendaEventRowV7277 button.agendaDeleteBtnV7278{
  background:#fee2e2!important;
  color:#7f1d1d!important;
  border:1px solid #fecaca!important;
  box-shadow:none!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.urw-page-agenda-events .agendaEventRowV7277 code{
  color:#075985!important;
  background:#e0f2fe!important;
}
body.urw-page-agenda-events .agendaEventRowV7277 span{
  color:#1e3a8a!important;
  background:#dbeafe!important;
}
body.urw-page-agenda-events .agendaListHeaderV7277 span{
  background:#0b3d6e!important;
  color:#fff!important;
}
@media(max-width:720px){
  body.urw-page-agenda-events .urw-page-actions{width:100%;}
  body.urw-page-agenda-events .urw-btn-secondary.agendaBackToClubV7279{width:100%;justify-content:center;}
}

/* URW V7.2.80 — Agenda événements: calendar view + team filters + strict contrast. */
body.urw-page-agenda-events.urw-agenda-events-v7280 .urw-events-card-v7276{gap:16px;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaPageHeaderV7280 .urw-page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarPanelV7280{display:grid;gap:14px;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarHeadV7280{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:12px;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarHeadV7280 h2{margin:0;color:#082f49;font-size:1.35rem;text-transform:capitalize;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarHeadV7280 p{margin:3px 0 0;color:#475569;font-weight:850;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaIconBtnV7280{width:44px;height:44px;border-radius:16px;border:1px solid #cbd5e1;background:#fff!important;color:#0b3d6e!important;font-size:1.8rem;font-weight:950;line-height:1;box-shadow:0 10px 24px rgba(15,23,42,.08);}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaIconBtnV7280:hover{background:#eaf3ff!important;color:#082f49!important;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaFilterRailV7280{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaFilterBtnV7280{border:1px solid #cbd5e1;background:#fff!important;color:#0f172a!important;border-radius:999px;min-height:36px;padding:0 14px;font-weight:950;white-space:nowrap;box-shadow:0 8px 18px rgba(15,23,42,.06);}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaFilterBtnV7280.active{background:#0b3d6e!important;color:#fff!important;border-color:#0b3d6e!important;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarGridV7280{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:7px;align-items:start;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDayV7280.empty{min-height:34px;border-radius:13px;background:#f1f5f9;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.78rem;font-weight:900;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDayV7280.hasEvents{grid-column:span 2;min-height:116px;border-radius:22px;background:#eaf3ff;border:1px solid #bfdbfe;padding:9px;display:grid;grid-template-columns:32px 1fr;gap:8px;box-shadow:0 10px 24px rgba(11,61,110,.08);}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDayNumberV7280{width:32px;height:32px;border-radius:12px;background:#0b3d6e;color:#fff;font-weight:950;display:flex;align-items:center;justify-content:center;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDayEventsV7280{display:grid;gap:8px;min-width:0;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280{background:#fff;border:1px solid #dbe5ef;border-radius:18px;padding:9px;display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:start;min-width:0;color:#0f172a;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280.compact{grid-template-columns:86px 1fr;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280.noImage{grid-template-columns:1fr;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventThumbV7280{width:100%;height:72px;object-fit:cover;border-radius:14px;background:#dbeafe;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventContentV7280{display:grid;gap:4px;min-width:0;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventScopeV7280{width:max-content;max-width:100%;border-radius:999px;background:#dbeafe;color:#1e3a8a;padding:3px 8px;font-size:.66rem;font-weight:950;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventContentV7280 h3{margin:0;color:#0f172a;font-size:.98rem;line-height:1.15;font-weight:950;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventContentV7280 small{color:#334155;font-weight:900;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventContentV7280 p{margin:0;color:#475569;font-weight:750;line-height:1.3;font-size:.86rem;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventFooterV7280{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:4px;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventTimeV7280{border-radius:999px;background:#fef3c7;color:#92400e;padding:4px 8px;font-size:.75rem;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaNewsLinkBtnV7280{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border-radius:999px;padding:0 10px;background:#e0f2fe;color:#075985!important;text-decoration:none;font-weight:950;font-size:.78rem;border:1px solid #bae6fd;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDeleteBtnV7278,body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280 button.agendaDeleteBtnV7278{min-height:30px;border-radius:999px;padding:0 10px;background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;font-weight:950;box-shadow:none!important;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEncodedPanelV7280 .agendaListGridV7277{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaFormPanelV7280[hidden]{display:none!important;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaFormGridV7280 .agendaNewsLinkV7280 input{margin-top:6px;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaPrimaryBtnV7277,body.urw-page-agenda-events.urw-agenda-events-v7280 button.agendaPrimaryBtnV7277{background:#0b3d6e!important;color:#fff!important;border-color:#0b3d6e!important;}
body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaSecondaryBtnV7277,body.urw-page-agenda-events.urw-agenda-events-v7280 button.agendaSecondaryBtnV7277,body.urw-page-agenda-events.urw-agenda-events-v7280 .urw-btn-secondary.agendaBackToClubV7279{background:#e2e8f0!important;color:#0f172a!important;border:1px solid #cbd5e1!important;box-shadow:none!important;}
@media(max-width:760px){
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaPageHeaderV7280 .urw-page-actions{width:100%;}
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaPageHeaderV7280 .urw-page-actions>*{flex:1 1 100%;justify-content:center;}
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaCalendarGridV7280{grid-template-columns:repeat(5,minmax(26px,1fr));gap:6px;}
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaDayV7280.hasEvents{grid-column:1/-1;}
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280,body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280.compact{grid-template-columns:70px 1fr;}
  body.urw-page-agenda-events.urw-agenda-events-v7280 .agendaEventCardV7280.noImage{grid-template-columns:1fr;}
}

/* URW V7.2.81 — Agenda premium timeline UX */
body.urw-page-agenda-events.urw-agenda-events-v7281 .urw-events-card-v7276{
  gap:18px;
  padding:clamp(16px,2vw,26px);
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPageHeaderV7280{
  padding-bottom:4px;
  border-bottom:0;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPageHeaderV7280 .urw-page-icon{display:none;}
body.urw-page-agenda-events.urw-agenda-events-v7281 .urw-page-title{
  font-size:clamp(1.85rem,4vw,2.45rem);
  letter-spacing:-.055em;
  color:#061b35;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .urw-page-subtitle{
  max-width:720px;
  color:#64748b;
  font-weight:750;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaAddBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7281 button.agendaAddBtnV7281{
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  background:#0b3d6e!important;
  color:#fff!important;
  border:1px solid #0b3d6e!important;
  box-shadow:0 12px 24px rgba(11,61,110,.18)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarPanelV7280{
  border-radius:26px;
  padding:18px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dbe7f3;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarHeadV7280{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:16px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarHeadV7280 h2{
  font-size:clamp(1.45rem,3vw,1.9rem);
  letter-spacing:-.04em;
  color:#061b35;
  text-transform:capitalize;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarHeadV7280 p{
  color:#486581;
  font-weight:850;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaIconBtnV7280{
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid #d4e0ed;
  background:#fff!important;
  color:#0b3d6e!important;
  box-shadow:0 12px 24px rgba(15,23,42,.07);
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaFilterRailV7280{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 6px;
  scrollbar-width:thin;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaFilterBtnV7280{
  min-height:38px;
  border-radius:999px;
  padding:0 16px;
  background:#fff!important;
  color:#071b33!important;
  border:1px solid #d4e0ed!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  font-weight:950;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaFilterBtnV7280.active{
  background:#0b3d6e!important;
  color:#fff!important;
  border-color:#0b3d6e!important;
  box-shadow:0 12px 24px rgba(11,61,110,.2)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniCalendarV7281{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px 4px 2px;
  border-top:1px solid #eef4fa;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281{
  width:38px;
  height:42px;
  border:0;
  background:transparent!important;
  color:#42526a!important;
  border-radius:14px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-weight:900;
  box-shadow:none!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281 span{line-height:1;}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281 i{
  width:5px;
  height:5px;
  border-radius:999px;
  background:#2f80ed;
  display:block;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281.hasEvent{
  background:#eef6ff!important;
  color:#0b3d6e!important;
  cursor:pointer;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281.today{
  outline:1px solid #7db4ff;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEncodedPanelV7280{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaListHeaderV7277{
  margin:2px 0 12px;
  padding:0 4px;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaListHeaderV7277 h2{
  font-size:1.25rem;
  color:#061b35;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaListHeaderV7277 span{
  min-width:32px;
  height:32px;
  background:#0b3d6e;
  color:#fff;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEncodedPanelV7280 .agendaListGridV7277{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateGroupV7281{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:16px;
  align-items:start;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281{
  position:sticky;
  top:78px;
  display:grid;
  justify-items:center;
  padding-top:8px;
  color:#0b3d6e;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281 small{
  text-transform:uppercase;
  font-size:.7rem;
  color:#64748b;
  font-weight:950;
  letter-spacing:.04em;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281 strong{
  font-size:2.05rem;
  line-height:1;
  color:#0b3d6e;
  letter-spacing:-.06em;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281 span{
  font-size:.82rem;
  color:#0b3d6e;
  font-weight:950;
  text-transform:uppercase;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateEventsV7281{
  display:grid;
  gap:12px;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPremiumEventCardV7281{
  display:grid;
  grid-template-columns:minmax(150px,260px) 1fr;
  gap:16px;
  align-items:stretch;
  min-height:142px;
  padding:14px;
  border:1px solid #dbe7f3;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 16px 34px rgba(15,23,42,.06);
  color:#061b35;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPremiumEventCardV7281.noImage{
  grid-template-columns:1fr;
  min-height:auto;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventThumbV7281{
  width:100%;
  height:100%;
  min-height:118px;
  max-height:170px;
  object-fit:cover;
  border-radius:18px;
  background:#dbeafe;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventContentV7281{
  display:grid;
  align-content:center;
  gap:7px;
  min-width:0;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventScopeV7281{
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  background:#dbeafe;
  color:#0b3d6e;
  font-size:.74rem;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPremiumEventCardV7281 h3{
  margin:0;
  font-size:clamp(1.12rem,2vw,1.38rem);
  line-height:1.12;
  color:#061b35;
  letter-spacing:-.03em;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventMetaV7281{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  color:#334155;
  font-weight:900;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventMetaV7281 span+span::before{
  content:'•';
  margin-right:7px;
  color:#94a3b8;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventTextV7281{
  margin:0;
  color:#526174;
  font-size:.93rem;
  font-weight:750;
  line-height:1.38;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventActionsV7281{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:4px;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaSignupBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventLinkBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEditBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDeleteBtnV7278{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:0 12px;
  font-size:.82rem;
  font-weight:950;
  text-decoration:none;
  border:1px solid transparent;
  box-shadow:none!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaSignupBtnV7281{
  background:#0b3d6e!important;
  color:#fff!important;
  border-color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventLinkBtnV7281{
  background:#e0f2fe!important;
  color:#075985!important;
  border-color:#bae6fd!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEditBtnV7281{
  background:#fff!important;
  color:#0b3d6e!important;
  border-color:#cbd5e1!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDeleteBtnV7278,
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPremiumEventCardV7281 button.agendaDeleteBtnV7278{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaFormPanelV7280{
  border-radius:24px;
  border:1px solid #dbe7f3;
  background:#fff;
}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaFormPanelV7280[hidden]{display:none!important;}
body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaSecondaryBtnV7277,
body.urw-page-agenda-events.urw-agenda-events-v7281 button.agendaSecondaryBtnV7277{
  background:#e2e8f0!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
}
@media (max-width: 760px){
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarPanelV7280{padding:14px;border-radius:22px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaCalendarHeadV7280{grid-template-columns:42px 1fr 42px;gap:10px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaIconBtnV7280{width:42px;height:42px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniCalendarV7281{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaMiniDayV7281{flex:0 0 36px;width:36px;height:40px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateGroupV7281{grid-template-columns:58px 1fr;gap:10px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281{position:static;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaDateColV7281 strong{font-size:1.55rem;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaPremiumEventCardV7281{grid-template-columns:1fr;padding:12px;border-radius:20px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventThumbV7281{height:150px;min-height:150px;}
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventActionsV7281 a,
  body.urw-page-agenda-events.urw-agenda-events-v7281 .agendaEventActionsV7281 button{flex:1 1 auto;}
}

/* URW V7.2.82 — Agenda premium mockup alignment + add button reliability */
body.urw-page-agenda-events.urw-agenda-events-v7282 .urw-functional-main{
  background:linear-gradient(180deg,#f6f9fd 0%,#eef4fb 100%);
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .urw-events-card-v7276{
  max-width:1180px;
  margin:0 auto;
  border-radius:28px;
  border:1px solid #dbe7f3;
  background:#fff;
  box-shadow:0 22px 55px rgba(15,23,42,.08);
  padding:clamp(18px,2.4vw,30px);
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPageHeaderV7280{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:4px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPageHeaderV7280 .urw-page-subtitle{
  font-size:.92rem;
  line-height:1.35;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaAddBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7282 button.agendaAddBtnV7281{
  position:relative;
  z-index:3;
  pointer-events:auto!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#08284a!important;
  border:1px solid #b8cbe0!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaAddBtnV7281:hover,
body.urw-page-agenda-events.urw-agenda-events-v7282 button.agendaAddBtnV7281:hover{
  background:#0b3d6e!important;
  color:#fff!important;
  border-color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaCalendarPanelV7280{
  padding:20px 22px 16px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dbe7f3;
  box-shadow:0 14px 30px rgba(15,23,42,.045);
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaCalendarHeadV7280{
  grid-template-columns:44px 1fr 44px;
  margin-bottom:12px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaCalendarHeadV7280 h2{
  font-size:1.85rem;
  line-height:1;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaCalendarHeadV7280 p{
  margin-top:6px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaFilterRailV7280{
  margin:0 -2px 12px;
  padding:4px 2px 8px;
  border-bottom:1px solid #edf3f9;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniCalendarV7281{
  display:block;
  padding:8px 0 0;
  border-top:0;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniWeekdaysV7282{
  display:grid;
  grid-template-columns:repeat(7, minmax(32px,1fr));
  gap:8px;
  margin-bottom:6px;
  color:#76879c;
  font-weight:950;
  font-size:.68rem;
  letter-spacing:.06em;
  text-align:center;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDaysV7282{
  display:grid;
  grid-template-columns:repeat(14, minmax(34px,1fr));
  gap:8px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDayV7281{
  width:auto;
  height:34px;
  min-width:34px;
  border-radius:13px;
  font-size:.95rem;
  background:transparent!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDayV7281.hasEvent{
  background:#eef6ff!important;
  box-shadow:inset 0 0 0 1px #d5e9ff!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDayV7281.hasEvent span{
  color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEncodedPanelV7280{
  margin-top:8px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaListHeaderV7277{
  margin:6px 0 18px;
  align-items:center;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaListHeaderV7277 h2{
  font-size:1.42rem;
  letter-spacing:-.035em;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaListHeaderV7277 span{
  min-width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaDateGroupV7281{
  grid-template-columns:100px 1fr;
  gap:18px;
  margin-bottom:14px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaDateColV7281{
  top:96px;
  padding-top:12px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaDateColV7281 strong{
  font-size:2.35rem;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPremiumEventCardV7281{
  grid-template-columns:minmax(190px,280px) 1fr;
  min-height:144px;
  border-radius:22px;
  padding:12px 14px;
  border:1px solid #dce8f4;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPremiumEventCardV7281.noImage{
  grid-template-columns:1fr;
  max-width:100%;
  min-height:126px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEventThumbV7281{
  height:100%;
  min-height:126px;
  border-radius:18px;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEventContentV7281{
  align-content:center;
  gap:8px;
  padding:4px 0;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEventScopeV7281{
  background:#dbeafe!important;
  color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaSignupBtnV7281{
  background:#0b3d6e!important;
  color:#fff!important;
  border-color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEventLinkBtnV7281{
  background:#e0f2fe!important;
  color:#075985!important;
  border-color:#bae6fd!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEditBtnV7281{
  background:#fff!important;
  color:#0b3d6e!important;
  border-color:#b8cbe0!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaDeleteBtnV7278,
body.urw-page-agenda-events.urw-agenda-events-v7282 button.agendaDeleteBtnV7278{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaFormPanelV7280{
  order:2;
  margin:6px 0 0;
  padding:18px;
  background:linear-gradient(180deg,#fff,#f9fbff);
  border:1px solid #bdd5ee;
  box-shadow:0 18px 36px rgba(11,61,110,.09);
}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaFormPanelV7280:not([hidden]){
  display:block!important;
  animation:agendaFormRevealV7282 .18s ease-out;
}
@keyframes agendaFormRevealV7282{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaSecondaryBtnV7277,
body.urw-page-agenda-events.urw-agenda-events-v7282 button.agendaSecondaryBtnV7277{
  background:#e2e8f0!important;
  color:#0f172a!important;
  border-color:#cbd5e1!important;
}
@media (max-width: 860px){
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPageHeaderV7280{display:grid;gap:12px;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaAddBtnV7281{width:100%;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniWeekdaysV7282{display:none;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDaysV7282{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaMiniDayV7281{flex:0 0 38px;height:40px;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaDateGroupV7281{grid-template-columns:60px 1fr;gap:10px;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaPremiumEventCardV7281{grid-template-columns:1fr;}
  body.urw-page-agenda-events.urw-agenda-events-v7282 .agendaEventThumbV7281{height:150px;}
}

/* URW V7.2.83 — Agenda visual fidelity, photos and premium buttons */
body.urw-page-agenda-events.urw-agenda-events-v7283 .urw-functional-main{
  background:linear-gradient(180deg,#f7fbff 0%,#eef5fc 100%);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .urw-events-card-v7276{
  max-width:1120px;
  padding:clamp(18px,2.2vw,28px);
  border:1px solid rgba(186,209,232,.9);
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 28px 70px rgba(2,32,64,.10);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPageHeaderV7280{
  margin-bottom:18px;
  padding-bottom:4px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .urw-page-title{
  color:#061b33;
  letter-spacing:-.045em;
  font-size:clamp(2rem,3.2vw,2.7rem);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaAddBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaAddBtnV7281{
  min-height:44px;
  padding:0 18px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  color:#08284a!important;
  border:1px solid #8fb0cf!important;
  box-shadow:0 12px 28px rgba(7,34,63,.10)!important;
  font-weight:900!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaAddBtnV7281:hover,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaAddBtnV7281:hover{
  background:var(--kf-primary)!important;
  color:#fff!important;
  border-color:var(--kf-primary)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaCalendarPanelV7280{
  padding:22px 24px 24px;
  border-radius:28px;
  border:1px solid #d6e6f6;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 42px rgba(10,47,87,.065);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaCalendarHeadV7280{
  grid-template-columns:50px 1fr 50px;
  align-items:center;
  margin-bottom:18px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaCalendarHeadV7280 h2{
  color:#071f3d;
  font-size:clamp(1.8rem,2.8vw,2.35rem);
  letter-spacing:-.045em;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaCalendarHeadV7280 p{
  color:#3c5877;
  font-size:1.03rem;
  font-weight:900;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaIconBtnV7280{
  width:50px;
  height:50px;
  border-radius:16px;
  background:#fff!important;
  color:var(--kf-primary)!important;
  border:1px solid #c2d5e8!important;
  box-shadow:0 12px 24px rgba(15,52,89,.10);
  font-size:1.55rem;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaFilterRailV7280{
  margin:0 -4px 18px;
  padding:4px 4px 12px;
  gap:10px;
  border-bottom:1px solid #edf3f9;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaFilterBtnV7280{
  min-height:40px;
  padding:0 18px;
  border-radius:999px;
  background:#ffffff!important;
  color:#071f3d!important;
  border:1px solid #c8d9ea!important;
  box-shadow:0 8px 18px rgba(5,32,60,.055);
  font-weight:950;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaFilterBtnV7280.active{
  background:linear-gradient(135deg,var(--kf-primary),#0b4b86)!important;
  color:#fff!important;
  border-color:var(--kf-primary)!important;
  box-shadow:0 14px 28px rgba(8,59,106,.20);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniCalendarV7281{
  padding-top:6px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniWeekdaysV7282{
  margin-bottom:10px;
  color:#667c95;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDaysV7282{
  gap:10px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281{
  height:40px;
  min-width:40px;
  border-radius:16px;
  color:#314a67!important;
  font-weight:950;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281.hasEvent{
  position:relative;
  background:linear-gradient(135deg,#0b3d6e,#0d5a99)!important;
  color:#fff!important;
  border-color:#0b3d6e!important;
  box-shadow:0 12px 24px rgba(11,61,110,.25)!important;
  transform:translateY(-1px);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281.hasEvent span{
  color:#fff!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281.hasEvent i{
  width:5px;
  height:5px;
  bottom:5px;
  background:#ffffff!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.18);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281.today:not(.hasEvent){
  background:#edf6ff!important;
  border-color:#9cc8f4!important;
  color:#0b3d6e!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEncodedPanelV7280{
  margin-top:24px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaListHeaderV7277{
  margin:0 0 20px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaListHeaderV7277 h2{
  color:#061b33;
  font-size:clamp(1.45rem,2.4vw,1.85rem);
  letter-spacing:-.04em;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaListHeaderV7277 span{
  background:var(--kf-primary)!important;
  color:#fff!important;
  font-weight:950;
  box-shadow:0 12px 22px rgba(8,61,112,.24);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateGroupV7281{
  grid-template-columns:110px 1fr;
  gap:20px;
  margin-bottom:16px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281{
  text-align:center;
  padding-top:16px;
  position:sticky;
  top:92px;
  align-self:start;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281 small{
  display:block;
  color:#6d7f94;
  font-weight:950;
  font-size:.74rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281 strong{
  display:block;
  margin-top:3px;
  color:var(--kf-primary);
  font-size:2.8rem;
  line-height:.9;
  letter-spacing:-.07em;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281 span{
  display:block;
  margin-top:4px;
  color:#0b3d6e;
  font-size:.86rem;
  font-weight:950;
  text-transform:uppercase;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateEventsV7281{
  gap:14px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281{
  grid-template-columns:minmax(220px,320px) minmax(0,1fr);
  gap:20px;
  align-items:stretch;
  min-height:168px;
  padding:14px 18px 14px 14px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #d4e4f4;
  box-shadow:0 18px 42px rgba(6,29,55,.08);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281.hasImage{
  grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281.noImage{
  grid-template-columns:1fr!important;
  padding:20px 22px;
  min-height:142px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventThumbWrapV7283{
  display:block;
  margin:0;
  min-height:140px;
  height:100%;
  overflow:hidden;
  border-radius:20px;
  background:#dbeafe;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventThumbV7281{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:140px!important;
  object-fit:cover!important;
  border-radius:0!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventContentV7281{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  min-width:0;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventScopeV7281{
  align-self:flex-start;
  max-width:100%;
  padding:6px 12px;
  border-radius:999px;
  background:#dbeafe!important;
  color:#0b3d6e!important;
  font-weight:950;
  font-size:.78rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281 h3{
  margin:0;
  color:#061b33;
  font-size:clamp(1.35rem,2vw,1.7rem);
  line-height:1.04;
  letter-spacing:-.045em;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventMetaV7281{
  color:var(--kf-primary);
  font-weight:900;
  font-size:1rem;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventTextV7281{
  color:#51687f;
  font-weight:700;
  line-height:1.35;
  max-width:68ch;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventActionsV7281{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventActionsV7281 a,
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventActionsV7281 button,
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaActionsV7277 button,
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaTeamsActionsV7278 button{
  min-height:40px;
  border-radius:999px!important;
  padding:0 16px!important;
  font-weight:950!important;
  border-width:1px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaSignupBtnV7281{
  background:linear-gradient(135deg,var(--kf-primary),#0b4b86)!important;
  color:#fff!important;
  border-color:var(--kf-primary)!important;
  box-shadow:0 14px 24px rgba(6,51,93,.22)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventLinkBtnV7281{
  background:#e6f6ff!important;
  color:#075985!important;
  border-color:#addcf4!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEditBtnV7281,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaEditBtnV7281{
  background:#ffffff!important;
  color:#0b3d6e!important;
  border-color:#a9c2dc!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDeleteBtnV7278,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaDeleteBtnV7278{
  background:#ffe4e6!important;
  color:#9f1239!important;
  border-color:#fecdd3!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaSecondaryBtnV7277,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaSecondaryBtnV7277{
  background:#edf4fb!important;
  color:var(--kf-primary)!important;
  border-color:#c7d9ea!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPrimaryBtnV7277,
body.urw-page-agenda-events.urw-agenda-events-v7283 button.agendaPrimaryBtnV7277{
  background:var(--kf-primary)!important;
  color:#fff!important;
  border-color:var(--kf-primary)!important;
}
body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaFormPanelV7280{
  border-radius:24px;
  border:1px solid #c8daec;
  background:#fff;
  box-shadow:0 18px 36px rgba(6,29,55,.08);
}
@media (max-width:860px){
  body.urw-page-agenda-events.urw-agenda-events-v7283 .urw-events-card-v7276{padding:16px;border-radius:24px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaCalendarPanelV7280{padding:16px;border-radius:22px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniWeekdaysV7282{display:none;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDaysV7282{display:flex;overflow-x:auto;gap:8px;padding:4px 0 8px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaMiniDayV7281{flex:0 0 42px;height:42px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateGroupV7281{grid-template-columns:64px minmax(0,1fr);gap:12px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281{position:static;padding-top:12px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaDateColV7281 strong{font-size:2rem;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281,
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaPremiumEventCardV7281.hasImage{grid-template-columns:1fr!important;padding:12px;border-radius:20px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventThumbWrapV7283{height:150px;min-height:150px;}
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventActionsV7281 a,
  body.urw-page-agenda-events.urw-agenda-events-v7283 .agendaEventActionsV7281 button{flex:1 1 auto;}
}


/* =========================================================
   URW V7.2.86 — Agenda event image rendering fix
   Scope: Agenda cards only.
   Goal: remove the blue band under images by preventing image containers
   from stretching with text content. No storage / IndexedDB / shell / button logic changed.
   ========================================================= */
body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaPremiumEventCardV7281,
body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaPremiumEventCardV7281.hasImage{
  align-items:start!important;
}

body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283{
  display:block!important;
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:transparent!important;
  box-shadow:none!important;
  align-self:start!important;
  flex:0 0 auto!important;
}

body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283::before,
body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283::after{
  display:none!important;
  content:none!important;
}

body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbV7281,
body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:transparent!important;
}

body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventContentV7281{
  align-self:center!important;
}

@media (max-width:860px){
  body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283{
    height:170px!important;
    min-height:170px!important;
    max-height:170px!important;
  }
  body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventContentV7281{
    align-self:start!important;
  }
}

@media (max-width:520px){
  body.urw-page-agenda-events.urw-agenda-events-v7286 .agendaEventThumbWrapV7283{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    border-radius:18px!important;
  }
}

/* =========================================================
   URW V7.2.87 — Home Club smart Agenda quick card
   Scope: Home Club quick access only. No homepage height increase.
========================================================= */
.homeCoachV400 .v4QuickRail .v4Quick.v7287AgendaQuick .v7287AgendaQuickCue{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  color:var(--club-muted);
  font-size:10px;
  font-weight:900;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.homeCoachV400 .v4QuickRail .v4Quick.v7287AgendaQuick .v7287AgendaQuickCue span{
  color:var(--club-muted);
  font-size:10px;
  font-weight:900;
  min-width:0;
  max-width:78px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.homeCoachV400 .v4QuickRail .v4Quick.v7287AgendaQuick .v7287AgendaQuickCue i{
  width:7px;
  height:7px;
  border-radius:999px;
  flex:0 0 auto;
  background:#ff6b6b;
  box-shadow:0 0 0 4px rgba(255,107,107,.16), 0 0 12px rgba(255,107,107,.48);
}

/* V7.2.98 — Home CQ targeted creation */
.homeCoachV400 .v7298CQTop{position:relative;gap:10px;align-items:center;}
.homeCoachV400 .v7298CQTop .v4Season{display:block;color:rgba(255,255,255,.72);font-weight:650;font-size:13px;line-height:1.15;margin-top:2px;}
.homeCoachV400 .v7298CQBell{width:42px;height:42px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff;display:inline-flex;align-items:center;justify-content:center;position:relative;margin-left:auto;}
.homeCoachV400 .v7298CQBell .v4Icon{width:20px;height:20px;}
.homeCoachV400 .v7298CQBell span{position:absolute;top:3px;right:3px;min-width:17px;height:17px;border-radius:999px;background:#f59e0b;color:#08254c;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid var(--kf-primary);}
.homeCoachV400 .v7298CQNotifPanel{position:absolute;top:74px;right:12px;z-index:30;width:min(340px,calc(100% - 24px));background:#fff;color:#062247;border:1px solid #cfe1f6;border-radius:22px;box-shadow:0 24px 52px rgba(3,18,38,.28);padding:14px;}
.homeCoachV400 .v7298CQNotifPanel>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.homeCoachV400 .v7298CQNotifPanel button{width:34px;height:34px;border-radius:12px;border:1px solid #cfe1f6;background:#f5f9ff;color:#062247;font-weight:900;}
.homeCoachV400 .v7298CQNotifPanel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.homeCoachV400 .v7298CQNotifPanel li{border:1px solid #e1ecf8;background:#f8fbff;border-radius:14px;padding:9px 10px;display:grid;gap:2px;}
.homeCoachV400 .v7298CQNotifPanel li strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#0b4d8f;}
.homeCoachV400 .v7298CQNotifPanel li span{font-size:13px;font-weight:750;color:#0b2443;}
.homeCoachV400 .v7298CQHero{border-radius:26px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(22,86,145,.92),rgba(5,37,75,.96));color:#fff;padding:17px 18px 16px;box-shadow:0 18px 45px rgba(3,18,38,.22), inset 0 1px 0 rgba(255,255,255,.16);overflow:hidden;position:relative;}
.homeCoachV400 .v7298CQHero::after{content:"";position:absolute;right:-38px;bottom:-50px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.055);}
.homeCoachV400 .v7298CQHero h1{position:relative;margin:0 0 14px;display:flex;align-items:center;gap:10px;font-size:20px;line-height:1.1;}
.homeCoachV400 .v7298CQHero h1 .v4Icon{width:22px;height:22px;color:#b9ddff;}
.homeCoachV400 .v7298CQHeroStats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid rgba(255,255,255,.20);padding-bottom:13px;}
.homeCoachV400 .v7298CQHeroStats button{appearance:none;border:0;background:transparent;color:#fff;padding:3px 6px;display:grid;place-items:center;gap:4px;min-width:0;border-right:1px solid rgba(255,255,255,.18);cursor:pointer;}
.homeCoachV400 .v7298CQHeroStats button:last-child{border-right:0;}
.homeCoachV400 .v7298CQHeroStats .v4Icon{width:23px;height:23px;color:#5fb6ff;}
.homeCoachV400 .v7298CQHeroStats .has-pending .v4Icon{color:#f59e0b;}
.homeCoachV400 .v7298CQHeroStats strong{font-size:28px;line-height:1;font-weight:950;}
.homeCoachV400 .v7298CQHeroStats span{font-size:12px;font-weight:650;color:rgba(255,255,255,.84);text-align:center;}
.homeCoachV400 .v7298CQHeroActions{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.homeCoachV400 .v7298CQHeroActions a,.homeCoachV400 .v7298CQHeroActions button{min-height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.35);background:rgba(6,31,63,.30);color:#fff;font-weight:850;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;}
.homeCoachV400 .v7298CQHeroActions button{background:#52adff;border-color:#78c3ff;color:#fff;}
.homeCoachV400 .v7298CQHeroActions .v4Icon{width:18px;height:18px;}
.homeCoachV400 .v7298CQCard{background:#fff;color:#062247;border:1px solid #d7e5f5;border-radius:24px;box-shadow:0 16px 42px rgba(6,31,63,.14);padding:16px;}
.homeCoachV400 .v7298CQCard h2{margin:0 0 12px;font-size:19px;line-height:1.1;display:flex;align-items:center;gap:10px;color:#061d3d;}
.homeCoachV400 .v7298CQCard h2 .v4Icon{width:22px;height:22px;color:#0d67c7;}
.homeCoachV400 .v7298CQAlertComposer textarea{width:100%;box-sizing:border-box;resize:none;border:1px solid #d8e4f2;background:#f8fbff;border-radius:16px;padding:13px 14px;color:#0b2443;font-weight:700;font-family:inherit;min-height:48px;outline:none;}
.homeCoachV400 .v7298CQAlertComposer textarea:focus{border-color:#87bff7;box-shadow:0 0 0 3px rgba(82,173,255,.18);}
.homeCoachV400 .v7298CQAlertActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.homeCoachV400 .v7298CQAlertActions button{min-height:38px;border-radius:14px;border:1px solid #d4e2f3;background:#f7fbff;color:#09264b;font-weight:850;padding:0 12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.homeCoachV400 .v7298CQAlertActions button.active{border-color:#5caeff;background:#eef7ff;color:#064d9c;}
.homeCoachV400 .v7298CQAlertActions .v4Icon{width:17px;height:17px;}
.homeCoachV400 .v7298CQAlertActions .v7298CQPublish{margin-left:auto;background:var(--kf-primary);color:#fff;border-color:var(--kf-primary);}
.homeCoachV400 .v7298CQSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.homeCoachV400 .v7298CQSectionHead h2{margin:0;font-size:19px;}
.homeCoachV400 .v7298CQSectionHead a{font-size:13px;color:#0d67c7;text-decoration:none;font-weight:900;white-space:nowrap;}
.homeCoachV400 .v7298CQMatchRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(136px,42%);gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px;}
.homeCoachV400 .v7298CQMatchRail::-webkit-scrollbar{display:none;}
.homeCoachV400 .v7298CQMatchCard{scroll-snap-align:start;min-height:104px;border:1px solid #dbe8f6;background:#fbfdff;border-radius:18px;padding:12px;text-decoration:none;color:#071f3e;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto 1fr;column-gap:8px;align-items:start;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);}
.homeCoachV400 .v7298CQMatchCard .v4Icon{width:27px;height:27px;color:#237ee8;grid-row:1/3;}
.homeCoachV400 .v7298CQMatchCard strong{font-size:15px;font-weight:950;line-height:1.05;}
.homeCoachV400 .v7298CQMatchCard span{font-size:12px;font-weight:700;color:#334a68;line-height:1.15;}
.homeCoachV400 .v7298CQMatchCard em{grid-column:1/3;margin-top:10px;background:#f0f5fb;border-radius:12px;padding:7px 8px;text-align:center;font-style:normal;font-weight:850;color:#334a68;}
.homeCoachV400 .v7298CQTwoCols{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.homeCoachV400 .v7298CQHalf{min-width:0;display:flex;flex-direction:column;gap:12px;}
.homeCoachV400 .v7298CQStatsDuo{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;text-align:center;margin:2px 0 4px;}
.homeCoachV400 .v7298CQStatsDuo i{display:block;width:1px;height:42px;background:#dbe6f3;}
.homeCoachV400 .v7298CQStatsDuo strong{display:block;color:#0d67c7;font-size:28px;line-height:1;font-weight:950;}
.homeCoachV400 .v7298CQStatsDuo small{display:block;color:var(--kf-primary);font-weight:700;font-size:12px;margin-top:4px;}
.homeCoachV400 .v7298CQPrimary{margin-top:auto;min-height:38px;border-radius:14px;background:var(--kf-primary);color:#fff;text-decoration:none;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;}
.homeCoachV400 .v7298CQInset{border:1px solid #dfeaf7;background:#fbfdff;border-radius:17px;padding:10px;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;text-decoration:none;color:#0a2444;}
.homeCoachV400 .v7298CQInset .v4Icon{width:24px;height:24px;color:#0d67c7;background:#eef6ff;border-radius:12px;padding:8px;box-sizing:content-box;}
.homeCoachV400 .v7298CQInset strong{display:block;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.homeCoachV400 .v7298CQInset small{display:block;color:#58708f;font-size:11px;font-weight:750;margin-top:2px;}
.homeCoachV400 .v7298CQInset b{color:#58708f;font-size:22px;}
.homeCoachV400 .v7298CQQuickRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:10px;overflow-x:auto;padding-bottom:3px;}
.homeCoachV400 .v7298CQQuickRail::-webkit-scrollbar{display:none;}
.homeCoachV400 .v7298CQQuickRail a{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.92);border-radius:20px;min-height:78px;color:#082247;text-decoration:none;display:grid;place-items:center;gap:5px;font-weight:850;box-shadow:0 12px 28px rgba(4,25,52,.16);}
.homeCoachV400 .v7298CQQuickRail .v4Icon{width:24px;height:24px;color:#0b3d6e;}
.homeCoachV400 .v7298CQQuickRail span{font-size:13px;}
@media (max-width:520px){
  .homeCoachV400 .v7298CQHero{padding:14px 13px 13px;border-radius:22px;}
  .homeCoachV400 .v7298CQHero h1{font-size:18px;margin-bottom:10px;}
  .homeCoachV400 .v7298CQHeroStats strong{font-size:24px;}
  .homeCoachV400 .v7298CQHeroStats span{font-size:10.5px;}
  .homeCoachV400 .v7298CQHeroActions{grid-template-columns:1fr;gap:8px;}
  .homeCoachV400 .v7298CQCard{padding:13px;border-radius:21px;}
  .homeCoachV400 .v7298CQAlertActions{display:grid;grid-template-columns:1fr 1fr;}
  .homeCoachV400 .v7298CQAlertActions .v7298CQPublish{grid-column:1/3;margin-left:0;}
  .homeCoachV400 .v7298CQMatchRail{grid-auto-columns:minmax(122px,48%);}
  .homeCoachV400 .v7298CQTwoCols{gap:9px;}
  .homeCoachV400 .v7298CQStatsDuo strong{font-size:24px;}
  .homeCoachV400 .v7298CQInset{grid-template-columns:34px 1fr auto;padding:8px;gap:7px;}
  .homeCoachV400 .v7298CQInset .v4Icon{width:20px;height:20px;padding:7px;}
  .homeCoachV400 .v7298CQPrimary{font-size:12px;min-height:35px;}
}

/* =========================================================
   V7.2.106 — CQ homepage final cleanup
   Scope: Home CQ only.
   Notes:
   - Consolidates the validated visual state from V7.2.99 to V7.2.105.
   - Removes old stacked CQ visual patches and keeps one readable final recipe.
   - Does not change the validated V7.2.105 rendering intentionally.
========================================================= */

/* Home CQ shell / page background */
.homeCoachV400:has(.v7299CQTop){
  background:
    radial-gradient(circle at 18% 0%, rgba(97,181,255,.28), transparent 34%),
    radial-gradient(circle at 94% 18%, rgba(255,255,255,.13), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(40,117,190,.18), transparent 36%),
    linear-gradient(165deg, color-mix(in srgb, var(--club-bg-dark,#071726) 96%, #020817), color-mix(in srgb, var(--club-primary,#0b3d6e) 62%, #031225))!important;
  padding-top:12px!important;
  isolation:isolate;
}
.homeCoachV400:has(.v7299CQTop)::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 70%);
  z-index:-1;
}

/* Topbar CQ */
.homeCoachV400 .v7299CQTop{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  position:relative!important;
  margin-bottom:10px!important;
  padding:4px 0 2px!important;
}
.homeCoachV400 .v7299CQTop .v4ClubIdentity{
  flex:1 1 auto!important;
  min-width:0!important;
}
.homeCoachV400 .v7299CQTop .v4LogoShell{
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
}
.homeCoachV400 .v7299CQTop .v4Title{
  max-width:155px!important;
  font-size:16px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
.homeCoachV400 .v7299CQTop .v4Season{
  color:rgba(255,255,255,.70)!important;
  font-size:12px!important;
  font-weight:750!important;
}
.homeCoachV400 .v7299CQTopActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
}
.homeCoachV400 .v7299CQTopActions .v4ViewSwitch{
  position:static!important;
  order:1!important;
  margin:0!important;
  flex:0 0 auto!important;
  background:rgba(2,14,30,.34)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.homeCoachV400 .v7299CQTopActions .v4ViewSwitch button{
  color:rgba(255,255,255,.72)!important;
  font-weight:900!important;
}
.homeCoachV400 .v7299CQTopActions .v4ViewSwitch button.active{
  background:linear-gradient(135deg,#ffffff,#b9ddff)!important;
  color:#062247!important;
}
.homeCoachV400 .v7299CQTopActions .v7298CQBell{
  order:2!important;
  margin:0!important;
  flex:0 0 auto!important;
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
}
.homeCoachV400 .v7299CQTopActions .v424HomeMenuBtn{
  order:3!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v7299CQTopActions .v7298CQBell,
.homeCoachV400 .v7299CQTopActions .v424HomeMenuBtn{
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.homeCoachV400 .v7299CQTopActions .v424HomeMenuBtn .v4Icon{color:#fff!important;}

/* Shared CQ glass surface: validated reference family from “Aujourd’hui au club”. */
.homeCoachV400 .v7298CQSurface,
.homeCoachV400 .v7298CQHero,
.homeCoachV400 .v7298CQCard,
.homeCoachV400 .v7298CQPlanning,
.homeCoachV400 .v7298CQHalf,
.homeCoachV400 .v7298CQAlertComposer{
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:
    radial-gradient(circle at 86% 28%, rgba(98,182,255,.22), transparent 34%),
    linear-gradient(145deg,rgba(19,83,145,.72),rgba(4,29,61,.96))!important;
  box-shadow:0 22px 56px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.18)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
}
.homeCoachV400 .v7298CQCard::before{display:none!important;content:none!important;}
.homeCoachV400 .v7298CQHero::after,
.homeCoachV400 .v7298CQCard::after,
.homeCoachV400 .v7298CQPlanning::after,
.homeCoachV400 .v7298CQHalf::after,
.homeCoachV400 .v7298CQAlertComposer::after{
  content:""!important;
  position:absolute!important;
  width:220px!important;
  height:220px!important;
  right:-78px!important;
  bottom:-96px!important;
  pointer-events:none!important;
  background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.03) 48%,transparent 68%)!important;
  z-index:0!important;
}
.homeCoachV400 .v7298CQHero > *,
.homeCoachV400 .v7298CQCard > *,
.homeCoachV400 .v7298CQPlanning > *,
.homeCoachV400 .v7298CQHalf > *,
.homeCoachV400 .v7298CQAlertComposer > *{
  position:relative!important;
  z-index:1!important;
}
.homeCoachV400 .v7298CQHero{
  padding:18px!important;
  margin-bottom:10px!important;
}
.homeCoachV400 .v7298CQCard,
.homeCoachV400 .v7298CQPlanning,
.homeCoachV400 .v7298CQAlertComposer{margin-bottom:10px!important;}
.homeCoachV400 .v7298CQHero h1{
  font-size:20px!important;
  letter-spacing:-.025em!important;
}
.homeCoachV400 .v7298CQHero h1 .v4Icon{color:#b9ddff!important;}
.homeCoachV400 .v7298CQHeroAgendaLink{
  margin-left:auto!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  color:rgba(255,255,255,.92)!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
  white-space:nowrap!important;
}
.homeCoachV400 .v7298CQHeroAgendaLink:hover{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.homeCoachV400 .v7298CQHeroStats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  border-bottom:0!important;
  padding-bottom:0!important;
}
.homeCoachV400 .v7298CQHeroStats button{
  min-height:78px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 26px rgba(0,0,0,.10)!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
}
.homeCoachV400 .v7298CQHeroStats .v4Icon{color:#72c2ff!important;}
.homeCoachV400 .v7298CQHeroStats strong{font-size:27px!important;}
.homeCoachV400 .v7298CQHeroStats span{
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
  line-height:1.12!important;
}

/* Common CQ headings */
.homeCoachV400 .v7298CQCard h2,
.homeCoachV400 .v7298CQSectionHead h2{
  color:#f7fbff!important;
  text-shadow:0 1px 10px rgba(0,18,40,.24)!important;
  font-weight:950!important;
}
.homeCoachV400 .v7298CQCard h2 .v4Icon,
.homeCoachV400 .v7298CQSectionHead h2 .v4Icon{color:#b9ddff!important;}
.homeCoachV400 .v7298CQSectionHead h2{font-size:18px!important;}
.homeCoachV400 .v7298CQSectionHead a{
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:950!important;
  text-shadow:0 1px 9px rgba(0,22,52,.35)!important;
}

/* Alerte club */
.homeCoachV400 .v7298CQAlertComposer{padding:15px 17px 13px!important;}
.homeCoachV400 .v7298CQAlertComposer h2{margin-bottom:10px!important;}
.homeCoachV400 .v7298CQAlertComposer textarea{
  width:100%!important;
  box-sizing:border-box!important;
  resize:none!important;
  min-height:46px!important;
  border-radius:16px!important;
  padding:13px 14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.homeCoachV400 .v7298CQAlertComposer textarea::placeholder{color:rgba(255,255,255,.78)!important;}
.homeCoachV400 .v7298CQAlertActions{
  display:grid!important;
  grid-template-columns:minmax(122px,1fr) minmax(156px,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:10px!important;
}
.homeCoachV400 .v7298CQAlertActions button:not(.v7298CQPublish),
.homeCoachV400 .v7298CQTeamsPanel label{
  min-height:38px!important;
  border-radius:16px!important;
  justify-content:center!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#f7fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 22px rgba(0,0,0,.08)!important;
}
.homeCoachV400 .v7298CQAlertActions button:not(.v7298CQPublish).active{
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.10))!important;
  border-color:rgba(255,255,255,.32)!important;
}
.homeCoachV400 .v7298CQAlertActions button:not(.v7298CQPublish) .v4Icon,
.homeCoachV400 .v7298CQTeamsPanel label .v4Icon{color:#b9ddff!important;}
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"],
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"].active{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 24% 15%,rgba(105,198,255,.38),transparent 44%),
    linear-gradient(180deg,rgba(37,125,202,.64),rgba(3,42,86,.92))!important;
  border-color:rgba(218,241,255,.74)!important;
  text-shadow:0 1px 8px rgba(0,18,45,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 12px 24px rgba(0,20,52,.22)!important;
}
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"] *,
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"].active *,
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"] .v4Icon,
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"] svg,
.homeCoachV400 .v7298CQAlertActions button[data-cq-alert-scope="club"] svg *{
  color:#ffffff!important;
  stroke:#ffffff!important;
  fill:none!important;
  opacity:1!important;
  -webkit-text-fill-color:#ffffff!important;
}
.homeCoachV400 .v7298CQAlertActions .v7298CQPublish,
.homeCoachV400 .v7298CQPrimary{
  border-radius:16px!important;
  background:linear-gradient(135deg,var(--kf-primary),#041b36)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 24px rgba(0,16,35,.24)!important;
}
.homeCoachV400 .v7298CQAlertActions .v7298CQPublish{
  grid-column:auto!important;
  justify-self:end!important;
  min-width:158px!important;
  min-height:42px!important;
  margin-left:0!important;
}
.homeCoachV400 .v7298CQAlertActions .v7298CQPublish .v4Icon,
.homeCoachV400 .v7298CQPrimary .v4Icon{color:#fff!important;}
.homeCoachV400 .v7298CQTeamsPanel{
  margin-top:10px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06))!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.homeCoachV400 .v7298CQTeamsPanel[hidden]{display:none!important;}
.homeCoachV400 .v7298CQTeamsPanel>span{color:rgba(255,255,255,.84)!important;}

/* Planning à venir */
.homeCoachV400 .v7298CQPlanning{padding:14px 16px!important;}
.homeCoachV400 .v7298CQMatchRail{
  display:flex!important;
  gap:9px!important;
  overflow-x:auto!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:2px!important;
}
.homeCoachV400 .v7298CQMatchRail::-webkit-scrollbar{display:none!important;}
.homeCoachV400 .v7298CQMatchCard,
.homeCoachV400 .v7298CQInset{
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 26px rgba(0,0,0,.10)!important;
  color:#fff!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.homeCoachV400 .v7298CQMatchCard{
  flex:0 0 136px!important;
  min-height:82px!important;
  padding:9px 10px!important;
  display:grid!important;
  grid-template-columns:34px 1fr!important;
  column-gap:9px!important;
  align-items:start!important;
  text-decoration:none!important;
  scroll-snap-align:start!important;
}
.homeCoachV400 .v7298CQMatchCard > .v4Icon{display:none!important;}
.homeCoachV400 .v7298CQMatchLogo{
  grid-row:1 / 3!important;
  width:32px!important;
  height:32px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 8px 18px rgba(0,16,40,.14)!important;
  flex:0 0 32px!important;
}
.homeCoachV400 .v7298CQMatchLogo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  padding:3px!important;
}
.homeCoachV400 .v7298CQMatchLogo .v4OpponentFallback,
.homeCoachV400 .v7298CQMatchLogo .v4Icon{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#e8f6ff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
}
.homeCoachV400 .v7298CQMatchLogo .v4Icon{
  width:19px!important;
  height:19px!important;
}
.homeCoachV400 .v7298CQMatchCard strong,
.homeCoachV400 .v7298CQInset strong,
.homeCoachV400 .v7298CQInset b{color:#fff!important;}
.homeCoachV400 .v7298CQMatchCard strong{
  font-size:13px!important;
  line-height:1.05!important;
}
.homeCoachV400 .v7298CQMatchCard span,
.homeCoachV400 .v7298CQInset small{color:rgba(255,255,255,.82)!important;}
.homeCoachV400 .v7298CQMatchCard span{
  font-size:10px!important;
  line-height:1.05!important;
  min-height:11px!important;
}
.homeCoachV400 .v7298CQMatchCard em{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-column:1 / 3!important;
  margin-top:5px!important;
  min-height:24px!important;
  padding:0 6px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  font-weight:950!important;
  white-space:normal!important;
  text-align:center!important;
  font-style:normal!important;
}

/* Joueurs / Agenda */
.homeCoachV400 .v7298CQTwoCols{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:11px!important;
  margin-bottom:9px!important;
  align-items:stretch!important;
}
.homeCoachV400 .v7298CQTwoCols.v7298CQOneCol{
  grid-template-columns:1fr!important;
}
.homeCoachV400 .v7298CQHalf{
  min-height:150px!important;
  padding:15px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.homeCoachV400 .v7298CQStatsDuo{
  display:grid!important;
  grid-template-columns:1fr 1px 1fr!important;
  align-items:center!important;
  text-align:center!important;
  margin:2px 0 4px!important;
}
.homeCoachV400 .v7298CQStatsDuo strong{
  display:block!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 8px 20px rgba(0,33,80,.18)!important;
}
.homeCoachV400 .v7298CQStatsDuo small{
  display:block!important;
  color:rgba(255,255,255,.82)!important;
  font-weight:700!important;
  font-size:12px!important;
  margin-top:4px!important;
}
.homeCoachV400 .v7298CQStatsDuo i{
  display:block!important;
  width:1px!important;
  height:42px!important;
  background:rgba(255,255,255,.18)!important;
}
.homeCoachV400 .v7298CQInset{
  min-height:62px!important;
  display:grid!important;
  grid-template-columns:40px 1fr auto!important;
  gap:10px!important;
  align-items:center!important;
  text-decoration:none!important;
  padding:10px!important;
}
.homeCoachV400 .v7298CQInset .v4Icon{
  width:24px!important;
  height:24px!important;
  color:#0d67c7!important;
  background:#eef6ff!important;
  border-radius:12px!important;
  padding:8px!important;
  box-sizing:content-box!important;
}
.homeCoachV400 .v7298CQInset strong{
  display:block!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.homeCoachV400 .v7298CQInset small{
  display:block!important;
  font-size:11px!important;
  font-weight:750!important;
  margin-top:2px!important;
}
.homeCoachV400 .v7298CQPrimary{
  margin-top:auto!important;
  min-height:38px!important;
  text-decoration:none!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 12px!important;
}

/* Vie du club */
.homeCoachV400 .v7299CQLife{margin-top:2px!important;}
.homeCoachV400 .v7299CQLife .v4NewsCarouselBlock{
  margin-top:0!important;
  margin-bottom:8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.homeCoachV400 .v7299CQLife .v4NewsHeader{
  padding:0 2px 7px!important;
  margin:0!important;
}
.homeCoachV400 .v7299CQLife .v4NewsHeader .v4CardKicker{
  color:rgba(255,255,255,.78)!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
}
.homeCoachV400 .v7299CQLife .v4NewsRail{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0 0 3px!important;
}
.homeCoachV400 .v7299CQLife .v4NewsRail::-webkit-scrollbar{display:none!important;}
.homeCoachV400 .v7299CQLife .v4NewsCard{
  flex:0 0 154px!important;
  width:154px!important;
  min-width:154px!important;
  height:126px!important;
  min-height:126px!important;
  max-height:126px!important;
  border-radius:20px!important;
  scroll-snap-align:start!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.24)!important;
}
.homeCoachV400 .v7299CQLife .v4NewsContent strong{font-size:13px!important;line-height:1.12!important;}
.homeCoachV400 .v7299CQLife .v4NewsContent small{font-size:10px!important;}

/* Footer quick tiles visible on CQ home */
.homeCoachV400 .v7298CQQuickRail{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(112px,1fr)!important;
  gap:10px!important;
  overflow-x:auto!important;
  margin-top:10px!important;
  padding-bottom:8px!important;
}
.homeCoachV400 .v7298CQQuickRail::-webkit-scrollbar{display:none!important;}
.homeCoachV400 .v7298CQQuickRail a{
  border-radius:20px!important;
  min-height:78px!important;
  text-decoration:none!important;
  display:grid!important;
  place-items:center!important;
  gap:5px!important;
  font-weight:850!important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 26px rgba(0,0,0,.10)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.homeCoachV400 .v7298CQQuickRail .v4Icon{width:24px!important;height:24px!important;}
.homeCoachV400 .v7298CQQuickRail a span,
.homeCoachV400 .v7298CQQuickRail a .v4Icon{color:#fff!important;}
.homeCoachV400 .v7298CQQuickRail span{font-size:13px!important;}

@media(max-width:520px){
  .homeCoachV400:has(.v7299CQTop){padding-left:10px!important;padding-right:10px!important;}
  .homeCoachV400 .v7299CQTop{align-items:flex-start!important;}
  .homeCoachV400 .v7299CQTop .v4Title{max-width:112px!important;font-size:15px!important;}
  .homeCoachV400 .v7299CQTop .v4Season{font-size:11px!important;}
  .homeCoachV400 .v7299CQTopActions{gap:6px!important;}
  .homeCoachV400 .v7299CQTopActions .v4ViewSwitch{display:flex!important;transform:scale(.90)!important;transform-origin:right top!important;}
  .homeCoachV400 .v7299CQTopActions .v7298CQBell{width:38px!important;height:38px!important;border-radius:14px!important;}
  .homeCoachV400 .v7298CQHero{padding:15px!important;border-radius:24px!important;}
  .homeCoachV400 .v7298CQHero h1{font-size:18px!important;margin-bottom:10px!important;}
  .homeCoachV400 .v7298CQHeroAgendaLink{min-height:28px!important;padding:0 9px!important;font-size:11px!important;}
  .homeCoachV400 .v7298CQHeroStats{gap:7px!important;}
  .homeCoachV400 .v7298CQHeroStats button{min-height:74px!important;padding:6px 4px!important;}
  .homeCoachV400 .v7298CQHeroStats strong{font-size:24px!important;}
  .homeCoachV400 .v7298CQHeroStats span{font-size:10px!important;}
  .homeCoachV400 .v7298CQCard,
  .homeCoachV400 .v7298CQPlanning,
  .homeCoachV400 .v7298CQHalf,
  .homeCoachV400 .v7298CQAlertComposer{border-radius:24px!important;}
  .homeCoachV400 .v7298CQAlertActions{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto!important;
    gap:7px!important;
  }
  .homeCoachV400 .v7298CQAlertActions button:not(.v7298CQPublish){
    min-width:0!important;
    font-size:11.5px!important;
    padding:0 8px!important;
    gap:6px!important;
  }
  .homeCoachV400 .v7298CQAlertActions .v7298CQPublish{
    min-width:144px!important;
    font-size:12px!important;
  }
  .homeCoachV400 .v7298CQMatchCard{
    flex-basis:126px!important;
    min-height:78px!important;
    padding:8px 9px!important;
    grid-template-columns:30px 1fr!important;
    column-gap:8px!important;
  }
  .homeCoachV400 .v7298CQMatchLogo{
    width:29px!important;
    height:29px!important;
    border-radius:11px!important;
    flex-basis:29px!important;
  }
  .homeCoachV400 .v7298CQMatchCard strong{font-size:12px!important;}
  .homeCoachV400 .v7298CQMatchCard em{font-size:10px!important;min-height:23px!important;}
  .homeCoachV400 .v7298CQTwoCols{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .homeCoachV400 .v7298CQHalf{padding:13px!important;min-height:146px!important;}
  .homeCoachV400 .v7298CQHalf h2{font-size:16px!important;}
  .homeCoachV400 .v7298CQStatsDuo strong{font-size:24px!important;}
  .homeCoachV400 .v7298CQPrimary{font-size:12px!important;min-height:35px!important;}
  .homeCoachV400 .v7298CQInset{grid-template-columns:34px 1fr auto!important;padding:8px!important;gap:7px!important;}
  .homeCoachV400 .v7298CQInset .v4Icon{width:20px!important;height:20px!important;padding:7px!important;}
}
@media(max-width:400px){
  .homeCoachV400 .v7298CQAlertActions{grid-template-columns:1fr 1fr!important;}
  .homeCoachV400 .v7298CQAlertActions .v7298CQPublish{
    grid-column:1/3!important;
    width:100%!important;
    justify-self:stretch!important;
  }
}

/*******************************************************************
 * V7.2.107 — Editorial Auto-feed Engine V1
 * Hero secondaire / Flash News / Vie du club générés automatiquement.
 *******************************************************************/
.v72107EditorialHero{
  position:relative;
  overflow:hidden;
  min-height:148px;
  margin:12px 14px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(7,26,48,.96), rgba(20,78,120,.88));
  color:#fff;
  box-shadow:0 16px 38px rgba(7,26,48,.18);
  isolation:isolate;
}
.v72107EditorialHeroMedia{position:absolute; inset:0; z-index:0;}
.v72107EditorialHeroMedia img{width:100%; height:100%; object-fit:cover; display:block;}
.v72107EditorialHeroMedia .v72107EditorialFallback{width:100%; height:100%; display:flex; align-items:center; justify-content:center; opacity:.28; transform:scale(1.35);}
.v72107EditorialHeroMedia .v72107EditorialFallback svg{width:84px; height:84px;}
.v72107EditorialHeroShade{position:absolute; inset:0; background:linear-gradient(90deg, rgba(2,13,28,.82), rgba(2,13,28,.38), rgba(2,13,28,.1)); z-index:1;}
.v72107EditorialHeroContent{position:relative; z-index:2; padding:22px; max-width:78%;}
.v72107EditorialHeroContent span{display:inline-flex; align-items:center; gap:6px; margin-bottom:8px; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;}
.v72107EditorialHeroContent h2{margin:0; color:#fff; font-size:clamp(22px,5vw,34px); line-height:1.02; letter-spacing:-.04em;}
.v72107EditorialHeroContent p{margin:8px 0 0; color:rgba(255,255,255,.86); font-size:14px; line-height:1.35;}
.v72107EditorialFlash{margin-top:10px;}
.v72107EditorialLifeCard .v4NewsContent em{display:block; margin-top:4px; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(255,255,255,.82); font-style:normal; font-size:11px; font-weight:700;}
.v72107EditorialFallback{background:linear-gradient(135deg, rgba(6,32,62,.92), rgba(37,99,144,.74)); color:#fff; width:100%; height:100%; display:flex; align-items:center; justify-content:center;}
.v72107EditorialFallback svg{width:44px; height:44px; stroke-width:2.1;}
.v72107EditorialFallback.is-club img{max-width:72px; max-height:72px; object-fit:contain; filter:drop-shadow(0 10px 20px rgba(0,0,0,.22));}
/* t95f/P6 : le visuel thématique Agenda (sportif, repas...) doit remplir la
   vignette comme une vraie image. Sans cette règle, l'<img> du fallback
   thématique n'avait aucune taille et se réduisait à néant (vignette vide). */
.v72107EditorialFallback.is-agenda-themed{padding:0;}
.v72107EditorialFallback.is-agenda-themed img{width:100%; height:100%; object-fit:cover; display:block;}
.v72107EditorialFallback.is-teams{background:linear-gradient(135deg, rgba(8,43,77,.95), rgba(6,119,93,.78));}

/* URW V7.3.3 HOTFIX — fallback neutre auto-feed Hero CQ */
.v72107EditorialFallback.is-neutral{background:linear-gradient(135deg, rgba(15,23,42,.92), rgba(71,85,105,.68), rgba(148,163,184,.36)); color:#fff;}
.v72107EditorialFallback.is-neutral svg{opacity:.76;}

@media (max-width: 680px){
  .v72107EditorialHero{margin:10px 10px; border-radius:22px; min-height:136px;}
  .v72107EditorialHeroContent{padding:18px; max-width:86%;}
  .v72107EditorialHeroContent h2{font-size:24px;}
}

/* URW V7.3.9 — Auto-feed Sponsors vers Vie du club */
.v739SponsorLifeCard .v739SponsorLifeMedia{
  position:absolute;
  inset:0;
  display:block;
  z-index:0;
}
.v739SponsorLifeCard .v739SponsorLifeMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.v739SponsorLifeCard .v739SponsorLifeMedia .v72107EditorialFallback{
  width:100%;
  height:100%;
}
.v739SponsorLifeCard .v4NewsContent{z-index:2;}


/* URW V7.3.9.1 - Auto-feed Sponsors loop blocker / Club life safe rendering */
.v739ClubLifeAutofeedBlock{
  margin: 14px 14px 0;
}
.v739ClubLifeAutofeedGrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.v739SponsorLifeCard{
  min-height: 150px;
  overflow: hidden;
}
.v739SponsorLifeMedia{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(15,23,42,.08), rgba(59,130,246,.10));
}
.v739SponsorLifeMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.v739SponsorLifeMedia .v72107EditorialFallback{
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

/* URW V7.4.4.1 — Agenda: action locale Remettre à la une */
body.urw-page-agenda-events .agendaRepublishBtnV7441{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:0 12px;
  font-size:.82rem;
  font-weight:950;
  text-decoration:none;
  border:1px solid #bfdbfe!important;
  background:#dbeafe!important;
  color:#0b3d6e!important;
  box-shadow:none!important;
  cursor:pointer;
}
body.urw-page-agenda-events .agendaRepublishBtnV7441:hover{
  background:#bfdbfe!important;
  color:#082f49!important;
}
.agendaToastV7441{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:9999;
  background:#0b3d6e;
  color:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-weight:850;
  box-shadow:0 16px 32px rgba(15,23,42,.22);
}

/* V7.4.8 — Hero Club : duel logos pour le contexte sportif automatique */
.homeCoachV400 .v748SportContextDuel{
  margin-top:12px;
  max-width:min(560px,94%);
  padding:10px 12px;
  border-radius:22px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
}
.homeCoachV400 .v748SportContextDuel > div{
  min-width:0;
}
.homeCoachV400 .v748SportContextDuel img{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  padding:6px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.homeCoachV400 .v748SportContextDuel strong{
  max-width:150px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* V7.4.12 — Hero Club : contexte sportif automatique, texte et ordre affinés */
.homeCoachV400 .v7411SportContextAuto::before{
  background-image:radial-gradient(circle at 22% 20%, rgba(255,255,255,.22), transparent 30%), linear-gradient(135deg,var(--club-primary,#0b3d6e),var(--club-secondary,#6ec6ff));
  background-size:cover, cover;
  background-position:center, center;
}
.homeCoachV400 .v7411SportContextBg{
  position:absolute;
  inset:0 0 0 auto;
  width:min(58%, 430px);
  background-image:var(--v7411-opponent-logo);
  background-repeat:no-repeat;
  background-position:right 8% center;
  background-size:contain;
  opacity:.26;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.35));
  z-index:-1;
  pointer-events:none;
}
.homeCoachV400 .v7411SportContextAuto .v44HeroShade{
  background:linear-gradient(90deg,rgba(2,8,18,.92),rgba(2,8,18,.68) 56%,rgba(2,8,18,.26)), linear-gradient(0deg,rgba(2,8,18,.58),transparent 48%);
}
.homeCoachV400 .v7411SportContextContent{
  gap:12px;
  max-width:min(88%, 660px);
}
.homeCoachV400 .v7411SportContextContent h2{
  font-size:clamp(1.38rem,4.6vw,2.42rem);
  line-height:1.07;
  max-width:19ch;
}
.homeCoachV400 .v7411SportTeamStack{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:min(96%, 520px);
}
.homeCoachV400 .v7411SportTeamRow{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  width:max-content;
  max-width:100%;
  padding:8px 11px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.homeCoachV400 .v7411SportTeamRow img{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  padding:5px;
  flex:0 0 auto;
}
.homeCoachV400 .v7411SportTeamRow div{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}
.homeCoachV400 .v7411SportTeamRow strong{
  font-size:.98rem;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:230px;
}
.homeCoachV400 .v7411SportTeamRow span{
  color:rgba(255,255,255,.78);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.homeCoachV400 .v7411SportContextMeta{
  margin-top:0;
}
@media (max-width:640px){
  .homeCoachV400 .v7411SportContextBg{width:64%;opacity:.22;background-position:right -10px center;}
  .homeCoachV400 .v7411SportContextContent{max-width:92%;}
  .homeCoachV400 .v7411SportContextContent h2{font-size:clamp(1.12rem,5.8vw,1.72rem);max-width:19ch;line-height:1.08;}
  .homeCoachV400 .v7411SportTeamRow{padding:7px 9px;border-radius:16px;}
  .homeCoachV400 .v7411SportTeamRow img{width:36px;height:36px;border-radius:12px;}
  .homeCoachV400 .v7411SportTeamRow strong{max-width:160px;font-size:.9rem;}
  .homeCoachV400 .v7411SportTeamRow span{font-size:.76rem;}
}


/* =========================================================
   V7.5.11-B2 - Team selector polish + no legacy home flash
   Objectif : garder la logique V7.5.11-B validée, corriger uniquement
   le rendu du select et empêcher l'actualité legacy de flasher avant la Home.
========================================================= */
.legacyActualiteV400[hidden]{display:none!important;}
.homeCoachV400 .v4ClubIdentity .v4Title{max-width:170px!important;}
.homeCoachV400 .v4TeamSelect{
  appearance:none!important;
  -webkit-appearance:none!important;
  max-width:150px!important;
  min-width:72px;
  height:30px;
  line-height:30px!important;
  padding:0 28px 0 10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.92) 50%) right 12px center/5px 5px no-repeat,
    linear-gradient(135deg, rgba(255,255,255,.92) 50%, transparent 50%) right 7px center/5px 5px no-repeat,
    rgba(255,255,255,.12)!important;
  color:var(--club-text)!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 6px 16px rgba(0,0,0,.12)!important;
  outline:none!important;
}
.homeCoachV400 .v4TeamSelect:hover,
.homeCoachV400 .v4TeamSelect:focus{
  background:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,1) 50%) right 12px center/5px 5px no-repeat,
    linear-gradient(135deg, rgba(255,255,255,1) 50%, transparent 50%) right 7px center/5px 5px no-repeat,
    rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.38)!important;
}
.homeCoachV400 .v4TeamSelect option{
  color:#111827!important;
  background:#fff!important;
  font-weight:700;
}
@media(max-width:520px){
  .homeCoachV400 .v4ClubIdentity .v4Title{max-width:132px!important;}
  .homeCoachV400 .v4TeamSelect{
    max-width:118px!important;
    height:28px;
    line-height:28px!important;
    font-size:13px!important;
    padding-left:8px!important;
  }
}
@media(max-width:370px){
  .homeCoachV400 .v4TeamSelect{max-width:100px!important;font-size:12px!important;}
}

/* URW V7.5.11-B3 — équipe préférée modifiable sans confondre avec la vue temporaire */
.v4TeamSwitchWrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  vertical-align:middle;
}
.v7511FavoriteTeamBtn{
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.14);
  color:rgba(255,255,255,.9);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  padding:0;
  cursor:pointer;
  flex:0 0 auto;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.v7511FavoriteTeamBtn.is-favorite{
  background:rgba(255,255,255,.24);
  color:#fff;
  border-color:rgba(255,255,255,.70);
}
.v7511FavoriteTeamBtn:hover,
.v7511FavoriteTeamBtn:focus{
  outline:none;
  background:rgba(255,255,255,.32);
  transform:translateY(-1px);
}
@media (max-width: 520px){
  .v4TeamSwitchWrap{gap:4px;}
  .v7511FavoriteTeamBtn{width:26px;height:26px;font-size:14px;}
}


/* URW V7.5.12.4 — CQ editorial hero: bouton Gérer l’agenda aligné avec les boutons d’action */
.v75121CQEditorialAgendaBtn{
  position:absolute;
  z-index:3;
  right:16px;
  top:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#66c7fb,#39a9ee);
  border:1px solid rgba(218,241,255,.78);
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  font-size:12px;
  font-weight:950;
  line-height:1;
  letter-spacing:.01em;
  text-decoration:none;
  text-shadow:0 1px 8px rgba(0,18,45,.38);
  box-shadow:0 12px 24px rgba(0,20,52,.22), inset 0 1px 0 rgba(255,255,255,.26);
}
.v75121CQEditorialAgendaBtn:hover{
  background:linear-gradient(135deg,#7bd0ff,#45b5f5);
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  transform:translateY(-1px);
}
@media (max-width:680px){
  .v75121CQEditorialAgendaBtn{right:12px; top:12px; min-height:32px; padding:7px 11px; font-size:11px;}
  .v72107EditorialHeroContent{padding-top:48px;}
}

/* V7.5.15 - Home Coach : libellé explicite du match lié à la convocation */
.v7515ConvMatchLabel{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  line-height:1.25;
  color:rgba(255,255,255,.82);
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
}

/* V7.5.18 — Home Coach : cloche harmonisée avec le modèle CQ */
.homeCoachV400 .v7518CoachTop{
  position:relative;
  gap:10px;
  align-items:center;
}
.homeCoachV400 .v7518CoachTopActions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.homeCoachV400 .v7518CoachTopActions .v4ViewSwitch{
  order:1;
  margin:0!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v7518CoachTopActions .v7518HomeBell{
  order:2!important;
  margin:0!important;
  flex:0 0 auto!important;
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
}
.homeCoachV400 .v7518CoachTopActions .v424HomeMenuBtn{
  order:3!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v7518CoachTopActions .v7518HomeBell,
.homeCoachV400 .v7518CoachTopActions .v424HomeMenuBtn,
.homeCoachV400 .v7518HomeBellVisual{
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.homeCoachV400 .v7518CoachTopActions .v7518HomeBell .v4Icon,
.homeCoachV400 .v7518CoachTopActions .v424HomeMenuBtn .v4Icon,
.homeCoachV400 .v7518HomeBellVisual .v4Icon{
  color:#fff!important;
}
@media (max-width: 720px){
  .homeCoachV400 .v7518CoachTop{
    flex-wrap:wrap;
  }
  .homeCoachV400 .v7518CoachTop .v4ClubIdentity{
    min-width:0;
    flex:1 1 auto;
  }
  .homeCoachV400 .v7518CoachTopActions{
    width:100%;
    justify-content:flex-end;
  }
}

/* =========================================================
   V7.5.20 - Home Coach next matches layout cleanup
   Objectif : empêcher les cartes de prochains matchs du rail
   de déborder sur les blocs inférieurs, surtout avec noms longs.
   Scope : Home Coach uniquement.
========================================================= */
.homeCoachV400 .v7264HeroRail{
  max-width:100% !important;
  box-sizing:border-box !important;
  align-items:stretch !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding:0 6px 10px 2px !important;
  margin:0 0 12px !important;
}
.homeCoachV400 .v7264HeroSlide,
.homeCoachV400 .v7264HeroSlide.v4NextMatchCard,
.homeCoachV400 .v7264HeroRail .v4NextMatchCard{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  contain:layout paint;
}
.homeCoachV400 .v7264HeroSlide .v4CardHeader,
.homeCoachV400 .v7264HeroSlide .v4MatchTeamsHero,
.homeCoachV400 .v7264HeroSlide .v4MatchInfoList,
.homeCoachV400 .v7264HeroSlide .v4ButtonRowCompact{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.homeCoachV400 .v7264HeroSlide .v4MatchTeamsHero{
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:start !important;
}
.homeCoachV400 .v7264HeroSlide .v4TeamLogoBlock{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.homeCoachV400 .v7264HeroSlide .v4TeamLogoBlock span{
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  max-width:100% !important;
  min-height:26px;
}
.homeCoachV400 .v7264HeroSlide .v4Versus{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  margin-top:8px !important;
}
.homeCoachV400 .v7264HeroSlide .v423MatchMetaPill{
  max-width:58% !important;
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.1 !important;
  justify-content:flex-end !important;
  text-align:right !important;
}
.homeCoachV400 .v7264HeroSlide .v4InfoLine,
.homeCoachV400 .v7264HeroSlide .v4213DateWeatherText,
.homeCoachV400 .v7264HeroSlide .v4InfoAddress span{
  min-width:0 !important;
  max-width:100% !important;
}
.homeCoachV400 .v7264HeroSlide .v4InfoAddress span{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.homeCoachV400 .v7264HeroSlide .v4ButtonRowCompact{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
}
.homeCoachV400 .v7264HeroSlide .v4ButtonRowCompact .v4Btn{
  min-width:0 !important;
  width:100% !important;
  white-space:normal !important;
  line-height:1.12 !important;
  overflow:hidden !important;
}
@media(max-width:430px){
  .homeCoachV400 .v7264HeroRail{
    grid-auto-columns:minmax(284px, 90%) !important;
  }
  .homeCoachV400 .v7264HeroSlide .v4MatchLogo{
    width:48px !important;
    height:48px !important;
    border-radius:16px !important;
  }
  .homeCoachV400 .v7264HeroSlide .v4CardHeader.compact{
    gap:7px !important;
    align-items:flex-start !important;
  }
  .homeCoachV400 .v7264HeroSlide .v423MatchMetaPill{
    max-width:54% !important;
    font-size:10.5px !important;
  }
}
@media(max-width:370px){
  .homeCoachV400 .v7264HeroRail{
    grid-auto-columns:minmax(270px, 94%) !important;
  }
  .homeCoachV400 .v7264HeroSlide .v4ButtonRowCompact{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   V7.5.21 — UI / accessibilité / formulaires / images
   ========================================================= */
/* Login : on retire le bloc de première configuration de l'écran de connexion. */
#bootstrapSection[data-v7521-hidden="1"]{
  display:none!important;
}
#bootstrapSection[data-v7913079-open="1"],
#bootstrapSection.is-open-v7913079{
  display:block!important;
}
.create-account-entry-v7913079{
  margin:14px 0 0;
  padding:14px;
  border-radius:16px;
  background:rgba(11,61,110,.055);
  border:1px solid rgba(11,61,110,.14);
}
.create-account-entry-v7913079 .small-help{
  margin:0 0 10px;
}
.secondaryBtnV7913079{
  width:100%;
  min-height:44px;
  background:#f8fafc!important;
  color:#0b3d6e!important;
  border:1px solid rgba(11,61,110,.22)!important;
}
@media(max-width:720px){
  .create-account-entry-v7913079{
    margin-top:16px;
    padding:14px;
  }
  .secondaryBtnV7913079{
    min-height:48px;
    font-size:1rem;
  }
}

/* Modales : croix lisible, centrée et zone cliquable confortable. */
.popupCloseBtn,
.v4215ModalClose,
.v44HeroAdminClose,
.urw-account-close6843,
.urw-unified-menu-close6814,
.urw-season-menu-close6824{
  display:inline-grid!important;
  place-items:center!important;
  min-width:36px!important;
  min-height:36px!important;
  line-height:1!important;
  background:#f1f5f9!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.14)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}

/* Adresse : fond clair = texte foncé ; texte blanc uniquement sur fond foncé. */
.v4215ModalActions .v4BtnGhost,
.planningAddressActionsV6941 button[data-copy-address]{
  background:#f1f5f9!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.16)!important;
}
.v4215ModalActions .v4BtnPrimary,
.planningAddressActionsV6941 button[data-save-address]{
  background:#0b3d6e!important;
  color:#fff!important;
  border:1px solid #0b3d6e!important;
}

/* Hero image : actions lisibles. */
.v44HeroAdminActions .v44HeroRemoveImage{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid rgba(154,52,18,.28)!important;
}
.v44HeroAdminActions .v44HeroSave{
  background:#102033!important;
  color:#fff!important;
}

/* =========================================================
   V7.5.22 - Notifications : cloches premium alignées + lecture
   Scope : homepages Club / Coach / CQ uniquement.
========================================================= */
.homeCoachV400 .v431ClubTop,
.homeCoachV400 .v7298CQTop,
.homeCoachV400 .v7518CoachTop{
  align-items:center!important;
}
.homeCoachV400 .v431ClubTop{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:10px!important;
}
.homeCoachV400 .v7522ClubTopActions,
.homeCoachV400 .v7299CQTopActions,
.homeCoachV400 .v7518CoachTopActions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}
.homeCoachV400 .v7522ClubTopActions .v4ViewSwitch,
.homeCoachV400 .v7299CQTopActions .v4ViewSwitch,
.homeCoachV400 .v7518CoachTopActions .v4ViewSwitch{
  order:1!important;
  margin:0!important;
  flex:0 1 auto!important;
}
.homeCoachV400 .v7522ClubTopActions .v7518HomeBell,
.homeCoachV400 .v7299CQTopActions .v7518HomeBell,
.homeCoachV400 .v7518CoachTopActions .v7518HomeBell{
  order:2!important;
  margin:0!important;
  flex:0 0 auto!important;
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
}
.homeCoachV400 .v7522ClubTopActions .v424HomeMenuBtn,
.homeCoachV400 .v7299CQTopActions .v424HomeMenuBtn,
.homeCoachV400 .v7518CoachTopActions .v424HomeMenuBtn{
  order:3!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v7518HomeBell .v4Icon,
.homeCoachV400 .v424HomeMenuBtn .v4Icon{
  color:#fff!important;
}
.homeCoachV400 .v7518HomeBell span{
  position:absolute!important;
  top:3px!important;
  right:3px!important;
  min-width:17px!important;
  height:17px!important;
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#08254c!important;
  font-size:10px!important;
  font-weight:950!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid var(--kf-primary)!important;
}
.homeCoachV400 .v7298CQNotifPanel,
.homeCoachV400 .v436NotifPanel.v7522BellPanel{
  position:absolute!important;
  top:74px!important;
  right:12px!important;
  left:auto!important;
  z-index:80!important;
  width:min(360px,calc(100% - 24px))!important;
  margin:0!important;
  padding:14px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  color:#062247!important;
  border:1px solid rgba(207,225,246,.96)!important;
  box-shadow:0 26px 60px rgba(3,18,38,.30), inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(16px)!important;
}
.homeCoachV400 .v7298CQNotifPanel>div,
.homeCoachV400 .v436NotifPanel.v7522BellPanel>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:10px!important;
  color:#062247!important;
}
.homeCoachV400 .v7298CQNotifPanel>div strong,
.homeCoachV400 .v436NotifPanel.v7522BellPanel>div strong{
  font-size:13px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  color:#062247!important;
}
.homeCoachV400 .v7298CQCloseNotif,
.homeCoachV400 .v436CloseNotif{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  border:1px solid #cfe1f6!important;
  background:#f5f9ff!important;
  color:#062247!important;
  font-weight:950!important;
  display:grid!important;
  place-items:center!important;
}
.homeCoachV400 .v7298CQNotifPanel ul,
.homeCoachV400 .v436NotifPanel.v7522BellPanel ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:8px!important;
}
.homeCoachV400 .v7298CQNotifPanel li,
.homeCoachV400 .v436NotifPanel.v7522BellPanel li{
  border:1px solid #e1ecf8!important;
  background:linear-gradient(135deg,#f8fbff,#ffffff)!important;
  border-radius:16px!important;
  padding:10px 11px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:3px!important;
  color:#0b2443!important;
}
.homeCoachV400 .v436NotifPanel.v7522BellPanel li b{
  display:none!important;
}
.homeCoachV400 .v7298CQNotifPanel li strong,
.homeCoachV400 .v436NotifPanel.v7522BellPanel li strong{
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#0b4d8f!important;
}
.homeCoachV400 .v7298CQNotifPanel li span,
.homeCoachV400 .v436NotifPanel.v7522BellPanel li span{
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.25!important;
  color:#0b2443!important;
}
.homeCoachV400 .v436AddBrief{
  margin-top:10px!important;
  width:100%!important;
  min-height:38px!important;
  border-radius:14px!important;
  border:1px solid #0d67c7!important;
  background:#0d67c7!important;
  color:#fff!important;
  font-weight:900!important;
}
@media (max-width:720px){
  .homeCoachV400 .v7522ClubTopActions,
  .homeCoachV400 .v7299CQTopActions,
  .homeCoachV400 .v7518CoachTopActions{
    flex-wrap:nowrap!important;
  }
  .homeCoachV400 .v7522ClubTopActions .v4ViewSwitch,
  .homeCoachV400 .v7299CQTopActions .v4ViewSwitch,
  .homeCoachV400 .v7518CoachTopActions .v4ViewSwitch{
    max-width:168px!important;
  }
  .homeCoachV400 .v7298CQNotifPanel,
  .homeCoachV400 .v436NotifPanel.v7522BellPanel{
    top:68px!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
  }
}

/* =========================================================
   V7.5.26 - Homepages visual alignment Coach style
   Scope : alignement visuel Home CQ + Home Club sur la famille Coach.
   Ne modifie ni structure, ni navigation, ni logique métier.
========================================================= */
.homeCoachV400:has(.v7299CQTop),
.homeCoachV400:has(.v431ClubTop){
  --v7526-surface-a: rgba(255,255,255,.105);
  --v7526-surface-b: rgba(255,255,255,.055);
  --v7526-surface-c: rgba(255,255,255,.075);
  --v7526-stroke: rgba(255,255,255,.13);
  --v7526-stroke-strong: rgba(255,255,255,.20);
  --v7526-shadow: 0 14px 34px rgba(0,0,0,.18);
  --v7526-shadow-strong: 0 18px 52px rgba(0,0,0,.24);
}

/* CQ : on atténue le bleu appuyé et on reprend les surfaces Coach. */
.homeCoachV400:has(.v7299CQTop) .v7298CQHero,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard,
.homeCoachV400:has(.v7299CQTop) .v7298CQPlanning,
.homeCoachV400:has(.v7299CQTop) .v7298CQHalf,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer{
  border:1px solid var(--v7526-stroke)!important;
  background:
    radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--club-secondary) 12%, transparent), transparent 32%),
    linear-gradient(145deg, var(--v7526-surface-a), var(--v7526-surface-b))!important;
  box-shadow:var(--v7526-shadow), inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHero::after,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard::after,
.homeCoachV400:has(.v7299CQTop) .v7298CQPlanning::after,
.homeCoachV400:has(.v7299CQTop) .v7298CQHalf::after,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer::after{
  opacity:.55!important;
  background:radial-gradient(circle, color-mix(in srgb, var(--club-secondary) 10%, rgba(255,255,255,.08)), transparent 62%)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats button,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer textarea,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button:not(.v7298CQPublish),
.homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard,
.homeCoachV400:has(.v7299CQTop) .v7298CQInset,
.homeCoachV400:has(.v7299CQTop) .v7298CQQuickRail a{
  background:linear-gradient(145deg, var(--v7526-surface-a), var(--v7526-surface-b))!important;
  border:1px solid var(--v7526-stroke)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats button{
  min-height:78px!important;
  border-radius:20px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button[data-cq-alert-scope="club"],
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button[data-cq-alert-scope="club"].active,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions .v7298CQPublish,
.homeCoachV400:has(.v7299CQTop) .v7298CQPrimary,
.homeCoachV400:has(.v7299CQTop) .v75121CQEditorialAgendaBtn{
  background:linear-gradient(135deg, color-mix(in srgb, var(--club-secondary) 92%, #ffffff), color-mix(in srgb, var(--club-secondary) 72%, #0b3d6e))!important;
  border-color:color-mix(in srgb, var(--club-secondary) 55%, rgba(255,255,255,.35))!important;
  color:#062247!important;
  -webkit-text-fill-color:#062247!important;
  text-shadow:none!important;
  box-shadow:0 10px 24px color-mix(in srgb, var(--club-secondary) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions .v7298CQPublish *,
.homeCoachV400:has(.v7299CQTop) .v7298CQPrimary *,
.homeCoachV400:has(.v7299CQTop) .v75121CQEditorialAgendaBtn *{
  color:#062247!important;
  stroke:#062247!important;
}

/* CQ : Vie du club et accès secondaires reprennent les densités Coach. */
.homeCoachV400:has(.v7299CQTop) .v7299CQLife .v4NewsCard,
.homeCoachV400:has(.v7299CQTop) .v4NewsCard{
  border:1px solid var(--v7526-stroke-strong)!important;
  box-shadow:0 13px 30px rgba(0,0,0,.20)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7299CQLife .v4NewsHeader .v4CardKicker,
.homeCoachV400:has(.v7299CQTop) .v436CompactHeader span{
  color:rgba(255,255,255,.78)!important;
}

/* Club : on garde le Hero immersif, mais on aligne les blocs secondaires sur Coach. */
.homeCoachV400:has(.v431ClubTop) .v431ClubBlock,
.homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact,
.homeCoachV400:has(.v431ClubTop) .v436FlashTicker,
.homeCoachV400:has(.v431ClubTop) .v436ScorePremium,
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock,
.homeCoachV400:has(.v431ClubTop) .v4Quick,
.homeCoachV400:has(.v431ClubTop) .v436TeamTickerLine{
  background:linear-gradient(145deg, var(--v7526-surface-a), var(--v7526-surface-b))!important;
  border:1px solid var(--v7526-stroke)!important;
  box-shadow:var(--v7526-shadow), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.homeCoachV400:has(.v431ClubTop) .v436ScoresBlock,
.homeCoachV400:has(.v431ClubTop) .v4NewsCarouselBlock{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.homeCoachV400:has(.v431ClubTop) .v436FlashTicker{
  border-radius:18px!important;
}
.homeCoachV400:has(.v431ClubTop) .v436ScoresBlock .v436ScorePremium{
  border-radius:18px!important;
}
.homeCoachV400:has(.v431ClubTop) .v4NewsCard{
  border:1px solid var(--v7526-stroke-strong)!important;
  box-shadow:0 13px 30px rgba(0,0,0,.20)!important;
}
.homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick{
  position:relative!important;
  min-height:78px!important;
  padding:10px 9px!important;
  border-radius:20px!important;
  align-items:flex-start!important;
  text-align:left!important;
  justify-content:space-between!important;
  overflow:hidden!important;
}
.homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-24px;
  width:58px;
  height:58px;
  border-radius:999px;
  background:color-mix(in srgb, var(--club-secondary) 12%, transparent);
  pointer-events:none;
}

/* Harmonisation commune : titres et textes restent lisibles sur surfaces sombres. */
.homeCoachV400:has(.v7299CQTop) .v4CardKicker,
.homeCoachV400:has(.v431ClubTop) .v4CardKicker,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
.homeCoachV400:has(.v431ClubTop) .v436CompactHeader span{
  color:rgba(255,255,255,.82)!important;
  text-shadow:none!important;
}
.homeCoachV400:has(.v7299CQTop) .v4Icon,
.homeCoachV400:has(.v431ClubTop) .v4Icon{
  color:var(--club-secondary)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7518HomeBell .v4Icon,
.homeCoachV400:has(.v7299CQTop) .v424HomeMenuBtn .v4Icon,
.homeCoachV400:has(.v431ClubTop) .v7518HomeBell .v4Icon,
.homeCoachV400:has(.v431ClubTop) .v424HomeMenuBtn .v4Icon{
  color:#fff!important;
}


/* =========================================================
   V7.5.26.1 - Home Club Scores & Live visual correction
   Scope : uniquement le bloc Scores & Live Home Club.
   Objectif : aligner le bleu sur les surfaces premium Home Coach,
   arrondir le conteneur et supprimer l'effet cadre rectangulaire.
========================================================= */
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresBlock{
  margin-top:12px!important;
  padding:0 0 4px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresBlock::before,
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresBlock::after{
  display:none!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresHeader{
  margin:0 10px 8px 0!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresRail{
  gap:10px!important;
  padding:0 10px 10px 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoreCard{
  border-radius:22px!important;
  background:
    radial-gradient(circle at 90% 14%, color-mix(in srgb, var(--club-secondary) 10%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
  color:#f8fbff!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoreMeta span{
  color:rgba(255,255,255,.92)!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoreName{
  color:#ffffff!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScorePill{
  background:linear-gradient(180deg,rgba(13,34,56,.92),rgba(7,22,37,.96))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 16px rgba(0,0,0,.18)!important;
}

/* Fallback si un ancien rendu v436 est encore servi par cache. */
.homeCoachV400:has(.v431ClubTop) .v436ScoresBlock{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.homeCoachV400:has(.v431ClubTop) .v436ScoresBlock .v436ScorePremium{
  border-radius:22px!important;
  background:
    radial-gradient(circle at 90% 14%, color-mix(in srgb, var(--club-secondary) 10%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
}

/* =========================================================
   V7.5.26.2 - Home Club blocks angles + CQ typography alignment
   Scope : Home Club Mes équipes / Accès rapides + Home CQ typography only.
   Ne modifie ni structure, ni navigation, ni logique métier.
========================================================= */

/* Home Club : suppression de l'effet cadre rectangulaire sur les blocs secondaires. */
.homeCoachV400:has(.v431ClubTop) .v431ClubBlock,
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock{
  border-radius:26px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--club-secondary) 9%, transparent), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.052))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
}

.homeCoachV400:has(.v431ClubTop) .v431ClubBlock::before,
.homeCoachV400:has(.v431ClubTop) .v431ClubBlock::after,
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock::before,
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock::after{
  border-radius:inherit!important;
}

.homeCoachV400:has(.v431ClubTop) .v436TeamTickerLine,
.homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact{
  border-radius:21px!important;
  background:linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.12)!important;
}

/* Home Club : le rail d'accès rapides reste ouvert visuellement, mais le conteneur n'est plus anguleux. */
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock{
  padding:14px 0 13px 0!important;
}
.homeCoachV400:has(.v431ClubTop) .v421QuickHeader{
  padding:0 12px 8px 12px!important;
}
.homeCoachV400:has(.v431ClubTop) .v4QuickRail{
  padding:0 16px 2px 12px!important;
}

/* Home CQ : alignement typo sur les deux autres homepages, plus compact et plus premium. */
.homeCoachV400:has(.v7299CQTop) .v4CardKicker,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQHero h1,
.homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard strong,
.homeCoachV400:has(.v7299CQTop) .v7298CQQuickRail span,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button,
.homeCoachV400:has(.v7299CQTop) .v7298CQPrimary{
  font-family:inherit!important;
  letter-spacing:-.015em!important;
}

.homeCoachV400:has(.v7299CQTop) .v7298CQHero h1{
  font-size:21px!important;
  line-height:1.06!important;
  font-weight:950!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{
  font-size:18px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats strong{
  font-size:26px!important;
  line-height:1!important;
  font-weight:950!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats span,
.homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard span,
.homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard em,
.homeCoachV400:has(.v7299CQTop) .v7298CQInset small{
  font-size:11px!important;
  line-height:1.12!important;
  font-weight:850!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard strong,
.homeCoachV400:has(.v7299CQTop) .v7298CQQuickRail span{
  font-size:13px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button,
.homeCoachV400:has(.v7299CQTop) .v7298CQPrimary,
.homeCoachV400:has(.v7299CQTop) .v75121CQEditorialAgendaBtn{
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:950!important;
}

@media(max-width:700px){
  .homeCoachV400:has(.v431ClubTop) .v431ClubBlock,
  .homeCoachV400:has(.v431ClubTop) .v421QuickBlock{
    border-radius:24px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v436TeamTickerLine,
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact{
    border-radius:19px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v7298CQHero h1{font-size:20px!important;}
  .homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
  .homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
  .homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{font-size:17px!important;}
}

/* =========================================================
   V7.5.26.3 - CQ headings + Home Club Scores title clipping fix
   Scope : visuel homepages uniquement.
   - Réduit les titres Home CQ pour les aligner sur les titres Club/Coach.
   - Corrige le titre Scores & Live qui sortait du cadre Home Club.
   Ne modifie ni structure, ni navigation, ni logique métier.
========================================================= */

/* Home CQ : les titres de blocs doivent redevenir des libellés compacts,
   dans la même famille que “MES ÉQUIPES”, “SCORES & LIVE”, “VIE DU CLUB”. */
.homeCoachV400:has(.v7299CQTop) .v7298CQHero h1,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  margin-bottom:12px!important;
  color:rgba(247,251,255,.94)!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHero h1 .v4Icon,
.homeCoachV400:has(.v7299CQTop) .v7298CQCard h2 .v4Icon,
.homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2 .v4Icon,
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2 .v4Icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}

/* Les stats CQ restent lisibles malgré la réduction du titre. */
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats strong{
  font-size:25px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHeroStats span{
  font-size:11px!important;
  line-height:1.12!important;
}

/* Home Club : Scores & Live ne doit plus être coupé par le haut du cadre. */
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresBlock,
.homeCoachV400:has(.v431ClubTop) .v436ScoresBlock{
  overflow:visible!important;
  padding-top:10px!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresHeader,
.homeCoachV400:has(.v431ClubTop) .v436CompactHeader{
  margin:0 12px 10px 12px!important;
  min-height:18px!important;
  line-height:1.2!important;
  overflow:visible!important;
  align-items:center!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresHeader span,
.homeCoachV400:has(.v431ClubTop) .v436CompactHeader span{
  display:inline-block!important;
  line-height:1.2!important;
  padding-top:1px!important;
  color:rgba(247,251,255,.94)!important;
}
.homeCoachV400:has(.v431ClubTop) .v7273ClubScoresRail,
.homeCoachV400:has(.v431ClubTop) .v436ScoresRail{
  padding-top:0!important;
}

@media(max-width:700px){
  .homeCoachV400:has(.v7299CQTop) .v7298CQHero h1,
  .homeCoachV400:has(.v7299CQTop) .v7298CQCard h2,
  .homeCoachV400:has(.v7299CQTop) .v7298CQSectionHead h2,
  .homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{
    font-size:12px!important;
    letter-spacing:.085em!important;
  }
}

/* =========================================================
   URW V7.6.5.1 - Hero Sport Pack score lisible 2 chiffres
========================================================= */
.homeCoachV400 .v762HeroSportPack .v44Teams.compact{
  max-width:100%;
  min-width:0;
}
.homeCoachV400 .v762HeroSportPack .v44Teams.compact > span{
  min-width:clamp(96px, 18vw, 132px) !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  text-align:center;
  flex:0 0 auto;
}
.homeCoachV400 .v762HeroSportPack .v44Teams.compact > div{
  min-width:0;
  max-width:min(38vw, 220px);
}
.homeCoachV400 .v762HeroSportPack .v44HeroContent h2{
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
}
@media(max-width:560px){
  .homeCoachV400 .v762HeroSportPack .v44Teams.compact{
    gap:8px;
  }
  .homeCoachV400 .v762HeroSportPack .v44Teams.compact > span{
    min-width:88px !important;
    padding:7px 9px !important;
  }
  .homeCoachV400 .v762HeroSportPack .v44Teams.compact strong{
    max-width:92px;
  }
}

/* V7.6.8.17 — Hero ranking after-match UX rework */
.homeCoachV400 .v44HeroCard[data-hero-card="sportpack-after-ranking-v76817"] .v44HeroContent{
  max-width: min(560px, 92%);
}
.homeCoachV400 .v44HeroCard[data-hero-card="sportpack-after-ranking-v76817"] h2{
  max-width: 11ch;
}
.homeCoachV400 .v76817RankingSlide{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
}
.homeCoachV400 .v76817RankingMeta span{
  background:rgba(255,255,255,.16);
}
.homeCoachV400 .v44HeroActions a.v44HeroButton,
.homeCoachV400 .v44HeroActions .v44HeroButton{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  background:rgba(255,255,255,.94);
  color:#08111d;
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.homeCoachV400 .v44HeroActions a.v44HeroButton svg,
.homeCoachV400 .v44HeroActions .v44HeroButton svg{
  width:17px;
  height:17px;
}
.homeCoachV400 .v44HeroActions a.v44HeroButton:active{
  transform:translateY(1px);
}

/* =========================================================
   V7.10.4 - Mobile MVP visible fixes
   Scope : mobile layout only. No truth engine / no business logic.
   - Home Vie du club rail must remain visible.
   - Home Club hero must not truncate own club name on tiny screens.
   - Match mobile must not overflow to the right.
========================================================= */
@media (max-width: 640px){
  html, body{
    max-width:100%;
    overflow-x:hidden!important;
  }

  .homeCoachV400,
  .homeCoachV400 *{
    box-sizing:border-box;
  }

  .homeCoachV400 .v4NewsCarouselBlock[data-v7104-life-band="1"],
  .homeCoachV400 .v4NewsCarouselBlock{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:12px!important;
    overflow:hidden!important;
  }
  .homeCoachV400 .v4NewsRail{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }

  .homeCoachV400 .v44HeroStoryboard,
  .homeCoachV400 .v44HeroRail{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .homeCoachV400 .v44HeroRail{
    gap:10px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .homeCoachV400 .v44HeroCard{
    flex:0 0 calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    min-height:245px!important;
    border-radius:24px!important;
  }
  .homeCoachV400 .v44HeroContent{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    max-width:calc(100% - 28px)!important;
    min-width:0!important;
  }
  .homeCoachV400 .v44HeroContent h2{
    font-size:clamp(1.35rem, 8vw, 2rem)!important;
    line-height:1.05!important;
    overflow-wrap:anywhere!important;
  }
  .homeCoachV400 .v44Teams{
    display:grid!important;
    grid-template-columns:minmax(64px, .9fr) auto minmax(0, 1.25fr)!important;
    gap:7px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
  }
  .homeCoachV400 .v44Teams > div{
    min-width:0!important;
    gap:5px!important;
  }
  .homeCoachV400 .v44Teams > div:first-child strong{
    max-width:none!important;
    min-width:3.2em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .homeCoachV400 .v44Teams > div:last-child strong{
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .homeCoachV400 .v44Teams img,
  .homeCoachV400 .v44Teams .v4LogoFallback{
    width:32px!important;
    height:32px!important;
    border-radius:12px!important;
    flex:0 0 32px!important;
  }
  .homeCoachV400 .v44Teams > span{
    padding:5px 7px!important;
    white-space:nowrap!important;
  }
}


/* =====================================================
   URW V7.10.6 — Mobile shell + Scores date clarity
   Scope: visible mobile UX only. No truth engine / match / ranking data changes.
===================================================== */
.manualScoreDateFieldV7106{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  min-width:0;
}
.manualScoreDateFieldV7106 span{
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--urw-muted,#64748b);
  padding-left:8px;
  line-height:1;
}
.manualScoreDateFieldV7106 input{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:760px){
  .manualScoreGridV3633 .manualScoreDateFieldV7106{
    align-self:stretch;
  }
  .manualScoreGridV3633 .manualScoreDateFieldV7106 input[type="date"]{
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    text-align:center;
  }
  .urw-functional-topbar{
    gap:7px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .urw-functional-context{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:7px!important;
    justify-content:flex-start!important;
  }
  .urw-context-button{
    min-height:44px!important;
    border-radius:18px!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #urwRankingSeasonBtn{
    flex:0 0 116px!important;
    max-width:116px!important;
  }
  #urwRankingTeamBtn{
    flex:1 1 132px!important;
    min-width:122px!important;
    max-width:150px!important;
  }
  .urw-context-item span{
    font-size:.68rem!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
  }
  .urw-context-item strong{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:1.05rem!important;
    letter-spacing:.01em!important;
  }
  #urwRankingTeam{
    text-align:left!important;
  }
  #urwRankingSeason{
    text-align:left!important;
  }
}
@media(max-width:390px){
  #urwRankingSeasonBtn{
    flex-basis:104px!important;
    max-width:104px!important;
  }
  #urwRankingTeamBtn{
    min-width:112px!important;
    max-width:136px!important;
  }
  .urw-functional-top-actions{gap:6px!important;}
  .urw-icon-button{width:40px!important;height:40px!important;}
}

/* ===== URW V7.10.7 — Mobile homepage menu contrast guard =====
   Objectif : empêcher les textes blancs/quasi blancs dans le menu hamburger des homepages.
   Scope : rendu visuel du menu .v424MenuOverlay uniquement. Aucun changement métier.
*/
.v424MenuOverlay .v424MenuPanel,
.homeCoachV400 .v424MenuOverlay .v424MenuPanel,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuPanel,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuPanel{
  background:#ffffff !important;
  color:#0f172a !important;
}

.v424MenuOverlay .v424MenuPanel .v4CardKicker,
.homeCoachV400 .v424MenuOverlay .v424MenuPanel .v4CardKicker,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuPanel .v4CardKicker,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuPanel .v4CardKicker{
  color:#64748b !important;
  text-shadow:none !important;
  opacity:1 !important;
}

.v424MenuOverlay .v424MenuClose,
.homeCoachV400 .v424MenuOverlay .v424MenuClose,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuClose,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuClose{
  background:#eef3f8 !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.08) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

.v424MenuOverlay .v424MenuLinks a,
.v424MenuOverlay .v424MenuLinks button,
.homeCoachV400 .v424MenuOverlay .v424MenuLinks a,
.homeCoachV400 .v424MenuOverlay .v424MenuLinks button,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuLinks a,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuLinks button,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuLinks a,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuLinks button{
  background:#f8fafc !important;
  color:#0f172a !important;
  border-color:rgba(15,23,42,.08) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

.v424MenuOverlay .v424MenuLinks a *,
.v424MenuOverlay .v424MenuLinks button *,
.homeCoachV400 .v424MenuOverlay .v424MenuLinks a *,
.homeCoachV400 .v424MenuOverlay .v424MenuLinks button *,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuLinks a *,
.homeCoachV400:has(.v431ClubTop) .v424MenuOverlay .v424MenuLinks button *,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuLinks a *,
.homeCoachV400:has(.v7299CQTop) .v424MenuOverlay .v424MenuLinks button *{
  color:#0f172a !important;
  text-shadow:none !important;
}

/* ===== URW V7.10.9 — Home Club mobile teams header compact fix =====
   Objectif : gagner de la hauteur sur mobile dans le bloc Mes équipes.
   Scope : Home Club mobile uniquement. Aucun changement métier.
*/
@media(max-width:700px){
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact > .v436CompactHeader{
    display:none !important;
  }
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact .v436TeamsTickerRail{
    padding-top:0 !important;
    margin-top:0 !important;
  }
}


/* ===== URW V7.10.10 — Sponsors mobile form and grid compact fix =====
   Objectif : corriger les champs trop hauts et le rognage à droite sur mobile.
   Scope : sponsors.html uniquement. Aucun changement métier / moteur vérité.
*/
@media(max-width:700px){
  .urw-page-sponsors,
  .urw-page-sponsors .urw-functional-shell,
  .urw-page-sponsors .urw-functional-main{
    width:100% !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  .urw-page-sponsors .urw-functional-main{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .urw-page-sponsors .urw-functional-card,
  .urw-page-sponsors .urw-sponsors-card,
  .urw-page-sponsors .urw-sponsors-root,
  .urw-page-sponsors .card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .urw-page-sponsors #sponsorAdminSection{
    padding:16px !important;
    border-radius:22px !important;
  }

  .urw-page-sponsors .sponsorForm{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
  }

  .urw-page-sponsors .sponsorForm input:not([type="checkbox"]):not([type="radio"]),
  .urw-page-sponsors .sponsorForm input[type="text"],
  .urw-page-sponsors .sponsorForm input[type="url"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    font-size:16px !important;
    line-height:46px !important;
    text-align:left !important;
    border-radius:16px !important;
  }

  .urw-page-sponsors .sponsorForm input[type="file"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    height:auto !important;
    padding:9px 10px !important;
    box-sizing:border-box !important;
    font-size:14px !important;
    line-height:1.25 !important;
    overflow:hidden !important;
    white-space:normal !important;
  }

  .urw-page-sponsors #addSponsorBtn{
    width:min(220px,100%) !important;
    max-width:100% !important;
    min-height:44px !important;
    margin:2px auto 0 !important;
    border-radius:999px !important;
  }

  .urw-page-sponsors .mutedText{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .urw-page-sponsors .sponsorsGrid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .urw-page-sponsors .sponsorCard{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:186px !important;
    padding:10px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .urw-page-sponsors .sponsorImageWrap{
    height:76px !important;
    flex-basis:76px !important;
    margin-bottom:8px !important;
  }

  .urw-page-sponsors .sponsorName{
    min-height:28px !important;
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .urw-page-sponsors .sponsorAdminActions{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .urw-page-sponsors .sponsorAdminActions button{
    width:100% !important;
    min-width:0 !important;
    min-height:38px !important;
    padding:0 !important;
    border-radius:999px !important;
    font-size:15px !important;
  }
}

@media(max-width:360px){
  .urw-page-sponsors .sponsorsGrid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V7.10.14 - Home Coach quick players card: remove duplicate emoji
   Scope: visual-only. The stable icon remains; the fallback emoji is neutralized.
   ========================================================= */
.homeCoachV400 .v4Quick[href="joueurs.html"]:not(:has(.v4217UsersStableIcon))::before{
  content:none!important;
  display:none!important;
}
.homeCoachV400 .v4Quick[href="joueurs.html"] .v4217UsersStableIcon{
  display:block!important;
}

/* =========================================================
   URW V7.10.19 — Customisation public gallery mobile contrast fix
   Scope: galerie photo du site public dans Customisation uniquement.
   Objectif: éviter les flèches blanches sur fonds clairs/transparentes.
   ========================================================= */
.urw-page-customisation .publicGalleryGridV187 .galleryAdminActionsV187 .smallBtn,
.urw-page-customisation .galleryAdminActionsV187 .smallBtn{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  border:1px solid rgba(11,61,110,.28) !important;
  background:rgba(11,61,110,.92) !important;
  color:#ffffff !important;
  font-weight:950 !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  box-shadow:0 10px 24px rgba(11,61,110,.22) !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.urw-page-customisation .publicGalleryGridV187 .galleryAdminActionsV187 .smallBtn:disabled,
.urw-page-customisation .galleryAdminActionsV187 .smallBtn:disabled{
  background:rgba(255,255,255,.94) !important;
  color:#5c6b7f !important;
  border-color:rgba(11,61,110,.18) !important;
  opacity:.78 !important;
  box-shadow:0 8px 18px rgba(16,24,39,.16) !important;
}
.urw-page-customisation .publicGalleryGridV187 .galleryAdminActionsV187 .galleryDeleteV187,
.urw-page-customisation .galleryAdminActionsV187 .galleryDeleteV187{
  background:rgba(255,255,255,.95) !important;
  color:#0b2340 !important;
  border-color:rgba(11,61,110,.22) !important;
}
.urw-page-customisation .publicGalleryGridV187 .galleryAdminActionsV187{
  gap:8px !important;
  left:10px !important;
  right:10px !important;
  bottom:10px !important;
}
@media(max-width:760px){
  .urw-page-customisation .publicGalleryGridV187{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .urw-page-customisation .galleryAdminItemV187{
    min-width:0 !important;
    max-width:100% !important;
  }
  .urw-page-customisation .galleryAdminActionsV187 .smallBtn{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    font-size:1rem !important;
  }
}

/* ===== URW V7.10.20 — Homepages headers / space cleanup =====
   Scope : index homepages only. UI cleanup, no business flow changes.
*/
.homeCoachV400 .v44HeroAdminOpen{
  background:#102033 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  text-shadow:none !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}
.homeCoachV400 .v44HeroAdminOpen:hover,
.homeCoachV400 .v44HeroAdminOpen:focus-visible{
  background:#0f2740 !important;
  color:#fff !important;
}
.v44HeroAdminPanel .v44HeroAdminList button,
.v44HeroAdminPanel .v44HeroAdminActions button:not(.v44HeroSave){
  background:#eef2f7 !important;
  color:#0f172a !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.v44HeroAdminPanel .v44HeroAdminList button strong,
.v44HeroAdminPanel .v44HeroAdminList button b,
.v44HeroAdminPanel .v44HeroAdminList button span{
  color:#0f172a !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.v44HeroAdminPanel .v44HeroAdminList button span{
  color:#475569 !important;
}
.homeCoachV400 .v4ClubIdentity > .v4LogoShell{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
@media(max-width:700px){
  .homeCoachV400 .v4ClubIdentity > .v4LogoShell img[data-local-club-logo="1"]{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    /* t95p/§4.5 — était object-fit:cover : le logo débordait/était recadré dans son
       cadre arrondi. contain + padding = motif déjà utilisé par .urw-top-club-logo img
       (L7925). box-sizing pour que le padding reste dans les 100%. */
    object-fit:contain !important;
    padding:3px !important;
    box-sizing:border-box !important;
    display:block !important;
    border-radius:inherit !important;
  }
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact{
    padding-top:8px !important;
  }
  .homeCoachV400:has(.v431ClubTop) .v421QuickBlock{
    padding-top:10px !important;
  }
}

/* V7.10.21 — Home CQ : destination alerte + accès Affiliés */
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions{
  grid-template-columns:minmax(0,1fr) minmax(136px,.72fr)!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions [data-cq-choose-destination]{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions .v7298CQPublish{
  justify-self:stretch!important;
  min-width:0!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQTeamsPanel{
  padding:12px!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQDestinationChoices,
.homeCoachV400:has(.v7299CQTop) .v71021CQTeamChoices{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:8px!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQTeamChoices[hidden]{display:none!important;}
.homeCoachV400:has(.v7299CQTop) .v71021CQDestinationChoices label,
.homeCoachV400:has(.v7299CQTop) .v71021CQTeamChoices label{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:36px!important;
  padding:0 11px!important;
  border-radius:14px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQDestinationNote{
  display:block!important;
  margin-top:8px!important;
  color:rgba(255,255,255,.78)!important;
  font-weight:750!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQQuickRail a small{
  color:rgba(255,255,255,.78)!important;
  font-size:10.5px!important;
  font-weight:750!important;
  line-height:1!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQQuickCount{
  font-size:19px!important;
  line-height:1!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media(max-width:520px){
  .homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions{
    grid-template-columns:1fr 1fr!important;
  }
}


/* V7.10.22 CLEAN — Photos weekly moderation / team scope */
.photosScopeCardV71022{display:grid;gap:7px;min-width:220px;padding:10px 12px;border:1px solid rgba(15,23,42,.10);border-radius:16px;background:#f8fafc;color:#0f172a}.photosScopeCardV71022 strong{font-size:13px;font-weight:900}.photosScopeCardV71022 small{color:#64748b;font-size:12px}.photosScopeCardV71022 label{font-size:12px;font-weight:800;color:#0f172a}.photosTeamChoicesV71022{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.photosTeamChoicesV71022 label{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:999px;padding:5px 8px}.photosSectionHeaderV71022{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px}.photosSectionHeaderV71022 div{display:grid;gap:2px}.photosSectionHeaderV71022 strong{font-size:15px;color:#0f172a}.photosSectionHeaderV71022 small{font-size:12px;color:#64748b}.photosModerationV71022{margin:16px 0 18px;padding:12px;border-radius:18px;background:#fff7ed;border:1px solid rgba(234,88,12,.18)}.photosModerationGridV71022{display:grid;gap:10px}.photosModerationItemV71022{display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:10px}.photosModerationItemV71022 img{width:76px;height:76px;object-fit:cover;border-radius:13px;background:#f1f5f9}.photosModerationMetaV71022{display:grid;gap:4px}.photosModerationMetaV71022 strong{font-size:13px;color:#0f172a}.photosModerationMetaV71022 small{font-size:12px;color:#64748b}.photosStatusPillV71022{display:inline-flex;width:max-content;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.photosStatusPillV71022.pending{background:#fff7ed;color:#9a3412}.photosModerationActionsV71022{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.photosApproveBtnV71022,.photosRejectBtnV71022{border:none;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer}.photosApproveBtnV71022{background:#0f766e;color:#fff}.photosRejectBtnV71022{background:#fee2e2;color:#991b1b}.photosTeamBadgeV71022{position:absolute;left:6px;bottom:6px;z-index:2;max-width:calc(100% - 44px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font-size:10px;font-weight:900;padding:4px 7px}.photosWeeklyPublicV71022{margin-top:8px}body.photosCanSubmitV71022 #photosClubAdminActions.photosActionsAllowedV6993,html.photosCanSubmitV71022 #photosClubAdminActions.photosActionsAllowedV6993{display:flex!important;visibility:visible!important;pointer-events:auto!important}@media (max-width:700px){.photosAdminActions{display:grid!important;grid-template-columns:1fr;align-items:stretch}.photosScopeCardV71022{min-width:0}.photosModerationItemV71022{grid-template-columns:64px 1fr}.photosModerationItemV71022 img{width:64px;height:64px}.photosModerationActionsV71022{grid-column:1 / -1;justify-content:flex-start}.photosApproveBtnV71022,.photosRejectBtnV71022{flex:1}}

/* =====================================================
   URW V7.10.23 — Photos premium UX + MVP delete rules
   Scope: Photos page only. No sport flow touched.
===================================================== */
.urw-page-photos .urw-photos-card{
  overflow:hidden;
}
.urw-page-photos .photosClubHeader{
  display:grid!important;
  grid-template-columns:1fr;
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.urw-page-photos .urw-page-identity{
  align-items:center;
}
.urw-page-photos .urw-page-title{
  letter-spacing:-.04em;
  line-height:.95;
}
.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  width:100%;
  align-items:stretch;
  padding:14px;
  border:1px solid rgba(11,61,110,.10);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(11,61,110,.055), rgba(255,255,255,.96));
  box-shadow:0 18px 42px rgba(15,23,42,.07);
}
.urw-page-photos #photosSubmissionScopeV71022{
  min-width:0;
}
.photosSubmitPanelV71023{
  display:grid;
  gap:12px;
  min-width:0;
}
.photosSubmitPanelHeaderV71023{
  display:grid;
  gap:4px;
}
.photosSubmitKickerV71023{
  width:max-content;
  border-radius:999px;
  padding:4px 9px;
  background:rgba(11,61,110,.09);
  color:#0b3d6e;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.photosSubmitPanelHeaderV71023 strong{
  color:#0f172a;
  font-size:18px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.photosSubmitPanelHeaderV71023 small{
  color:#64748b;
  font-size:13px;
  line-height:1.35;
}
.urw-page-photos .photosScopeCardV71022{
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  gap:10px;
}
.urw-page-photos .photosScopeAllV71022{
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(11,61,110,.16);
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  color:#0f172a;
  font-size:13px;
  font-weight:900;
}
.urw-page-photos .photosTeamChoicesV71022{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.urw-page-photos .photosTeamChoicesV71022[hidden]{display:none!important;}
.urw-page-photos .photosTeamChoicesV71022 label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#fff;
  border:1px solid rgba(11,61,110,.14);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:850;
  color:#0f172a;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}
.photosNoTeamHintV71023{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:#64748b;
  font-size:12px;
  font-style:normal;
  background:#fff;
  border:1px dashed rgba(11,61,110,.18);
  border-radius:14px;
  padding:8px 10px;
}
.photosSubmitLimitV71023{
  margin:0;
  color:#0b3d6e;
  font-size:12px;
  font-weight:900;
}
.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
  align-self:center;
  min-width:230px;
  min-height:54px;
  border-radius:18px;
  white-space:normal;
  text-align:center;
}
.urw-page-photos .photosModerationV71022,
.urw-page-photos .photosOwnPendingV71023{
  margin:14px 0 20px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff8ed,#fff);
  border:1px solid rgba(234,88,12,.16);
  box-shadow:0 14px 30px rgba(234,88,12,.055);
}
.urw-page-photos .photosModerationV71022.is-empty{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:#fff;
  border-color:rgba(15,23,42,.08);
  box-shadow:none;
}
.urw-page-photos .photosModerationV71022.is-empty .photosSectionHeaderV71022{
  margin:0;
}
.photosCompactEmptyV71023{
  margin:0!important;
  font-size:13px;
}
.urw-page-photos .photosSectionHeaderV71022{
  margin:0 0 12px;
}
.urw-page-photos .photosSectionHeaderV71022 strong{
  font-size:17px;
  letter-spacing:-.025em;
}
.urw-page-photos .photosModerationGridV71022{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.urw-page-photos .photosModerationItemV71022{
  grid-template-columns:82px minmax(0,1fr);
  gap:12px;
  align-items:center;
  border-radius:18px;
  box-shadow:0 12px 24px rgba(15,23,42,.055);
}
.urw-page-photos .photosModerationActionsV71022{
  grid-column:1 / -1;
  justify-content:flex-start;
}
.photosDeletePendingBtnV71023{
  border:1px solid rgba(153,27,27,.14);
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  background:#fff;
  color:#991b1b;
}
.urw-page-photos .photosWeeklyPublicV71022{
  margin-top:8px;
}
.urw-page-photos .photosClubGrid{
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:12px;
}
.urw-page-photos .photosClubItem{
  border-radius:18px;
  box-shadow:0 12px 24px rgba(15,23,42,.10);
  border:1px solid rgba(255,255,255,.75);
}
.urw-page-photos .photosTeamBadgeV71022{
  left:8px;
  bottom:8px;
  font-size:11px;
  padding:5px 8px;
  background:rgba(11,61,110,.86);
}
.urw-page-photos .photosClubDeleteBtn{
  right:8px;
  bottom:8px;
  width:36px;
  height:36px;
  border-radius:14px;
  background:#0b568f;
  color:#fff;
  box-shadow:0 10px 22px rgba(11,61,110,.25);
}
@media (max-width:760px){
  .urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
    grid-template-columns:1fr;
    padding:12px;
    border-radius:20px;
  }
  .urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
    width:100%;
    min-width:0;
  }
  .urw-page-photos .photosModerationV71022.is-empty{
    display:grid;
  }
  .urw-page-photos .photosClubGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* =====================================================
   URW V7.10.24 — Photos page layout fix only
   Scope: layout/libellés Photos. No photo business logic changed.
===================================================== */
body.urw-page-photos .photosClubHeader.urw-page-header{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:16px!important;
  margin:0 0 18px!important;
}
body.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity{
  grid-column:1 / -1!important;
  min-width:0!important;
}
body.photosCanSubmitV71022.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity,
html.photosCanSubmitV71022 body.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity{
  display:none!important;
}
body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanManageV14.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
  grid-column:1 / -1!important;
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,auto)!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:22px 24px!important;
  border-radius:26px!important;
  border:1px solid rgba(11,61,110,.12)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.075)!important;
  overflow:hidden!important;
}
body.urw-page-photos #photosSubmissionScopeV71022{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  position:static!important;
}
body.urw-page-photos .photosSubmitPanelV71023{
  display:grid!important;
  gap:13px!important;
  min-width:0!important;
  max-width:100%!important;
}
body.urw-page-photos .photosSubmitPanelHeaderV71023{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
body.urw-page-photos .photosSubmitKickerV71023{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
}
body.urw-page-photos .photosSubmitPanelHeaderV71023 strong{
  display:block!important;
  margin:0!important;
  color:#07182f!important;
  font-size:clamp(20px,2.2vw,26px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  -webkit-text-fill-color:#07182f!important;
}
body.urw-page-photos .photosSubmitPanelHeaderV71023 small{
  display:block!important;
  max-width:680px!important;
  margin:0!important;
  color:#52627a!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:650!important;
}
body.urw-page-photos .photosScopeCardV71022{
  display:grid!important;
  gap:10px!important;
  min-width:0!important;
  width:100%!important;
}
body.urw-page-photos .photosSubmitLimitV71023{
  display:block!important;
  margin:0!important;
  color:#0b3d6e!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
  justify-self:end!important;
  align-self:center!important;
  position:static!important;
  z-index:1!important;
  min-width:230px!important;
  max-width:100%!important;
  min-height:56px!important;
  margin:0!important;
  border-radius:20px!important;
  box-shadow:0 16px 30px rgba(11,61,110,.22)!important;
}
body.urw-page-photos #photosClubRoot{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}
body.urw-page-photos .photosModerationV71022.is-empty{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 22px!important;
  padding:15px 18px!important;
  border-radius:22px!important;
}
body.urw-page-photos .photosGalleryHeaderV71024{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 8px!important;
}
body.urw-page-photos .photosGalleryHeaderV71024 > div{
  display:grid!important;
  gap:4px!important;
}
body.urw-page-photos .photosGalleryKickerV71024{
  width:max-content!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  background:rgba(11,61,110,.08)!important;
  color:#0b3d6e!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body.urw-page-photos .photosGalleryHeaderV71024 strong{
  color:#07182f!important;
  font-size:22px!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
body.urw-page-photos .photosWeekHeaderV71024{
  margin:4px 0 14px!important;
}
@media(max-width:760px){
  body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanManageV14.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
    grid-template-columns:1fr!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
  }
  body.urw-page-photos .photosModerationV71022.is-empty{
    display:grid!important;
  }
  body.urw-page-photos .photosSubmitPanelHeaderV71023 strong{
    font-size:21px!important;
  }
}

/* =====================================================
   URW V7.10.25 — Photos UX destination refinement
   Scope: Photos page UX, destination selection, contrast. No sports flow touched.
===================================================== */
body.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity,
body.photosCanSubmitV71022.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity,
html.photosCanSubmitV71022 body.urw-page-photos .photosClubHeader.urw-page-header > .urw-page-identity{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}
body.urw-page-photos .urw-page-title{
  color:#07182f!important;
  font-size:clamp(26px,3vw,34px)!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
}
body.urw-page-photos .urw-page-subtitle{
  max-width:680px!important;
  color:#52627a!important;
  font-weight:650!important;
}
body.urw-page-photos .photosUpdate{
  margin-top:3px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanManageV14.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
  grid-template-columns:minmax(0,1fr) minmax(200px,260px)!important;
  gap:20px!important;
  padding:22px 24px!important;
  overflow:hidden!important;
}
body.urw-page-photos .photosSubmitPanelV71025{
  display:grid!important;
  gap:14px!important;
  min-width:0!important;
}
body.urw-page-photos .photosSubmitPanelHeaderV71023 strong{
  font-size:clamp(18px,2vw,23px)!important;
  color:#07182f!important;
  -webkit-text-fill-color:#07182f!important;
}
body.urw-page-photos .photosSubmitPanelHeaderV71023 small{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  background:rgba(11,61,110,.08)!important;
  color:#0b3d6e!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.2!important;
}
body.urw-page-photos .photosScopeCardV71025{
  gap:10px!important;
  background:transparent!important;
  border:none!important;
  padding:0!important;
  box-shadow:none!important;
}
body.urw-page-photos .photosPrimaryScopeV71025{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
body.urw-page-photos .photosActiveTeamChoiceV71025,
body.urw-page-photos .photosChooseOtherTeamsV71025,
body.urw-page-photos .photosTeamChoicesV71025 label,
body.urw-page-photos .photosScopeAllV71022{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  border-radius:999px!important;
  padding:8px 13px!important;
  border:1px solid rgba(11,61,110,.14)!important;
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
}
body.urw-page-photos .photosChooseOtherTeamsV71025{
  cursor:pointer!important;
  background:#eef6ff!important;
  color:#0b3d6e!important;
  -webkit-text-fill-color:#0b3d6e!important;
}
body.urw-page-photos .photosChooseOtherTeamsV71025.is-open{
  background:#0b3d6e!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.urw-page-photos .photosTeamChoicesV71025{
  margin-top:2px!important;
  padding:12px!important;
  border:1px solid rgba(11,61,110,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
}
body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:260px!important;
  overflow:hidden!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.urw-page-photos .photosModerationScopeV71025{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
}
body.urw-page-photos .photosModerationScopeV71025 small{
  color:#64748b!important;
  font-weight:850!important;
}
body.urw-page-photos .photosModerationScopeChoicesV71025{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
body.urw-page-photos .photosModerationScopeChoicesV71025 label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid rgba(11,61,110,.13)!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  padding:6px 9px!important;
  font-size:11px!important;
  font-weight:900!important;
}
body.urw-page-photos .photosRejectBtnV71022{
  background:#fee2e2!important;
  color:#991b1b!important;
  -webkit-text-fill-color:#991b1b!important;
  border:1px solid rgba(153,27,27,.12)!important;
}
body.urw-page-photos .photosApproveBtnV71022{
  background:#0f766e!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.urw-page-photos .photosDeletePendingBtnV71023{
  background:#fff!important;
  color:#991b1b!important;
  -webkit-text-fill-color:#991b1b!important;
}
body.urw-page-photos .photosGalleryHeaderV71024 strong{
  font-size:24px!important;
}
body.urw-page-photos .photosSectionHeaderV71022.photosWeekHeaderV71024 small{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
}
@media(max-width:900px){
  body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanManageV14.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
  html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
    grid-template-columns:1fr!important;
  }
  body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
    max-width:none!important;
  }
}
@media(max-width:520px){
  body.urw-page-photos .photosPrimaryScopeV71025,
  body.urw-page-photos .photosTeamChoicesV71025,
  body.urw-page-photos .photosModerationScopeChoicesV71025{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  body.urw-page-photos .photosActiveTeamChoiceV71025,
  body.urw-page-photos .photosChooseOtherTeamsV71025,
  body.urw-page-photos .photosTeamChoicesV71025 label,
  body.urw-page-photos .photosScopeAllV71022{
    width:100%!important;
    justify-content:flex-start!important;
  }
}


/* =====================================================
   URW V7.10.26 — Photos final wording + button containment
   Scope: wording public + add photo button layout only. No photo logic changed.
===================================================== */
body.urw-page-photos .urw-page-subtitle{
  max-width:680px!important;
}
body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanManageV14.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
body.photosCanSubmitV71022.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993,
html.photosCanSubmitV71022 body.urw-page-photos #photosClubAdminActions.photosActionsAllowedV6993{
  grid-template-columns:1fr!important;
  align-items:start!important;
  gap:16px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
  justify-self:start!important;
  align-self:start!important;
  width:auto!important;
  max-width:min(100%,320px)!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-left:22px!important;
  padding-right:22px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  body.urw-page-photos #photosClubAddBtn.photosUploadButtonV6993{
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
    white-space:normal!important;
  }
}

/* V7.10.28 - Sponsor / Webshop à la une dans Vie du club */
.sponsorFeaturedStateV71028,
.webshopFeaturedStateV71028{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin:.55rem auto .15rem;
  padding:.32rem .7rem;
  border-radius:999px;
  background:rgba(14,82,130,.10);
  color:var(--kf-primary);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.02em;
}
.sponsorFeaturedStateV71028:empty,
.webshopFeaturedStateV71028:empty{display:none;}
.featureSponsorBtnV71028,
.featureWebshopBtnV71028{
  border:1px solid rgba(14,82,130,.22);
  background:#eef6ff;
  color:var(--kf-primary);
  border-radius:999px;
  font-weight:900;
  padding:.55rem .85rem;
  box-shadow:0 10px 24px rgba(13,64,105,.10);
}
.featureSponsorBtnV71028:hover,
.featureWebshopBtnV71028:hover{background:#dfefff;}
.v71028FeaturedLifeCard{outline:2px solid rgba(255,255,255,.38);}
.v71028FeaturedLifeCard .v4NewsContent small{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:.24rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:var(--kf-primary);
  font-weight:900;
}
.v71028FeaturedLifeCard .v4NewsContent em{
  display:block;
  margin-top:.24rem;
  font-style:normal;
  font-weight:800;
  color:rgba(255,255,255,.92);
}
.v71028FeaturedFallback{background:linear-gradient(135deg,#eef6ff,#d7e9ff);color:var(--kf-primary);}

/* =====================================================
   URW V7.10.29 — UI refinement for featured buttons
   Scope: visual hierarchy only. No featured logic changed.
===================================================== */
.urw-page-webshop .webshopAdminProductActions,
.urw-page-sponsors .sponsorAdminActions{
  box-sizing:border-box!important;
}

/* Unified secondary action: Mettre à la une */
.urw-page-webshop .featureWebshopBtnV71028,
.urw-page-sponsors .featureSponsorBtnV71028{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.45rem!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:.72rem 1rem!important;
  border:1px solid rgba(14,82,130,.28)!important;
  background:linear-gradient(180deg,#ffffff,#eef6ff)!important;
  color:var(--kf-primary)!important;
  border-radius:999px!important;
  font-weight:900!important;
  font-size:.95rem!important;
  line-height:1.1!important;
  text-align:center!important;
  box-shadow:0 10px 22px rgba(13,64,105,.08)!important;
  cursor:pointer!important;
  opacity:1!important;
  filter:none!important;
  white-space:normal!important;
}
.urw-page-webshop .featureWebshopBtnV71028::before,
.urw-page-sponsors .featureSponsorBtnV71028::before{
  content:"★";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  background:rgba(14,82,130,.12);
  color:var(--kf-primary);
  font-size:.78rem;
  flex:0 0 auto;
}
.urw-page-webshop .featureWebshopBtnV71028:hover,
.urw-page-sponsors .featureSponsorBtnV71028:hover{
  background:linear-gradient(180deg,#f7fbff,#dfefff)!important;
  border-color:rgba(14,82,130,.45)!important;
  transform:translateY(-1px);
}

/* Clear status badge: À la une */
.urw-page-webshop .webshopFeaturedStateV71028,
.urw-page-sponsors .sponsorFeaturedStateV71028{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.35rem!important;
  width:max-content!important;
  max-width:100%!important;
  margin:.6rem 0 .35rem!important;
  padding:.36rem .78rem!important;
  border-radius:999px!important;
  border:1px solid rgba(14,82,130,.18)!important;
  background:var(--kf-primary)!important;
  color:#fff!important;
  box-shadow:0 10px 18px rgba(13,64,105,.14)!important;
  font-weight:900!important;
  font-size:.78rem!important;
  letter-spacing:.02em!important;
}
.urw-page-webshop .webshopFeaturedStateV71028:not(:empty)::before,
.urw-page-sponsors .sponsorFeaturedStateV71028:not(:empty)::before{
  content:"★";
  font-size:.72rem;
}
.urw-page-webshop .webshopFeaturedStateV71028:empty,
.urw-page-sponsors .sponsorFeaturedStateV71028:empty{display:none!important;}

/* Webshop: calmer hierarchy between customer action, admin secondary and destructive actions */
.urw-page-webshop .webshopAdminProductActions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(14,82,130,.10)!important;
}
.urw-page-webshop .webshopAdminProductActions button{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  min-height:44px!important;
  font-weight:900!important;
  line-height:1.1!important;
  box-shadow:none!important;
  white-space:normal!important;
}
.urw-page-webshop .toggleStockBtn{
  border:1px solid rgba(14,82,130,.25)!important;
  background:var(--kf-primary)!important;
  color:#fff!important;
}
.urw-page-webshop .toggleStockBtn:hover{background:var(--kf-primary)!important;}
.urw-page-webshop .deleteProductBtn{
  border:1px solid rgba(142,31,31,.20)!important;
  background:#fff5f5!important;
  color:#8a1f1f!important;
}
.urw-page-webshop .deleteProductBtn:hover{background:#ffe8e8!important;}

/* Sponsors: featured action full width, order buttons compact, delete integrated */
.urw-page-sponsors .sponsorAdminActions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:10px!important;
  border-top:1px solid rgba(14,82,130,.10)!important;
}
.urw-page-sponsors .sponsorAdminActions button{
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:40px!important;
  border-radius:999px!important;
  font-weight:900!important;
  line-height:1!important;
  opacity:1!important;
  filter:none!important;
}
.urw-page-sponsors .featureSponsorBtnV71028{
  grid-column:1 / -1!important;
}
.urw-page-sponsors .moveSponsorUpBtn,
.urw-page-sponsors .moveSponsorDownBtn{
  border:1px solid rgba(14,82,130,.18)!important;
  background:#eaf3fb!important;
  color:var(--kf-primary)!important;
  font-size:.95rem!important;
}
.urw-page-sponsors .moveSponsorUpBtn:disabled,
.urw-page-sponsors .moveSponsorDownBtn:disabled{
  background:#eef2f6!important;
  color:#789!important;
  opacity:.55!important;
  cursor:not-allowed!important;
}
.urw-page-sponsors .deleteSponsorBtn{
  grid-column:1 / -1!important;
  width:100%!important;
  margin-top:0!important;
  border:1px solid rgba(142,31,31,.20)!important;
  background:#fff5f5!important;
  color:#8a1f1f!important;
  border-radius:999px!important;
}
.urw-page-sponsors .deleteSponsorBtn:hover{background:#ffe8e8!important;}

@media(max-width:700px){
  .urw-page-webshop .featureWebshopBtnV71028,
  .urw-page-sponsors .featureSponsorBtnV71028,
  .urw-page-webshop .webshopAdminProductActions button,
  .urw-page-sponsors .sponsorAdminActions button{
    min-height:42px!important;
    font-size:.92rem!important;
    padding:.66rem .85rem!important;
  }
  .urw-page-sponsors .sponsorAdminActions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* V7.10.37 - Toast action Mettre à la une Agenda-like */
.urwActionToastV71037{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(12px);
  z-index:9999;
  max-width:min(520px, calc(100vw - 32px));
  padding:11px 16px;
  border-radius:999px;
  background:#0b3d6e;
  color:#fff;
  font-weight:700;
  font-size:14px;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.urwActionToastV71037.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* URW V49 — Harmonisation des boutons visuel/partage */
/* Bouton "Créer visuel" : plein (action principale) */
.urwCreateVisualBtn{
  display:inline-flex;align-items:center;gap:8px;
}
.urwCreateVisualBtn [data-urw-icon] svg,.urwCreateVisualBtn [data-urw-icon]{width:18px;height:18px;}
/* Bouton "Partager" : contour léger (action directe secondaire) */
.urwShareBtn{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff !important;
  color:#14233f !important;
  border:1.5px solid #14233f !important;
  box-shadow:none !important;
}
.urwShareBtn [data-urw-icon] svg,.urwShareBtn [data-urw-icon]{width:18px;height:18px;}
.urwShareBtn:hover{background:#f4f6f9 !important;}

/* =========================================================
   URW V7.10.58N — Agenda mobile premium layout correction
   Scope: Agenda mobile responsive only.
   Goal: keep desktop spirit on mobile: compact calendar grid, horizontal event cards.
   No JS / data / sharing / Autofeed / Hero / Planning logic changed.
   ========================================================= */
@media (max-width:860px){
  body.urw-page-agenda-events .agendaCalendarPanelV7280{
    padding:14px!important;
    overflow:hidden!important;
  }

  body.urw-page-agenda-events .agendaMiniWeekdaysV7282{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
  }

  body.urw-page-agenda-events .agendaMiniDaysV7282{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:5px!important;
    overflow-x:visible!important;
    padding:2px 0 0!important;
  }

  body.urw-page-agenda-events .agendaMiniDayV7281{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:initial!important;
    height:34px!important;
    min-height:34px!important;
    border-radius:12px!important;
    font-size:.82rem!important;
    line-height:1!important;
  }

  body.urw-page-agenda-events .agendaPremiumEventCardV7281.hasImage{
    grid-template-columns:clamp(88px,28vw,118px) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px!important;
    border-radius:20px!important;
  }

  body.urw-page-agenda-events .agendaPremiumEventCardV7281.noImage,
  body.urw-page-agenda-events .agendaPremiumEventCardV7281:not(.hasImage){
    grid-template-columns:1fr!important;
  }

  body.urw-page-agenda-events .agendaEventThumbWrapV7283{
    width:100%!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    border-radius:16px!important;
    align-self:center!important;
  }

  body.urw-page-agenda-events .agendaEventContentV7281{
    min-width:0!important;
    gap:5px!important;
    align-self:center!important;
  }

  body.urw-page-agenda-events .agendaPremiumEventCardV7281 h3{
    font-size:1rem!important;
    line-height:1.12!important;
    margin:0!important;
  }

  body.urw-page-agenda-events .agendaEventActionsV7281{
    gap:6px!important;
  }

  body.urw-page-agenda-events .agendaEventActionsV7281 a,
  body.urw-page-agenda-events .agendaEventActionsV7281 button{
    flex:0 1 auto!important;
    min-height:32px!important;
    padding:0 10px!important;
    font-size:.75rem!important;
    white-space:nowrap!important;
  }
}

@media (max-width:520px){
  body.urw-page-agenda-events .agendaDateGroupV7281{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.urw-page-agenda-events .agendaDateColV7281 strong{
    font-size:1.55rem!important;
  }

  body.urw-page-agenda-events .agendaDateColV7281 small{
    font-size:.72rem!important;
  }

  body.urw-page-agenda-events .agendaPremiumEventCardV7281.hasImage{
    grid-template-columns:clamp(84px,27vw,104px) minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px!important;
  }

  body.urw-page-agenda-events .agendaEventThumbWrapV7283{
    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;
    border-radius:14px!important;
  }

  body.urw-page-agenda-events .agendaEventActionsV7281 a,
  body.urw-page-agenda-events .agendaEventActionsV7281 button{
    min-height:30px!important;
    padding:0 8px!important;
    font-size:.7rem!important;
  }
}

/* =========================================================
   URW V7.10.58N — Micro UI responsive polish
   Scope: Customisation long button + Agenda mobile actions only.
   ========================================================= */
@media (max-width:640px){
  .v642ContactShortcut{
    box-sizing:border-box!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }
}

@media (max-width:860px){
  body.urw-page-agenda-events .agendaEventActionsV7281{
    justify-content:flex-start!important;
    align-items:center!important;
    flex-wrap:wrap!important;
  }
}

/* ===== V98 — HomePage Coach : duo Convocation / Mon équipe (mock-up Daniel) ===== */
.v98CoachDuo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.v98DuoCard{margin-bottom:0;display:flex;flex-direction:column;gap:6px;min-width:0;}
.v98DuoHead{display:flex;align-items:center;gap:8px;margin-bottom:2px;}
.v98DuoHead svg{width:20px;height:20px;flex:0 0 auto;color:var(--club-muted);}
.v98DuoTitle{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;color:var(--club-text);}
.v98DuoSub{display:block;font-size:11px;color:var(--club-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v98Row{display:flex;align-items:center;gap:6px;width:100%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.08);border-radius:12px;padding:8px 8px;color:var(--club-text);text-decoration:none;font:inherit;cursor:pointer;min-width:0;flex:1;}
.v98Row svg{width:16px;height:16px;flex:0 0 auto;color:var(--club-muted);}
.v98RowLabel{flex:1 1 auto;font-size:12px;font-weight:750;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.v98Val{font-size:13px;font-weight:900;white-space:nowrap;}
.v98ValAbs{color:#ff8a8a;}
.v98ValPres{color:#83f0a3;}
.v98ValAtt{color:#ffce6b;}
.v98Chev{color:var(--club-muted);font-weight:900;flex:0 0 auto;}
.v98OpenBtn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;flex:1;border:0;border-radius:14px;padding:10px 8px;background:rgba(40,90,160,.55);color:var(--club-text);font-size:13px;font-weight:850;text-decoration:none;cursor:pointer;}
.v98Empty{font-size:12px;color:var(--club-muted);margin:6px 0;flex:1 1 auto;}
.v98QuickBlock{margin-bottom:8px;}
.v98QuickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.v98QuickGrid .v98Quick{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:16px;padding:10px 8px;color:var(--club-text);text-decoration:none;font:inherit;cursor:pointer;min-width:0;}
.v98QuickGrid .v98Quick svg{width:18px;height:18px;color:var(--club-muted);}
.v98QuickGrid .v98Quick span{font-size:11.5px;font-weight:800;line-height:1.15;}
.v98QuickGrid .v98Quick small{font-size:10px;color:var(--club-muted);}
.v98ClubLifeHead{margin-top:2px;}
.v98EventLine{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:14px;padding:10px 10px;margin:6px 0 8px;color:var(--club-text);text-decoration:none;font-size:12.5px;min-width:0;}
.v98EventLine svg{width:18px;height:18px;flex:0 0 auto;color:var(--club-muted);}
.v98EventLine span:first-of-type{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
@media (max-width:380px){
  .v98RowLabel{font-size:11px;}
  .v98QuickGrid .v98Quick span{font-size:10.5px;}
}
/* ===== fin V98 ===== */

/* ===== V99 — Ajustements home coach (retours Dan) ===== */
/* Débordement des cellules : box-sizing manquant */
.v98Row,.v98OpenBtn,.v98QuickGrid .v98Quick,.v98EventLine{box-sizing:border-box;max-width:100%;}
/* Icônes convocation = même couleur que le chiffre */
.v98Row[data-list="absent"] svg{color:#ff8a8a;}
.v98Row[data-list="present"] svg{color:#83f0a3;}
.v98Row[data-list="pending"] svg{color:#ffce6b;}
/* V117 — couleur secondaire du club pour les actions HomePage et accents. */
.v98OpenBtn{background:var(--club-secondary, var(--nav-color));color:#fff;}
.homeCoachV400 .v4LaunchAction,
.homeCoachV400 .v4MainAction{
  background:var(--club-secondary, var(--nav-color))!important;
  border-color:color-mix(in srgb, var(--club-secondary, var(--nav-color)), #fff 18%)!important;
}
/* Icônes Accès rapides en bleu nav (textes inchangés) */
.v98QuickGrid .v98Quick svg{color:var(--club-secondary, var(--nav-color));}
/* Déco : morceau de rond en bas à droite des tuiles (repris de v4QuickRail) */
.v98QuickGrid .v98Quick{position:relative;overflow:hidden;}
.v98QuickGrid .v98Quick::after{content:"";position:absolute;right:-20px;bottom:-24px;width:58px;height:58px;border-radius:999px;background:color-mix(in srgb, var(--club-secondary, var(--nav-color)) 12%, transparent);pointer-events:none;}
/* "Prochain événement" en bleu nav */
.v98EventKicker{color:var(--club-secondary, var(--nav-color));font-weight:850;}
/* ===== fin V99 ===== */

/* ===== V101 — Passe de finition UX HomePage Coach (mock-up) ===== */
/* 4. Mon équipe : icônes des lignes (Stats / Dernier Match / Classement / Effectif)
   en bleu nav, comme les icônes du bloc Accès rapides.
   Sélecteur a.v98Row : ne touche que les lignes Mon équipe (liens),
   pas les lignes Convocation (boutons data-list, couleurs V99 conservées)
   ni l'icône du titre MON ÉQUIPE (.v98DuoHead). */
.v98DuoCard a.v98Row svg{color:var(--club-secondary, var(--nav-color));}

/* 6. Accès rapides : fond translucide avec bords arrondis cohérents
   avec les autres blocs (Hero / Convocation / Mon équipe / Vie du club).
   Hauteur et tuiles inchangées. */
.v98QuickBlock{border-radius:20px;}

/* 7. Vie du club : action "Voir agenda" collée à droite de la ligne Prochain événement. */
.v98EventGo{margin-left:auto;flex:0 0 auto;font-size:11.5px;font-weight:800;white-space:nowrap;color:var(--club-secondary, var(--nav-color));}
/* ===== fin V101 ===== */

/* ===== V102 — Flow de première connexion Admin (C1) ===== */
/* Bannière d'étape sur les pages claires (Contact / Customisation / Planning) :
   texte foncé sur fond clair, jamais de texte blanc sur fond clair. */
.v102StepBanner{border-left:4px solid #0b3d6e;background:#eef2f8;color:#14233f;margin:0 0 14px;padding:14px 16px;}
.v102StepHead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.v102StepBadge{display:inline-block;background:#0b3d6e;color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap;}
.v102StepTitle{font-size:15px;color:#14233f;}
.v102StepText{margin:0 0 10px;font-size:13.5px;color:#3a4a63;line-height:1.45;}
.v102StepActions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.v102PrimaryBtn{display:inline-block;border:0;border-radius:12px;background:#0b3d6e;color:#fff;padding:10px 16px;font-size:13.5px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center;}
.v102PrimaryBtn:hover{background:#0d4a85;}
.v102PrimaryBtnWide{display:block;width:100%;box-sizing:border-box;margin-top:14px;}
.v102LaterLink{background:none;border:0;padding:6px 2px;color:#5a6b85;font-size:12.5px;font-weight:700;text-decoration:underline;cursor:pointer;}
.v102FieldHint{margin:6px 0 0;color:#b00020;font-size:12.5px;font-weight:700;}

/* Confirmation après le premier match (overlay sur Planning). */
.v102Overlay{position:fixed;inset:0;z-index:9999;background:rgba(10,20,35,.55);display:flex;align-items:center;justify-content:center;padding:18px;}
.v102Sheet{width:min(440px,100%);background:#fff;color:#14233f;border-radius:22px;padding:22px 20px;box-shadow:0 22px 70px rgba(0,0,0,.35);text-align:center;box-sizing:border-box;}
.v102Sheet h3{margin:0 0 8px;font-size:18px;color:#0b3d6e;}
.v102Sheet p{margin:0 0 6px;font-size:13.5px;color:#3a4a63;line-height:1.5;}
.v102Sheet .v102LaterLink{margin-top:10px;}

/* Bandeau de découverte sur la Homepage Club (fond sombre : texte clair, cohérent .v4Card). */
.v102ClubBanner{position:relative;}
.v102ClubBannerClose{position:absolute;top:8px;right:10px;border:0;background:none;color:var(--club-muted);font-size:20px;font-weight:800;line-height:1;cursor:pointer;padding:4px 6px;}
.v102ClubBannerText{margin:6px 0 10px;font-size:13.5px;color:var(--club-text);line-height:1.5;}
.v102ClubBannerActions{display:flex;gap:8px;flex-wrap:wrap;}
.v102GhostBtn{display:inline-block;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:var(--club-text);border-radius:12px;padding:8px 12px;font-size:12.5px;font-weight:800;text-decoration:none;}
@media (max-width:420px){
  .v102StepActions{align-items:stretch;}
  .v102StepActions .v102PrimaryBtn{flex:1 1 auto;}
}
/* ===== fin V102 ===== */

/* ===== V103 — Flow de première connexion Coach (C2) ===== */
/* Réutilise l'overlay/feuille V102 ; spécificités du sélecteur d'équipe. */
.v103Sheet{text-align:left;}
.v103Sheet h3{text-align:center;}
.v103Sheet p{text-align:center;}
.v103TeamList{display:flex;flex-direction:column;gap:8px;margin:14px 0;max-height:44vh;overflow-y:auto;}
.v103TeamBtn{display:block;width:100%;box-sizing:border-box;border:1px solid #d6deeb;background:#f4f7fc;color:#14233f;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:800;text-align:left;cursor:pointer;}
.v103TeamBtn:hover{background:#e8eef8;border-color:#0b3d6e;}
.v103GhostBtn{display:block;width:100%;box-sizing:border-box;margin-top:10px;border:1px solid #c9d4e6;background:#fff;color:#0b3d6e;border-radius:12px;padding:11px 14px;font-size:13px;font-weight:800;cursor:pointer;text-align:center;}
.v103GhostBtn:hover{background:#f4f7fc;}
.v103Input{display:block;width:100%;box-sizing:border-box;margin:12px 0 4px;border:1px solid #c9d4e6;border-radius:12px;padding:12px 14px;font-size:15px;color:#14233f;background:#fff;}
.v103Input:focus{outline:2px solid #0b3d6e;border-color:#0b3d6e;}
.v103Sheet .v102LaterLink{display:block;margin:12px auto 0;}
/* Suggestion douce Homepage Coach (fond sombre, famille .v4Card). */
.v103CoachHint{position:relative;}
.v103CoachHintText{margin:2px 28px 10px 0;font-size:13px;color:var(--club-text, #eaf1fb);line-height:1.45;}
.v103TeamBtn{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.v103TeamCurrent{flex:0 0 auto;font-size:10.5px;font-weight:800;color:#0b3d6e;background:#e3ebf7;border-radius:999px;padding:3px 8px;}
/* ===== fin V103 ===== */

/* ===== V103.2 — pop-ups admin, barrettes compactes, barre de retour joueurs ===== */
.v102StepStrip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;}
.v102StepStrip .v102StepTitle{font-size:13.5px;}
.v102StepStrip .v102PrimaryBtn{margin-left:auto;padding:8px 12px;font-size:12.5px;}
.v102StepStrip .v102LaterLink{margin-left:auto;}
.v102StepStrip .v102PrimaryBtn + .v102LaterLink{margin-left:0;}
.v102Sheet .v102StepBadge{margin-bottom:10px;}
.v103ReturnBar{position:fixed;left:10px;right:10px;bottom:84px;z-index:9000;display:flex;align-items:center;gap:10px;background:#0b3d6e;color:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.v103ReturnText{font-size:12.5px;font-weight:700;color:#dbe7f7;}
.v103ReturnBtn{margin-left:auto;background:#fff !important;color:#0b3d6e !important;padding:9px 12px;font-size:12.5px;white-space:nowrap;}
.v103ReturnClose{flex:0 0 auto;border:0;background:none;color:#bcd0ea;font-size:18px;font-weight:800;line-height:1;cursor:pointer;padding:2px 4px;}
@media (max-width:420px){ .v103ReturnText{display:none;} .v103ReturnBtn{margin-left:0;flex:1;text-align:center;} }
/* ===== fin V103.2 ===== */

/* ===== V1060 — Raccourcis internes Équipes & joueurs ===== */
.teamShortcutsV1060{display:flex;flex-direction:column;gap:6px;padding:10px 8px;}
.teamShortcutsV1060 .teamShortcutV1060{display:flex;align-items:center;justify-content:flex-start !important;gap:10px;width:100% !important;box-sizing:border-box;min-height:46px;border:0;background:none;box-shadow:none;border-radius:12px;padding:11px 12px;margin:0 !important;font-size:15px;font-weight:800;color:#14233f !important;text-align:left !important;cursor:pointer;line-height:1.3;}
.teamShortcutV1060:hover{background:#eef2f8;}
.teamShortcutV1060:active{background:#e3ebf7;}
.teamShortcutArrowV1060{flex:0 0 auto;color:#0b3d6e;font-weight:800;}
/* Offset du header sticky pour toutes les cibles de scroll de la page */
#anchorCreateTeamV1060, #jerseysCard1059, #teamPhotoCard1059, #teamsRoot, .teamPhotoBox1059, #teamsRoot .formRow, .inlineWarn3512{scroll-margin-top:84px;}
.teamFilterTopV1061{padding:12px 14px;}
.teamFilterTopV1061 .mutedSmall3512{margin:0 0 8px;}
.teamFilterTopBarV1061{scroll-margin-top:84px;}
/* ===== fin V1060 ===== */

/* ===== V104 — HomePage Coach : stabilisation un seul écran mobile =====
   Périmètre strict : HomePage Coach (.homeCoachV400) uniquement.
   Couleurs : aucune nouvelle couleur custom — uniquement les variables
   de customisation existantes (--nav-color / --club-*) et les neutres. */

/* 1. Titre "Accès rapides" supprimé côté JS : le bloc remonte naturellement.
   2. Accès rapides : 4 cases forcées sur une seule ligne, à toutes largeurs. */
.homeCoachV400 .v98QuickGrid{grid-template-columns:repeat(4,minmax(0,1fr));}
.homeCoachV400 .v98QuickGrid .v98Quick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.homeCoachV400 .v98QuickGrid .v98Quick small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}

/* 3–6. Compaction mobile uniquement (desktop inchangé). */
@media (max-width:520px){
  /* 6. Marges verticales réduites entre les blocs */
  .homeCoachV400{padding-top:9px;}
  .homeCoachV400 .v4TopBar{margin-bottom:7px;}
  .homeCoachV400 .v4NextMatchCard{margin-bottom:6px;}
  .homeCoachV400 .v98CoachDuo{gap:6px;margin-bottom:6px;}
  .homeCoachV400 .v98QuickBlock{margin-bottom:6px;}
  .homeCoachV400 .v98ClubLifeHead{margin-top:0;}
  .homeCoachV400 .v98EventLine{margin:5px 0 6px;padding:8px 9px;}

  /* 5. Hero prochain match compacté sans perte de lisibilité */
  .homeCoachV400 .v4DensityMatchCard{padding:10px 11px;}
  .homeCoachV400 .v4DensityMatchCard .v4MatchHeader{margin-bottom:6px;}
  .homeCoachV400 .v4DensityMatchCard .v4MatchTeamsHero{margin:0 0 7px;}
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo{width:48px;height:48px;border-radius:16px;}
  .homeCoachV400 .v4DensityMatchCard .v4Versus{height:30px;min-width:30px;}
  .homeCoachV400 .v4DensityInfoList{gap:5px;}
  .homeCoachV400 .v4DateTimeLine{font-size:12.5px;}
  .homeCoachV400 .v4InfoAddress{min-height:32px;padding:5px 8px;}
  .homeCoachV400 .v4MatchActionsDual{margin-top:7px;}
  .homeCoachV400 .v4MatchActionsDual .v4Btn{min-height:36px;padding:6px 8px;font-size:12.5px;}

  /* 4. Convocation + Mon équipe compactés */
  .homeCoachV400 .v98DuoCard{gap:5px;}
  .homeCoachV400 .v98DuoHead{gap:6px;margin-bottom:1px;}
  .homeCoachV400 .v98DuoHead svg{width:18px;height:18px;}
  .homeCoachV400 .v98Row{padding:6px 7px;gap:5px;border-radius:11px;}
  .homeCoachV400 .v98Row svg{width:14px;height:14px;}
  .homeCoachV400 .v98RowLabel{font-size:11.5px;}
  .homeCoachV400 .v98Val{font-size:12.5px;}
  .homeCoachV400 .v98OpenBtn{padding:7px 8px;font-size:12.5px;border-radius:12px;}

  /* 2 (suite). Tuiles Accès rapides compactes, toujours sur une ligne */
  .homeCoachV400 .v104QuickBlock{padding:8px;}
  .homeCoachV400 .v98QuickGrid{gap:6px;}
  .homeCoachV400 .v98QuickGrid .v98Quick{min-height:48px;padding:7px 6px;gap:3px;}
  .homeCoachV400 .v98QuickGrid .v98Quick svg{width:16px;height:16px;}
  .homeCoachV400 .v98QuickGrid .v98Quick span{font-size:11px;}
  .homeCoachV400 .v98QuickGrid .v98Quick small{font-size:9.5px;}
}
@media (max-width:360px){
  .homeCoachV400 .v98QuickGrid{gap:5px;}
  .homeCoachV400 .v98QuickGrid .v98Quick span{font-size:10.5px;}
}
/* ===== fin V104 ===== */

/* ===== V105 — HomePage Club : lisibilité, compaction, Hero =====
   Périmètre strict : Home Club (.homeCoachV400:has(.v431ClubTop)).
   Couleurs : uniquement variables de customisation + neutres existants. */

/* 1. Suppression de l'effet décoratif derrière le bloc "Mes équipes"
   (ligne "P3 • Aucun match prévu / calendrier à venir").
   La ligne elle-même garde sa carte ; seul le conteneur décoré disparaît. */
.homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
}

/* 6. Suppression de l'effet décoratif derrière le bloc agenda / scores / classement. */
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:6px 0 4px 0!important;
  overflow:visible!important;
}
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock::before,
.homeCoachV400:has(.v431ClubTop) .v421QuickBlock::after{
  display:none!important;
}

/* 8. Hero : noms d'équipes SOUS les logos, présentation symétrique.
   S'applique à la carte match principal et aux cartes score (live / after). */
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams > div{
  flex-direction:column!important;
  align-items:center!important;
  gap:5px!important;
  text-align:center!important;
  flex:1 1 0!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams{
  align-items:center!important;
  justify-content:center!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams strong{
  max-width:100%!important;
  font-size:12.5px!important;
  line-height:1.1!important;
}

/* 7. Raccourcis : 4 cases visibles sur une seule ligne mobile. */
@media (max-width:700px){
  .homeCoachV400:has(.v431ClubTop) .v4QuickRail{
    padding:0 10px 2px 10px!important;
    gap:8px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick{
    flex:0 0 calc((100% - 24px) / 4)!important;
    width:calc((100% - 24px) / 4)!important;
    min-width:calc((100% - 24px) / 4)!important;
    max-width:calc((100% - 24px) / 4)!important;
    min-height:62px!important;
    padding:8px 7px!important;
    border-radius:16px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick span{
    font-size:11px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick small{
    font-size:9.5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v4QuickRail .v4Quick .v4Icon{
    width:16px!important;
    height:16px!important;
  }
}

/* 9. Carte score sous le Hero : compaction légère mobile. */
@media (max-width:520px){
  .homeCoachV400:has(.v431ClubTop) .v7273ClubScoreCard{
    flex:0 0 224px!important;
    min-width:224px!important;
    max-width:224px!important;
    padding:9px 10px 10px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v7273ClubScoreMeta{
    margin-bottom:6px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v436FlashTicker{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
}

/* 10. Bloc "Prochain événement" sous Vie du club. */
.homeCoachV400:has(.v431ClubTop) .v105ClubEventLine{
  margin:8px 0 2px!important;
}
/* ===== fin V105 ===== */

/* ===== V106 — Accès rapides 4 cases + ligne Prochain événement (3 homepages) ===== */

/* Correctif : une règle historique force les tuiles .v4Quick à 124px de large,
   ce qui entre en conflit avec les grilles 4 colonnes (Coach et Club).
   Dans une grille v98, la largeur est pilotée par la grille, pas par la tuile. */
.homeCoachV400 .v98QuickGrid .v98Quick{
  flex:initial!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Ligne Prochain événement : interlignes cohérents sur les 3 homepages. */
.homeCoachV400 .v106EventLine{margin:6px 0 8px;}
.homeCoachV400 .v106CQEventLine{margin:8px 0 2px!important;}

/* CQ : 4 cases d'accès rapides sur une seule ligne mobile. */
.homeCoachV400 .v106CQQuickRail{
  grid-auto-flow:row!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  overflow:visible!important;
}
.homeCoachV400 .v106CQQuickRail a{
  min-width:0!important;
}
.homeCoachV400 .v106CQQuickRail span,
.homeCoachV400 .v106CQQuickRail small{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding:0 4px!important;
}
@media (max-width:520px){
  .homeCoachV400 .v106CQQuickRail{gap:7px!important;}
  .homeCoachV400 .v106CQQuickRail a{min-height:62px!important;border-radius:16px!important;}
  .homeCoachV400 .v106CQQuickRail span{font-size:11px!important;}
  .homeCoachV400 .v106CQQuickRail small{font-size:9px!important;}
  .homeCoachV400 .v106CQQuickRail .v4Icon{width:18px!important;height:18px!important;}
  .homeCoachV400 .v106CQQuickRail .v71021CQQuickCount{font-size:13px!important;}
}
/* ===== fin V106 ===== */

/* ===== V107 — HomePage CQ : clarté, compaction, pilotage =====
   Périmètre strict : Home CQ (.homeCoachV400:has(.v7299CQTop)). */

/* 2. Hero sans le titre "Aujourd'hui au club" : on resserre le haut du bloc. */
.homeCoachV400:has(.v7299CQTop) .v7298CQHero.v107NoTitle{
  padding-top:13px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQHero.v107NoTitle .v7298CQHeroStats{
  padding-top:2px!important;
}

/* 5. Alerte club : "Envoyer" reste à côté du bouton de destination
   (Préciser destination / Tout le monde), jamais en pleine largeur dessous. */
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions [data-cq-choose-destination]{
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions .v7298CQPublish{
  flex:0 0 auto!important;
  grid-column:auto!important;
  margin-left:0!important;
}
/* Compaction légère du bloc Alerte club. */
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer{
  padding:13px 14px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{
  margin-bottom:9px!important;
  font-size:17px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer textarea{
  min-height:42px!important;
  padding:10px 12px!important;
}
.homeCoachV400:has(.v7299CQTop) .v71021CQAlertActions{
  margin-top:8px!important;
}

/* 9. Planning à venir : compaction mobile sans perte de lisibilité. */
@media (max-width:520px){
  .homeCoachV400:has(.v7299CQTop) .v7298CQPlanning{
    padding:12px 13px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v7298CQPlanning .v7298CQSectionHead{
    margin-bottom:9px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard{
    min-height:92px!important;
    padding:10px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v7298CQMatchCard em{
    margin-top:7px!important;
    padding:6px 7px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v7298CQAlertActions button{
    min-height:36px!important;
    padding:0 10px!important;
    font-size:12.5px!important;
  }
}
/* ===== fin V107 ===== */

/* ===== V109 — Home Club : tout sur un écran, Hero réparé =====
   Périmètre : Home Club (+ ligne événement Club/CQ déjà déplacée côté JS). */

/* HERO — correctif structurel du débordement en haut :
   le contenu était en position:absolute ancré en bas d'une carte à hauteur
   fixe (245px, overflow:hidden). Quand le contenu dépasse, il se fait couper
   PAR LE HAUT. On repasse le contenu dans le flux : la carte prend la
   hauteur de son contenu, plus aucun clipping possible, et on récupère
   la hauteur morte de l'image de fond. */
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroCard{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroContent{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:13px 14px 14px!important;
  gap:7px!important;
}
/* Le titre "X vs Y" fait doublon avec les noms sous les logos : on le masque
   uniquement quand la carte contient déjà le bloc équipes (≈55px gagnés). */
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroCard:has(.v44Teams) .v44HeroContent h2{
  display:none!important;
}
/* Présentation symétrique des deux équipes (annule la grille asymétrique mobile). */
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:8px!important;
  margin:2px 0!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams > div{
  min-width:0!important;
  max-width:100%!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Teams > div strong{
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
}
/* Chips méta : une seule ligne possible. */
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroMeta{
  gap:5px!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroMeta span{
  font-size:10.5px!important;
  padding:4px 8px!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroKicker{
  padding:4px 9px!important;
  font-size:.68rem!important;
}
.homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44Address{
  margin-top:2px!important;
}

/* COMPACTION VERTICALE GLOBALE — mobile uniquement. */
@media (max-width:520px){
  /* Marges inter-blocs resserrées */
  .homeCoachV400:has(.v431ClubTop) .v431ClubBlock,
  .homeCoachV400:has(.v431ClubTop) .v436FavoritesCompact,
  .homeCoachV400:has(.v431ClubTop) .v436FlashTicker,
  .homeCoachV400:has(.v431ClubTop) .v4NewsCarouselBlock,
  .homeCoachV400:has(.v431ClubTop) .v421QuickBlock,
  .homeCoachV400:has(.v431ClubTop) .v98QuickBlock{
    margin-top:6px!important;
    margin-bottom:0!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v44HeroStoryboard{
    margin:6px 0 0!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v44HeroRail{
    padding-bottom:4px!important;
  }
  /* Ligne Mes équipes plus fine */
  .homeCoachV400:has(.v431ClubTop) .v436TeamTickerLine{
    padding:6px 8px!important;
  }
  /* Flash club plus fin */
  .homeCoachV400:has(.v431ClubTop) .v436FlashTicker{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  /* Bouton GPS/adresse du hero plus compact */
  .homeCoachV400:has(.v431ClubTop) .v762HeroSportPack .v44HeroActions button{
    min-height:32px!important;
    padding:5px 10px!important;
    font-size:12px!important;
  }
  /* Scores du club : carte plus basse */
  .homeCoachV400:has(.v431ClubTop) .v7273ClubScoreCard{
    flex-basis:204px!important;
    min-width:204px!important;
    max-width:204px!important;
    padding:8px 9px 9px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v7273ClubScoresHeader{
    margin-bottom:5px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v7273ClubScoresRail{
    padding-bottom:4px!important;
  }
  /* Vie du club : cartes actualités moins hautes */
  .homeCoachV400:has(.v431ClubTop) .v4NewsCard{
    width:148px!important;
    min-width:148px!important;
    height:140px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v4NewsHeader{
    margin-bottom:5px!important;
  }
  .homeCoachV400:has(.v431ClubTop) .v105ClubEventLine{
    margin:0 0 7px!important;
    padding:8px 9px!important;
  }
  .homeCoachV400:has(.v7299CQTop) .v106CQEventLine{
    margin:0 0 8px!important;
  }
  /* Raccourcis : bloc collé au-dessus */
  .homeCoachV400:has(.v431ClubTop) .v106ClubQuickBlock{
    padding:6px 0 10px!important;
  }
}
/* ===== fin V109 ===== */

/* ===== V110 — Bloc Alerte club CQ : boutons réparés définitivement =====
   Diagnostic : 5 couches de règles !important contradictoires s'empilaient sur
   [data-cq-choose-destination] et .v7298CQPublish (grilles 3 colonnes, 2 colonnes,
   min-width 158px/144px, et surtout width:100% à ≤400px qui faisait déborder
   "Envoyer" et écrasait "Tout le monde" en "t le").
   Ce bloc, en fin de cascade et à spécificité supérieure, fixe le layout
   pour TOUTES les largeurs : destination flexible lisible + Envoyer compact à droite. */
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer .v71021CQAlertActions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:none!important;
  margin-top:8px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer .v71021CQAlertActions [data-cq-choose-destination]{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:40px!important;
  padding:0 10px!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:13px!important;
}
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer .v71021CQAlertActions .v7298CQPublish{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:46%!important;
  min-height:40px!important;
  padding:0 16px!important;
  grid-column:auto!important;
  justify-self:auto!important;
  margin-left:0!important;
  white-space:nowrap!important;
  font-size:13px!important;
}
@media (max-width:360px){
  .homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer .v71021CQAlertActions [data-cq-choose-destination],
  .homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer .v71021CQAlertActions .v7298CQPublish{
    font-size:12px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
/* ===== fin V110 ===== */

/* ===== V112 — Hero Club façon Coach + Derniers résultats + À venir ===== */

/* Carte Hero club : contenu en flux (jamais de clipping), rendu Coach
   par-dessus l'image de fond personnalisable. */
.homeCoachV400 .v112CoachHero{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
}
.homeCoachV400 .v112CoachHero .v112CoachHeroContent{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  gap:8px!important;
  padding:12px 13px 13px!important;
}
.homeCoachV400 .v112CoachHero .v4MatchHeader{margin-bottom:0!important;}
.homeCoachV400 .v112CoachHero .v4MatchTeamsHero{margin:0!important;}
.homeCoachV400 .v112CoachHero .v4DensityInfoList{gap:6px!important;}
/* Lisibilité sur image : voile déjà présent (v44HeroShade), on renforce
   légèrement les surfaces internes héritées du rendu Coach. */
.homeCoachV400 .v112CoachHero .v4InfoLine{
  background:rgba(8,20,40,.38)!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* Header "Derniers résultats" homogène avec "Vie du club". */
.homeCoachV400 .v112ScoresHeader{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px!important;
  padding:0!important;
}
.homeCoachV400 .v112ScoresHeader .v4CardKicker{margin:0!important;}
/* ===== fin V112 ===== */


/* =====================================================
   V113 DANIEL KICKOFF TARGETED PASS
   Corrections ciblées Home / Connexion / Score validation
===================================================== */
.homeCoachV400 .v98QuickGrid .v98Quick span,
.homeCoachV400 .v431ClubQuick .v98Quick span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.05!important;
  font-size:10px!important;
  letter-spacing:-.02em!important;
  max-width:100%!important;
}
.homeCoachV400 .v7273ClubScoresHeader .v4CardKicker{
  font-size:11px!important;
  line-height:1.1!important;
}
.homeCoachV400 .v113ClubLifeFrame{
  margin-top:10px!important;
  padding:10px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:0 16px 34px rgba(7,36,68,.08)!important;
  backdrop-filter:blur(10px);
}
.v113ScoreValidationBanner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 10px;
  padding:9px 11px;
  border-radius:16px;
  border:1px solid rgba(245,166,35,.32);
  background:rgba(255,247,230,.82);
  color:#5d3600;
  box-shadow:0 10px 24px rgba(95,58,8,.08);
}
.v113ScoreValidationBanner div{display:flex;flex-direction:column;gap:1px;min-width:0;}
.v113ScoreValidationBanner strong{font-size:.86rem;}
.v113ScoreValidationBanner span{font-size:.75rem;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v113ScoreValidationBanner a{
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  background:#0b3d6e;
  color:#fff!important;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
}
.v113ScoreNotif a{display:inline-flex;margin-top:4px;font-size:.76rem;font-weight:800;color:#0b3d6e;text-decoration:none;}
.klickoffLoginHeaderV113{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.klickoffLoginBrandV113{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:18px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.klickoffLoginBrandV113 strong{display:block;font-size:1rem;line-height:1;color:#fff;}
.klickoffLoginBrandV113 small{display:block;font-size:.72rem;color:rgba(255,255,255,.82);margin-top:2px;}
.klickoffLoginMarkV113{width:34px;height:34px;border-radius:12px;background:#fff;color:#0b3d6e;display:grid;place-items:center;font-size:1.05rem;}
@media(max-width:640px){.klickoffLoginHeaderV113{align-items:flex-start}.klickoffLoginBrandV113{width:100%;}.klickoffLoginBrandV113 small{font-size:.68rem;}}

/* =========================================================
   KICKOFF V114 — Passe ciblée Daniel
   Corrections visuelles ciblées, sans design system global.
========================================================= */

/* Home CQ : accès rapides alignés sur Coach/Club */
.homeCoachV400 .v114CQQuickBlock{
  margin-top:8px!important;
  margin-bottom:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.homeCoachV400 .v114CQQuickBlock .v98QuickGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.homeCoachV400 .v114CQQuickBlock .v98Quick{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:8px 7px!important;
  gap:3px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.08)!important;
  border-radius:16px!important;
  color:var(--club-text)!important;
  text-decoration:none!important;
  box-shadow:none!important;
  font:inherit!important;
  min-width:0!important;
  overflow:hidden!important;
}
.homeCoachV400 .v114CQQuickBlock .v98Quick svg{
  width:17px!important;
  height:17px!important;
  color:var(--club-secondary,var(--nav-color))!important;
  flex:0 0 auto!important;
}
.homeCoachV400 .v114CQQuickBlock .v98Quick span{
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.12!important;
  color:var(--club-text)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
.homeCoachV400 .v114CQQuickBlock .v98Quick small,
.homeCoachV400 .v114CQQuickBlock .v98Quick strong{
  font-size:9.5px!important;
  font-weight:750!important;
  color:var(--club-muted)!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

/* Vie de Club : encart léger et cohérent sur les 3 homes */
.homeCoachV400 .v113ClubLifeFrame{
  margin:10px 0 8px!important;
  padding:10px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07))!important;
  box-shadow:0 16px 34px rgba(7,36,68,.08)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.homeCoachV400 .v113ClubLifeFrame .v4NewsCarouselBlock,
.homeCoachV400 .v113ClubLifeFrame .v4NewsHeader{
  margin-top:0!important;
}
.homeCoachV400 .v113ClubLifeFrame .v4NewsCarouselBlock{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}
.homeCoachV400 .v113ClubLifeFrame .v4NewsRail{
  padding-bottom:2px!important;
}

/* CQ : titre Alerte Club aligné sur Planning à venir */
.homeCoachV400:has(.v7299CQTop) .v7298CQAlertComposer h2{
  font-size:clamp(16px,2.8vw,18px)!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
}

/* Hero after match : un fallback adversaire reste un carré, jamais une ligne */
.homeCoachV400 .v44Teams img,
.homeCoachV400 .v44Teams .v4LogoFallback,
.homeCoachV400 .v44Teams .v4OpponentFallback{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  aspect-ratio:1/1!important;
  border-radius:14px!important;
  object-fit:cover!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:0!important;
  line-height:1!important;
}
.homeCoachV400 .v762HeroSportPack .v44Teams.compact .v4OpponentFallback{
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
@media(max-width:640px){
  .homeCoachV400 .v44Teams img,
  .homeCoachV400 .v44Teams .v4LogoFallback,
  .homeCoachV400 .v44Teams .v4OpponentFallback{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;flex-basis:32px!important;border-radius:12px!important;
  }
}

/* Convocation : champs alignés sur la hauteur des autres champs du formulaire.
   LOT 5 (5.5) — ATTENTION MAINTENANCE : ce bloc N'EST PAS la source de vérité.
   pages/convocation.js injecte un <style id="convocationFinalStyleV3623"> dans
   <head> A L'EXECUTION (donc apres tous les <link>), avec la meme specificite
   et !important : c'est LUI qui gagne la cascade. Le 42px pose ici etait du
   code mort. Tout correctif de hauteur sur ces champs doit etre porte dans
   convocation.js, PAS ici. Ce bloc est conserve aligne (44px) pour eviter une
   divergence si le style injecte venait a ne pas s'appliquer. */
.urw-page-convocation .convocationCreateV3622 .formRow > input.cOpp,
.urw-page-convocation .convocationCreateV3622 .formRow > input.cAddr,
.urw-page-convocation .convocationCreateV3622 .formRow > input.cComment{
  min-height:44px!important;
  height:44px!important;
  max-height:44px!important;
  align-self:flex-start!important;
  line-height:normal!important;
  padding:0 13px!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
}
.urw-page-convocation .convocationCreateV3622 .formRow{
  align-items:flex-start!important;
}

/* AccountsMgt : champs nom/mot de passe alignés sur la hauteur des autres champs.
   LOT 5 (5.4) — deux corrections :
   1) #newAccountPassword etait ABSENT de cette liste, et son <input> (L104 de
      accountsmgt.html) n'a PAS type="password" : il echappait donc aussi au
      selecteur input[type="password"]. Le champ "Mot de passe" de creation
      n'etait cible par AUCUNE regle. Ajoute.
   2) align-self:flex-start : le <style> inline d'accountsmgt.html met
      flex:1 1 100% sous @media(max-width:720px) -> chaque champ occupe seul sa
      ligne flex et s'etire sur la hauteur de la ligne (align-items:center du
      conteneur ne suffit pas a empecher l'etirement sur Safari iOS). Meme
      mecanisme que la convocation (5.5). flex:0 0 auto + align-self rendent la
      main a height:44px.
   Hauteur 44px = alignement sur --field-height (defaut global, style.css L7022),
   pas une valeur arbitraire : les champs doivent matcher les autres du formulaire. */
.urw-page-accountsmgt input#newAccountName,
.urw-page-accountsmgt input#newAccountPassword,
.urw-page-accountsmgt input#superAdminPwd,
.urw-page-accountsmgt input#oldSuperPwd,
.urw-page-accountsmgt input#newSuperPwd,
.urw-page-accountsmgt input[type="password"]{
  min-height:44px!important;
  height:44px!important;
  max-height:44px!important;
  align-self:flex-start!important;
  line-height:normal!important;
  padding:0 12px!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
}
@media (max-width:720px){
  .urw-page-accountsmgt .formRow{ align-items:flex-start!important; }
  .urw-page-accountsmgt .formRow > input,
  .urw-page-accountsmgt .formRow > select{
    flex:0 0 auto!important;
    width:100%!important;
    align-self:flex-start!important;
  }
}

/* Réglage du club : intro Site public visible avant ouverture */
.v114PublicSiteIntro{
  margin:0 0 8px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#f6f9fd!important;
  border:1px solid rgba(15,23,42,.08)!important;
  color:#48617f!important;
  font-size:.86rem!important;
  line-height:1.35!important;
}
.v114PublicSiteIntro strong{color:#0b2443!important;}

/* V1.1.5 / LOT 6 — « À quoi ça sert ? » doit qualifier la SEULE rubrique
   « Site public du club », pas toute la section « Fonctions du club », et
   rester lisible AVANT le clic sur « Ouvrir ».

   Pourquoi l'intro n'est PAS dans le <details> : un <details> fermé masque
   son contenu via le slot interne (comportement du moteur de rendu, pas une
   simple déclaration `display`). Un enfant du <details> est donc invisible
   carte fermée, quel que soit le `display:block!important` posé dessus —
   la surcharge ne peut pas atteindre le slot. L'intro vit donc APRÈS
   </details>, et le conteneur .v115PublicSiteGroup les réunit visuellement
   en une seule carte. */
.v115PublicSiteGroup{
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  margin:0 0 18px;
}
.v115PublicSiteGroup > #publicSiteDetailsV111{
  margin:0!important;
  border-radius:18px 18px 0 0!important;
  box-shadow:none!important;
}
.v115PublicSiteGroup > .v114PublicSiteIntro{
  margin:0 20px 20px!important;
}

/* =========================================================
   V118 — Page Connexion mobile-first pro (chantier ciblé Daniel)

/* =========================================================
   CONNEXION V14 — Bloc unique définitif
   Scope strict : body.connexionPageV118
   Chaque propriété définie une seule fois.
   Couleur principale : var(--kf-primary) — jamais hardcodée.
   Auteur : Daniel / Klickoff
========================================================= */

/* === SUPPRESSION PARASITES === */
body.connexionPageV118 #globalActionsV3,
body.connexionPageV118 .globalActionsV3,
body.connexionPageV118 .globalIconV3,
body.connexionPageV118 .settingsIconV3,
body.connexionPageV118 .accountIconV3,
body.connexionPageV118 #teamsViewButtonV186,
body.connexionPageV118 .teamsViewButtonV186,
body.connexionPageV118 #teamsViewOverlayV186,
body.connexionPageV118 .teamsViewOverlayV186,
body.connexionPageV118 .menu-toggle,
body.connexionPageV118 #urwBottomMore,
body.connexionPageV118 #urwCommonPlus7254,
body.connexionPageV118 #urwCommonPlus7255,
body.connexionPageV118 #urwAccountButton6843,
body.connexionPageV118 #urwAccountMenu6843,
body.connexionPageV118 .urw-account-fab,
body.connexionPageV118 .urw-more-trigger6824,
body.connexionPageV118 .teamsCoachEntryV3,
body.connexionPageV118 #seasonGlobalBadgeV353,
body.connexionPageV118 .seasonGlobalBadgeV353,
body.connexionPageV118 #userInfo,
body.connexionPageV118 #certRequestSection:not(.connexionCertInlineV13){
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* === PAGE === */
body.connexionPageV118{
  min-height:100dvh!important;
  padding:0!important;
  background:#000000!important;
  color:#111827!important;
  overflow-x:hidden!important;
}

/* === HERO === */
body.connexionPageV118 .klickoffLoginHeaderV118{
  position:relative!important;
  width:min(100%, 720px)!important;
  margin:0 auto!important;
  padding:18px 18px 20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  gap:14px!important;
  align-items:center!important;
  border-radius:28px!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 88% 32%, color-mix(in srgb, var(--kf-primary) 44%, transparent) 0%, transparent 38%),
    linear-gradient(140deg, #000000 0%, #060a12 55%, #080e1c 100%)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 24px 52px rgba(0,0,0,.38)!important;
}

/* Texture subtile hero */
body.connexionPageV118 .klickoffLoginHeaderV118::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:repeating-linear-gradient(
    128deg,
    transparent 0 13px,
    rgba(255,255,255,.028) 14px,
    transparent 15px 28px
  )!important;
  pointer-events:none!important;
  z-index:0!important;
}

body.connexionPageV118 .klickoffLoginIntroV118{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
}

/* Kicker "KLICKOFF" — orange, discret */
body.connexionPageV118 .klickoffLoginKickerV118{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--kf-primary)!important;
  text-transform:uppercase!important;
  letter-spacing:.22em!important;
  font-size:.68rem!important;
  font-weight:900!important;
}

/* Titre h1 — grand, blanc, impactant */
body.connexionPageV118 .klickoffLoginHeaderV118 h1{
  margin:0!important;
  color:#ffffff!important;
  font-size:clamp(1.9rem, 7vw, 2.6rem)!important;
  font-weight:950!important;
  line-height:.97!important;
  letter-spacing:-.05em!important;
  max-width:13ch!important;
}

/* Sous-titre — petit, discret, non gras */
body.connexionPageV118 .klickoffLoginHeaderV118 p:not(.klickoffLoginKickerV118){
  margin:8px 0 0!important;
  color:rgba(255,255,255,.52)!important;
  font-size:.82rem!important;
  font-weight:400!important;
  line-height:1.3!important;
  max-width:22ch!important;
}

/* === LOGO === */
body.connexionPageV118 .klickoffLogoBoxV118{
  position:relative!important;
  z-index:1!important;
  width:88px!important;
  height:88px!important;
  border-radius:24px!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:visible!important;
  background:#05070b!important;
  border:1.5px solid color-mix(in srgb, var(--kf-primary) 68%, rgba(255,255,255,.2))!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 28px color-mix(in srgb, var(--kf-primary) 50%, transparent),
    0 0 60px color-mix(in srgb, var(--kf-primary) 22%, transparent),
    0 18px 36px rgba(0,0,0,.52)!important;
}

/* Aura externe logo */
body.connexionPageV118 .klickoffLogoBoxV118::before{
  content:''!important;
  position:absolute!important;
  inset:-20px!important;
  border-radius:36px!important;
  background:radial-gradient(
    circle,
    color-mix(in srgb, var(--kf-primary) 38%, transparent) 0%,
    transparent 70%
  )!important;
  filter:blur(12px)!important;
  opacity:.9!important;
  z-index:-1!important;
  pointer-events:none!important;
}

body.connexionPageV118 .klickoffLogoImageV118{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:8px!important;
  border-radius:22px!important;
  display:block!important;
}

body.connexionPageV118 .klickoffLogoFallbackV118{
  width:60%!important;
  height:60%!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:var(--kf-primary)!important;
  color:var(--kf-primary-contrast,#fff)!important;
  font-size:1.6rem!important;
  font-weight:1000!important;
}

/* === SÉLECTEUR SAISON === */
body.connexionPageV118 .connexionSeasonWrapV11{
  position:relative!important;
  z-index:20!important;
  width:min(100%, 260px)!important;
  margin-top:14px!important;
}

body.connexionPageV118 .connexionSeasonPillV7{
  width:100%!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#ffffff!important;
  font-size:.88rem!important;
  font-weight:700!important;
  cursor:pointer!important;
  text-align:left!important;
}

/* Icône calendrier — mask SVG, suit var(--kf-primary) */
body.connexionPageV118 .connexionSeasonIconV7{
  display:inline-block!important;
  font-size:0!important;
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  background-color:color-mix(in srgb, var(--kf-primary) 92%, #ffffff)!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Crect x='1' y='2.5' width='14' height='12' rx='2.5' stroke='%23000' stroke-width='1.7'/%3E%3Cline x1='1' y1='6.5' x2='15' y2='6.5' stroke='%23000' stroke-width='1.4'/%3E%3Cline x1='5' y1='1' x2='5' y2='4.2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3Cline x1='11' y1='1' x2='11' y2='4.2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Crect x='1' y='2.5' width='14' height='12' rx='2.5' stroke='%23000' stroke-width='1.7'/%3E%3Cline x1='1' y1='6.5' x2='15' y2='6.5' stroke='%23000' stroke-width='1.4'/%3E%3Cline x1='5' y1='1' x2='5' y2='4.2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3Cline x1='11' y1='1' x2='11' y2='4.2' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  border:none!important;
  position:static!important;
}
body.connexionPageV118 .connexionSeasonIconV7::before{
  display:none!important;
  content:none!important;
}

/* Chevron — orange, suit le thème */
body.connexionPageV118 .connexionSeasonChevronV7{
  margin-left:auto!important;
  color:var(--kf-primary)!important;
  font-size:.75rem!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Menu dropdown saison */
body.connexionPageV118 .connexionSeasonMenuV11{
  position:absolute!important;
  left:0!important;
  top:calc(100% + 6px)!important;
  width:100%!important;
  max-height:180px!important;
  overflow-y:auto!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:16px!important;
  box-shadow:0 14px 32px rgba(0,0,0,.14)!important;
  z-index:99999!important;
  padding:4px!important;
}

body.connexionPageV118 .connexionSeasonOptionV11{
  display:block!important;
  width:100%!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  border:0!important;
  background:transparent!important;
  color:#111827!important;
  font-size:.9rem!important;
  font-weight:700!important;
  text-align:left!important;
  cursor:pointer!important;
}
body.connexionPageV118 .connexionSeasonOptionV11:hover,
body.connexionPageV118 .connexionSeasonOptionV11[aria-selected="true"]{
  background:color-mix(in srgb, var(--kf-primary) 8%, #fff)!important;
  color:var(--kf-primary)!important;
}

/* === CARTE BLANCHE — superposition premium === */
body.connexionPageV118 .connexionCardV118{
  position:relative!important;
  z-index:2!important;
  width:min(100%, 720px)!important;
  margin:-22px auto 0!important;
  padding:22px 18px 18px!important;
  border-radius:28px!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.07)!important;
  box-shadow:
    0 -2px 8px rgba(0,0,0,.06),
    0 24px 52px rgba(15,23,42,.11)!important;
}

/* === TITRES CARTE === */
body.connexionPageV118 .connexionSectionTitleV118 h2{
  margin:0 0 4px!important;
  color:#111827!important;
  font-size:clamp(1.6rem, 5.5vw, 2rem)!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  line-height:1.02!important;
}

body.connexionPageV118 .connexionSectionTitleV118 p{
  margin:0 0 2px!important;
  color:#6b7280!important;
  font-size:.88rem!important;
  font-weight:400!important;
  line-height:1.3!important;
}

/* Lien certification — discret, sous l'intro */
body.connexionPageV118 .certRequestBoxV118{
  margin:4px 0 14px!important;
  padding:0!important;
  border:0!important;
}
body.connexionPageV118 .certLinkV118{
  display:inline!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#9ca3af!important;
  font-size:.82rem!important;
  font-weight:400!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
}
body.connexionPageV118 .certLinkV118::after{
  content:none!important;
  display:none!important;
}
body.connexionPageV118 .certLinkV118:hover,
body.connexionPageV118 .certLinkV118:focus{
  color:var(--kf-primary)!important;
}

/* === CHAMP RECHERCHE === */
body.connexionPageV118 .clubSearchRowV118 label,
body.connexionPageV118 #passwordRow label{
  display:block!important;
  margin:0 0 7px!important;
  color:#1f2937!important;
  font-weight:800!important;
  font-size:.88rem!important;
}

body.connexionPageV118 input:not([type="radio"]):not([type="checkbox"]),
body.connexionPageV118 textarea{
  width:100%!important;
  box-sizing:border-box!important;
  min-height:48px!important;
  border-radius:16px!important;
  padding:0 14px!important;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid rgba(15,23,42,.14)!important;
  font:inherit!important;
  font-size:.95rem!important;
  outline:none!important;
}
body.connexionPageV118 textarea{
  padding:12px 14px!important;
  min-height:88px!important;
  resize:vertical!important;
}
body.connexionPageV118 input::placeholder,
body.connexionPageV118 textarea::placeholder{
  color:#9ca3af!important;
  opacity:1!important;
}
body.connexionPageV118 input:focus,
body.connexionPageV118 textarea:focus{
  border-color:var(--kf-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--kf-primary) 16%, transparent)!important;
}

/* Résultats recherche */
body.connexionPageV118 .accountResultsV118{
  display:grid!important;
  gap:6px!important;
  margin-top:6px!important;
}
body.connexionPageV118 .accountResultV118{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:10px 12px!important;
  min-height:48px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.09)!important;
  text-align:left!important;
  cursor:pointer!important;
}
body.connexionPageV118 .accountResultV118:hover{
  background:color-mix(in srgb, var(--kf-primary) 5%, #fff)!important;
  border-color:color-mix(in srgb, var(--kf-primary) 28%, transparent)!important;
}
body.connexionPageV118 .accountResultMainV118{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:0!important;
}
body.connexionPageV118 .accountResultMainV118 strong{
  color:#111827!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.connexionPageV118 .accountResultMainV118 small,
body.connexionPageV118 .selectedAccountMetaV118{
  color:#6b7280!important;
  font-size:.8rem!important;
}
body.connexionPageV118 .accountResultEmptyV118{
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff7ed!important;
  color:#92400e!important;
  border:1px solid rgba(180,83,9,.18)!important;
  font-weight:700!important;
  font-size:.88rem!important;
}

body.connexionPageV118 .selectedAccountPanelV118{
  margin:10px 0 12px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.09)!important;
}
body.connexionPageV118 .selectedAccountNameV118{
  color:#111827!important;
  font-weight:800!important;
}

/* === CHECKBOX MÉMORISER === */
body.connexionPageV118 .favoriteClubRowV186{
  margin:12px 0!important;
}
body.connexionPageV118 .favoriteClubRowV186 label{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#374151!important;
  font-weight:600!important;
  font-size:.88rem!important;
  cursor:pointer!important;
}
body.connexionPageV118 .favoriteClubRowV186 input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  padding:0!important;
  border-radius:9px!important;
  border:1.5px solid rgba(15,23,42,.2)!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  flex:0 0 28px!important;
}
body.connexionPageV118 .favoriteClubRowV186 input[type="checkbox"]:checked{
  background:var(--kf-primary)!important;
  border-color:var(--kf-primary)!important;
}
body.connexionPageV118 .favoriteClubRowV186 input[type="checkbox"]:checked::after{
  content:'✓'!important;
  color:var(--kf-primary-contrast,#fff)!important;
  font-size:1rem!important;
  font-weight:1000!important;
  line-height:1!important;
}

/* === TYPE D'ACCÈS — radio cards compactes === */
body.connexionPageV118 .loginModeFieldsetV118{
  margin:12px 0 14px!important;
  padding:0!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
body.connexionPageV118 .loginModeFieldsetV118 legend{
  margin:0 0 6px!important;
  color:#1f2937!important;
  font-weight:900!important;
  font-size:.88rem!important;
  grid-column:1/-1!important;
}
body.connexionPageV118 .loginModeOptionV118{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  min-height:48px!important;
  border-radius:16px!important;
  border:1.5px solid rgba(15,23,42,.11)!important;
  background:#fafafa!important;
  cursor:pointer!important;
  position:relative!important;
}
body.connexionPageV118 .loginModeOptionV118::after,
body.connexionPageV118 .loginModeOptionV118::before{
  content:none!important;
  display:none!important;
}
body.connexionPageV118 .loginModeOptionV118:has(input:checked){
  border-color:var(--kf-primary)!important;
  background:color-mix(in srgb, var(--kf-primary) 6%, #fff)!important;
}
body.connexionPageV118 .loginModeOptionV118 input[type="radio"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  border:2px solid rgba(15,23,42,.22)!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 20px!important;
  cursor:pointer!important;
}
body.connexionPageV118 .loginModeOptionV118 input[type="radio"]:checked{
  border-color:var(--kf-primary)!important;
  border-width:2px!important;
}
body.connexionPageV118 .loginModeOptionV118 input[type="radio"]:checked::after{
  content:''!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:var(--kf-primary)!important;
  display:block!important;
}
body.connexionPageV118 .loginModeOptionV118 span{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
}
body.connexionPageV118 .loginModeOptionV118 strong{
  color:#111827!important;
  font-size:.93rem!important;
  font-weight:800!important;
  line-height:1.1!important;
}
body.connexionPageV118 .loginModeOptionV118 small{
  display:none!important;
}
body.connexionPageV118 .legacyHiddenControlV118{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* === MOT DE PASSE === */
body.connexionPageV118 #passwordRow{
  margin:10px 0 12px!important;
}
body.connexionPageV118 .loginErrorV118{
  margin:8px 0!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fef2f2!important;
  color:#991b1b!important;
  border:1px solid rgba(185,28,28,.18)!important;
  font-weight:700!important;
  font-size:.88rem!important;
}

/* === CTA PRINCIPAL === */
body.connexionPageV118 .connexionPrimaryBtnV118,
body.connexionPageV118 #loginBtn{
  width:100%!important;
  min-height:52px!important;
  border-radius:18px!important;
  background:linear-gradient(
    135deg,
    color-mix(in srgb, var(--kf-primary) 95%, #fff 5%),
    color-mix(in srgb, var(--kf-primary) 78%, #000 22%)
  )!important;
  color:var(--kf-primary-contrast,#fff)!important;
  border:1px solid color-mix(in srgb, var(--kf-primary) 70%, #000)!important;
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  box-shadow:0 12px 28px color-mix(in srgb, var(--kf-primary) 26%, transparent)!important;
  cursor:pointer!important;
}
body.connexionPageV118 .connexionPrimaryBtnV118::after,
body.connexionPageV118 #loginBtn::after{
  content:' →'!important;
  margin-left:10px!important;
  font-weight:1000!important;
}

/* === LIEN CRÉER UN COMPTE === */
body.connexionPageV118 .createAccountEntryV118,
body.connexionPageV118 .create-account-entry-v7913079{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  float:none!important;
  margin:12px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.connexionPageV118 .createAccountEntryV118 .small-help,
body.connexionPageV118 .create-account-entry-v7913079 .small-help{
  display:none!important;
}
body.connexionPageV118 #showBootstrapBtnV7913079,
body.connexionPageV118 .secondaryBtnV7913079{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#9ca3af!important;
  font-size:.84rem!important;
  font-weight:400!important;
  padding:0!important;
  min-height:0!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
}
body.connexionPageV118 #showBootstrapBtnV7913079:hover,
body.connexionPageV118 .secondaryBtnV7913079:hover{
  color:var(--kf-primary)!important;
}
body.connexionPageV118 #showBootstrapBtnV7913079::after{
  content:none!important;
}
body.connexionPageV118 .connexionMainV118::after{
  content:none!important;
  display:none!important;
}

/* === POPUP CERTIFICATION === */
body.connexionPageV118 .certFormGridV118{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
body.connexionPageV118 .certFormGridV118 textarea{
  grid-column:1/-1!important;
}
body.connexionPageV118 .cert-actions-v181 button,
body.connexionPageV118 #sendCertEmailBtn{
  background:var(--kf-primary)!important;
  color:var(--kf-primary-contrast,#fff)!important;
  border-color:var(--kf-primary)!important;
  border-radius:12px!important;
  min-height:44px!important;
  font-weight:800!important;
  padding:0 18px!important;
}

/* === SECTION BOOTSTRAP CRÉATION COMPTE === */
body.connexionPageV118 #bootstrapSection:not([hidden]){
  margin-top:6px!important;
}
body.connexionPageV118 .bootstrapClubProfileV643 h2{
  font-size:1.4rem!important;
  line-height:1.05!important;
}
body.connexionPageV118 #bootstrapBtn{
  background:var(--kf-primary)!important;
  color:var(--kf-primary-contrast,#fff)!important;
  border-color:var(--kf-primary)!important;
  border-radius:14px!important;
  min-height:48px!important;
  width:100%!important;
  font-weight:900!important;
}

/* === BADGES === */
body.connexionPageV118 .cert-badge,
body.connexionPageV118 .certBadgeV118{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:3px 9px!important;
  border-radius:999px!important;
  background:#ecfdf5!important;
  color:#065f46!important;
  border:1px solid rgba(6,95,70,.2)!important;
  font-size:.74rem!important;
  font-weight:900!important;
}

/* ===================================================
   RESPONSIVE MOBILE
=================================================== */

@media(max-width:640px){
  body.connexionPageV118 .klickoffLoginHeaderV118{
    padding:16px 16px 18px!important;
    grid-template-columns:minmax(0,1fr) 76px!important;
    border-radius:24px!important;
  }
  body.connexionPageV118 .klickoffLoginHeaderV118 h1{
    font-size:1.2rem!important;
  }
  body.connexionPageV118 .klickoffLoginHeaderV118 p:not(.klickoffLoginKickerV118){
    font-size:.80rem!important;
  }
  body.connexionPageV118 .klickoffLogoBoxV118{
    width:76px!important;
    height:76px!important;
    border-radius:20px!important;
  }
  body.connexionPageV118 .connexionCardV118{
    margin-top:-18px!important;
    padding:18px 16px 16px!important;
    border-radius:24px!important;
  }
  body.connexionPageV118 .connexionSectionTitleV118 h2{
    font-size:1.52rem!important;
  }
}

@media(max-width:390px){
  body.connexionPageV118{
    padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
  }
  body.connexionPageV118 .klickoffLoginHeaderV118{
    padding:14px 14px 16px!important;
    grid-template-columns:minmax(0,1fr) 64px!important;
    gap:10px!important;
    border-radius:22px!important;
  }
  body.connexionPageV118 .klickoffLoginHeaderV118 h1{
    font-size:1.65rem!important;
  }
  body.connexionPageV118 .klickoffLogoBoxV118{
    width:64px!important;
    height:64px!important;
    border-radius:18px!important;
  }
  body.connexionPageV118 .connexionCardV118{
    margin-top:-14px!important;
    padding:16px 14px 14px!important;
    border-radius:22px!important;
  }
  body.connexionPageV118 .connexionSectionTitleV118 h2{
    font-size:1.34rem!important;
  }
  body.connexionPageV118 .certFormGridV118{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   LOT 4 (4.3) — Icônes calendrier / horloge sur mobile
   ---------------------------------------------------------
   Constat : icônes présentes sur PC (indicateur natif WebKit/Blink),
   absentes sur mobile (iOS Safari et Android n'affichent aucun indicateur
   dans <input type="date|time">). Aucune règle du projet ne les masquait :
   c'est le comportement natif. Fix : icône SVG inline (data-URI), mobile
   uniquement, sans appearance:none ni pointer-events (picker natif et zone
   de tap intacts).

   ⚠ PORTÉE : ce bloc ne couvre PAS le formulaire "Ajouter un match" de
   planning.html. Ses champs #planDate/#planTime sont pilotés par
   assets/css/planning.css, chargée APRÈS style.css et posant
   padding:0 7px!important (L3144) — toute règle équivalente ici est écrasée.
   Ce cas est traité en fin de assets/css/planning.css (même tag LOT 4 (4.3)).
   ========================================================= */
@media (max-width:760px){
  input[type="date"],
  input[type="time"]{
    background-repeat:no-repeat;
    background-position:right 10px center;
    background-size:18px 18px;
    padding-right:34px;
  }
  input[type="date"]{
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b3d6e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  }
  input[type="time"]{
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b3d6e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  }
  /* Champs sur fond sombre (hero / topbar club) : icône claire. */
  .homeCoachV400 input[type="date"],
  .homeCoachV400 input[type="time"]{
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  }
  /* .timeCol : largeur 9ch trop étroite pour icône + valeur monospace. */
  .timeCol input[type="time"]{
    background-position:right 6px center;
    background-size:15px 15px;
    padding-right:24px;
  }
  /* .compactDate/.compactTime : largeur fixe 118px/92px (L546-556). */
  input.compactDate[type="date"],
  input.compactTime[type="time"]{
    background-position:right 8px center;
    background-size:14px 14px;
    padding-right:26px;
  }
}

/* ===== Lot M — navigation entre convocations (Home Coach) =====
   Deux flèches + compteur dans l'en-tête de la demi-carte Convocation.
   margin-left:auto les pousse à droite sans toucher au flux existant ;
   min-width:0 sur le bloc titre préserve l'ellipsis du sous-titre. */
.v98DuoHead > div{min-width:0;}
.v98ConvNav{display:flex;align-items:center;gap:2px;margin-left:auto;flex:0 0 auto;}
.v98ConvNavBtn{
  display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:var(--club-text);
  font-size:15px;font-weight:900;line-height:1;
  cursor:pointer;
}
.v98ConvNavBtn:disabled{opacity:.3;cursor:default;}
.v98ConvNavBtn:not(:disabled):active{background:rgba(255,255,255,.18);}
.v98ConvNavPos{
  font-size:10px;font-weight:800;color:var(--club-muted);
  min-width:22px;text-align:center;white-space:nowrap;
}

/* =========================================================
   Lot t95u — §5 : logo ADVERSAIRE non centré dans le Hero de la
   HomePage COACH. Base t95p. MESURÉ SUR DEVICE (iPhone), pas déduit.

   Ce qui a été mesuré (sonde t95t, « Test B ») :
     cadre 48x48  ->  img 46x46, position:static, décalage 1px = bordure
     du shell. Identique pour le logo hôte et pour l'adversaire.
   Ce que ça prouve : une taille en PIXELS se résout normalement dans le
   <button>, alors qu'une taille en POURCENTAGE ne s'y résout pas. Ce
   n'est donc ni la grille du bouton, ni le positionnement — les deux
   tentatives précédentes (t95q display:grid, t95s position:absolute)
   attaquaient la mauvaise cause, et t95s a même fait disparaître le logo
   (l'absolu ne se résout pas sur un <button> WebKit, l'img sortait du
   cadre et overflow:hidden du shell la masquait).

   Pourquoi seul l'adversaire est touché : renderMatchCard() (script.js
   L6961/6963) enveloppe CHAQUE logo dans <button.v423LogoSubmitBtn>,
   mais le club perd ce bouton à l'hydratation — hydrateHomeLogoFromMedia
   (L5352) réécrit l'innerHTML de .v4LogoShell et ne cible que
   [data-local-club-logo="1"], attribut posé par logoHTML() et jamais par
   opponentLogoHTML() (L5659). L'img du club redevient donc enfant direct
   du shell (flex, centré) ; celle de l'adversaire reste dans le bouton.

   Correctif : reproduire Test B à l'identique. L'<img> reçoit une taille
   en pixels égale à la boîte de contenu du cadre, soit la taille du cadre
   MOINS les 2px de bordure de .v4LogoShell (border:1px, L4531 — vérifié
   comme seule valeur en vigueur sur les cadres de match). Chaque règle de
   taille de .v4MatchLogo est reflétée ci-dessous dans le MÊME ordre et le
   MÊME contexte @media, pour que la cascade se résolve exactement comme
   celle des cadres. object-fit:contain recentre le pixel dans la boîte.

   Le bouton n'est PAS touché : il garde display:grid + place-items:center,
   ce qui reste nécessaire pour centrer le repli initiales
   (.v4OpponentFallback) quand l'adversaire n'a pas de logo. Une boîte de
   46px centrée dans une aire de 46px est de toute façon à fleur.

   Périmètre : le sélecteur EXIGE .v423LogoSubmitBtn comme parent direct.
   Le Hero de la HomePage CLUB (sportPackCoachStyleArticleV112, L8876)
   insère sideLogoHTML() directement dans .v4LogoShell, SANS bouton → hors
   d'atteinte par construction. C'est la différence avec t95q, qui touchait
   .v4MatchLogo (classe commune aux deux HomePages) et décentrait le club.
========================================================= */
.v4MatchLogo > .v423LogoSubmitBtn > img {
  display: block !important;
  position: static !important;
  margin: 0 !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: inherit !important;
  width: 44px !important;   /* cadre 46 - 2 (L4556) */
  height: 44px !important;
}
.v4MatchTeamsHero .v4MatchLogo > .v423LogoSubmitBtn > img {
  width: 72px !important;   /* cadre 74 - 2 (L4682) */
  height: 72px !important;
}
@media (max-width: 520px) {
  .v4MatchTeamsHero .v4MatchLogo > .v423LogoSubmitBtn > img {
    width: 64px !important; /* cadre 66 - 2 (L4767) */
    height: 64px !important;
  }
}
.homeCoachV400 .v4DensityMatchCard .v4MatchLogo > .v423LogoSubmitBtn > img {
  width: 56px !important;   /* cadre 58 - 2 (L4860) */
  height: 56px !important;
}
@media (max-width: 420px) {
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo > .v423LogoSubmitBtn > img {
    width: 50px !important; /* cadre 52 - 2 (L5002) */
    height: 50px !important;
  }
}
@media (max-width: 520px) {
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo > .v423LogoSubmitBtn > img {
    width: 48px !important; /* cadre 50 - 2 (L5500) */
    height: 48px !important;
  }
}
@media (max-width: 430px) {
  .homeCoachV400 .v7264HeroSlide .v4MatchLogo > .v423LogoSubmitBtn > img {
    width: 46px !important; /* cadre 48 - 2 (L12444, !important) */
    height: 46px !important;
  }
}
@media (max-width: 520px) {
  .homeCoachV400 .v4DensityMatchCard .v4MatchLogo > .v423LogoSubmitBtn > img {
    width: 46px !important; /* cadre 48 - 2 (L15085) */
    height: 46px !important;
  }
}
