
/*//////////////////////////////////////////////////////////////////
[ DIV and general]*/

.match-div {
  width: 440px;
}

.class-div {
  width: 300px;
}

/* CSS for mobile */
/* Use iPad 1 (768x1024) has minimum size for regular CSS */
@media screen and (max-width: 767px){
    .match-div {
      width: 100%;
    }

    .class-div {
      width: 100%;
    }
}

.opacity10{
    opacity: 0.1;
}

.hidden{
    display: none !important;
}

.show{
    display: inline;
}

/*//////////////////////////////////////////////////////////////////
[ General Table ]*/

table {
  border-spacing: 0;
  border-collapse: collapse;
  background: white;
  border-radius: 0px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}



/*//////////////////////////////////////////////////////////////////
[ Specific Table ]

  Fixture list (PHP: lib/common/match_display.php). Layout tokens (--mp-*)
  intentionally live on table#match to avoid reshaping unrelated tables.

*/

table#match{
    display: table;
    table-layout: fixed;
    width: 100%;
    vertical-align: middle;
    margin-bottom: 0px;
    border-radius: 12px;
    overflow: hidden;
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    box-shadow: var(--ps-card-ring, 0 0 0 1px rgba(255, 255, 255, 0.22)),
      var(--ps-card-depth, 0 2px 8px rgba(8, 15, 35, 0.2));
    -webkit-font-smoothing: antialiased;
    isolation: isolate;
    outline: none;
    transform: translateZ(0);
    /* Same band as classement (.class / .classu): */
    --mp-bar: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
    --mp-bar-hover: linear-gradient(180deg, #555555 0%, #494949 100%);
    --mp-bar-edge: #2c2c2c;
    --mp-ink: #0f172a;
    --mp-muted: #64748b;
    --mp-faint: #d1d5db;
    --mp-line: #e2e8f0;
    --mp-surface: #ffffff;
    --mp-alt: #f8fafc;
    --mp-row-hover-bg: #eef2f7;
    --mp-row-hover-ink: #374151;
}
table#match td, table#match th {
  padding: 0;
  border-collapse:collapse;
  border: 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
table#match th {
    padding: 0.5em 0.1em 0.5em 0.1em !important;
    vertical-align: middle;
    font-weight: bold !important;
}
table#match thead tr {
  font-size: 16px;
  height: 50px;
  background: var(--mp-bar) !important;
  vertical-align: middle;
  border-bottom: 1px solid var(--mp-bar-edge);
}

table#match thead tr th:first-child {
  border-left: 0 !important;
  outline: none;
  box-shadow: none;
}

table.prono thead tr {
  font-size: 16px;
  height: 50px;
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%) !important;
  vertical-align: middle;
  border-bottom: 1px solid #2c2c2c;
}
table#match > tfoot {
  background: var(--mp-bar);
}
table#match tfoot tr {
  height: auto;
  min-height: 0;
  background: transparent !important;
  vertical-align: middle;
  border-top: none;
  border-bottom: none;
}

table.prono tfoot tr {
  height: 10px;
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%) !important;
  vertical-align: middle;
}
table#match tfoot tr.line_top {
  border-top: 2px solid #ffffff;  
}
table#match tfoot tr.line_bottom {
  border-bottom: 2px solid #ffffff;  
}
table#match tbody tr, table.prono tbody tr {
  height: 38px;
}
/* Between PHP-generated tbodies — quiet rule */
table#match > tbody ~ tbody {
  border-top: 1px solid var(--mp-line);
}

table#match > tbody ~ tbody:has(> tr:first-child.match-day-row) {
  border-top-width: 0;
}

/* Day / date separator — same gray band as standings headers */
table#match tbody tr.date.match-day-row {
  height: auto;
  min-height: 36px;
  background: var(--mp-bar) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid var(--mp-bar-edge);
  box-shadow: none;
}

table#match tbody tr.match-day-row td {
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
  vertical-align: middle;
}

table#match tbody tr.match-day-row td.match-day-row__journee {
  width: 3.25rem;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  white-space: nowrap;
  text-shadow: none;
}

table#match tbody tr.match-day-row td.match-day-row__when {
  text-align: left;
  padding-left: 1rem !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: normal;
  color: #ffffff !important;
  font-variant-numeric: tabular-nums;
  text-shadow: none;
}

table#match tbody tr.match-day-row .match-day-row__dot {
  display: none;
}

table#match tbody tr.match-day-row td.match-day-row__when::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 1em;
  margin-right: 0.65rem;
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.35);
  vertical-align: middle;
}
table#match tbody tr:last-child {
  border: 0;
}
table#match td.l, table#match th.l {
  text-align: left;
}
table#match td.c, table#match th.c {
  text-align: center;
}
table#match td.r, table#match th.r {
  text-align: right;
}
table#match th{
  font-size: 14px;
  color: #fff;
  line-height: 1.2em;
  font-weight: unset;
}
table#match tbody td{
    padding: 0 0.32em;
    vertical-align: middle;
}
table#match tfoot td{
  padding: 0.25em 0.25em;
  font-size: 14px;
  color: #fff;
  line-height: 1.2em;
  font-weight: unset;
  border-top: none;
  border-bottom: none;
  background-color: transparent !important;
}
table#match tfoot td.black {
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%) !important;
}
table#match tfoot button {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 0.35em 0.8em;
  margin: 0.1em 0.15em;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
table#match tfoot button:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.55);
}
table#match tbody:nth-child(even) {
  background-color: var(--mp-alt);
}
table#match tbody:nth-child(odd) {
  background-color: var(--mp-surface);
}

table#match tbody {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: normal;
  border-collapse:collapse;
  border: 0;
}

table#match tbody tr {
  transition: background-color 0.12s ease;
}

@media (prefers-reduced-motion: reduce) {
  table#match tbody tr {
    transition: none;
  }
}

table#match tbody tr.match-row:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: -2px;
  z-index: 1;
  position: relative;
}

table#match tbody tr.match-row > td {
  vertical-align: middle;
}

table#match tbody img {
  display: inline-block;
  object-fit: contain;
  vertical-align: middle;
}

table#match tbody tr:not(.date):not(.match-day-row):hover {
  background-color: var(--mp-row-hover-bg) !important;
  cursor: pointer;
  box-shadow: none;
}

table#match tbody tr:not(.date):not(.match-day-row):hover td.column3,
table#match tbody tr:not(.date):not(.match-day-row):hover td.column5 {
  color: var(--mp-row-hover-ink);
}

table#match tbody tr:not(.date):not(.match-day-row):hover td.column7 {
  color: var(--mp-muted);
}

table#match tbody tr:not(.date):not(.match-day-row):hover .match-score-chip {
  color: var(--mp-row-hover-ink);
  border-color: #d8dee6;
}

table#match tbody tr.match-day-row:hover {
  cursor: default;
  background: var(--mp-bar-hover) !important;
  filter: none;
  border-top-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

table#match tbody tr.match-day-row:hover td.match-day-row__journee {
  background: rgba(255, 255, 255, 0.09) !important;
}

table#match tbody tr:has(td.pronos):hover {
  background-color: inherit !important;
  box-shadow: none !important;
  cursor: default;
}

table#match .column1 {
  width: 3.75rem;
  min-width: 3.75rem;
  max-width: 3.75rem;
  padding-left: 6px;
  padding-right: 0px;
  font-size: 12.5px;
  text-align: center;
  box-sizing: border-box;
}

/*
 * Status column — neutral cell + compact pill (no full-height dark rail on white rows).
 */
table#match tbody tr:not(.match-day-row) td.column1 {
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  /* Bottom hairline must match other cells (border: 0 was wiping the row divider). */
  border-bottom: 1px solid var(--mp-line) !important;
  box-shadow: none !important;
  color: inherit;
  padding: 1px 4px !important;
  vertical-align: middle !important;
  font-weight: 500;
  letter-spacing: normal;
  font-variant-numeric: tabular-nums;
}

/* Single seam above matchday summary (no double line with #match / prono last row). */
table.prono_toplevel > tbody > tr:first-child td:first-child table#match tbody:last-child tr.match-row > td,
table.prono_toplevel > tbody > tr:first-child td:first-child table#match tbody:last-child tr.lastgames.match-row > td {
  border-bottom: none !important;
}

table#match .match-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 1.85rem;
  max-width: 100%;
  padding: 0.12rem 0.28rem;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid var(--mp-line);
  background: var(--mp-surface);
  color: var(--mp-muted);
  font-variant-numeric: tabular-nums;
  /* No y-offset shadow — reads as an extra hairline under the pill on white rows */
  box-shadow: none;
}

table#match .match-status-chip--date {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 9.5px;
  padding: 0.1rem 0.26rem;
  min-width: 2.35rem;
  color: var(--mp-muted);
}

/* Only neutral statuses — keep tinted chips readable on row hover */
table#match tbody tr:not(.date):not(.match-day-row):hover td.column1:not(.darkgreen_t):not(.darkred_t):not(.darkorange_t):not(.red_t) .match-status-chip {
  border-color: #cbd5e1;
  color: var(--mp-ink);
}

/* Prono row: empty td.column1 spacers beside td.pronos — stay invisible. */
table#match tbody tr:not(.match-day-row):has(td.pronos) td.column1 {
  background: transparent !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

table#match tbody tr:not(.match-day-row) td.column1.darkgreen_t .match-status-chip {
  color: #047857 !important;
  border-color: #6ee7b7;
  background: #ecfdf5;
}

table#match tbody tr:not(.match-day-row) td.column1.darkred_t .match-status-chip {
  color: #991b1b !important;
  border-color: #fecaca;
  background: #fef2f2;
}

table#match tbody tr:not(.match-day-row) td.column1.darkorange_t .match-status-chip {
  color: #b45309 !important;
  border-color: #fcd34d;
  background: #fffbeb;
}

table#match tbody tr:not(.match-day-row) td.column1.red_t .match-status-chip {
  color: #991b1b !important;
  border-color: #fca5a5;
  background: #fef2f2;
}

table#match tbody tr:not(.date):not(:has(td.pronos)):hover td.column1 {
  background: transparent !important;
}

/* Row rules — single neutral divider (collapse + spacing 0 so line runs under status column) */
table#match tbody tr:not(.date):not(.match-day-row):not(.unibet):not(:has(td.pronos)) td {
  border-bottom: 1px solid var(--mp-line);
}

/* column1: skip fixture match-row (status pill + mobile spacer sit above prono; border-collapse drew a stub). */
table#match tbody tr:not(.date):not(.match-day-row):not(.unibet):not(:has(td.pronos)):not(.match-row) td.column1,
table#match tbody tr.match-row.lastgames td.column1 {
  border-bottom: 1px solid var(--mp-line) !important;
}

/* Same fixture: no divider between score row and prono / odds row */
table#match tbody tr.match-row:has(+ tr td.pronos) td,
table#match tbody tr.match-row:has(+ tr td.pronos) td.column1 {
  border-bottom: 0 !important;
}

/* Odds row (tr.unibet): no hairline under status / prono — explicit +tr.unibet (backup for :has(+ tr td.pronos)) */
table#match tbody tr.match-row:has(+ tr.unibet) td,
table#match tbody tr.match-row:has(+ tr.unibet) td.column1,
table#match tbody tr:has(+ tr.unibet):not(.unibet) td,
table#match tbody tr:has(+ tr.unibet):not(.unibet) td.column1 {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

table#match tbody tr.unibet td,
table#match tbody tr.unibet td.column1 {
  border-top: 0 !important;
  box-shadow: none !important;
}

/*
 * Authoritative column widths for #match (table-layout: fixed).
 * <col> elements win over row-derived widths and CSS class widths,
 * so this is the single source of truth for the grid.
 */
table#match > colgroup > col.col-status,
table#match > colgroup > col.col-cta { width: 3.75rem; }
table#match > colgroup > col.col-home-crest,
table#match > colgroup > col.col-away-crest { width: 28px; }
table#match > colgroup > col.col-time { width: 3.5rem; }
table#match > colgroup > col.col-home-name,
table#match > colgroup > col.col-away-name { width: auto; }

table#match .column2,
table#match .column6 {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  padding-left: 0;
  padding-right: 0;
  vertical-align: middle;
  box-sizing: border-box;
  overflow: hidden;
}
/* Column order: col3 name | col2 home crest | col4 time | col6 away crest | col5 name.
 * Crests must hug the time column (not the names): col2 text-align right, col6 text-align left. */
table#match .column2 {
  text-align: right;
}
table#match .column6 {
  text-align: left;
}
table#match tbody tr.lastgames .column2,
table#match tbody tr.lastgames .column6 {
  text-align: center;
}

table#match .column3 {
  width: 32%;
  max-width: 32%;
  text-align: right;
  padding-right: 0.12rem;
  padding-left: 0.06rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: middle;
  box-sizing: border-box;
}

table#match tbody td.column3,
table#match tbody td.column5 {
  color: var(--mp-ink);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: normal;
}

table#match tbody tr.lastgames td.column3,
table#match tbody tr.lastgames td.column5 {
  color: var(--mp-muted);
  font-weight: 500;
}

table#match .column4 {
  width: 6%;
  min-width: 2.5rem;
  max-width: 3.25rem;
  text-align: center;
  vertical-align: middle !important;
  padding-left: 0.04rem !important;
  padding-right: 0.04rem !important;
  white-space: nowrap;
  box-sizing: border-box;
}

/* Score / kickoff — minimal enclosed figure (dashboard / Oddsportal-style) */
table#match .match-score-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 2.65rem;
  padding: 0.22rem 0.22rem;
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: normal;
  color: var(--mp-ink);
  font-feature-settings: "tnum", "lnum";
  background: var(--mp-surface);
  border: 1px solid var(--mp-line);
  border-radius: 4px;
  box-shadow: none;
}

