/* CoachPanel V20.0.3.37 · Layout canónico de iPad y móvil.
   Un único propietario final para Plantilla, Partidos y controles Live. */

.visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;
}

/* =========================================================
   IPAD · PLANTILLA
   Jugadores y Campograma: uno encima del otro, anchos y legibles.
   ========================================================= */
@media (min-width:700px) and (max-width:1400px){
  html body #jugadores > .botonera-landing,
  html body #jugadores.active > .botonera-landing{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 20px!important;
    padding:18px!important;
    overflow:visible!important;
  }

  html body #jugadores .botonera-grid.two,
  html body #jugadores.active .botonera-grid.two{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  html body #jugadores .botonera-grid.two > .botonera-tile,
  html body #jugadores .botonera-grid.two > .botonera-tile:nth-child(n),
  html body #jugadores .botonera-grid.two > .botonera-tile:last-child{
    box-sizing:border-box!important;
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr) 28px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:20px!important;
    row-gap:7px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:122px!important;
    height:auto!important;
    margin:0!important;
    padding:20px 22px!important;
    overflow:visible!important;
    text-align:left!important;
  }

  html body #jugadores .botonera-grid.two .botonera-tile-icon,
  html body #jugadores .botonera-grid.two .soccer-field-icon{
    grid-column:1!important;
    grid-row:1 / 3!important;
    display:grid!important;
    place-items:center!important;
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  html body #jugadores .botonera-grid.two .botonera-tile-title{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:900!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;
  }

  html body #jugadores .botonera-grid.two .botonera-tile-sub{
    grid-column:2!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.45!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:break-word!important;
    -webkit-line-clamp:unset!important;
  }

  html body #jugadores .botonera-grid.two .botonera-arrow{
    grid-column:3!important;
    grid-row:1 / 3!important;
    align-self:center!important;
    justify-self:end!important;
    width:28px!important;
    min-width:28px!important;
    margin:0!important;
  }

  /* Submenú de Plantilla: ocupa todo el ancho y no recorta Campograma. */
  html body #jugadores .plantilla-submenu{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 16px!important;
    padding:0!important;
    overflow:visible!important;
  }
  html body #jugadores .plantilla-submenu > .plantilla-subtab{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    padding:11px 14px!important;
    font-size:15px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body #jugadores .plantilla-submenu > .plantilla-print-button{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    margin:0!important;
  }

  html body #campogramaPlantilla,
  html body #campogramaPlantilla .campograma-card,
  html body #campogramaPlantilla .campograma-layout,
  html body #campogramaPlantilla .campograma-roster-layout{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
}

/* =========================================================
   BOTONERA PRINCIPAL DE PARTIDOS · 2 x 2 REAL
   ========================================================= */
@media (max-width:1400px){
  html body #partidos > .botonera-landing,
  html body #partidos.active > .botonera-landing{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 20px!important;
    overflow:visible!important;
  }

  html body #partidos .botonera-grid,
  html body #partidos.active .botonera-grid{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:1fr!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  html body #partidos .botonera-grid > .botonera-tile,
  html body #partidos .botonera-grid > .botonera-tile:nth-child(n),
  html body #partidos .botonera-grid > .botonera-tile:last-child,
  html body #partidos .botonera-grid > .coachai-launcher{
    box-sizing:border-box!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    overflow:visible!important;
  }
}

