/* =====================================================
   URW V6.9.2.5 - Scores density and names fix
   Page : scores.html
   Objectif : resserrer les lignes Scores et améliorer la gestion des noms longs.
===================================================== */

#scoresWERoot{
  --scores-primary:var(--club-primary,#0b3d6e);
  --scores-secondary:var(--club-secondary,#55b7d9);
  --scores-ink:var(--text-main,#102338);
  --scores-muted:var(--text-soft,#66768a);
  --scores-line:var(--border-soft,rgba(16,35,56,.11));
  --scores-card:rgba(255,255,255,.96);
  --scores-soft:rgba(11,61,110,.055);
  --scores-live:#18a85d;
  --scores-warning:#f59e0b;
}

.urw-page-scores .urw-scores-card{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,251,255,.97));
}

.urw-page-scores .urw-page-header{
  margin-bottom:14px;
}

.scoresDateGroupV3633{
  margin-top:14px;
}

.scoresDateGroupV3633:first-of-type{
  margin-top:8px;
}

.scoresDateGroupV3633 h3{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 6px;
  color:var(--scores-ink);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:-.015em;
}

.scoresDateGroupV3633 h3::before{
  content:"";
  width:15px;
  height:15px;
  flex:0 0 15px;
  background-color:currentColor;
  opacity:.72;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
}

.scoresSportListV60{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--scores-line);
  border-radius:13px;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  box-shadow:0 6px 16px rgba(16,35,56,.035);
}

.scoreLineV6924{
  display:grid;
  grid-template-columns:112px minmax(120px,1.15fr) 28px 66px 28px minmax(220px,1.65fr) minmax(32px,auto);
  align-items:center;
  column-gap:8px;
  min-height:42px;
  padding:5px 10px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,254,.96));
  border-bottom:1px solid rgba(16,35,56,.07);
  color:var(--scores-ink);
}

.scoreLineV6924:last-child{border-bottom:0;}
.scoreLineV6924:hover{background:linear-gradient(180deg,rgba(255,255,255,1),rgba(244,249,254,.98));}
.scoreLineV6924.has-status{background:linear-gradient(90deg,rgba(26,168,93,.06),rgba(255,255,255,.98) 26%,rgba(248,251,254,.96));}

.scoreCategoryV6924{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  color:var(--scores-primary);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.scoreCategoryV6924 strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.scoreTeamNameV6924{
  min-width:0;
  color:var(--scores-ink);
  font-size:.86rem;
  font-weight:850;
  line-height:1.08;
}

.scoreTeamNameV6924 span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.scoreTeamNameHomeV6924{text-align:right;}
.scoreTeamNameAwayV6924{text-align:left;}

.scoreTeamLogoV6924{
  width:26px;
  height:26px;
  flex:0 0 26px;
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#edf4fa);
  border:1px solid rgba(16,35,56,.14);
  box-shadow:0 3px 8px rgba(16,35,56,.08);
  color:var(--scores-primary);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:-.03em;
}

.scoreTeamLogoV6924 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}

.scoreTeamLogoV6924.has-logo .scoreTeamLogoInitialsV6924{display:none;}
.scoreTeamLogoV6924.fallback .scoreTeamLogoInitialsV6924{display:block;}

.scoreCenterV6924{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}

.scoreReadV6924,
.scoreEditV6924{
  min-width:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--scores-ink);
  font-size:1.14rem;
  font-weight:950;
  line-height:1;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
}

.scoreReadV6924 span{font-weight:950;}
.scoreReadV6924 .scoreUnsetV6924{color:var(--scores-muted);}

.scoreEditV6924 input{
  width:28px;
  min-height:28px;
  padding:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--scores-ink);
  font:inherit;
  text-align:center;
  appearance:textfield;
  -moz-appearance:textfield;
}
.scoreEditV6924 input::-webkit-inner-spin-button,
.scoreEditV6924 input::-webkit-outer-spin-button{appearance:none;margin:0;}
.scoreEditV6924 span{color:var(--scores-muted);font-weight:850;}