table#match tr.lastgames .match-score-chip {
  color: var(--mp-muted);
  font-weight: 500;
  font-size: 12px;
  background: transparent;
  border-color: transparent;
}

table#match .match-score-chip .blink {
  color: #16a34a;
  opacity: 0.95;
}

table#match .match-score-chip .blinky {
  color: #ca8a04;
  opacity: 0.98;
}

table#match .column5 {
  width: 32%;
  max-width: 32%;
  text-align: left;
  padding-left: 0.12rem;
  padding-right: 0.06rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: middle;
  box-sizing: border-box;
}

table#match .column7 {
  width: 3.75rem;
  min-width: 3.75rem;
  max-width: 3.75rem;
  padding-left: 0;
  padding-right: 0.35rem;
  font-size: 11px;
  color: var(--mp-muted);
  font-weight: 500;
  vertical-align: middle;
  box-sizing: border-box;
}

/*
 * Crest columns must not grow past the logo (fixed tables often stretch “narrow” cols).
 * 5px gutter: home name (column3) → logo; away logo → name (column5).
 */
table#match tbody tr.match-row > td.column2,
table#match tbody tr.match-row > td.column6 {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
}
table#match tbody tr.match-row > td.column3 {
  padding-left: 0 !important;
  padding-right: 5px !important;
}
table#match tbody tr.match-row > td.column5 {
  padding-right: 0 !important;
  padding-left: 5px !important;
}

/* Row logos only — do not resize header / league art (exclude .match-crest) */
table#match tbody tr img:not(.match-crest) {
  height: 28px;
  width: 28px;
  vertical-align: middle;
}

/* Team crests / flags — hairline edge only (no fill behind transparent PNGs) */
table#match img.match-crest {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.14);
  vertical-align: middle;
  background: transparent;
  display: block;
}

table#match .column2 img.match-crest:not(.match-crest--flag),
table#match .column6 img.match-crest:not(.match-crest--flag) {
  width: 28px;
  height: 28px;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
  object-position: center;
}

table#match img.match-crest--flag {
  width: 28px !important;
  height: 20px !important;
  max-width: 28px;
  max-height: 20px;
  object-fit: cover;
  object-position: center;
}

table#match tbody tr.match-row > td.column2:has(img.match-crest--flag),
table#match tbody tr.match-row > td.column6:has(img.match-crest--flag) {
  vertical-align: middle;
}

/* Legacy selector: imgs without .match-crest */
table#match .column2 img:not(.match-crest),
table#match .column6 img:not(.match-crest) {
  width: 28px;
  height: 28px;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
  vertical-align: middle;
}

table#match .pronos {
  text-align: center;
  padding-top: 8px;
  padding-bottom: 12px;
}

@media screen and (max-width: 380px) {
    table#match .column3,
    table#match .column5 {
      max-width: none;
      width: 40%;
      min-width: 0;
    }
    table#match .column4 {
      min-width: 4.4rem;
      max-width: 5.85rem;
    }
    table#match .match-score-chip {
      font-size: 11.75px;
      padding: 0.26rem 0.4rem;
      min-width: 3.15rem;
    }
}

/*//////////////////////////////////////////////////////////////////
[ CLASS PRONO TABLE ]*/

table.class{
    display: table;
    border-collapse: collapse !important;
}

table.class thead th:first-child,
table.class tbody td:first-child {
  border-left: none !important;
}
table.class thead th:last-child,
table.class tbody td:last-child {
  border-right: none !important;
}

table.class td, table.class th {
  padding-left: 0.25em;
  padding-right: 0.25em;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
table.class thead tr {
  height: 15x;
  background: #444;
  border-collapse: collapse;
  border: 0;
}
table.class tbody tr {
    height: 30px;
    max-height: 30px; 
    border-collapse:collapse;
    border: 0;
}
table.class tbody tr:last-child {
  border: 0;
}
table.class td {
  padding: 0.25em 0.25em;
}
table.class td, table.class th {
  text-align: left;
}
table.class td.l, table.class th.l {
  text-align: right;
}
table.class td.c, table.class th.c {
  text-align: center;
}
table.class td.r, table.class th.r {
  text-align: center;
}
table.class th{
  font-size: 14px;
  color: #fff;
  font-weight: unset;    
}
table.class tbody tr:nth-child(even) {
  background-color: #f5f5f5 !important;
}

table.class tbody tr {
  font-size: 12px;
  line-height: 0.8;
  font-weight: unset;
}

table.class tbody tr:hover {
  color: #555555;
  background-color: #f5f5f5;
  cursor: pointer;
}

table.class .column1 {
  width: 10px;
  padding-left: 10px;
  background-color: #444;
  color: white;
  text-align: right;
}

table.class .column2 {
  padding-left: 0px;    
  width: 240px;
}

table.class .column3 {
  width: 50px;
  text-align: center;
}

table.class .column4 {
  width: 30px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}

table.class .column5 {
  width: 30px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}

table.class .column6 {
  width: 30px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}

table.class .column7 {
  text-align: center;
  padding: 0px 10px 0px 0px;
  color: darkred;
}
table.class .column9 {
    width: 20px;
}
table.class .column0 {
    width: 5px;
}

/*//////////////////////////////////////////////////////////////////
[ CLASS USERS TABLE ]*/

table.classu{
  display: table;
  table-layout: fixed;
  width: 100%;
  border: 0;
  border-collapse: collapse !important;
  box-sizing: border-box;
}

/* Remove phantom 1px “hairline” at table edges (rounding / border-collapse) */
table.classu thead th:first-child,
table.classu tbody td:first-child {
  border-left: none !important;
}
table.classu thead th:last-child,
table.classu tbody td:last-child {
  border-right: none !important;
}

table.classu td, table.classu th {
padding-left: 0.25em;
padding-right: 0.25em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
table.classu thead tr {
  min-height: 2.2rem;
  height: auto;
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
  border-collapse: collapse;
  border: 0;
  border-bottom: 1px solid #2c2c2c;
  box-shadow: none;
}
table.classu tbody tr {
  min-height: 2rem;
  height: auto;
  max-height: none;
  border-collapse: collapse;
  border: 0;
}
table.classu tbody tr:last-child {
border: 0;
}
table.classu td, table.class th {
text-align: left;
}
table.classu td {
  padding: 0.32rem 0.35rem;
}
table.classu td.l, table.class th.l {
text-align: right;
}
table.classu td.c, table.class th.c {
text-align: center;
}
table.classu td.r, table.class th.r {
text-align: center;
}
table.classu th{
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.94);
  padding: 0.45rem 0.3rem;
  vertical-align: middle;
}

/* Dynatable wraps header labels in <a>; keep padding/alignment identical to body cells */
table.classu thead th a {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  text-align: inherit;
  font-weight: inherit;
  color: inherit;
  text-decoration: none;
}
table.classu thead th a:hover {
  color: inherit;
}
table.classu tbody tr:nth-child(even) {
  background-color: #f8fafc !important;
}

table.classu tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

table.classu tbody tr {
  font-size: 13px;
  line-height: 1.15;
  font-weight: 400;
  color: #0f172a;
}

table.classu tbody tr:hover {
  color: #374151;
  background-color: #eef2f7 !important;
  cursor: pointer;
}

table.classu td.column3 a.user,
table.classu .column3 a.user {
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
}

table.classu td.column3 a.user:hover {
  color: #1d4ed8;
}

table.classu:not(.badge-ranking-table) .column2 img.classu-flag {
  width: 20px !important;
  min-width: 20px !important;
  height: auto !important;
  max-width: none !important;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  vertical-align: middle !important;
  display: inline-block !important;
}

table.classu .column1 .numberCircle {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

table.classu .numberCircle {
  width: 26px;
  min-height: 26px;
  font-size: 11px;
  font-weight: 700;
}

table.classu .numberCircle.gold {
  background: linear-gradient(145deg, #f5d78e 0%, #c9a227 100%);
  border-color: #a67c00;
  color: #2a2205;
}

table.classu .numberCircle.silver {
  background: linear-gradient(145deg, #ececec 0%, #b0b8c1 100%);
  border-color: #8892a0;
  color: #374151;
}

table.classu .numberCircle.bronze {
  background: linear-gradient(145deg, #e2a878 0%, #9a6230 100%);
  border-color: #7a4f28;
  color: #2a1810;
}

table.classu .numberCircle.grey {
  background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
  border: 2px solid #d1d5db;
  color: #4b5563;
  font-weight: 600;
}

table.classu .column1 {
  width: 2.6rem;
  min-width: 2.6rem;
  max-width: 2.85rem;
  padding-left: 0.5rem;
  padding-right: 0.08rem;
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
  color: rgba(255, 255, 255, 0.95);
  text-align: center;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

table.classu:not(.badge-ranking-table) .column2 {
  /* Width matches 20px flag (+ hairline for shadow/radius) */
  width: 1.5rem;
  min-width: 1.5rem;
  max-width: 1.55rem;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
  vertical-align: middle;
}

/* Vertically (and horizontally) center the flag in the row — avoids baseline gap under inline-block img */
table.classu:not(.badge-ranking-table) tbody td.column2 {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 0;
  line-height: 0;
}

/* Joueur: grows into remaining row width (table-layout:fixed; rank+flag+#M+Pr+%pr have explicit widths). */
table.classu .column3 {
  width: auto;
  min-width: 0;
  padding-left: 0;
  padding-right: 0.45rem;
  text-align: left;
  vertical-align: middle;
}

/* #M, Pr — numeric; %pr one decimal → slightly narrower last column */
table.classu .column4,
table.classu .column5 {
  box-sizing: border-box;
  width: 3.2rem;
  min-width: 3rem;
  max-width: 3.75rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  padding: 0.3rem 0.35rem 0.3rem 0.2rem !important;
  vertical-align: middle;
}

table.classu .column6 {
  box-sizing: border-box;
  width: 3rem;
  min-width: 2.75rem;
  max-width: 3.5rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  /* No extra right pad: trailing .column7 holds the gutter (matches .column1 padding-left 0.5rem). */
  padding: 0.3rem 0.12rem 0.3rem 0.2rem !important;
  vertical-align: middle;
}

/* %PR / last-metric column (6th th): dynatable appends ▲▼ after label — arrow was rightmost so “%PR” sat left of body %. nth-child + .column6 covers all cases. */
table.classu thead tr > th:nth-child(6),
table.classu thead th.column6 {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  padding: 0.3rem 0.12rem 0.3rem 0.2rem !important;
}

table.classu thead tr > th:nth-child(6) a.dynatable-sort-header,
table.classu thead th.column6 a.dynatable-sort-header {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0.2em;
  width: 100% !important;
  box-sizing: border-box !important;
}

table.classu thead tr > th:nth-child(6) .dynatable-arrow,
table.classu thead th.column6 .dynatable-arrow {
  order: -1 !important;
  flex-shrink: 0 !important;
}

/* Trailing spacer: same width as .column1 left inset so row ends breathe like the rank side. */
table.classu .column7 {
  box-sizing: border-box;
  width: 0.5rem;
  min-width: 0.5rem;
  max-width: 0.5rem;
  padding: 0 !important;
  overflow: hidden;
  text-align: center;
  vertical-align: middle;
  color: transparent;
}

/*//////////////////////////////////////////////////////////////////
[ CLASS STATS TABLE ]*/

table#history{
    display: table;
}

table#history td, table#history th {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 0.25em 0 0.25em 0;
  text-align: center;
}
table#history thead tr, table#history tfoot tr  {
  height: 15x;
  background: #444;
  border-collapse:collapse;
  border: 0;
}
table#history tbody tr {
    height: 30px;
    max-height: 30px; 
    border-collapse:collapse;
    border: 0;
}
table#history tbody tr:last-child {
  border: 0;
}
table#history td, table#history th {
  text-align: left;
}
table#history td.l, table#history th.l {
  text-align: right;
}
table#history td.c, table#history th.c {
  text-align: center;
}
table#history td.r, table#history th.r {
  text-align: center;
}
table#history th{
  font-size: 14px;
  color: #fff;
  font-weight: unset;    
}
table#history tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}

table#history tbody tr {
  font-size: 12px;
  line-height: 0.8;
  font-weight: unset;
}

table#history tbody tr:hover {
  color: #555555;
  background-color: #f5f5f5;
  cursor: pointer;
}

table#history .column1 {
  width: 10px;
  text-align: center;
  padding-left: 5px;
}

table#history .column2 {   
  width: 30px;
}

table#history .column3 {
  width: 30%;
  text-align: left;
  padding-left: 5px;
}

table#history .column4 {
  text-align: center;
  padding: 0px 0px 0px 0px;
}

table#history td.column4 {
  color: darkred;
}

table#history .column5 {
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#history .column6 {
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#history .column7 {
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#history .column8 {
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#history td.column8 {
  font-weight: bold;
}
table#history .column9 {
  min-width: 5px;
  max-width: 5px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#history img {
  width: 25px;
  padding: 0.25em 0 0.25em 0;
}

/*//////////////////////////////////////////////////////////////////
[ CLASS STATS TABLE ]*/

table#history{
    display: table;
}