@media (min-width:700px) and (max-width:1400px){
  html body #partidos .botonera-grid > .botonera-tile{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) 24px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:20px!important;
    row-gap:8px!important;
    min-height:136px!important;
    height:auto!important;
    padding:20px!important;
    text-align:left!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-icon{
    grid-column:1!important;
    grid-row:1 / 3!important;
    display:grid!important;
    place-items:center!important;
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    min-height:60px!important;
    margin:0!important;
    font-size:33px!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-title{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    font-size:20px!important;
    line-height:1.16!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-sub{
    grid-column:2!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.38!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    -webkit-line-clamp:unset!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-arrow{
    grid-column:3!important;
    grid-row:1 / 3!important;
    align-self:center!important;
    justify-self:end!important;
    width:24px!important;
    min-width:24px!important;
    margin:0!important;
  }
}

@media (max-width:699px){
  html body #partidos .botonera-grid{gap:10px!important}
  html body #partidos .botonera-grid > .botonera-tile{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:7px!important;
    min-height:116px!important;
    height:auto!important;
    padding:13px!important;
    text-align:left!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-icon{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    margin:0!important;
    font-size:23px!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-title{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-tile-sub{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
  }
  html body #partidos .botonera-grid > .botonera-tile .botonera-arrow{display:none!important}
}

/* =========================================================
   FICHAS DE PARTIDOS · resultado/enfrentamiento protagonista.
   ========================================================= */
@media (max-width:1400px){
  html body #partidosJugados table,
  html body #partidosPorDisputar table,
  html body #partidosJugados tbody,
  html body #partidosPorDisputar tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  html body #partidosJugados thead,
  html body #partidosPorDisputar thead{display:none!important}

  html body #partidosJugados tr.cp-match-card,
  html body #partidosPorDisputar tr.cp-match-card{
    box-sizing:border-box!important;
    position:relative!important;
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:16px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important;
    overflow:visible!important;
  }
  html body #partidosJugados tr.cp-match-card > td,
  html body #partidosPorDisputar tr.cp-match-card > td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  html body #partidosJugados tr.cp-match-card > td::before,
  html body #partidosPorDisputar tr.cp-match-card > td::before{
    display:none!important;
    content:none!important;
  }

  html body .cp-match-card .match-card-fixture .match-teams-cell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)!important;
    align-items:center!important;
    justify-items:center!important;
    gap:18px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
  }
  html body .cp-match-card .team-mini{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
  }
  html body .cp-match-card .team-shield-img,
  html body .cp-match-card .team-shield-placeholder{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
  }
  html body .cp-match-card .team-mini-name{
    display:block!important;
    max-width:190px!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:850!important;
    white-space:normal!important;
    text-align:center!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body .cp-match-card .match-vs{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:80px!important;
    min-width:80px!important;
    transform:none!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap!important;
    text-align:center!important;
    font-size:17px!important;
    font-weight:950!important;
  }
  html body .cp-match-card .match-score-fifa{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    min-width:80px!important;
    white-space:nowrap!important;
  }
  html body .cp-match-card .match-score-fifa strong{
    font-size:34px!important;
    line-height:1!important;
  }

  /* Jugados: resultado primero; seis acciones en 3 x 2; eliminar como icono independiente. */
  html body #partidosJugados tr.played-match-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    gap:10px 14px!important;
  }
  html body #partidosJugados .match-card-fixture{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding:8px 40px 6px!important;
  }
  html body #partidosJugados .match-card-date{
    grid-column:1!important;
    grid-row:2!important;
    align-self:center!important;
    font-size:12px!important;
  }
  html body #partidosJugados .match-card-competition{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:center!important;
  }
  html body #partidosJugados tr.played-match-row > td.played-match-actions{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    padding-top:3px!important;
  }
  html body #partidosJugados .played-match-actions > .danger{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    z-index:3!important;
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:10px!important;
  }
  html body #partidosJugados .played-match-actions > .danger > span:first-child{font-size:15px!important}
  html body #partidosJugados .played-match-actions > .danger > span:last-child{display:none!important}

  /* Por disputar: enfrentamiento centrado y seis acciones agrupadas en 3 x 2. */
  html body #partidosPorDisputar tr.upcoming-match-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    gap:10px 14px!important;
  }
  html body #partidosPorDisputar .match-card-fixture{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding:8px 4px!important;
  }
  html body #partidosPorDisputar .match-card-date-cell{
    grid-column:1!important;
    grid-row:2!important;
    align-self:center!important;
    text-align:left!important;
  }
  html body #partidosPorDisputar .match-card-competition{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:center!important;
  }
  html body #partidosPorDisputar tr.upcoming-match-row > td.upcoming-match-actions{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    padding-top:4px!important;
  }

  html body .cp-match-card .cp-match-action-btn{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:6px 7px!important;
    border-radius:11px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  html body .cp-match-card .cp-match-action-btn > span:first-child{
    flex:0 0 auto!important;
    font-size:14px!important;
    line-height:1!important;
  }
  html body .cp-match-card .cp-match-action-btn > span:last-child{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .cp-match-card .cp-tactical-plan-button{gap:0!important}
  html body .cp-match-card .match-card-count{
    display:inline-grid!important;
    place-items:center!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.16)!important;
    font-size:9px!important;
  }
}