.scoreStateBadgeV6924{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:16px;
  padding:2px 5px;
  border-radius:999px;
  font-size:.56rem;
  font-weight:950;
  line-height:1;
  letter-spacing:.06em;
  white-space:nowrap;
}

.scoreStateBadgeV6924 i{
  width:6px;
  height:6px;
  border-radius:50%;
  display:block;
}

.scoreStateBadgeV6924.is-live{
  color:#0f8b4b;
  background:rgba(26,168,93,.10);
  border:1px solid rgba(26,168,93,.22);
}
.scoreStateBadgeV6924.is-live i{background:var(--scores-live);}
.scoreStateBadgeV6924.is-warning{
  color:#b45309;
  background:rgba(245,158,11,.10);
  border:1px solid rgba(245,158,11,.24);
}
.scoreStateBadgeV6924.is-warning i{background:var(--scores-warning);}

.scoreActionV6924{
  display:flex;
  justify-content:flex-end;
}

.scoreDeleteBtnV6924{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(6,27,70,.10);
  background:#fff;
  color:var(--scores-muted);
  font-size:18px;
  font-weight:900;
  line-height:1;
  box-shadow:none;
}

.scoreDeleteBtnV6924:hover{
  color:#b91c1c;
  border-color:rgba(185,28,28,.22);
  background:rgba(254,242,242,.92);
}

.manualScoreFormV3633{
  margin:8px 0 18px;
  padding:14px;
  border:1px solid rgba(16,35,56,.10);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 22px rgba(16,35,56,.045);
}
.manualScoreFormV3633 h3{
  margin:0 0 12px;
  color:var(--scores-ink);
  font-size:1rem;
  letter-spacing:-.02em;
}
.manualScoreGridV3633{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.35fr 1.35fr 1fr auto;
  gap:8px;
}
.manualScoreGridV3633 input,
.manualScoreGridV3633 select,
.manualScoreGridV3633 button{
  min-height:40px;
  width:100%;
  border-radius:12px;
}
.manualScoreGridV3633 button{
  white-space:nowrap;
  font-weight:850;
}


.scoresTableV3633,
.scoresTableV3634,
.scoreVsCellV3633,
.scoresHeroV60,
.scoresFbBarV60,
.scoresUndoBarV3633{
  display:none!important;
}

.mutedText{color:var(--scores-muted);}

@media(max-width:900px){
  .scoreLineV6924{
    grid-template-columns:68px minmax(0,1fr) 24px 54px 24px minmax(0,1.08fr) minmax(24px,auto);
    gap:5px;
    min-height:46px;
    padding:6px 7px;
  }
  .scoreCategoryV6924{font-size:.68rem;gap:4px;}
  .scoreTeamNameV6924{font-size:.78rem;}
  .scoreTeamLogoV6924{width:23px;height:23px;font-size:.5rem;}
  .scoreReadV6924,.scoreEditV6924{min-width:50px;font-size:1rem;gap:4px;}
  .scoreEditV6924 input{width:23px;min-height:26px;}
  .scoreDeleteBtnV6924{width:30px;height:30px;font-size:17px;}
}

