*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;margin:0;color:#1f2937}
.container{max-width:1200px;margin:auto;padding:20px}
.hero{background:#004a99;color:white;border-radius:18px;padding:28px;margin-bottom:18px}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin:0 0 8px;opacity:.85}
h1{margin:0;font-size:36px}
.subtitle{margin:8px 0 0;opacity:.9}
.status{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:12px 14px;margin-bottom:16px}
.status.ok{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
.status.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.toolbar{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:16px;align-items:end}
label{display:block;font-size:14px;font-weight:bold;margin-bottom:6px;color:#374151}
input,select{width:100%;padding:13px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:16px;background:white}
.search-block{position:relative}
.suggestions{position:absolute;z-index:20;left:0;right:0;top:76px;background:white;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.16);overflow:hidden;max-height:320px;overflow-y:auto}
.suggestion{padding:12px 14px;border-bottom:1px solid #f1f5f9;cursor:pointer}
.suggestion:hover{background:#eef6ff}
.suggestion small{display:block;color:#64748b;margin-top:3px}
.no-result{padding:12px 14px;color:#64748b}
.selected-player{background:#eaf4ff;border:1px solid #bfdbfe;color:#0f3f74;border-radius:14px;padding:12px 14px;margin-bottom:16px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.selected-player strong{font-size:18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.card,.player-card,.table-section{background:white;border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.card strong{display:block;font-size:28px;color:#004a99}
.hidden{display:none!important}
.player-card h2,.table-section h2{margin-top:0}
.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
button{border:none;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:bold}
.secondary{background:#e5e7eb;color:#111827}
.path-item{border-left:4px solid #004a99;padding:10px 12px;margin:10px 0;background:#f8fafc;border-radius:8px}
.path-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.path-tour{font-weight:bold;color:#004a99}
.win{color:#047857;font-weight:bold}
.loss{color:#b91c1c;font-weight:bold}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:white}
th,td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left;vertical-align:top}
th{background:#f9fafb;color:#374151}
tr:hover{background:#f8fafc}
tr.highlight{background:#fff7ed}
@media(max-width:700px){.toolbar,.cards{grid-template-columns:1fr}h1{font-size:28px}th,td{font-size:14px}.selected-player,.section-header{display:block}.section-header button{margin-bottom:10px}}

.ranking{background:#eef6ff;display:inline-block;padding:6px 10px;border-radius:999px;color:#004a99}

.winner{color:#004a99}
.ranking-inline{color:#64748b;font-weight:normal}


/* Optimisation smartphone V11 */
@media (max-width: 768px) {
  .container {
    padding: 12px;
  }

  .hero {
    padding: 18px;
    border-radius: 16px;
    margin-bottom: 14px;
  }

  .kicker {
    font-size: 11px;
  }

  .hero h1,
  h1 {
    font-size: 30px;
    line-height: 1.1;
  }

  .subtitle {
    font-size: 15px;
    line-height: 1.3;
  }

  #status {
    font-size: 15px;
    padding: 10px 12px;
    margin-bottom: 12px;
  }

  .toolbar {
    gap: 10px;
    margin-bottom: 12px;
  }

  label {
    font-size: 13px;
  }

  input,
  select {
    padding: 11px 12px;
    font-size: 15px;
  }

  #stats {
    display: none !important;
  }

  .player-card,
  .table-section {
    padding: 14px;
    border-radius: 14px;
  }

  .player-card h2,
  .table-section h2 {
    font-size: 22px;
  }

  .path-item {
    padding: 9px 10px;
    margin: 8px 0;
  }

  table {
    min-width: 720px;
  }

  th,
  td {
    padding: 8px;
    font-size: 13px;
  }
}


/* Joueurs cliquables V12 */
.player-link {
  background: none;
  border: 0;
  padding: 0;
  color: #004a99;
  font: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.player-link:hover {
  color: #002f66;
}

.player-link.winner {
  font-weight: 700;
}

td .player-link {
  display: inline;
}


/* Liens adversaires dans le parcours V14 */
.path-player-link {
  font-weight: inherit;
}

/* V15 — vainqueur à gauche, score central, derniers résultats */
.muted{color:#64748b;font-size:12px;margin-left:4px}
.score-cell{font-weight:900;color:#b91c1c;text-align:center;white-space:nowrap;font-size:16px}
.winner-cell .player-link{font-weight:900;color:#003f7f}
.latest-section{background:white;border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.06);margin-bottom:16px}
.latest-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.latest-header h2{margin:0;color:#004a99}
.latest-header p{margin:4px 0 0;color:#64748b}
.latest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.latest-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}
.latest-meta{font-size:13px;color:#64748b;margin-bottom:8px;font-weight:bold}
.match-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.match-score{background:#fff1f2;color:#b91c1c;font-weight:900;border-radius:999px;padding:6px 10px;white-space:nowrap;text-align:center}
.match-winner{font-weight:900}
.match-loser{color:#475569}
.match-player{min-width:0}
.match-player .player-link{max-width:100%;white-space:normal}

@media(max-width:768px){
  .latest-grid{grid-template-columns:1fr}
  .latest-section{padding:14px;border-radius:14px}
  .latest-header{display:block}
  .match-line{grid-template-columns:1fr;text-align:left;gap:6px}
  .match-score{justify-self:start}

  .table-wrap{overflow-x:visible}
  table{min-width:0;border-collapse:separate;border-spacing:0 10px;background:transparent}
  thead{display:none}
  tbody,tr,td{display:block;width:100%}
  tr{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:10px;box-shadow:0 4px 12px rgba(15,23,42,.05)}
  tr:hover{background:white}
  tr.highlight{background:#fff7ed}
  td{border-bottom:0;padding:6px 4px;font-size:14px}
  td::before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;margin-bottom:2px}
  td.score-cell{text-align:left;font-size:18px;color:#b91c1c}
  td.winner-cell{font-size:16px}
}

/* V16 — personnalisation logo TCS + suppression Derniers résultats */
.hero{
  display:flex;
  align-items:center;
  gap:18px;
  background:linear-gradient(135deg,#004a99 0%,#00356f 100%);
  border:1px solid rgba(255,255,255,.16);
}
.hero-logo-wrap{
  width:96px;
  height:96px;
  border-radius:999px;
  background:white;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  flex:0 0 auto;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.hero-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.hero-text{min-width:0}

@media(max-width:768px){
  .hero{
    gap:12px;
    padding:16px;
  }
  .hero-logo-wrap{
    width:68px;
    height:68px;
    padding:6px;
  }
  .subtitle{font-size:14px}
}

/* V18 — correction réelle : date et épreuve dans la même cellule + cache busting */
.meta-cell{white-space:normal;min-width:190px}
.meta-cell .match-date{font-weight:700;color:#1f2937}
.meta-cell .meta-separator{color:#94a3b8;margin:0 6px}
.meta-cell .match-event{color:#475569}

@media(max-width:768px){
  .table-section{padding:14px 12px}
  .table-section h2{font-size:24px;margin-bottom:10px}
  .table-wrap{overflow-x:visible}
  table{min-width:0;border-collapse:separate;border-spacing:0 8px;background:transparent}
  thead{display:none}
  tbody,tr,td{display:block;width:100%}
  tr{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;box-shadow:0 4px 12px rgba(15,23,42,.05)}
  tr:hover{background:white}
  tr.highlight{background:#fff7ed}
  td{border-bottom:0;padding:0;font-size:14px}
  td::before{display:none!important;content:none!important}

  .meta-cell{font-size:13px;line-height:1.25;margin-bottom:8px;color:#64748b}
  .meta-cell .match-date{font-weight:700;color:#334155}
  .meta-cell .match-event{color:#64748b}

  td.winner-cell{font-size:16px;margin-bottom:7px;line-height:1.25}
  td.score-cell{display:inline-flex;width:max-content;max-width:100%;background:#fff1f2;border-radius:999px;padding:5px 12px;margin-bottom:7px;text-align:left;font-size:17px;line-height:1.1;color:#b91c1c;font-weight:900}
  td.loser-cell{font-size:14px;line-height:1.25;color:#475569}
  .ranking-inline{font-size:.92em}
}


/* V19 — affichage des clubs joueurs si présents dans matchs.json */
.player-with-club{display:inline-flex;flex-direction:column;gap:2px;align-items:flex-start;line-height:1.2}
.club-line{display:block;color:#64748b;font-size:12px;font-weight:600;text-decoration:none;margin-left:1.55em}
.loser-cell .club-line{color:#64748b}
.path-club{margin-left:0;margin-top:2px;font-size:12px}
@media(max-width:768px){
  .club-line{font-size:12px;margin-left:1.55em}
  td.winner-cell{margin-bottom:6px}
  td.loser-cell{margin-top:2px}
}


/* V8 — enrichissement avec joueurs.json */
.player-with-club{
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  line-height:1.2;
}
.club-line{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  margin-top:2px;
}
.path-club{
  margin-left:0;
}
.player-details{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 18px;
}
.player-details div{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
}
.player-details span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.player-details strong{
  color:#0f3f74;
  font-size:14px;
}

@media(max-width:768px){
  .club-line{font-size:11px}
  .player-details{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
  .player-details div{padding:9px}
  .player-details strong{font-size:13px}
}

/* V9 — statistiques individuelles joueur */
.player-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}
.player-badges span{
  background:#eaf4ff;
  color:#0f3f74;
  border:1px solid #bfdbfe;
  border-radius:999px;
  padding:7px 10px;
  font-size:13px;
  font-weight:800;
}
.individual-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 20px;
}
.individual-card{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  min-height:82px;
}
.individual-card span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:5px;
}
.individual-card strong{
  display:block;
  color:#004a99;
  font-size:22px;
  line-height:1.1;
}
.individual-card small{
  display:block;
  color:#475569;
  margin-top:6px;
  line-height:1.25;
}
.main-stat strong{
  font-size:28px;
}

@media(max-width:768px){
  .player-badges{gap:6px;margin-bottom:12px}
  .player-badges span{font-size:12px;padding:6px 8px}
  .individual-stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
  .individual-card{padding:10px;min-height:74px}
  .individual-card span{font-size:11px}
  .individual-card strong{font-size:19px}
  .main-stat strong{font-size:24px}
}


/* V20 - fiche joueur compacte */
.player-badges{
display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px;
}
.player-badges .badge{
padding:6px 10px;border-radius:999px;font-size:13px;
}
.player-stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:8px;
margin-bottom:12px;
}
.player-stat-mini{
background:#f8fafc;
border:1px solid #e5e7eb;
border-radius:12px;
padding:8px;
text-align:center;
}
.player-stat-mini .value{font-size:24px;font-weight:800;color:#004a99;line-height:1}
.player-stat-mini .label{font-size:11px;color:#64748b;margin-top:3px}
.player-perfs{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px;
margin-bottom:12px;
}
.player-perf{
background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px;
font-size:13px;
}
.player-perf strong{display:block;color:#004a99}
@media(max-width:768px){
.player-stats-grid{grid-template-columns:repeat(4,1fr);gap:6px}
.player-stat-mini{padding:6px}
.player-stat-mini .value{font-size:20px}
.player-stat-mini .label{font-size:10px}
.player-perfs{grid-template-columns:1fr 1fr 1fr;gap:6px}
.player-perf{padding:6px;font-size:12px}
}


/* V11 - fiche joueur ultra compacte */
.player-card h2{margin-bottom:12px}
.player-details{margin-bottom:8px}
.compact-badges{gap:5px;margin:8px 0 10px}
.compact-badges span{font-size:12px;padding:5px 8px;line-height:1}
.player-stats-inline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:6px 0 8px;
}
.player-stats-inline div{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:7px 4px;
  text-align:center;
  min-width:0;
}
.player-stats-inline strong{
  display:block;
  color:#004a99;
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
}
.player-stats-inline span{
  display:block;
  color:#64748b;
  font-size:10px;
  margin-top:2px;
  white-space:nowrap;
}
.compact-perfs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 14px}
.compact-perfs .player-perf{padding:7px;border-radius:11px;font-size:12px;min-width:0}
.compact-perfs .player-perf span{display:block;color:#64748b;font-size:11px;font-weight:900;margin-bottom:2px;white-space:nowrap}
.compact-perfs .player-perf strong{font-size:16px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-perfs .player-perf small{display:block;color:#64748b;font-size:10px;line-height:1.15;margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.path-title{margin-top:10px;margin-bottom:10px}
@media(max-width:768px){
  .player-card{padding:14px}
  .player-card h2{font-size:28px;margin-bottom:10px}
  .player-details{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
  .player-details div{padding:8px}
  .player-details span{font-size:11px;margin-bottom:4px}
  .player-details strong{font-size:15px}
  .compact-badges{margin:8px 0 9px}
  .compact-badges span{font-size:11px;padding:5px 7px}
  .player-stats-inline{gap:5px;margin:4px 0 7px}
  .player-stats-inline div{padding:6px 2px;border-radius:10px}
  .player-stats-inline strong{font-size:15px}
  .player-stats-inline span{font-size:9px}
  .compact-perfs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:7px 0 12px}
  .compact-perfs .player-perf{padding:6px 5px;font-size:11px;border-radius:10px}
  .compact-perfs .player-perf span{font-size:10px}
  .compact-perfs .player-perf strong{font-size:14px}
  .compact-perfs .player-perf small{font-size:9px;-webkit-line-clamp:2}
  .path-title{font-size:24px;margin-top:10px;margin-bottom:8px}
}

/* V12 - parcours graphique joueur */
.graphic-title{
  margin-top:10px;
  margin-bottom:8px;
}
.graphic-path{
  position:relative;
  display:grid;
  gap:8px;
  margin:6px 0 14px;
}
.graphic-step{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.graphic-step:not(:last-child)::after{
  content:"";
  position:absolute;
  left:16px;
  top:34px;
  bottom:-10px;
  width:2px;
  background:#dbeafe;
}
.graphic-node{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eaf4ff;
  border:1px solid #bfdbfe;
  font-size:17px;
  z-index:1;
}
.graphic-loss .graphic-node{
  background:#fff1f2;
  border-color:#fecaca;
}
.graphic-content{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px 10px;
  min-width:0;
}
.graphic-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#64748b;
  font-size:12px;
  margin-bottom:3px;
}
.graphic-top strong{
  color:#004a99;
}
.graphic-main{
  font-size:14px;
  line-height:1.25;
}
.graphic-score{
  display:inline-flex;
  margin-top:5px;
  background:#fff1f2;
  color:#b91c1c;
  border-radius:999px;
  padding:3px 8px;
  font-size:13px;
  font-weight:900;
}
.chrono-title{
  margin-top:12px;
}
@media(max-width:768px){
  .graphic-title{font-size:22px;margin-top:8px;margin-bottom:6px}
  .graphic-path{gap:6px;margin-bottom:10px}
  .graphic-step{grid-template-columns:30px minmax(0,1fr);gap:7px}
  .graphic-step:not(:last-child)::after{left:14px;top:30px;bottom:-8px}
  .graphic-node{width:30px;height:30px;font-size:15px}
  .graphic-content{padding:7px 8px;border-radius:11px}
  .graphic-top{font-size:11px}
  .graphic-main{font-size:13px}
  .graphic-score{font-size:12px;padding:3px 7px}
}

.summary-card{background:#f7f9fc;border:1px solid #d9e2ef;border-radius:14px;padding:12px;margin:12px 0}.summary-card h3{margin:0 0 8px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;font-size:.95rem}
.player-perf.muted{
  opacity:.72;
}
.player-perf.muted strong{
  color:#64748b;
}


/* Badges tableau principal / consolante */
.card small{
  display:block;
  margin-top:4px;
  color:#52637a;
  font-size:12px;
  font-weight:700;
}
.table-badge-wrap{
  display:block;
  margin-top:5px;
}
.badge-tableau{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:3px 9px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  line-height:1;
  white-space:nowrap;
}
.badge-principal{
  background:#eaf4ff;
  border:1px solid #bfdbfe;
  color:#003f7f;
}
.badge-consolante{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
}
.path-top .badge-tableau{
  margin-left:6px;
  vertical-align:middle;
}


/* Version mobile compacte - Open 2026 matchs */
@media (max-width: 700px){

  #results tbody tr{
    position: relative !important;
    padding: 14px 14px 12px !important;
    gap: 5px !important;
  }

  #results tbody td{
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

  #results tbody td.meta-cell{
    padding-bottom: 6px !important;
  }

  .meta-inline{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    line-height:1.15 !important;
  }

  .match-date,
  .meta-separator,
  .match-event{
    font-size:0.92rem !important;
    line-height:1.15 !important;
  }

  .table-badge-wrap{
    display:inline-flex !important;
    margin-left:4px !important;
  }

  .badge-tableau{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:3px 10px !important;
    border-radius:999px !important;
    font-size:0.72rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* Score rapproché du vainqueur */
  #results tbody td.winner-cell{
    padding-right:95px !important;
    min-height:38px !important;
  }

  #results tbody td.score-cell{
    position:absolute !important;
    right:14px !important;
    top:82px !important;
    width:auto !important;
    min-width:64px !important;
    text-align:right !important;
    padding:0 !important;
    background:transparent !important;
  }

  #results tbody td.score-cell::before{
    display:none !important;
    content:'' !important;
  }

  .score-cell{
    font-size:1rem !important;
  }

  .score-cell,
  .match-score{
    line-height:1 !important;
  }

  #results tbody td.score-cell{
    color:#b40000 !important;
    font-weight:900 !important;
  }

  #results tbody td.score-cell:not(:empty){
    display:block !important;
  }

  .player-with-club{
    gap:1px !important;
  }

  .player-link{
    font-size:1.02rem !important;
    line-height:1.1 !important;
  }

  .ranking-inline{
    font-size:0.88rem !important;
  }

  .club-line{
    font-size:0.72rem !important;
    line-height:1.1 !important;
    margin-top:1px !important;
  }

  #results tbody td.loser-cell{
    margin-top:4px !important;
  }

  #results tbody td.loser-cell .player-link::before{
    content:'vs ';
    color:#607086;
    font-weight:700;
    text-decoration:none;
  }
}


/* V31 — optimisation vue PC uniquement */
@media (min-width: 769px){

  .table-section{
    padding:14px 16px;
  }

  .table-section h2{
    margin-bottom:14px;
  }

  th{
    padding:8px 10px;
    font-size:15px;
  }

  td{
    padding:6px 10px;
    font-size:14px;
    line-height:1.2;
  }

  .meta-cell{
    min-width:210px;
    white-space:normal;
  }

  .meta-inline{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
  }

  .meta-cell .meta-separator{
    margin:0 3px;
  }

  .table-badge-wrap{
    display:inline-flex;
    margin-top:0;
    margin-left:4px;
  }

  .badge-tableau{
    padding:3px 9px;
    font-size:10px;
    line-height:1;
  }

  .winner-cell,
  .loser-cell{
    min-width:230px;
  }

  .winner-cell .player-link,
  .loser-cell .player-link{
    font-size:15px;
    line-height:1.1;
  }

  .ranking-inline{
    font-size:13px;
  }

  .club-line{
    font-size:10.5px;
    line-height:1.05;
    margin-top:1px;
    color:#6b7a90;
  }

  .score-cell{
    width:120px;
    text-align:center;
    vertical-align:middle;
  }

  .score-cell{
    color:#b91c1c;
    font-weight:900;
    font-size:15px;
  }

  tr:hover{
    background:#f8fbff;
  }
}


/* V33 - colonne score parfaitement centrée sur PC */
@media (min-width:769px){

  th:nth-child(3){
    width:140px !important;
    min-width:140px !important;
    text-align:center !important;
  }

  td.score-cell{
    width:140px !important;
    min-width:140px !important;
    text-align:center !important;
    vertical-align:middle !important;
    font-weight:900 !important;
    color:#b91c1c !important;
  }
}


/* V34 - équilibrage colonnes PC */
@media (min-width:769px){

  table{
    table-layout:fixed;
    width:100%;
  }

  th:nth-child(1),
  td.meta-cell{
    width:22%;
  }

  th:nth-child(2),
  td.winner-cell{
    width:32%;
  }

  th:nth-child(3),
  td.score-cell{
    width:14%;
    min-width:140px;
    text-align:center !important;
  }

  th:nth-child(4),
  td.loser-cell{
    width:32%;
  }

  td.score-cell{
    font-size:16px;
    font-weight:900;
  }
}

/* V35 - filtre club, favoris et alerte visuelle */
.toolbar{
  grid-template-columns:2fr 1fr 1fr;
}
.favorite-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  min-width:26px;
  padding:0;
  margin-left:5px;
  border-radius:999px;
  background:#eef2f7;
  color:#64748b;
  font-size:17px;
  line-height:1;
  vertical-align:middle;
}
.favorite-btn.active{
  background:#fff7ed;
  color:#d97706;
  border:1px solid #fed7aa;
}
.favorite-btn:hover{
  background:#eaf4ff;
  color:#004a99;
}
.favorite-alert{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.player-card h2 .favorite-btn{
  margin-left:0;
  margin-right:6px;
}
.player-details .favorite-btn{
  width:22px;
  height:22px;
  min-width:22px;
  font-size:14px;
}
@media(max-width:768px){
  .toolbar{grid-template-columns:1fr}
  .favorite-alert{display:block}
  .favorite-alert button{margin-top:10px}
  .favorite-btn{width:24px;height:24px;min-width:24px;font-size:16px}
}


/* V37 - filtre joueurs favoris */
.toolbar{
  grid-template-columns:2fr 1fr 1fr auto;
}
.favorite-filter{
  align-self:end;
}
.favorite-switch{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:9px 12px;
  border:1px solid #dbe5f1;
  background:#fff;
  border-radius:12px;
  font-weight:800;
  color:#123766;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.favorite-switch input{
  width:18px;
  height:18px;
  accent-color:#0b5cab;
}
.favorite-switch small{
  min-width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff7ed;
  color:#d97706;
  font-size:13px;
}
.favorite-switch.disabled{
  opacity:.55;
}
@media(max-width:768px){
  .favorite-switch{justify-content:flex-start}
}

/* V36 - notifications navigateur test */
.notification-panel{
  background:#eef6ff;
  border:1px solid #bfdbfe;
  color:#123766;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.notification-panel p{
  margin:4px 0;
}
.notification-panel small{
  color:#475569;
}
.notification-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.notification-actions button[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
.notification-actions .primary{
  background:#004a99;
  color:white;
  border:0;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
}
@media(max-width:768px){
  .notification-panel{display:block}
  .notification-actions{justify-content:flex-start;margin-top:10px}
}

/* V38 - V2.3 mobile first historique */
.compact-stats{
  grid-template-columns:repeat(3,1fr);
  margin-bottom:12px;
}
.stat-badge{
  text-align:center;
  padding:12px 10px;
}
.stat-badge strong{
  font-size:30px;
  line-height:1;
}
.stat-badge span{
  display:block;
  margin-top:5px;
  font-weight:800;
  color:#334155;
}
.advanced-alerts{
  margin-top:16px;
  background:white;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  overflow:hidden;
}
.advanced-alerts summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:900;
  color:#123766;
  list-style:none;
}
.advanced-alerts summary::-webkit-details-marker{display:none}
.advanced-alerts summary::after{
  content:'+';
  float:right;
  font-size:20px;
  line-height:1;
}
.advanced-alerts[open] summary::after{content:'−'}
.advanced-alerts .notification-panel{
  margin:0;
  border-radius:0;
  box-shadow:none;
  border-left:0;
  border-right:0;
  border-bottom:0;
}

@media(max-width:768px){
  .container{padding:8px;background:#f4f7fb}
  .hero{
    padding:10px 12px;
    gap:9px;
    border-radius:13px;
    margin-bottom:8px;
  }
  .hero-logo-wrap{
    width:46px;
    height:46px;
    padding:4px;
    box-shadow:0 5px 12px rgba(0,0,0,.16);
  }
  .kicker{font-size:9px;margin-bottom:2px;letter-spacing:.05em}
  .hero h1,h1{font-size:22px;line-height:1.05}
  .subtitle{font-size:11px;margin-top:3px;line-height:1.2}

  #status.status{
    margin-bottom:8px;
    padding:7px 9px;
    font-size:12px;
    line-height:1.25;
    border-radius:10px;
  }

  .compact-stats{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:6px;
    margin-bottom:8px;
  }
  .stat-badge{
    padding:7px 4px;
    border-radius:12px;
    box-shadow:0 4px 10px rgba(15,23,42,.05);
  }
  .stat-badge strong{
    font-size:22px;
  }
  .stat-badge span{
    margin-top:2px;
    font-size:11px;
  }

  .toolbar.toolbar-v23{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-bottom:8px;
    align-items:end;
  }
  .toolbar-v23 .search-block,
  .toolbar-v23 .favorite-filter{
    grid-column:1 / -1;
  }
  label{font-size:11px;margin-bottom:3px}
  input,select{
    padding:9px 10px;
    min-height:39px;
    border-radius:10px;
    font-size:14px;
  }
  .suggestions{top:60px}
  .favorite-switch{
    min-height:38px;
    padding:7px 10px;
    border-radius:10px;
    font-size:14px;
    justify-content:center;
  }
  .favorite-switch small{
    width:22px;height:22px;min-width:22px;font-size:12px;
  }

  .selected-player,
  .favorite-alert{
    padding:8px 10px;
    margin-bottom:8px;
    border-radius:11px;
    font-size:13px;
  }
  .player-card,
  .table-section{
    padding:10px;
    border-radius:13px;
  }
  .section-header h2,
  .player-card h2,
  .table-section h2{
    font-size:19px;
    margin-bottom:6px;
  }
  .section-header button{margin:0 0 8px 0;padding:8px 10px;font-size:12px}
  table{border-spacing:0 7px}
  tr{padding:8px;border-radius:12px}
  td{padding:4px 3px;font-size:13px}
  td.score-cell{font-size:16px}

  .advanced-alerts{
    margin-top:10px;
    border-radius:12px;
  }
  .advanced-alerts summary{
    padding:10px 12px;
    font-size:13px;
  }
  .notification-panel{
    padding:10px 12px;
    font-size:12px;
  }
}


/* V2027 - favoris visuels et carte match mise en avant */
#results tbody tr.has-favorite{
  background:#f0f7ff;
  border-color:#bfdbfe;
  box-shadow:0 6px 18px rgba(0,74,153,.10);
}
#results tbody tr.has-two-favorites{
  background:#e8f3ff;
  border-color:#93c5fd;
}
.player-with-club{
  width:100%;
}
.player-name-row{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
}
.player-name-main{
  min-width:0;
  flex:1 1 auto;
}
.player-name-row .favorite-btn{
  margin-left:auto;
  flex:0 0 auto;
}
.player-with-club.is-favorite-player .player-link{
  color:#003f7f;
  font-weight:900;
}
.player-with-club.is-favorite-player .club-line{
  color:#315f91;
}

@media(max-width:768px){
  /* Suppression du “vs” et séparation plus lisible entre les joueurs */
  #results tbody td.loser-cell .player-link::before{
    content:'' !important;
  }
  #results tbody td.loser-cell{
    border-top:1px solid #e2e8f0;
    margin-top:6px !important;
    padding-top:8px !important;
  }
  #results tbody tr.has-favorite{
    background:#f0f7ff !important;
  }
  #results tbody tr.has-two-favorites{
    background:#e8f3ff !important;
  }
  .player-name-row{
    align-items:flex-start;
  }
  .player-link{
    text-decoration:none !important;
  }
  .club-line{
    font-size:0.68rem !important;
    font-weight:500 !important;
    color:#708097 !important;
  }
  .favorite-btn.active{
    background:#fff3c4 !important;
    color:#d97706 !important;
    border-color:#facc15 !important;
  }
}


/* V2.4 / Open2027 - finition mobile favoris */
.favorite-btn{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  border:0 !important;
  background:transparent !important;
  color:#7b8797 !important;
  font-size:18px !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.favorite-btn.active{
  background:transparent !important;
  color:#f4b400 !important;
  border:0 !important;
}
.favorite-btn:hover{background:transparent !important;color:#d97706 !important}
.player-name-row{align-items:center !important; gap:6px !important;}
.player-name-main{display:flex !important; align-items:baseline !important; min-width:0 !important; overflow:hidden !important; white-space:nowrap !important;}
.player-name-main .player-link{min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; display:inline-block !important; max-width:100% !important;}
.ranking-inline{flex:0 0 auto !important; white-space:nowrap !important; margin-left:4px !important;}
.player-name-row .favorite-btn{margin-left:auto !important; flex:0 0 20px !important;}
.club-line{font-size:11px !important; color:#7b8797 !important; font-weight:500 !important; margin-left:0 !important; padding-left:1.55em !important;}
.favorite-filter{align-self:end;}
.favorite-switch{min-height:34px !important; padding:6px 10px !important; border-radius:10px !important; background:transparent !important; border:0 !important; box-shadow:none !important;}
.favorite-switch input{width:16px !important;height:16px !important;}
.favorite-switch small{height:20px !important; min-width:20px !important; font-size:12px !important;}
#results tbody tr.has-favorite{background:#f3f8ff !important; border-color:#cfe5ff !important;}
#results tbody tr.has-two-favorites{background:#e8f3ff !important; border-color:#9fd0ff !important;}

/* V3.5 - classement clubs */
.club-ranking-section{
  background:white;
  border-radius:18px;
  padding:16px;
  margin-top:16px;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.club-ranking-section h2{margin:0 0 12px;font-size:22px;color:#123766;}
.club-ranking-list{display:grid;gap:8px;}
.club-ranking-row{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr auto auto 24px;
  align-items:center;
  gap:10px;
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:14px;
  padding:9px 10px;
  text-align:left;
  cursor:pointer;
}
.club-ranking-row:hover{background:#f8fbff;border-color:#bfdbfe;}
.club-rank{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eaf4ff;color:#004a99;font-weight:900;}
.club-name{font-weight:900;color:#123766;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.club-count,.club-wins{display:flex;flex-direction:column;align-items:center;line-height:1.05;color:#334155;min-width:48px;}
.club-count strong,.club-wins strong{font-size:16px;color:#004a99;}
.club-count small,.club-wins small{font-size:10px;color:#64748b;font-weight:800;}
.empty-club-ranking{color:#64748b;font-weight:700;padding:8px;}

@media(max-width:768px){
  .favorite-switch{justify-content:center !important; min-height:30px !important; margin-top:-2px !important;}
  .favorite-filter{margin-top:-2px;}
  .player-name-row{align-items:center !important;}
  .player-name-main{width:calc(100% - 28px) !important;}
  .player-name-main .player-link{font-size:.98rem !important; line-height:1.08 !important;}
  .ranking-inline{font-size:.82rem !important;}
  .player-name-row .favorite-btn{width:18px !important;height:18px !important;min-width:18px !important;flex-basis:18px !important;font-size:17px !important;}
  .club-line{font-size:.64rem !important; line-height:1.05 !important; color:#7b8797 !important; padding-left:1.45em !important; margin-top:1px !important;}
  #results tbody td.score-cell{top:78px !important;}
  #results tbody td.winner-cell{padding-right:88px !important;}
  .club-ranking-section{padding:10px;border-radius:13px;margin-top:10px;}
  .club-ranking-section h2{font-size:18px;margin-bottom:8px;}
  .club-ranking-list{gap:6px;}
  .club-ranking-row{grid-template-columns:26px 1fr auto 20px;gap:7px;padding:8px;border-radius:11px;}
  .club-rank{width:24px;height:24px;font-size:12px;}
  .club-name{font-size:13px;}
  .club-count{min-width:38px;}
  .club-count strong{font-size:14px;}
  .club-count small{font-size:9px;}
  .club-wins{display:none;}
}

/* V3.6 - correction affichage smartphone cartes résultats */
@media(max-width:768px){
  #results,
  #results tbody,
  #results tr,
  #results td{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #results tbody tr{
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
    padding:10px 10px 11px !important;
    margin:0 0 8px !important;
    border-radius:13px !important;
  }

  #results tbody td{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    min-height:0 !important;
  }

  #results tbody td.meta-cell{
    margin-bottom:9px !important;
  }

  #results tbody td.winner-cell{
    padding-right:0 !important;
    margin-bottom:4px !important;
  }

  #results tbody td.score-cell{
    position:static !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 !important;
    margin:2px 0 7px !important;
    background:transparent !important;
    text-align:right !important;
    font-size:1rem !important;
    line-height:1.05 !important;
    color:#b40000 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  #results tbody td.loser-cell{
    border-top:1px solid #e2e8f0 !important;
    padding-top:8px !important;
    margin-top:4px !important;
  }

  .player-with-club{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  .player-name-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 22px !important;
    align-items:center !important;
    gap:6px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .player-name-main{
    display:flex !important;
    align-items:baseline !important;
    min-width:0 !important;
    width:100% !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  .player-name-main .player-link{
    display:inline-block !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:.98rem !important;
    line-height:1.08 !important;
  }

  .ranking-inline{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:.82rem !important;
    margin-left:4px !important;
  }

  .player-name-row .favorite-btn{
    justify-self:end !important;
    margin:0 !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    font-size:16px !important;
    line-height:1 !important;
  }

  .club-line{
    display:block !important;
    padding-left:1.45em !important;
    margin:2px 0 0 !important;
    font-size:.64rem !important;
    line-height:1.05 !important;
    color:#7b8797 !important;
    font-weight:500 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .meta-inline{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    min-width:0 !important;
  }
}


/* V3.7 - correction définitive smartphone : score jamais hors écran */
@media (max-width:768px){
  .container{overflow-x:hidden !important;}
  .table-section{overflow:hidden !important; padding:14px 10px !important;}
  .table-wrap{overflow-x:hidden !important; width:100% !important;}
  #results{width:100% !important; max-width:100% !important; table-layout:auto !important; border-collapse:separate !important; border-spacing:0 8px !important;}
  #results tbody{display:block !important; width:100% !important; max-width:100% !important;}
  #results tbody tr{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "meta meta"
      "winner score"
      "loser loser" !important;
    column-gap:8px !important;
    row-gap:5px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding:10px 10px 11px !important;
    box-sizing:border-box !important;
  }
  #results tbody td{display:block !important; width:auto !important; max-width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important; box-sizing:border-box !important;}
  #results tbody td.meta-cell{grid-area:meta !important;}
  #results tbody td.winner-cell{grid-area:winner !important; align-self:center !important; padding:0 !important; margin:0 !important; min-width:0 !important;}
  #results tbody td.score-cell{
    grid-area:score !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    justify-self:end !important;
    align-self:center !important;
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:112px !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    text-align:right !important;
    color:#b40000 !important;
    font-weight:900 !important;
    font-size:.98rem !important;
    line-height:1.1 !important;
  }
  #results tbody td.score-cell::before{display:none !important; content:none !important;}
  #results tbody td.loser-cell{grid-area:loser !important; border-top:1px solid #e2e8f0 !important; padding-top:7px !important; margin-top:2px !important; min-width:0 !important;}
  .player-with-club{display:block !important; min-width:0 !important; width:100% !important; max-width:100% !important; overflow:hidden !important;}
  .player-name-row{display:grid !important; grid-template-columns:minmax(0,1fr) 18px !important; gap:5px !important; width:100% !important; max-width:100% !important; min-width:0 !important; align-items:center !important;}
  .player-name-main{display:flex !important; align-items:baseline !important; min-width:0 !important; max-width:100% !important; overflow:hidden !important; white-space:nowrap !important;}
  .player-name-main .player-link{min-width:0 !important; max-width:100% !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;}
  .ranking-inline{flex:0 0 auto !important; white-space:nowrap !important;}
  .player-name-row .favorite-btn{justify-self:end !important; width:17px !important; min-width:17px !important; height:17px !important; font-size:15px !important;}
}


/* v6.6 : suppression des favoris clubs */
.club-ranking-row .favorite-btn,
.club-ranking-list .favorite-btn{
  display:none!important;
}


/* v6.8 : tableau de bord Mes favoris */
.favorite-dashboard{
  background:#fff;
  border-radius:20px;
  padding:16px;
  margin:14px 0;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.favorite-dashboard.hidden{display:none}
.favorite-dashboard-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:12px;
}
.favorite-dashboard-head h2{margin:0;font-size:22px;color:#004a99}
.favorite-dashboard-head span{color:#64748b;font-weight:700;font-size:13px}
.favorite-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.favorite-player-card{
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px;
  background:#f8fafc;
}
.favorite-player-card.has-next{
  border-color:#ffd166;
  background:#fffdf4;
}
.favorite-card-name{
  display:flex;
  align-items:center;
  gap:4px;
  border:0;
  background:transparent;
  color:#004a99;
  font-weight:900;
  font-size:15px;
  padding:0;
  cursor:pointer;
}
.favorite-card-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:8px 0;
}
.favorite-card-stats b,.favorite-card-stats span{
  background:#eef7ff;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  color:#004a99;
}
.favorite-card-line{
  color:#475569;
  font-size:13px;
  margin-top:5px;
}
@media(max-width:900px){.favorite-dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .favorite-dashboard-grid{grid-template-columns:1fr}
  .favorite-dashboard-head{display:block}
}


/* V7.0 — historique cohérent avec Matchs terminés du live-score */
#results{
  border-collapse:separate;
  border-spacing:0 14px;
  background:transparent;
  min-width:0;
}
#results thead{display:none}
#results tbody tr,
#results tbody tr:hover,
#results tbody tr.highlight{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
#results tbody td.result-card-cell{
  padding:0!important;
  border:0!important;
  display:table-cell!important;
  width:100%!important;
}
.empty-results{
  background:#fff;
  border-radius:16px;
  padding:18px!important;
  color:#64748b;
}
.history-match-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-left:8px solid #0b5cad;
  border-radius:22px;
  padding:14px 16px 16px;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
  overflow:hidden;
}
.history-card-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#0b4f93;
  font-size:20px;
  font-weight:800;
  margin-bottom:10px;
}
.history-dot{color:#94a3b8;font-weight:700}
.history-epreuve{color:#475569;font-weight:700}
.history-card-body{display:block}
.history-players{min-width:0}
.history-player-row{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.history-player-info{min-width:0}
.history-winner-row{
  background:#fffbea;
  border-color:#f5d94f;
  box-shadow:inset 0 0 0 1px rgba(245,217,79,.45);
  margin-bottom:8px;
}
.history-loser-row{background:#f8fafc}
.history-player-row .player-link{
  text-decoration:none;
  color:#003f7f;
  font-size:20px;
  line-height:1.1;
}
.history-player-row .player-link.winner{font-weight:900}
.history-player-row .club-line{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.history-player-row .ranking-inline{
  background:#eaf3ff;
  color:#004a99;
  border-radius:999px;
  padding:3px 8px;
  font-size:14px;
  font-weight:900;
  margin-left:6px;
}
.inline-score{
  display:grid;
  grid-template-columns:repeat(var(--sets), 34px);
  gap:6px;
  align-items:center;
  justify-content:end;
  flex:0 0 auto;
}
.inline-score span{
  min-height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:25px;
  font-weight:950;
}
.inline-score-winner span{color:#008a24}
.inline-score-loser span{color:#00264d}
.inline-score-wo{
  color:#b40000;
  font-size:24px;
  font-weight:950;
  text-align:right;
  min-width:58px;
}
.inline-score-empty{min-width:58px}
.history-match-card.is-wo .history-winner-row{background:#fff7ed;border-color:#fed7aa}

@media(max-width:768px){
  .table-wrap{overflow-x:visible!important}
  #results{width:100%;border-spacing:0 14px!important}
  #results tbody,
  #results tbody tr,
  #results tbody td.result-card-cell{
    display:block!important;
    width:100%!important;
  }
  .history-match-card{
    border-radius:20px;
    padding:12px 12px 14px;
    border-left-width:7px;
  }
  .history-card-meta{
    font-size:18px;
    gap:8px;
    margin-bottom:10px;
  }
  .history-player-row{
    padding:9px 10px;
    border-radius:13px;
    gap:7px;
  }
  .history-player-row .player-link{font-size:18px}
  .history-player-row .club-line{font-size:12px}
  .history-player-row .ranking-inline{font-size:12px;padding:2px 7px}
  .player-name-row{grid-template-columns:minmax(0,1fr) 20px!important}
  .inline-score{grid-template-columns:repeat(var(--sets), 28px);gap:4px}
  .inline-score span{min-height:30px;font-size:22px}
  .inline-score-wo{font-size:21px;min-width:52px}
  .inline-score-empty{min-width:52px}
}

@media(max-width:430px){
  .history-card-meta{font-size:17px}
  .history-player-row .player-link{font-size:17px}
  .history-player-row{gap:6px}
  .inline-score{grid-template-columns:repeat(var(--sets), 24px);gap:3px}
  .inline-score span{font-size:21px;min-height:28px}
}