@media (max-width:699px){
  html body #partidosJugados tr.cp-match-card,
  html body #partidosPorDisputar tr.cp-match-card{
    padding:13px!important;
    border-radius:16px!important;
  }
  html body .cp-match-card .match-card-fixture .match-teams-cell{
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
    gap:9px!important;
  }
  html body .cp-match-card .team-shield-img,
  html body .cp-match-card .team-shield-placeholder{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
  }
  html body .cp-match-card .team-mini-name{max-width:120px!important;font-size:11px!important}
  html body .cp-match-card .match-score-fifa{min-width:58px!important;gap:5px!important}
  html body .cp-match-card .match-score-fifa strong{font-size:29px!important}
  html body .cp-match-card .match-vs{width:58px!important;min-width:58px!important;font-size:14px!important}
  html body #partidosJugados tr.played-match-row > td.played-match-actions,
  html body #partidosPorDisputar tr.upcoming-match-row > td.upcoming-match-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  html body .cp-match-card .cp-match-action-btn{
    height:38px!important;
    min-height:38px!important;
    padding:5px!important;
    font-size:9.5px!important;
    gap:4px!important;
  }
  html body #partidosJugados .match-card-fixture{padding-inline:34px!important}
  html body #partidosJugados .played-match-actions > .danger{
    top:9px!important;
    right:9px!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
  }
}

/* =========================================================
   LIVE · controles cristal premium y sin expansiones heredadas.
   ========================================================= */
body.cp-live-v2-active #live.cp-live-v2-section .cpv2-primary-controls{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
body.cp-live-v2-active #live.cp-live-v2-section .cpv2-primary-controls > .cpv2-control,
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveFinal,
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveGolRival{
  box-sizing:border-box!important;
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035))!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 26px rgba(0,0,0,.26)!important;
  overflow:visible!important;
  transform:none!important;
}
body.cp-live-v2-active #live.cp-live-v2-section .cpv2-primary-controls > .cpv2-control::after{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:12px!important;
  pointer-events:none!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 50%)!important;
}
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveInicio{border-color:rgba(55,214,122,.38)!important;background:linear-gradient(145deg,rgba(55,214,122,.20),rgba(255,255,255,.035))!important}
body.cp-live-v2-active #live.cp-live-v2-section #btnLivePausa{border-color:rgba(59,155,240,.38)!important;background:linear-gradient(145deg,rgba(59,155,240,.19),rgba(255,255,255,.035))!important}
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveDescanso{border-color:rgba(244,196,48,.38)!important;background:linear-gradient(145deg,rgba(244,196,48,.17),rgba(255,255,255,.035))!important}
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveFinal{border-color:rgba(255,255,255,.32)!important}
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveGolRival{border-color:rgba(229,72,77,.42)!important;background:linear-gradient(145deg,rgba(229,72,77,.18),rgba(255,255,255,.035))!important}
body.cp-live-v2-active #live.cp-live-v2-section #btnLiveDeshacer{border-color:rgba(205,214,208,.28)!important}

@media (max-width:380px){
  body.cp-live-v2-active #live.cp-live-v2-section .cpv2-primary-controls{gap:5px!important}
  body.cp-live-v2-active #live.cp-live-v2-section .cpv2-primary-controls > .cpv2-control{
    height:44px!important;
    min-height:44px!important;
    border-radius:12px!important;
  }
}

/* =====================================================================
   CoachPanel 20.0.3.38 · Fichas de partidos reconstruidas.
   Una sola celda por fila: evita que los estilos históricos de tablas
   repartan fecha, enfrentamiento, plan y acciones en columnas separadas.
   ===================================================================== */