@media(max-width:620px){
  .scoresDateGroupV3633{margin-top:12px;}
  .scoresDateGroupV3633 h3{font-size:.84rem;margin-bottom:5px;}
  .scoresSportListV60{border-radius:12px;}
  .scoreLineV6924{
    grid-template-columns:42px minmax(0,1fr) 22px 44px 22px minmax(0,1.02fr) max-content;
    gap:4px;
    min-height:48px;
    padding:6px 5px;
  }
  .scoreCategoryV6924{font-size:.62rem;line-height:1.05;align-self:center;}
  .scoreCategoryV6924 strong{max-width:42px;}
  .scoreStateBadgeV6924{font-size:.48rem;min-height:15px;padding:2px 4px;gap:3px;}
  .scoreStateBadgeV6924 i{width:5px;height:5px;}
  .scoreTeamNameV6924{font-size:.72rem;line-height:1.05;}
  .scoreTeamNameV6924 span{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .scoreTeamLogoV6924{width:20px;height:20px;font-size:.43rem;}
  .scoreReadV6924,.scoreEditV6924{min-width:42px;font-size:.92rem;gap:3px;}
  .scoreEditV6924 input{width:20px;min-height:24px;}
  .scoreDeleteBtnV6924{width:28px;height:28px;font-size:16px;}
  .manualScoreGridV3633{grid-template-columns:1fr 1fr;}
  .manualScoreGridV3633 button{grid-column:1/-1;}
}

@media(max-width:380px){
  .scoreLineV6924{
    grid-template-columns:36px minmax(0,1fr) 20px 38px 20px minmax(0,1.02fr) max-content;
    gap:3px;
    padding:6px 4px;
  }
  .scoreCategoryV6924{font-size:.56rem;}
  .scoreCategoryV6924 strong{max-width:40px;}
  .scoreTeamNameV6924{font-size:.7rem;}
  .scoreTeamLogoV6924{width:19px;height:19px;font-size:.4rem;}
  .scoreReadV6924,.scoreEditV6924{min-width:36px;font-size:.86rem;gap:2px;}
  .scoreEditV6924 input{width:18px;font-size:.92rem;}
}

/* V6.9.2.5 : densité + noms longs */
.scoreTeamNameAwayV6924 span{max-width:min(34vw,420px);}
.scoreTeamNameHomeV6924 span{max-width:min(28vw,340px);margin-left:auto;}
@media(max-width:900px){
  .scoreTeamNameAwayV6924 span,.scoreTeamNameHomeV6924 span{max-width:none;}
}


/* =====================================================
   URW V6.9.2.5.5 - Scores delete X aligned with Classement
   Correctif strict : remplacer le bouton fantôme/poubelle par un X noir visible.
===================================================== */
#scoresWERoot .scoreActionV6924{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:25px!important;
}

#scoresWERoot .scoreDeleteBtnV6924,
#scoresWERoot .scoreDeleteBtnV6924.urw-mini-icon,
body #scoresWERoot button.scoreDeleteBtnV6924{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  max-width:25px!important;
  min-height:25px!important;
  max-height:25px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:8px!important;
  border:1px solid rgba(6,27,70,.10)!important;
  background:#fff!important;
  color:#102338!important;
  opacity:1!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
  text-indent:0!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

#scoresWERoot .scoreDeleteBtnV6924:hover,
#scoresWERoot .scoreDeleteBtnV6924.urw-mini-icon:hover{
  color:#102338!important;
  border-color:rgba(6,27,70,.18)!important;
  background:#fff!important;
}

@media(max-width:620px){
  #scoresWERoot .scoreActionV6924{min-width:22px!important;}
  #scoresWERoot .scoreForfeitBtnV6924{height:22px;min-width:22px;padding:0 6px;font-size:.6rem;border-radius:7px;margin-right:4px;}
  #scoresWERoot .scoreDeleteBtnV6924,
  #scoresWERoot .scoreDeleteBtnV6924.urw-mini-icon,
  body #scoresWERoot button.scoreDeleteBtnV6924{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    border-radius:7px!important;
    font-size:16px!important;
  }
}


/* =====================================================
   URW V6.9.8.0 - Scores multi-digit score visibility fix
   Objectif : scores à 2 chiffres pleinement lisibles en desktop et mobile.
   Correctif structurel : zone score + inputs texte, sans rognage interne.
===================================================== */
#scoresWERoot .scoreLineV6924{
  grid-template-columns:112px minmax(104px,1.02fr) 28px 108px 28px minmax(210px,1.60fr) minmax(32px,auto);
}
#scoresWERoot .scoreCenterV6924{
  min-width:108px;
  width:108px;
  overflow:visible!important;
}
#scoresWERoot .scoreReadV6924,
#scoresWERoot .scoreEditV6924{
  min-width:108px;
  width:108px;
  max-width:none;
  white-space:nowrap;
  flex-shrink:0;
  overflow:visible!important;
  gap:8px;
  letter-spacing:-.025em;
}
#scoresWERoot .scoreReadV6924 span,
#scoresWERoot .scoreEditV6924 span{
  flex:0 0 auto;
}
#scoresWERoot .scoreEditV6924 input{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  inline-size:42px!important;
  box-sizing:border-box;
  overflow:visible!important;
  font:inherit;
  line-height:1!important;
  letter-spacing:-.025em;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

