/*
 * URW V5.5 - MATCH_ROOT_MODULE_ISOLATION
 * Styles dédiés à match.html.
 *
 * Aucun style n'a été déplacé depuis style.css dans cette version, car les règles
 * Match historiques sont encore imbriquées avec Planning / Scores / Statistiques.
 * Le fichier est chargé uniquement sur match.html pour préparer l'isolation progressive
 * sans risque de régression visuelle.
 */

/* =========================================================
   URW V7.2.0 - Sas minimal Préparer le match
   Styles isolés à match.html, sans modifier le moteur historique.
========================================================= */
.matchPrepV720 {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}
.matchPrepHeaderV720 h2 {
  margin: 0 0 4px;
  color: var(--urw-primary, #0b3d6e);
}
.matchPrepEyebrowV720 {
  margin: 0 0 4px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(11,61,110,.72);
}
.matchPrepSummaryV720 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.matchPrepSummaryV720 > div,
.matchPrepBlockV720 {
  border: 1px solid rgba(11,61,110,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  padding: 12px;
}
.matchPrepSummaryV720 span {
  display: block;
  margin-bottom: 4px;
  font-size: .76rem;
  font-weight: 800;
  color: rgba(15,23,42,.54);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.matchPrepSummaryV720 strong {
  display: block;
  color: #0f172a;
  font-size: .94rem;
  line-height: 1.2;
}
.matchPrepBlockV720 h3 {
  margin: 0 0 10px;
  color: #0f172a;
}
.matchPrepBlockV720 h3 small {
  color: rgba(15,23,42,.55);
  font-weight: 700;
}
.matchPrepPlayersV720 {
  display: grid;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.matchPrepPlayersV720 li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(11,61,110,.055);
}
.matchPrepPlayersV720 small {
  flex: 0 0 auto;
  font-weight: 800;
  color: rgba(11,61,110,.76);
}
.matchPrepFieldV720 {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}
.matchPrepFieldV720 span {
  font-size: .86rem;
  font-weight: 800;
  color: rgba(15,23,42,.72);
}
.matchPrepFieldV720 input,
.matchPrepFieldV720 textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(11,61,110,.16);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
  color: #0f172a;
}
.matchPrepFieldV720 textarea {
  min-height: 82px;
  resize: vertical;
}
.matchPrepActionsV720 {
  display: flex;
  justify-content: flex-end;
}
.matchPrepPrimaryV720,
.matchPrepSecondaryV720 {
  border: 0;
  border-radius: 999px;
  min-height: 42px;
  padding: 10px 16px;
  font-weight: 900;
  cursor: pointer;
}
.matchPrepPrimaryV720 {
  background: var(--urw-primary, #0b3d6e);
  color: #fff;
  box-shadow: 0 10px 24px rgba(11,61,110,.16);
}
.matchPrepSecondaryV720 {
  background: rgba(11,61,110,.08);
  color: var(--urw-primary, #0b3d6e);
}
.matchPrepSecondaryV720:disabled {
  opacity: .72;
  cursor: default;
}
@media (max-width: 720px) {
  .matchPrepSummaryV720 { grid-template-columns: 1fr 1fr; }
  .matchPrepActionsV720 { display: grid; }
  .matchPrepPrimaryV720 { width: 100%; }
}
@media (max-width: 430px) {
  .matchPrepSummaryV720 { grid-template-columns: 1fr; }
}

/* =========================================================
   URW V7.2.1 - Flow guidé Oui / Passer dans le sas Match
========================================================= */
.matchPrepFlowV721 .matchPrepBlockV720 {
  display: grid;
  gap: 10px;
}
.matchPrepStepV721 h3 {
  margin-bottom: 2px;
}
.matchPrepStepBadgeV721 {
  justify-self: start;
  margin: 0;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(11,61,110,.08);
  color: rgba(11,61,110,.82);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.matchPrepChoiceRowV721 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 4px;
}
.matchPrepChoiceRowV721 .matchPrepPrimaryV720,
.matchPrepChoiceRowV721 .matchPrepSecondaryV720 {
  min-width: 132px;
}
@media (max-width: 520px) {
  .matchPrepChoiceRowV721 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .matchPrepChoiceRowV721 .matchPrepPrimaryV720,
  .matchPrepChoiceRowV721 .matchPrepSecondaryV720 {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   URW V7.2.3 - Chrono Match V1
   Chrono indicatif coach, isolé à match.html.
========================================================= */
.matchChronoV723 {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  border: 1px solid rgba(11,61,110,.13);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,248,252,.92));
  padding: 14px;
}
.matchChronoHeadV723 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.matchChronoHeadV723 h3 {
  margin: 0 0 2px;
  color: #0f172a;
}
.matchChronoHeadV723 .mutedText {
  margin: 0;
  font-size: .82rem;
}
.matchChronoDurationV723 {
  display: grid;
  gap: 4px;
  min-width: 120px;
  flex: 0 0 auto;
}
.matchChronoDurationV723 span {
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(15,23,42,.58);
}
.matchChronoDurationV723 select {
  width: 100%;
  border: 1px solid rgba(11,61,110,.16);
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  padding: 8px 10px;
  font-weight: 800;
}
.matchChronoBodyV723 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(11,61,110,.06);
}
.matchChronoBodyV723.is-reached {
  background: rgba(180, 35, 24, .08);
  box-shadow: inset 0 0 0 1px rgba(180,35,24,.18);
}
.matchChronoTimeV723 {
  font-variant-numeric: tabular-nums;
  font-size: clamp(2rem, 9vw, 3rem);
  font-weight: 950;
  color: var(--urw-primary, #0b3d6e);
  line-height: 1;
}
.matchChronoMetaV723 {
  display: grid;
  gap: 3px;
  text-align: right;
}
.matchChronoMetaV723 strong {
  color: #0f172a;
  font-size: .95rem;
}
.matchChronoMetaV723 span {
  color: rgba(15,23,42,.58);
  font-size: .82rem;
  font-weight: 800;
}
.matchChronoAlertV723 {
  margin: 0;
  padding: 9px 11px;
  border-radius: 13px;
  background: rgba(180,35,24,.08);
  color: #9f1d18;
  font-weight: 900;
  font-size: .88rem;
}
.matchChronoControlsV723 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.matchChronoPrimaryV723,
.matchChronoSecondaryV723 {
  border: 0;
  border-radius: 999px;
  min-height: 40px;
  padding: 9px 14px;
  font-weight: 950;
  cursor: pointer;
}
.matchChronoPrimaryV723 {
  background: var(--urw-primary, #0b3d6e);
  color: #fff;
  box-shadow: 0 10px 22px rgba(11,61,110,.16);
}
.matchChronoSecondaryV723 {
  background: rgba(11,61,110,.08);
  color: var(--urw-primary, #0b3d6e);
}
@media (max-width: 640px) {
  .matchChronoHeadV723 {
    display: grid;
  }
  .matchChronoDurationV723 {
    min-width: 0;
  }
  .matchChronoBodyV723 {
    align-items: flex-start;
  }
  .matchChronoControlsV723 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .matchChronoPrimaryV723,
  .matchChronoSecondaryV723 {
    width: 100%;
  }
}

/* =========================================================
   URW V7.2.4 - Match actif prioritaire + historique replié
========================================================= */
.matchActiveMainV724 {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid rgba(11,61,110,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(246,249,253,.94));
}
.matchActiveHeaderV724 {
  display: grid;
  gap: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(11,61,110,.10);
}
.matchActiveEyebrowV724 {
  margin: 0;
  color: rgba(11,61,110,.74);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.matchActiveHeaderV724 h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.18rem, 4vw, 1.55rem);
  line-height: 1.15;
}
.matchActiveMetaV724,
.matchActiveRefereeV724 {
  color: rgba(15,23,42,.64);
  font-size: .9rem;
  font-weight: 750;
}
.matchActiveRefereeV724 strong {
  color: #0f172a;
}
.matchActiveMainV724 > .matchSection {
  margin: 0;
}
.matchActiveMainV724 .matchChronoV723 {
  margin-top: 0;
}
.matchEditorArchiveV724,
.matchHistoryDetailsV724 {
  margin: 14px 0;
  border: 1px solid rgba(11,61,110,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  overflow: hidden;
}
.matchEditorArchiveV724 > summary,
.matchHistoryDetailsV724 > summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
  color: var(--urw-primary, #0b3d6e);
  font-weight: 950;
}
.matchEditorArchiveV724 > summary::-webkit-details-marker,
.matchHistoryDetailsV724 > summary::-webkit-details-marker {
  display: none;
}
.matchEditorArchiveV724 > summary::after,
.matchHistoryDetailsV724 > summary::after {
  content: "▾";
  float: right;
  opacity: .68;
}
.matchEditorArchiveV724:not([open]) > summary::after,
.matchHistoryDetailsV724:not([open]) > summary::after {
  content: "▸";
}
.matchEditorArchiveV724 > *:not(summary),
.matchHistoryDetailsV724 > *:not(summary) {
  padding: 0 12px 12px;
}
@media (max-width: 640px) {
  .matchActiveMainV724 {
    gap: 12px;
  }
  .matchActiveHeaderV724 {
    padding-bottom: 8px;
  }
}

/* =========================================================
   URW V7.2.5 - Sélecteur Match en cours rationalisé
========================================================= */
.matchSelectorCardV725 {
  display: grid;
  gap: 8px;
}
.matchSelectorCardV725 .matchSelectorLabelV321 {
  margin: 0;
  font-weight: 950;
  color: var(--urw-primary, #0b3d6e);
}
.matchSelectorCleanV725 {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(11,61,110,.16);
  background: #fff;
  color: #0f172a;
  padding: 9px 12px;
  font-weight: 850;
}
.matchSelectorHelpV725 {
  margin: 0;
  color: rgba(15,23,42,.56);
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.3;
}
@media (max-width: 640px) {
  .matchSelectorCleanV725 {
    font-size: .92rem;
  }
  .matchSelectorHelpV725 {
    font-size: .78rem;
  }
}


/* V7.2.8 - Match single render owner boot cloak
   Prevents historical render layers from flashing multiple intermediate versions. */
body.urw-match-render-booting #matchEditorRoot,
body.urw-match-render-booting #matchHistorySection {
  opacity: 0;
  visibility: hidden;
}
body.urw-match-render-booting .urw-match-main::after {
  content: "Préparation du match…";
  display: block;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 18px;
  background: #fff;
  color: #64748b;
  font-weight: 700;
}
body.urw-match-render-ready #matchEditorRoot,
body.urw-match-render-ready #matchHistorySection {
  opacity: 1;
  visibility: visible;
}

/* =========================================================
   URW V7.2.12 - Chrono pilote le statut + score stable
========================================================= */
.matchStatusBlockV7212 {
  margin: 12px 0;
  padding: 13px 16px;
  border: 1px solid rgba(11,61,110,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
}
.matchStatusBlockV7212 h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 1rem;
}
.matchStatusBlockV7212 p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
}
.matchStatusBlockV7212.is-live p span {
  filter: drop-shadow(0 2px 4px rgba(22,163,74,.24));
}
.matchStatusBlockV7212.is-half {
  background: rgba(245,158,11,.07);
  border-color: rgba(245,158,11,.22);
}
.matchStatusBlockV7212.is-done {
  background: rgba(15,23,42,.04);
}
.bigStatusBtn.matchStatusInfoBtnV7212,
.bigStatusBtn.matchClosedInfoBtnV7212,
.bigStatusBtn.matchCloseBtnV7212 {
  width: 100%;
  border-radius: 999px;
  min-height: 44px;
  font-weight: 950;
}
.bigStatusBtn.matchStatusInfoBtnV7212,
.bigStatusBtn.matchClosedInfoBtnV7212 {
  background: rgba(11,61,110,.08) !important;
  border: 1px solid rgba(11,61,110,.18) !important;
  color: var(--urw-primary, #0b3d6e) !important;
  opacity: 1 !important;
  cursor: default !important;
}
.bigStatusBtn.matchCloseBtnV7212 {
  background: rgba(185,28,28,.08) !important;
  border: 1px solid rgba(185,28,28,.28) !important;
  color: #991b1b !important;
  box-shadow: none !important;
}
.matchChronoSecondaryV723,
.matchChronoSecondaryV723:disabled {
  background: rgba(11,61,110,.08) !important;
  color: var(--urw-primary, #0b3d6e) !important;
  border: 1px solid rgba(11,61,110,.12) !important;
  opacity: 1 !important;
}
.quickScoreBtnsV7212 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.quickScoreBtnsV7212 button {
  border: 0;
  border-radius: 999px;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--urw-primary, #0b3d6e);
  color: #fff;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(11,61,110,.12);
}
@media (max-width: 560px) {
  .quickScoreBtnsV7212 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .quickScoreBtnsV7212 button {
    min-width: 0;
    padding: 9px 6px;
    font-size: .82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* URW V7.2.18 - bloc Score stable au-dessus du Chrono */
.matchScoreBlockV7218 {
  margin: 14px 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(11,61,110,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
}
.matchScoreBlockV7218 .scoreLabel {
  margin: 0 0 10px;
  text-align: center;
  color: var(--urw-primary, #0b3d6e);
  font-weight: 950;
  font-size: 1.08rem;
}
.matchScoreBlockV7218 .scoreBoxRow,
.matchScoreBlockV7218 .matchScoreRow {
  justify-content: center;
}
.matchScoreBlockV7218 .quickScoreBtnsV7212 {
  margin-bottom: 0;
}
@media (max-width: 560px) {
  .matchScoreBlockV7218 {
    padding: 12px;
  }
}

/* V7.2.25 - Joueurs confirmés : restauration fonctionnelle ballon/cartons */
.calledPlayersBlockV725 .calledLegendV725{
  margin: 8px 0 10px;
  font-size: .88rem;
  color: var(--urw-muted, #5d6b82);
  background: rgba(15, 76, 129, .06);
  border-radius: 12px;
  padding: 8px 10px;
}
.matchPlayersTableV725 .matchPlayerHeaderV725,
.matchPlayersTableV725 .matchPlayerRowV725{
  grid-template-columns: minmax(160px, 1fr) 54px 72px 42px 42px 42px 42px;
  align-items: center;
}
.playerGoalBtnV725{
  border: 1px solid rgba(15, 76, 129, .25);
  background: #fff;
  color: #0f4c81;
  border-radius: 999px;
  min-height: 34px;
  min-width: 58px;
  padding: 6px 10px;
  font-weight: 800;
  cursor: pointer;
  touch-action: manipulation;
}
.playerGoalBtnV725:active{ transform: scale(.98); }
.removeCalledPlayerBtnV725{
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #0f4c81;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
}
@media (max-width: 720px){
  .matchPlayersTableV725 .matchPlayerHeaderV725,
  .matchPlayersTableV725 .matchPlayerRowV725{
    grid-template-columns: minmax(120px, 1fr) 48px 64px 36px 36px 36px 36px;
    column-gap: 6px;
  }
  .playerGoalBtnV725{ min-width: 54px; padding-left: 8px; padding-right: 8px; }
}

/* V7.2.26 - restaure les actions du bloc joueurs confirmés */
.calledActionsV7226 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 8px;
  align-items: center;
}
.calledActionsV7226 .statsConvBtn,
.calledActionsV7226 .secondaryActionBtn {
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 700;
  cursor: pointer;
}
.calledActionsV7226 .statsConvBtn {
  background: #eaf1ff;
  color: var(--kf-primary);
  border: 1px solid #c6d8ff;
}
.calledActionsV7226 .secondaryActionBtn {
  background: #f7f9fc;
  color: #1f2937;
  border: 1px solid #d7dee8;
}
@media (max-width: 640px){
  .calledActionsV7226 { gap: 6px; }
  .calledActionsV7226 .statsConvBtn,
  .calledActionsV7226 .secondaryActionBtn { flex: 1 1 auto; }
}

/* V7.2.27 - Joueurs confirmés : contraste et en-tête nettoyés */
.calledPlayersBlockV725 .calledSummaryV203,
.calledPlayersBlockV725 .calledLegendV725{
  color: #071f3f;
}
.calledPlayersBlockV725 .calledSummaryV203 strong{
  color: #001a3d;
}
.calledActionsV7226 .statsConvBtn,
.calledActionsV7226 .secondaryActionBtn,
.calledPlayersBlockV725 .calledActionsV7226 .statsConvBtn,
.calledPlayersBlockV725 .calledActionsV7226 .secondaryActionBtn{
  color: #ffffff;
  background: #0f4c81;
  border: 1px solid #0f4c81;
  text-shadow: none;
  -webkit-text-fill-color: #ffffff;
}
.calledActionsV7226 .secondaryActionBtn,
.calledPlayersBlockV725 .calledActionsV7226 .secondaryActionBtn{
  background: var(--kf-primary);
  border-color: var(--kf-primary);
}
.playerGoalBtnV725,
.playerGoalBtnV725 span{
  color: #0f4c81 !important;
  -webkit-text-fill-color: #0f4c81;
}
.playerGoalBtnV725 span{
  display: inline-block;
  min-width: 1.1em;
  margin-left: 2px;
  font-weight: 950;
}
.matchPlayersTableV725 .matchPlayerHeaderV725 span{
  color: #001a3d;
  font-weight: 900;
  text-align: center;
  line-height: 1;
}
.matchPlayersTableV725 .matchPlayerHeaderV725 span:first-child{
  text-align: left;
}
.matchPlayersTableV725 .matchPlayerHeaderV725 span[title="Carton jaune 1"],
.matchPlayersTableV725 .matchPlayerHeaderV725 span[title="Carton jaune 2"],
.matchPlayersTableV725 .matchPlayerHeaderV725 span[title="Carton rouge"]{
  font-size: 1.05rem;
}

/* =========================================================
   URW V7.2.28 - Mes matchs UX grouping
========================================================= */
.matchOverviewV728{
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.matchOverviewHeaderV728{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.matchOverviewHeaderV728 h3{
  margin:0 0 4px;
  font-size:1.05rem;
  font-weight:800;
  color:#0f172a;
}
.matchOverviewHeaderV728 p{
  margin:0;
  font-size:.86rem;
  color:#64748b;
  line-height:1.35;
}
.matchGroupV728{ margin-top:14px; }
.matchGroupV728 h4{
  margin:0 0 8px;
  font-size:.92rem;
  font-weight:800;
  color:#1e293b;
}
.matchCardsGridV728{
  display:grid;
  gap:10px;
}
.matchCardV728{
  border:1px solid rgba(148,163,184,.32);
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:11px;
  display:grid;
  gap:8px;
}
.matchCardV728.is-active{
  border-color:rgba(37,99,235,.35);
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
}
.matchCardTopV728{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.matchStatePillV728{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  font-size:.74rem;
  font-weight:800;
  white-space:nowrap;
}
.matchStatePillV728.is-live{ background:#dcfce7; color:#166534; }
.matchStatePillV728.is-upcoming{ background:#fef3c7; color:#92400e; }
.matchStatePillV728.is-done{ background:#e2e8f0; color:#334155; }
.matchCardMetaV728{
  min-width:0;
  text-align:right;
  color:#64748b;
  font-size:.78rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.matchCardTitleV728{
  color:#0f172a;
  font-size:.95rem;
  font-weight:800;
  line-height:1.25;
}
.matchCardActionV728{
  justify-self:start;
  border:1px solid rgba(37,99,235,.25);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:999px;
  padding:7px 12px;
  font-weight:800;
  cursor:pointer;
}
.matchCardActionV728:hover{ background:#dbeafe; }
@media (min-width:720px){
  .matchCardsGridV728{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =========================================================
   URW V7.2.29 - Mes matchs compact + scroll feedback
========================================================= */
.matchOverviewV728{
  padding:14px !important;
}
.matchOverviewHeaderV728{
  margin-bottom:10px !important;
}
.matchGroupHeadV729{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.matchGroupHeadV729 h4{
  margin:0 !important;
}
.matchGroupHeadV729 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:22px;
  border-radius:999px;
  background:#eef2f7;
  color:#334155;
  font-size:.75rem;
  font-weight:900;
}
.matchCardsGridV728{
  grid-template-columns:1fr !important;
}
.matchCardV728{
  padding:10px 12px !important;
  gap:7px !important;
}
.matchCardActionV728{
  background:var(--kf-primary) !important;
  border-color:var(--kf-primary) !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(15,74,122,.18);
}
.matchCardActionV728:hover{
  background:var(--kf-primary) !important;
  color:#fff !important;
}
.matchStatePillV728.is-todo{ background:#ffedd5; color:#9a3412; }
.matchCardV728.is-hidden-v729{ display:none; }
.matchGroupV728.is-expanded-v729 .matchCardV728.is-hidden-v729{ display:grid; }
.matchGroupMoreV729{
  margin-top:8px;
  border:1px solid rgba(15,74,122,.2);
  background:#f8fafc;
  color:var(--kf-primary);
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
}
.matchGroupMoreV729:hover{ background:#eff6ff; }
.matchActiveMainV724,
.matchEditorActiveV724,
#matchEditorRoot{
  scroll-margin-top:96px;
}
.matchActiveFlashV729{
  animation: matchActiveFlashV729 1.2s ease-out 1;
}
@keyframes matchActiveFlashV729{
  0%{ box-shadow:0 0 0 0 rgba(59,130,246,.45); }
  35%{ box-shadow:0 0 0 8px rgba(59,130,246,.18); }
  100%{ box-shadow:0 0 0 0 rgba(59,130,246,0); }
}
@media (min-width:900px){
  .matchCardsGridV728{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .matchGroupV728.is-live .matchCardsGridV728{ grid-template-columns:minmax(0,1fr) !important; max-width:560px; }
}
@media (max-width:640px){
  .matchCardTopV728{ align-items:flex-start; }
  .matchCardActionV728{ width:100%; justify-self:stretch; }
  .matchGroupMoreV729{ width:100%; }
}


/* =========================================================
   URW V7.2.30 - Match history cleanup + button contrast
========================================================= */
#matchHistorySection{
  display:none !important;
}
.matchOverviewV728 .matchCardActionV728,
.matchOverviewV728 .matchGroupMoreV729{
  -webkit-text-fill-color: currentColor !important;
  text-shadow:none !important;
}
.matchOverviewV728 .matchCardActionV728{
  background:var(--kf-primary) !important;
  border:1px solid var(--kf-primary) !important;
  color:#ffffff !important;
}
.matchOverviewV728 .matchCardActionV728:hover{
  background:var(--kf-primary) !important;
  border-color:var(--kf-primary) !important;
  color:#ffffff !important;
}
.matchOverviewV728 .matchGroupMoreV729{
  background:#eef6ff !important;
  border:1px solid rgba(15,74,122,.45) !important;
  color:var(--kf-primary) !important;
  box-shadow:0 4px 12px rgba(15,74,122,.08);
}
.matchOverviewV728 .matchGroupMoreV729:hover{
  background:#dbeafe !important;
  color:var(--kf-primary) !important;
}
.matchOverviewV728 button:disabled,
.matchOverviewV728 button[aria-disabled="true"]{
  background:#e5e7eb !important;
  border-color:#cbd5e1 !important;
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  opacity:1 !important;
}
@media (max-width: 560px){
  .matchScoreBlockV7218 .quickScoreBtnsV7212{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .matchScoreBlockV7218 .quickScoreBtnsV7212 button{
    min-width:0 !important;
    min-height:40px !important;
    padding:8px 6px !important;
    font-size:.78rem !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* =========================================================
   URW V7.2.33 - forensic score mobile targeted fix
   Corrige uniquement le bloc Score mobile : score non coupé,
   boutons +1 en 2 colonnes et libellés lisibles.
========================================================= */
.matchScoreBlockV7218,
.matchScoreBlockV7218 *{
  box-sizing: border-box;
}
.matchScoreBlockV7218{
  max-width: 100%;
  overflow: visible;
}
.matchScoreBlockV7218 .scoreBoxRow,
.matchScoreBlockV7218 .matchScoreRow,
.matchScoreBlockV7218 .matchScoreRow.scoreBoxRow{
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.matchScoreBlockV7218 .quickScoreBtnsV7212{
  width: 100%;
  max-width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch;
}
.matchScoreBlockV7218 .quickScoreBtnsV7212 button{
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  box-sizing: border-box;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.15;
}

@media (max-width: 560px){
  .matchScoreBlockV7218{
    padding: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .matchScoreBlockV7218 .scoreLabel{
    font-size: 1rem !important;
    margin-bottom: 8px !important;
  }
  .matchScoreBlockV7218 .scoreBoxRow,
  .matchScoreBlockV7218 .matchScoreRow,
  .matchScoreBlockV7218 .matchScoreRow.scoreBoxRow{
    display: grid !important;
    grid-template-columns: minmax(56px, 70px) 14px minmax(56px, 70px) !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px auto 12px !important;
  }
  .matchScoreBlockV7218 .scoreBoxInput,
  .matchScoreBlockV7218 .scoreBoxRead{
    width: clamp(56px, 18vw, 70px) !important;
    height: clamp(56px, 18vw, 70px) !important;
    min-height: clamp(56px, 18vw, 70px) !important;
    max-width: 100% !important;
    font-size: clamp(28px, 9vw, 38px) !important;
    border-radius: 16px !important;
  }
  .matchScoreBlockV7218 .scoreDash,
  .matchScoreBlockV7218 .inlineScoreDash{
    width: 14px !important;
    min-width: 14px !important;
    font-size: 22px !important;
  }
  .matchScoreBlockV7218 .quickScoreBtnsV7212{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }
  .matchScoreBlockV7218 .quickScoreBtnsV7212 button{
    min-height: 40px !important;
    padding: 8px 6px !important;
    font-size: clamp(.72rem, 3.1vw, .86rem) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 340px){
  .matchScoreBlockV7218 .quickScoreBtnsV7212{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   URW V7.2.36 - Reprise numéros de vareuses du dernier match
========================================================= */
.matchPrepJerseyResultV736 {
  display: grid;
  gap: 6px;
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(11,61,110,.14);
  background: rgba(11,61,110,.055);
  color: #0f172a;
}
.matchPrepJerseyResultV736 strong {
  color: #0b3d6e;
  font-size: .94rem;
}
.matchPrepJerseyResultV736 span {
  color: rgba(15,23,42,.68);
  font-size: .86rem;
  font-weight: 700;
}
.matchPrepJerseyResultV736 ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 2px;
  color: rgba(15,23,42,.78);
  font-size: .88rem;
}
.matchPrepJerseyResultV736.is-warning {
  border-color: rgba(180,83,9,.22);
  background: rgba(251,191,36,.13);
}
.matchPrepJerseyResultV736.is-warning strong {
  color: #92400e;
}
@media (max-width: 520px) {
  .matchPrepJerseyResultV736 { padding: 10px; }
}

/* =========================================================
   URW V7.2.37 - Simplification du flow de reprise des numéros
========================================================= */
.matchPrepJerseyDecisionV737 {
  align-content: start;
}
.matchPrepJerseyDecisionV737 .matchPrepChoiceRowV721 {
  margin-top: 8px;
}
.matchPrepJerseyResultV736 {
  padding: 12px 14px;
}
.matchPrepJerseyResultV736 ul {
  display: none;
}
.matchPrepJerseyManualV737 {
  display: grid;
  gap: 10px;
  margin-top: 2px;
  padding: 10px;
  border: 1px solid rgba(11,61,110,.12);
  border-radius: 16px;
  background: rgba(248,250,252,.86);
}
.matchPrepJerseyManualListV737 {
  display: grid;
  gap: 8px;
}
.matchPrepJerseyManualRowV737 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-sizing: border-box;
}
.matchPrepJerseyManualRowV737 span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
  color: #0f172a;
}
.matchPrepJerseyManualRowV737 input {
  width: 100%;
  min-width: 0;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(11,61,110,.2);
  text-align: center;
  font-weight: 900;
  color: #0f172a;
  box-sizing: border-box;
}
.matchPrepJerseyManualRowV737.is-empty input {
  border-color: rgba(245,158,11,.42);
  background: rgba(255,251,235,.8);
}
@media (max-width: 520px) {
  .matchPrepJerseyManualV737 {
    padding: 8px;
  }
  .matchPrepJerseyManualRowV737 {
    grid-template-columns: minmax(0, 1fr) 62px;
    padding: 8px;
  }
}

/* =========================================================
   URW V7.2.38 - Sas Match : contraste boutons secondaires
   Objectif : aucun texte blanc sur fond clair dans le flow de préparation.
   Scope strict : match.html / #matchPreparationV720 uniquement.
========================================================= */
#matchPreparationV720 .matchPrepSecondaryV720,
#matchPreparationV720 .matchPrepChoiceRowV721 .matchPrepSecondaryV720 {
  background: #eaf1f8 !important;
  color: var(--urw-primary, #0b3d6e) !important;
  border: 1px solid rgba(11, 61, 110, .16) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
#matchPreparationV720 .matchPrepSecondaryV720:hover,
#matchPreparationV720 .matchPrepSecondaryV720:focus-visible {
  background: #dbe9f5 !important;
  color: var(--urw-primary, #0b3d6e) !important;
}
#matchPreparationV720 .matchPrepSecondaryV720:disabled {
  background: #eef3f8 !important;
  color: #385b7a !important;
  opacity: 1 !important;
  cursor: default !important;
}

/* =========================================================
   URW V7.2.45 - Ligne système buts non attribués / CSC
========================================================= */
.matchPlayersTableV725 .matchSystemGoalRowV745{
  background: rgba(15, 76, 129, .045);
  border-top: 1px dashed rgba(15, 76, 129, .28);
}
.matchSystemGoalNameV745{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.matchSystemGoalNameV745 strong{
  color: #0f4c81;
}
.matchSystemGoalNameV745 small{
  font-size: .76rem;
  color: #5d6b82;
  font-weight: 600;
  line-height: 1.15;
}
.matchSystemGoalEmptyV745{
  min-height: 1px;
}
.unassignedGoalBtnV745{
  background: #eef6ff;
  border-color: rgba(15, 76, 129, .32);
}
@media (max-width: 720px){
  .matchSystemGoalNameV745 small{
    font-size: .7rem;
  }
}


/* =========================================================
   URW V7.2.49 - Lisibilité forcée des boutons du sas Match
   Scope strict : uniquement #matchPreparationV720.
   Évite les héritages de thème clair qui rendent le texte illisible.
========================================================= */
#matchPreparationV720 .matchPrepPrimaryV720,
#matchPreparationV720 .matchPrepChoiceRowV721 .matchPrepPrimaryV720 {
  background: #0b3d6e !important;
  color: #ffffff !important;
  border: 1px solid #0b3d6e !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(11,61,110,.16) !important;
}
#matchPreparationV720 .matchPrepPrimaryV720:hover,
#matchPreparationV720 .matchPrepPrimaryV720:focus-visible {
  background: var(--kf-primary) !important;
  color: #ffffff !important;
}
#matchPreparationV720 .matchPrepSecondaryV720,
#matchPreparationV720 .matchPrepChoiceRowV721 .matchPrepSecondaryV720 {
  background: #eaf1f8 !important;
  color: #0b3d6e !important;
  border: 1px solid rgba(11,61,110,.22) !important;
  text-shadow: none !important;
}


/* URW V7.5.10.1 - Match undo bar restored */
.matchUndoBarV75101{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0;
  padding:9px 10px;
  border:1px solid rgba(11,61,110,.12);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  color:#0f2540;
  box-shadow:0 8px 22px rgba(15,37,64,.06);
}
.matchUndoBarV75101 span{font-size:.9rem;line-height:1.25;}
.matchUndoBarV75101 button{
  border:0;
  border-radius:999px;
  padding:7px 11px;
  background:#0b3d6e;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.matchUndoBarV75101 button:disabled{
  background:#d9e1ea;
  color:#536273;
  cursor:not-allowed;
}
.matchUndoBarV75101.is-empty{opacity:.78;}
@media(max-width:640px){
  .matchUndoBarV75101{align-items:stretch;flex-direction:column;}
  .matchUndoBarV75101 button{width:100%;}
}

/* URW V7.5.10.2 - visible undo bar */
.matchUndoBarV75102{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 0;
  padding:10px 12px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:14px;
  background:#fff;
  color:#172033;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.matchUndoBarV75102 span{font-size:.9rem;line-height:1.25;}
.matchUndoBarV75102 button{
  border:0;
  border-radius:999px;
  background:#10233f;
  color:#fff;
  font-weight:800;
  padding:9px 12px;
  cursor:pointer;
  white-space:nowrap;
}
.matchUndoBarV75102 button:disabled{
  background:#e2e8f0;
  color:#475569;
  cursor:not-allowed;
}
.matchUndoBarV75102.is-empty{opacity:.82;}
@media(max-width:640px){
  .matchUndoBarV75102{align-items:stretch;flex-direction:column;}
  .matchUndoBarV75102 button{width:100%;}
}

/* =========================================================
   URW V7.6.5.1 - boutons +1 stables après scores 10+
========================================================= */
.matchScoreBlockV7218 .quickScoreBtnsV7212,
.quickScoreBtnsV7651{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  visibility:visible !important;
  opacity:1 !important;
}
.matchScoreBlockV7218 .quickScoreBtnsV7212 button,
.quickScoreBtnsV7651 button{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
}

/* URW V7.6.8.8 - Nettoyage ciblé historique Match */
.matchCardActionsV7688{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.matchCardDeleteV7688{
  border:1px solid rgba(11,61,110,.26);
  background:#fff;
  color:#0b3d6e;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.matchCardDeleteV7688:hover{
  background:#f3f8ff;
}

/* =========================================================
   V7.10.4 - Match mobile right overflow guard
   Scope : match.html mobile layout only.
========================================================= */
@media (max-width: 640px){
  body.urw-page-match,
  body.match-page,
  .matchActiveMainV724,
  .matchScoreBlockV7218,
  .matchChronoV723{
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  .matchChronoV723{
    padding:12px!important;
  }
  .matchChronoBodyV723{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
    text-align:left!important;
    width:100%!important;
    max-width:100%!important;
  }
  .matchChronoTimeV723{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(2.1rem, 13vw, 3rem)!important;
  }
  .matchChronoMetaV723{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    text-align:left!important;
  }
  .matchChronoMetaV723 strong,
  .matchChronoMetaV723 span{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .matchChronoControlsV723,
  .matchChronoPrimaryV723,
  .matchChronoSecondaryV723{
    width:100%!important;
    max-width:100%!important;
  }
  /* TS-2.3 (2026-07-14) : la règle grid-template-columns:1fr!important sur
     .quickScoreBtnsV7212 a été retirée d'ici. Elle écrasait, pour tout
     l'intervalle 341-640px, le layout 2 colonnes déjà établi par V7.2.33
     (L995-999) et re-confirmé par V7.6.5.1 (L1347-1350) — copier-coller
     probable depuis .matchChronoBodyV723 juste au-dessus, qui lui doit
     légitimement passer en 1 colonne sur mobile. Ne pas la réintroduire
     sans scoper une raison précise (elle rendait "+1 URW"/"+1 TEST1"
     empilés au lieu de côte à côte dès qu'un vrai téléphone était utilisé).
  */
}

/* URW V7.10.12 - Match mobile goal ball long-press stability */
.playerGoalBtnV725{
  -webkit-touch-callout:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  touch-action:manipulation!important;
}
.playerGoalBtnV725.urwGoalLongPressDoneV71012{
  transform:scale(.96);
  filter:brightness(.96);
}

/* =========================================================
   URW V7.10.13 - Match stats toggle + delete contrast mobile
   Scope : match.html, bloc Mes matchs / matchs terminés.
========================================================= */
.matchStatsToggleV71013{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(11,61,110,.18);
  background:#fff;
  color:#0f172a!important;
  font-weight:850;
  line-height:1.15;
  cursor:pointer;
  box-sizing:border-box;
}
.matchStatsToggleV71013 input{
  width:18px!important;
  height:18px!important;
  min-width:18px;
  accent-color:#0b4f86;
}
.matchStatsToggleV71013 span{
  color:#0f172a!important;
  white-space:normal;
}
.matchCardDeleteV7688,
.matchCardActionsV7688 .matchCardDeleteV7688{
  color:#0b3d6e!important;
  background:#fff!important;
  border:1px solid rgba(11,61,110,.28)!important;
  min-width:104px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}
@media (max-width:640px){
  .matchCardActionsV7688{
    display:grid!important;
    grid-template-columns:1fr;
    align-items:stretch!important;
    gap:8px!important;
  }
  .matchCardActionsV7688 .matchCardActionV728,
  .matchCardActionsV7688 .matchCardDeleteV7688,
  .matchStatsToggleV71013{
    width:100%;
    justify-content:center;
  }
}


/* THEME COLORS BRIDGE V5 — Match terrain : uniquement couleurs, aucune logique modifiée */
.matchChronoPrimaryV723,
.matchChronoControlsV723 .matchChronoPrimaryV723{
  background:var(--kf-primary,var(--urw-primary,#0b3d6e))!important;
  border-color:var(--kf-primary,var(--urw-primary,#0b3d6e))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 10px 22px color-mix(in srgb, var(--kf-primary,#0b3d6e) 20%, transparent)!important;
}
.matchChronoSecondaryV723{
  background:var(--kf-accent-soft,rgba(11,61,110,.08))!important;
  border-color:var(--kf-accent-border,rgba(11,61,110,.14))!important;
  color:var(--kf-accent-text,var(--kf-primary,#0b3d6e))!important;
}
.playerGoalBtnV725,
.playerGoalBtnV725 span{
  color:var(--kf-primary,#0f4c81)!important;
  -webkit-text-fill-color:var(--kf-primary,#0f4c81)!important;
}
.playerGoalBtnV725{
  border-color:color-mix(in srgb, var(--kf-primary,#0f4c81) 32%, #fff)!important;
  background:#fff!important;
}
/* fin V5 Match terrain */