@media (max-width:1400px){
  html body #partidosJugados .played-matches-only > div[style*="overflow-x"],
  html body #partidosPorDisputar .upcoming-matches-only > div[style*="overflow-x"]{
    overflow:visible!important;
    width:100%!important;
  }
  html body #partidosJugados table,
  html body #partidosPorDisputar table{
    display:table!important;
    table-layout:fixed!important;
    width:100%!important;
    min-width:0!important;
    border-collapse:separate!important;
    border-spacing:0 12px!important;
    overflow:visible!important;
  }
  html body #partidosJugados tbody,
  html body #partidosPorDisputar tbody{
    display:table-row-group!important;
    width:auto!important;
  }
  html body #partidosJugados tr.cp38-row,
  html body #partidosPorDisputar tr.cp38-row{
    display:table-row!important;
    position:static!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  html body #partidosJugados tr.cp38-row > td.cp38-match-cell,
  html body #partidosPorDisputar tr.cp38-row > td.cp38-match-cell{
    display:table-cell!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    vertical-align:top!important;
    overflow:visible!important;
  }
  html body tr.cp38-row > td.cp38-match-cell::before{
    display:none!important;
    content:none!important;
  }
  html body #tablaPartidosPendientes td[data-tactical-cell]{display:none!important}

  html body .cp38-match-card{
    box-sizing:border-box!important;
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:18px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:20px!important;
    background:
      radial-gradient(120% 140% at 0 0,rgba(49,152,105,.13),transparent 43%),
      linear-gradient(145deg,rgba(22,29,27,.98),rgba(11,15,14,.98))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.18)!important;
    overflow:visible!important;
  }
  html body .cp38-fixture{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 34px 4px!important;
    margin:0!important;
  }
  html body .cp38-fixture .match-teams-cell{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)!important;
    align-items:center!important;
    justify-items:center!important;
    gap:18px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
  }
  html body .cp38-fixture .team-mini{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  html body .cp38-fixture .team-shield-img,
  html body .cp38-fixture .team-shield-placeholder{
    display:block!important;
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
    min-height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
    object-fit:contain!important;
  }
  html body .cp38-fixture .team-mini-name{
    display:block!important;
    width:100%!important;
    max-width:210px!important;
    min-width:0!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.17!important;
    font-weight:900!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
  }
  html body .cp38-fixture .match-vs{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:76px!important;
    min-width:76px!important;
    height:auto!important;
    transform:none!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap!important;
    font-size:16px!important;
    font-weight:950!important;
  }
  html body .cp38-fixture .match-score-fifa{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    min-width:76px!important;
    white-space:nowrap!important;
  }
  html body .cp38-fixture .match-score-fifa strong{
    font-size:38px!important;
    line-height:1!important;
  }
  html body .cp38-fixture .match-score-fifa > span{
    font-size:21px!important;
    line-height:1!important;
  }
  html body .cp38-match-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px 12px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
  }
  html body .cp38-match-date{
    color:rgba(235,241,237,.82)!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  html body .cp38-match-meta .match-card-type{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:26px!important;
    padding:4px 10px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
  }
  html body .cp38-actions{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:min(100%,720px)!important;
    min-width:0!important;
    margin:2px auto 0!important;
    padding:0!important;
  }
  html body .cp38-action{
    box-sizing:border-box!important;
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:7px 9px!important;
    border-radius:11px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:850!important;
    color:#f4f8f5!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .cp38-action > span:first-child{
    flex:0 0 auto!important;
    font-size:15px!important;
    line-height:1!important;
  }
  html body .cp38-action > span:last-child{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .cp38-delete-match{
    box-sizing:border-box!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    z-index:4!important;
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
  }
  html body .cp38-delete-match span{font-size:15px!important;line-height:1!important}
}

@media (max-width:699px){
  html body .cp38-match-card{
    gap:10px!important;
    padding:14px 12px!important;
    border-radius:17px!important;
  }
  html body .cp38-fixture{padding:6px 2px 2px!important}
  html body .cp38-result-fixture{padding-inline:28px!important}
  html body .cp38-fixture .match-teams-cell{
    grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)!important;
    gap:7px!important;
  }
  html body .cp38-fixture .team-shield-img,
  html body .cp38-fixture .team-shield-placeholder{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    max-width:58px!important;
    max-height:58px!important;
  }
  html body .cp38-fixture .team-mini-name{
    max-width:125px!important;
    font-size:11.5px!important;
  }
  html body .cp38-fixture .match-vs,
  html body .cp38-fixture .match-score-fifa{
    width:52px!important;
    min-width:52px!important;
  }
  html body .cp38-fixture .match-score-fifa{gap:4px!important}
  html body .cp38-fixture .match-score-fifa strong{font-size:30px!important}
  html body .cp38-fixture .match-score-fifa > span{font-size:16px!important}
  html body .cp38-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  html body .cp38-action{
    height:40px!important;
    min-height:40px!important;
    padding:6px!important;
    font-size:10px!important;
    gap:5px!important;
  }
  html body .cp38-action > span:first-child{font-size:14px!important}
  html body .cp38-delete-match{
    top:9px!important;
    right:9px!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
  }
}