@media(max-width:900px){
  #scoresWERoot .scoreLineV6924{
    grid-template-columns:58px minmax(0,1fr) 23px 96px 23px minmax(0,1.05fr) minmax(24px,auto);
  }
  #scoresWERoot .scoreCenterV6924{min-width:96px;width:96px;}
  #scoresWERoot .scoreReadV6924,
  #scoresWERoot .scoreEditV6924{min-width:96px;width:96px;font-size:.96rem;gap:6px;letter-spacing:-.025em;}
  #scoresWERoot .scoreEditV6924 input{width:36px!important;min-width:36px!important;max-width:36px!important;inline-size:36px!important;font-size:.96rem;}
}

@media(max-width:620px){
  #scoresWERoot .scoreLineV6924{
    grid-template-columns:36px minmax(0,.92fr) 19px 88px 19px minmax(0,.96fr) max-content;
    gap:3px;
  }
  #scoresWERoot .scoreCenterV6924{min-width:88px;width:88px;}
  #scoresWERoot .scoreReadV6924,
  #scoresWERoot .scoreEditV6924{min-width:88px;width:88px;font-size:.86rem;gap:5px;letter-spacing:-.025em;}
  #scoresWERoot .scoreEditV6924 input{width:33px!important;min-width:33px!important;max-width:33px!important;inline-size:33px!important;font-size:.86rem;}
}

@media(max-width:380px){
  #scoresWERoot .scoreLineV6924{
    grid-template-columns:32px minmax(0,.86fr) 18px 82px 18px minmax(0,.96fr) max-content;
    gap:2px;
  }
  #scoresWERoot .scoreCenterV6924{min-width:82px;width:82px;}
  #scoresWERoot .scoreReadV6924,
  #scoresWERoot .scoreEditV6924{min-width:82px;width:82px;font-size:.80rem;gap:4px;}
  #scoresWERoot .scoreEditV6924 input{width:31px!important;min-width:31px!important;max-width:31px!important;inline-size:31px!important;font-size:.80rem;}
}