table#class_stats td, table#class_stats th {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 0.25em 0 0.25em 0;
  text-align: center;
}
table#class_stats thead tr, table#class_stats tfoot tr  {
  height: 15x;
  background: #444;
  border-collapse:collapse;
  border: 0;
}
table#class_stats tbody tr {
    height: 30px;
    max-height: 30px; 
    border-collapse:collapse;
    border: 0;
}
table#class_stats tbody tr:last-child {
  border: 0;
}
table#class_stats td, table#class_stats th {
  text-align: left;
}
table#class_stats td.l, table#class_stats th.l {
  text-align: right;
}
table#class_stats td.c, table#class_stats th.c {
  text-align: center;
}
table#class_stats td.r, table#class_stats th.r {
  text-align: center;
}
table#class_stats th{
  font-size: 14px;
  color: #fff;
  font-weight: unset;    
}
table#class_stats tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}

table#class_stats tbody tr {
  font-size: 12px;
  line-height: 0.8;
  font-weight: unset;
}

table#class_stats tbody tr:hover {
  color: #555555;
  background-color: #f5f5f5;
  cursor: pointer;
}

table#class_stats .column1 {
  width: 10px;
  padding-left: 10px;
  text-align: right;
}

table#class_stats .column2 {   
  width: 30px;
}

table#class_stats .column3 {
  width: 100%;
  text-align: left;
  padding-left: 5px;
}

table#class_stats .column4 {
  min-width: 40px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}

table#class_stats .column5 {
  min-width: 40px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#class_stats .column5 {
  width: 15px;
  text-align: center;
  padding: 0px 0px 0px 0px;
}
table#class_stats img {
  width: 25px;
  padding: 0.25em 0 0.25em 0;
}

/*//////////////////////////////////////////////////////////////////
[ PALMARES TABLE ]*/

table.palmares td, table.palmares th {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding: 0.25em 0 0.25em 0;
text-align: center;
}
table.palmares thead tr, table.palmares tfoot tr  {
height: 15x;
background: #444;
border-collapse:collapse;
border: 0;
}
table.palmares tbody tr {
  height: 30px;
  max-height: 30px; 
  border-collapse:collapse;
  border: 0;
}
table.palmares tbody tr:last-child {
border: 0;
}
table.palmares td, table.palmares th {
text-align: left;
}
table.palmares td.l, table.palmares th.l {
text-align: right;
}
table.palmares td.c, table.palmares th.c {
text-align: center;
}
table.palmares td.r, table.palmares th.r {
text-align: center;
}
table.palmares th{
font-size: 14px;
color: #fff;
font-weight: unset;    
}
table.palmares tbody tr:nth-child(even) {
background-color: #f5f5f5;
}

table.palmares tbody tr {
font-size: 12px;
line-height: 0.8;
font-weight: unset;
}

table.palmares tbody tr:hover {
color: #555555;
background-color: #f5f5f5;
cursor: pointer;
}

table.palmares .column1 {
width: 10px;
padding-left: 10px;
text-align: right;
}

table.palmares .column2 { 
padding-left: 5px;
width: 100%; 
}

table.palmares .column3 {
width: 40px;
text-align: center;
padding-left: 5px;
}

table.palmares .column4 {
min-width: 40px;
text-align: center;
padding: 0px 0px 0px 0px;
}

table.palmares .column5 {
min-width: 5px;
text-align: center;
padding: 0px 0px 0px 0px;
}
table.palmares img {
width: 25px;
padding: 0.25em 0 0.25em 0;
}


/*//////////////////////////////////////////////////////////////////
[ CLASS TEAM TABLE ]*/

table.class_team{
    display: table;
    table-layout: fixed;
    margin-bottom: 5px;
}
table.class_team td, table.class_team th {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  text-align: center;
}
table.class_team thead tr, table.class_team tfoot tr {
  height: 35px;
  background: #444;
  border: 0 !important;
}
table.class_team tbody tr {
    height: 35px;
    max-height: 35px; 
    border-collapse:collapse;
    border: 0;
    font-size: 12px;
    line-height: 1.2em;
}
table.class_team tfoot {
  border: 0;
}
table.class_team tbody tr:first-child{
  color: darkblue; 
}
table.class_team tbody tr:last-child {
  border: 0;
  color: darkred;    
}
table.class_team td.l, table.class_team th.l {
  text-align: right;
}
table.class_team td.c, table.class_team th.c {
  text-align: center;
}
table.class_team td.r, table.class_team th.r {
  text-align: center;
}
table.class_team th, table.class_team tfoot td{
  font-size: 12px;
  color: #fff;
}
table.class_team tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}
table.class_team tbody tr:hover {
  background-color: #f5f5f5;
  cursor: pointer;
}

table.class_team .column1 {
  width: 35px;
  min-width: 30px;
  max-width: 35px;
  padding-left: 5px;
  padding-right: 5px;
  text-align: right;
}

table.class_team .column2 {
  width: 25px;
}

table.class_team .column3 {
  width: 100%;
  padding-left: 5px;
  text-align: left !important;
}

table.class_team .column4,
table.class_team .column5,
table.class_team .column6,
table.class_team .column7,
table.class_team .column8,
table.class_team .column9,
table.class_team .column10,
table.class_team .column11{
  width: 20px;
  max-width: 20px;
}

table.class_team .column11 {
  font-weight: bold;
}

table.class_team .column12 {
  width: 40px;
  max-width: 40px;
  padding-left: 5px;
  text-align: left;
}

table.class_team .column13,
table.class_team .column14,
table.class_team .column15{
  width: 30px;
  max-width: 30px;
}

table.class_team .column16 {
  width: 5px;
}

table.class_team img {
  width: 25px;
}

table.class_team tfoot ul {
    display: inline-flex;
    list-style: none;
    height: 100%;
    margin: 0;
    padding: 0;
}
table.class_team tfoot button {
    color: white;
    font-size: 12px;
    min-width: 100px;
}
table.class_team tfoot button.active {
    background-color: #ffffff;
    color: #444;
    font-weight: bold;
    height: 100%;
}
table.class_team tfoot button:hover {
    background-color: #ffffff;
    color: #444;
    font-weight: bold;
}

/*//////////////////////////////////////////////////////////////////
[ Rankings quality pass ]*/
table.class,
table.classu,
table#history,
table#class_stats,
table.class_team,
table.palmares {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--ps-card-shadow, 0 8px 28px rgba(8, 15, 35, 0.1));
  border: var(--ps-card-border, 1px solid rgba(0, 0, 0, 0.045));
  isolation: isolate;
  outline: none;
}

table.class thead tr,
table.classu thead tr,
table#history thead tr,
table#history tfoot tr,
table#class_stats thead tr,
table#class_stats tfoot tr,
table.class_team thead tr,
table.class_team tfoot tr,
table.palmares thead tr,
table.palmares tfoot tr {
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
}

table.class tbody tr,
table.classu tbody tr,
table#history tbody tr,
table#class_stats tbody tr,
table.class_team tbody tr,
table.palmares tbody tr {
  line-height: 1.2;
  transition: background-color 0.14s ease, color 0.14s ease;
}

table.class tbody tr:nth-child(even),
table.classu tbody tr:nth-child(even),
table#history tbody tr:nth-child(even),
table#class_stats tbody tr:nth-child(even),
table.class_team tbody tr:nth-child(even),
table.palmares tbody tr:nth-child(even) {
  background-color: #f8fafc !important;
}

table.class tbody tr:hover,
table.classu tbody tr:hover,
table#history tbody tr:hover,
table#class_stats tbody tr:hover,
table.class_team tbody tr:hover,
table.palmares tbody tr:hover {
  color: #374151;
  background-color: #eef2f7;
}

table.class th,
table.classu th,
table#history th,
table#class_stats th,
table.palmares th,
table.class_team th,
table.class_team tfoot td {
  letter-spacing: 0.01em;
  font-weight: 500;
}

table.class_team tbody tr:first-child{
  color: #1e3a8a;
}
table.class_team tbody tr:last-child {
  color: #b91c1c;
}

table.class_team tfoot button {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 0.35em 0.8em;
  margin: 0.1em 0.15em;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
table.class_team tfoot button.active,
table.class_team tfoot button:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(255, 255, 255, 0.95);
  color: #333;
}

/* stats.php: grey header + table in one shell (Stats générales + Mes stats). */
.stats-class-team-card > div > table.class_team,
.stats-class-team-card > div > table#class_stats {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  margin-bottom: 0;
  width: 100%;
}

/* results.php: title flush on table — only outer card is rounded */
.page-results .results-page-card > .results-page-table-wrap > table#history,
.results-page-card > .results-page-table-wrap > table#history {
  border-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  margin-bottom: 0;
  width: 100%;
  overflow: visible;
}

.page-results .results-page-card table#history thead tr,
.results-page-card table#history thead tr {
  background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
}

.page-results .results-page-card table#history thead th,
.results-page-card table#history thead th {
  border-radius: 0 !important;
}

.results-page-card table#history td,
.results-page-card table#history th {
  padding: 0.45em 0.5em;
}

.results-page-card table#history .column3 {
  min-width: 8rem;
}
#stats .box_right > div > table.class,
#stats .box_right > div > table.classu {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-radius: 0 0 12px 12px;
}

/*//////////////////////////////////////////////////////////////////
[ Prono list class ]*/
/* Pronostic page: global `table { background: white }` was drawing a visible frame
   around the match list + label column (dark #match card on white td). */