html body .cp38-action.primary,
html body .cp38-action.secondary,
html body .cp38-action.danger{color:#f4f8f5!important}
html body .cp38-action.primary{background:linear-gradient(145deg,rgba(255,126,25,.94),rgba(212,77,7,.94))!important}
html body .cp38-action.secondary{background:linear-gradient(145deg,rgba(31,42,38,.98),rgba(17,24,21,.98))!important}
html body .cp38-action.danger{background:linear-gradient(145deg,rgba(179,36,55,.94),rgba(118,20,34,.94))!important}


/* =====================================================================
   CoachPanel 20.0.3.39 · Partidos a ancho completo real.
   La tabla deja de participar en el cálculo de ancho: cada nivel se
   convierte en bloque y la ficha ocupa el 100 % del espacio disponible.
   ===================================================================== */
@media (min-width:700px) and (max-width:1400px){
  html body #partidos.active,
  html body #partidos > .partidos-view,
  html body #partidosJugados,
  html body #partidosPorDisputar{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  html body #partidosJugados > .played-matches-only,
  html body #partidosPorDisputar > .upcoming-matches-only{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:16px 0!important;
    overflow:visible!important;
  }

  html body #partidosJugados .partidos-list-header,
  html body #partidosPorDisputar .partidos-list-header{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    padding:0 18px 12px!important;
    margin:0!important;
  }

  html body #partidosJugados .played-matches-only > div[style*="overflow-x"],
  html body #partidosPorDisputar .upcoming-matches-only > div[style*="overflow-x"]{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html body #partidosJugados table,
  html body #partidosPorDisputar table,
  html body #partidosJugados tbody,
  html body #partidosPorDisputar tbody,
  html body #partidosJugados tr.cp38-row,
  html body #partidosPorDisputar tr.cp38-row,
  html body #partidosJugados tr.cp38-row > td.cp38-match-cell,
  html body #partidosPorDisputar tr.cp38-row > td.cp38-match-cell{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-spacing:0!important;
    overflow:visible!important;
  }

  html body #partidosJugados tbody,
  html body #partidosPorDisputar tbody{
    padding:0!important;
  }

  html body #partidosJugados tr.cp38-row,
  html body #partidosPorDisputar tr.cp38-row{
    margin:0 0 14px!important;
  }

  html body #partidosJugados .cp38-match-card,
  html body #partidosPorDisputar .cp38-match-card{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    border-left-width:1px!important;
    border-right-width:1px!important;
    border-radius:18px!important;
  }

  html body #partidosJugados .cp38-actions,
  html body #partidosPorDisputar .cp38-actions{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

@media (max-width:699px){
  html body #partidosJugados > .played-matches-only,
  html body #partidosPorDisputar > .upcoming-matches-only{
    width:100%!important;
    max-width:none!important;
  }
  html body #partidosJugados table,
  html body #partidosPorDisputar table,
  html body #partidosJugados tbody,
  html body #partidosPorDisputar tbody,
  html body #partidosJugados tr.cp38-row,
  html body #partidosPorDisputar tr.cp38-row,
  html body #partidosJugados tr.cp38-row > td.cp38-match-cell,
  html body #partidosPorDisputar tr.cp38-row > td.cp38-match-cell,
  html body #partidosJugados .cp38-match-card,
  html body #partidosPorDisputar .cp38-match-card{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}

/* =====================================================================
   CoachPanel 20.0.3.40 · ancho real de cada partido.
   El tbody utiliza una sola columna y cada fila/celda/ficha ocupa el 100 %.
   Se mantiene además una garantía inline desde renderPartidos().
   ===================================================================== */
@media (max-width:1400px){
  html body #tablaPartidos,
  html body #tablaPartidosPendientes{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  html body #tablaPartidos > tr.cp38-row,
  html body #tablaPartidosPendientes > tr.cp38-row{
    box-sizing:border-box!important;
    display:block!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html body #tablaPartidos > tr.cp38-row > td.cp38-match-cell,
  html body #tablaPartidosPendientes > tr.cp38-row > td.cp38-match-cell,
  html body #tablaPartidos article.cp38-match-card,
  html body #tablaPartidosPendientes article.cp38-match-card{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  html body #tablaPartidos article.cp38-match-card,
  html body #tablaPartidosPendientes article.cp38-match-card{
    display:flex!important;
  }
}