/* V7.5.6 - fallback logo locally uploadable (Scores) */
.scoreLogoCanUploadV756{cursor:pointer;outline:none;position:relative;}
.scoreLogoCanUploadV756:hover,.scoreLogoCanUploadV756:focus-visible{box-shadow:0 0 0 3px rgba(11,61,110,.14);transform:translateY(-1px);}
.scoreLogoCanUploadV756::after{content:"+";position:absolute;right:-4px;bottom:-5px;width:13px;height:13px;border-radius:999px;background:#061b46;color:#fff;font-size:10px;line-height:13px;text-align:center;font-weight:900;border:1px solid #fff;}


/* V113 — validation score auto-clôturé */
.scoreLineV6924.needs-validation{border-color:rgba(245,166,35,.38)!important;box-shadow:0 10px 24px rgba(245,166,35,.10)!important;}
.scoreStateBadgeV6924.is-validation{background:rgba(255,247,230,.95)!important;color:#7a4700!important;border:1px solid rgba(245,166,35,.38)!important;}
.scoreValidateBtnV113{border:0;border-radius:999px;background:#0b3d6e;color:#fff;font-weight:800;font-size:.76rem;padding:7px 10px;cursor:pointer;white-space:nowrap;}
.scoreValidateBtnV113:hover{filter:brightness(.96);}
.scoreActionV6924{gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;row-gap:5px;}

/* ===== Lot H — Forfait ===== */
/* Badge « Forfait » : discret, sur la 2e couleur du club, s'insère à côté du
   score sans casser la mise en page (inline-flex, taille réduite). */
.scoreForfeitBadgeV6924{
  display:inline-flex;align-items:center;
  margin:0;padding:2px 9px;
  border-radius:999px;
  background:#c81e1e;
  color:#fff;font-weight:800;font-size:.6rem;
  letter-spacing:.05em;text-transform:uppercase;
  white-space:nowrap;line-height:1.4;
}
.scoreReadV6924.has-forfeit{white-space:nowrap;}
/* Bouton bascule « FF » à la saisie : compact, à gauche des deux champs. */
/* t95k/P9 — Bouton forfait dans la zone d'actions (plus dans la cellule score).
   Pastille compacte à la hauteur du bouton supprimer (32px), 2e couleur du club. */
.scoreForfeitBtnV6924{
  height:32px;min-width:32px;padding:0 9px;margin-right:6px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--scores-secondary,#55b7d9);
  border-radius:10px;background:#fff;
  color:var(--scores-secondary,#55b7d9);
  font-weight:850;font-size:.72rem;line-height:1;cursor:pointer;
  white-space:nowrap;flex:0 0 auto;letter-spacing:.02em;
}
.scoreForfeitBtnV6924.is-active{
  background:var(--scores-secondary,#55b7d9);color:#fff;
  border-color:var(--scores-secondary,#55b7d9);
}
.scoreForfeitBtnV6924:hover{filter:brightness(.96);}

/* Popover de choix hôte/adverse — appendu au body, positionné en JS. */
.scoreForfeitMenuV6924{
  position:fixed;z-index:1000;min-width:220px;max-width:min(88vw,300px);
  background:#fff;border:1px solid rgba(16,35,56,.12);border-radius:14px;
  box-shadow:0 14px 40px rgba(16,35,56,.22);padding:6px;
  display:flex;flex-direction:column;gap:2px;
}
.scoreForfeitMenuTitleV6924{
  font-size:.64rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
  color:var(--scores-muted,#7488a0);padding:6px 10px 4px;
}
.scoreForfeitMenuItemV6924{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  padding:11px 12px;border:0;border-radius:9px;background:transparent;
  color:var(--scores-ink,#0f2338);font-weight:750;font-size:.9rem;line-height:1.2;
  cursor:pointer;min-height:44px;
}
.scoreForfeitMenuItemV6924:hover{background:rgba(85,183,217,.10);}
.scoreForfeitMenuItemV6924.is-active{
  background:var(--scores-secondary,#55b7d9);color:#fff;
}
.scoreForfeitMenuItemV6924.is-active:hover{filter:brightness(.97);background:var(--scores-secondary,#55b7d9);}
.scoreForfeitMenuItemV6924.is-clear{
  color:#b91c1c;font-weight:700;margin-top:2px;
  border-top:1px solid rgba(16,35,56,.08);border-radius:0 0 9px 9px;
}
.scoreForfeitMenuItemV6924.is-clear:hover{background:rgba(254,242,242,.9);}

/* t95n/P1 — Menu de gestion d'un logo d'adversaire (Remplacer / Supprimer). */
.scoreLogoManageMenuV756{
  position:fixed;z-index:1000;min-width:200px;max-width:min(86vw,280px);
  background:#fff;border:1px solid rgba(16,35,56,.12);border-radius:14px;
  box-shadow:0 14px 40px rgba(16,35,56,.22);padding:6px;
  display:flex;flex-direction:column;gap:2px;
}
.scoreLogoManageTitleV756{
  font-size:.64rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
  color:var(--scores-muted,#7488a0);padding:6px 10px 4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.scoreLogoManageItemV756{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  padding:11px 12px;border:0;border-radius:9px;background:transparent;
  color:var(--scores-ink,#0f2338);font-weight:750;font-size:.9rem;line-height:1.2;
  cursor:pointer;min-height:44px;
}
.scoreLogoManageItemV756:hover{background:rgba(85,183,217,.10);}
.scoreLogoManageItemV756.is-danger{color:#b91c1c;}
.scoreLogoManageItemV756.is-danger:hover{background:rgba(254,242,242,.9);}

/* =====================================================
   LOT [SCORES-LIGNE] — ligne de score lisible sur mobile
   -----------------------------------------------------
   RETOUR DE DAN (2 itérations) : « l'affichage est confus », puis « les
   boutons sont trop gros en hauteur et le score avec les équipes n'est pas
   centré ». Arbitrages retenus par Dan : tout à 22 px, badge raccourci en
   « À VALIDER ».

   CAUSE 1 — DÉBORDEMENT (1re itération). La ligne était une grille de
   7 colonnes  42px | 1fr | 22px | 44px | 22px | 1.02fr | max-content :
   la colonne 1 (42px) portait À LA FOIS « P3 » ET le badge, impossible à
   tenir ; la colonne 7 en max-content était gonflée par « Valider ». Les
   deux débordements se rejoignaient au centre.
   → Corrigé par un passage à DEUX RANGÉES (grid-template-areas).

   CAUSE 2 — MATCH NON CENTRÉ (2e itération, erreur de MA 1re version).
   J'avais posé  auto | 22px | 44px | 22px | 1fr  : le côté domicile se
   réglait sur son contenu (étroit) pendant que le côté extérieur prenait
   tout le reste. Le bloc du match se collait donc à gauche — j'avais
   reproduit sans le voir l'asymétrie que je corrigeais.
   → Les deux côtés passent en 1fr : le score se centre mécaniquement et les
   logos l'encadrent symétriquement.

   CAUSE 3 — BOUTONS INÉGAUX ET TROP HAUTS. Trois hauteurs cohabitaient :
   « Forfait » à 26px, « × » bridé à 22px par une règle antérieure en
   !important, et « Valider » SANS hauteur (dimensionné par son texte, donc
   le plus grand). → Hauteur unique de 22px, alignée sur le « × » existant.

   CIBLE TACTILE — point soulevé auprès de Dan et traité, pas ignoré.
   22px est sous le minimum recommandé (44px, Apple HIG) pour des actions à
   conséquence comme valider un score ou déclarer un forfait. La hauteur
   VISUELLE reste 22px comme demandé ; la zone TOUCHABLE est étendue à ~40px
   par un ::after transparent qui déborde du bouton. Technique standard :
   l'aspect et la cible tactile sont deux choses distinctes, on n'a pas à
   sacrifier l'une pour l'autre.

   NON VÉRIFIÉ VISUELLEMENT : jsdom ne fait aucun rendu CSS. À valider sur
   l'appareil (règle n°1 du projet). Bloc unique en fin de fichier, sous
   media query : annulable en le retirant, sans toucher au reste.
   ===================================================== */
@media(max-width:620px){
  #scoresWERoot .scoreLineV6924{
    /* Côtés symétriques : c'est ce qui centre le score.
       LA COLONNE CENTRALE FAIT 96px, PAS 44px — et c'est une contrainte, pas
       un réglage. Le bloc « URW V6.9.8.0 — multi-digit score visibility fix »
       fixe .scoreCenterV6924 / .scoreReadV6924 / .scoreEditV6924 à
       width:96px + flex-shrink:0 + overflow:visible!important sur petit
       écran. En ne lui donnant que 44px (valeur héritée de l'ancienne grille
       à 7 colonnes), la cellule DÉBORDAIT de sa colonne au lieu de rétrécir :
       le score adverse glissait sous le logo adverse, illisible et
       impossible à saisir — exactement le défaut que le lot V6.9.8.0 avait
       corrigé, et que j'avais réintroduit. Le badge « Forfait », empilé sous
       le score par .scoreCenterV6924{flex-direction:column}, débordait pour
       la même raison.
       On respecte donc la largeur exigée en amont plutôt que de la
       contredire ici. */
    grid-template-columns:minmax(0,1fr) 22px 96px 22px minmax(0,1fr);
    grid-template-areas:
      "cat  cat cat cat act"
      "home lh  sc  la  away";
    row-gap:6px;
    align-items:center;
    padding:8px 8px;
  }
  #scoresWERoot .scoreCategoryV6924{
    grid-area:cat;
    justify-self:start;
    flex-wrap:nowrap;         /* le badge ne passe plus sous la catégorie */
    min-width:0;
  }
  /* « P3 » plus petit et discret : c'est une étiquette, pas un titre. */
  #scoresWERoot .scoreCategoryV6924 strong{
    max-width:none;
    font-size:.58rem;
    opacity:.72;
    letter-spacing:.06em;
  }
  /* Badge : libellé complet « Score à valider ». La place existe depuis la
     réorganisation en deux rangées — vérifié par Dan sur device.
     flex-shrink:0 est la GARANTIE que ça tient dans tous les cas : si le nom
     de catégorie est long (« F.C. L'ÉQUIPE W-C », « RÉSERVE Ê Ï »…), c'est
     LUI qui se tronque en « … », jamais le badge. Sans cette ligne, les deux
     se disputeraient la place et le badge redeviendrait illisible — le
     défaut d'origine. */
  #scoresWERoot .scoreStateBadgeV6924{
    font-size:.55rem;
    min-height:22px;
    padding:0 8px;
    align-items:center;
    white-space:nowrap;
    flex:0 0 auto;
  }
  /* La catégorie est l'élément qui cède : elle peut rétrécir et s'ellipser
     (overflow/text-overflow viennent de la règle de base). */
  #scoresWERoot .scoreCategoryV6924 strong{flex:0 1 auto;min-width:0;}
  /* Actions en haut à droite, alignées comme dans Planning. */
  #scoresWERoot .scoreActionV6924{
    grid-area:act;
    justify-self:end;
    align-self:center;
    min-width:0!important;    /* annule le min-width:22px du bloc V6.9.2.5.5 */
    flex-wrap:nowrap;
    gap:6px;
  }
  /* HAUTEUR UNIQUE 22px sur les trois boutons. */
  #scoresWERoot .scoreValidateBtnV113,
  #scoresWERoot .scoreForfeitBtnV6924{
    position:relative;
    height:22px;
    min-height:22px;
    min-width:0;
    padding:0 10px;
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.62rem;
    line-height:1;
    border-radius:8px;
  }
  #scoresWERoot .scoreValidateBtnV113{border-radius:999px;}
  /* CIBLE TACTILE ÉTENDUE : le bouton reste haut de 22px à l'oeil, mais la
     zone qui répond au doigt fait ~40px. Sans cela, valider un score ou
     déclarer un forfait deviendrait difficile à toucher sur un terrain. */
  #scoresWERoot .scoreValidateBtnV113::after,
  #scoresWERoot .scoreForfeitBtnV6924::after,
  #scoresWERoot .scoreDeleteBtnV6924::after{
    content:"";
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:calc(100% + 16px);
    height:40px;
  }
  #scoresWERoot .scoreDeleteBtnV6924{position:relative;}
  /* Rangée 2 : le match, chaque élément à sa place, centré. */
  #scoresWERoot .scoreTeamNameHomeV6924{grid-area:home;text-align:right;}
  #scoresWERoot .scoreTeamLogoV6924.is-home{grid-area:lh;}
  #scoresWERoot .scoreCenterV6924{grid-area:sc;}
  #scoresWERoot .scoreTeamLogoV6924.is-away{grid-area:la;}
  #scoresWERoot .scoreTeamNameAwayV6924{grid-area:away;text-align:left;}
  #scoresWERoot .scoreTeamNameV6924{font-size:.8rem;}
  /* Filet : même si une règle future rétrécissait la colonne, la cellule ne
     doit plus JAMAIS déborder sur les logos. On borne au lieu de laisser
     filer. */
  #scoresWERoot .scoreCenterV6924{max-width:100%;overflow:visible;}
  /* Le badge « Forfait » est empilé sous le score (choix du lot t95l/P9,
     pour qu'il ne chevauche plus les logos). Il doit rester dans la colonne
     et centré, sans l'élargir. */
  #scoresWERoot .scoreForfeitBadgeV6924{
    max-width:100%;
    font-size:.54rem;
    padding:1px 7px;
    align-self:center;
  }
}