table.prono_toplevel {
    table-layout: fixed;
    width: 100%;
    max-width: 100%;
    background: transparent !important;
    /* Same tokens as table#match (bar vars were only on #match → player thead had no background). */
    --mp-bar: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%);
    --mp-bar-hover: linear-gradient(180deg, #555555 0%, #494949 100%);
    --mp-bar-edge: #2c2c2c;
    --mp-surface: #ffffff;
    --mp-alt: #f8fafc;
    --mp-line: #e2e8f0;
    --mp-row-hover-bg: #eef2f7;
    --mp-row-hover-ink: #374151;
}
table.prono_toplevel > tbody > tr > td {
    background-color: transparent;
}
/* Dark gutter behind #match on prono page (square left edge to align with prono grid; index keeps rounded #match). */
table.prono_toplevel > tbody > tr:first-child > td:first-child {
    overflow: hidden;
    border-radius: 0;
    background-color: rgba(39, 40, 51, 0.98);
}
table.prono_toplevel > tbody > tr:first-child > td:first-child .login100-form {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: transparent;
}
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    vertical-align: top;
    border-radius: 0;
}
/* #match: one <tbody> per fixture — hairline between games (inset shadow avoids
   cumulative border-collapse drift vs single-tbody prono columns). */
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match > tbody ~ tbody {
  border-top: 0 !important;
  box-shadow: inset 0 1px 0 0 var(--mp-line);
}
/* Same bottom edge: #match draws a 1px row border on every data row; prono cells do not → step at seam.
   Drop the last row’s bottom rule for both sides in this layout only. */
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match tbody:last-child tr:last-child td {
    border-bottom: 0 !important;
}
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr:last-child td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr:last-child td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row:last-child > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row:last-child > td {
    border-bottom: 0 !important;
}
/* Zebra rows: mirror table#match > tbody:nth-child(odd|even) on .prono-match-row (+ cells). */
table.prono_toplevel > tbody > tr:first-child > td:nth-child(2),
table.prono_toplevel > tbody > tr:first-child > td:nth-child(3),
table.prono_toplevel > tbody > tr:first-child > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) .wrapper_scroll,
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono {
    background-color: transparent !important;
}
/* Prono page: zebra by fixture index (JS sets mp-row--* on match row + prono row), not tbody:nth-child. */
table.prono_toplevel table#match tbody:nth-child(odd),
table.prono_toplevel table#match tbody:nth-child(even) {
    background-color: transparent !important;
}
table.prono_toplevel table#match tbody.mp-row--surface,
table.prono_toplevel table#match tbody.mp-row--surface tr.match-row,
table.prono_toplevel table#match tbody.mp-row--surface tr.match-row > td,
table.prono_toplevel table#match tbody.mp-row--surface tr.lastgames.match-row > td {
    background-color: var(--mp-surface, #ffffff) !important;
}
table.prono_toplevel table#match tbody.mp-row--alt,
table.prono_toplevel table#match tbody.mp-row--alt tr.match-row,
table.prono_toplevel table#match tbody.mp-row--alt tr.match-row > td,
table.prono_toplevel table#match tbody.mp-row--alt tr.lastgames.match-row > td {
    background-color: var(--mp-alt, #f8fafc) !important;
}
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row.mp-row--surface,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row.mp-row--surface,
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row.mp-row--surface > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row.mp-row--surface > td {
    background-color: var(--mp-surface, #ffffff) !important;
}
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row.mp-row--alt,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row.mp-row--alt,
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row.mp-row--alt > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row.mp-row--alt > td {
    background-color: var(--mp-alt, #f8fafc) !important;
}
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row > td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid var(--mp-line) !important;
}
/* One seam into day summary (visible tbody only; hidden league block stays out of :last-child). */
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody:not(.hidden) tr.prono-match-row:last-child > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody:not(.hidden) tr.prono-match-row:last-child > td {
    border-bottom: none !important;
    box-shadow: none !important;
}
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row:hover,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row:hover,
table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr.prono-match-row:hover > td,
table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr.prono-match-row:hover > td {
    background-color: var(--mp-row-hover-bg, #eef2f7) !important;
}
/* Summary label stack (Points staked / Pronos justes / …) — white strip like match body + footer data */
/* Annex footer — same 3-column layout as matches / day summary (colgroup col1 | col2 | col3). */
table.prono_toplevel > tbody > tr.prono-annex-row > td {
    padding: 0 !important;
    vertical-align: top;
    box-sizing: border-box;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td.prono-annex-labels-cell {
    overflow: hidden;
    background-color: #ffffff;
    box-sizing: border-box;
    max-width: 100%;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td.prono-annex-labels-cell table.prono {
    table-layout: fixed;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: #ffffff !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll {
    width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/* Footer row: same thead bar metrics on label + both prono tables (no step at column seams). */
table.prono_toplevel > tbody > tr.prono-annex-row table.prono {
    border-collapse: collapse;
}
table.prono_toplevel > tbody > tr.prono-annex-row table.prono thead tr {
    height: 50px !important;
    font-size: 16px !important;
    vertical-align: middle !important;
    background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%) !important;
    border-bottom: 1px solid #2c2c2c;
}
table.prono_toplevel > tbody > tr.prono-annex-row table.prono thead th {
    font-size: 14px !important;
    line-height: 1.2em !important;
    padding: 0.5em 0.1em !important;
    vertical-align: middle !important;
    box-sizing: border-box;
    background: linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%) !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row table.prono thead th.pseudo_bis {
    color: transparent !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td.prono-annex-labels-cell table.prono tbody td {
    color: #334155;
}

/* Cup annex picks: zebra (season totals are a separate grey block below) */
table.prono_toplevel > tbody > tr.prono-annex-row tbody.prono-annex-picks-block tr.prono-annex-data-row--odd > td {
    background-color: var(--mp-alt, #f8fafc) !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row tbody.prono-annex-picks-block tr.prono-annex-data-row--even > td {
    background-color: var(--mp-surface, #ffffff) !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row tbody.prono-annex-picks-block tr.prono-annex-data-row:hover > td {
    background-color: var(--mp-row-hover-bg, #f1f5f9) !important;
}

/* Full-width seam + season totals panel (own prono_toplevel rows) */
table.prono_toplevel > tbody > tr.prono-season-separator-row > td.prono-season-separator-cell {
    padding: 0 !important;
    height: 0;
    line-height: 0;
    font-size: 0;
    border-top: 1px solid #94a3b8;
    border-bottom: none !important;
    background: #e5e7eb !important;
    vertical-align: top;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row > td {
    padding: 0 !important;
    vertical-align: top;
    background: #e5e7eb !important;
    box-sizing: border-box;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row > td.prono-annex-labels-cell {
    overflow: hidden;
    box-sizing: border-box;
    max-width: 100%;
}

/* Footer rows: clip labels to col1 — never widen the grid vs match list above */
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(1),
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(1),
table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(1) {
    overflow: hidden;
    box-sizing: border-box;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) .wrapper_top {
    overflow: hidden;
    box-sizing: border-box;
}
/* Friends columns: horizontal scroll (synced with match grid above). */
table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) .wrapper_scroll.prono-friends-scroll,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(3) .wrapper_scroll.prono-friends-scroll,
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll.prono-friends-scroll,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(3) .wrapper_scroll.prono-friends-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row > td.prono-annex-labels-cell table.prono {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    table-layout: fixed;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row > td .wrapper_top,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td .wrapper_scroll {
    background: #e5e7eb;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row table.prono {
    background: #e5e7eb;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block > tr > td,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td.prono-annex-labels-cell tbody.prono-season-results-block td.r {
    background-color: #e5e7eb !important;
    color: #475569;
    border-top: none !important;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block td[colspan="1000"] {
    background-color: #e5e7eb !important;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block tr.prono-season-summary-row td.prono-summary-stat,
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block tr.prono-summary-total-row td.prono-summary-stat,
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block tr.prono-summary-total-row td.prono-summary-total {
    background-color: #e5e7eb !important;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block tr.prono-summary-total-row td.prono-summary-stat,
table.prono_toplevel > tbody > tr.prono-season-panel-row tbody.prono-season-results-block tr.prono-summary-total-row td.prono-summary-total {
    font-weight: 700;
    color: #334155;
}

.ps-prono-annex-cell {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.2rem 0.35rem;
    max-width: 100%;
}
.ps-prono-annex-cell__value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
.ps-prono-annex-label__pts {
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1.2;
    color: #64748b;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* Day summary — one row per column (thead bar + tbody stats), same layout as matches. */
table.prono_toplevel > tbody > tr.prono-day-summary-row > td {
    padding: 0 !important;
    border-top: 1px solid var(--mp-line, #e2e8f0);
    border-bottom: none !important;
    box-shadow: none !important;
    vertical-align: top;
    background: #e5e7eb !important;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td.prono-day-summary-labels-cell {
    overflow: hidden;
    box-sizing: border-box;
    max-width: 100%;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td.prono-day-summary-labels-cell table.prono {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td.prono-day-summary-labels-cell table.prono thead th.pseudo_bis {
    color: transparent !important;
    padding: 0.5em 0.1em !important;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td.prono-day-summary-labels-cell table.prono tbody td.r {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td .wrapper_top,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td .wrapper_scroll {
    margin: 0;
    padding: 0;
    background: #e5e7eb;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(3) .wrapper_scroll {
    vertical-align: top;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2) .wrapper_top table.prono,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(3) .wrapper_scroll table.prono {
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: top;
}
/* Self column: no friends scroll pad — one player column only. */
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2) .wrapper_top table.prono th[colspan="1000"],
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2) .wrapper_top table.prono td[colspan="1000"] {
    display: none !important;
    padding: 0 !important;
    border: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead tr,
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead th {
    background: var(--mp-bar, linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%)) !important;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row > td .wrapper_top table.prono thead ~ tbody,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td .wrapper_scroll table.prono thead ~ tbody,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td.prono-day-summary-labels-cell table.prono thead ~ tbody {
    background: #e5e7eb;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono {
    background: #e5e7eb;
    table-layout: fixed;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono td[colspan="1000"] {
    background: #e5e7eb !important;
}

/* Day summary header band — player pseudos (empty spacer in labels column). */
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead tr.prono-day-summary-header-row,
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead th {
    height: 50px !important;
    font-size: 14px !important;
    line-height: 1.2em !important;
    vertical-align: middle !important;
    background: var(--mp-bar, linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%)) !important;
    border-bottom: 1px solid var(--mp-bar-edge, #2c2c2c) !important;
    color: #fff;
    box-sizing: border-box;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead th.pseudo {
    font-weight: 400 !important;
    padding: 0.5em 0.1em !important;
    vertical-align: middle !important;
}
table.prono_toplevel > tbody > tr.prono-day-summary-row table.prono thead.prono-day-summary-thead th[colspan="1000"] {
    background: var(--mp-bar, linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%)) !important;
    border: none !important;
    padding: 0 !important;
}

.prono-season-panel-row thead.prono-summary-thead tr,
.prono-season-panel-row thead.prono-summary-thead th {
    height: 0;
    line-height: 0;
    visibility: collapse;
    padding: 0 !important;
    border: none !important;
    font-size: 0;
    overflow: hidden;
}

.prono-display--cup table.prono_toplevel > tbody > tr.prono-day-summary-row td:nth-child(2) .wrapper_top,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-day-summary-row td:nth-child(2) .wrapper_top table.prono {
    width: var(--ps-prono-user-col);
    min-width: var(--ps-prono-user-col);
    max-width: var(--ps-prono-user-col);
}

.prono-display--cup table.prono_toplevel > tbody > tr:first-child td:nth-child(3) .wrapper_scroll table.prono,
.prono-display--cup .prono-day-summary-row td.width60 .wrapper_scroll table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll table.prono,
table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(3) .wrapper_scroll table.prono {
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
}
.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(3) .wrapper_scroll table.prono {
  width: max-content;
  min-width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.prono-day-summary-row .prono-summary-label-row td.r {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #475569;
    background: #e5e7eb !important;
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}
.prono-day-summary-row tr.prono-summary-data-row td.prono-summary-stat {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
}
.prono-summary-stat--negative,
.prono-day-summary-row td.prono-summary-stat--negative,
.prono-season-panel-row td.prono-summary-stat--negative {
    color: #64748b !important;
}
.prono-day-summary-row tr.prono-summary-score-row td.prono-summary-stat--negative {
    color: #64748b !important;
}
.prono-day-summary-row .prono-summary-label-row--score td.r {
    font-weight: 700;
}
.prono-day-summary-row tr.prono-summary-data-row td.prono-summary-stat {
    font-size: 0.8125rem;
    font-weight: 400 !important;
    color: #0f172a;
    background: #e5e7eb !important;
}

.prono-season-panel-row .prono-season-results-block .prono-season-summary-label td.r {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #475569;
}
.prono-season-panel-row .prono-season-results-block .prono-summary-total-label td.r {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #475569;
}

.prono-day-summary-row tr.prono-summary-score-row td.prono-summary-stat {
    font-size: 0.8125rem;
    font-weight: 700 !important;
    color: #334155 !important;
    background: #e5e7eb !important;
}

.prono-summary-label-row td.r {
    text-align: right;
}

.prono-summary-stat {
    font-size: 0.875rem !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    background: #eef2f7 !important;
    color: #0f172a;
    text-align: center !important;
}

tr.prono-summary-total-row td.prono-summary-stat,
tr.prono-summary-total-row td.prono-summary-total {
    font-weight: 700;
    color: #334155;
    background: #eef2f7 !important;
}

tr.prono-season-summary-row td.prono-summary-stat {
    background: #e5e7eb !important;
    font-weight: 400 !important;
    color: #0f172a;
}
html[data-theme="dark"] .ps-prono-annex-label__pts {
    color: #94a3b8;
}
/* Footer: flat white rows (league block); annex picks keep zebra */
table.prono_toplevel > tbody > tr.prono-annex-row table.prono tbody:not(.prono-annex-picks-block) tr {
    background-color: #ffffff !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row table.prono tbody:not(.prono-annex-picks-block) td:not(.prono-summary-stat):not(.prono-summary-total) {
    background-color: transparent !important;
}
table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(3) .wrapper_scroll {
    margin: 0;
    padding: 0;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td.prono-annex-labels-cell table.prono tbody:not(.prono-annex-picks-block) tr:hover {
    background-color: #f8fafc;
    cursor: default;
    color: #334155;
}
/* Summary row (tr 2): one panel — no horizontal rules under thead / between metric rows */
table.prono_toplevel > tbody > tr.prono-annex-row table.prono thead tr {
  border-bottom: none !important;
}
table.prono_toplevel > tbody > tr.prono-annex-row table.prono thead th,
table.prono_toplevel > tbody > tr.prono-annex-row table.prono tbody td,
table.prono_toplevel > tbody > tr.prono-season-panel-row table.prono tbody td {
  border-top: none !important;
  border-bottom: none !important;
}
/* Pronos: player pseudos normal weight — keep metrics in sync with game block header (#match). */
table.prono_toplevel table.prono thead th {
    font-weight: 400 !important;
}

table.prono_toplevel > tbody > tr:first-child > td:first-child table#match,
table.prono_toplevel > tbody > tr:first-child > td:nth-child(2) table.prono,
table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) table.prono {
    border-collapse: collapse;
}

/* Same header band as #match ("World") — one bar across match list + player columns */
table.prono_toplevel > tbody > tr:first-child table#match thead tr,
table.prono_toplevel > tbody > tr:first-child table.prono thead tr,
table.prono_toplevel > tbody > tr:first-child table.prono thead th {
    height: 50px !important;
    font-size: 16px !important;
    vertical-align: middle !important;
    background: var(--mp-bar, linear-gradient(180deg, #4a4a4a 0%, #3f3f3f 100%)) !important;
    border-bottom: 1px solid var(--mp-bar-edge, #2c2c2c);
    color: #fff;
}

table.prono_toplevel > tbody > tr:first-child table.prono thead th {
    font-size: 14px !important;
    line-height: 1.2em !important;
    padding: 0.5em 0.1em !important;
}
table.prono_toplevel > tbody > tr:first-child > td:nth-child(2),
table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) {
    vertical-align: top;
}
table.prono_toplevel > tbody > tr:first-child .wrapper_top,
table.prono_toplevel > tbody > tr:first-child .wrapper_scroll {
    margin: 0;
    padding: 0;
}
table.prono_toplevel > tbody > tr:first-child .wrapper_top table.prono,
table.prono_toplevel > tbody > tr:first-child .wrapper_scroll table.prono {
    margin: 0;
    vertical-align: top;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) .wrapper_top,
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll {
    margin: 0;
    padding: 0;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) .wrapper_top table.prono,
table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll table.prono {
    margin: 0;
    vertical-align: top;
}
table.prono_toplevel > tbody > tr.prono-annex-row > td.prono-annex-labels-cell table.prono tbody td.r,
table.prono_toplevel > tbody > tr.prono-season-panel-row > td.prono-annex-labels-cell table.prono tbody td.r {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/*
 * Prono display: column7 (CTA) may be empty on cups — keep the cell, match row background.
 */
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match tbody tr.match-row:hover > td.column7.match-row__cta,
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match tbody tr.lastgames.match-row:hover > td.column7.match-row__cta {
    background-color: var(--mp-row-hover-bg) !important;
}
table.prono_toplevel > tbody > tr:first-child > td:first-child table#match tbody td.column7.match-row__cta .match-row__cta-group:empty {
    display: block;
    min-height: 0;
}

/* Validate / warning block (direct child table.prono under #box > .width100): no row dividers */
#box > .width100 > table.prono tfoot tr,
#box > .width100 > table.prono tfoot td {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
#box > .width100 > table.prono tfoot tr {
  height: auto !important;
}
.prono_toplevel td {
    padding: 0 !important;
    vertical-align: top; /* Important for Edge align problem */
}
.width100{
  width: 100%;
  position: relative;
}

#box {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#box:not(.prono-display--cup) > .width100 > table.prono_toplevel col.col1,
#box:not(.prono-display--cup) > .width100 > table.prono_toplevel col.col3 {
  width: auto;
}

#box.prono-display--cup > .width100 > table.prono_toplevel col.col3 {
  width: auto;
}

#box > .width100 > table.prono_toplevel > tbody > tr > td:nth-child(3) .wrapper_scroll {
  width: 100%;
  box-sizing: border-box;
}

#box > .width100 > table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) .wrapper_scroll table.prono,
#box > .width100 > table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) .wrapper_scroll table.prono,
#box > .width100 > table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(3) .wrapper_scroll table.prono {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

/* Day summary friends: same fixed layout as match grid (no stretch to viewport). */
#box > .width100 > table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(3) .wrapper_scroll table.prono {
  width: max-content;
  max-width: none;
  min-width: 0;
  table-layout: fixed;
}

#box > .width100 > table.prono_toplevel table.prono th[colspan="1000"],
#box > .width100 > table.prono_toplevel table.prono td[colspan="1000"] {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  border: none !important;
  padding: 0 !important;
}

.col1{
  width: 44%;
  position: relative;
  z-index: 4;
}
.col2{
  width: 58px;
  z-index: 4;
  position: relative;
}
.col3{
  width: calc(56% - 65px);
  z-index: 1;
  position: relative;
}
.wrapper_top{
  z-index: 4;
}
.wrapper_scroll{
  z-index: 1;
  overflow-x: auto;
  -webkit-overflow-x: auto; 
  overflow-y: visible;
  -webkit-overflow-scrolling: touch; 
  padding: 0;
}
table.prono{
    table-layout: fixed;
    vertical-align: middle;
}
table.prono .right{
    text-align: right;
}
table.prono td, table.prono  th {
  border-collapse: separate;
  border: 0;
  padding: 0.1em 0.05em !important;
}
table.prono .headcol{
  position: sticky;
  z-index:1;
  left: 0;
}
table.prono .headcol2{
  position: sticky;
  z-index:1;
  margin-left: 44%;
}
table.prono .label{
    min-width: 30%;
    max-width: 38%;
}
table.prono th {    
    padding: 0.5em 0.1em 0.5em 0.1em !important;
    vertical-align: middle;
}
table.prono td {    
  vertical-align: middle;
}
table.prono tbody tr:last-child {
  border: 0;
}
table.prono td.l, table.prono th.l {
  text-align: left;
}
table.prono td.c, table.prono th.c {
  text-align: center;
}
table.prono td.r, table.prono th.r {
  text-align: right;
}
table.prono th{
  font-size: 12px;
  color: #fff;
  line-height: 1.2;
}
table.prono tfoot td {
  font-size: 14px;
  color: #fff;
  line-height: 1.2;
}

table.prono tbody {
  font-size: 12.75px;
  line-height: 1.35;
  font-weight: 400;
  border-collapse:collapse;
  border: 0;
}

table.prono tbody tr {
  transition: background-color 0.14s ease, color 0.14s ease;
}

table.prono tbody tr:hover {
  background-color: rgba(238, 242, 247, 0.95);
  cursor: pointer;
}

table.prono .column0 {
  padding: 0;
}

table.prono .column1 {  
  width: 25px;
  min-width: 25px;
  max-width: 45px;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 10px;
}

table.prono .column2 {
  width: 25px;
  min-width: 25px;
  padding: 0;
}

table.prono .column3 {
  width: 135px;
  min-width: 135px;
  max-width: 165px;
  text-align: right;
  padding: 0;
  padding-right: 5px;
}

table.prono .column4 {
  min-width: 40px;
  max-width: 50px;
  text-align: center;
  color: #B40404;
}

table.prono .column5 {
  width: 135px;
  min-width: 135px;
  max-width: 165px;
  text-align: left;
  padding: 0;
  padding-left: 5px;
}

table.prono .column6 {
  width: 25px;
  min-width: 25px;
  padding: 0;
}

table.prono img {
  width: 25px;
}

table.prono img.joker  {
  width: 12px !important;
}

table.prono thead tr th img{
    height: 20px;
    vertical-align: middle;
}

table.prono .column7, table.prono .column8 {
  width: 24px;
  min-width: 24px;
  text-align: center;
  padding: 0;
  display: table-cell;
}

table.prono .column78 {
  width: 5px;
  text-align: center;
  padding: 0;
}

table.prono .delimit {  
  border-right: 1px solid #c5cdd8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

/* Cup: one fixed width per player — match rows and annex rows stay aligned */
.prono-display--cup {
  --ps-prono-user-col: 58px;
}

.prono-display--cup table.prono_toplevel col.col2 {
  width: var(--ps-prono-user-col);
}

.prono-display--cup table.prono_toplevel > tbody > tr:first-child td:nth-child(2) .wrapper_top,
.prono-display--cup table.prono_toplevel > tbody > tr:first-child td:nth-child(2) .wrapper_top table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) .wrapper_top,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) .wrapper_top table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) .wrapper_top,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) .wrapper_top table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-day-summary-row td:nth-child(2) .wrapper_top,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-day-summary-row td:nth-child(2) .wrapper_top table.prono {
  width: var(--ps-prono-user-col);
  min-width: var(--ps-prono-user-col);
  max-width: var(--ps-prono-user-col);
}

.prono-display--cup table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2) table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(3) table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) table.prono,
.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(3) table.prono,
.prono-display--cup .prono-day-summary-row table.prono {
  table-layout: fixed;
}

.prono-display--cup .prono-day-summary-row table.prono tbody td.delimit.prono-summary-stat {
  width: var(--ps-prono-user-col) !important;
  min-width: var(--ps-prono-user-col) !important;
  max-width: var(--ps-prono-user-col) !important;
  box-sizing: border-box;
  padding-left: 0.15rem !important;
  padding-right: 0.15rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}

.prono-display--cup table.prono_toplevel table.prono th.pseudo,
.prono-display--cup table.prono_toplevel table.prono tbody td.delimit,
.prono-display--cup table.prono_toplevel table.prono tbody td.black {
  width: var(--ps-prono-user-col) !important;
  min-width: var(--ps-prono-user-col) !important;
  max-width: var(--ps-prono-user-col) !important;
  box-sizing: border-box;
  padding-left: 0.15rem !important;
  padding-right: 0.15rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}

table.prono .black {  
  background: #444;
  color: #ffffff;    
}
 
table.prono .column89 {  
  padding: 0;
  width: 5px;
  width: 5px;
}

table.prono .pseudo {
  width: 58px;
  min-width: 56px;
  max-width: 64px !important;
  text-align: center;
  text-overflow: clip;
}

table.prono .pseudo_bis {
  min-width: 45px;
  max-width: 65px !important;
  text-align: center;
  text-overflow: clip;
  background-color: #444;
  color: #ffffff;
}

/* Pagination */
.prono_pagination{
    font-size: 15px;
    text-align: center;
    margin-bottom: 15px;
    cursor: pointer;
}

.prono_pagination span{
    padding: 0.2em 0.3em 0.2em 0.2em;
}

.pageNumber{
    background: #ffffff;
    color: #444 !important;
    width: 20px;
    height: 20px;
    text-align: center;
    vertical-align: middle;    
}

table#match .team {
    display: inline;
}
table#match .mobile {
    display: none;
}
.nowrap{
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    /* Legacy rows: drop empty first cell that stole ~8% width (see match_display responsive markup). */
    table#match tbody tr.match-row > td.column1.mobile:empty {
      display: none !important;
      width: 0 !important;
      max-width: 0 !important;
      min-width: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
    }
    /* First column: rail étroit par défaut; statut masqué seulement dans .prono_toplevel (voir plus bas) */
    table#match tbody tr.match-row > td.column1:first-child {
      width: 1.1rem !important;
      min-width: 1.1rem !important;
      max-width: 1.1rem !important;
      padding-left: 1px !important;
      padding-right: 1px !important;
      box-sizing: border-box;
    }
    /* Grille pronos: masquer NS, garder le compte à rebours dans la colonne statut */
    table.prono_toplevel table#match tbody tr.match-row:not(.lastgames) > td.column1:first-child .match-status-chip:not(.ps-kickoff-countdown) {
      display: none !important;
    }
    table.prono_toplevel table#match tbody tr.match-row[data-kickoff]:not(.match-row--started) > td.column1:first-child .match-status-chip.ps-kickoff-countdown {
      display: inline-flex !important;
    }
    table#match tbody tr.lastgames > td.column1:first-child .match-status-chip {
      min-width: 0;
      max-width: 100%;
      font-size: 8px;
      padding: 0.04rem 0.08rem;
      letter-spacing: 0.01em;
    }
    /* column3/column5 gutters: see global tr.match-row rules (5px to crest / name) */
    table#match tbody tr.match-row > td.column2,
    table#match tbody tr.match-row > td.column6 {
      padding: 0 !important;
    }
    table#match {
        border-radius: 0;
        box-shadow: 0 6px 16px rgba(14, 30, 37, 0.08);
    }
    table.prono_toplevel table#match {
      box-shadow: none !important;
    }
    table#match tbody tr {
        height: 42px;
    }
    /* Global rule leaves table.prono tbody at 38px — mismatched row rhythm vs #match on mobile */
    table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr,
    table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr {
        height: 42px !important;
        min-height: 42px !important;
        box-sizing: border-box;
    }
    /* Authoritative col widths on mobile (table-layout:fixed reads <col>) */
    table#match > colgroup > col.col-status { width: 1.1rem; }
    table#match > colgroup > col.col-cta { width: 3rem; }
    table#match > colgroup > col.col-home-crest,
    table#match > colgroup > col.col-away-crest { width: 28px; }
    table#match > colgroup > col.col-time { width: 3.5rem; }

    table#match .column1 {
        width: 1.1rem !important;
        min-width: 1.1rem !important;
        max-width: 1.1rem !important;
        padding: 0;
        box-sizing: border-box;
    }
    table#match .column7 {
        width: 3rem !important;
        min-width: 3rem !important;
        max-width: 3rem !important;
        padding: 0;
        box-sizing: border-box;
    }
    table.prono .column1 {
        padding: 0;
        min-width: 6px;
    }
    table#match tbody tr td.column7.match-row__cta {
      width: 3rem !important;
      min-width: 3rem !important;
      max-width: 3rem !important;
      padding-left: 0.15rem !important;
      padding-right: 0.2rem !important;
      box-sizing: border-box;
    }

    /* Liste des matchs (.box_left): rail statut lisible (NS / FT / live…) */
    .box_left table#match > colgroup > col.col-status {
      width: 2.75rem !important;
    }
    .box_left table#match tbody tr.match-row > td.column1:first-child {
      width: 2.75rem !important;
      min-width: 2.75rem !important;
      max-width: 2.75rem !important;
      padding-left: 2px !important;
      padding-right: 2px !important;
    }
    .box_left table#match .column1 {
      width: 2.75rem !important;
      min-width: 2.75rem !important;
      max-width: 2.75rem !important;
    }

    /* Prono grid: compact symmetric match rail; Den column = one player width (cup: 58px) */
    #box > .width100 > table.prono_toplevel col.col1 {
      width: 10rem !important;
      min-width: 9.75rem !important;
      max-width: 46vw !important;
    }
    #box.prono-display--cup > .width100 > table.prono_toplevel col.col2 {
      width: var(--ps-prono-user-col) !important;
      min-width: var(--ps-prono-user-col) !important;
      max-width: var(--ps-prono-user-col) !important;
    }
    #box:not(.prono-display--cup) > .width100 > table.prono_toplevel col.col2 {
      width: 4.5rem !important;
      min-width: 4.5rem !important;
    }
    #box > .width100 > table.prono_toplevel col.col3 {
      width: auto !important;
    }
    table.prono_toplevel > tbody > tr:first-child > td:first-child {
      overflow: hidden;
      padding: 0 !important;
      background-color: transparent !important;
    }
    table.prono_toplevel > tbody > tr:first-child > td:first-child .login100-form {
      width: 100% !important;
      max-width: 100% !important;
    }
    table.prono_toplevel > tbody > tr:first-child > td:first-child table#match {
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      table-layout: fixed !important;
      box-shadow: none !important;
      background: transparent !important;
      overflow: hidden;
    }
    #box.prono-display--cup table.prono_toplevel > tbody > tr:first-child > td:nth-child(2),
    #box.prono-display--cup table.prono_toplevel > tbody > tr.prono-day-summary-row > td:nth-child(2),
    #box.prono-display--cup table.prono_toplevel > tbody > tr.prono-annex-row > td:nth-child(2),
    #box.prono-display--cup table.prono_toplevel > tbody > tr.prono-season-panel-row > td:nth-child(2) {
      width: var(--ps-prono-user-col) !important;
      min-width: var(--ps-prono-user-col) !important;
      max-width: var(--ps-prono-user-col) !important;
    }
    table.prono_toplevel > tbody > tr:first-child > td:nth-child(2) .wrapper_top,
    table.prono_toplevel > tbody > tr:first-child > td:nth-child(3) .wrapper_scroll {
      width: 100%;
      max-width: 100%;
      margin: 0;
      padding: 0;
    }

    table.prono_toplevel table#match > colgroup > col.col-cta {
      width: 0 !important;
      min-width: 0 !important;
      max-width: 0 !important;
    }
    /* Symmetric around kickoff: home mirror of away, time centered (sums to 100%) */
    table.prono_toplevel table#match > colgroup > col.col-status {
      width: 9% !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match > colgroup > col.col-home-name {
      width: 19% !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match > colgroup > col.col-home-crest {
      width: 11% !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match > colgroup > col.col-time {
      width: 31% !important;
      min-width: 2.85rem !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match > colgroup > col.col-away-crest {
      width: 11% !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match > colgroup > col.col-away-name {
      width: 19% !important;
      min-width: 0 !important;
      max-width: none !important;
    }

    table.prono_toplevel table#match .column7 {
      display: none !important;
      width: 0 !important;
      min-width: 0 !important;
      max-width: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
    }
    table.prono_toplevel table#match .column2 {
      display: table-cell !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 0 0.1rem 0 0 !important;
      overflow: hidden !important;
      vertical-align: middle !important;
      text-align: right !important;
    }
    table.prono_toplevel table#match .column6 {
      display: table-cell !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 0 0 0 0.1rem !important;
      overflow: hidden !important;
      vertical-align: middle !important;
      text-align: left !important;
    }
    table.prono_toplevel table#match .column2 img.match-crest,
    table.prono_toplevel table#match .column2 img:not(.match-crest) {
      width: 16px !important;
      height: 16px !important;
      max-width: 16px !important;
      max-height: 16px !important;
      margin: 0 0 0 auto !important;
      object-fit: contain;
    }
    table.prono_toplevel table#match .column6 img.match-crest,
    table.prono_toplevel table#match .column6 img:not(.match-crest) {
      width: 16px !important;
      height: 16px !important;
      max-width: 16px !important;
      max-height: 16px !important;
      margin: 0 auto 0 0 !important;
      object-fit: contain;
    }
    table.prono_toplevel table#match .column2 img.match-crest--flag,
    table.prono_toplevel table#match .column6 img.match-crest--flag {
      width: 16px !important;
      height: 11px !important;
      max-height: 11px !important;
      object-fit: cover;
    }

    table.prono_toplevel table#match tbody tr.match-row > td.column1:first-child {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      padding-left: 2px !important;
      padding-right: 2px !important;
      overflow: visible !important;
    }
    table.prono_toplevel table#match .column1 {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match tbody tr.match-row:not(.lastgames) > td.column1:first-child .match-status-chip:not(.ps-kickoff-countdown),
    table.prono_toplevel table#match tbody tr.match-row[data-kickoff]:not(.match-row--started) > td.column1:first-child .match-status-chip.ps-kickoff-countdown {
      display: inline-flex !important;
    }
    table.prono_toplevel table#match tbody tr.match-row > td.column1:first-child .match-status-chip {
      min-width: 0;
      max-width: 100%;
      font-size: 8.5px;
      padding: 0.1rem 0.14rem;
      letter-spacing: 0.02em;
    }

    table.prono_toplevel table#match .column3 {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      padding-left: 0.06rem !important;
      padding-right: 0.08rem !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      overflow: visible !important;
      text-overflow: clip !important;
      text-align: right !important;
    }
    table.prono_toplevel table#match .column5 {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      padding-left: 0.08rem !important;
      padding-right: 0.06rem !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      overflow: visible !important;
      text-overflow: clip !important;
      border-right: 1px solid var(--mp-line) !important;
      text-align: left !important;
    }
    table.prono_toplevel table#match td.column3 .team,
    table.prono_toplevel table#match td.column5 .team {
      display: none !important;
    }
    table.prono_toplevel table#match td.column3 .mobile,
    table.prono_toplevel table#match td.column5 .mobile {
      display: inline !important;
    }
    table.prono_toplevel table#match td.column3:has(.mobile:empty) .team,
    table.prono_toplevel table#match td.column5:has(.mobile:empty) .team {
      display: inline !important;
    }

    table.prono_toplevel table#match .column4 {
      min-width: 2.85rem !important;
      max-width: none !important;
      width: auto !important;
      padding-left: 0.3rem !important;
      padding-right: 0.3rem !important;
      white-space: nowrap !important;
      text-align: center !important;
      overflow: visible !important;
    }
    table.prono_toplevel table#match tbody tr.match-row > td.column6 {
      padding-left: 0.1rem !important;
      padding-right: 0 !important;
    }
    table.prono_toplevel table.prono img.joker {
      display: none !important;
    }
    table.prono_toplevel table#match .match-score-chip {
      min-width: 0 !important;
      font-size: 10.5px !important;
      padding: 0.1rem 0.2rem !important;
    }
    table.prono_toplevel table#match .match-score-chip--kickoff {
      font-size: 10px !important;
      font-weight: 600 !important;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.01em;
      padding: 0.08rem 0.14rem !important;
      max-width: 100%;
      box-sizing: border-box;
    }

    /* #match crest rail = logo pixel size (28px); prono uses its own grid */
    table#match .column2,
    table#match .column6 {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
        overflow: hidden;
    }
    table.prono .column2 {
        width: 25px;
        min-width: 25px !important;
        max-width: 25px !important;
        padding: 0 !important;
        box-sizing: border-box;
    }
    table#match .column2 {
      text-align: left;
    }
    table#match .column6 {
      text-align: right;
    }
    table#match tbody tr.lastgames .column2,
    table#match tbody tr.lastgames .column6 {
      text-align: center;
    }
    table#match .column2 img.match-crest,
    table#match .column6 img.match-crest,
    table#match .column2 img:not(.match-crest),
    table#match .column6 img:not(.match-crest) {
      width: 28px;
      height: 28px;
      max-width: 28px;
      max-height: 28px;
      object-fit: contain;
      display: block;
      margin: 0;
    }
    table#match img.match-crest--flag {
      height: 20px;
      max-height: 20px;
      object-fit: cover;
    }
    table#match .column2 img.match-crest,
    table#match .column2 img:not(.match-crest) {
      margin-right: auto;
    }
    table#match .column6 img.match-crest,
    table#match .column6 img:not(.match-crest) {
      margin-left: auto;
    }
    table#match tbody tr.lastgames .column2 img.match-crest,
    table#match tbody tr.lastgames .column6 img.match-crest,
    table#match tbody tr.lastgames .column2 img:not(.match-crest),
    table#match tbody tr.lastgames .column6 img:not(.match-crest) {
      margin-left: auto;
      margin-right: auto;
    }
    /* Prono grid crests — re-assert after global 28px #match rules (cascade order) */
    table.prono_toplevel table#match .column2,
    table.prono_toplevel table#match .column6 {
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
    }
    table.prono_toplevel table#match .column2 img.match-crest,
    table.prono_toplevel table#match .column2 img:not(.match-crest) {
      width: 16px !important;
      height: 16px !important;
      max-width: 16px !important;
      max-height: 16px !important;
      margin: 0 0 0 auto !important;
    }
    table.prono_toplevel table#match .column6 img.match-crest,
    table.prono_toplevel table#match .column6 img:not(.match-crest) {
      width: 16px !important;
      height: 16px !important;
      max-width: 16px !important;
      max-height: 16px !important;
      margin: 0 auto 0 0 !important;
    }
    table.prono_toplevel table#match .column2 img.match-crest--flag,
    table.prono_toplevel table#match .column6 img.match-crest--flag {
      height: 11px !important;
      max-height: 11px !important;
    }

    table#match .column4,
    table.prono .column4 {
        max-width: 2.85rem;
        min-width: 2.35rem;
        width: auto;
        padding-left: 0.03rem !important;
        padding-right: 0.03rem !important;
    }
    table.prono_toplevel table#match .column4 {
      min-width: 2.85rem !important;
      max-width: none !important;
      overflow: visible !important;
    }

    /* Home / away name columns: identical share of remaining space via table-layout:fixed.
       Use width:auto so both split whatever is left after fixed columns (column1/2/4/6/7). */
    table#match .column3,
    table#match .column5 {
        width: auto !important;
        min-width: 2.25rem;
        max-width: none !important;
        box-sizing: border-box;
    }
    table.prono .column5,
    table.prono .column3 {
        min-width: 0;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }
    table.prono .column3,
    table.prono .column5 {
      width: 32%;
      max-width: 32%;
    }
    /* Names: show .mobile when it has text; otherwise keep .team (avoids empty cells when shortify yields "") */
    table#match td.column3 .mobile,
    table#match td.column5 .mobile {
        display: none;
    }
    table#match td.column3 .team,
    table#match td.column5 .team {
        display: inline;
    }
    table#match td.column3:has(.mobile:not(:empty)) .team,
    table#match td.column5:has(.mobile:not(:empty)) .team {
        display: none !important;
    }
    table#match td.column3:has(.mobile:not(:empty)) .mobile,
    table#match td.column5:has(.mobile:not(:empty)) .mobile {
        display: inline !important;
    }
    .col1{
      width: 40%;
      position: relative;
    }
    .col2{
      width: 58px;
      z-index: 4;
      position: relative;
    }
    .col3{
      width: calc(58% - 64px);
      position: relative;
    }
    .prono_pagination{
        font-size: 17px;
        margin-right: 0px;
        text-align: center;
    }
    .pageNumber{
        width: 30px;
        height: 30px; 
    }
    
    #stats table.class_team .column8,
    #stats table.class_team .column9,
    #stats table.class_team .column10{
      display: none;
    }
    table.class_team tfoot button {
      min-height: 34px;
      min-width: 84px;
      font-size: 12px;
      padding: 0.3em 0.55em;
    }
    
    table#match thead tr th, table.prono thead tr th {
      font-size: 12px !important;
      font-weight: unset;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    table#match tfoot td {
      font-size: 13px;
      line-height: 1.35;
      padding: 0.35em 0.25em;
    }
    table#match tfoot button {
      min-height: 34px;
      padding: 0.35em 0.65em;
      font-size: 12px;
    }
    table#match .pronos {
      padding-top: 10px;
      padding-bottom: 14px;
    }

    table#match td.pronos.prono-score-cell {
      padding-left: 0.25rem !important;
      padding-right: 0.25rem !important;
    }

    /* Kickoff / FT score chip — desktop min-width reads huge on phones */
    table#match .column4 {
      padding-left: 0.12rem !important;
      padding-right: 0.12rem !important;
    }
    table#match .match-score-chip {
      min-width: 0 !important;
      padding: 0.12rem 0.26rem !important;
      font-size: 11px !important;
      line-height: 1.08 !important;
      border-radius: 3px;
    }

    table.palmares .column3 {
      width: 20px;
      text-align: center;
      padding-left: 5px;
      }
      
      table.palmares .column4 {
      min-width: 20px;
      text-align: center;
      padding: 0px 0px 0px 0px;
      }
      
      table.palmares img {
      width: 15px;
      padding: 0.25em 0 0.25em 0;
      }
}

@media screen and (max-width: 423px) {
    table#match {
      border-radius: 8px;
    }
    table#match tbody tr {
        height: 40px;
    }
    table.prono_toplevel > tbody > tr:first-child td:nth-child(2) table.prono tbody tr,
    table.prono_toplevel > tbody > tr:first-child td:nth-child(3) table.prono tbody tr {
        height: 40px !important;
        min-height: 40px !important;
    }
    /* Authoritative col widths at 423px — status rail minimal */
    table#match > colgroup > col.col-status { width: 1rem; }
    table#match > colgroup > col.col-cta { width: 2.75rem; }
    table#match > colgroup > col.col-home-crest,
    table#match > colgroup > col.col-away-crest { width: 28px; }
    table#match > colgroup > col.col-time { width: 3.25rem; }

    /* Status rail narrow; column7 = CTA */
    table#match .column1 {
        width: 1rem !important;
        min-width: 1rem !important;
        max-width: 1rem !important;
        padding: 0 !important;
        box-sizing: border-box;
    }
    table#match .column7 {
        width: 2.75rem !important;
        min-width: 2.75rem !important;
        max-width: 2.75rem !important;
        padding: 0 !important;
        box-sizing: border-box;
    }
    table.prono .column1 {
        padding: 0 !important;
        max-width: 2.875rem !important;
    }
    table#match tbody tr.match-row > td.column1:first-child {
      width: 1rem !important;
      min-width: 1rem !important;
      max-width: 1rem !important;
      padding-left: 1px !important;
      padding-right: 1px !important;
    }
    table#match tbody tr td.column7.match-row__cta {
      width: 2.75rem !important;
      min-width: 2.75rem !important;
      max-width: 2.75rem !important;
    }
    .box_left table#match > colgroup > col.col-status {
      width: 2.5rem !important;
    }
    .box_left table#match tbody tr.match-row > td.column1:first-child {
      width: 2.5rem !important;
      min-width: 2.5rem !important;
      max-width: 2.5rem !important;
    }
    .box_left table#match .column1 {
      width: 2.5rem !important;
      min-width: 2.5rem !important;
      max-width: 2.5rem !important;
    }
    table#match tbody tr:not(.match-day-row):not(.date) td.column1.team,
    table#match tbody tr:not(.match-day-row):not(.date) td.column1:not(.mobile) {
      font-size: 10px;
      letter-spacing: -0.01em;
    }
    table#match .column3,
    table#match .column5 {
      width: auto !important;
      min-width: 2.25rem;
      max-width: none !important;
      box-sizing: border-box;
    }
    table#match .column2,
    table#match .column6 {
      width: 28px !important;
      min-width: 28px !important;
      max-width: 28px !important;
    }
    table#match tbody tr img {
      height: 28px;
      width: 28px;
    }
    table#match .column2 img.match-crest,
    table#match .column6 img.match-crest,
    table#match .column2 img:not(.match-crest),
    table#match .column6 img:not(.match-crest) {
      width: 28px;
      height: 28px;
      max-width: 28px;
      max-height: 28px;
      object-fit: contain;
      display: block;
      margin: 0;
    }
    table#match img.match-crest--flag {
      height: 20px;
      max-height: 20px;
      object-fit: cover;
    }
    table#match .column2 img.match-crest,
    table#match .column2 img:not(.match-crest) {
      margin-right: auto;
    }
    table#match .column6 img.match-crest,
    table#match .column6 img:not(.match-crest) {
      margin-left: auto;
    }
    table#match tbody tr.lastgames .column2 img.match-crest,
    table#match tbody tr.lastgames .column6 img.match-crest,
    table#match tbody tr.lastgames .column2 img:not(.match-crest),
    table#match tbody tr.lastgames .column6 img:not(.match-crest) {
      margin-left: auto;
      margin-right: auto;
    }
    table#match .column4 {
      font-size: 11px;
      min-width: 28px !important;
      max-width: 3.4rem !important;
    }
    table#match .match-score-chip {
      padding: 0.09rem 0.2rem !important;
      font-size: 10px !important;
      line-height: 1 !important;
    }
    table#match tfoot button {
      min-height: 32px;
      padding: 0.3em 0.55em;
      font-size: 11px;
      margin: 0.1em;
    }
    table#match tfoot td {
      font-size: 12px;
    }

    #box > .width100 > table.prono_toplevel col.col1 {
      width: 9.85rem !important;
      min-width: 9.5rem !important;
      max-width: 48vw !important;
    }
    table.prono_toplevel table#match .column3,
    table.prono_toplevel table#match .column5 {
      font-size: 10.5px !important;
    }
}


@media screen and (max-width: 321px) {

    #box > .width100 > table.prono_toplevel col.col1 {
      width: 9.5rem !important;
      min-width: 9.25rem !important;
    }

    .col1{
      width: 50%;
      position: relative;
    }
    .col2{
      width: 58px;
      z-index: 4;
      position: relative;
    }
    .col3{
      width: calc(50%-64px);
      position: relative;
    }

}

/* ----- Fixture detail CTA in #match row (opens fixture_detail.php) ----- */
/* Fixed-width action column so score/time (column4) stays aligned when the link is absent */
table#match tbody tr td.column7.match-row__cta {
  text-align: right;
  vertical-align: middle;
  padding-right: 0.35rem !important;
  padding-left: 0.25rem !important;
  box-sizing: border-box;
  white-space: nowrap;
}
table#match .match-row__cta-group {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.28rem;
  width: 100%;
}
table#match .match-fixture-detail-btn.match-fixture-detail-btn--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  color: #475569;
  text-decoration: none;
  border-radius: 0.4rem;
  border: 1px solid var(--mp-line, #e2e8f0);
  background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%);
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  transition:
    color 0.14s ease,
    border-color 0.14s ease,
    background 0.14s ease,
    box-shadow 0.14s ease,
    transform 0.12s ease;
}
table#match .match-fixture-detail-btn--icon .match-fixture-detail-btn__svg {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
  flex-shrink: 0;
}
table#match .match-fixture-detail-btn--icon:hover {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.45);
  background: linear-gradient(165deg, #ffffff 0%, #eff6ff 100%);
  box-shadow:
    0 2px 6px rgba(37, 99, 235, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
table#match .match-fixture-detail-btn--icon:active {
  transform: scale(0.94);
}
table#match .match-fixture-detail-btn--icon:focus {
  outline: none;
}
table#match .match-pred-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  color: #64748b;
  text-decoration: none;
  border-radius: 0.4rem;
  border: 1px solid var(--mp-line, #e2e8f0);
  background: #ffffff;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  transition:
    color 0.14s ease,
    border-color 0.14s ease,
    background 0.14s ease,
    box-shadow 0.14s ease,
    transform 0.12s ease;
}
table#match .match-pred-btn:hover {
  color: #334155;
  border-color: #cbd5e1;
  background: #f8fafc;
}
table#match .match-pred-btn:active {
  transform: scale(0.94);
}
table#match .match-pred-btn:focus {
  outline: none;
}
table#match .match-pred-btn:focus-visible {
  outline: 2px solid #64748b;
  outline-offset: 2px;
}
table#match .match-pred-btn__svg {
  width: 1.1rem;
  height: 1.1rem;
  display: block;
  flex-shrink: 0;
}

.match-prediction-dialog {
  border: none;
  padding: 0;
  max-width: calc(100vw - 1.5rem);
  width: 26rem;
  background: transparent;
}
.match-prediction-dialog::backdrop {
  background: rgba(15, 23, 42, 0.45);
}
.match-prediction-dialog__sheet {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}
.match-prediction-dialog__close {
  position: absolute;
  top: 0.4rem;
  right: 0.45rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 8px;
  background: #f1f5f9;
  color: #334155;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.match-prediction-dialog__close:hover {
  background: #e2e8f0;
}
.match-prediction-dialog__body {
  padding: 1rem 2.25rem 1rem 1rem;
  max-height: min(78vh, 32rem);
  overflow: auto;
}

.match-prediction-panel__teams {
  margin: 0 0 0.75rem;
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
  text-align: center;
  line-height: 1.35;
}
.match-prediction-panel__vs {
  font-weight: 600;
  color: #94a3b8;
  font-size: 12px;
  text-transform: lowercase;
}
.match-prediction-1x2 {
  display: flex;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  min-height: 2.5rem;
}
.match-prediction-1x2__seg {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  min-width: 0;
  padding: 0.35rem 0.2rem;
  box-sizing: border-box;
}
.match-prediction-1x2__lbl {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.95);
}
.match-prediction-1x2__pct {
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.match-prediction-1x2__seg--home {
  background: linear-gradient(180deg, #38bdf8 0%, #0284c7 100%);
}
.match-prediction-1x2__seg--draw {
  background: linear-gradient(180deg, #94a3b8 0%, #64748b 100%);
}
.match-prediction-1x2__seg--away {
  background: linear-gradient(180deg, #86efac 0%, #16a34a 100%);
}
.match-prediction-panel__winner {
  margin: 0.75rem 0 0.35rem;
  font-size: 13px;
  color: #334155;
  line-height: 1.45;
}
.match-prediction-panel__advice {
  margin: 0 0 0.65rem;
  font-size: 13px;
  font-weight: 600;
  color: #1e40af;
  line-height: 1.45;
}
.match-prediction-panel__meta {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0;
  font-size: 12.5px;
  color: #475569;
}
.match-prediction-panel__meta .k {
  font-weight: 700;
  color: #64748b;
  margin-right: 0.35rem;
}
.match-prediction-compare__title {
  margin: 0.5rem 0 0.45rem;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}
.match-prediction-crow {
  margin-bottom: 0.65rem;
}
.match-prediction-crow__label {
  text-align: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #334155;
  margin-bottom: 0.2rem;
}
.match-prediction-crow__vals {
  display: flex;
  justify-content: space-between;
  font-size: 12.5px;
  font-weight: 700;
  color: #64748b;
  margin-bottom: 0.2rem;
}
.match-prediction-cmeter {
  display: flex;
  width: 100%;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: #e9ecef;
}
.match-prediction-cmeter__home {
  height: 100%;
  flex: 0 0 auto;
  background: linear-gradient(180deg, #22c3f7 0%, #0284c7 100%);
}
.match-prediction-cmeter__away {
  height: 100%;
  flex: 0 0 auto;
  background: linear-gradient(180deg, #b8e063 0%, #65a30d 100%);
}
.match-prediction-panel__foot {
  margin: 0.75rem 0 0;
  font-size: 10.5px;
  color: #94a3b8;
}

.match-prediction-panel {
  max-width: 100%;
}
.match-prediction-visual {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1.5rem;
  align-items: flex-start;
  justify-content: center;
  margin: 0.5rem 0 0;
}
.match-prediction-visual--bars-only {
  display: block;
}
.match-prediction-visual__radar {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 22rem;
  margin-left: auto;
  margin-right: auto;
}
.match-prediction-visual__bars {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 28rem;
}
.match-prediction-radar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
}
.match-prediction-radar__svg {
  display: block;
  width: min(320px, 100%);
  max-width: min(320px, 94vw);
  height: auto;
}
.match-prediction-radar__grid {
  stroke: #e2e8f0;
  stroke-width: 1.1;
}
.match-prediction-radar__spoke {
  stroke: #e2e8f0;
  stroke-width: 1.1;
}
.match-prediction-radar__poly {
  stroke-width: 1.75;
  stroke-linejoin: round;
}
.match-prediction-radar__poly--home {
  fill: rgba(2, 132, 199, 0.22);
  stroke: #0284c7;
}
.match-prediction-radar__poly--away {
  fill: rgba(101, 163, 13, 0.22);
  stroke: #65a30d;
}
.match-prediction-radar__lbl {
  fill: #64748b;
  font-size: 9.25px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.match-prediction-radar__ring-lbl {
  fill: #94a3b8;
  font-size: 8px;
  font-weight: 600;
}
.match-prediction-radar__axis {
  cursor: help;
}
.match-prediction-radar__hit {
  fill: transparent;
  stroke: transparent;
  cursor: help;
}
.match-prediction-radar__hit--home:hover {
  fill: rgba(2, 132, 199, 0.35);
  stroke: #0284c7;
  stroke-width: 1.5;
}
.match-prediction-radar__hit--away:hover {
  fill: rgba(101, 163, 13, 0.35);
  stroke: #65a30d;
  stroke-width: 1.5;
}
.match-prediction-radar__tip {
  position: fixed;
  z-index: 12000;
  max-width: min(280px, 90vw);
  padding: 0.45rem 0.6rem;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.94);
  color: #f8fafc;
  font-size: 12px;
  line-height: 1.35;
  pointer-events: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.match-prediction-radar__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 1rem;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
}
.match-prediction-radar__lg {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.match-prediction-radar__sw {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.match-prediction-radar__sw--home {
  background: linear-gradient(180deg, #38bdf8 0%, #0284c7 100%);
}
.match-prediction-radar__sw--away {
  background: linear-gradient(180deg, #b8e063 0%, #65a30d 100%);
}

@media screen and (max-width: 767px) {
  .match-prediction-visual:not(.match-prediction-visual--bars-only) {
    flex-direction: column;
    align-items: center;
  }
  .match-prediction-visual__radar {
    max-width: 100%;
    order: -1;
  }
  .match-prediction-visual__bars {
    width: 100%;
    max-width: 100%;
  }
  .match-prediction-radar__svg {
    width: min(340px, 96vw);
    max-width: min(340px, 96vw);
  }
}

/* ----- Fixture detail standalone (compositions / événements / statistiques) ----- */
.fixture-detail-scope {
  --fd-surface: #ffffff;
  --fd-line: #e2e8f0;
  --fd-muted: #64748b;
  --fd-ink: #0f172a;
  --fd-pitch-a: #163b24;
  --fd-pitch-b: #143a30;
  --fd-pitch-line: rgba(255, 255, 255, 0.42);
  --fd-kit-a: #86efac;
  --fd-kit-b: #7dd3fc;
  --fd-accent-a: #2563eb;
  --fd-accent-b: #16a34a;
}

.fixture-detail-scope .fd-empty {
  margin: 0.5rem 0 0;
  color: var(--fd-muted);
  line-height: 1.55;
  font-size: 14px;
}

.fixture-detail-sheet {
  background: var(--fd-surface);
  border: 1px solid var(--fd-line);
  border-radius: 14px;
  padding: 1rem 1.1rem 1.35rem;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
}

.fixture-detail-scope .fd-page-meta {
  margin: 0 0 0.5rem;
  font-size: 13px;
  color: var(--fd-muted);
}
.fixture-detail-scope .fd-page-code {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-weight: 600;
  color: var(--fd-ink);
  font-size: 12px;
  background: #f1f5f9;
  padding: 0.12rem 0.35rem;
  border-radius: 6px;
}
.fixture-detail-scope .fd-page-msg {
  margin: 0.35rem 0 0;
  line-height: 1.55;
  color: #475569;
  font-size: 14px;
}

.fixture-detail-scope .fd-page-lead {
  margin: 0 0 1.1rem;
  font-size: 15px;
  font-weight: 600;
  color: #334155;
}
.fixture-detail-scope .fd-page-score {
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--fd-ink);
}
.fixture-detail-scope .fd-page-status {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--fd-muted);
}

.fixture-detail-scope .fd-tabs {
  margin-top: 0.15rem;
}
.fixture-detail-scope .fd-tabs__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 1rem;
  padding: 0.25rem;
  background: #f1f5f9;
  border-radius: 10px;
  border: 1px solid var(--fd-line);
  box-shadow: none;
}

/* No double hairline between score/status lead and the grey tab bar */
.fixture-detail-scope .fd-page-lead + .fd-tabs .fd-tabs__bar {
  border-top: 0;
}
.fixture-detail-scope .fd-tabs__tab {
  flex: 1 1 6.5rem;
  margin: 0;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  background: transparent;
  color: #64748b;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.fixture-detail-scope .fd-tabs__tab:hover {
  color: #334155;
  background: rgba(255, 255, 255, 0.55);
}
.fixture-detail-scope .fd-tabs__tab:focus {
  outline: none;
}
.fixture-detail-scope .fd-tabs__tab:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}
.fixture-detail-scope .fd-tabs__tab--active,
.fixture-detail-scope .fd-tabs__tab[aria-selected="true"] {
  background: #fff;
  color: var(--fd-ink);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}
.fixture-detail-scope .fd-tabs__panel .fd-section {
  margin-bottom: 0;
}

.fixture-detail-scope .fd-section {
  margin-bottom: 1.75rem;
}
.fixture-detail-scope .fd-section:last-child {
  margin-bottom: 0;
}
.fixture-detail-scope .fd-section__head {
  margin-bottom: 0.65rem;
}
.fixture-detail-scope .fd-section__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--fd-ink);
}
.fixture-detail-scope .fd-section__sub {
  margin: 0.25rem 0 0;
  font-size: 12.5px;
  color: var(--fd-muted);
  line-height: 1.45;
}
.fixture-detail-scope .fd-section__sub code {
  font-size: 11.5px;
  background: #f8fafc;
  padding: 0.08rem 0.28rem;
  border-radius: 4px;
  border: 1px solid #e2e8f0;
}

/* ----- Fixture detail: lineups (split pitch + roster panels) ----- */
.fixture-detail-scope .fd-lineups-v2 {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.fixture-detail-scope .fd-pitch-stage {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 6px 22px rgba(15, 23, 42, 0.18);
  min-height: 12.5rem;
}
@media screen and (max-width: 560px) {
  .fixture-detail-scope .fd-pitch-stage:not(.fd-pitch-stage--single) {
    flex-direction: column;
  }
  .fixture-detail-scope .fd-pitch-stage__hinge {
    display: none;
  }
  .fixture-detail-scope .fd-pitch-stage__half {
    flex: 1 1 auto;
  }
  .fixture-detail-scope .fd-pitch-stage__half--a .fd-pitch-stage__markings,
  .fixture-detail-scope .fd-pitch-stage__half--b .fd-pitch-stage__markings {
    border-radius: 8px;
    border-right: 1px solid var(--fd-pitch-line);
    border-left: 1px solid var(--fd-pitch-line);
  }
}
.fixture-detail-scope .fd-pitch-stage--single .fd-pitch-stage__half {
  flex: 1 1 100%;
}
.fixture-detail-scope .fd-pitch-stage__half {
  flex: 1 1 50%;
  min-width: 0;
  position: relative;
}
.fixture-detail-scope .fd-pitch-stage__half--a .fd-pitch-stage__turf {
  background: linear-gradient(165deg, #1a4d2e 0%, var(--fd-pitch-a) 55%, #0f2418 100%);
}
.fixture-detail-scope .fd-pitch-stage__half--b .fd-pitch-stage__turf {
  background: linear-gradient(195deg, #164033 0%, var(--fd-pitch-b) 50%, #0c1f18 100%);
}
.fixture-detail-scope .fd-pitch-stage__turf {
  position: relative;
  height: 100%;
  min-height: 12rem;
  padding: 0.55rem 0.45rem 0.65rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fixture-detail-scope .fd-pitch-stage__markings {
  position: absolute;
  inset: 0.5rem 0.4rem 0.45rem;
  border: 1px solid var(--fd-pitch-line);
  border-radius: 6px;
  pointer-events: none;
  opacity: 0.55;
}
.fixture-detail-scope .fd-pitch-stage__half--a .fd-pitch-stage__markings {
  border-right: 2px solid var(--fd-pitch-line);
  border-radius: 8px 0 0 8px;
}
.fixture-detail-scope .fd-pitch-stage__half--b .fd-pitch-stage__markings {
  border-left: 2px solid var(--fd-pitch-line);
  border-radius: 0 8px 8px 0;
}
.fixture-detail-scope .fd-pitch-stage__formation {
  position: relative;
  z-index: 1;
  margin: 0 0 0.4rem;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.fixture-detail-scope .fd-pitch-stage__empty {
  position: relative;
  z-index: 1;
  margin: auto 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
  text-align: center;
}
.fixture-detail-scope .fd-pitch-stage__hinge {
  flex: 0 0 3px;
  align-self: stretch;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0.15) 100%);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.fixture-detail-scope .fd-pitch-mini {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: repeat(var(--fd-rows), minmax(1.85rem, 1fr));
  grid-template-columns: repeat(var(--fd-cols), minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  max-width: 17rem;
  margin: 0 auto;
  flex: 1 1 auto;
  min-height: 0;
}
.fixture-detail-scope .fd-kit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  padding: 2px 1px 1px;
  text-align: center;
}
.fixture-detail-scope .fd-kit__shirt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.45rem;
  border-radius: 5px 5px 3px 3px;
  border: 1px solid rgba(15, 23, 42, 0.28);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.fixture-detail-scope .fd-pitch-stage__half--a .fd-kit__shirt {
  background: linear-gradient(180deg, #bbf7d0 0%, var(--fd-kit-a) 45%, #4ade80 100%);
}
.fixture-detail-scope .fd-pitch-stage__half--b .fd-kit__shirt {
  background: linear-gradient(180deg, #bae6fd 0%, var(--fd-kit-b) 45%, #38bdf8 100%);
}
.fixture-detail-scope .fd-kit__num {
  font-size: 10px;
  font-weight: 900;
  color: #0f172a;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.fixture-detail-scope .fd-kit__grid {
  margin-top: 2px;
  font-size: 8px;
  font-weight: 700;
  font-family: ui-monospace, Menlo, Consolas, monospace;
  color: rgba(255, 255, 255, 0.88);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.fixture-detail-scope .fd-lineups-v2__panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
@media screen and (max-width: 720px) {
  .fixture-detail-scope .fd-lineups-v2__panels {
    grid-template-columns: 1fr;
  }
}

.fixture-detail-scope .fd-team-panel {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}
.fixture-detail-scope .fd-team-panel__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem 0.55rem 0;
  border-bottom: 1px solid #eef2f7;
  background: #fafbfc;
}
.fixture-detail-scope .fd-team-panel__accent {
  flex: 0 0 5px;
  align-self: stretch;
  min-height: 2.75rem;
  border-radius: 0 3px 3px 0;
}
.fixture-detail-scope .fd-team-panel--a .fd-team-panel__accent {
  background: linear-gradient(180deg, #3b82f6 0%, var(--fd-accent-a) 100%);
}
.fixture-detail-scope .fd-team-panel--b .fd-team-panel__accent {
  background: linear-gradient(180deg, #22c55e 0%, var(--fd-accent-b) 100%);
}
.fixture-detail-scope .fd-team-panel__titles {
  flex: 1 1 auto;
  min-width: 0;
}
.fixture-detail-scope .fd-team-panel__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fd-ink);
  line-height: 1.2;
}
.fixture-detail-scope .fd-team-panel__formation {
  margin: 0.12rem 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--fd-muted);
  font-family: ui-monospace, Menlo, Consolas, monospace;
}
.fixture-detail-scope .fd-team-panel__crest {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--fd-line);
}

.fixture-detail-scope .fd-team-panel__body {
  padding: 0 0 0.35rem;
}
.fixture-detail-scope .fd-team-block {
  padding: 0 0.65rem;
}
.fixture-detail-scope .fd-team-block + .fd-team-block {
  margin-top: 0.35rem;
}
.fixture-detail-scope .fd-blockhead {
  margin: 0 -0.65rem 0.35rem;
  padding: 0.32rem 0.65rem;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475569;
  background: #e2e8f0;
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
}
.fixture-detail-scope .fd-team-block:first-of-type .fd-blockhead {
  border-top: 0;
}
.fixture-detail-scope .fd-coach-name {
  margin: 0 0 0.35rem;
  font-size: 14px;
  font-weight: 600;
  color: var(--fd-ink);
}
.fixture-detail-scope .fd-team-block__empty {
  margin: 0.25rem 0 0.5rem;
  font-size: 13px;
  color: var(--fd-muted);
}

.fixture-detail-scope .fd-roster {
  list-style: none;
  margin: 0;
  padding: 0 0 0.4rem;
}
.fixture-detail-scope .fd-roster__row {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  padding: 0.38rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 13px;
}
.fixture-detail-scope .fd-roster__row:last-child {
  border-bottom: 0;
}
.fixture-detail-scope .fd-roster__num {
  flex: 0 0 1.5rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #94a3b8;
  text-align: right;
}
.fixture-detail-scope .fd-roster__name {
  font-weight: 600;
  color: var(--fd-ink);
}

/* Events timeline */
.fixture-detail-scope .fd-events-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fixture-detail-scope .fd-event {
  display: grid;
  grid-template-columns: 3.25rem 10px 1fr;
  gap: 0 0.65rem;
  align-items: stretch;
  padding: 0.55rem 0;
  border-bottom: 1px solid #eef2f7;
}
.fixture-detail-scope .fd-event:last-child {
  border-bottom: none;
}
.fixture-detail-scope .fd-event__time {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.15rem;
}
.fixture-detail-scope .fd-event__min {
  font-size: 13px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--fd-ink);
  background: #f1f5f9;
  border-radius: 8px;
  padding: 0.2rem 0.45rem;
  line-height: 1.2;
}
.fixture-detail-scope .fd-event__rail {
  position: relative;
  width: 10px;
  justify-self: center;
}
.fixture-detail-scope .fd-event__rail::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: #e2e8f0;
  border-radius: 2px;
}
.fixture-detail-scope .fd-event:last-child .fd-event__rail::before {
  bottom: 50%;
}
.fixture-detail-scope .fd-event__rail::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0.55rem;
  width: 10px;
  height: 10px;
  transform: translate(-50%, 0);
  border-radius: 50%;
  background: #94a3b8;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #e2e8f0;
  z-index: 1;
}
.fixture-detail-scope .fd-event--goal .fd-event__rail::after {
  background: #16a34a;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35);
}
.fixture-detail-scope .fd-event--card-yellow .fd-event__rail::after {
  background: #eab308;
}
.fixture-detail-scope .fd-event--card-red .fd-event__rail::after {
  background: #dc2626;
}
.fixture-detail-scope .fd-event--sub .fd-event__rail::after {
  background: #2563eb;
}
.fixture-detail-scope .fd-event--var .fd-event__rail::after {
  background: #7c3aed;
}

.fixture-detail-scope .fd-event__body {
  min-width: 0;
  padding: 0.05rem 0 0.1rem;
}
.fixture-detail-scope .fd-event__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin-bottom: 0.2rem;
}
.fixture-detail-scope .fd-chip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  line-height: 1.2;
}
.fixture-detail-scope .fd-chip--type {
  background: #1e293b;
  color: #fff;
  text-transform: capitalize;
}
.fixture-detail-scope .fd-chip--detail {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #e2e8f0;
  font-weight: 600;
}
.fixture-detail-scope .fd-event__team {
  margin: 0 0 0.1rem;
  font-size: 12px;
  font-weight: 700;
  color: #475569;
}
.fixture-detail-scope .fd-event__player {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--fd-ink);
}
.fixture-detail-scope .fd-event__assist {
  margin: 0.15rem 0 0;
  font-size: 12px;
  color: var(--fd-muted);
}
.fixture-detail-scope .fd-event__assist-label {
  font-weight: 700;
  margin-right: 0.25rem;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fixture-detail-scope .fd-event__comments {
  margin: 0.35rem 0 0;
  font-size: 12px;
  color: #64748b;
  font-style: italic;
  line-height: 1.4;
}

/* Statistics — comparison bars */
.fixture-detail-scope .fd-stats-scroll {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid var(--fd-line);
  background: #fff;
  padding: 0.85rem 1rem 1.1rem;
}
.fixture-detail-scope .fd-stats-bars {
  display: flex;
  flex-direction: column;
  gap: 1.05rem;
  max-width: 38rem;
  margin: 0 auto;
}
.fixture-detail-scope .fd-stats-bars__teams {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding-bottom: 0.45rem;
  margin-bottom: 0.1rem;
  border-bottom: 1px solid #eef2f7;
}
.fixture-detail-scope .fd-stats-bars__team-name {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #334155;
}
.fixture-detail-scope .fd-stats-bars__team-name--home {
  color: #0284c7;
}
.fixture-detail-scope .fd-stats-bars__team-name--away {
  color: #65a30d;
  text-align: right;
}
.fixture-detail-scope .fd-stat-row {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}
.fixture-detail-scope .fd-stat-row__label {
  text-align: center;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2d3e50;
  line-height: 1.3;
}
.fixture-detail-scope .fd-stat-row__vals {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.1rem;
}
.fixture-detail-scope .fd-stat-row__val {
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #64748b;
}
.fixture-detail-scope .fd-stat-meter {
  display: flex;
  width: 100%;
  height: 11px;
  border-radius: 9999px;
  overflow: hidden;
  background: #e9ecef;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}
.fixture-detail-scope .fd-stat-meter__home {
  height: 100%;
  flex: 0 0 auto;
  background: linear-gradient(180deg, #22c3f7 0%, #00aef0 55%, #0090c9 100%);
}
.fixture-detail-scope .fd-stat-meter__away {
  height: 100%;
  flex: 0 0 auto;
  background: linear-gradient(180deg, #b8e063 0%, #8cc63f 55%, #73a82f 100%);
}

/* Standalone fixture_detail.php + predictions.php shell */
.ps-standalone-brand {
  margin: 0 0 0.5rem;
}
.ps-standalone-brand #logo {
  margin: 0;
  padding: 0;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: #0f172a;
  letter-spacing: normal;
  text-transform: uppercase;
}
.ps-standalone-brand__home {
  color: inherit;
  text-decoration: none;
  border-radius: 4px;
}
.ps-standalone-brand__home:hover {
  opacity: 0.82;
}
.ps-standalone-brand__home:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}

body.fixture-detail-standalone {
  background: var(--mp-alt, #f1f5f9);
  margin: 0;
  min-height: 100vh;
}
.fixture-detail-standalone__wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem 1rem 2.5rem;
}
.fixture-detail-back {
  margin: 0 0 0.75rem;
  font-size: 14px;
}
.fixture-detail-back a {
  color: #2563eb;
  text-decoration: none;
  font-weight: 600;
}
.fixture-detail-back a:hover {
  text-decoration: underline;
}
.fixture-detail-standalone__title {
  margin: 0 0 0.85rem;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f172a;
  line-height: 1.25;
}
