@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css');

/* Base & Banner */
#fdf-manager { font-family:Arial,sans-serif; max-width:1000px; margin:0 auto; padding:20px; }

.pantalla { border:1px solid #ccc; padding:20px; border-radius:8px; background:#f9f9f9;}

input, select { width: 100%; padding: 8px; margin-bottom: 10px; box-sizing: border-box;}

#banner-juego img { width:100%; max-height:100%; object-fit:cover; margin-bottom:20px; }

/* Escudos estandarizados */
.escudo-estandar {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain;
}

/* Splash & Cover */ 
#splash-screen{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10000;}

.splash-items{display:flex;gap:40px;margin-bottom:20px;}

.splash-item{font-size:50px;opacity:0;}

.ball{animation:move-ball 1.2s forwards ease-out;}

.folder{animation:move-folder 1.2s forwards ease-out 0.5s;}

@keyframes move-ball{from{transform:translateX(-200%);opacity:1;}to{transform:translateX(0);opacity:1;}}

@keyframes move-folder{from{transform:translateX(200%);opacity:1;}to{transform:translateX(0);opacity:1;}}

#splash-text{font-size:16px;color:#333;}

/* Cover Screen mejorado */
#cover-screen {
  position: fixed;
  inset: 0;
  background: #fff;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  overflow: auto;
  padding: 5px;
  box-sizing: border-box;
}

#cover-image {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  margin-bottom: 5px;
}

#enter-btn{padding:5px 24px;font-size:16px;background:#007b5e;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top: 5px;}
#enter-btn:hover {
  background: #005a43;
}

/* Perfil & Clubs */
#perfil-contenedor{display:flex;gap:20px;}
#formulario-dt{flex:1;}
#clubes-disponibles{flex:1;max-width:300px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;}

.club-card{display:flex;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .2s,border .2s;border:1px solid transparent;}
.club-card img{width:32px;height:32px;object-fit:contain;}
.club-card span{margin-left:12px;flex:1;font-size:14px;}
.club-card.selected, .club-card:hover{background:#d0e2fc;border-color:#007b5e;}
.club-card:nth-child(odd){background:#eef2f7;}
.club-card:nth-child(even){background:#fff;}

/* Tabs */
#menu-juego{
  position: relative;
  z-index: 120;
}
#menu-juego ul{
  list-style:none;
  display:flex;
  gap:20px;
  padding:0;
  margin:10px 0;
  overflow: visible;
}
#menu-juego .tab{
  position:relative;
  padding:6px 12px;
  cursor:pointer;
  overflow: visible;
}
#menu-juego .tab.active{border-bottom:2px solid #007b5e;}
#menu-juego .usuario-tab{
  position: relative;
  z-index: 140;
}
#menu-juego .usuario-tab .submenu{display:none}
#menu-juego .usuario-tab:hover .submenu,
#menu-juego .usuario-tab:focus-within .submenu{display:block;}
#menu-juego .submenu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 214px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  list-style: none;
  padding: 6px 0;
  margin: 0;
  z-index: 9999;
  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
  overflow: visible;
}
#menu-juego .submenu li{padding:10px 14px;white-space:nowrap;cursor: pointer;}
#menu-juego .submenu li:hover{background:#eef2f7;}

/* Tab Contents */
#juego-content{display:flex;flex-direction:column;gap:20px;}
.content-tab{display:none;}

/* Plantel Layout */
#content-plantel { display: flex; flex-direction:column; overflow: visible; }
#plantel-container{display:flex;gap:20px; overflow: visible;}
.row-container { flex: 1; max-height: 400px; overflow-y: auto; }
#sidebar {
  flex: 1;
  background: #fff;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  max-height: min(78vh, 980px);
  overflow-y: auto;
  min-width: 0;
}

/* Footer Rival */
#footer-rival{margin-top:20px;padding:10px;background:#f9f9f9;border-radius:6px;text-align:center;}
#vs-footer{display:flex;align-items:center;justify-content:center;gap:20px;}
#vs-footer img{width:50px;height:50px;}

/* Player Rows */
.player-row{display:flex;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s;}
.player-row img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.player-row .info{margin-left:10px;flex:1;}
.player-row .info .name{font-weight:bold;}
.player-row .info .pos,.player-row .info .level{font-size:12px;color:#666;}
.player-row:nth-child(odd){background:#f9f9f9;}
.player-row:nth-child(even){background:#fff;}
.player-row:hover{background:#eef2f7;}

/* Tacticas section */
.tacticas-wrapper .plantel {
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid #ddd;
  padding: 10px;
  background: #fafafa;
}

#lista-plantel-tacticas .player-row {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  cursor: grab;
}
#lista-plantel-tacticas .player-row img {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  margin-right: 8px;
}
#cancha-tacticas .fila { display:flex; justify-content:center; gap:10px; margin:20px 0; }
#cancha-tacticas .posicion { width:80px; height:80px; background:rgba(255,255,255,0.3); border:2px dashed #007b5e; display:flex; align-items:center; justify-content:center; font-size:12px; border-radius:4px;cursor: pointer; transition: all 0.3s ease;}
#cancha-tacticas .jugador-drop { display:flex; flex-direction:column; align-items:center; }
#cancha-tacticas .posicion:hover {
  background: rgba(255, 255, 255, 0.5);
  border-color: #005a43;
}

#cancha-tacticas .posicion.ocupada {
  background: rgba(40, 167, 69, 0.3);
  border-color: #28a745;
}
#cancha-tacticas .jugador-drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#cancha-tacticas .jugador-img-drop { width:40px; height:40px; background-size:cover; background-position:center; margin-bottom:4px; border-radius:50%; }
#cancha-tacticas .jugador-drop span {
  font-size: 10px;
  color: #333;
  font-weight: bold;
}
#cancha-tacticas .jugador-ovr-inline{
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 3px rgba(0,0,0,0.85);
  font-size: 10px;
  line-height: 1;
}

/* Banco de suplentes */
#banco-suplentes { display: flex; gap: 10px; margin-top: 10px; }
.posicion-suplente {
  width: 80px;
  height: 80px;
  background: rgba(200,200,200,0.2);
  border: 2px dashed #007b5e;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
}
.posicion-suplente.ocupada {
  background: rgba(40,167,69,0.3);
  border-color: #28a745;
}

.acciones-tacticas {
  text-align: center;
  margin-top: 20px;
}

.btn-jugar {
  margin: 0 100px;
  text-align: center;
  padding: 12px 24px;
  background: #007b5e;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
}

.btn-jugar:hover {
  background: #005a43;
}

.btn-guardar {
  padding: 8px 16px;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.btn-guardar:hover {
  background: #218838;
}

/* Division text */
#club-nombre .division-text {
  font-size: 0.9em;
  font-style: italic;
  text-align: right;
  color: #666;
  margin-left: 75px;
}

/* Modal */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
.modal-content {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}
.modal-body {
  max-height: 300px;
  overflow-y: auto;
  padding: 10px;
}
.close {
  cursor: pointer;
  font-size: 20px;
}
/* Subtabs */
.subtabs { list-style:none; display:flex; padding:0; margin-bottom:10px; }
.subtab { padding:6px 12px; cursor:pointer; background:#f0f0f0; margin-right:4px; border-radius:4px; transition:background .2s; }
.subtab.active { background:#007b5e; color:#fff; }
.subtab.disabled { opacity:0.5; pointer-events:none; }

/* Fixture & Posiciones */
.fixture-table, .posiciones-table { width:100%; border-collapse:collapse; margin-bottom:20px; }
.fixture-table th, .fixture-table td,
.posiciones-table th, .posiciones-table td { border:1px solid #ddd; padding:8px; text-align:center; }
.fixture-table th, .posiciones-table th { background:#007b5e; color:#fff; }
.fixture-team-cell { display:flex; align-items:center; }
.fixture-team-cell img { width:24px; height:24px; margin-right:6px; }

.btn-jugar-match {
  padding:4px 8px; background:#007b5e; color:#fff; border:none; border-radius:4px; cursor:pointer;
}
.btn-jugar-match:hover { background:#005a43; }

/* Toast */
.toast {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 15px 20px;
  border-radius: 6px;
  color: white;
  font-weight: bold;
  z-index: 10001;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}

.toast.success {
  background: #28a745;
}

.toast.error {
  background: #dc3545;
}

.toast.show {
  transform: translateX(0);
}

/* Responsive Design */
@media (max-width: 768px) {
  #fdf-manager {
    padding: 10px;
  }
  
  #perfil-contenedor {
    flex-direction: column;
  }
  
  #clubes-disponibles {
    max-width: none;
    max-height: 300px;
  }
  
  .tacticas-wrapper {
    flex-direction: column;
  }
  
  .plantel-tacticas {
    min-width: auto;
    order: 2;
  }
  
  .cancha-container {
    min-width: auto;
    order: 1;
  }
  
  #cancha-tacticas {
    min-height: 300px;
  }
  
  #cancha-tacticas .posicion {
    width: 60px;
    height: 60px;
    font-size: 10px;
  }
  
  #cancha-tacticas .jugador-img-drop {
    width: 30px;
    height: 30px;
  }
  
  .modal-content {
    width: 95%;
    max-height: 90vh;
  }
}

@media (max-width: 480px) {
  #menu-juego ul {
    flex-wrap: wrap;
    gap: 10px;
  }
  
  #menu-juego .tab {
    font-size: 12px;
    padding: 4px 8px;
  }
  
  #plantel-container {
    flex-direction: column;
  }
  
  .row-container {
    max-height: 250px;
  }
  
  #cancha-tacticas .fila {
    gap: 5px;
  }
  
  #cancha-tacticas .posicion {
    width: 45px;
    height: 45px;
    font-size: 8px;
  }
  
  #cancha-tacticas .jugador-img-drop {
    width: 25px;
    height: 25px;
  }
}  
/* Fixture & Posiciones */
.fixture-table, .posiciones-table {
  width: 100%; border-collapse: collapse; margin-bottom: 20px;
}
.fixture-table th, .fixture-table td,
.posiciones-table th, .posiciones-table td {
  border: 1px solid #ddd; padding: 8px; text-align: center;
}
.fixture-table th, .posiciones-table th {
  background: #007b5e; color: white;
}
.fixture-team-cell { display:flex; align-items:center; }
.fixture-team-cell img { width:24px; height:24px; margin-right:6px; }
.btn-jugar-match {
  padding:4px 8px; background:#007b5e; color:#fff; border:none; border-radius:4px; cursor:pointer;
}
.btn-jugar-match:hover { background:#005a43; }

/* Subtabs Posiciones */
.subtabs { list-style:none; display:flex; padding:0; margin-bottom:10px; }
.subtab { padding:6px 12px; cursor:pointer; background:#f0f0f0; margin-right:4px; border-radius:4px; }
.subtab.active { background:#007b5e; color:#fff; }

/* Subtabs Historial club propio */
.subtab-plantel{
  padding:6px 12px;
  border:none;
  border-radius:4px;
  background:#eee;
  cursor:pointer;
  font-weight:bold;
}
.subtab-plantel.active{
  background:#007b5e;
  color:#fff;
}
#plantel-historial table{
  width:100%;
  border-collapse:collapse;
  margin-top:10px;
}
#plantel-historial th,
#plantiel-historial td{
  border:1px solid #ccc;
  padding:6px 8px;
  text-align:center;
}
#plantel-historial .campeon{
  background:#fff3cd;
  font-weight:bold;
}

/* ============================================
   MODAL – MATCH ENGINE (modal que reemplaza partido.php)
   ============================================ */

/* Fondo oscuro semi-transparente */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .75);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* Caja central del partido */
.modal-match {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  max-width: 1000px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 15px 30px rgba(0,0,0,.35);
}

/* Banner superior (equipos + marcador) */
.modal-match .banner-marcador {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #002147 0%, #003366 100%);
  color: #fff;
  padding: 12px 30px;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.modal-match .banner-marcador .equipo {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 30%;
}

.modal-match .banner-marcador img {
  width: 50px;
  height: 50px;
  object-fit: contain;
  border-radius: 50%;
  border: 2px solid #fff;
}

.modal-match .marcador {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 1px;
}

/* Contenedor principal (cancha + panel DT) */
.modal-match .contenido {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}

.modal-match {
  height: min(92vh, 900px);
}

.modal-match .fdf-match-main {
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow: hidden;
}

.modal-match .cancha-wrapper {
  min-width: 0;
}

.modal-match .banner-acciones {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Cancha */
.modal-match .cancha-wrapper {
  flex: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: linear-gradient(180deg, #193a1b 0%, #0f2612 100%);
  padding: 16px 18px 12px;
  min-height: 0;
  overflow: hidden;
}

.modal-match .cancha-img {
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 0 12px rgba(0,0,0,.25);
}

/* Escena del partido — Fase 1 */
.fdf-match-stage {
  width: 100%;
  max-width: 980px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  margin: 0 auto;
}

.cancha-futbol {
  position: relative;
  width: 100%;
  height: min(100%, 560px);
  aspect-ratio: 16 / 9;
  min-height: 360px;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(0,0,0,0.12)),
    #006400 url('https://www.fansdelfootball.com/wp/wp-content/plugins/fdf-manager/img/cancha-motor.png') center/cover no-repeat;
  box-shadow: 0 20px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  isolation: isolate;
  flex: 1 1 auto;
}

.cancha-futbol::before,
.cancha-futbol::after {
  content: '';
  position: absolute;
  inset: 14px;
  pointer-events: none;
}

.cancha-futbol::before {
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.cancha-futbol::after {
  inset: 50% auto auto 50%;
  width: 34%;
  height: 34%;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,.68);
  border-radius: 50%;
}

.fdf-match-layer-zones,
.fdf-match-layer-players,
.fdf-match-layer-ball {
  position: absolute;
  inset: 0;
}

.fdf-match-layer-zones {
  z-index: 1;
  pointer-events: none;
}

.fdf-match-layer-players {
  z-index: 3;
}

.fdf-match-layer-ball {
  z-index: 4;
  pointer-events: none;
}

.fdf-match-layer-events {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  overflow: hidden;
}

.fdf-match-zone-badge {
  position: absolute;
  left: 16px;
  transform: none;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(7, 19, 36, .46);
  color: rgba(255,255,255,.78);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.14);
}

.fdf-match-zone-badge.zone-away { top: 12px; left: 16px; }
.fdf-match-zone-badge.zone-middle { top: 12px; left: 50%; right: auto; transform: translateX(-50%); }
.fdf-match-zone-badge.zone-home { top: 12px; left: auto; right: 16px; }

.fdf-match-player-node {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 80px;
  min-height: 82px;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: default;
  pointer-events: none;
  transition: left .52s cubic-bezier(.22,.61,.36,1), top .52s cubic-bezier(.22,.61,.36,1), transform .25s ease, opacity .25s ease, filter .25s ease;
  will-change: left, top, transform;
}

.fdf-match-player-chip {
  position: relative;
  min-height: 80px;
  padding: 0;
  border-radius: 0;
  color: #fff;
  text-align: center;
  box-shadow: none;
  border: none;
  background: transparent !important;
  backdrop-filter: none;
  overflow: visible;
}

.fdf-match-player-node.is-home .fdf-match-player-chip,
.fdf-match-player-node.is-away .fdf-match-player-chip,
.fdf-match-player-node.is-user-team .fdf-match-player-chip {
  background: transparent !important;
  box-shadow: none;
}

.fdf-match-player-node.is-ball-carrier {
  transform: translate(-50%, -52%) scale(1.06);
  z-index: 7;
}

.fdf-match-player-node.is-ball-carrier .fdf-match-player-photo {
  box-shadow: 0 0 0 3px rgba(255,255,255,.78), 0 10px 22px rgba(0,0,0,.3), 0 0 0 6px rgba(255,215,0,.22);
}

.fdf-match-player-photo {
  position: absolute;
  left: 50%;
  top: 20px;
  width: 42px;
  height: 42px;
  transform: translateX(-50%);
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255,255,255,.9);
  background: rgba(255,255,255,.12);
  box-shadow: 0 8px 18px rgba(0,0,0,.28);
}

.fdf-match-player-node.is-home .fdf-match-player-photo {
  outline: 3px solid rgba(18, 86, 168, .88);
}

.fdf-match-player-node.is-away .fdf-match-player-photo {
  outline: 3px solid rgba(178, 36, 36, .88);
}

.fdf-match-player-name {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%);
  max-width: 80px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
  text-align: center;
  color: #ffffff;
  background: rgba(7, 19, 36, .72);
  text-shadow: 0 1px 2px rgba(0,0,0,.32);
  box-shadow: 0 5px 12px rgba(0,0,0,.2);
}

.fdf-match-player-meta,
.fdf-match-player-role,
.fdf-match-player-ovr {
  display: none !important;
}

.fdf-match-player-energy {
  position: absolute;
  left: 50%;
  top: -6px;
  transform: translateX(-50%);
  min-width: 40px;
  height: 18px;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(4, 10, 24, .86);
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 6px 14px rgba(0,0,0,.2);
}

.fdf-match-player-status {
  position: absolute;
  left: 50%;
  top: 54px;
  transform: translateX(-50%);
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  font-weight: 800;
  border: 2px solid rgba(255,255,255,.7);
  box-shadow: 0 8px 16px rgba(0,0,0,.22);
}

.fdf-match-player-status.status-red { background: rgba(220, 53, 69, .96); }
.fdf-match-player-status.status-injury { background: rgba(255, 193, 7, .97); color: #222; }

.fdf-match-player-node.is-expelled {
  opacity: .42;
  filter: grayscale(1);
}

.fdf-match-player-node.is-injured .fdf-match-player-chip {
  box-shadow: 0 12px 24px rgba(0,0,0,.25), 0 0 0 2px rgba(255, 193, 7, .22);
}

.fdf-match-ball {
  position: absolute;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  margin-top: -8px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fff 0 38%, #d8d8d8 39% 100%);
  box-shadow: 0 8px 18px rgba(0,0,0,.35);
  border: 2px solid rgba(0,0,0,.15);
  transition: left .42s cubic-bezier(.22,.61,.36,1), top .42s cubic-bezier(.22,.61,.36,1), transform .22s ease;
  will-change: left, top, transform;
}

.fdf-match-ball-trail {
  position: absolute;
  height: 6px;
  margin-left: 0;
  margin-top: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.86), rgba(255,255,255,0));
  opacity: .42;
  pointer-events: none;
  box-shadow: 0 0 8px rgba(255,255,255,.18);
  transform-origin: center center;
}

.fdf-match-ball-trail.is-live {
  animation: fdfMatchBallTrailPulse .48s ease-out;
}

.fdf-match-ball.is-live {
  animation: fdfMatchBallBounce 1.1s ease-in-out infinite;
}

@keyframes fdfMatchBallBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes fdfMatchBallTrailPulse {
  from { opacity: .55; }
  to { opacity: 0; }
}


.fdf-live-event-banner {
  position: absolute;
  left: 50%;
  top: 9%;
  transform: translate(-50%, -50%);
  min-width: 150px;
  max-width: min(64%, 420px);
  padding: 10px 18px;
  border-radius: 999px;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  box-shadow: 0 12px 26px rgba(0,0,0,.28);
  animation: fdfLiveBannerPop 1.55s ease forwards;
  border: 1px solid rgba(255,255,255,.18);
}

.fdf-live-event-banner.is-goal { background: linear-gradient(135deg, rgba(5,150,105,.96), rgba(22,163,74,.96)); }
.fdf-live-event-banner.is-red { background: linear-gradient(135deg, rgba(185,28,28,.96), rgba(220,38,38,.96)); }
.fdf-live-event-banner.is-injury { background: linear-gradient(135deg, rgba(202,138,4,.95), rgba(234,179,8,.95)); color: #111827; }
.fdf-live-event-banner.is-sub { background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.96)); }
.fdf-live-event-banner.is-penalty,
.fdf-live-event-banner.is-penalty-call { background: linear-gradient(135deg, rgba(29,78,216,.96), rgba(37,99,235,.96)); }
.fdf-live-event-banner.is-corner,
.fdf-live-event-banner.is-freekick,
.fdf-live-event-banner.is-save,
.fdf-live-event-banner.is-chance,
.fdf-live-event-banner.is-info { background: linear-gradient(135deg, rgba(15,23,42,.92), rgba(30,41,59,.92)); }

.fdf-live-event-badge {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(15,23,42,.92);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .03em;
  box-shadow: 0 12px 22px rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.16);
  animation: fdfLiveBadgeRise 1.45s ease forwards;
  white-space: nowrap;
}

.fdf-live-event-badge.is-goal { background: rgba(22,163,74,.97); }
.fdf-live-event-badge.is-red { background: rgba(220,38,38,.97); }
.fdf-live-event-badge.is-yellow { background: rgba(250,204,21,.97); color: #111827; }
.fdf-live-event-badge.is-injury { background: rgba(245,158,11,.97); color: #111827; }
.fdf-live-event-badge.is-sub { background: rgba(37,99,235,.97); }

.fdf-live-event-ghost {
  position: absolute;
  width: 42px;
  height: 64px;
  transform: translate(-50%, -50%);
  transition: left 1s cubic-bezier(.22,.61,.36,1), top 1s cubic-bezier(.22,.61,.36,1), opacity .55s ease, transform .55s ease;
  opacity: .98;
}

.fdf-live-event-ghost.is-leaving { opacity: .18; transform: translate(-50%, -50%) scale(.82); }
.fdf-live-event-ghost-photo {
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.92);
  box-shadow: 0 8px 18px rgba(0,0,0,.26);
  display: block;
  margin: 0 auto 4px;
  background: rgba(255,255,255,.15);
}
.fdf-live-event-ghost.is-home .fdf-live-event-ghost-photo { outline: 2px solid rgba(18, 86, 168, .88); }
.fdf-live-event-ghost.is-away .fdf-live-event-ghost-photo { outline: 2px solid rgba(178, 36, 36, .88); }
.fdf-live-event-ghost-name {
  display: block;
  margin: 0 auto;
  max-width: 58px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(7,19,36,.88);
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

.cancha-futbol::selection { background: transparent; }
.cancha-futbol.fdf-field-flash-goal-home::before,
.cancha-futbol.fdf-field-flash-goal-away::before,
.cancha-futbol.fdf-field-flash-red-home::before,
.cancha-futbol.fdf-field-flash-red-away::before,
.cancha-futbol.fdf-field-flash-injury-home::before,
.cancha-futbol.fdf-field-flash-injury-away::before,
.cancha-futbol.fdf-field-flash-sub-home::before,
.cancha-futbol.fdf-field-flash-sub-away::before,
.cancha-futbol.fdf-field-flash-setpiece-home::before,
.cancha-futbol.fdf-field-flash-setpiece-away::before,
.cancha-futbol.fdf-field-flash-neutral::before {
  animation: fdfFieldPulseFlash .85s ease;
}

.cancha-futbol.fdf-field-flash-goal-home::after,
.cancha-futbol.fdf-field-flash-goal-away::after,
.cancha-futbol.fdf-field-flash-red-home::after,
.cancha-futbol.fdf-field-flash-red-away::after,
.cancha-futbol.fdf-field-flash-injury-home::after,
.cancha-futbol.fdf-field-flash-injury-away::after,
.cancha-futbol.fdf-field-flash-sub-home::after,
.cancha-futbol.fdf-field-flash-sub-away::after,
.cancha-futbol.fdf-field-flash-setpiece-home::after,
.cancha-futbol.fdf-field-flash-setpiece-away::after,
.cancha-futbol.fdf-field-flash-neutral::after {
  animation: fdfFieldPulseGlow .85s ease;
}

.cancha-futbol.fdf-field-flash-goal-home { box-shadow: 0 0 0 3px rgba(59,130,246,.22), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(37,99,235,.12); }
.cancha-futbol.fdf-field-flash-goal-away { box-shadow: 0 0 0 3px rgba(239,68,68,.22), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(220,38,38,.12); }
.cancha-futbol.fdf-field-flash-red-home,
.cancha-futbol.fdf-field-flash-red-away { box-shadow: 0 0 0 3px rgba(220,38,38,.25), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(220,38,38,.14); }
.cancha-futbol.fdf-field-flash-injury-home,
.cancha-futbol.fdf-field-flash-injury-away { box-shadow: 0 0 0 3px rgba(245,158,11,.22), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(245,158,11,.12); }
.cancha-futbol.fdf-field-flash-sub-home,
.cancha-futbol.fdf-field-flash-sub-away { box-shadow: 0 0 0 3px rgba(37,99,235,.20), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(37,99,235,.08); }
.cancha-futbol.fdf-field-flash-setpiece-home,
.cancha-futbol.fdf-field-flash-setpiece-away,
.cancha-futbol.fdf-field-flash-neutral { box-shadow: 0 0 0 3px rgba(234,179,8,.16), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(255,255,255,.05); }

.fdf-match-player-node.is-fx-red-flash .fdf-match-player-photo {
  animation: fdfPlayerRedBlink .35s steps(2, end) 6;
  box-shadow: 0 0 0 3px rgba(255,255,255,.78), 0 10px 22px rgba(0,0,0,.3), 0 0 0 8px rgba(220,38,38,.26);
}

.fdf-match-player-node.is-fx-yellow-flash .fdf-match-player-photo {
  animation: fdfPlayerYellowBlink .45s ease 4;
}

.fdf-match-player-node.is-fx-injury-flash .fdf-match-player-photo {
  animation: fdfPlayerInjuryShake .7s ease 3;
}

@keyframes fdfLiveBannerPop {
  0% { opacity: 0; transform: translate(-50%, -70%) scale(.92); }
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1.04); }
  82% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -42%) scale(.98); }
}

@keyframes fdfLiveBadgeRise {
  0% { opacity: 0; transform: translate(-50%, -36%) scale(.88); }
  14% { opacity: 1; transform: translate(-50%, -50%) scale(1.03); }
  78% { opacity: 1; transform: translate(-50%, -118%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -150%) scale(.96); }
}

@keyframes fdfFieldPulseFlash {
  0% { opacity: .75; }
  100% { opacity: 1; }
}

@keyframes fdfFieldPulseGlow {
  0% { opacity: .82; }
  100% { opacity: .66; }
}

@keyframes fdfPlayerRedBlink {
  0%, 100% { filter: brightness(1) saturate(1); }
  50% { filter: brightness(1.25) saturate(1.35); }
}

@keyframes fdfPlayerYellowBlink {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.16) saturate(1.2); }
}

@keyframes fdfPlayerInjuryShake {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  25% { transform: translateX(-46%) translateY(-2px); }
  50% { transform: translateX(-54%) translateY(1px); }
  75% { transform: translateX(-48%) translateY(-1px); }
}

.fdf-match-lower {
  flex-shrink: 0;
}

.fdf-match-footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 16px 12px;
  background: #e7edf5;
  border-top: 1px solid #d7e0ea;
}

/* Consola de comentarios */
#mm-comentarios {
  position: relative;
  width: 100%;
  min-height: 72px;
  max-height: 96px;
  background: linear-gradient(180deg, rgba(5, 18, 34, .98), rgba(7, 25, 44, .96));
  color: #f8fafc;
  font-family: 'Courier New', monospace;
  font-size: .88rem;
  padding: 10px 14px;
  border-radius: 14px;
  overflow-y: auto;
  text-align: center;
  z-index: 2;
  border: 1px solid rgba(96, 165, 250, .22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 20px rgba(0,0,0,.12);
}

#mm-comentarios:empty::before {
  content: 'La narración del partido aparecerá aquí.';
  color: rgba(248,250,252,.62);
}

#mm-comentarios .match-event {
  text-shadow: none !important;
}

#mm-comentarios .match-event.event-yellow-card,
#mm-comentarios .match-event.event-warning,
#mm-comentarios .match-event.event-final,
#mm-comentarios .match-event.event-substitution,
#mm-comentarios .match-event.event-celebration,
#mm-comentarios .match-event.event-chance,
#mm-comentarios .match-event.event-start,
#mm-comentarios .match-event.event-save,
#mm-comentarios .match-event.event-weather,
#mm-comentarios .match-event.event-score,
#mm-comentarios .match-event.event-halftime,
#mm-comentarios .match-event.event-pause,
#mm-comentarios .match-event.event-resume,
#mm-comentarios .match-event.event-penalty-call,
#mm-comentarios .match-event.event-tactic,
#mm-comentarios .match-event.event-tactical-change,
#mm-comentarios .match-event.event-injury,
#mm-comentarios .match-event.event-corner,
#mm-comentarios .match-event.event-freekick,
#mm-comentarios .match-event.event-shot,
#mm-comentarios .match-event.event-counter {
  color: #111827 !important;
  text-shadow: none !important;
}

/* Panel DT lateral */
.modal-match .panel-dt {
  flex: 1;
  background: #fafafa;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 260px;
  min-height: 0;
  overflow-y: auto;
}


.modal-match .panel-dt h3 {
  margin: 0 0 10px;
  color: #002147;
  font-size: 1.1rem;
}

.modal-match .panel-dt label {
  font-weight: 600;
  margin-top: 4px;
}

.modal-match .panel-dt select {
  padding: 6px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: .95rem;
}

/* Lista de suplentes */
#mm-suplentes {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-height: 200px;
  overflow-y: auto;
  background: #fff;
}

#mm-suplentes li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  font-size: .9rem;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: background .2s;
}

#mm-suplentes li:hover {
  background: #f1f1f1;
}

#mm-suplentes li:last-child {
  border-bottom: none;
}

#mm-suplentes img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #ddd;
}

/* Banner inferior (botones) */
.modal-match .banner-acciones {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 14px 18px;
  background: #e9ecef;
  flex-shrink: 0;
  min-height: 68px;
  border-top: 1px solid rgba(0,0,0,.08);
  position: relative;
  z-index: 5;
}


.btn-partido {
  padding: 10px 26px;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
  color: #fff;
  transition: transform .2s;
}

.btn-partido:hover {
  transform: translateY(-2px);
}

#mm-btn-comenzar {
  background: #28a745;
}

#mm-btn-comenzar:hover {
  background: #218838;
}

#mm-btn-regresar {
  background: #007bff;
}

#mm-btn-regresar:hover {
  background: #0056b3;
}


@media (max-width: 900px) {
  .fdf-scoreboard-center {
    min-width: 0;
    gap: 6px;
  }

  .fdf-scoreboard-action-btn {
    max-width: 100%;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: .92rem !important;
  }

  .fdf-match-footer {
    padding: 8px 12px 10px;
  }

  #mm-comentarios {
    min-height: 68px;
    max-height: 92px;
    font-size: .82rem;
  }

  .fdf-match-stage {
    max-width: 100%;
    max-height: none;
  }

  .cancha-futbol {
    aspect-ratio: 1.34 / 1;
    min-height: 320px;
  }

  .fdf-match-player-node {
    width: 92px;
  }

  .fdf-match-player-chip {
    min-height: 52px;
    padding: 6px 36px 8px 46px;
    border-radius: 14px;
  }

  .fdf-match-player-photo {
    width: 32px;
    height: 32px;
  }

  .fdf-match-player-name {
    font-size: .68rem;
  }

  .fdf-match-player-role,
  .fdf-match-player-ovr,
  .fdf-match-player-energy {
    font-size: .56rem;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .modal-match .contenido {
    flex-direction: column;
  }
  .modal-match .panel-dt {
    min-width: unset;
  }
}

/* Mensaje cuando no hay jugador seleccionado */
.no-selection {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

.select-player-icon {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.6;
}

/* Tarjetas de jugadores en la lista */
.player-card {
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    background: linear-gradient(145deg, #ffffff, #f5f5f5);
    border: 1px solid rgba(255,255,255,0.8);
}

.player-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    border-color: rgba(33, 150, 243, 0.3);
}

.player-card-inner {
    position: relative;
}

.player-header {
    display: flex;
    align-items: center;
    padding: 12px;
    position: relative;
    overflow: hidden;
}

.player-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.3));
    pointer-events: none;
}

.player-photo-container {
    position: relative;
    margin-right: 12px;
}

.player-photo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.8);
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.player-ovr {
    position: absolute;
    bottom: -4px;
    right: -4px;
    background: #333;
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.player-basic-info {
    flex-grow: 1;
    color: white;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.player-name {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 2px;
    line-height: 1.2;
}

.player-position {
    font-size: 12px;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.player-stats-preview {
    display: flex;
    justify-content: space-around;
    padding: 8px 12px 12px;
    background: rgba(255,255,255,0.95);
}

.stat-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 11px;
}

.stat-label {
    color: #666;
    font-weight: 500;
    margin-bottom: 2px;
}

.stat-value {
    font-weight: bold;
    font-size: 14px;
    color: #333;
}

/* Vista detallada en el sidebar */
.player-detail-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    margin: -10px -10px 0;
}

.player-detail-header {
    display: flex;
    align-items: center;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

.player-detail-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.3));
    pointer-events: none;
}

.player-detail-photo-container {
    position: relative;
    margin-right: 16px;
}

.player-detail-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid rgba(255,255,255,0.9);
    object-fit: cover;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.player-detail-ovr {
    position: absolute;
    bottom: -6px;
    right: -6px;
    background: #333;
    color: #fff;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.player-detail-info {
    flex-grow: 1;
    color: white;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.player-detail-name {
    margin: 0 0 4px 0;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
}

.player-detail-position {
    font-size: 14px;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

.player-detail-age{
    margin-top: 4px;
    font-size: 12px;
    opacity: 0.95;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.55);
}

.player-stats-detailed {
    padding: 20px;
}

.stats-title {
    margin: 0 0 16px 0;
    font-size: 18px;
    color: #333;
    font-weight: 600;
    border-bottom: 2px solid #eee;
    padding-bottom: 8px;
}

.stats-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.stat-item-label {
    font-size: 12px;
    color: #666;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-item-bar {
    position: relative;
    height: 20px;
    background: #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.stat-item-fill {
    height: 100%;
    background: linear-gradient(90deg, #4CAF50, #66BB6A);
    border-radius: 10px;
    transition: width 0.6s ease-in-out;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.stat-item-value {
    position: absolute;
    right: 8px;
    font-size: 11px;
    font-weight: bold;
    color: #333;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
}

.stat-item-detail-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.stat-item-bar-detail {
    flex: 1 1 auto;
    min-width: 0;
}

.stat-item-value-detail {
    position: static;
    min-width: 124px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
    text-shadow: none;
    z-index: 2;
    flex: 0 0 auto;
}

/* ================================
   SELECCIÓN DE EQUIPOS MEJORADA
   ================================ */

.equipos-selector-mejorado {
  max-height: 550px;
  overflow-y: auto;
  padding: 10px;
}

/* Pestañas de división */
.division-tabs-selector {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  border-bottom: 2px solid #e0e0e0;
}

.division-tab-btn {
  flex: 1;
  padding: 12px 20px;
  background: #f8f9fa;
  color: #666;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.division-tab-btn:hover {
  background: #e9ecef;
  color: #495057;
}

.division-tab-btn.active {
  background: white;
  color: #007cba;
  border-bottom-color: #007cba;
  transform: translateY(2px);
}

/* Contenido de divisiones */
.division-content {
  display: none;
}

.division-content.active {
  display: block;
}

.equipos-lista {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

.equipo-item {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  gap: 15px;
}

.equipo-item:hover {
  background: #f0f8ff;
  border-color: #007cba;
  transform: translateX(5px);
}

.equipo-item.selected {
  background: linear-gradient(135deg, #007cba, #0056b3);
  border-color: #003d82;
  color: white;
  transform: translateX(5px) scale(1.02);
  box-shadow: 0 4px 12px rgba(0,124,186,0.3);
}

.equipo-escudo-mini {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 2px solid #e0e0e0;
  flex-shrink: 0;
  object-fit: cover;
}

.equipo-item.selected .equipo-escudo-mini {
  border-color: #ffd700;
}

.equipo-nombre {
  flex: 1;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
}

.equipo-division-badge {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
  flex-shrink: 0;
}

.equipo-division-badge.primera {
  background: #007cba;
  color: white;
}

.equipo-division-badge.segunda {
  background: #ffc107;
  color: #000;
}

.equipo-item.selected .equipo-division-badge {
  background: #ffd700;
  color: #000;
}

/* Responsive */
@media (max-width: 768px) {
  .division-tab-btn {
    padding: 10px 15px;
    font-size: 13px;
  }
  
  .equipo-item {
    padding: 10px 12px;
  }
  
  .equipo-escudo-mini {
    width: 30px;
    height: 30px;
  }
  
  .equipo-nombre {
    font-size: 13px;
  }
}

/* ================================
   PESTAÑAS COPA URUGUAY
   ================================ */

.copa-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 20px 0;
  flex-wrap: wrap;
}

.copa-tab {
  padding: 10px 15px;
  background: #f8f9fa;
  color: #666;
  border: 2px solid #dee2e6;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  transition: all 0.3s ease;
}

.copa-tab:hover {
  background: #e9ecef;
  border-color: #007cba;
}

.copa-tab.active {
  background: #007cba;
  color: white;
  border-color: #007cba;
}

.copa-content-container {
  margin-top: 15px;
}

.fase-copa-content {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
}

.match-competition {
  font-size: 9px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 3px;
  font-weight: 600;
}

/* Animaciones */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.player-card {
    animation: fadeInUp 0.3s ease-out;
}

.player-detail-card {
    animation: fadeInUp 0.4s ease-out;
}

/* Responsive */
@media (max-width: 768px) {
    .player-header {
        padding: 10px;
    }
    
    .player-photo {
        width: 40px;
        height: 40px;
    }
    
    .player-detail-photo {
        width: 60px;
        height: 60px;
    }
    
    .player-detail-header {
        padding: 16px;
    }
    
    .player-stats-detailed {
        padding: 16px;
    }
}


/* Badges para jugadores suspendidos / lesionados */
.player-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Indicador debajo de íconos (venta / cesión) */
.player-transfer-state{
  display:flex;
  justify-content:flex-end;
  margin-top:4px;
}

.transfer-pill{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  line-height:1;
  padding:3px 8px;
  border-radius:999px;
  background: rgba(0,0,0,0.10);
  font-weight:800;
}

.transfer-pill.sale{
  background: rgba(40, 167, 69, 0.15);
  color: #000;
}

.transfer-pill.loan{
  background: rgba(23, 162, 184, 0.15);
  color: #000;
}

.transfer-pill.both{
  background: rgba(255, 193, 7, 0.18);
  color: #000;
}

.player-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: 600;
}

.player-badge.badge-suspended {
  background: rgba(220, 53, 69, 0.15);
  color: #dc3545;
}

.player-badge.badge-injured {
  background: rgba(255, 193, 7, 0.15);
  color: #d39e00;
}

/* Badges también dentro de la cancha (Tácticas) */
#cancha-tacticas .player-badge.pitch-badge,
#banco-suplentes .player-badge.pitch-badge {
  position: absolute;
  top: -8px;
  left: -8px;
  z-index: 15;
  padding: 2px 5px;
  font-size: 10px;
  line-height: 1;
  border-radius: 10px;
  background-clip: padding-box;
}

#cancha-tacticas .player-badge.pitch-badge.pitch-badge-injured,
#banco-suplentes .player-badge.pitch-badge.pitch-badge-injured {
  top: auto;
  bottom: -8px;
  left: -8px;
}

.player-detail-status {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1px;
}

.player-detail-status.suspended {
  color: #dc3545;
}

.player-detail-status.injured {
  color: #d39e00;
}

.player-detail-alert {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,0.08);
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.player-detail-alert-icon {
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  background:rgba(0,0,0,0.06);
}
.player-detail-alert-body {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.player-detail-alert-body strong {
  font-size:14px;
  line-height:1.2;
}
.player-detail-alert-body span {
  font-size:13px;
  line-height:1.35;
  color:#555;
}
.player-detail-alert-suspended {
  border-color:rgba(220,53,69,0.28);
  background:rgba(220,53,69,0.08);
}
.player-detail-alert-suspended .player-detail-alert-icon {
  background:rgba(220,53,69,0.18);
}
.player-detail-alert-injured {
  border-color:rgba(255,193,7,0.35);
  background:rgba(255,193,7,0.10);
}
.player-detail-alert-injured .player-detail-alert-icon {
  background:rgba(255,193,7,0.22);
}

.player-contract-warning{
  margin-top: 6px;
}

.player-contract-expiry-pill{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(220,53,69,0.14);
  color:#b00020;
  border:1px solid rgba(220,53,69,0.38);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}

.player-contract-expiry-pill strong{
  color:#7a0015;
  font-weight:800;
}

.player-contract-expiry-pill-detail{
  margin-top:8px;
  font-size:12px;
  background:rgba(220,53,69,0.18);
  border-color:rgba(255,255,255,0.55);
  color:#fff;
}

.player-contract-expiry-pill-detail strong{
  color:#fff;
}

.player-contract-expiry-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#dc3545;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(176,0,32,0.18);
  animation:fdf-contract-expiry-blink 1s ease-in-out infinite;
  flex:0 0 auto;
}

@keyframes fdf-contract-expiry-blink{
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 1px rgba(176,0,32,0.18), 0 0 0 0 rgba(220,53,69,0.35); }
  50% { opacity: .35; transform: scale(.82); box-shadow: 0 0 0 1px rgba(176,0,32,0.18), 0 0 0 6px rgba(220,53,69,0); }
}
/* Estados en TÁCTICAS – listado */
#lista-plantel-tacticas .player-row.player-unavailable {
  opacity: 0.6;
  cursor: not-allowed;
}

#lista-plantel-tacticas .player-row.player-suspended {
  border-left: 4px solid #dc3545;
}

#lista-plantel-tacticas .player-row.player-injured {
  border-left: 4px solid #ffc107;
}

/* Estados en la CANCHA */
#cancha-tacticas .posicion {
  position: relative; /* para colocar el badge en la esquina */
}

#cancha-tacticas .posicion.slot-suspended {
  background: rgba(220, 53, 69, 0.45);
  border-color: #dc3545;
}

#cancha-tacticas .posicion.slot-injured {
  background: rgba(255, 193, 7, 0.45);
  border-color: #ffc107;
}

#cancha-tacticas .slot-status-badge {
  position: absolute;
  bottom: 2px;
  right: 2px;
  z-index: 12;
  font-size: 12px;
  line-height: 1;
  padding: 2px 4px;
  border-radius: 4px;
  color: #fff;
  background: rgba(0, 0, 0, 0.65);
  min-width: 16px;
  text-align: center;
}
#cancha-tacticas .slot-status-badge .slot-status-count{
  position: absolute;
  top: -6px;
  right: -6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(0,0,0,0.85);
  color: #fff;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* === LISTA TÁCTICAS: distribución de la fila === */
#lista-plantel-tacticas .player-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Avatar dentro de tácticas (por si acá querés tamaño fijo) */
#lista-plantel-tacticas .player-row > img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

/* El bloque de nombre/posición ocupa todo el espacio central */
#lista-plantel-tacticas .player-row > div:nth-child(2) {
  flex: 1;
}

/* === Badge OVR en TÁCTICAS === */
#lista-plantel-tacticas .ovr-badge-tacticas {
  margin-left: auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(145deg, #000000, #1a1a1a);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* =======================================================
   Plantel - Panel de temporada (stats + historial)
   ======================================================= */
.player-season-panel{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.season-stats-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.season-stat{
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  padding: 8px 10px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
}
.season-stat span{ font-size: 0.8rem; color:#666; }
.season-stat strong{ font-size: 0.95rem; color:#111; }

.history-list{
  margin-top: 10px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.history-item{
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 0.9rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.history-meta{
  font-size: 0.75rem;
  color:#666;
  white-space:nowrap;
}

@media (max-width: 900px){
  .season-stats-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .history-item{ flex-direction: column; align-items:flex-start; }
  .history-meta{ white-space:normal; }
}


/* ===================================================================
   MINI CANCHA (MODAL CAMBIOS) – badges/states
   =================================================================== */
.fdf-sub-slot .fdf-mini-sta{
  position:absolute;
  right:-2px;
  bottom:-2px;
  min-width:30px;
  height:18px;
  padding:0 4px;
  border-radius:10px;
  background:#111;
  color:#fff;
  font-size:10px;
  line-height:18px;
  font-weight:800;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  text-align:center;
  pointer-events:none;
}

.fdf-sub-slot .fdf-mini-status{
  position:absolute;
  left:-4px;
  top:-4px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  pointer-events:none;
}

.fdf-sub-slot.fdf-mini-expelled{
  opacity:0.45;
  filter:grayscale(65%);
}

.fdf-sub-slot.fdf-mini-injured{
  outline:3px solid rgba(255, 193, 7, 0.65);
  outline-offset:2px;
}

/* ==========================================================
   FDF Manager - Deltas de skills (progresión post-partido)
   ========================================================== */
.stat-delta{
  font-size:11px;
  font-weight:700;
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  display:inline-block;
  line-height:1.2;
  vertical-align:middle;
  white-space:nowrap;
}
.stat-delta.pos{
  background:rgba(40,167,69,0.18);
  color:#28a745;
  border:1px solid rgba(40,167,69,0.35);
}
.stat-delta.neg{
  background:rgba(220,53,69,0.16);
  color:#dc3545;
  border:1px solid rgba(220,53,69,0.35);
}

/* ==========================================================
   FDF Manager - Finanzas y Transferencias
   ========================================================== */
#content-finanzas{
  padding: 12px;
}

.fdf-fin-grid{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 14px;
}

@media (max-width: 980px){
  .fdf-fin-grid{ grid-template-columns: 1fr; }
}

.fdf-fin-card{
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  padding: 14px;
}

.fdf-fin-card h3{
  margin: 0 0 10px;
  font-size: 16px;
}

.fdf-fin-metrics{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

@media (max-width: 620px){
  .fdf-fin-metrics{ grid-template-columns: 1fr; }
}

.fdf-fin-metric{
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 10px 12px;
}

.fdf-fin-metric .label{
  font-size: 12px;
  color: rgba(0,0,0,0.62);
}

.fdf-fin-metric .value{
  font-size: 18px;
  font-weight: 800;
  margin-top: 4px;
}

.fdf-fin-badge{
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(0,0,0,0.12);
  background: rgba(0,0,0,0.03);
}

.fdf-fin-badge.open{
  border-color: rgba(40,167,69,0.35);
  background: rgba(40,167,69,0.12);
  color: #1f7a35;
}

.fdf-fin-badge.closed{
  border-color: rgba(220,53,69,0.35);
  background: rgba(220,53,69,0.10);
  color: #b02a37;
}

.fdf-fin-row{
  display:flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* Contenedor de filtros (Finanzas → Mercado) */
.fdf-fin-filters{
  padding:10px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:12px;
  background:rgba(0,0,0,0.02);
}

.fdf-fin-row input[type="text"],
.fdf-fin-row input[type="number"],
.fdf-fin-row select{
  padding: 10px 10px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.14);
  background: #fff;
  min-height: 40px;
}

.fdf-fin-btn{
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.14);
  background: #111827;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.fdf-fin-btn.secondary{
  background: #ffffff;
  color: #111827;
}

.fdf-fin-btn:disabled{
  opacity: .55;
  cursor: not-allowed;
}

.fdf-fin-table{
  width: 100%;
  border-collapse: collapse;
}

.fdf-fin-hr{
  border: 0;
  height: 1px;
  background: rgba(0,0,0,0.08);
  margin: 14px 0;
}

.fdf-fin-table th,
.fdf-fin-table td{
  padding: 10px 8px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
  text-align: center;
}

.fdf-fin-table th{
  font-size: 12px;
  color: rgba(0,0,0,0.62);
  font-weight: 800;
}

.fdf-fin-audit{
  max-height: 420px;
  overflow: auto;
}

.fdf-fin-audit-item{
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(0,0,0,0.02);
  margin-bottom: 10px;
}

.fdf-fin-audit-item .meta{
  font-size: 12px;
  color: rgba(0,0,0,0.62);
}

.fdf-fin-notice{
  border: 1px solid rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.10);
  color: #1e40af;
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
}

/* === Transferencias (Plantel) === */
.player-transfer-btn{
  margin-left:auto;
  border: 1px solid rgba(0,0,0,0.15);
  background: rgba(255,255,255,0.85);
  border-radius: 10px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.player-transfer-btn:hover{ background:#fff; }
.player-contract-btn{ background: rgba(255,255,255,0.9); }


/* ===============================
   Nacionalidad (bandera)
   =============================== */
.fdf-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:16px;
  border-radius:3px;
  line-height:1;
  margin-left:6px;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(0,0,0,0.12);
  overflow:hidden;
}
.fdf-flag.compact{
  width:20px;
  height:14px;
  border-radius:3px;
  margin-left:6px;
}
.fdf-flag .fdf-flag-img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.player-nationality{
  margin-top:2px;
  font-size:12px;
  color:#fff;
  display:flex;
  align-items:center;
  gap:6px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.55);
}
.player-nationality .nat-text{
  font-weight:600;
  color:#fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.55);
}
#lista-plantel-tacticas .player-name-row{
  display:flex;
  align-items:center;
  gap:6px;
}

/* ===============================
   Tácticas: bandera junto a la foto (lista)
   =============================== */
#lista-plantel-tacticas .player-row{
  display:flex;
  align-items:center;
  gap: 10px;
}
#lista-plantel-tacticas .player-avatar-wrap{
  position: relative;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
}
#lista-plantel-tacticas .player-avatar-wrap img{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display:block;
  margin: 0;
}
#lista-plantel-tacticas .player-avatar-wrap .fdf-flag.on-avatar{
  position:absolute;
  bottom: -2px;
  right: -2px;
  width: 18px;
  height: 13px;
  border-radius: 3px;
  margin: 0;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(255,255,255,0.9);
  box-shadow: 0 1px 2px rgba(0,0,0,0.25);
  overflow: hidden;
}
#lista-plantel-tacticas .player-info{
  flex: 1;
  min-width: 0;
}
#lista-plantel-tacticas .player-name-row{
  display:flex;
  align-items:center;
  gap: 6px;
  flex-wrap: nowrap;
}
#lista-plantel-tacticas .player-name-row .name{
  font-weight: 700;
  font-size: 13px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#lista-plantel-tacticas .ovr-badge-tacticas{
  flex: 0 0 32px;
}

/* ===============================
   Tácticas: fallback de bandera sobre la foto
   (por si el listado no queda dentro de #lista-plantel-tacticas)
   =============================== */
.tacticas-wrapper .player-row{
  display:flex;
  align-items:center;
}
.tacticas-wrapper .player-avatar-wrap{
  position: relative;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
}
.tacticas-wrapper .player-avatar-wrap img{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display:block;
}
.tacticas-wrapper .player-avatar-wrap .fdf-flag.on-avatar{
  position:absolute;
  bottom: -2px;
  right: -2px;
  width: 18px;
  height: 13px;
  border-radius: 3px;
  margin: 0;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(255,255,255,0.9);
  box-shadow: 0 1px 2px rgba(0,0,0,0.25);
  overflow: hidden;
}
.tacticas-wrapper .player-avatar-wrap .fdf-flag.on-avatar .fdf-flag-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ===============================
   Cancha: bandera sobre la foto
   =============================== */
#cancha-tacticas .jugador-img-drop{
  position: relative;
  overflow: visible;
}
#cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch{
  position:absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 12px;
  border-radius: 3px;
  margin: 0;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(255,255,255,0.9);
  box-shadow: 0 1px 2px rgba(0,0,0,0.25);
  font-size: 10px; /* para el fallback 🌎 */
  overflow: hidden;
}
#cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

/* ===============================
   Banco de suplentes: bandera sobre la foto
   (el banco está fuera de #cancha-tacticas, por eso necesita reglas propias)
   =============================== */
#banco-suplentes .jugador-img-drop{
  position: relative;
  overflow: visible;
}
#banco-suplentes .jugador-img-drop .fdf-flag.on-pitch{
  position:absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 12px;
  border-radius: 3px;
  margin: 0;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(255,255,255,0.9);
  box-shadow: 0 1px 2px rgba(0,0,0,0.25);
  font-size: 10px; /* fallback 🌎 */
  overflow: hidden;
}
#banco-suplentes .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

#cancha-tacticas .jugador-drop,
#banco-suplentes .jugador-drop{
  position:relative;
}
#cancha-tacticas .jugador-drop.jugador-drop-unavailable,
#banco-suplentes .jugador-drop.jugador-drop-unavailable{
  opacity:.55;
}
#cancha-tacticas .jugador-drop.jugador-drop-unavailable .jugador-img-drop,
#banco-suplentes .jugador-drop.jugador-drop-unavailable .jugador-img-drop{
  filter: grayscale(.9) saturate(.55) brightness(.9);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.75), 0 0 0 4px rgba(0,0,0,0.18);
}
#cancha-tacticas .jugador-drop.jugador-drop-suspended .jugador-img-drop,
#banco-suplentes .jugador-drop.jugador-drop-suspended .jugador-img-drop{
  box-shadow: 0 0 0 2px rgba(255,255,255,0.75), 0 0 0 4px rgba(220,53,69,0.65);
}
#cancha-tacticas .jugador-drop.jugador-drop-injured .jugador-img-drop,
#banco-suplentes .jugador-drop.jugador-drop-injured .jugador-img-drop{
  box-shadow: 0 0 0 2px rgba(255,255,255,0.75), 0 0 0 4px rgba(255,193,7,0.72);
}
.jugador-unavailable-ribbon{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  z-index:18;
  padding:2px 6px;
  border-radius:999px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.4px;
  color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
  white-space:nowrap;
}
.jugador-unavailable-ribbon-suspended{
  background:#dc3545;
}
.jugador-unavailable-ribbon-injured{
  background:#d39e00;
}
#cancha-tacticas .posicion.slot-unavailable,
#banco-suplentes .posicion-suplente.slot-unavailable{
  overflow:visible;
}

/* ===============================
   Estados (suspendido/lesionado) también en banco de suplentes
   =============================== */
#banco-suplentes .posicion-suplente.slot-suspended{
  background: rgba(220, 53, 69, 0.45);
  border-color: #dc3545;
}
#banco-suplentes .posicion-suplente.slot-injured{
  background: rgba(255, 193, 7, 0.45);
  border-color: #ffc107;
}
#banco-suplentes .slot-status-badge{
  position: absolute;
  bottom: 2px;
  right: 2px;
  z-index: 12;
  font-size: 12px;
  line-height: 1;
  padding: 2px 4px;
  border-radius: 4px;
  color: #fff;
  background: rgba(0, 0, 0, 0.65);
  min-width: 16px;
  text-align: center;
}
#banco-suplentes .slot-status-badge .slot-status-count{
  position: absolute;
  top: -6px;
  right: -6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(0,0,0,0.85);
  color: #fff;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   Plantel: mostrar 5 stats (TEC/FÍS/MEN/MOR/ÁNI) sin romper layout
   ========================================================= */
.player-stats-preview{
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
}
.player-stats-preview .stat-bar{
    min-width: 46px;
    flex: 1 1 46px;
}
.player-stats-preview .stat-label{
    font-size: 10px;
}
.player-stats-preview .stat-value{
    font-size: 13px;
}


/* ==========================================================
   FDF Manager - Cantera / Scouting
   ========================================================== */
.fdf-scout-box{
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  background: rgba(0,0,0,0.02);
}

.fdf-scout-sub{
  font-size: 12px;
  opacity: .75;
  margin-top: 2px;
}

.fdf-scout-status{
  margin-top: 10px;
}

.fdf-scout-hint{
  font-size: 13px;
  font-weight: 800;
}

.fdf-scout-meta{
  font-size: 12px;
  opacity: .72;
  margin-top: 4px;
}

.fdf-scout-empty{
  margin-top: 10px;
  padding: 10px;
  border: 1px dashed rgba(0,0,0,0.18);
  border-radius: 12px;
  background: rgba(255,255,255,0.6);
  font-size: 13px;
  opacity: .85;
}

.fdf-scout-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 980px){
  .fdf-scout-grid{ grid-template-columns: 1fr; }
}

.fdf-scout-item{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  background: #fff;
  padding: 10px 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

.fdf-scout-top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
}

.fdf-scout-tier{
  display:inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid rgba(0,0,0,0.14);
  background: rgba(0,0,0,0.04);
}

.fdf-scout-tier.t0{ background: rgba(108,117,125,0.10); border-color: rgba(108,117,125,0.25); }
.fdf-scout-tier.t1{ background: rgba(23,162,184,0.10); border-color: rgba(23,162,184,0.25); }
.fdf-scout-tier.t2{ background: rgba(40,167,69,0.10); border-color: rgba(40,167,69,0.25); }
.fdf-scout-tier.t3{ background: rgba(255,193,7,0.12); border-color: rgba(255,193,7,0.30); }
.fdf-scout-tier.t4{ background: rgba(220,53,69,0.10); border-color: rgba(220,53,69,0.28); }

.fdf-scout-ovr{
  font-size: 12px;
  font-weight: 900;
  opacity: .85;
}

.fdf-scout-name{
  margin-top: 8px;
  font-size: 14px;
  font-weight: 900;
}

.fdf-scout-subline{
  margin-top: 4px;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  opacity: .78;
}

.fdf-scout-actions{
  margin-top: 10px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.fdf-scout-fee{
  font-size: 12px;
  opacity: .9;
}



/* =========================
   FASE 4 — Broadcast premium
   ========================= */
.modal-match.fdf-broadcast-shell {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.fdf-broadcast-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 26px;
  background:
    radial-gradient(circle at top, rgba(59,130,246,0.16), transparent 38%),
    linear-gradient(135deg, #031b3a 0%, #082f63 45%, #041f43 100%);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.fdf-team-scoreboard {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 0;
}

.fdf-team-scoreboard.is-away {
  justify-content: flex-end;
}

.fdf-team-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.fdf-team-copy.is-away {
  align-items: flex-end;
  text-align: right;
}

.fdf-team-tag {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 800;
  color: rgba(191,219,254,.82);
}

.fdf-team-name {
  font-size: 1.52rem;
  font-weight: 800;
  line-height: 1.08;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fdf-team-badge-wrap {
  width: 70px;
  height: 70px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 28px rgba(0,0,0,.24);
}

.fdf-team-badge {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  border: 3px solid rgba(255,255,255,.9);
}

.fdf-scoreboard-center {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 220px;
}

.fdf-scoreboard-actions {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fdf-scoreboard-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  white-space: nowrap;
}

.fdf-scoreboard-action-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.fdf-scoreboard-action-btn:disabled {
  opacity: .6;
  cursor: default;
  transform: none;
}

.fdf-match-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 12px 20px rgba(0,0,0,.18);
}

.fdf-match-status-chip.is-preview {
  background: rgba(15,23,42,.68);
  color: #dbeafe;
}

.fdf-match-status-chip.is-live {
  background: linear-gradient(135deg, rgba(185,28,28,.92), rgba(239,68,68,.92));
  color: #fff;
  animation: fdfLiveChipPulse 1.3s ease-in-out infinite;
}

.fdf-match-status-chip.is-final {
  background: linear-gradient(135deg, rgba(245,158,11,.92), rgba(251,191,36,.92));
  color: #111827;
}

.fdf-scoreline {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: clamp(2.3rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
  text-shadow: 0 10px 18px rgba(0,0,0,.28);
}

.fdf-score-separator {
  color: rgba(191,219,254,.85);
}

.fdf-banner-minute {
  color: rgba(219,234,254,.88);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .02em;
}

@keyframes fdfLiveChipPulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 12px 20px rgba(0,0,0,.18); }
  50% { transform: translateY(-1px); box-shadow: 0 16px 26px rgba(239,68,68,.24); }
}

.fdf-broadcast-panel-shell {
  background: linear-gradient(180deg, #f7fafe 0%, #eef3f8 100%);
}

.fdf-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fdf-panel-subtitle {
  margin: 4px 0 0;
  color: #5b6f8a;
  font-size: .9rem;
}

.fdf-panel-form-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.fdf-broadcast-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fdf-panel-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,255,.96));
  border: 1px solid #d8e3ef;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 14px 28px rgba(8,47,99,.06), inset 0 1px 0 rgba(255,255,255,.75);
}

.fdf-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.fdf-card-title {
  color: #0b3566;
  font-size: .98rem;
  font-weight: 800;
}

.fdf-card-subtitle {
  color: #637894;
  font-size: .78rem;
  margin-top: 2px;
}

.fdf-card-label {
  display: block;
  margin-bottom: 6px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5b6f8a;
}

.fdf-card-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(37,99,235,.1);
  color: #1d4ed8;
  font-size: .72rem;
  font-weight: 800;
}

.fdf-overview-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.fdf-time-display {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, #06111f, #0d2038);
  color: #71ff8d;
  font-family: 'Courier New', monospace;
  font-size: 1.18rem;
  font-weight: 800;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 18px rgba(0,0,0,.14);
}

.fdf-possession-bar {
  position: relative;
  overflow: hidden;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, #d7e2ef, #c8d5e5);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.08);
}

.fdf-possession-home,
.fdf-possession-away {
  height: 100%;
  transition: width .45s ease;
}

.fdf-possession-home {
  float: left;
  background: linear-gradient(90deg, #2563eb, #3b82f6);
}

.fdf-possession-away {
  float: right;
  background: linear-gradient(90deg, #ef4444, #dc2626);
}

.fdf-possession-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: .82rem;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.34);
}

.fdf-view-switch,
.fdf-speed-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fdf-view-btn,
.fdf-speed-btn {
  border: 1px solid #c7d3e2;
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #ffffff, #edf3fa);
  color: #0f2f58;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.fdf-view-btn:hover,
.fdf-speed-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(8,47,99,.08);
}

.fdf-view-btn.active,
.fdf-speed-btn.active {
  border-color: #2563eb;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  box-shadow: 0 14px 22px rgba(37,99,235,.22);
}

.fdf-radar-stage {
  position: relative;
  height: 150px;
  border-radius: 14px;
  background: linear-gradient(180deg, #0b1725, #0c223a);
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.fdf-radar-pitch {
  position: absolute;
  inset: 12px;
  border: 2px solid rgba(255,255,255,.58);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,0) 16%, rgba(255,255,255,.05) 32%, rgba(255,255,255,0) 48%, rgba(255,255,255,.05) 64%, rgba(255,255,255,0) 80%),
    linear-gradient(180deg, rgba(34,197,94,.24), rgba(22,163,74,.18));
}

.fdf-radar-midline {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.54);
}

.fdf-radar-center-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.48);
}

.fdf-radar-box {
  position: absolute;
  top: 24%;
  width: 11%;
  height: 52%;
  border: 2px solid rgba(255,255,255,.44);
}

.fdf-radar-box.radar-box-left { left: 0; border-left: none; }
.fdf-radar-box.radar-box-right { right: 0; border-right: none; }

.fdf-radar-dot,
.fdf-radar-ball {
  position: absolute;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.fdf-radar-dot {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.18);
}

.fdf-radar-dot.is-home { background: #2563eb; }
.fdf-radar-dot.is-away { background: #ef4444; }
.fdf-radar-dot.is-carrier { width: 10px; height: 10px; box-shadow: 0 0 0 3px rgba(255,255,255,.26); }

.fdf-radar-ball {
  width: 6px;
  height: 6px;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.14), 0 0 12px rgba(255,255,255,.35);
}

.fdf-heatmap-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fdf-heatmap-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.fdf-heatmap-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: .83rem;
  font-weight: 700;
  color: #17365f;
}

.fdf-heatmap-track {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(180deg, #d7e2ef, #cdd9e6);
}

.fdf-heatmap-bar {
  height: 100%;
  border-radius: 999px;
  transition: width .45s ease;
}

.fdf-heatmap-bar.is-home { background: linear-gradient(90deg, #2563eb, #60a5fa); }
.fdf-heatmap-bar.is-middle { background: linear-gradient(90deg, #22c55e, #4ade80); }
.fdf-heatmap-bar.is-away { background: linear-gradient(90deg, #ef4444, #fb7185); }

.fdf-primary-panel-btn {
  border-radius: 12px;
}

.fdf-stamina-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0;
  border-bottom: 1px dashed #e6edf5;
  font-size: .8rem;
}

.fdf-stamina-row:last-child {
  border-bottom: none;
}

.fdf-stamina-name {
  max-width: 168px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fdf-stamina-value {
  font-weight: 800;
  color: #12335c;
}

.modal-match.is-view-broadcast .fdf-match-zone-badge {
  opacity: 0;
  transform: translateY(-8px);
}

.modal-match.is-view-broadcast .fdf-match-player-name {
  background: rgba(7,19,36,.58);
}

.modal-match.is-view-tactical .fdf-match-zone-badge {
  opacity: 1;
}

.modal-match.is-view-tactical .fdf-match-player-name {
  background: rgba(7,19,36,.86);
  box-shadow: 0 8px 18px rgba(0,0,0,.24);
}

.modal-match.is-view-tactical .cancha-futbol::before {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 0 0 2px rgba(37,99,235,.08);
}

#mm-comentarios {
  min-height: 86px;
  max-height: 118px;
  border-radius: 16px;
  text-align: left;
}

#mm-comentarios .match-event {
  border-radius: 10px !important;
  box-shadow: 0 10px 18px rgba(8,47,99,.08);
}

@media (max-width: 1160px) {
  .fdf-broadcast-header {
    padding: 14px 18px;
  }

  .fdf-team-name {
    font-size: 1.18rem;
  }

  .fdf-scoreline {
    font-size: 2.35rem;
  }

  .fdf-radar-stage {
    height: 134px;
  }
}


/* =========================
   AJUSTE Broadcast premium + cambios accesibles
   ========================= */
.fdf-coach-controls-card,
.fdf-bench-card,
.fdf-substitution-card {
  position: relative;
}

.fdf-panel-form-block-card {
  gap: 14px;
}

.fdf-panel-form-block-card select {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 14px rgba(8,47,99,.04);
}

.fdf-bench-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fdf-bench-card #mm-suplentes {
  flex: 1 1 auto;
  max-height: none !important;
  min-height: 210px;
}

.fdf-substitution-card {
  border-color: #c8d8eb;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(239,246,255,.98));
  box-shadow: 0 16px 26px rgba(8,47,99,.08), inset 0 1px 0 rgba(255,255,255,.88);
}

.fdf-substitution-meta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.fdf-substitution-meta {
  padding: 9px 10px;
  border-radius: 12px;
  font-size: .82rem;
  color: #204066;
  background: rgba(37,99,235,.08);
  border: 1px solid rgba(96,165,250,.2);
}

.fdf-substitution-meta.is-rival {
  background: rgba(239,68,68,.07);
  border-color: rgba(248,113,113,.18);
  color: #7f1d1d;
}

.fdf-substitution-cta {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 16px;
  border: none;
  border-radius: 13px;
  cursor: pointer;
  font-weight: 800;
  font-size: .98rem;
  color: #fff;
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  box-shadow: 0 14px 22px rgba(21,128,61,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.fdf-substitution-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 26px rgba(21,128,61,.28);
  filter: saturate(1.05);
}

.fdf-substitution-cta.is-reorder {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 14px 22px rgba(37,99,235,.22);
}

.fdf-substitution-cta-icon {
  font-size: 1.12rem;
  line-height: 1;
}

.fdf-substitution-list {
  margin-top: 10px;
  max-height: 110px;
  overflow-y: auto;
}

#substitution-controls {
  order: 3;
}

#fdf-stamina-panel {
  display: none !important;
}

@media (max-width: 1160px) {
  .fdf-substitution-meta-row {
    grid-template-columns: 1fr;
  }
}


/* =========================
   PULIDO FINAL FASE 4 — panel derecho broadcast TV
   ========================= */
.modal-match .panel-dt.fdf-broadcast-panel-shell {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(37,99,235,.34) rgba(15,23,42,.06);
}

.modal-match .panel-dt.fdf-broadcast-panel-shell::-webkit-scrollbar {
  width: 10px;
}

.modal-match .panel-dt.fdf-broadcast-panel-shell::-webkit-scrollbar-track {
  background: rgba(148,163,184,.12);
  border-radius: 999px;
}

.modal-match .panel-dt.fdf-broadcast-panel-shell::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(37,99,235,.55), rgba(29,78,216,.78));
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.72);
}

.fdf-broadcast-panel-shell {
  position: relative;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

.fdf-panel-card {
  backdrop-filter: blur(6px);
}

.fdf-coach-controls-card {
  border-color: #cddbef;
  box-shadow: 0 18px 28px rgba(8,47,99,.07), inset 0 1px 0 rgba(255,255,255,.88);
}

.fdf-bench-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 320px;
  overflow: hidden;
}

.fdf-bench-card .fdf-card-head {
  margin-bottom: 12px;
}

.fdf-bench-card #mm-suplentes {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 1 auto;
  min-height: 250px;
  max-height: min(42vh, 370px) !important;
  overflow-y: auto;
  padding: 8px;
  border-radius: 14px;
  border: 1px solid #d6e1ee;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.fdf-bench-card #mm-suplentes:empty::before {
  content: 'Cargando banco de suplentes…';
  display: block;
  padding: 14px 12px;
  color: #6b7f99;
  font-size: .86rem;
}

.fdf-bench-card #mm-suplentes li {
  margin: 0 0 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e2eaf3;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.78));
  box-shadow: 0 8px 18px rgba(8,47,99,.05);
}

.fdf-bench-card #mm-suplentes li:last-child {
  margin-bottom: 0;
}

.fdf-bench-card #mm-suplentes li:hover {
  background: linear-gradient(180deg, rgba(239,246,255,.98), rgba(219,234,254,.96));
}

.fdf-bench-card #mm-suplentes img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid rgba(37,99,235,.18);
  box-shadow: 0 6px 14px rgba(8,47,99,.10);
}

#fdf-match-substitution-anchor {
  display: block;
  min-height: 1px;
}

#substitution-controls {
  order: 2;
}

.fdf-substitution-card {
  position: sticky;
  top: 10px;
  z-index: 8;
  border-color: #bfd2e8;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(239,246,255,.98));
  box-shadow: 0 18px 28px rgba(8,47,99,.09), inset 0 1px 0 rgba(255,255,255,.9);
}

.fdf-substitution-card .fdf-card-head {
  margin-bottom: 8px;
}

.fdf-substitution-card .fdf-card-title {
  font-size: 1.02rem;
}

.fdf-substitution-meta-row {
  margin-bottom: 10px;
}

.fdf-substitution-meta {
  padding: 10px 12px;
  border-radius: 14px;
  font-size: .84rem;
  font-weight: 700;
}

.fdf-substitution-cta {
  position: relative;
  min-height: 54px;
  border-radius: 15px;
  font-size: 1.02rem;
  letter-spacing: .01em;
}

.fdf-substitution-cta::after {
  content: 'Acceso rápido';
  position: absolute;
  right: 12px;
  top: -10px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #14532d;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(34,197,94,.24);
  box-shadow: 0 6px 12px rgba(8,47,99,.08);
}

.fdf-substitution-list {
  margin-top: 12px;
  max-height: 118px;
  overflow-y: auto;
  padding-right: 3px;
}

.fdf-substitution-list .sub-row,
.fdf-substitution-list > div {
  border-radius: 10px;
}

@media (max-width: 1160px) {
  .fdf-substitution-card {
    position: relative;
    top: 0;
  }

  .fdf-bench-card {
    min-height: 280px;
  }

  .fdf-bench-card #mm-suplentes {
    min-height: 220px;
    max-height: 280px !important;
  }
}


/* =========================
   FASE 5 — refinamiento avanzado
   ========================= */
.modal-match.fdf-broadcast-shell {
  position: relative;
}

.fdf-match-layer-ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .22;
  transition: opacity .35s ease, background .45s ease, filter .35s ease, transform .35s ease;
  mix-blend-mode: screen;
}

.cancha-futbol.is-weather-sunny .fdf-match-layer-ambient {
  background: radial-gradient(circle at 20% 15%, rgba(251, 191, 36, .28), transparent 38%), linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  opacity: .22;
}

.cancha-futbol.is-weather-cloudy .fdf-match-layer-ambient {
  background: linear-gradient(180deg, rgba(148,163,184,.22), rgba(255,255,255,.02)), radial-gradient(circle at 50% 12%, rgba(226,232,240,.22), transparent 36%);
  opacity: .18;
}

.cancha-futbol.is-weather-rain .fdf-match-layer-ambient {
  background: repeating-linear-gradient(115deg, rgba(191,219,254,.00) 0 10px, rgba(191,219,254,.22) 10px 12px, rgba(191,219,254,.00) 12px 22px), linear-gradient(180deg, rgba(12,74,110,.20), rgba(255,255,255,0));
  animation: fdfRainSweep 1.6s linear infinite;
  opacity: .28;
}

.cancha-futbol.is-weather-storm .fdf-match-layer-ambient {
  background: repeating-linear-gradient(115deg, rgba(148,163,184,.00) 0 9px, rgba(191,219,254,.26) 9px 11px, rgba(148,163,184,.00) 11px 20px), radial-gradient(circle at 70% 14%, rgba(255,255,255,.12), transparent 28%), linear-gradient(180deg, rgba(15,23,42,.24), rgba(255,255,255,0));
  animation: fdfStormSweep 1.15s linear infinite;
  opacity: .3;
}

.cancha-futbol.is-context-home-press .fdf-match-layer-ambient {
  box-shadow: inset -120px 0 120px rgba(239,68,68,.12);
}

.cancha-futbol.is-context-away-press .fdf-match-layer-ambient {
  box-shadow: inset 120px 0 120px rgba(37,99,235,.12);
}

.cancha-futbol.is-context-middle .fdf-match-layer-ambient {
  box-shadow: inset 0 0 70px rgba(255,255,255,.08);
}

.cancha-futbol.is-visual-setpiece .fdf-match-layer-ambient {
  opacity: .34;
  transform: scale(1.01);
}

.cancha-futbol.is-visual-goal .fdf-match-layer-ambient {
  opacity: .38;
  filter: saturate(1.15) brightness(1.06);
}

.cancha-futbol.is-visual-card .fdf-match-layer-ambient,
.cancha-futbol.is-visual-injury .fdf-match-layer-ambient,
.cancha-futbol.is-visual-sub .fdf-match-layer-ambient {
  opacity: .3;
}

.cancha-futbol.is-late-push .fdf-match-layer-ambient {
  box-shadow: inset 0 0 0 2px rgba(251,191,36,.14), inset 0 0 90px rgba(251,191,36,.12);
}

@keyframes fdfRainSweep {
  from { transform: translateX(0); }
  to { transform: translateX(-18px); }
}

@keyframes fdfStormSweep {
  0%, 100% { transform: translateX(0); opacity: .28; }
  50% { transform: translateX(-12px); opacity: .36; }
}

.fdf-match-player-node {
  pointer-events: auto;
  cursor: pointer;
  width: 74px;
  min-height: 78px;
  z-index: 3;
}

.fdf-match-player-node:focus-visible {
  outline: none;
}

.fdf-match-player-chip {
  min-height: 76px;
}

.fdf-match-player-photo {
  transition: transform .22s ease, box-shadow .22s ease, outline-color .22s ease, filter .22s ease;
}

.fdf-match-player-node:hover .fdf-match-player-photo,
.fdf-match-player-node:focus-visible .fdf-match-player-photo {
  transform: translateX(-50%) scale(1.04);
  box-shadow: 0 10px 22px rgba(0,0,0,.30), 0 0 0 5px rgba(255,255,255,.16);
}

.fdf-match-player-name {
  max-width: 88px;
  transition: background .2s ease, transform .2s ease;
}

.fdf-match-player-node:hover .fdf-match-player-name,
.fdf-match-player-node:focus-visible .fdf-match-player-name {
  background: rgba(7, 19, 36, .88);
  transform: translateX(-50%) translateY(1px);
}

.fdf-match-player-node.role-gk .fdf-match-player-photo {
  animation: fdfRoleGkPulse 4.6s ease-in-out infinite;
}

.fdf-match-player-node.role-def .fdf-match-player-photo {
  animation: fdfRoleDefShift 5.2s ease-in-out infinite;
}

.fdf-match-player-node.role-mid .fdf-match-player-photo {
  animation: fdfRoleMidFloat 3.8s ease-in-out infinite;
}

.fdf-match-player-node.role-fwd .fdf-match-player-photo {
  animation: fdfRoleFwdBurst 3.2s ease-in-out infinite;
}

.fdf-match-player-node.is-expelled .fdf-match-player-photo,
.fdf-match-player-node.is-injured .fdf-match-player-photo {
  animation: none !important;
}

@keyframes fdfRoleGkPulse {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px) scale(1.02); }
}

@keyframes fdfRoleDefShift {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(calc(-50% - 1px)) translateY(0); }
}

@keyframes fdfRoleMidFloat {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
}

@keyframes fdfRoleFwdBurst {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  40% { transform: translateX(calc(-50% + 1px)) translateY(-2px) scale(1.03); }
  70% { transform: translateX(calc(-50% - 1px)) translateY(-1px); }
}

.fdf-match-quick-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(240px, calc(100% - 28px));
  padding: 12px 13px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(3, 27, 58, .96), rgba(8, 47, 99, .94));
  border: 1px solid rgba(191,219,254,.18);
  box-shadow: 0 18px 34px rgba(0,0,0,.30);
  color: #fff;
  transform: translate(-50%, -50%) scale(.96);
  opacity: 0;
  pointer-events: none;
  z-index: 7;
  transition: opacity .18s ease, transform .18s ease;
}

.fdf-match-quick-card.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.fdf-quick-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fdf-quick-card-photo {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.84);
  object-fit: cover;
  box-shadow: 0 10px 18px rgba(0,0,0,.26);
}

.fdf-quick-card-name {
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.05;
}

.fdf-quick-card-meta {
  margin-top: 3px;
  color: rgba(219,234,254,.9);
  font-size: .74rem;
  font-weight: 700;
}

.fdf-quick-card-body {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.fdf-quick-card-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
}

.fdf-quick-card-pill.is-alert {
  background: rgba(248, 113, 113, .16);
  color: #fee2e2;
}

.fdf-substitution-card.is-floating-ready {
  padding-bottom: 12px;
}

.fdf-substitution-floating-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 12px;
  background: rgba(22,163,74,.08);
  border: 1px dashed rgba(34,197,94,.28);
  color: #166534;
  font-size: .84rem;
  font-weight: 800;
}

.fdf-floating-sub-btn {
  position: absolute;
  right: 22px;
  bottom: 148px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 182px;
  padding: 12px 16px;
  border: none;
  border-radius: 18px;
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  color: #fff;
  box-shadow: 0 22px 34px rgba(15, 118, 110, .26), 0 8px 18px rgba(0,0,0,.16);
  cursor: pointer;
  z-index: 30;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.fdf-floating-sub-btn:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 26px 38px rgba(15,118,110,.30), 0 12px 22px rgba(0,0,0,.20);
}

.fdf-floating-sub-btn.is-reorder {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 22px 34px rgba(37,99,235,.24), 0 8px 18px rgba(0,0,0,.16);
}

.fdf-floating-sub-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.16);
  font-size: 1.15rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.fdf-floating-sub-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  text-align: left;
}

.fdf-floating-sub-kicker {
  font-size: .92rem;
  font-weight: 900;
  line-height: 1;
}

.fdf-floating-sub-meta {
  font-size: .72rem;
  font-weight: 700;
  color: rgba(240,253,244,.94);
}

@media (max-width: 1180px) {
  .fdf-floating-sub-btn {
    right: 18px;
    bottom: 132px;
    min-width: 168px;
    padding: 11px 14px;
  }

  .fdf-match-quick-card {
    width: min(220px, calc(100% - 24px));
  }
}

@media (max-width: 900px), (pointer: coarse) {
  .fdf-match-player-node {
    width: 64px;
    min-height: 70px;
    transition-duration: .26s;
  }

  .fdf-match-player-chip {
    min-height: 68px;
  }

  .fdf-match-player-photo {
    width: 38px;
    height: 38px;
    top: 18px;
    animation-duration: 5.6s !important;
  }

  .fdf-match-player-name {
    max-width: 78px;
    font-size: .66rem;
    padding: 2px 6px;
  }

  .fdf-match-player-energy {
    min-width: 38px;
    height: 17px;
    font-size: .58rem;
  }

  .fdf-match-ball {
    transition-duration: .28s;
  }

  .fdf-match-ball-trail {
    opacity: .28;
  }

  .fdf-match-quick-card {
    width: min(210px, calc(100% - 20px));
    padding: 10px 11px;
  }

  .fdf-floating-sub-btn {
    right: 14px;
    bottom: 118px;
    min-width: 154px;
    gap: 10px;
    padding: 10px 13px;
    border-radius: 16px;
  }

  .fdf-floating-sub-icon {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 760px) {
  .fdf-floating-sub-btn {
    right: 12px;
    bottom: 106px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fdf-match-player-node,
  .fdf-match-ball,
  .fdf-match-ball-trail,
  .fdf-match-layer-ambient,
  .fdf-match-quick-card,
  .fdf-floating-sub-btn {
    transition: none !important;
    animation: none !important;
  }
}


/* ===== OVERRIDE VISUAL FINAL: ocultar banner oval del centro de la cancha ===== */
#modal-match-backdrop .fdf-live-event-banner {
  display: none !important;
}

/* =========================
   MOBILE POLISH — match modal + layout general
   Cambios exclusivamente visuales / responsive
   ========================= */
@media (max-width: 1024px) {
  .modal-backdrop {
    padding: 10px;
  }

  #modal-match-backdrop.modal-backdrop {
    padding:
      max(8px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
    align-items: stretch !important;
  }

  #modal-match-backdrop .modal-match.fdf-broadcast-shell {
    width: min(100%, 1000px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }

  #modal-match-backdrop .fdf-match-main {
    min-height: 0 !important;
  }

  #modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
    padding: 12px 12px 8px !important;
  }

  #modal-match-backdrop .panel-dt.fdf-broadcast-panel-shell {
    min-width: 0 !important;
    padding: 14px 12px 14px !important;
  }

  #modal-match-backdrop .fdf-bench-card,
  #modal-match-backdrop .fdf-panel-card {
    border-radius: 14px;
  }

  #modal-match-backdrop .fdf-bench-card #mm-suplentes {
    max-height: min(28vh, 280px) !important;
  }

  #modal-match-backdrop .fdf-match-footer {
    padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 900px) {
  #modal-match-backdrop .modal-match.fdf-broadcast-shell {
    height: calc(100dvh - 12px) !important;
    border-radius: 16px !important;
  }

  #modal-match-backdrop .fdf-broadcast-header {
    flex-wrap: wrap;
    row-gap: 12px;
    column-gap: 10px;
    padding: 12px !important;
  }

  #modal-match-backdrop .fdf-scoreboard-center {
    order: 1;
    width: 100%;
    min-width: 0;
  }

  #modal-match-backdrop .fdf-team-scoreboard {
    flex: 1 1 calc(50% - 6px);
  }

  #modal-match-backdrop .fdf-team-scoreboard.is-local {
    order: 2;
  }

  #modal-match-backdrop .fdf-team-scoreboard.is-away {
    order: 3;
  }

  #modal-match-backdrop .fdf-team-badge-wrap {
    width: 54px;
    height: 54px;
    border-radius: 14px;
  }

  #modal-match-backdrop .fdf-team-badge {
    width: 44px !important;
    height: 44px !important;
  }

  #modal-match-backdrop .fdf-team-tag {
    font-size: .62rem;
    letter-spacing: .12em;
  }

  #modal-match-backdrop .fdf-team-name {
    font-size: clamp(.9rem, 3.6vw, 1.08rem);
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  #modal-match-backdrop .fdf-scoreline {
    font-size: clamp(1.9rem, 8vw, 2.7rem);
    gap: 12px;
  }

  #modal-match-backdrop .fdf-banner-minute {
    font-size: .82rem;
  }

  #modal-match-backdrop .fdf-match-main {
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  #modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
    order: 1;
    flex: 0 0 auto !important;
  }

  #modal-match-backdrop .panel-dt.fdf-broadcast-panel-shell {
    order: 2;
    flex: 0 0 auto !important;
    border-left: none !important;
    border-top: 1px solid #d7e0ea;
    max-height: none !important;
  }

  #modal-match-backdrop .fdf-match-stage {
    max-width: 100%;
  }

  #modal-match-backdrop .cancha-futbol {
    height: auto !important;
    min-height: 280px !important;
    max-height: none !important;
    aspect-ratio: 1.5 / 1;
    border-radius: 18px;
  }

  #modal-match-backdrop .fdf-overview-grid {
    gap: 10px;
  }

  #modal-match-backdrop .fdf-panel-form-block,
  #modal-match-backdrop .fdf-panel-form-block-card {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  #modal-match-backdrop .fdf-substitution-card {
    position: relative;
    top: 0;
  }

  #modal-match-backdrop .fdf-substitution-list {
    max-height: 140px;
  }

  #modal-match-backdrop #mm-comentarios {
    min-height: 74px;
    max-height: 116px;
    font-size: .8rem;
    padding: 9px 10px;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-broadcast-shell {
    width: 100% !important;
    max-height: 100dvh !important;
    border-radius: 14px !important;
  }

  #modal-match-backdrop .fdf-broadcast-header {
    padding: 10px !important;
  }

  #modal-match-backdrop .fdf-team-scoreboard {
    gap: 8px;
  }

  #modal-match-backdrop .fdf-team-badge-wrap {
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }

  #modal-match-backdrop .fdf-team-badge {
    width: 38px !important;
    height: 38px !important;
  }

  #modal-match-backdrop .fdf-scoreboard-action-btn {
    width: 100%;
    min-height: 40px;
    font-size: .86rem !important;
    padding: 10px 16px !important;
  }

  #modal-match-backdrop .fdf-match-status-chip {
    min-width: 84px;
    font-size: .67rem;
  }

  #modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
    padding: 8px 8px 6px !important;
  }

  #modal-match-backdrop .cancha-futbol {
    min-height: 236px !important;
    aspect-ratio: 1.28 / 1;
    border-radius: 16px;
  }

  #modal-match-backdrop .panel-dt.fdf-broadcast-panel-shell {
    padding: 12px 10px 12px !important;
    gap: 10px !important;
  }

  #modal-match-backdrop .fdf-panel-header {
    align-items: flex-start;
  }

  #modal-match-backdrop .fdf-panel-subtitle {
    font-size: .8rem;
  }

  #modal-match-backdrop .fdf-panel-card {
    padding: 12px;
  }

  #modal-match-backdrop .fdf-panel-form-block,
  #modal-match-backdrop .fdf-panel-form-block-card {
    grid-template-columns: 1fr;
  }

  #modal-match-backdrop .fdf-card-title {
    font-size: .92rem;
  }

  #modal-match-backdrop .fdf-card-subtitle {
    font-size: .74rem;
  }

  #modal-match-backdrop .fdf-time-display {
    min-height: 48px;
    font-size: 1rem;
  }

  #modal-match-backdrop .fdf-radar-stage {
    height: 110px;
  }

  #modal-match-backdrop .fdf-bench-card {
    min-height: 0 !important;
  }

  #modal-match-backdrop .fdf-bench-card #mm-suplentes {
    min-height: 150px;
    max-height: 180px !important;
    padding: 6px;
  }

  #modal-match-backdrop .fdf-bench-card #mm-suplentes li {
    padding: 8px 9px;
    margin-bottom: 6px;
  }

  #modal-match-backdrop .fdf-bench-card #mm-suplentes img {
    width: 34px;
    height: 34px;
  }

  #modal-match-backdrop #mm-comentarios {
    min-height: 68px;
    max-height: 96px;
    font-size: .76rem;
    border-radius: 12px;
  }

  #modal-match-backdrop #mm-btn-regresar {
    width: 100%;
  }

  #modal-match-backdrop .fdf-floating-sub-btn {
    right: 10px;
    bottom: 96px;
    min-width: 0;
    width: calc(100% - 20px);
    justify-content: center;
  }

  #modal-match-backdrop .fdf-match-player-node {
    width: 56px;
    min-height: 58px;
  }

  #modal-match-backdrop .fdf-match-player-chip {
    min-height: 58px;
  }

  #modal-match-backdrop .fdf-match-player-photo {
    width: 32px;
    height: 32px;
    top: 15px;
    border-width: 2px;
  }

  #modal-match-backdrop .fdf-match-player-name {
    max-width: 66px;
    font-size: .58rem;
    padding: 2px 5px;
    bottom: 0;
  }

  #modal-match-backdrop .fdf-match-player-energy {
    min-width: 30px;
    height: 15px;
    top: -4px;
    font-size: .5rem;
    padding: 0 5px;
  }

  #modal-match-backdrop .fdf-match-player-status {
    top: 42px;
    transform: translateX(-50%) scale(.9);
  }

  #modal-match-backdrop .fdf-match-zone-badge {
    font-size: .54rem;
    padding: 2px 6px;
  }
}

@media (max-width: 420px) {
  #modal-match-backdrop .cancha-futbol {
    min-height: 210px !important;
    aspect-ratio: 1.15 / 1;
  }

  #modal-match-backdrop .fdf-match-player-node {
    width: 50px;
    min-height: 54px;
  }

  #modal-match-backdrop .fdf-match-player-photo {
    width: 28px;
    height: 28px;
    top: 14px;
  }

  #modal-match-backdrop .fdf-match-player-name {
    max-width: 58px;
    font-size: .54rem;
  }

  #modal-match-backdrop .fdf-match-player-energy {
    font-size: .46rem;
    min-width: 28px;
  }
}

@media (max-width: 960px) and (orientation: landscape) {
  #modal-match-backdrop .modal-match.fdf-broadcast-shell {
    height: calc(100dvh - 8px) !important;
    border-radius: 14px !important;
  }

  #modal-match-backdrop .fdf-broadcast-header {
    padding: 8px 12px !important;
  }

  #modal-match-backdrop .fdf-match-main {
    flex-direction: row !important;
  }

  #modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
    flex: 1.65 1 0 !important;
    padding: 8px !important;
  }

  #modal-match-backdrop .panel-dt.fdf-broadcast-panel-shell {
    flex: 1 1 290px !important;
    min-width: 290px !important;
    max-width: 36vw !important;
    padding: 10px 10px 12px !important;
    border-top: none !important;
    border-left: 1px solid #d7e0ea !important;
  }

  #modal-match-backdrop .cancha-futbol {
    min-height: 0 !important;
    height: min(100%, 320px) !important;
    aspect-ratio: 16 / 9;
  }

  #modal-match-backdrop #mm-comentarios {
    max-height: 72px;
    min-height: 56px;
  }

  #modal-match-backdrop .fdf-panel-header h3 {
    font-size: 1.02rem;
  }

  #modal-match-backdrop .fdf-panel-subtitle,
  #modal-match-backdrop .fdf-card-subtitle {
    display: none;
  }

  #modal-match-backdrop .fdf-bench-card #mm-suplentes {
    max-height: 120px !important;
    min-height: 110px;
  }

  #modal-match-backdrop .fdf-match-player-node {
    width: 52px;
    min-height: 58px;
  }

  #modal-match-backdrop .fdf-match-player-photo {
    width: 30px;
    height: 30px;
    top: 15px;
  }

  #modal-match-backdrop .fdf-match-player-name {
    font-size: .54rem;
    max-width: 58px;
  }
}

/* Pulido general del manager para móviles, sin tocar lógica */
@media (max-width: 768px) {
  #fdf-manager {
    padding: 8px;
  }

  .pantalla {
    padding: 12px;
    border-radius: 12px;
  }

  #menu-juego {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #menu-juego ul {
    flex-wrap: nowrap;
    min-width: max-content;
    gap: 10px;
    padding-bottom: 4px;
  }

  #menu-juego .tab {
    white-space: nowrap;
  }

  #plantel-container {
    gap: 14px;
  }

  #sidebar {
    max-height: none;
  }

  #content-fixture,
  #content-posiciones,
  #content-historial,
  #content-historial-club {
    overflow-x: auto;
  }

  .fixture-table,
  .posiciones-table {
    min-width: 720px;
  }
}


/* ===================================================================
   AJUSTES VISUALES RESPONSIVE – PREVIA / RESUMEN / FIXTURE / MENÚ USER
   Solo capa visual para móviles. No altera lógica del juego.
   ================================================================== */

/* Resumen final del partido */
#match-summary-modal {
  padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
  box-sizing: border-box;
}

#match-summary-modal .fdf-match-summary-dialog {
  width: min(100%, 700px) !important;
  max-height: min(92dvh, 92vh) !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

#match-summary-modal .fdf-match-summary-scoregrid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 18px !important;
}

#match-summary-modal .fdf-match-summary-team { min-width: 0; }
#match-summary-modal .fdf-match-summary-team-name { overflow-wrap: anywhere; }
#match-summary-modal .fdf-match-summary-center { min-width: 0; }
#match-summary-modal .fdf-match-summary-score { line-height: 1; }
#match-summary-modal .fdf-match-summary-event-row:last-child { border-bottom: none !important; }
#match-summary-modal .fdf-match-summary-main { min-width: 0; }
#match-summary-modal .fdf-match-summary-actions { flex-wrap: wrap; }
#match-summary-modal .fdf-match-summary-btn { min-height: 44px; }

/* Modal previa / partido en vivo */
#mm-btn-comenzar,
#modal-match-backdrop #mm-btn-comenzar {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 768px) {
  #modal-match-backdrop {
    padding: 6px !important;
    align-items: stretch !important;
  }

  #modal-match-backdrop .modal-match.fdf-broadcast-shell {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 12px !important;
    margin: 0 !important;
  }

  #modal-match-backdrop .fdf-broadcast-header {
    padding: 10px !important;
    gap: 10px !important;
  }

  #modal-match-backdrop .fdf-scoreboard-center {
    width: 100%;
    min-width: 0;
  }

  #modal-match-backdrop .fdf-team-scoreboard {
    min-width: 0;
  }

  #modal-match-backdrop .fdf-team-name {
    overflow-wrap: anywhere;
  }

  #modal-match-backdrop .panel-dt.fdf-broadcast-panel-shell {
    min-width: 0 !important;
  }

  #modal-match-backdrop .fdf-match-footer {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  }
}

/* Previa de alineaciones */
#lineups-modal {
  padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
  box-sizing: border-box;
}

#lineups-modal .fdf-lineups-dialog {
  width: min(100%, 1120px) !important;
  max-height: min(92dvh, 92vh) !important;
  box-sizing: border-box;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

#lineups-modal .fdf-lineups-start-wrap {
  text-align: center;
  margin-bottom: 20px;
}

#lineups-modal .fdf-lineups-start-btn {
  min-height: 46px;
  min-width: min(100%, 280px);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

#lineups-modal .fdf-lineups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

#lineups-modal .fdf-lineups-team { min-width: 0; }
#lineups-modal .fdf-lineups-team-name { overflow-wrap: anywhere; }

@media (max-width: 640px) {
  #match-summary-modal {
    align-items: stretch !important;
    justify-content: center !important;
  }

  #match-summary-modal .fdf-match-summary-dialog {
    width: 100% !important;
    max-height: 100dvh !important;
    border-radius: 12px !important;
    padding: 16px !important;
  }

  #match-summary-modal .fdf-match-summary-title {
    font-size: 1.35rem;
    margin-bottom: 14px !important;
  }

  #match-summary-modal .fdf-match-summary-scorecard {
    padding: 14px !important;
    margin-bottom: 18px !important;
  }

  #match-summary-modal .fdf-match-summary-scoregrid {
    grid-template-columns: 1fr;
    gap: 12px !important;
    justify-items: center;
  }

  #match-summary-modal .fdf-match-summary-team {
    width: 100%;
    max-width: 240px;
  }

  #match-summary-modal .fdf-match-summary-team-badge {
    width: 42px !important;
    height: 42px !important;
  }

  #match-summary-modal .fdf-match-summary-team-name {
    font-size: 1rem;
    margin: 8px 0 0 !important;
  }

  #match-summary-modal .fdf-match-summary-score {
    font-size: clamp(2rem, 12vw, 2.6rem) !important;
  }

  #match-summary-modal .fdf-match-summary-penalties {
    font-size: .82rem !important;
    line-height: 1.35;
  }

  #match-summary-modal .fdf-match-summary-section {
    margin-bottom: 18px !important;
  }

  #match-summary-modal .fdf-match-summary-box {
    padding: 12px !important;
  }

  #match-summary-modal .fdf-match-summary-event-row {
    display: grid !important;
    grid-template-columns: 34px 22px minmax(0, 1fr);
    gap: 8px !important;
    align-items: start !important;
  }

  #match-summary-modal .fdf-match-summary-aside {
    grid-column: 3;
    display: block;
    margin-top: 2px;
  }

  #match-summary-modal .fdf-match-summary-stat-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 12px !important;
  }

  #match-summary-modal .fdf-match-summary-actions {
    flex-direction: column;
    gap: 10px !important;
  }

  #match-summary-modal .fdf-match-summary-btn {
    width: 100%;
    font-size: .95rem !important;
    padding: 12px 16px !important;
  }

  #lineups-modal {
    align-items: stretch !important;
    justify-content: center !important;
  }

  #lineups-modal .fdf-lineups-dialog {
    width: 100% !important;
    max-height: 100dvh !important;
    border-radius: 12px !important;
    padding: 16px !important;
  }

  #lineups-modal .fdf-lineups-title {
    font-size: 1.35rem !important;
    margin-bottom: 16px !important;
  }

  #lineups-modal .fdf-lineups-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #lineups-modal .fdf-lineups-start-wrap {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    padding-bottom: 10px;
    margin-bottom: 14px;
  }

  #lineups-modal .fdf-lineups-start-btn {
    width: 100%;
    font-size: 1rem !important;
    padding: 12px 16px !important;
  }
}

/* Fixture realmente adaptado a móvil */
@media (max-width: 768px) {
  #content-fixture,
  #content-posiciones,
  #content-historial,
  #content-historial-club {
    overflow-x: visible;
  }

  .fixture-table {
    min-width: 0 !important;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    display: block;
  }

  .fixture-table tbody {
    display: block;
  }

  .fixture-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
    background: #fff;
    border: 1px solid #d8e0ea;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
    margin-bottom: 10px;
  }

  .fixture-table td {
    display: block;
    width: 100%;
    border: none !important;
    padding: 0 !important;
    text-align: left;
  }

  .fixture-table td:nth-child(2) {
    order: 3;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    background: #f4f7fb;
    border-radius: 10px;
    padding: 10px 12px !important;
  }

  .fixture-table td:nth-child(4) {
    order: 4;
    padding-top: 2px !important;
  }

  .fixture-team-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .fixture-team-cell img {
    width: 28px;
    height: 28px;
    margin-right: 0;
    flex: 0 0 28px;
  }

  .fixture-team-cell span {
    min-width: 0;
    font-size: .95rem;
    font-weight: 600;
    overflow-wrap: anywhere;
  }

  .fixture-table .btn-jugar-match,
  .fixture-table .btn-jugar-copa {
    width: 100%;
    min-height: 42px;
    border-radius: 10px;
  }
}

@media (max-width: 480px) {
  .fixture-table tr {
    padding: 10px;
    border-radius: 12px;
  }

  .fixture-team-cell span {
    font-size: .9rem;
  }

  .fixture-table td:nth-child(2) {
    font-size: 1rem;
    padding: 9px 10px !important;
  }
}

/* Menú Usuario: panel flotante real en móvil */
#menu-juego .usuario-tab.fdf-user-menu-open .submenu,
.submenu.fdf-user-submenu-floating {
  display: block !important;
}

@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  #menu-juego,
  #menu-juego ul,
  #menu-juego .tab,
  #menu-juego .usuario-tab {
    overflow: visible !important;
  }

  .submenu.fdf-user-submenu-floating {
    position: fixed !important;
    top: max(54px, calc(env(safe-area-inset-top) + 8px)) !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    min-width: min(240px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 68px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 2147483647 !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.28) !important;
    background: #fff !important;
    isolation: isolate;
    pointer-events: auto !important;
  }

  .submenu.fdf-user-submenu-floating li {
    white-space: normal;
  }
}


/* ===================================================================
   AJUSTE RESPONSIVE QUIRÚRGICO – MENÚ PRINCIPAL + POSICIONES EN MÓVIL
   Alcance: solo corrige visualización en móviles (vertical y horizontal)
   sin tocar lógica del juego.
   ================================================================== */

@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  /* ===== MENÚ PRINCIPAL ===== */
  #menu-juego {
    overflow: visible !important;
  }

  #menu-juego ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 10px 0 12px !important;
    align-items: stretch;
  }

  #menu-juego .tab {
    min-width: 0 !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    font-weight: 700;
    padding: 10px 8px !important;
    border: 1px solid #d8e0ea;
    border-radius: 10px;
    background: #fff;
    box-sizing: border-box;
  }

  #menu-juego .tab.active {
    border-bottom-width: 2px !important;
    box-shadow: inset 0 -2px 0 #007b5e;
  }

  #menu-juego .usuario-tab {
    width: 100% !important;
  }

  /* ===== SUBPESTAÑAS DE POSICIONES ===== */
  #content-posiciones .subtabs,
  #content-posiciones .subtabs-posiciones {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    border-bottom: 0 !important;
    overflow: visible !important;
  }

  #content-posiciones .subtab,
  #content-posiciones .subtabs-posiciones .subtab {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box;
  }

  #content-posiciones .subtab.active,
  #content-posiciones .subtabs-posiciones .subtab.active {
    background: #007b5e !important;
    color: #fff !important;
    border-color: #007b5e !important;
  }

  /* ===== CONTENIDO POSICIONES SIN SCROLL HORIZONTAL ===== */
  #content-posiciones {
    overflow-x: visible !important;
  }

  #content-posiciones .tabla-posiciones {
    overflow: visible !important;
  }

  #content-posiciones .tabla-posiciones h3 {
    margin: 0 0 12px !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    text-align: center;
  }

  /* Más específico que los estilos inyectados por JS */
  #content-posiciones .tabla-posiciones table {
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    table-layout: fixed !important;
    display: block !important;
    margin: 0 !important;
  }

  #content-posiciones .tabla-posiciones thead {
    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;
  }

  #content-posiciones .tabla-posiciones tbody {
    display: block !important;
  }

  #content-posiciones .tabla-posiciones tr {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  #content-posiciones .tabla-posiciones td {
    display: grid !important;
    grid-template-columns: minmax(76px, 88px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 7px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  #content-posiciones .tabla-posiciones td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  #content-posiciones .tabla-posiciones td::before {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #475569;
  }

  #content-posiciones .tabla-posiciones td:nth-child(1)::before { content: 'Pos'; }
  #content-posiciones .tabla-posiciones td:nth-child(2)::before { content: 'Escudo'; }
  #content-posiciones .tabla-posiciones td:nth-child(3)::before { content: 'Equipo'; }
  #content-posiciones .tabla-posiciones td:nth-child(4)::before { content: 'PJ'; }
  #content-posiciones .tabla-posiciones td:nth-child(5)::before { content: 'G'; }
  #content-posiciones .tabla-posiciones td:nth-child(6)::before { content: 'E'; }
  #content-posiciones .tabla-posiciones td:nth-child(7)::before { content: 'P'; }
  #content-posiciones .tabla-posiciones td:nth-child(8)::before { content: 'GF'; }
  #content-posiciones .tabla-posiciones td:nth-child(9)::before { content: 'GC'; }
  #content-posiciones .tabla-posiciones td:nth-child(10)::before { content: 'DG'; }
  #content-posiciones .tabla-posiciones td:nth-child(11)::before { content: 'Pts'; }

  #content-posiciones .tabla-posiciones td:nth-child(1),
  #content-posiciones .tabla-posiciones td:nth-child(4),
  #content-posiciones .tabla-posiciones td:nth-child(5),
  #content-posiciones .tabla-posiciones td:nth-child(6),
  #content-posiciones .tabla-posiciones td:nth-child(7),
  #content-posiciones .tabla-posiciones td:nth-child(8),
  #content-posiciones .tabla-posiciones td:nth-child(9),
  #content-posiciones .tabla-posiciones td:nth-child(10),
  #content-posiciones .tabla-posiciones td:nth-child(11) {
    font-weight: 700;
  }

  #content-posiciones .tabla-posiciones td:nth-child(2) img {
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }

  #content-posiciones .tabla-posiciones td:nth-child(3) {
    align-items: start !important;
  }

  #content-posiciones .tabla-posiciones td:nth-child(3) strong {
    overflow-wrap: anywhere;
    line-height: 1.25;
  }

  #content-posiciones .leyenda-posiciones {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  #content-posiciones .leyenda-posiciones .leyenda {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin: 0;
  }
}

@media (max-width: 480px) {
  #menu-juego ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #menu-juego .tab {
    font-size: 12px !important;
    padding: 9px 6px !important;
  }

  #content-posiciones .subtabs,
  #content-posiciones .subtabs-posiciones {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #content-posiciones .subtab,
  #content-posiciones .subtabs-posiciones .subtab {
    font-size: 11px !important;
    padding: 9px 6px !important;
  }

  #content-posiciones .tabla-posiciones tr {
    padding: 9px !important;
    border-radius: 12px !important;
  }

  #content-posiciones .tabla-posiciones td {
    grid-template-columns: minmax(68px, 78px) minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
  }

  #content-posiciones .tabla-posiciones td::before {
    font-size: 10px;
  }
}


/* ===================================================================
   FIX FINAL MÓVIL – POSICIONES + MENÚ USUARIO
   Este bloque queda al final para pisar overrides anteriores.
   ================================================================== */

/* Base: el submenu debe permanecer oculto hasta abrirse */
#menu-juego .usuario-tab .submenu,
.submenu.fdf-user-submenu-floating {
  display: none !important;
}

#menu-juego .usuario-tab.fdf-user-menu-open > .submenu,
body.fdf-mobile-user-menu-open .submenu.fdf-user-submenu-floating {
  display: block !important;
}

@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  /* Fallback: si alguna tabla vieja vuelve a renderizar sin thead/tbody, ocultar la fila header horizontal */
  #content-posiciones .tabla-posiciones > table > tr:first-child,
  #content-posiciones .tabla-posiciones table > tr:first-child:has(th) {
    display: none !important;
  }

  #content-posiciones,
  #content-posiciones .tabla-posiciones,
  #content-posiciones .tabla-posiciones table {
    overflow-x: visible !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  #content-posiciones .tabla-posiciones table > thead {
    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;
  }

  #content-posiciones .division-tabs-anual {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  #content-posiciones .division-tab-anual {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
    font-size: 12px !important;
  }

  .submenu.fdf-user-submenu-floating {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 70px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 2147483647 !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.28) !important;
    pointer-events: auto !important;
  }

  .submenu.fdf-user-submenu-floating li,
  #menu-juego .usuario-tab .submenu li {
    white-space: normal !important;
  }
}


/* ===================================================================
   FDF MOBILE UI PATCH v2026-04-12
   Corrige: menú Usuario + Posiciones + Globales + Historial en móvil
   ================================================================== */
@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  /* ===== Usuario: oculto hasta abrir, visible y clickeable al abrir ===== */
  #menu-juego .usuario-tab .submenu,
  .submenu.fdf-user-submenu-floating {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #menu-juego .usuario-tab.fdf-user-menu-open > .submenu,
  body.fdf-mobile-user-menu-open .submenu.fdf-user-submenu-floating {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #menu-juego .usuario-tab {
    position: relative !important;
  }

  #menu-juego .usuario-tab > .submenu,
  .submenu.fdf-user-submenu-floating {
    list-style: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.22) !important;
    z-index: 2147483647 !important;
  }

  #menu-juego .usuario-tab > .submenu li,
  .submenu.fdf-user-submenu-floating li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
    cursor: pointer !important;
  }

  #menu-juego .usuario-tab > .submenu li + li,
  .submenu.fdf-user-submenu-floating li + li {
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
  }

  /* ===== Posiciones: tabla compacta real, una fila por equipo ===== */
  #content-posiciones,
  #content-posiciones .tabla-posiciones,
  #content-posiciones .tabla-posiciones table,
  #posiciones-globales .tabla-posiciones,
  #posiciones-historial .posiciones-table {
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #content-posiciones .tabla-posiciones {
    border: 1px solid #d8e0ea !important;
    border-radius: 14px !important;
    background: #fff !important;
    padding: 8px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
  }

  #content-posiciones .tabla-posiciones h3 {
    margin: 0 0 10px !important;
    text-align: center !important;
    font-size: 0.98rem !important;
    line-height: 1.25 !important;
  }

  #content-posiciones .tabla-posiciones > table,
  #posiciones-globales .tabla-posiciones {
    display: table !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
  }

  #content-posiciones .tabla-posiciones > table thead,
  #content-posiciones .tabla-posiciones > table tbody,
  #posiciones-globales .tabla-posiciones thead,
  #posiciones-globales .tabla-posiciones tbody {
    display: table-row-group !important;
  }

  #content-posiciones .tabla-posiciones > table thead tr,
  #content-posiciones .tabla-posiciones > table tbody tr {
    display: grid !important;
    grid-template-columns: 22px 28px minmax(74px, 1fr) repeat(8, minmax(18px, 24px)) !important;
    align-items: center !important;
    column-gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #content-posiciones .tabla-posiciones > table thead tr {
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
    margin-bottom: 2px !important;
  }

  #content-posiciones .tabla-posiciones > table tbody tr {
    padding: 6px 6px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
  }

  #content-posiciones .tabla-posiciones > table th,
  #content-posiciones .tabla-posiciones > table td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: center !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #content-posiciones .tabla-posiciones > table th {
    font-size: 9.5px !important;
    font-weight: 800 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
  }

  #content-posiciones .tabla-posiciones > table th:nth-child(3),
  #content-posiciones .tabla-posiciones > table td:nth-child(3) {
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
  }

  #content-posiciones .tabla-posiciones > table td:nth-child(2) img,
  #content-posiciones .tabla-posiciones > table td:nth-child(2) .escudo-estandar {
    width: 20px !important;
    height: 20px !important;
    display: inline-block !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* ===== Globales: tabla compacta real ===== */
  #posiciones-globales {
    overflow: visible !important;
  }

  #posiciones-globales > div {
    padding: 0 !important;
  }

  #posiciones-globales .tabla-posiciones thead tr,
  #posiciones-globales .tabla-posiciones tbody tr {
    display: grid !important;
    grid-template-columns: 22px minmax(70px, 1.1fr) minmax(68px, 1fr) 34px 22px 22px 24px 24px 38px !important;
    align-items: center !important;
    column-gap: 4px !important;
    width: 100% !important;
  }

  #posiciones-globales .tabla-posiciones thead tr {
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
  }

  #posiciones-globales .tabla-posiciones tbody tr {
    padding: 6px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
  }

  #posiciones-globales .tabla-posiciones th,
  #posiciones-globales .tabla-posiciones td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: center !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #posiciones-globales .tabla-posiciones th {
    font-size: 9.5px !important;
    font-weight: 800 !important;
    color: #475569 !important;
  }

  #posiciones-globales .tabla-posiciones td:nth-child(2),
  #posiciones-globales .tabla-posiciones td:nth-child(3) {
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.1 !important;
  }

  #posiciones-globales .tabla-posiciones td:nth-child(3) img {
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  /* ===== Historial: sin scroll horizontal ===== */
  #posiciones-historial {
    overflow: visible !important;
  }

  #posiciones-historial .posiciones-table {
    display: block !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  #posiciones-historial .posiciones-table thead {
    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;
  }

  #posiciones-historial .posiciones-table tbody {
    display: block !important;
  }

  #posiciones-historial .posiciones-table tr {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
  }

  #posiciones-historial .posiciones-table td {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    text-align: left !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  #posiciones-historial .posiciones-table td:last-child {
    border-bottom: 0 !important;
  }

  #posiciones-historial .posiciones-table td::before {
    font-size: 10.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #475569 !important;
  }

  #posiciones-historial .posiciones-table td:nth-child(1)::before { content: 'Año'; }
  #posiciones-historial .posiciones-table td:nth-child(2)::before { content: 'Apertura'; }
  #posiciones-historial .posiciones-table td:nth-child(3)::before { content: 'Clausura'; }
  #posiciones-historial .posiciones-table td:nth-child(4)::before { content: 'Líder Anual'; }
  #posiciones-historial .posiciones-table td:nth-child(5)::before { content: 'Campeón'; }
  #posiciones-historial .posiciones-table td:nth-child(6)::before { content: 'Goleador'; }
}


/* ===================================================================
   FDF MOBILE UI PATCH v2026-04-12 – refinamiento
   Restaura encabezados reales y neutraliza pseudo-labels viejos.
   ================================================================== */
@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  #content-posiciones .tabla-posiciones > table thead,
  #posiciones-globales .tabla-posiciones thead {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    display: table-header-group !important;
  }

  #content-posiciones .tabla-posiciones > table tbody,
  #posiciones-globales .tabla-posiciones tbody {
    display: table-row-group !important;
  }

  #content-posiciones .tabla-posiciones > table td::before,
  #posiciones-globales .tabla-posiciones td::before {
    content: none !important;
    display: none !important;
  }

  #posiciones-globales div[style*="overflow:auto"] {
    overflow: visible !important;
  }
}


/* ===================================================================
   FIX DEFINITIVO – SUBMENÚ USUARIO (desktop + móvil)
   Objetivo: mantener el submenú oculto hasta abrirlo, visible al abrirlo,
   clickeable, y sin quedar cortado en móvil vertical u horizontal.
   ================================================================== */

/* Estado base consistente */
#menu-juego .usuario-tab {
  position: relative !important;
  overflow: visible !important;
}

#menu-juego .usuario-tab > .submenu {
  list-style: none !important;
  margin: 0 !important;
}

/* Desktop: hover/focus/click */
@media (min-width: 769px) {
  #menu-juego,
  #menu-juego ul,
  #menu-juego .tab,
  #menu-juego .usuario-tab {
    overflow: visible !important;
  }

  #menu-juego .usuario-tab > .submenu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    min-width: 214px !important;
    max-width: min(320px, calc(100vw - 24px)) !important;
    padding: 6px 0 !important;
    background: #fff !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.16) !important;
    z-index: 2147483647 !important;
  }

  #menu-juego .usuario-tab:hover > .submenu,
  #menu-juego .usuario-tab:focus-within > .submenu,
  #menu-juego .usuario-tab.fdf-user-menu-open > .submenu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #menu-juego .usuario-tab > .submenu li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    white-space: nowrap !important;
  }
}

/* Móvil: panel flotante real */
@media (max-width: 768px), (max-width: 960px) and (orientation: landscape) {
  #menu-juego,
  #menu-juego ul,
  #menu-juego .tab,
  #menu-juego .usuario-tab {
    overflow: visible !important;
  }

  #menu-juego .usuario-tab > .submenu,
  .submenu.fdf-user-submenu-floating {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #menu-juego .usuario-tab.fdf-user-menu-open > .submenu,
  body.fdf-mobile-user-menu-open .submenu.fdf-user-submenu-floating {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .submenu.fdf-user-submenu-floating {
    position: fixed !important;
    top: var(--fdf-user-submenu-top, max(54px, calc(env(safe-area-inset-top) + 8px))) !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - var(--fdf-user-submenu-top, 56px) - 12px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: #fff !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.28) !important;
    z-index: 2147483647 !important;
    isolation: isolate !important;
    overscroll-behavior: contain !important;
  }

  .submenu.fdf-user-submenu-floating li,
  #menu-juego .usuario-tab > .submenu li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
    cursor: pointer !important;
  }

  .submenu.fdf-user-submenu-floating li + li,
  #menu-juego .usuario-tab > .submenu li + li {
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
  }
}

/* FDF Manager - blindaje de escudos en Próximo Rival */
#enhanced-footer-container .team-escudo,
.enhanced-footer-match .team-escudo,
#footer-rival .team-escudo {
  object-fit: contain !important;
  background: #ffffff !important;
}

#enhanced-footer-container .team-escudo.fdf-escudo-fallback,
.enhanced-footer-match .team-escudo.fdf-escudo-fallback,
#footer-rival .team-escudo.fdf-escudo-fallback {
  padding: 3px !important;
  border-color: rgba(15, 23, 42, 0.18) !important;
}

/* FDF Manager - refuerzo legacy Próximo Rival */
#footer-rival #vs-footer img,
#footer-rival img#club-actual-escudo-footer,
#footer-rival img#rival-escudo-footer {
  width: 50px !important;
  height: 50px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.15) !important;
}

/* ===================================================================
   FDF MATCH EXPERIENCE PACK V1 - CSS
   Capa audiovisual conservadora para el motor de partido.
   ================================================================== */
.fdf-experience-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(59,130,246,.18), transparent 32%),
    linear-gradient(180deg, #081526 0%, #111827 100%) !important;
  color: #f8fafc !important;
  border: 1px solid rgba(96,165,250,.26) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
}

.fdf-experience-card .fdf-card-title,
.fdf-experience-card .fdf-card-subtitle,
.fdf-experience-card .fdf-card-label { color: inherit !important; }
.fdf-experience-card .fdf-card-subtitle { color: rgba(226,232,240,.72) !important; }
.fdf-experience-card .fdf-card-pill {
  background: rgba(34,197,94,.18) !important;
  color: #bbf7d0 !important;
  border: 1px solid rgba(34,197,94,.30) !important;
}

.fdf-xg-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 14px 0 12px;
}
.fdf-xg-row > div:not(.fdf-xg-mid) {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(15,23,42,.72);
  border: 1px solid rgba(148,163,184,.18);
}
.fdf-xg-row > div:last-child { text-align: right; }
.fdf-xg-label { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(203,213,225,.70); font-weight: 900; }
.fdf-xg-row strong { font-size: 22px; line-height: 1; color: #fff; }
.fdf-xg-mid {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #03130a;
  font-weight: 1000;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(34,197,94,.22);
}

.fdf-momentum-wrap { margin: 10px 0 12px; }
.fdf-momentum-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: rgba(226,232,240,.82);
  margin-bottom: 6px;
}
.fdf-momentum-meta strong { color: #fff; letter-spacing: .04em; }
.fdf-momentum-track {
  height: 12px;
  overflow: hidden;
  display: flex;
  border-radius: 999px;
  background: rgba(148,163,184,.20);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 3px rgba(0,0,0,.35);
}
.fdf-momentum-home,
.fdf-momentum-away {
  height: 100%;
  transition: width .45s cubic-bezier(.22,.61,.36,1);
}
.fdf-momentum-home { background: linear-gradient(90deg, #2563eb, #60a5fa); }
.fdf-momentum-away { background: linear-gradient(90deg, #ef4444, #fb7185); }

.fdf-danger-row {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 12px;
}
.fdf-danger-badge,
.fdf-active-instruction {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.12);
}
.fdf-danger-badge.level-low { background: rgba(34,197,94,.18); color: #bbf7d0; }
.fdf-danger-badge.level-mid { background: rgba(234,179,8,.20); color: #fef3c7; }
.fdf-danger-badge.level-high { background: rgba(249,115,22,.25); color: #ffedd5; }
.fdf-danger-badge.level-extreme { background: rgba(239,68,68,.30); color: #fee2e2; animation: fdfExpPulseBadge .9s ease-in-out infinite; }
.fdf-active-instruction { background: rgba(15,23,42,.58); color: #e0f2fe; max-width: 58%; justify-content: center; text-align: center; }

.fdf-dt-quick-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.fdf-dt-quick-actions button {
  border: 1px solid rgba(148,163,184,.22);
  background: rgba(15,23,42,.70);
  color: #f8fafc;
  border-radius: 12px;
  min-height: 38px;
  padding: 7px 8px;
  font-weight: 850;
  font-size: 12px;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fdf-dt-quick-actions button:hover {
  transform: translateY(-1px);
  background: rgba(37,99,235,.28);
  border-color: rgba(96,165,250,.55);
  box-shadow: 0 8px 18px rgba(37,99,235,.16);
}
.fdf-dt-quick-actions button:active { transform: translateY(0) scale(.99); }

.fdf-ai-insight {
  margin-top: 11px;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 12px;
  line-height: 1.35;
  color: #dbeafe;
  background: linear-gradient(135deg, rgba(29,78,216,.18), rgba(15,23,42,.70));
  border: 1px solid rgba(96,165,250,.18);
}

.fdf-experience-overlay {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  overflow: hidden;
}
.fdf-exp-scorebug {
  position: absolute;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(4,10,24,.78);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .04em;
}
.fdf-exp-scorebug strong {
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 15px;
  line-height: 1;
}
.fdf-exp-director-chip {
  position: absolute;
  left: 14px;
  bottom: 14px;
  max-width: 55%;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(4,10,24,.72);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(248,250,252,.92);
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(0,0,0,.24);
  backdrop-filter: blur(8px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fdf-exp-pressure-meter {
  position: absolute;
  right: 14px;
  bottom: 18px;
  width: min(28%, 180px);
  height: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.35);
}
.fdf-exp-pressure-meter span {
  display: block;
  height: 100%;
  width: 20%;
  border-radius: inherit;
  background: linear-gradient(90deg, #22c55e, #eab308, #ef4444);
  transition: width .45s cubic-bezier(.22,.61,.36,1);
}
.fdf-exp-crowd-rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 7px;
  display: flex;
  opacity: .56;
}
.fdf-exp-crowd-rail i {
  flex: 1;
  display: block;
  background: linear-gradient(90deg, rgba(59,130,246,.65), rgba(239,68,68,.60));
  transform-origin: center;
  animation: fdfExpCrowd 1.8s ease-in-out infinite;
}
.fdf-exp-crowd-rail i:nth-child(2n) { animation-delay: .22s; opacity: .68; }
.fdf-exp-crowd-rail i:nth-child(3n) { animation-delay: .46s; opacity: .52; }

.fdf-exp-event-ribbon {
  position: absolute;
  left: 50%;
  top: 18%;
  z-index: 20;
  transform: translate(-50%, -50%);
  min-width: min(72%, 360px);
  max-width: 78%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
  padding: 12px 18px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, rgba(15,23,42,.94), rgba(30,41,59,.92));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 22px 44px rgba(0,0,0,.32);
  animation: fdfExpRibbon 2.35s cubic-bezier(.22,.61,.36,1) forwards;
  pointer-events: none;
}
.fdf-exp-event-ribbon strong {
  font-size: clamp(18px, 3vw, 34px);
  line-height: 1;
  letter-spacing: .08em;
  font-weight: 1000;
  text-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.fdf-exp-event-ribbon span {
  max-width: 100%;
  font-size: 12px;
  font-weight: 800;
  opacity: .92;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fdf-exp-event-ribbon.is-goal { background: linear-gradient(135deg, rgba(5,150,105,.98), rgba(22,163,74,.96)); }
.fdf-exp-event-ribbon.is-chance,
.fdf-exp-event-ribbon.is-save { background: linear-gradient(135deg, rgba(2,132,199,.98), rgba(14,165,233,.94)); }
.fdf-exp-event-ribbon.is-red-card { background: linear-gradient(135deg, rgba(153,27,27,.98), rgba(220,38,38,.96)); }
.fdf-exp-event-ribbon.is-injury { background: linear-gradient(135deg, rgba(202,138,4,.98), rgba(234,179,8,.96)); color: #111827; }
.fdf-exp-event-ribbon.is-penalty-call { background: linear-gradient(135deg, rgba(29,78,216,.98), rgba(37,99,235,.96)); }
.fdf-exp-event-ribbon.is-tactic,
.fdf-exp-event-ribbon.is-tactical-change { background: linear-gradient(135deg, rgba(88,28,135,.98), rgba(124,58,237,.94)); }

.cancha-futbol.fdf-exp-camera-pulse {
  animation: fdfExpCameraPulse 1.05s ease;
}
.cancha-futbol.fdf-exp-side-home { box-shadow: 0 0 0 4px rgba(37,99,235,.25), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(37,99,235,.08) !important; }
.cancha-futbol.fdf-exp-side-away { box-shadow: 0 0 0 4px rgba(239,68,68,.23), 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 999px rgba(239,68,68,.08) !important; }

.modal-match.fdf-exp-cup .banner-marcador,
.modal-match.fdf-exp-final .banner-marcador,
.modal-match.fdf-exp-clasico .banner-marcador {
  background: radial-gradient(circle at 50% 0%, rgba(250,204,21,.22), transparent 38%), linear-gradient(135deg, #020617 0%, #172554 100%) !important;
}
.modal-match.fdf-exp-final .cancha-wrapper,
.modal-match.fdf-exp-clasico .cancha-wrapper {
  box-shadow: inset 0 0 80px rgba(250,204,21,.10);
}
.modal-match.fdf-exp-final .fdf-exp-scorebug::before,
.modal-match.fdf-exp-clasico .fdf-exp-scorebug::before {
  content: '★';
  color: #fde68a;
  text-shadow: 0 0 12px rgba(250,204,21,.45);
}

.fdf-exp-summary-block {
  margin: 0 0 24px;
  padding: 18px;
  border-radius: 18px;
  background: radial-gradient(circle at 10% 0%, rgba(37,99,235,.10), transparent 35%), #0f172a;
  color: #f8fafc;
  box-shadow: 0 18px 42px rgba(2,6,23,.20);
  text-align: left;
}
.fdf-exp-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.fdf-exp-summary-head h3 { margin: 0 0 2px; color: #fff; font-size: 20px; }
.fdf-exp-summary-head p { margin: 0; color: rgba(226,232,240,.70); font-size: 12px; }
.fdf-exp-summary-head > span {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(34,197,94,.16);
  color: #bbf7d0;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.fdf-exp-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.fdf-exp-summary-grid > div {
  padding: 12px;
  border-radius: 14px;
  background: rgba(15,23,42,.76);
  border: 1px solid rgba(148,163,184,.14);
}
.fdf-exp-summary-grid small { display:block; font-size:10px; color:rgba(203,213,225,.7); text-transform:uppercase; font-weight:900; letter-spacing:.07em; }
.fdf-exp-summary-grid strong { display:block; margin-top:4px; color:#fff; font-size:18px; }
.fdf-exp-summary-momentum {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  margin: 10px 0 16px;
  font-size: 11px;
  font-weight: 900;
  color: #cbd5e1;
}
.fdf-exp-summary-momentum div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(239,68,68,.72);
}
.fdf-exp-summary-momentum i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #2563eb, #60a5fa);
  border-radius: inherit;
}
.fdf-exp-summary-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.fdf-exp-summary-columns h4,
.fdf-exp-summary-instructions h4 { color:#e0f2fe; margin:0 0 9px; font-size:14px; }
.fdf-exp-highlight-row,
.fdf-exp-rating-row {
  display: grid;
  grid-template-columns: 36px 24px 1fr;
  align-items: center;
  gap: 7px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(148,163,184,.16);
}
.fdf-exp-highlight-row b,
.fdf-exp-rating-row b { color:#93c5fd; font-size:12px; }
.fdf-exp-highlight-row p,
.fdf-exp-rating-row p { margin:0; color:#f8fafc; font-size:12px; line-height:1.25; }
.fdf-exp-rating-row { grid-template-columns: 42px 1fr; }
.fdf-exp-rating-row b {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a); color:#04130a;
  font-size:13px;
}
.fdf-exp-rating-row small { display:block; color:rgba(203,213,225,.70); margin-top:2px; }
.fdf-exp-summary-instructions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fdf-exp-summary-instructions h4 { flex-basis: 100%; }
.fdf-exp-summary-instructions span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(37,99,235,.18);
  color: #dbeafe;
  font-size: 11px;
  font-weight: 800;
}
.fdf-exp-muted { color: rgba(203,213,225,.68); font-style: italic; font-size: 12px; margin: 0; }

@keyframes fdfExpPulseBadge {
  0%,100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.035); filter: brightness(1.14); }
}
@keyframes fdfExpCrowd {
  0%,100% { transform: scaleY(.65); }
  50% { transform: scaleY(1.2); }
}
@keyframes fdfExpRibbon {
  0% { opacity: 0; transform: translate(-50%, -72%) scale(.92); }
  12% { opacity: 1; transform: translate(-50%, -50%) scale(1.04); }
  78% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -36%) scale(.98); }
}
@keyframes fdfExpCameraPulse {
  0% { transform: scale(1); filter: saturate(1); }
  35% { transform: scale(1.018); filter: saturate(1.18) contrast(1.05); }
  100% { transform: scale(1); filter: saturate(1); }
}

@media (max-width: 900px) {
  .fdf-dt-quick-actions { grid-template-columns: 1fr; }
  .fdf-danger-row { flex-direction: column; align-items: stretch; }
  .fdf-active-instruction { max-width: 100%; }
  .fdf-exp-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fdf-exp-summary-columns { grid-template-columns: 1fr; }
  .fdf-exp-director-chip { max-width: 70%; font-size: 10px; }
  .fdf-exp-pressure-meter { width: 34%; }
}

@media (max-width: 520px) {
  .fdf-xg-row { grid-template-columns: 1fr; }
  .fdf-xg-mid { width: auto; height: 30px; border-radius: 999px; }
  .fdf-exp-summary-grid { grid-template-columns: 1fr; }
  .fdf-exp-scorebug { top: 8px; gap: 5px; padding: 6px 8px; font-size: 9px; }
  .fdf-exp-scorebug strong { font-size: 12px; padding: 3px 6px; }
  .fdf-exp-event-ribbon { min-width: 84%; top: 24%; }
  .fdf-exp-event-ribbon span { white-space: normal; }
  .fdf-exp-director-chip { left: 8px; bottom: 8px; max-width: 84%; }
  .fdf-exp-pressure-meter { right: 8px; bottom: 40px; width: 42%; }
}


/* ===================================================================
   FDF MATCH EXPERIENCE PACK V1.1
   Corrección visual: evita doble círculo central. La imagen de cancha ya
   trae el círculo real, por eso se desactiva el pseudo-elemento ovalado.
   =================================================================== */
.cancha-futbol::after {
  display: none !important;
  content: none !important;
}

/* ===================================================================
   FDF MATCH CINEMATIC ENGINE V2 - CSS
   Look 3D/Football Manager + jugadas con trayectorias, marca y pelota quieta.
   ================================================================== */
.cancha-futbol {
  perspective: 940px;
  transform-style: preserve-3d;
}

.fdf-v2-cinematic-layer {
  position: absolute;
  inset: 0;
  z-index: 9;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
  contain: layout style paint;
}

.fdf-v2-cinematic-layer::before {
  content: '';
  position: absolute;
  inset: 4% 3%;
  border-radius: 24px;
  background:
    radial-gradient(circle at var(--fdf-v2-hot-x, 50%) var(--fdf-v2-hot-y, 50%), rgba(255,255,255,.13), transparent 22%),
    linear-gradient(90deg, transparent 0 48%, rgba(255,255,255,.08) 49% 51%, transparent 52% 100%);
  opacity: 0;
  transform: translateZ(0);
  transition: opacity .28s ease;
}

.cancha-futbol.fdf-v2-cinematic-active .fdf-v2-cinematic-layer::before {
  opacity: .72;
}

.fdf-v2-lane-flow {
  position: absolute;
  inset: 0;
  opacity: .16;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent),
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(255,255,255,.06) 35px 36px);
  transform: translateX(-30%);
  filter: blur(.2px);
}

.cancha-futbol[data-fdf-v2-possession="home"] .fdf-v2-lane-flow {
  animation: fdfV2LaneHome 1.6s linear infinite;
}
.cancha-futbol[data-fdf-v2-possession="away"] .fdf-v2-lane-flow {
  animation: fdfV2LaneAway 1.6s linear infinite;
}

@keyframes fdfV2LaneHome { from { transform: translateX(-35%); } to { transform: translateX(35%); } }
@keyframes fdfV2LaneAway { from { transform: translateX(35%); } to { transform: translateX(-35%); } }

.fdf-match-player-node.fdf-v2-player {
  transform: translate(-50%, -50%) translate3d(var(--fdf-run-x, 0px), var(--fdf-run-y, 0px), 0) scale(var(--fdf-v2-scale, 1));
  transform-style: preserve-3d;
  transition:
    left .52s cubic-bezier(.22,.61,.36,1),
    top .52s cubic-bezier(.22,.61,.36,1),
    transform .42s cubic-bezier(.22,.61,.36,1),
    filter .28s ease,
    opacity .28s ease;
  will-change: left, top, transform;
}

.fdf-match-player-node.fdf-v2-player.is-ball-carrier {
  transform: translate(-50%, -54%) translate3d(var(--fdf-run-x, 0px), var(--fdf-run-y, 0px), 0) scale(calc(var(--fdf-v2-scale, 1) + .08));
  z-index: 12;
}

.fdf-match-player-node.fdf-v2-player .fdf-match-player-chip {
  transform-style: preserve-3d;
}

.fdf-v2-player-shadow {
  position: absolute;
  left: 50%;
  top: 61px;
  width: 45px;
  height: 14px;
  border-radius: 50%;
  transform: translateX(-50%) rotateX(62deg) translateZ(-2px);
  background: radial-gradient(ellipse at center, rgba(0,0,0,.42), rgba(0,0,0,.02) 70%);
  filter: blur(.6px);
  z-index: -3;
  opacity: .9;
}

.fdf-v2-player-body {
  position: absolute;
  left: 50%;
  top: 47px;
  width: 30px;
  height: 33px;
  border-radius: 11px 11px 16px 16px;
  transform: translateX(-50%) rotateX(12deg);
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 35%),
    linear-gradient(135deg, #2563eb, #0f3f9b);
  border: 1px solid rgba(255,255,255,.42);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.25), 0 9px 16px rgba(0,0,0,.32);
  z-index: -1;
}

.fdf-match-player-node.is-away .fdf-v2-player-body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 35%),
    linear-gradient(135deg, #ef4444, #991b1b);
}

.fdf-match-player-node.is-user-team .fdf-v2-player-body {
  box-shadow: inset 0 2px 0 rgba(255,255,255,.25), 0 9px 16px rgba(0,0,0,.32), 0 0 0 2px rgba(34,197,94,.18);
}

.fdf-v2-direction-cone {
  position: absolute;
  left: 50%;
  top: 68px;
  width: 26px;
  height: 30px;
  transform: translateX(-50%) rotateX(70deg);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  background: linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0));
  opacity: 0;
  z-index: -4;
  transition: opacity .28s ease;
}

.fdf-match-player-node.fdf-v2-player.is-v2-sprinting .fdf-v2-direction-cone,
.fdf-match-player-node.fdf-v2-player.is-ball-carrier .fdf-v2-direction-cone {
  opacity: .55;
  animation: fdfV2ConePulse .78s ease-in-out infinite;
}

.fdf-v2-role-tag {
  position: absolute;
  right: 5px;
  top: 43px;
  min-width: 20px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: 1000;
  color: rgba(255,255,255,.9);
  background: rgba(2,6,23,.66);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 4px 10px rgba(0,0,0,.24);
}

.fdf-match-player-node.fdf-v2-player.is-v2-attacking .fdf-match-player-photo {
  filter: saturate(1.12) brightness(1.06);
}
.fdf-match-player-node.fdf-v2-player.is-v2-defending .fdf-match-player-photo {
  filter: saturate(.92) brightness(.98);
}
.fdf-match-player-node.fdf-v2-player.is-v2-marking .fdf-match-player-photo {
  box-shadow: 0 8px 18px rgba(0,0,0,.28), 0 0 0 5px rgba(250,204,21,.22);
}
.fdf-match-player-node.fdf-v2-player.is-v2-box-run .fdf-match-player-photo {
  animation: fdfV2BoxRun .68s ease-in-out infinite;
}

@keyframes fdfV2ConePulse {
  0%,100% { opacity: .30; transform: translateX(-50%) rotateX(70deg) scaleY(.82); }
  50% { opacity: .72; transform: translateX(-50%) rotateX(70deg) scaleY(1.08); }
}

@keyframes fdfV2BoxRun {
  0%,100% { transform: translateX(-50%) translateY(0) scale(1); }
  50% { transform: translateX(-50%) translateY(-2px) scale(1.045); }
}

.fdf-v2-goal-target,
.fdf-v2-impact,
.fdf-v2-trajectory,
.fdf-v2-curve-ghost,
.fdf-v2-wall,
.fdf-v2-penalty-setup,
.fdf-v2-duel-zone,
.fdf-v2-scene-caption {
  position: absolute;
  pointer-events: none;
}

.fdf-v2-goal-target {
  width: 58px;
  height: 58px;
  margin-left: -29px;
  margin-top: -29px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.85);
  box-shadow: 0 0 0 8px rgba(255,255,255,.10), 0 0 34px rgba(255,255,255,.26);
  opacity: 0;
  transform: scale(.74);
}

.cancha-futbol.fdf-v2-cinematic-active .fdf-v2-goal-target {
  opacity: .86;
  animation: fdfV2TargetPulse .78s ease-in-out infinite;
}

@keyframes fdfV2TargetPulse {
  0%,100% { transform: scale(.76); opacity: .62; }
  50% { transform: scale(1.04); opacity: 1; }
}

.fdf-v2-trajectory {
  height: 5px;
  border-radius: 999px;
  transform-origin: 0 50%;
  opacity: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.95), rgba(34,197,94,.88));
  box-shadow: 0 0 14px rgba(255,255,255,.45), 0 0 24px rgba(34,197,94,.22);
}

.cancha-futbol.fdf-v2-cinematic-active .fdf-v2-trajectory {
  opacity: .95;
  animation: fdfV2Trajectory 1.15s ease-out both;
}

@keyframes fdfV2Trajectory {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; }
  18% { opacity: .95; }
  100% { clip-path: inset(0 0 0 0); opacity: .12; }
}

.fdf-v2-curve-ghost {
  width: var(--fdf-v2-curve-width, 32%);
  height: 42px;
  margin-left: calc(var(--fdf-v2-curve-width, 32%) / -2);
  margin-top: -20px;
  border-top: 2px dashed rgba(255,255,255,.58);
  border-radius: 50%;
  transform: rotate(var(--fdf-v2-curve-rot, 0deg));
  opacity: 0;
}

.cancha-futbol.fdf-v2-scene-freekick .fdf-v2-curve-ghost,
.cancha-futbol.fdf-v2-scene-corner .fdf-v2-curve-ghost {
  opacity: .88;
  animation: fdfV2CurveFade 1.4s ease-out both;
}

@keyframes fdfV2CurveFade {
  from { opacity: 0; transform: rotate(var(--fdf-v2-curve-rot, 0deg)) scale(.72); }
  to { opacity: .75; transform: rotate(var(--fdf-v2-curve-rot, 0deg)) scale(1); }
}

.fdf-v2-impact {
  width: 34px;
  height: 34px;
  margin-left: -17px;
  margin-top: -17px;
  border-radius: 50%;
  opacity: 0;
}

.cancha-futbol.fdf-v2-scene-shot_goal .fdf-v2-impact,
.cancha-futbol.fdf-v2-scene-shot_post .fdf-v2-impact,
.cancha-futbol.fdf-v2-scene-shot_out .fdf-v2-impact,
.cancha-futbol.fdf-v2-scene-shot_save .fdf-v2-impact,
.cancha-futbol.fdf-v2-scene-penalty .fdf-v2-impact,
.cancha-futbol.fdf-v2-scene-freekick .fdf-v2-impact {
  opacity: 1;
  animation: fdfV2Impact .9s ease-out .55s both;
}

.fdf-v2-impact[data-kind="shot_goal"] { background: radial-gradient(circle, rgba(34,197,94,.96), rgba(34,197,94,0) 70%); }
.fdf-v2-impact[data-kind="shot_post"] { background: radial-gradient(circle, rgba(251,191,36,.96), rgba(251,191,36,0) 70%); }
.fdf-v2-impact[data-kind="shot_out"] { background: radial-gradient(circle, rgba(148,163,184,.82), rgba(148,163,184,0) 70%); }
.fdf-v2-impact[data-kind="shot_save"] { background: radial-gradient(circle, rgba(59,130,246,.96), rgba(59,130,246,0) 70%); }

@keyframes fdfV2Impact {
  from { transform: scale(.2); opacity: 0; }
  30% { opacity: 1; }
  to { transform: scale(2.7); opacity: 0; }
}

.fdf-v2-wall {
  width: 1px;
  height: 1px;
  opacity: 0;
  transform: translate(-50%, -50%);
}

.cancha-futbol.fdf-v2-scene-freekick .fdf-v2-wall {
  opacity: 1;
}

.fdf-v2-wall i,
.fdf-v2-wall b {
  position: absolute;
  width: 22px;
  height: 30px;
  margin-left: -11px;
  margin-top: -15px;
  border-radius: 11px 11px 7px 7px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(203,213,225,.86));
  border: 1px solid rgba(15,23,42,.28);
  box-shadow: 0 7px 13px rgba(0,0,0,.30);
  animation: fdfV2WallHop 1.35s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * .06s);
}

.fdf-v2-wall b.fdf-v2-kicker-dot {
  background: linear-gradient(180deg, #22c55e, #15803d);
  border-color: rgba(255,255,255,.45);
  animation: fdfV2KickerRun 1.2s ease-in-out infinite;
}

@keyframes fdfV2WallHop {
  0%,100% { transform: translateY(0); }
  45% { transform: translateY(-7px); }
}

@keyframes fdfV2KickerRun {
  0%,100% { transform: translateX(0) rotate(-3deg); }
  50% { transform: translateX(9px) rotate(5deg); }
}

.fdf-v2-penalty-setup {
  inset: 0;
  opacity: 0;
}

.cancha-futbol.fdf-v2-scene-penalty .fdf-v2-penalty-setup {
  opacity: 1;
}

.fdf-v2-penalty-setup i {
  position: absolute;
  width: 24px;
  height: 32px;
  margin-left: -12px;
  margin-top: -16px;
  border-radius: 12px 12px 8px 8px;
  background: linear-gradient(180deg, #e5e7eb, #94a3b8);
  border: 1px solid rgba(15,23,42,.32);
  box-shadow: 0 8px 14px rgba(0,0,0,.30);
}

.fdf-v2-penalty-setup i.is-kicker {
  background: linear-gradient(180deg, #22c55e, #15803d);
  animation: fdfV2PenaltyKicker 1.35s ease-in-out infinite;
}
.fdf-v2-penalty-setup i.is-keeper {
  width: 30px;
  height: 24px;
  background: linear-gradient(180deg, #facc15, #ca8a04);
  animation: fdfV2KeeperDive 1.35s ease-in-out infinite;
}

@keyframes fdfV2PenaltyKicker {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px) scale(1.05); }
}

@keyframes fdfV2KeeperDive {
  0%,100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-13px) rotate(-8deg); }
}

.fdf-v2-duel-zone {
  width: 76px;
  height: 56px;
  margin-left: -38px;
  margin-top: -28px;
  opacity: 0;
}

.cancha-futbol.fdf-v2-scene-foul .fdf-v2-duel-zone,
.cancha-futbol.fdf-v2-scene-tackle .fdf-v2-duel-zone,
.cancha-futbol.fdf-v2-scene-dribble .fdf-v2-duel-zone {
  opacity: 1;
}

.fdf-v2-duel-zone::before {
  content: '';
  position: absolute;
  inset: 12px 8px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.45);
  box-shadow: 0 0 20px rgba(255,255,255,.20);
}

.fdf-v2-duel-zone i {
  position: absolute;
  width: 25px;
  height: 34px;
  border-radius: 13px 13px 8px 8px;
  top: 12px;
  box-shadow: 0 8px 13px rgba(0,0,0,.30);
}
.fdf-v2-duel-zone i.is-attacker {
  left: 10px;
  background: linear-gradient(180deg, #22c55e, #15803d);
  animation: fdfV2AttackerBeat .82s ease-in-out infinite;
}
.fdf-v2-duel-zone i.is-defender {
  right: 10px;
  background: linear-gradient(180deg, #ef4444, #991b1b);
  animation: fdfV2DefenderStep .82s ease-in-out infinite;
}
.fdf-v2-duel-zone[data-kind="foul"] i.is-defender {
  animation: fdfV2FoulSlide .9s ease-in-out infinite;
}
.fdf-v2-duel-zone[data-kind="tackle"] i.is-defender {
  background: linear-gradient(180deg, #facc15, #ca8a04);
}

@keyframes fdfV2AttackerBeat {
  0%,100% { transform: translateX(0); }
  50% { transform: translateX(15px) translateY(-2px); }
}
@keyframes fdfV2DefenderStep {
  0%,100% { transform: translateX(0); }
  50% { transform: translateX(-12px); }
}
@keyframes fdfV2FoulSlide {
  0%,100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-18px) translateY(7px) rotate(-72deg); }
}

.fdf-v2-scene-caption {
  left: 50%;
  bottom: 52px;
  transform: translateX(-50%) translateY(10px);
  min-width: min(440px, 78%);
  max-width: 86%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 13px;
  border-radius: 999px;
  color: #fff;
  background: rgba(2,6,23,.74);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 30px rgba(0,0,0,.32);
  backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity .24s ease, transform .24s ease;
}

.fdf-v2-scene-caption strong {
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .08em;
  color: #bbf7d0;
  white-space: nowrap;
}
.fdf-v2-scene-caption span {
  font-size: 11px;
  font-weight: 750;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.cancha-futbol.fdf-v2-cinematic-active .fdf-v2-scene-caption {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.cancha-futbol.fdf-v2-scene-shot_goal {
  animation: fdfV2GoalShake .55s ease-out .65s 1;
}
.cancha-futbol.fdf-v2-scene-shot_post {
  animation: fdfV2PostShake .42s ease-in-out .65s 2;
}
.cancha-futbol.fdf-v2-scene-foul {
  filter: saturate(1.08) contrast(1.05);
}

@keyframes fdfV2GoalShake {
  0%,100% { transform: translate3d(0,0,0); }
  25% { transform: translate3d(2px,-1px,0); }
  50% { transform: translate3d(-2px,1px,0); }
  75% { transform: translate3d(1px,1px,0); }
}
@keyframes fdfV2PostShake {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(3px,0,0); }
}

@media (max-width: 768px) {
  .fdf-v2-role-tag { display: none; }
  .fdf-v2-player-body { width: 25px; height: 29px; top: 43px; }
  .fdf-v2-player-shadow { top: 56px; width: 36px; }
  .fdf-v2-scene-caption {
    min-width: 74%;
    bottom: 42px;
    border-radius: 16px;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
  }
  .fdf-v2-scene-caption span { max-width: 100%; }
  .fdf-v2-wall i,
  .fdf-v2-wall b { width: 18px; height: 25px; margin-left: -9px; margin-top: -13px; }
}

@media (prefers-reduced-motion: reduce) {
  .fdf-v2-lane-flow,
  .fdf-v2-goal-target,
  .fdf-v2-trajectory,
  .fdf-v2-impact,
  .fdf-v2-wall i,
  .fdf-v2-wall b,
  .fdf-v2-penalty-setup i,
  .fdf-v2-duel-zone i,
  .fdf-v2-direction-cone,
  .fdf-match-player-node.fdf-v2-player.is-v2-box-run .fdf-match-player-photo {
    animation: none !important;
  }
  .fdf-match-player-node.fdf-v2-player {
    transition: left .2s ease, top .2s ease !important;
    transform: translate(-50%, -50%) !important;
  }
}
/* ===================================================================
   FDF MATCH CINEMATIC ENGINE V3 - CSS
   Mejora visual profunda: jugadores 3D/FM, movimientos amplios y escenas claras.
   ================================================================== */
.cancha-futbol.fdf-v3-enhanced {
  perspective: 1150px;
  transform-style: preserve-3d;
  overflow: hidden;
  box-shadow: 0 22px 52px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.16);
}

.cancha-futbol.fdf-v3-enhanced::before {
  filter: saturate(1.08) contrast(1.04);
}

.fdf-v3-cinematic-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
  contain: layout style paint;
}

.fdf-v3-depth-grid {
  position: absolute;
  inset: 4% 3%;
  opacity: .22;
  background:
    radial-gradient(circle at var(--fdf-v3-hot-x, 50%) var(--fdf-v3-hot-y, 50%), rgba(255,255,255,.22), transparent 18%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 9%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 12%);
  transform: rotateX(0deg) translateZ(0);
  transition: opacity .28s ease;
}

.fdf-v3-final-third {
  position: absolute;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.10));
  opacity: .42;
  transition: left .72s ease, width .72s ease, opacity .28s ease;
}

.fdf-v3-offside-line {
  position: absolute;
  top: 5%;
  bottom: 5%;
  width: 0;
  border-left: 2px dashed rgba(255,255,255,.72);
  filter: drop-shadow(0 0 6px rgba(255,255,255,.25));
  opacity: .72;
  transition: left .72s cubic-bezier(.22,.61,.36,1);
}

.fdf-v3-goal-mouth {
  position: absolute;
  width: 58px;
  height: 96px;
  margin-left: -29px;
  margin-top: -48px;
  border: 3px solid rgba(255,255,255,.82);
  border-radius: 12px;
  box-shadow: inset 0 0 22px rgba(255,255,255,.16), 0 0 28px rgba(255,255,255,.20);
  opacity: .55;
  transition: left .5s ease, top .5s ease, opacity .25s ease, transform .25s ease;
}

.cancha-futbol.fdf-v3-cinematic-active .fdf-v3-goal-mouth {
  opacity: .95;
  animation: fdfV3GoalMouthPulse .8s ease-in-out infinite;
}

@keyframes fdfV3GoalMouthPulse {
  0%,100% { transform: scale(.94); }
  50% { transform: scale(1.04); }
}

.fdf-v3-run-arrows {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.fdf-v3-run-arrow {
  position: absolute;
  height: 0;
  transform-origin: left center;
  border-top: 3px solid rgba(255,255,255,.62);
  filter: drop-shadow(0 0 8px rgba(255,255,255,.20));
  opacity: .72;
  animation: fdfV3ArrowFlow .9s ease-in-out infinite;
}
.fdf-v3-run-arrow::after {
  content: '';
  position: absolute;
  right: -2px;
  top: -7px;
  width: 0;
  height: 0;
  border-left: 11px solid rgba(255,255,255,.72);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
.fdf-v3-run-arrow.is-home { border-color: rgba(96,165,250,.78); }
.fdf-v3-run-arrow.is-home::after { border-left-color: rgba(96,165,250,.86); }
.fdf-v3-run-arrow.is-away { border-color: rgba(248,113,113,.78); }
.fdf-v3-run-arrow.is-away::after { border-left-color: rgba(248,113,113,.86); }

@keyframes fdfV3ArrowFlow {
  0%,100% { opacity: .42; }
  50% { opacity: .94; }
}

.fdf-v3-shot-path,
.fdf-v3-shot-dot,
.fdf-v3-impact-ring,
.fdf-v3-duel-visual,
.fdf-v3-wall-visual,
.fdf-v3-penalty-visual,
.fdf-v3-action-badge {
  position: absolute;
  pointer-events: none;
}

.fdf-v3-shot-path {
  height: 7px;
  border-radius: 999px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.96), rgba(250,204,21,.96));
  box-shadow: 0 0 18px rgba(250,204,21,.40);
  opacity: 0;
}
.cancha-futbol.fdf-v3-cinematic-active .fdf-v3-shot-path { opacity: .96; animation: fdfV3ShotPath .82s ease-out infinite; }
@keyframes fdfV3ShotPath { 0% { filter: brightness(.8); } 50% { filter: brightness(1.35); } 100% { filter: brightness(.95); } }

.fdf-v3-shot-dot {
  width: 22px;
  height: 22px;
  margin-left: -11px;
  margin-top: -11px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fff, #fde68a 55%, #b45309 100%);
  box-shadow: 0 0 0 6px rgba(250,204,21,.18), 0 0 28px rgba(250,204,21,.45);
  opacity: 0;
}
.cancha-futbol.fdf-v3-cinematic-active .fdf-v3-shot-dot { opacity: 1; animation: fdfV3ShotDot .58s ease-in-out infinite; }
@keyframes fdfV3ShotDot { 0%,100% { transform: scale(.75); } 50% { transform: scale(1.18); } }

.fdf-v3-impact-ring {
  width: 76px;
  height: 76px;
  margin-left: -38px;
  margin-top: -38px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.88);
  box-shadow: 0 0 0 9px rgba(255,255,255,.10), 0 0 42px rgba(255,255,255,.34);
  opacity: 0;
}
.cancha-futbol.fdf-v3-scene-goal .fdf-v3-impact-ring,
.cancha-futbol.fdf-v3-scene-post .fdf-v3-impact-ring,
.cancha-futbol.fdf-v3-scene-save .fdf-v3-impact-ring,
.cancha-futbol.fdf-v3-scene-out .fdf-v3-impact-ring {
  opacity: 1;
  animation: fdfV3Impact .7s ease-out infinite;
}
.cancha-futbol.fdf-v3-scene-goal .fdf-v3-impact-ring { border-color: rgba(34,197,94,.95); box-shadow: 0 0 0 10px rgba(34,197,94,.16), 0 0 44px rgba(34,197,94,.40); }
.cancha-futbol.fdf-v3-scene-post .fdf-v3-impact-ring { border-color: rgba(250,204,21,.95); box-shadow: 0 0 0 10px rgba(250,204,21,.18), 0 0 44px rgba(250,204,21,.42); }
.cancha-futbol.fdf-v3-scene-save .fdf-v3-impact-ring { border-color: rgba(56,189,248,.95); box-shadow: 0 0 0 10px rgba(56,189,248,.16), 0 0 44px rgba(56,189,248,.40); }
.cancha-futbol.fdf-v3-scene-out .fdf-v3-impact-ring { border-color: rgba(248,113,113,.95); box-shadow: 0 0 0 10px rgba(248,113,113,.16), 0 0 44px rgba(248,113,113,.40); }
@keyframes fdfV3Impact { 0% { transform: scale(.38); opacity: 1; } 100% { transform: scale(1.16); opacity: .25; } }

.fdf-v3-action-badge {
  left: 50%;
  top: 8px;
  transform: translateX(-50%);
  min-width: min(420px, 78%);
  max-width: 82%;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, rgba(15,23,42,.92), rgba(2,6,23,.72));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: .9;
  backdrop-filter: blur(8px);
}
.fdf-v3-action-badge strong { font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; color: #fef3c7; }
.fdf-v3-action-badge span { font-size: .74rem; line-height: 1.1; opacity: .94; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.fdf-v3-duel-visual {
  width: 92px;
  height: 72px;
  margin-left: -46px;
  margin-top: -36px;
  opacity: 0;
}
.cancha-futbol.fdf-v3-scene-foul .fdf-v3-duel-visual,
.cancha-futbol.fdf-v3-scene-tackle .fdf-v3-duel-visual,
.cancha-futbol.fdf-v3-scene-dribble .fdf-v3-duel-visual,
.cancha-futbol.fdf-v3-scene-press .fdf-v3-duel-visual { opacity: 1; }
.fdf-v3-duel-visual i {
  position: absolute;
  top: 24px;
  width: 24px;
  height: 38px;
  border-radius: 10px 10px 14px 14px;
  box-shadow: 0 10px 18px rgba(0,0,0,.28);
}
.fdf-v3-duel-visual .att { left: 16px; background: linear-gradient(135deg, #60a5fa, #1d4ed8); animation: fdfV3DuelAtt .65s ease-in-out infinite; }
.fdf-v3-duel-visual .def { right: 16px; background: linear-gradient(135deg, #f87171, #991b1b); animation: fdfV3DuelDef .65s ease-in-out infinite; }
.fdf-v3-duel-visual b { position:absolute; left:50%; top:45%; width:18px; height:18px; margin:-9px 0 0 -9px; border-radius:50%; background:#fff; box-shadow:0 0 18px rgba(255,255,255,.65); }
@keyframes fdfV3DuelAtt { 0%,100% { transform: translateX(-6px) rotate(-4deg); } 50% { transform: translateX(10px) rotate(6deg); } }
@keyframes fdfV3DuelDef { 0%,100% { transform: translateX(6px) rotate(5deg); } 50% { transform: translateX(-10px) rotate(-8deg); } }

.fdf-v3-wall-visual {
  width: 150px;
  height: 72px;
  margin-left: -75px;
  margin-top: -36px;
  opacity: 0;
}
.cancha-futbol.fdf-v3-scene-freekick .fdf-v3-wall-visual { opacity: 1; }
.fdf-v3-wall-visual i,
.fdf-v3-wall-visual .kicker {
  position: absolute;
  top: 22px;
  width: 18px;
  height: 36px;
  border-radius: 9px 9px 13px 13px;
  background: linear-gradient(135deg, #f87171, #991b1b);
  box-shadow: 0 9px 15px rgba(0,0,0,.30);
  animation: fdfV3WallJump .9s ease-in-out infinite;
}
.fdf-v3-wall-visual i { left: calc(50% - 48px + (var(--i) * 24px)); }
.fdf-v3-wall-visual .kicker { left: 10px; top: 35px; background: linear-gradient(135deg,#60a5fa,#1d4ed8); animation: fdfV3KickerRun .9s ease-in-out infinite; }
@keyframes fdfV3WallJump { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes fdfV3KickerRun { 0%,100% { transform: translateX(-8px); } 50% { transform: translateX(9px); } }

.fdf-v3-penalty-visual {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.cancha-futbol.fdf-v3-scene-penalty .fdf-v3-penalty-visual { opacity: 1; }
.fdf-v3-penalty-visual i {
  position: absolute;
  width: 22px;
  height: 40px;
  margin-left: -11px;
  margin-top: -20px;
  border-radius: 11px 11px 15px 15px;
  background: linear-gradient(135deg, #60a5fa, #1d4ed8);
  box-shadow: 0 10px 18px rgba(0,0,0,.30);
}
.fdf-v3-penalty-visual .keeper { width: 34px; height: 32px; border-radius: 13px; background: linear-gradient(135deg, #22c55e, #166534); animation: fdfV3KeeperDive 1s ease-in-out infinite; }
.fdf-v3-penalty-visual .kicker { animation: fdfV3PenaltyKicker .9s ease-in-out infinite; }
.fdf-v3-penalty-visual .wait { opacity: .68; transform: scale(.8); background: linear-gradient(135deg, #f87171, #991b1b); }
@keyframes fdfV3KeeperDive { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(14px) rotate(12deg); } }
@keyframes fdfV3PenaltyKicker { 0%,100% { transform: translateX(-10px); } 50% { transform: translateX(8px) rotate(-7deg); } }

/* Jugadores con look 3D/FM. Se oculta el cuerpo V2 anterior para evitar mezcla estética. */
.fdf-match-player-node.fdf-v3-player .fdf-v2-player-body,
.fdf-match-player-node.fdf-v3-player .fdf-v2-direction-cone,
.fdf-match-player-node.fdf-v3-player .fdf-v2-role-tag { display: none !important; }

.fdf-match-player-node.fdf-v3-player {
  width: 92px;
  min-height: 106px;
  transform: translate(-50%, -50%) translateZ(0) scale(var(--fdf-v3-scale, 1));
  transition:
    left .88s cubic-bezier(.18,.82,.23,1),
    top .88s cubic-bezier(.18,.82,.23,1),
    transform .38s cubic-bezier(.18,.82,.23,1),
    filter .24s ease,
    opacity .24s ease;
  z-index: calc(20 + var(--fdf-v3-depth, 50));
  will-change: left, top, transform;
  filter: drop-shadow(0 13px 16px rgba(0,0,0,.22));
}

.fdf-match-player-node.fdf-v3-player .fdf-match-player-chip {
  min-height: 106px;
  transform-style: preserve-3d;
}

.fdf-v3-player-stand {
  position: absolute;
  left: 50%;
  top: 76px;
  width: 56px;
  height: 16px;
  transform: translateX(-50%) rotateX(62deg);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.48), rgba(0,0,0,.02) 72%);
  filter: blur(.7px);
  opacity: .94;
  z-index: -4;
}

.fdf-v3-kit-body {
  position: absolute;
  left: 50%;
  top: 36px;
  width: 42px;
  height: 46px;
  transform: translateX(-50%) rotateX(10deg);
  clip-path: polygon(22% 0, 78% 0, 100% 28%, 84% 100%, 16% 100%, 0 28%);
  border-radius: 10px 10px 14px 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #2563eb 0%, #1d4ed8 52%, #0f172a 100%);
  border: 1px solid rgba(255,255,255,.58);
  box-shadow: inset 0 3px 0 rgba(255,255,255,.24), inset 0 -8px 14px rgba(0,0,0,.20), 0 13px 20px rgba(0,0,0,.34);
  z-index: -2;
}
.fdf-match-player-node.is-away .fdf-v3-kit-body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #ef4444 0%, #b91c1c 52%, #111827 100%);
}
.fdf-match-player-node.is-user-team .fdf-v3-kit-body {
  box-shadow: inset 0 3px 0 rgba(255,255,255,.24), inset 0 -8px 14px rgba(0,0,0,.20), 0 13px 20px rgba(0,0,0,.34), 0 0 0 3px rgba(34,197,94,.15);
}

.fdf-v3-kit-legs {
  position: absolute;
  left: 50%;
  top: 78px;
  width: 34px;
  height: 18px;
  transform: translateX(-50%);
  border-radius: 0 0 12px 12px;
  background: linear-gradient(90deg, rgba(15,23,42,.9) 0 42%, transparent 43% 57%, rgba(15,23,42,.9) 58% 100%);
  z-index: -3;
}

.fdf-v3-action-cone {
  position: absolute;
  left: 50%;
  top: 82px;
  width: 34px;
  height: 42px;
  transform: translateX(-50%) rotateX(70deg);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  background: linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,0));
  opacity: 0;
  z-index: -5;
}
.fdf-match-player-node.fdf-v3-player.is-v3-high-run .fdf-v3-action-cone,
.fdf-match-player-node.fdf-v3-player.is-ball-carrier .fdf-v3-action-cone { opacity: .64; animation: fdfV3Cone .72s ease-in-out infinite; }
@keyframes fdfV3Cone { 0%,100% { transform: translateX(-50%) rotateX(70deg) scaleY(.82); } 50% { transform: translateX(-50%) rotateX(70deg) scaleY(1.14); } }

.fdf-match-player-node.fdf-v3-player .fdf-match-player-photo {
  top: 2px;
  width: 50px;
  height: 50px;
  border-width: 3px;
  border-color: rgba(255,255,255,.96);
  box-shadow: 0 9px 18px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.25);
  z-index: 3;
  background: #0f172a;
}
.fdf-match-player-node.fdf-v3-player.is-v3-attacking .fdf-match-player-photo { filter: saturate(1.18) brightness(1.08); }
.fdf-match-player-node.fdf-v3-player.is-v3-defending .fdf-match-player-photo { filter: saturate(.94) brightness(.98); }
.fdf-match-player-node.fdf-v3-player.is-v3-marking .fdf-match-player-photo { box-shadow: 0 9px 18px rgba(0,0,0,.38), 0 0 0 6px rgba(250,204,21,.22); }
.fdf-match-player-node.fdf-v3-player.is-v3-box-run .fdf-match-player-photo { animation: fdfV3BoxRun .62s ease-in-out infinite; }
@keyframes fdfV3BoxRun { 0%,100% { transform: translateX(-50%) translateY(0) scale(1); } 50% { transform: translateX(-50%) translateY(-4px) scale(1.06); } }

.fdf-v3-role-badge {
  position: absolute;
  left: 50%;
  top: 55px;
  transform: translateX(-50%);
  min-width: 28px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(2,6,23,.72);
  color: #f8fafc;
  font-size: 8px;
  font-weight: 1000;
  letter-spacing: .04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.24);
  z-index: 5;
}

.fdf-match-player-node.fdf-v3-player .fdf-match-player-energy {
  left: 4px;
  top: 8px;
  z-index: 6;
  box-shadow: 0 5px 10px rgba(0,0,0,.34);
}

.fdf-match-player-node.fdf-v3-player .fdf-match-player-name {
  bottom: -2px;
  max-width: 88px;
  padding: 3px 8px;
  color: #fff;
  background: linear-gradient(135deg, rgba(15,23,42,.88), rgba(2,6,23,.70));
  border: 1px solid rgba(255,255,255,.20);
  text-shadow: 0 1px 2px rgba(0,0,0,.72);
  box-shadow: 0 8px 16px rgba(0,0,0,.28);
}

.fdf-match-player-node.fdf-v3-player.is-ball-carrier,
.fdf-match-player-node.fdf-v3-player.is-v3-high-run {
  filter: drop-shadow(0 17px 19px rgba(0,0,0,.26)) brightness(1.04);
}

.fdf-match-ball.fdf-v3-ball {
  width: 19px;
  height: 19px;
  margin-left: -9.5px;
  margin-top: -9.5px;
  box-shadow: 0 12px 22px rgba(0,0,0,.42), 0 0 0 6px rgba(255,255,255,.13), 0 0 22px rgba(255,255,255,.35);
  transition: left .72s cubic-bezier(.18,.82,.23,1), top .72s cubic-bezier(.18,.82,.23,1), transform .24s ease;
  z-index: 100;
}
.cancha-futbol.fdf-v3-cinematic-active .fdf-match-ball.fdf-v3-ball { animation: fdfV3BallZip .46s ease-in-out infinite; }
@keyframes fdfV3BallZip { 0%,100% { transform: scale(1); } 50% { transform: scale(1.18); } }

@media (max-width: 768px) {
  .fdf-match-player-node.fdf-v3-player { width: 76px; min-height: 92px; }
  .fdf-match-player-node.fdf-v3-player .fdf-match-player-photo { width: 42px; height: 42px; }
  .fdf-v3-kit-body { top: 31px; width: 34px; height: 38px; }
  .fdf-v3-kit-legs { top: 68px; width: 28px; height: 14px; }
  .fdf-v3-player-stand { top: 67px; width: 46px; }
  .fdf-match-player-node.fdf-v3-player .fdf-match-player-name { max-width: 70px; font-size: .63rem; }
  .fdf-v3-action-badge { min-width: 86%; padding: 7px 10px; gap: 6px; }
  .fdf-v3-action-badge span { display: none; }
}


/* V3 toma control visual completo; se oculta la capa V2 para evitar mezcla estética. */
.cancha-futbol.fdf-v3-enhanced .fdf-v2-cinematic-layer {
  display: none !important;
}

/* ===================================================================
   FDF MATCH CINEMATIC ENGINE V4 - Ajuste visual y movilidad fluida
   =================================================================== */

/* Quitar información duplicada dentro de la cancha: ya existe marcador externo. */
.cancha-futbol .fdf-exp-scorebug,
.cancha-futbol .fdf-exp-director-chip,
.cancha-futbol .fdf-v3-action-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* La cancha queda limpia para que la jugada se vea. */
.cancha-futbol.fdf-v4-fluid-motion {
  --fdf-v4-motion-shadow: 0 14px 20px rgba(0,0,0,.28);
}

/* Transiciones más fluidas y menos “bloque”. */
.fdf-match-player-node.fdf-v4-fluid-player {
  transition:
    left 1.15s cubic-bezier(.16,.84,.22,1),
    top 1.15s cubic-bezier(.16,.84,.22,1),
    transform .45s cubic-bezier(.16,.84,.22,1),
    filter .25s ease,
    opacity .25s ease !important;
  will-change: left, top, transform;
}

/* En la previa quedan formados, más compactos y sin sensación de partido iniciado. */
.cancha-futbol[data-fdf-v4-state="pre-match"] .fdf-match-player-node.fdf-v4-fluid-player {
  opacity: .98;
  filter: drop-shadow(0 10px 13px rgba(0,0,0,.22)) saturate(.96);
}
.cancha-futbol[data-fdf-v4-state="pre-match"] .fdf-v3-run-arrow,
.cancha-futbol[data-fdf-v4-state="pre-match"] .fdf-v3-shot-path,
.cancha-futbol[data-fdf-v4-state="pre-match"] .fdf-v3-shot-dot,
.cancha-futbol[data-fdf-v4-state="pre-match"] .fdf-v3-impact-ring {
  opacity: 0 !important;
}

/* Look FM/3D más limpio: menos gigante, más legible, menos amontonamiento. */
.fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player {
  width: 82px;
  min-height: 98px;
  filter: drop-shadow(var(--fdf-v4-motion-shadow));
}
.fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player .fdf-match-player-chip {
  min-height: 98px;
}
.fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player .fdf-match-player-photo {
  width: 46px;
  height: 46px;
  top: 1px;
  border-width: 3px;
  box-shadow: 0 9px 17px rgba(0,0,0,.36), 0 0 0 2px rgba(255,255,255,.18);
}
.fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-kit-body {
  top: 33px;
  width: 37px;
  height: 43px;
  border-radius: 11px 11px 15px 15px;
  box-shadow: inset 0 3px 0 rgba(255,255,255,.26), inset 0 -8px 13px rgba(0,0,0,.22), 0 12px 18px rgba(0,0,0,.30);
}
.fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-kit-legs {
  top: 73px;
  width: 30px;
}
.fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-player-stand {
  top: 72px;
  width: 50px;
  opacity: .82;
}
.fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-role-badge {
  display: none !important;
}
.fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player .fdf-match-player-name {
  max-width: 78px;
  font-size: .62rem;
  bottom: 0;
  padding: 3px 7px;
}
.fdf-match-player-node.fdf-v4-fluid-player .fdf-match-player-energy {
  transform: scale(.86);
  transform-origin: top left;
}

/* Diferenciar comportamiento individual. */
.fdf-match-player-node.fdf-v4-fluid-player.is-ball-carrier .fdf-match-player-photo {
  box-shadow: 0 10px 19px rgba(0,0,0,.40), 0 0 0 5px rgba(250,204,21,.28), 0 0 24px rgba(250,204,21,.25);
}
.fdf-match-player-node.fdf-v4-fluid-player.is-v3-marking .fdf-match-player-photo {
  box-shadow: 0 9px 17px rgba(0,0,0,.36), 0 0 0 4px rgba(255,255,255,.12), 0 0 16px rgba(250,204,21,.18);
}
.fdf-match-player-node.fdf-v4-fluid-player.is-v3-high-run .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v4-fluid-player.is-v3-box-run .fdf-v3-kit-legs {
  animation: fdfV4LegRun .46s ease-in-out infinite;
}
@keyframes fdfV4LegRun {
  0%,100% { transform: translateX(-50%) skewX(0deg); }
  50% { transform: translateX(-50%) skewX(-9deg); }
}

/* Flechas más sutiles para que ayuden sin ensuciar. */
.fdf-v4-run-arrow {
  opacity: .46 !important;
  height: 0 !important;
  border-top-width: 2px !important;
  filter: drop-shadow(0 0 5px rgba(255,255,255,.20));
}

/* Trayectoria de pelota más clara en remates. */
.fdf-match-ball.fdf-v4-ball {
  transition: left .88s cubic-bezier(.16,.84,.22,1), top .88s cubic-bezier(.16,.84,.22,1), transform .24s ease !important;
}

/* Avisos importantes dentro de la caja de comentarios, no encima de la cancha. */
#mm-comentarios .fdf-v4-commentary-alert {
  position: sticky;
  top: 0;
  z-index: 4;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: calc(100% - 4px);
  margin: 0 auto 7px;
  padding: 8px 12px;
  border-radius: 12px;
  color: #f8fafc;
  background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(30,64,175,.88));
  border: 1px solid rgba(147,197,253,.30);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
  text-align: left;
  font-family: Arial, sans-serif;
}
#mm-comentarios .fdf-v4-commentary-alert.is-visible {
  display: flex;
  animation: fdfV4CommentAlertIn .22s ease-out;
}
#mm-comentarios .fdf-v4-commentary-alert strong {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .08em;
  color: #bbf7d0;
  text-transform: uppercase;
}
#mm-comentarios .fdf-v4-commentary-alert span {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#mm-comentarios .fdf-v4-commentary-alert[data-kind*="card"],
#mm-comentarios .fdf-v4-commentary-alert[data-kind*="foul"] {
  background: linear-gradient(135deg, rgba(127,29,29,.98), rgba(185,28,28,.88));
}
#mm-comentarios .fdf-v4-commentary-alert[data-kind*="goal"] {
  background: linear-gradient(135deg, rgba(20,83,45,.98), rgba(22,163,74,.88));
}
@keyframes fdfV4CommentAlertIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player { width: 70px; min-height: 86px; }
  .fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player .fdf-match-player-photo { width: 39px; height: 39px; }
  .fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-kit-body { width: 31px; height: 36px; top: 30px; }
  .fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-kit-legs { top: 64px; width: 25px; }
  .fdf-match-player-node.fdf-v4-fluid-player .fdf-v3-player-stand { top: 62px; width: 40px; }
  .fdf-match-player-node.fdf-v4-fluid-player.fdf-v3-player .fdf-match-player-name { max-width: 66px; font-size: .56rem; }
  #mm-comentarios .fdf-v4-commentary-alert { padding: 7px 9px; gap: 6px; }
  #mm-comentarios .fdf-v4-commentary-alert span { font-size: 11px; }
}

/* Los eventos escritos del partido van al relato, no encima de jugadores. */
.cancha-futbol .fdf-live-event-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ===================================================================
   FDF MATCH CINEMATIC ENGINE V5 - Visual premium y menos amontonamiento
   =================================================================== */

/* La cancha se percibe más amplia: jugadores más chicos y capas limpias. */
.cancha-futbol.fdf-v5-premium-motion {
  --fdf-v5-player-w: 68px;
  --fdf-v5-photo: 39px;
  --fdf-v5-body-w: 31px;
  --fdf-v5-body-h: 37px;
  --fdf-v5-legs-w: 24px;
  --fdf-v5-shadow-w: 42px;
  --fdf-v5-energy-top: 45px;
  --fdf-v5-name-bottom: -1px;
  perspective: 1250px;
}

#modal-match-backdrop .cancha-futbol.fdf-v5-premium-motion {
  box-shadow: 0 22px 54px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.15);
}

/* Compactar el muñeco, no la cancha. */
.fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player {
  width: var(--fdf-v5-player-w) !important;
  min-height: 84px !important;
  transition:
    left 1.38s cubic-bezier(.13,.86,.19,1),
    top 1.38s cubic-bezier(.13,.86,.19,1),
    transform .42s cubic-bezier(.16,.84,.22,1),
    filter .25s ease,
    opacity .25s ease !important;
  transform: translate(-50%, -50%) scale(var(--fdf-v3-scale, .92)) rotateZ(var(--fdf-v5-lean, 0deg)) !important;
  will-change: left, top, transform;
}

.fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-chip {
  min-height: 84px !important;
}

.fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-photo {
  width: var(--fdf-v5-photo) !important;
  height: var(--fdf-v5-photo) !important;
  top: 0 !important;
  border-width: 3px !important;
  box-shadow: 0 8px 15px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

.fdf-match-player-node.fdf-v5-premium-player .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player .fdf-v3-kit-body {
  top: 29px !important;
  width: var(--fdf-v5-body-w) !important;
  height: var(--fdf-v5-body-h) !important;
  border-radius: 9px 9px 13px 13px !important;
  box-shadow: inset 0 3px 0 rgba(255,255,255,.24), inset 0 -7px 12px rgba(0,0,0,.24), 0 10px 15px rgba(0,0,0,.28) !important;
}

.fdf-match-player-node.fdf-v5-premium-player .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player .fdf-v3-kit-legs {
  top: 61px !important;
  width: var(--fdf-v5-legs-w) !important;
  height: 13px !important;
}

.fdf-match-player-node.fdf-v5-premium-player .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player .fdf-v3-player-stand {
  top: 62px !important;
  width: var(--fdf-v5-shadow-w) !important;
  opacity: .70 !important;
}

/* Corrección principal solicitada: energía debajo de la foto, sobre el cuerpo. */
.fdf-match-player-node.fdf-v5-premium-player .fdf-match-player-energy,
.fdf-match-player-node.fdf-v4-fluid-player .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v4-fluid-player .fdf-match-player-energy {
  top: var(--fdf-v5-energy-top) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) scale(.72) !important;
  transform-origin: center center !important;
  min-width: 38px !important;
  height: 16px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  z-index: 7 !important;
  box-shadow: 0 5px 10px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.28) !important;
  pointer-events: none !important;
}

.fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-name {
  max-width: 66px !important;
  bottom: var(--fdf-v5-name-bottom) !important;
  font-size: .55rem !important;
  line-height: 1.05 !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
}

/* Estados visuales menos confusos: se destaca solo la zona activa. */
.fdf-match-player-node.fdf-v5-premium-player.is-v5-active-lane {
  filter: drop-shadow(0 13px 15px rgba(0,0,0,.28)) brightness(1.06) saturate(1.07);
}
.fdf-match-player-node.fdf-v5-premium-player.is-ball-carrier .fdf-match-player-photo {
  box-shadow: 0 9px 17px rgba(0,0,0,.42), 0 0 0 4px rgba(250,204,21,.34), 0 0 22px rgba(250,204,21,.26) !important;
}
.fdf-match-player-node.fdf-v5-premium-player.is-v5-marker .fdf-match-player-photo {
  box-shadow: 0 8px 15px rgba(0,0,0,.38), 0 0 0 4px rgba(248,113,113,.22), 0 0 17px rgba(248,113,113,.18) !important;
}
.fdf-match-player-node.fdf-v5-premium-player.is-v5-runner .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v5-premium-player.is-v3-high-run .fdf-v3-kit-legs {
  animation: fdfV5LegRun .5s ease-in-out infinite;
}
@keyframes fdfV5LegRun {
  0%,100% { transform: translateX(-50%) skewX(0deg); }
  50% { transform: translateX(-50%) skewX(-12deg); }
}

/* Flechas mínimas: solo portador/desmarques, menos ruido visual. */
.fdf-v5-run-arrows { z-index: 2; }
.fdf-v5-run-arrow {
  opacity: .30 !important;
  border-top-width: 2px !important;
  filter: drop-shadow(0 0 4px rgba(255,255,255,.18));
}
.fdf-v5-run-arrow.is-primary {
  opacity: .55 !important;
  border-top-width: 3px !important;
}

/* Pelota con recorrido más claro. */
.fdf-match-ball.fdf-v5-ball {
  width: 18px !important;
  height: 18px !important;
  margin-left: -9px !important;
  margin-top: -9px !important;
  transition: left 1.02s cubic-bezier(.13,.86,.19,1), top 1.02s cubic-bezier(.13,.86,.19,1), transform .22s ease !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.42), 0 0 0 5px rgba(255,255,255,.13), 0 0 22px rgba(255,255,255,.30) !important;
}

/* Previa: equipos quietos, ordenados y en su mitad. */
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-match-player-node.fdf-v5-premium-player {
  filter: drop-shadow(0 9px 11px rgba(0,0,0,.22)) saturate(.98);
}
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-v5-run-arrow,
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-v3-run-arrow,
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-v3-shot-path,
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-v3-shot-dot,
.cancha-futbol[data-fdf-v5-state="pre-match"] .fdf-v3-impact-ring {
  opacity: 0 !important;
}

@media (min-width: 961px) {
  #modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #modal-match-backdrop .cancha-futbol.fdf-v5-premium-motion {
    min-height: 390px !important;
  }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v5-premium-motion {
    --fdf-v5-player-w: 58px;
    --fdf-v5-photo: 32px;
    --fdf-v5-body-w: 26px;
    --fdf-v5-body-h: 31px;
    --fdf-v5-legs-w: 20px;
    --fdf-v5-shadow-w: 35px;
    --fdf-v5-energy-top: 38px;
  }
  .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player,
  #modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player {
    min-height: 72px !important;
  }
  .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-chip,
  #modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-chip {
    min-height: 72px !important;
  }
  .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-name,
  #modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player.fdf-v3-player .fdf-match-player-name {
    max-width: 56px !important;
    font-size: .49rem !important;
  }
  .fdf-match-player-node.fdf-v5-premium-player .fdf-match-player-energy,
  #modal-match-backdrop .fdf-match-player-node.fdf-v5-premium-player .fdf-match-player-energy {
    min-width: 32px !important;
    height: 14px !important;
    font-size: .46rem !important;
  }
}
/* ===================================================================
   FDF MATCH INTELLIGENCE & PRO VIEW V6 - CSS
   Vista Pro Manager: cancha limpia, jugadores compactos, lectura táctica.
   =================================================================== */

.cancha-futbol.fdf-v6-pro-view {
  --fdf-v6-player-w: 52px;
  --fdf-v6-photo: 28px;
  --fdf-v6-body-w: 23px;
  --fdf-v6-body-h: 29px;
  --fdf-v6-legs-w: 18px;
  --fdf-v6-energy-top: 58px;
  --fdf-v6-name-top: 69px;
  perspective: 1350px;
  overflow: hidden !important;
}

#modal-match-backdrop .cancha-futbol.fdf-v6-pro-view {
  min-height: 420px !important;
  box-shadow: 0 26px 65px rgba(0,0,0,.40), inset 0 0 0 1px rgba(255,255,255,.16) !important;
}

#modal-match-backdrop .cancha-wrapper.fdf-broadcast-pitch-wrap {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.fdf-match-player-node.fdf-v6-pro-player.fdf-v3-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player.fdf-v3-player {
  width: var(--fdf-v6-player-w) !important;
  min-height: 78px !important;
  transition:
    left 1.12s cubic-bezier(.18,.82,.18,1),
    top 1.12s cubic-bezier(.18,.82,.18,1),
    transform .34s cubic-bezier(.2,.78,.25,1),
    filter .24s ease,
    opacity .24s ease !important;
  transform: translate(-50%, -50%) scale(var(--fdf-v3-scale, .78)) rotateZ(var(--fdf-v6-lean, 0deg)) !important;
  will-change: left, top, transform;
}

.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-chip {
  min-height: 78px !important;
}

.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-photo {
  width: var(--fdf-v6-photo) !important;
  height: var(--fdf-v6-photo) !important;
  top: 0 !important;
  border-width: 2px !important;
  box-shadow: 0 7px 13px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.20) !important;
}

.fdf-match-player-node.fdf-v6-pro-player .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-v3-kit-body {
  top: 22px !important;
  width: var(--fdf-v6-body-w) !important;
  height: var(--fdf-v6-body-h) !important;
  border-radius: 7px 7px 11px 11px !important;
  box-shadow: inset 0 3px 0 rgba(255,255,255,.22), inset 0 -6px 10px rgba(0,0,0,.25), 0 8px 12px rgba(0,0,0,.26) !important;
}

.fdf-match-player-node.fdf-v6-pro-player .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-v3-kit-legs {
  top: 47px !important;
  width: var(--fdf-v6-legs-w) !important;
  height: 10px !important;
}

.fdf-match-player-node.fdf-v6-pro-player .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-v3-player-stand {
  top: 50px !important;
  width: 32px !important;
  height: 9px !important;
  opacity: .58 !important;
}

/* Energía como mini barra, sin texto invasivo. El porcentaje queda en tooltip. */
.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy {
  top: var(--fdf-v6-energy-top) !important;
  left: 50% !important;
  right: auto !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 4px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  transform: translateX(-50%) !important;
  background: rgba(15,23,42,.68) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  z-index: 5 !important;
  box-shadow: 0 3px 7px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy::after,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy::after {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--fdf-energy-w, 100%);
  background: linear-gradient(90deg, #22c55e, #84cc16);
  border-radius: inherit;
}
.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy.is-low-energy::after { background: linear-gradient(90deg, #f59e0b, #facc15); }
.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy.is-critical-energy::after { background: linear-gradient(90deg, #ef4444, #fb7185); }

/* Nombres solo cuando importan: menos amontonamiento. */
.fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-name {
  top: var(--fdf-v6-name-top) !important;
  bottom: auto !important;
  max-width: 58px !important;
  font-size: .48rem !important;
  line-height: 1 !important;
  padding: 2px 5px !important;
  border-radius: 999px !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(3px) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
.fdf-match-player-node.fdf-v6-pro-player.is-v6-active .fdf-match-player-name,
.fdf-match-player-node.fdf-v6-pro-player.is-ball-carrier .fdf-match-player-name,
.fdf-match-player-node.fdf-v6-pro-player:hover .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player.is-v6-active .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player.is-ball-carrier .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player:hover .fdf-match-player-name {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

.fdf-match-player-node.fdf-v6-pro-player.is-v6-muted:not(.is-ball-carrier):not(.is-v6-active) {
  opacity: .82;
  filter: saturate(.92) brightness(.94) drop-shadow(0 7px 9px rgba(0,0,0,.18));
}
.fdf-match-player-node.fdf-v6-pro-player.is-ball-carrier {
  filter: brightness(1.13) saturate(1.12) drop-shadow(0 15px 16px rgba(0,0,0,.34));
}
.fdf-match-player-node.fdf-v6-pro-player.is-ball-carrier .fdf-match-player-photo {
  box-shadow: 0 8px 15px rgba(0,0,0,.42), 0 0 0 3px rgba(250,204,21,.40), 0 0 20px rgba(250,204,21,.30) !important;
}
.fdf-match-player-node.fdf-v6-pro-player.is-v6-receiver .fdf-match-player-photo {
  box-shadow: 0 7px 13px rgba(0,0,0,.38), 0 0 0 3px rgba(96,165,250,.26), 0 0 16px rgba(96,165,250,.18) !important;
}
.fdf-match-player-node.fdf-v6-pro-player.is-v6-defender .fdf-match-player-photo {
  box-shadow: 0 7px 13px rgba(0,0,0,.38), 0 0 0 3px rgba(248,113,113,.27), 0 0 16px rgba(248,113,113,.18) !important;
}
.fdf-match-player-node.fdf-v6-pro-player.is-v6-runner .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v6-pro-player.is-v3-high-run .fdf-v3-kit-legs {
  animation: fdfV6LegRun .42s ease-in-out infinite;
}
@keyframes fdfV6LegRun {
  0%,100% { transform: translateX(-50%) skewX(0deg); }
  50% { transform: translateX(-50%) skewX(-14deg); }
}

.fdf-match-ball.fdf-v6-ball {
  width: 15px !important;
  height: 15px !important;
  margin-left: -7.5px !important;
  margin-top: -7.5px !important;
  transition: left .84s cubic-bezier(.18,.82,.18,1), top .84s cubic-bezier(.18,.82,.18,1), transform .22s ease !important;
  box-shadow: 0 9px 18px rgba(0,0,0,.42), 0 0 0 4px rgba(255,255,255,.13), 0 0 19px rgba(255,255,255,.28) !important;
}

.fdf-v6-pro-lines,
.fdf-v6-scene-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.fdf-v6-line {
  position: absolute;
  height: 0;
  transform-origin: left center;
  border-top: 2px solid rgba(255,255,255,.28);
  filter: drop-shadow(0 0 4px rgba(0,0,0,.30));
}
.fdf-v6-pass-line {
  border-top-color: rgba(96,165,250,.42);
  border-top-style: dashed;
}
.fdf-v6-pass-line.primary {
  border-top-color: rgba(250,204,21,.65);
  border-top-width: 3px;
}
.fdf-v6-duel-line {
  border-top-color: rgba(248,113,113,.38);
  border-top-style: dotted;
}
.fdf-v6-shot-line {
  border-top-color: rgba(250,204,21,.72);
  border-top-width: 3px;
}
.fdf-v6-cross-line {
  border-top-color: rgba(125,211,252,.68);
  border-top-width: 3px;
  border-top-style: dashed;
}
.fdf-v6-dot,
.fdf-v6-wall-dot,
.fdf-v6-setpiece-ball,
.fdf-v6-goal-focus {
  position: absolute;
  transform: translate(-50%, -50%);
  border-radius: 999px;
}
.fdf-v6-setpiece-ball {
  width: 13px;
  height: 13px;
  background: #f8fafc;
  box-shadow: 0 0 0 4px rgba(255,255,255,.18), 0 7px 14px rgba(0,0,0,.38);
}
.fdf-v6-wall-dot {
  width: 12px;
  height: 18px;
  background: rgba(239,68,68,.74);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 5px 10px rgba(0,0,0,.30);
}
.fdf-v6-goal-focus {
  width: 38px;
  height: 38px;
  border: 3px solid rgba(250,204,21,.65);
  box-shadow: 0 0 24px rgba(250,204,21,.35);
  animation: fdfV6GoalFocus .78s ease-in-out infinite;
}
@keyframes fdfV6GoalFocus {
  0%,100% { transform: translate(-50%, -50%) scale(.82); opacity: .72; }
  50% { transform: translate(-50%, -50%) scale(1.12); opacity: 1; }
}

.cancha-futbol[data-fdf-v6-state="pre-match"] .fdf-v6-pro-lines,
.cancha-futbol[data-fdf-v6-state="pre-match"] .fdf-v6-scene-layer,
.cancha-futbol[data-fdf-v6-state="pre-match"] .fdf-v5-run-arrow,
.cancha-futbol[data-fdf-v6-state="pre-match"] .fdf-v3-run-arrow {
  display: none !important;
}

.fdf-v6-view-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 12px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(15,23,42,.32);
  border: 1px solid rgba(148,163,184,.18);
}
.fdf-v6-view-controls span {
  color: #cbd5e1;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-right: auto;
}
.fdf-v6-view-controls button {
  border: 1px solid rgba(148,163,184,.24);
  background: rgba(15,23,42,.55);
  color: #e2e8f0;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: .74rem;
  font-weight: 900;
  cursor: pointer;
}
.fdf-v6-view-controls button.active {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  border-color: rgba(34,197,94,.55);
  color: #fff;
  box-shadow: 0 9px 20px rgba(22,163,74,.20);
}

@media (min-width: 1180px) {
  #modal-match-backdrop .cancha-futbol.fdf-v6-pro-view { min-height: 455px !important; }
  .cancha-futbol.fdf-v6-pro-view { --fdf-v6-player-w: 54px; --fdf-v6-photo: 29px; }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v6-pro-view {
    --fdf-v6-player-w: 45px;
    --fdf-v6-photo: 24px;
    --fdf-v6-body-w: 20px;
    --fdf-v6-body-h: 25px;
    --fdf-v6-legs-w: 16px;
    --fdf-v6-energy-top: 50px;
    --fdf-v6-name-top: 59px;
  }
  #modal-match-backdrop .cancha-futbol.fdf-v6-pro-view { min-height: 350px !important; }
  .fdf-match-player-node.fdf-v6-pro-player.fdf-v3-player,
  #modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player.fdf-v3-player {
    min-height: 66px !important;
  }
  .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy,
  #modal-match-backdrop .fdf-match-player-node.fdf-v6-pro-player .fdf-match-player-energy {
    width: 24px !important;
    min-width: 24px !important;
  }
  .fdf-v6-line { opacity: .72; }
}

/* ===================================================================
   FDF MATCH VISUAL PRO V7
   Limpieza visual: foto circular + aro de energía + acciones realistas.
   =================================================================== */
.cancha-futbol.fdf-v7-clean-pro-view,
#modal-match-backdrop .cancha-futbol.fdf-v7-clean-pro-view {
  --fdf-v7-photo-size: 40px;
  --fdf-v7-node-w: 58px;
  --fdf-v7-name-top: -19px;
  --fdf-v7-energy-color: #22c55e;
  --fdf-v7-energy-glow: rgba(34,197,94,.44);
}

.fdf-match-player-node.fdf-v7-photo-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player {
  width: var(--fdf-v7-node-w) !important;
  min-height: 52px !important;
  transform: translate(-50%, -50%) scale(var(--fdf-v3-scale, .92)) rotateZ(var(--fdf-v6-lean, 0deg)) !important;
  transition:
    left .88s cubic-bezier(.17,.84,.26,1),
    top .88s cubic-bezier(.17,.84,.26,1),
    transform .30s cubic-bezier(.2,.78,.25,1),
    filter .20s ease,
    opacity .20s ease !important;
}

.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip {
  min-height: 52px !important;
  height: 52px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Se elimina la silueta/cuerpo/pies para dejar una lectura tipo Football Manager, limpia. */
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-body,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-player-stand,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-action-cone,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-role-badge,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-action-cone,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-role-badge {
  display: none !important;
}

.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-photo {
  width: var(--fdf-v7-photo-size) !important;
  height: var(--fdf-v7-photo-size) !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 3px solid var(--fdf-v7-energy-color) !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: #0f172a !important;
  box-shadow:
    0 8px 16px rgba(0,0,0,.44),
    0 0 0 3px rgba(15,23,42,.92),
    0 0 0 5px var(--fdf-v7-energy-glow),
    inset 0 0 0 1px rgba(255,255,255,.26) !important;
}

/* La energía ya no tapa la cara: queda convertida en el aro de la foto. */
.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-energy {
  display: none !important;
}

.fdf-match-player-node.fdf-v7-photo-player.is-v7-energy-orange .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-energy-orange .fdf-match-player-photo {
  border-color: #f59e0b !important;
}
.fdf-match-player-node.fdf-v7-photo-player.is-v7-energy-red .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-energy-red .fdf-match-player-photo {
  border-color: #ef4444 !important;
  animation: fdfV7TiredPulse 1.15s ease-in-out infinite;
}
@keyframes fdfV7TiredPulse {
  0%,100% { filter: brightness(.98) saturate(.95); }
  50% { filter: brightness(1.08) saturate(1.12); }
}

/* Nombre arriba únicamente cuando el jugador participa en una acción. */
.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-name {
  top: var(--fdf-v7-name-top) !important;
  bottom: auto !important;
  left: 50% !important;
  max-width: 82px !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: rgba(2,6,23,.84) !important;
  color: #f8fafc !important;
  font-size: .60rem !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 7px 14px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(4px) !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
.fdf-match-player-node.fdf-v7-photo-player.is-v7-action .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-ball-carrier .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-v6-active .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-fx-goal .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-fx-shot .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-fx-save .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player.is-fx-foul .fdf-match-player-name,
.fdf-match-player-node.fdf-v7-photo-player:hover .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-action .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-ball-carrier .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v6-active .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player:hover .fdf-match-player-name {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

.fdf-match-player-node.fdf-v7-photo-player.is-v7-action,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-action {
  z-index: 180 !important;
  filter: brightness(1.08) saturate(1.13) drop-shadow(0 12px 16px rgba(0,0,0,.30));
}
.fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-win .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-win .fdf-match-player-photo {
  box-shadow:
    0 9px 18px rgba(0,0,0,.46),
    0 0 0 3px rgba(15,23,42,.92),
    0 0 0 6px rgba(34,197,94,.34),
    0 0 22px rgba(34,197,94,.36) !important;
}
.fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-beaten,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-beaten {
  opacity: .68 !important;
  filter: grayscale(.18) brightness(.86) saturate(.82) !important;
}
.fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-blocked .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-duel-blocked .fdf-match-player-photo {
  box-shadow:
    0 8px 16px rgba(0,0,0,.46),
    0 0 0 3px rgba(15,23,42,.92),
    0 0 0 6px rgba(248,113,113,.34),
    0 0 22px rgba(248,113,113,.30) !important;
}

.fdf-match-player-node.fdf-v7-photo-player.is-v7-wide-lane .fdf-match-player-photo,
.fdf-match-player-node.fdf-v7-photo-player.is-v7-direct-run .fdf-match-player-photo,
.fdf-match-player-node.fdf-v7-photo-player.is-v7-pressing .fdf-match-player-photo,
.fdf-match-player-node.fdf-v7-photo-player.is-v7-equalize .fdf-match-player-photo,
.fdf-match-player-node.fdf-v7-photo-player.is-v7-longshot .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-wide-lane .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-direct-run .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-pressing .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-equalize .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player.is-v7-longshot .fdf-match-player-photo {
  box-shadow:
    0 9px 18px rgba(0,0,0,.45),
    0 0 0 3px rgba(15,23,42,.92),
    0 0 0 6px rgba(96,165,250,.30),
    0 0 24px rgba(96,165,250,.24) !important;
}

.fdf-v7-ball-path {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}
.fdf-v7-path-line {
  position: absolute;
  height: 0;
  transform-origin: left center;
  border-top: 2px solid rgba(255,255,255,.38);
  filter: drop-shadow(0 0 5px rgba(0,0,0,.36));
  opacity: .92;
}
.fdf-v7-path-line.is-short-pass {
  border-top-color: rgba(125,211,252,.55);
  border-top-style: dashed;
}
.fdf-v7-path-line.is-long-pass {
  border-top-color: rgba(250,204,21,.72);
  border-top-width: 3px;
  border-top-style: dashed;
}
.fdf-v7-path-line.is-cross {
  border-top-color: rgba(56,189,248,.72);
  border-top-width: 3px;
  border-top-style: dotted;
}
.fdf-v7-path-line.is-shot,
.fdf-v7-path-line.is-goal,
.fdf-v7-path-line.is-save,
.fdf-v7-path-line.is-post,
.fdf-v7-path-line.is-wide,
.fdf-v7-path-line.is-penalty,
.fdf-v7-path-line.is-freekick {
  border-top-color: rgba(250,204,21,.84);
  border-top-width: 3px;
}
.fdf-v7-path-line.is-save { border-top-color: rgba(96,165,250,.84); }
.fdf-v7-path-line.is-post { border-top-color: rgba(251,146,60,.88); }
.fdf-v7-path-line.is-wide { border-top-color: rgba(248,113,113,.72); border-top-style: dashed; }
.fdf-v7-path-line.is-goal { border-top-color: rgba(34,197,94,.90); box-shadow: 0 0 16px rgba(34,197,94,.28); }

.fdf-v7-outcome-dot {
  position: absolute;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 0 0 5px rgba(255,255,255,.20), 0 8px 16px rgba(0,0,0,.42);
}
.fdf-v7-outcome-dot.is-goal { background: #22c55e; box-shadow: 0 0 0 6px rgba(34,197,94,.24), 0 0 26px rgba(34,197,94,.42); }
.fdf-v7-outcome-dot.is-save { background: #60a5fa; box-shadow: 0 0 0 6px rgba(96,165,250,.24), 0 0 26px rgba(96,165,250,.38); }
.fdf-v7-outcome-dot.is-post { background: #fb923c; border-radius: 4px; box-shadow: 0 0 0 6px rgba(251,146,60,.24), 0 0 24px rgba(251,146,60,.42); }
.fdf-v7-outcome-dot.is-wide { background: #f87171; opacity: .82; }

.fdf-match-ball.fdf-v7-ball,
#modal-match-backdrop .fdf-match-ball.fdf-v7-ball {
  width: 17px !important;
  height: 17px !important;
  margin-left: -8.5px !important;
  margin-top: -8.5px !important;
  transition:
    left .64s cubic-bezier(.12,.82,.18,1),
    top .64s cubic-bezier(.12,.82,.18,1),
    transform .18s ease,
    box-shadow .18s ease !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.48), 0 0 0 4px rgba(255,255,255,.14), 0 0 22px rgba(255,255,255,.28) !important;
}
.fdf-match-ball.fdf-v7-ball.is-v7-long-pass,
.fdf-match-ball.fdf-v7-ball.is-v7-cross {
  transform: scale(1.08) translateY(-3px) !important;
  transition-duration: .92s !important;
}
.fdf-match-ball.fdf-v7-ball.is-v7-shot,
.fdf-match-ball.fdf-v7-ball.is-v7-goal,
.fdf-match-ball.fdf-v7-ball.is-v7-penalty,
.fdf-match-ball.fdf-v7-ball.is-v7-freekick {
  transform: scale(1.16) !important;
  transition-duration: .46s !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.52), 0 0 0 5px rgba(250,204,21,.20), 0 0 24px rgba(250,204,21,.42) !important;
}
.fdf-match-ball.fdf-v7-ball.is-v7-save { box-shadow: 0 12px 22px rgba(0,0,0,.52), 0 0 0 5px rgba(96,165,250,.20), 0 0 24px rgba(96,165,250,.42) !important; }
.fdf-match-ball.fdf-v7-ball.is-v7-post { box-shadow: 0 12px 22px rgba(0,0,0,.52), 0 0 0 5px rgba(251,146,60,.22), 0 0 24px rgba(251,146,60,.45) !important; }
.fdf-match-ball.fdf-v7-ball.is-v7-wide { opacity: .88; filter: saturate(.9) brightness(.98); }

/* Indicadores tácticos sin texto dentro de la cancha. */
.cancha-futbol.fdf-v7-clean-pro-view::selection { background: transparent; }
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-home-instruction="wings"] .fdf-v7-ball-path,
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-away-instruction="wings"] .fdf-v7-ball-path { opacity: 1; }
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-home-instruction="press"]::before,
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-away-instruction="press"]::before {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 0 55px rgba(248,113,113,.16) !important;
}
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-home-instruction="lowblock"]::before,
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-away-instruction="lowblock"]::before,
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-home-instruction="hold"]::before,
.cancha-futbol.fdf-v7-clean-pro-view[data-fdf-v7-away-instruction="hold"]::before {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 0 60px rgba(96,165,250,.14) !important;
}

@media (min-width: 1180px) {
  .cancha-futbol.fdf-v7-clean-pro-view,
  #modal-match-backdrop .cancha-futbol.fdf-v7-clean-pro-view {
    --fdf-v7-photo-size: 44px;
    --fdf-v7-node-w: 62px;
  }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v7-clean-pro-view,
  #modal-match-backdrop .cancha-futbol.fdf-v7-clean-pro-view {
    --fdf-v7-photo-size: 34px;
    --fdf-v7-node-w: 50px;
    --fdf-v7-name-top: -16px;
  }
  .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-name,
  #modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-name {
    font-size: .52rem !important;
    max-width: 68px !important;
    padding: 2px 5px !important;
  }
  .fdf-v7-path-line { opacity: .78; }
}

/* ===================================================================
   FDF MATCH VISUAL POLISH V8
   - Fotos más grandes y limpias.
   - Sin cuerpo, pies, pedestal ni sombra negra bajo el jugador.
   - Aro de energía como borde real de la foto.
   - Señales visuales más claras para pase/remate/centro/atajada/palo/afuera.
   =================================================================== */
.cancha-futbol.fdf-v7-clean-pro-view,
.cancha-futbol.fdf-v8-polished,
#modal-match-backdrop .cancha-futbol.fdf-v7-clean-pro-view,
#modal-match-backdrop .cancha-futbol.fdf-v8-polished {
  --fdf-v7-photo-size: 48px;
  --fdf-v7-node-w: 66px;
  --fdf-v7-name-top: -21px;
}

.fdf-match-player-node.fdf-v7-photo-player,
.fdf-match-player-node.fdf-v8-photo-only,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only {
  width: var(--fdf-v7-node-w) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip,
.fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip {
  height: var(--fdf-v7-photo-size) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip::before,
.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip::after,
.fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip::before,
.fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip::after,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip::before,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-chip::after,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip::before,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-chip::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}

/* Ocultar cualquier resto de versiones anteriores que generaba la sombra/cuerpo. */
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-body,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-player-stand,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-action-cone,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v3-role-badge,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v4-run-shadow,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v5-player-shadow,
.fdf-match-player-node.fdf-v7-photo-player .fdf-v6-player-shadow,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v3-kit-body,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v3-player-stand,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v3-action-cone,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v3-role-badge,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v4-run-shadow,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v5-player-shadow,
.fdf-match-player-node.fdf-v8-photo-only .fdf-v6-player-shadow,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-action-cone,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-v3-role-badge,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-v3-action-cone,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-v3-role-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-photo,
.fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v7-photo-player .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-photo {
  width: var(--fdf-v7-photo-size) !important;
  height: var(--fdf-v7-photo-size) !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 4px solid var(--fdf-v7-energy-color) !important;
  outline: 2px solid rgba(255,255,255,.88) !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.16) !important;
  box-shadow:
    0 0 0 5px var(--fdf-v7-energy-glow),
    0 2px 5px rgba(15,23,42,.18),
    inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.fdf-match-player-node.fdf-v8-photo-only.is-v7-action,
.fdf-match-player-node.fdf-v8-photo-only.is-ball-carrier,
.fdf-match-player-node.fdf-v8-photo-only.is-v8-carrier,
.fdf-match-player-node.fdf-v8-photo-only.is-v8-receiver,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-v7-action,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-ball-carrier,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-v8-carrier,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-v8-receiver {
  filter: brightness(1.08) saturate(1.13) !important;
  z-index: 210 !important;
}

.fdf-match-player-node.fdf-v8-photo-only.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-v8-carrier .fdf-match-player-photo {
  box-shadow:
    0 0 0 5px rgba(250,204,21,.34),
    0 0 0 9px rgba(250,204,21,.14),
    0 3px 7px rgba(15,23,42,.18) !important;
}
.fdf-match-player-node.fdf-v8-photo-only.is-v8-receiver .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only.is-v8-receiver .fdf-match-player-photo {
  box-shadow:
    0 0 0 5px rgba(56,189,248,.30),
    0 0 0 9px rgba(56,189,248,.10),
    0 3px 7px rgba(15,23,42,.16) !important;
}

.fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v8-photo-only .fdf-match-player-energy {
  display: none !important;
}

.fdf-v8-clarity-layer,
.fdf-v8-tactical-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
  overflow: hidden;
}
.fdf-v8-action-chip {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(2,6,23,.78);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 8px 18px rgba(0,0,0,.24);
  backdrop-filter: blur(5px);
}
.fdf-v8-motion-dot {
  position: absolute;
  width: 7px;
  height: 7px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 0 10px rgba(255,255,255,.42);
  opacity: .82;
}
.fdf-v8-motion-dot.dot-2 { opacity: .62; }
.fdf-v8-motion-dot.dot-3 { opacity: .44; }

.fdf-v8-lane {
  position: absolute;
  top: 12%;
  bottom: 12%;
  width: 16%;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(56,189,248,.12), rgba(56,189,248,.04));
  border: 1px dashed rgba(125,211,252,.30);
  opacity: .72;
}
.fdf-v8-lane.left { left: 8%; }
.fdf-v8-lane.right { right: 8%; }
.fdf-v8-pressure-zone,
.fdf-v8-lowblock-zone,
.fdf-v8-direct-zone,
.fdf-v8-shot-zone {
  position: absolute;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 0 34px rgba(255,255,255,.04);
}
.fdf-v8-pressure-zone { inset: 15% 28%; background: rgba(248,113,113,.08); }
.fdf-v8-lowblock-zone { top: 18%; bottom: 18%; width: 23%; background: rgba(96,165,250,.08); }
.fdf-v8-lowblock-zone.home { left: 9%; }
.fdf-v8-lowblock-zone.away { right: 9%; }
.fdf-v8-direct-zone { top: 22%; bottom: 22%; width: 38%; background: linear-gradient(90deg, rgba(250,204,21,.08), rgba(250,204,21,.02)); }
.fdf-v8-direct-zone.home { right: 13%; }
.fdf-v8-direct-zone.away { left: 13%; }
.fdf-v8-shot-zone { top: 28%; bottom: 28%; width: 20%; background: rgba(250,204,21,.10); }
.fdf-v8-shot-zone.home { right: 7%; }
.fdf-v8-shot-zone.away { left: 7%; }

@media (min-width: 1180px) {
  .cancha-futbol.fdf-v8-polished,
  #modal-match-backdrop .cancha-futbol.fdf-v8-polished {
    --fdf-v7-photo-size: 52px;
    --fdf-v7-node-w: 72px;
    --fdf-v7-name-top: -23px;
  }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v8-polished,
  #modal-match-backdrop .cancha-futbol.fdf-v8-polished {
    --fdf-v7-photo-size: 38px;
    --fdf-v7-node-w: 54px;
    --fdf-v7-name-top: -17px;
  }
  .fdf-v8-action-chip { font-size: 9px; padding: 4px 7px; }
}

/* ===================================================================
   FDF MATCH VISUAL CLEAN PRO V9
   - Foto más grande y limpia.
   - Sin cuerpo, pies, pedestal ni sombra negra heredada.
   - Energía solo como aro de color.
   - Nombre activo más legible.
   - Órdenes del DT: sin animación dentro de la cancha.
   =================================================================== */
.cancha-futbol.fdf-v9-photo-clean,
#modal-match-backdrop .cancha-futbol.fdf-v9-photo-clean {
  --fdf-v7-photo-size: 58px;
  --fdf-v7-node-w: 78px;
  --fdf-v7-name-top: -32px;
}

.fdf-match-player-node.fdf-v9-photo-clean-node,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node {
  width: var(--fdf-v7-node-w) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  overflow: visible !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip {
  width: var(--fdf-v7-node-w) !important;
  height: var(--fdf-v7-photo-size) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip::before,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip::after,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip::before,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-chip::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Eliminación definitiva de restos visuales de versiones anteriores. */
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-player-shadow,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-player-body,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-direction-cone,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-role-tag,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-kit-body,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-kit-legs,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-player-stand,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-action-cone,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-role-badge,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v4-run-shadow,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v5-player-shadow,
.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v6-player-shadow,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-player-shadow,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-player-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-direction-cone,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v2-role-tag,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-kit-body,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-kit-legs,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-player-stand,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-action-cone,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v3-role-badge,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v4-run-shadow,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v5-player-shadow,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-v6-player-shadow {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-photo {
  width: var(--fdf-v7-photo-size) !important;
  height: var(--fdf-v7-photo-size) !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 5px solid var(--fdf-v7-energy-color, #22c55e) !important;
  outline: 2px solid rgba(255,255,255,.92) !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.18) !important;
  filter: none !important;
  box-shadow:
    0 0 0 3px rgba(15,23,42,.18),
    0 0 0 7px var(--fdf-v7-energy-glow, rgba(34,197,94,.34)),
    inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node.is-ball-carrier .fdf-match-player-photo,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v9-active-player .fdf-match-player-photo,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-carrier .fdf-match-player-photo,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-receiver .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-ball-carrier .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-receiver .fdf-match-player-photo {
  box-shadow:
    0 0 0 3px rgba(15,23,42,.20),
    0 0 0 8px rgba(250,204,21,.24),
    0 0 18px rgba(250,204,21,.22),
    inset 0 0 0 1px rgba(255,255,255,.26) !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-energy,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-energy {
  display: none !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name {
  top: var(--fdf-v7-name-top) !important;
  bottom: auto !important;
  left: 50% !important;
  max-width: 116px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: rgba(2,6,23,.88) !important;
  color: #ffffff !important;
  font-size: .78rem !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
  box-shadow: 0 7px 14px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.14) !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(4px) !important;
  pointer-events: none !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-active-player .fdf-match-player-name,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v7-action .fdf-match-player-name,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-ball-carrier .fdf-match-player-name,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-carrier .fdf-match-player-name,
.fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-receiver .fdf-match-player-name,
.fdf-match-player-node.fdf-v9-photo-clean-node:hover .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-active-player .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v7-action .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-ball-carrier .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-carrier .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.is-v8-receiver .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node:hover .fdf-match-player-name {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

.fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-muted-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-muted-player {
  opacity: .72 !important;
}
.fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-active-player,
#modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node.fdf-v9-active-player {
  opacity: 1 !important;
  z-index: 230 !important;
}

/* No más animación de instrucciones del DT/IA sobre la cancha: la orden queda en comentarios/panel. */
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-tactical-layer,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-lane,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-pressure-zone,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-lowblock-zone,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-direct-zone,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-shot-zone,
.cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v2-lane-flow,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-tactical-layer,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-lane,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-pressure-zone,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-lowblock-zone,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-direct-zone,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v8-shot-zone,
#modal-match-backdrop .cancha-futbol.fdf-v9-no-field-instruction-anim .fdf-v2-lane-flow {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Evita que las órdenes coloreen o sobrecarguen visualmente el césped. */
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-home-instruction="press"]::before,
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-away-instruction="press"]::before,
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-home-instruction="lowblock"]::before,
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-away-instruction="lowblock"]::before,
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-home-instruction="hold"]::before,
.cancha-futbol.fdf-v9-no-field-instruction-anim[data-fdf-v7-away-instruction="hold"]::before {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

/* Menos texto en cancha para mantener la lectura limpia. */
.cancha-futbol.fdf-v9-photo-clean .fdf-v8-action-chip,
#modal-match-backdrop .cancha-futbol.fdf-v9-photo-clean .fdf-v8-action-chip {
  display: none !important;
}

@media (min-width: 1180px) {
  .cancha-futbol.fdf-v9-photo-clean,
  #modal-match-backdrop .cancha-futbol.fdf-v9-photo-clean {
    --fdf-v7-photo-size: 62px;
    --fdf-v7-node-w: 84px;
    --fdf-v7-name-top: -35px;
  }
  .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name,
  #modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name {
    font-size: .82rem !important;
    max-width: 124px !important;
  }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v9-photo-clean,
  #modal-match-backdrop .cancha-futbol.fdf-v9-photo-clean {
    --fdf-v7-photo-size: 44px;
    --fdf-v7-node-w: 60px;
    --fdf-v7-name-top: -24px;
  }
  .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name,
  #modal-match-backdrop .fdf-match-player-node.fdf-v9-photo-clean-node .fdf-match-player-name {
    font-size: .62rem !important;
    max-width: 86px !important;
    padding: 3px 7px !important;
  }
}


/* ===================================================================
   FDF MATCH VISUAL STABLE PHOTO V10
   - Sin zoom in/out.
   - Sin cuerpo, pies, pedestal ni sombra negra, incluso si V2/V3 los recrea.
   - Foto circular estable con aro de energía.
   =================================================================== */
.cancha-futbol.fdf-v10-stable-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo {
  --fdf-v7-photo-size: 60px;
  --fdf-v7-node-w: 82px;
  --fdf-v7-name-top: -34px;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node,
.fdf-match-player-node.fdf-v10-stable-photo-node,
#modal-match-backdrop .fdf-match-player-node.fdf-v10-stable-photo-node {
  width: var(--fdf-v7-node-w) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  overflow: visible !important;
  transform: translate(-50%, -50%) !important;
  animation: none !important;
  transition: left 1.12s cubic-bezier(.18,.82,.18,1), top 1.12s cubic-bezier(.18,.82,.18,1), opacity .24s ease !important;
  will-change: left, top;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v3-high-run,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v3-box-run,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v5-runner,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v6-runner,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v7-action,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v3-high-run,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v3-box-run,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v5-runner,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v6-runner,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v7-action,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver {
  transform: translate(-50%, -50%) !important;
  animation: none !important;
  filter: none !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip,
.fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-chip,
#modal-match-backdrop .fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-chip {
  width: var(--fdf-v7-node-w) !important;
  height: var(--fdf-v7-photo-size) !important;
  min-height: var(--fdf-v7-photo-size) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  animation: none !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node::before,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node::after,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip::before,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip::after,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node::before,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node::after,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip::before,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Ocultamiento global dentro de la cancha: no depende de que el nodo ya tenga clase V9/V10. */
.cancha-futbol.fdf-v10-stable-photo .fdf-v2-player-shadow,
.cancha-futbol.fdf-v10-stable-photo .fdf-v2-player-body,
.cancha-futbol.fdf-v10-stable-photo .fdf-v2-direction-cone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v2-role-tag,
.cancha-futbol.fdf-v10-stable-photo .fdf-v3-kit-body,
.cancha-futbol.fdf-v10-stable-photo .fdf-v3-kit-legs,
.cancha-futbol.fdf-v10-stable-photo .fdf-v3-player-stand,
.cancha-futbol.fdf-v10-stable-photo .fdf-v3-action-cone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v3-role-badge,
.cancha-futbol.fdf-v10-stable-photo .fdf-v4-run-shadow,
.cancha-futbol.fdf-v10-stable-photo .fdf-v5-player-shadow,
.cancha-futbol.fdf-v10-stable-photo .fdf-v6-player-shadow,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-player-shadow,
.cancha-futbol.fdf-v10-stable-photo .fdf-player-body,
.cancha-futbol.fdf-v10-stable-photo .fdf-player-legs,
.cancha-futbol.fdf-v10-stable-photo .fdf-player-stand,
.cancha-futbol.fdf-v10-stable-photo .fdf-player-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v2-player-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v2-player-body,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v2-direction-cone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v2-role-tag,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v3-kit-body,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v3-kit-legs,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v3-player-stand,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v3-action-cone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v3-role-badge,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v4-run-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v5-player-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v6-player-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-player-shadow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-player-body,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-player-legs,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-player-stand,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-player-shadow {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  transform: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}

/* Dentro del chip solo puede vivir la foto, el nombre y estados críticos. */
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip > *:not(.fdf-match-player-photo):not(.fdf-match-player-name):not(.fdf-match-player-status),
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-chip > *:not(.fdf-match-player-photo):not(.fdf-match-player-name):not(.fdf-match-player-status) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-photo,
.fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-photo,
#modal-match-backdrop .fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-photo {
  width: var(--fdf-v7-photo-size) !important;
  height: var(--fdf-v7-photo-size) !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 5px solid var(--fdf-v7-energy-color, #22c55e) !important;
  outline: 2px solid rgba(255,255,255,.96) !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.18) !important;
  filter: none !important;
  animation: none !important;
  transition: box-shadow .18s ease, border-color .18s ease, outline-color .18s ease !important;
  box-shadow:
    0 0 0 3px rgba(15,23,42,.16),
    0 0 0 7px var(--fdf-v7-energy-glow, rgba(34,197,94,.32)),
    inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v9-active-player .fdf-match-player-photo,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-photo,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver .fdf-match-player-photo {
  transform: translateX(-50%) !important;
  animation: none !important;
  box-shadow:
    0 0 0 3px rgba(15,23,42,.18),
    0 0 0 8px rgba(250,204,21,.26),
    0 0 18px rgba(250,204,21,.22),
    inset 0 0 0 1px rgba(255,255,255,.26) !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-energy,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-energy {
  display: none !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-name,
.fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-name,
#modal-match-backdrop .fdf-match-player-node.fdf-v10-stable-photo-node .fdf-match-player-name {
  top: var(--fdf-v7-name-top) !important;
  bottom: auto !important;
  left: 50% !important;
  max-width: 130px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(2,6,23,.90) !important;
  color: #fff !important;
  font-size: .86rem !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.32) !important;
  box-shadow: 0 7px 14px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.14) !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(4px) !important;
  pointer-events: none !important;
}

.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-name,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v7-action .fdf-match-player-name,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier .fdf-match-player-name,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier .fdf-match-player-name,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver .fdf-match-player-name,
.cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node:hover .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v7-action .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-ball-carrier .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-carrier .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node.is-v8-receiver .fdf-match-player-name,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-node:hover .fdf-match-player-name {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* Se eliminan las animaciones de órdenes sobre el campo. La orden queda solo en caja de comentarios/panel. */
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-tactical-layer,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-lane,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-pressure-zone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-lowblock-zone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-direct-zone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v8-shot-zone,
.cancha-futbol.fdf-v10-stable-photo .fdf-v2-lane-flow,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-tactical-layer,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-lane,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-pressure-zone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-lowblock-zone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-direct-zone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v8-shot-zone,
#modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-v2-lane-flow {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (min-width: 1180px) {
  .cancha-futbol.fdf-v10-stable-photo,
  #modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo {
    --fdf-v7-photo-size: 64px;
    --fdf-v7-node-w: 86px;
    --fdf-v7-name-top: -36px;
  }
}

@media (max-width: 768px) {
  .cancha-futbol.fdf-v10-stable-photo,
  #modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo {
    --fdf-v7-photo-size: 46px;
    --fdf-v7-node-w: 62px;
    --fdf-v7-name-top: -25px;
  }
  .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-name,
  #modal-match-backdrop .cancha-futbol.fdf-v10-stable-photo .fdf-match-player-name {
    font-size: .64rem !important;
    max-width: 92px !important;
    padding: 3px 7px !important;
  }
}


/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026
   =================================================================== */
.fdf-game-mode-box{
  background:linear-gradient(135deg,#071a39,#0f766e);
  color:#fff;
  padding:16px;
  border-radius:16px;
  margin:0 0 18px;
  box-shadow:0 12px 28px rgba(2,6,23,.18);
}
.fdf-game-mode-box label{display:block;margin:0 0 8px;font-size:14px;letter-spacing:.02em}
.fdf-game-mode-box select{background:#fff;color:#111827;border:0;border-radius:10px;padding:10px 12px;margin-bottom:12px}
#fdf-worldcup-selector{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px;margin-top:12px}
.fdf-worldcup-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:360px;overflow:auto;padding:4px}
.fdf-worldcup-team-card{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:9px 10px;cursor:pointer;text-align:left;transition:.18s ease;min-height:58px}
.fdf-worldcup-team-card:hover,.fdf-worldcup-team-card.selected{background:rgba(255,255,255,.28);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.fdf-worldcup-team-card img{width:30px;height:22px;object-fit:cover;border-radius:4px;background:#fff}
.fdf-worldcup-team-card span{font-weight:800;line-height:1.1;display:block}
.fdf-worldcup-team-card small{display:block;opacity:.78;font-size:10px;margin-left:auto;white-space:nowrap}
.fdf-wc-note{font-size:12px;opacity:.9;margin:10px 0 0;line-height:1.4}
.fdf-worldcup-shell{display:block;padding:4px 0 12px;color:#0f172a}
.fdf-worldcup-hero{display:flex;justify-content:space-between;gap:14px;align-items:center;background:radial-gradient(circle at 0 0,rgba(34,197,94,.20),transparent 34%),linear-gradient(135deg,#071a39,#0f172a);color:#fff;padding:18px;border-radius:18px;margin-bottom:18px;box-shadow:0 16px 34px rgba(2,6,23,.16)}
.fdf-worldcup-hero h2{margin:0 0 6px;font-size:1.7rem;color:#fff}
.fdf-worldcup-hero p{margin:0;opacity:.82;line-height:1.45}
.fdf-wc-btn{border:0;border-radius:999px;background:#16a34a;color:#fff;padding:10px 14px;font-weight:800;cursor:pointer;margin:4px;box-shadow:0 8px 18px rgba(22,163,74,.20)}
.fdf-wc-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.fdf-wc-btn.danger{background:#dc2626;box-shadow:0 8px 18px rgba(220,38,38,.20)}
.fdf-worldcup-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:10px 0 20px}
.fdf-worldcup-group,.fdf-worldcup-ko-stage,.fdf-worldcup-card{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(2,6,23,.07)}
.fdf-worldcup-group h4,.fdf-worldcup-ko-stage h4{margin:0 0 10px;color:#0f172a;font-size:1.05rem}
.fdf-wc-table{font-size:12px;margin-bottom:12px;min-width:0!important}
.fdf-wc-table th{background:#0f766e!important;color:#fff!important}
.fdf-wc-table td:first-child{font-weight:800}
.fdf-wc-table img{width:22px;height:16px;object-fit:cover;border-radius:3px;vertical-align:middle;margin-right:6px;background:#fff;border:1px solid rgba(15,23,42,.12)}
.fdf-wc-table tr.is-user{background:rgba(22,163,74,.10);font-weight:800}
.fdf-wc-matches{display:flex;flex-direction:column;gap:8px}
.fdf-wc-match{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 80px;gap:8px;align-items:center;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#f8fafc;padding:9px;position:relative}
.fdf-wc-match.is-playable{background:linear-gradient(135deg,rgba(22,163,74,.12),rgba(59,130,246,.10));border-color:rgba(22,163,74,.35)}
.fdf-wc-team{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800}
.fdf-wc-team.away{justify-content:flex-end;text-align:right}
.fdf-wc-team img{width:24px;height:18px;object-fit:cover;border-radius:3px;background:#fff;border:1px solid rgba(15,23,42,.12);flex:0 0 auto}
.fdf-wc-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fdf-wc-score{text-align:center;font-weight:900;color:#0f172a;background:#fff;border-radius:10px;padding:6px 4px;border:1px solid rgba(15,23,42,.08)}
.fdf-wc-action{text-align:center}
.fdf-wc-action .btn-jugar-match,.fdf-wc-play-btn{background:#16a34a!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:7px 12px!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important}
.fdf-wc-played,.fdf-wc-wait{font-size:11px;font-weight:800;color:#64748b}
.fdf-wc-meta{grid-column:1/-1;font-size:10px;color:#64748b;padding-top:2px;border-top:1px dashed rgba(15,23,42,.10)}
.fdf-worldcup-knockout{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.fdf-wc-muted{font-size:12px;color:#64748b;background:#f8fafc;border-radius:12px;padding:12px;margin:0}
.fdf-worldcup-champion{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#f59e0b,#fde68a);border-radius:18px;padding:16px;margin:0 0 18px;box-shadow:0 16px 30px rgba(245,158,11,.20)}
.fdf-worldcup-champion img{width:74px;height:54px;object-fit:cover;border-radius:8px;background:#fff;border:2px solid rgba(255,255,255,.7)}
.fdf-worldcup-champion h3{margin:4px 0;color:#111827;font-size:1.45rem}
.fdf-worldcup-next{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#071a39,#0f766e);color:#fff;border-radius:16px;padding:14px;text-align:left}
.fdf-worldcup-next span{opacity:.86;font-size:12px}
.fdf-worldcup-next-teams{display:flex;align-items:center;gap:8px;font-weight:900;flex-wrap:wrap;justify-content:center}
.fdf-worldcup-next-teams img{width:34px;height:24px;object-fit:cover;border-radius:4px;background:#fff;border:1px solid rgba(255,255,255,.4)}
.fdf-worldcup-header .team-division-header{color:#059669!important;font-weight:900!important}
.fdf-wc-modal{position:fixed;inset:0;background:rgba(2,6,23,.78);z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px)}
.fdf-wc-modal-card{position:relative;background:#fff;border-radius:22px;padding:28px;text-align:center;max-width:440px;width:min(100%,440px);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.fdf-wc-modal-card img{width:96px;height:68px;object-fit:cover;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:#fff}
.fdf-wc-trophy{font-size:52px;line-height:1;margin-bottom:8px}
.fdf-wc-modal-card h2{margin:0 0 10px;color:#0f172a}
.fdf-wc-modal-card h3{margin:12px 0 6px;font-size:1.6rem;color:#0f766e}
.fdf-wc-modal-close{position:absolute;top:10px;right:12px;border:0;background:#e5e7eb;color:#111827;border-radius:999px;width:32px;height:32px;font-size:20px;cursor:pointer}
body:has(#fdf-manager) #content-finanzas .fdf-worldcup-card{margin:20px}
@media (max-width:768px){
  .fdf-worldcup-hero{flex-direction:column;align-items:flex-start}
  .fdf-worldcup-team-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));max-height:300px}
  .fdf-worldcup-groups,.fdf-worldcup-knockout{grid-template-columns:1fr}
  .fdf-wc-match{grid-template-columns:1fr 48px 1fr;gap:6px}
  .fdf-wc-action{grid-column:1/-1;text-align:center}
  .fdf-worldcup-next{flex-direction:column;text-align:center}
}

/* ===================================================================
   FDF MANAGER - HOTFIX PERFIL MODO MUNDIAL 2026
   =================================================================== */
.fdf-game-mode-box-hotfix,
#fdf-game-mode-box {
  box-sizing: border-box;
}
#fdf-worldcup-profile-panel {
  display: block;
  margin-top: 14px;
  padding: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #062043 0%, #0f766e 100%);
  color: #fff;
  box-shadow: 0 16px 34px rgba(2, 6, 23, .18);
  border: 1px solid rgba(255,255,255,.18);
}
#fdf-worldcup-profile-panel * {
  box-sizing: border-box;
}
#fdf-worldcup-profile-panel .fdf-wc-profile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
#fdf-worldcup-profile-panel .fdf-wc-profile-head strong {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
  color: #fff;
}
#fdf-worldcup-profile-panel .fdf-wc-profile-head p {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 13px;
  line-height: 1.45;
}
#fdf-worldcup-profile-panel .fdf-wc-profile-label {
  display: block;
  color: #fff;
  font-weight: 800;
  margin: 0 0 8px;
}
#fdf-worldcup-profile-panel select,
#fdf-wc-profile-select {
  width: 100%;
  display: block;
  background: #fff !important;
  color: #111827 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin: 0 0 14px !important;
  min-height: 44px;
  font-weight: 700;
}
.fdf-wc-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  max-height: 360px;
  overflow-y: auto;
  padding: 4px;
  margin: 0 0 14px;
}
.fdf-wc-profile-team {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
  color: #fff;
  border-radius: 12px;
  padding: 9px 10px;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.fdf-wc-profile-team:hover,
.fdf-wc-profile-team.selected {
  background: rgba(255,255,255,.28);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.fdf-wc-profile-team img {
  width: 30px;
  height: 22px;
  object-fit: cover;
  border-radius: 4px;
  background: #fff;
  flex: 0 0 auto;
}
.fdf-wc-profile-team span {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  color: #fff;
  font-weight: 800;
  line-height: 1.1;
}
.fdf-wc-profile-team small {
  display: block;
  color: rgba(255,255,255,.78);
  font-size: 10px;
  white-space: nowrap;
}
#fdf-wc-profile-start {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 0;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(22, 163, 74, .25);
}
#fdf-wc-profile-start:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
@media (max-width: 560px) {
  .fdf-wc-profile-grid {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    max-height: 300px;
  }
  #fdf-worldcup-profile-panel {
    padding: 12px;
  }
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 HARDFIX V3
   Panel independiente y visible en Perfil.
   =================================================================== */
#fdf-worldcup-hard-entry,
#fdf-worldcup-hard-entry * {
  box-sizing: border-box;
}
#fdf-worldcup-hard-entry {
  display: block !important;
  width: 100% !important;
  margin: 18px 0 20px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #071a39 0%, #0f766e 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  box-shadow: 0 18px 42px rgba(2, 6, 23, .22) !important;
  position: relative !important;
  z-index: 50 !important;
  clear: both !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-head strong {
  display: block !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin: 0 0 6px !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-head p {
  margin: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-label {
  display: block !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  margin: 0 0 7px !important;
}
#fdf-worldcup-hard-entry select {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 0 14px !important;
  padding: 11px 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.08) !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  max-height: 360px !important;
  overflow-y: auto !important;
  padding: 4px !important;
  margin: 0 0 16px !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-card {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 2px 8px !important;
  width: 100% !important;
  min-height: 62px !important;
  padding: 9px 10px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-card:hover,
#fdf-worldcup-hard-entry .fdf-wc-hard-card.selected {
  background: rgba(255,255,255,.30) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.18) !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-flag {
  grid-row: 1 / span 2 !important;
  font-size: 25px !important;
  line-height: 1 !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}
#fdf-worldcup-hard-entry .fdf-wc-hard-card small {
  display: block !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}
#fdf-wc-hard-start {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #16a34a !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  box-shadow: 0 12px 24px rgba(22, 163, 74, .25) !important;
}
#fdf-wc-hard-start:hover {
  filter: brightness(1.06) !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 560px) {
  #fdf-worldcup-hard-entry {
    padding: 14px !important;
  }
  #fdf-worldcup-hard-entry .fdf-wc-hard-grid {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)) !important;
    max-height: 320px !important;
  }
}

/* ===================================================================
   FDF MANAGER - MUNDIAL 2026 FIX V4 UI
   =================================================================== */
.fdf-worldcup-shell,
#content-fixture,
#content-posiciones {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.fdf-worldcup-groups,
.fdf-worldcup-knockout {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  box-sizing: border-box;
}

.fdf-worldcup-group,
.fdf-worldcup-ko-stage {
  min-width: 0 !important;
  max-width: 100%;
  overflow-x: auto;
  box-sizing: border-box;
}

.fdf-wc-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto;
}

.fdf-wc-table th,
.fdf-wc-table td {
  padding: 7px 6px !important;
  box-sizing: border-box;
}

.fdf-wc-table th:nth-child(2),
.fdf-wc-table td:nth-child(2) {
  text-align: left !important;
  min-width: 92px;
  white-space: normal !important;
  line-height: 1.25;
}

.fdf-wc-table td:nth-child(2) img {
  margin-right: 7px;
  flex: 0 0 auto;
}

.fdf-wc-match {
  grid-template-columns: minmax(128px, 1fr) 64px minmax(128px, 1fr) 86px !important;
  align-items: center;
}

.fdf-wc-team,
.fdf-wc-team.away {
  justify-content: flex-start !important;
  text-align: left !important;
  min-width: 0;
}

.fdf-wc-team.away img {
  order: -1;
}

.fdf-wc-team span {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.18;
  min-width: 0;
}

.fdf-wc-score {
  min-width: 54px;
}

@media (max-width: 760px) {
  .fdf-worldcup-groups,
  .fdf-worldcup-knockout {
    grid-template-columns: 1fr !important;
  }
  .fdf-wc-match {
    grid-template-columns: 1fr 54px !important;
  }
  .fdf-wc-team.away {
    grid-column: 1 / 2;
  }
  .fdf-wc-action {
    grid-column: 2 / 3 !important;
    grid-row: 1 / span 2;
  }
  .fdf-wc-meta {
    grid-column: 1 / -1 !important;
  }
}

/* ============================================================
   Mundial 2026 Fix V5 - perfil limpio, tablas responsive y layout
   ============================================================ */
#fdf-worldcup-hard-entry ~ #fdf-game-mode-box,
#fdf-worldcup-hard-entry ~ .fdf-game-mode-box,
#fdf-game-mode-box[aria-hidden="true"] {
  display: none !important;
}

body:has(#fdf-worldcup-hard-entry) #pantalla-perfil > #fdf-game-mode-box,
body:has(#fdf-worldcup-hard-entry) #pantalla-perfil .fdf-game-mode-box-hotfix {
  display: none !important;
}

.fdf-worldcup-shell {
  max-width: 100%;
  overflow: hidden;
}

.fdf-worldcup-groups {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  overflow: hidden;
  box-sizing: border-box;
}

.fdf-worldcup-group {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.fdf-worldcup-group .fdf-wc-table {
  table-layout: auto;
  width: 100%;
  max-width: 100%;
}

.fdf-worldcup-group .fdf-wc-table th,
.fdf-worldcup-group .fdf-wc-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.fdf-worldcup-group .fdf-wc-table td:nth-child(2) {
  text-align: left !important;
  min-width: 128px;
}

.fdf-worldcup-group .fdf-wc-table td:nth-child(2) img {
  vertical-align: middle;
  margin-right: 6px;
}

.fdf-wc-match {
  grid-template-columns: minmax(95px, 1fr) 64px minmax(95px, 1fr) 64px;
  align-items: center;
}

.fdf-wc-team,
.fdf-wc-team.away {
  min-width: 0;
  justify-content: flex-start;
  text-align: left;
}

.fdf-wc-team span {
  min-width: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.2;
}

.fdf-wc-team.away span {
  text-align: left;
}

.fdf-wc-score {
  min-width: 54px;
}

@media (max-width: 920px) {
  .fdf-worldcup-groups {
    grid-template-columns: 1fr;
  }
  .fdf-wc-match {
    grid-template-columns: 1fr 54px 1fr;
  }
  .fdf-wc-action {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  .fdf-wc-meta {
    grid-column: 1 / -1;
  }
}

/* =========================================================
   FDF Manager - Mundial 2026 Fix V6
   Fixture por pestañas, poder OVR, tablas contenidas.
   ========================================================= */
.fdf-worldcup-v6 .fdf-wc-phase-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 16px;
  padding:8px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
}
.fdf-worldcup-v6 .fdf-wc-phase-tab{
  border:1px solid rgba(0,123,94,.22);
  background:#fff;
  color:#083344;
  padding:10px 13px;
  border-radius:999px;
  cursor:pointer;
  font-weight:800;
  font-size:13px;
  transition:all .2s ease;
}
.fdf-worldcup-v6 .fdf-wc-phase-tab:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.fdf-worldcup-v6 .fdf-wc-phase-tab.active{
  background:linear-gradient(135deg,#007b5e,#0f766e);
  color:#fff;
  border-color:#007b5e;
}
.fdf-worldcup-v6 .fdf-wc-phase-tab.disabled,
.fdf-worldcup-v6 .fdf-wc-phase-tab:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.fdf-worldcup-v6 .fdf-wc-phase-content{
  width:100%;
  overflow:hidden;
}
.fdf-worldcup-v6 .fdf-worldcup-stage-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.fdf-worldcup-v6 .fdf-wc-stage-matches{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
}
.fdf-worldcup-v6 .fdf-wc-match{
  grid-template-columns:minmax(0,1fr) 64px 92px minmax(0,1fr) 72px;
  align-items:center;
}
.fdf-worldcup-v6 .fdf-wc-team{
  min-width:0;
  justify-content:flex-start;
  text-align:left;
}
.fdf-worldcup-v6 .fdf-wc-team span{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.15;
  word-break:normal;
}
.fdf-worldcup-v6 .fdf-wc-team.away{
  justify-content:flex-end;
  text-align:right;
}
.fdf-worldcup-v6 .fdf-wc-power{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:#eefbf5;
  border:1px solid rgba(16,185,129,.22);
  border-radius:999px;
  padding:5px 7px;
  font-size:11px;
  color:#064e3b;
  white-space:nowrap;
}
.fdf-worldcup-v6 .fdf-wc-power span{
  font-weight:800;
  opacity:.8;
}
.fdf-worldcup-v6 .fdf-wc-power b{
  font-size:13px;
  color:#022c22;
}
.fdf-worldcup-v6 .fdf-wc-power small{
  opacity:.65;
}
.fdf-worldcup-v6 .fdf-worldcup-groups{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  max-width:100%;
  overflow:hidden;
}
.fdf-worldcup-v6 .fdf-worldcup-group{
  min-width:0;
  overflow:hidden;
}
.fdf-worldcup-v6 .fdf-worldcup-group .posiciones-table,
.fdf-worldcup-v6 .fdf-wc-table{
  table-layout:auto;
  width:100%;
  max-width:100%;
}
.fdf-worldcup-v6 .fdf-worldcup-group table td,
.fdf-worldcup-v6 .fdf-worldcup-group table th{
  padding:7px 6px;
}
.fdf-worldcup-v6 .fdf-worldcup-group table td:nth-child(2){
  text-align:left;
  min-width:110px;
}
.fdf-worldcup-v6 .fdf-worldcup-group table td:nth-child(2) img{
  width:22px;
  height:16px;
  object-fit:contain;
  vertical-align:middle;
  margin-right:5px;
}
@media (max-width: 720px){
  .fdf-worldcup-v6 .fdf-wc-stage-matches,
  .fdf-worldcup-v6 .fdf-worldcup-groups{
    grid-template-columns:1fr;
  }
  .fdf-worldcup-v6 .fdf-wc-match{
    grid-template-columns:1fr 50px 76px 1fr;
  }
  .fdf-worldcup-v6 .fdf-wc-action,
  .fdf-worldcup-v6 .fdf-wc-meta{
    grid-column:1 / -1;
  }
  .fdf-worldcup-v6 .fdf-wc-power{
    font-size:10px;
    padding:4px 5px;
  }
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V8
   Fixture OVR circular + foto estable en tácticas
   =================================================================== */
.fdf-worldcup-v8 .fdf-wc-match-v8{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 70px !important;
  grid-template-areas:
    "home score away action"
    "meta meta meta meta" !important;
  align-items:center !important;
  gap:10px 12px !important;
  min-height:94px !important;
  padding:14px 12px 10px !important;
}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-team-v8.home{grid-area:home;}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-team-v8.away{grid-area:away;}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-score-v8{grid-area:score;}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-action{grid-area:action;justify-self:end;}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-meta{grid-area:meta;}
.fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-power{display:none !important;}
.fdf-worldcup-v8 .fdf-wc-team-v8{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.fdf-worldcup-v8 .fdf-wc-team-v8.away{align-items:flex-end;text-align:right;}
.fdf-worldcup-v8 .fdf-wc-team-band{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  width:100%;
}
.fdf-worldcup-v8 .fdf-wc-team-v8.away .fdf-wc-team-band{justify-content:flex-end;}
.fdf-worldcup-v8 .fdf-wc-team-band img{
  width:25px;
  height:18px;
  object-fit:cover;
  border-radius:3px;
  background:#fff;
  border:1px solid rgba(15,23,42,.14);
  flex:0 0 auto;
}
.fdf-worldcup-v8 .fdf-wc-team-band span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.04;
  font-size:13px;
  font-weight:850;
  color:#111827;
}
.fdf-worldcup-v8 .fdf-wc-team-ovr-row{
  display:flex;
  width:100%;
  padding-left:32px;
}
.fdf-worldcup-v8 .fdf-wc-team-v8.away .fdf-wc-team-ovr-row{
  justify-content:flex-end;
  padding-left:0;
  padding-right:32px;
}
.fdf-worldcup-v8 .fdf-wc-ovr-dot{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.3px;
  box-shadow:0 4px 12px rgba(15,23,42,.18), inset 0 0 0 2px rgba(255,255,255,.35);
  border:2px solid rgba(255,255,255,.95);
}
.fdf-worldcup-v8 .fdf-wc-ovr-dot.elite{background:#0f766e;}
.fdf-worldcup-v8 .fdf-wc-ovr-dot.high{background:#16a34a;}
.fdf-worldcup-v8 .fdf-wc-ovr-dot.mid{background:#ca8a04;}
.fdf-worldcup-v8 .fdf-wc-ovr-dot.low{background:#ea580c;}
.fdf-worldcup-v8 .fdf-wc-ovr-dot.poor{background:#dc2626;}
.fdf-worldcup-v8 .fdf-wc-score-v8{
  width:64px;
  min-height:44px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(148,163,184,.32);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:900;
  color:#0f172a;
  box-shadow:0 4px 13px rgba(15,23,42,.05);
}
.fdf-worldcup-v8 .fdf-wc-score-v8 small{
  display:block;
  font-size:9px;
  margin-left:3px;
  color:#64748b;
}
#cancha-tacticas .jugador-img-drop.fdf-wc-tactics-photo,
#banco-suplentes .jugador-img-drop.fdf-wc-tactics-photo{
  background-image:none !important;
  background-color:transparent !important;
  overflow:visible !important;
}
#cancha-tacticas .jugador-img-drop .fdf-tactics-player-img,
#banco-suplentes .jugador-img-drop .fdf-tactics-player-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:block;
  background:#e5e7eb;
  border:2px solid rgba(255,255,255,.94);
  box-shadow:0 3px 8px rgba(0,0,0,.22);
  z-index:0;
}
#cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch,
#banco-suplentes .jugador-img-drop .fdf-flag.on-pitch,
#cancha-tacticas .jugador-img-drop .player-badge,
#banco-suplentes .jugador-img-drop .player-badge{
  z-index:2;
}
@media (max-width:768px){
  .fdf-worldcup-v8 .fdf-wc-match-v8{
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
    grid-template-areas:
      "home score away"
      "action action action"
      "meta meta meta" !important;
  }
  .fdf-worldcup-v8 .fdf-wc-match-v8 .fdf-wc-action{justify-self:center;}
  .fdf-worldcup-v8 .fdf-wc-team-band span{font-size:12px;}
  .fdf-worldcup-v8 .fdf-wc-ovr-dot{width:30px;height:30px;font-size:12px;}
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V9
   Avatares locales de silueta + OVR limpio debajo de cada selección
   =================================================================== */
.fdf-worldcup-v9 .fdf-wc-match-v8{
  grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr) 62px !important;
  gap:8px 10px !important;
  min-height:96px !important;
}
.fdf-worldcup-v9 .fdf-wc-team-v8{
  gap:3px !important;
}
.fdf-worldcup-v9 .fdf-wc-team-band{
  min-height:26px;
  align-items:flex-start !important;
}
.fdf-worldcup-v9 .fdf-wc-team-band span{
  font-size:13px !important;
  line-height:1.06 !important;
  max-width:100%;
}
.fdf-worldcup-v9 .fdf-wc-team-ovr-row{
  width:100%;
  padding:0 !important;
  margin-top:2px;
  justify-content:flex-start !important;
}
.fdf-worldcup-v9 .fdf-wc-team-v8.away .fdf-wc-team-ovr-row{
  justify-content:flex-end !important;
  padding:0 !important;
}
.fdf-worldcup-v9 .fdf-wc-ovr-dot{
  width:31px !important;
  height:31px !important;
  font-size:12px !important;
  line-height:1 !important;
  box-shadow:0 3px 9px rgba(15,23,42,.18), inset 0 0 0 2px rgba(255,255,255,.45) !important;
}
#cancha-tacticas .jugador-img-drop.fdf-wc-silhouette-photo,
#banco-suplentes .jugador-img-drop.fdf-wc-silhouette-photo{
  background:#0f172a !important;
  border-radius:50% !important;
  overflow:hidden !important;
}
#cancha-tacticas .jugador-img-drop .fdf-wc-silhouette-img,
#banco-suplentes .jugador-img-drop .fdf-wc-silhouette-img{
  object-fit:cover !important;
  object-position:center center !important;
  background:#0f172a !important;
}
.player-row img[src*="/assets/img/worldcup/generic/"]{
  background:#0f172a !important;
  object-fit:cover !important;
  border-radius:50% !important;
}
@media (max-width:768px){
  .fdf-worldcup-v9 .fdf-wc-match-v8{
    grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) !important;
  }
  .fdf-worldcup-v9 .fdf-wc-team-band span{font-size:12px !important;}
  .fdf-worldcup-v9 .fdf-wc-ovr-dot{width:28px !important;height:28px !important;font-size:11px !important;}
}


/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V12
   Botón directo + avatares locales pulidos.
   =================================================================== */
#pantalla-perfil .fdf-game-mode-box.fdf-wc-hide-old-mode-select,
#pantalla-perfil #fdf-game-mode-box.fdf-wc-hide-old-mode-select{
  display:none !important;
}
.fdf-wc-quick-start-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 22px;
  padding:18px 20px;
  border-radius:18px;
  color:#fff;
  background:radial-gradient(circle at 0 0, rgba(34,197,94,.20), transparent 35%), linear-gradient(135deg,#071a39,#0f766e);
  box-shadow:0 14px 34px rgba(2,6,23,.18);
}
.fdf-wc-quick-copy{display:flex;flex-direction:column;gap:5px;line-height:1.25;}
.fdf-wc-quick-copy strong{font-size:24px;font-weight:1000;letter-spacing:-.02em;}
.fdf-wc-quick-copy span{font-size:14px;font-weight:700;opacity:.9;}
#fdf-wc-quick-start-btn{
  flex:0 0 auto;
  min-width:190px;
  border:0;
  border-radius:999px;
  padding:14px 20px;
  font-weight:1000;
  color:#082f49;
  background:linear-gradient(135deg,#fef08a,#facc15);
  cursor:pointer;
  box-shadow:0 12px 28px rgba(250,204,21,.24);
}
#fdf-wc-quick-start-btn:hover{transform:translateY(-1px);filter:saturate(1.06);}
.player-photo[src*="/assets/img/worldcup/generic/"],
.player-detail-photo[src*="/assets/img/worldcup/generic/"],
#lista-plantel-tacticas img[src*="/assets/img/worldcup/generic/"],
#modal-body img[src*="/assets/img/worldcup/generic/"],
.fdf-match-player-photo[src*="/assets/img/worldcup/generic/"],
.fdf-tactics-player-img[src*="/assets/img/worldcup/generic/"]{
  object-fit:cover !important;
  object-position:center center !important;
  background:#0b1220 !important;
}
#cancha-tacticas .jugador-img-drop.fdf-wc-avatar-v12,
#banco-suplentes .jugador-img-drop.fdf-wc-avatar-v12,
#cancha-tacticas .jugador-img-drop.fdf-wc-silhouette-photo,
#banco-suplentes .jugador-img-drop.fdf-wc-silhouette-photo{
  background:#0b1220 !important;
  border:2px solid rgba(255,255,255,.92) !important;
  border-radius:50% !important;
  overflow:hidden !important;
  box-shadow:0 3px 9px rgba(2,6,23,.30) !important;
}
#cancha-tacticas .jugador-img-drop .fdf-wc-avatar-v12-img,
#banco-suplentes .jugador-img-drop .fdf-wc-avatar-v12-img,
#cancha-tacticas .jugador-img-drop .fdf-wc-silhouette-img,
#banco-suplentes .jugador-img-drop .fdf-wc-silhouette-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:none !important;
}
.fdf-match-player-photo.fdf-wc-match-avatar-v12,
.fdf-match-player-photo[src*="/assets/img/worldcup/generic/"]{
  border-radius:50% !important;
  background:#0b1220 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.34), inset 0 0 0 2px rgba(255,255,255,.55) !important;
}
.player-card .player-photo[src*="/assets/img/worldcup/generic/"],
.player-detail-photo[src*="/assets/img/worldcup/generic/"]{
  filter:saturate(1.04) contrast(1.02);
}
@media (max-width:768px){
  .fdf-wc-quick-start-box{flex-direction:column;align-items:stretch;text-align:left;}
  #fdf-wc-quick-start-btn{width:100%;}
}


/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V13
   Oculta selector duplicado + avatares V13 + previa estática.
   =================================================================== */
#pantalla-perfil #fdf-game-mode-box,
#pantalla-perfil .fdf-game-mode-box,
#pantalla-perfil .fdf-game-mode-box-hotfix,
#fdf-game-mode-box.fdf-wc-v13-hidden-old-selector,
.fdf-game-mode-box.fdf-wc-v13-hidden-old-selector,
.fdf-game-mode-box-hotfix.fdf-wc-v13-hidden-old-selector{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
#pantalla-perfil #fdf-wc-quick-start-box{
  display:flex !important;
  visibility:visible !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 0 22px !important;
  padding:18px 20px !important;
  overflow:visible !important;
  pointer-events:auto !important;
}
.player-photo[src*="/assets/img/worldcup/generic/"][src*="v=13"],
.player-detail-photo[src*="/assets/img/worldcup/generic/"][src*="v=13"],
#lista-plantel-tacticas img[src*="/assets/img/worldcup/generic/"][src*="v=13"],
#modal-body img[src*="/assets/img/worldcup/generic/"][src*="v=13"],
.fdf-match-player-photo[src*="/assets/img/worldcup/generic/"][src*="v=13"],
.fdf-tactics-player-img[src*="/assets/img/worldcup/generic/"][src*="v=13"]{
  object-fit:cover !important;
  object-position:center center !important;
  background:#07111f !important;
  image-rendering:auto !important;
}
#cancha-tacticas .jugador-img-drop .fdf-wc-avatar-v13-img,
#banco-suplentes .jugador-img-drop .fdf-wc-avatar-v13-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.fdf-match-player-photo.fdf-wc-match-avatar-v13,
.fdf-match-player-photo[src*="/assets/img/worldcup/generic/"][src*="v=13"]{
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#07111f !important;
  transform:translateX(-50%) !important;
  animation:none !important;
}
.cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node,
#modal-match-backdrop .cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node,
.cancha-futbol.fdf-wc-prematch-static .fdf-match-player-chip,
#modal-match-backdrop .cancha-futbol.fdf-wc-prematch-static .fdf-match-player-chip,
.cancha-futbol.fdf-wc-prematch-static .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-wc-prematch-static .fdf-match-player-photo{
  animation:none !important;
  transition:none !important;
  will-change:auto !important;
  filter:none !important;
}
.cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
.cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .cancha-futbol.fdf-wc-prematch-static .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo{
  transform:translateX(-50%) !important;
  animation:none !important;
}


/* ===================================================================
   FDF MANAGER - MODO MUNDIAL FIX V14
   Hotfix anti-bloqueo + selector único + previa estática segura.
   =================================================================== */
#pantalla-perfil #fdf-game-mode-box,
#pantalla-perfil .fdf-game-mode-box,
#pantalla-perfil .fdf-game-mode-box-hotfix,
#fdf-game-mode-box.fdf-wc-v14-hidden-old-selector,
.fdf-game-mode-box.fdf-wc-v14-hidden-old-selector,
.fdf-game-mode-box-hotfix.fdf-wc-v14-hidden-old-selector{
  display:none !important;
}
#fdf-wc-quick-start-box{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:24px 0 28px;
  padding:22px 28px;
  border-radius:18px;
  background:linear-gradient(135deg,#07324a 0%,#007b5e 100%);
  color:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
#fdf-wc-quick-start-box .fdf-wc-quick-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700;
}
#fdf-wc-quick-start-box .fdf-wc-quick-copy strong{font-size:26px;line-height:1.1;}
#fdf-wc-quick-start-box .fdf-wc-quick-copy span{font-size:16px;font-weight:600;opacity:.95;}
#fdf-wc-quick-start-btn{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:16px 28px;
  background:linear-gradient(135deg,#fff176,#fbc02d);
  color:#0f172a;
  font-weight:900;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(251,192,45,.28);
}
#fdf-wc-quick-start-btn:hover{transform:translateY(-1px);filter:brightness(1.03);}
.fdf-wc-prematch-static .fdf-match-player-node,
.fdf-wc-prematch-static .fdf-match-player-photo,
.fdf-wc-prematch-static .jugador,
.fdf-wc-prematch-static .player-dot{
  animation:none !important;
  transition:none !important;
  transform:none !important;
}
img.fdf-wc-avatar-v14-img,
img.fdf-wc-match-avatar-v14{
  object-fit:cover !important;
  object-position:center !important;
  background:transparent !important;
}
@media (max-width: 720px){
  #fdf-wc-quick-start-box{flex-direction:column;align-items:flex-start;padding:20px;}
  #fdf-wc-quick-start-btn{width:100%;}
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V15
   Selector único: se oculta el panel legacy y se mantiene el botón rápido.
   =================================================================== */
#fdf-worldcup-hard-entry,
#pantalla-perfil #fdf-game-mode-box.fdf-wc-v15-hidden-old-selector,
#pantalla-perfil .fdf-game-mode-box.fdf-wc-v15-hidden-old-selector,
#pantalla-perfil .fdf-game-mode-box-hotfix.fdf-wc-v15-hidden-old-selector,
#fdf-worldcup-selector.fdf-wc-v15-hidden-old-selector{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v15-panel{
  display:block;
  margin:0 0 22px;
}
#fdf-worldcup-profile-panel .fdf-wc-v15-start{
  width:100%;
  margin:0;
  justify-content:center;
  font-size:15px;
}
#fdf-worldcup-profile-panel .fdf-wc-profile-team.selected,
#fdf-worldcup-profile-panel .fdf-wc-profile-team[aria-pressed="true"]{
  background:rgba(255,255,255,.30) !important;
  border-color:rgba(255,255,255,.62) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V16 UI
   Blindaje de scroll/click/select del panel único de selecciones.
   =================================================================== */
#fdf-worldcup-profile-panel.fdf-wc-v16-panel,
#pantalla-perfil #fdf-worldcup-profile-panel.fdf-wc-v16-panel{
  display:block !important;
  visibility:visible !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:999999 !important;
  isolation:isolate !important;
  margin:0 0 22px !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel *,
#fdf-worldcup-profile-panel.fdf-wc-v16-panel select,
#fdf-worldcup-profile-panel.fdf-wc-v16-panel button{
  pointer-events:auto !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel #fdf-wc-profile-select{
  position:relative !important;
  z-index:3 !important;
  cursor:pointer !important;
  touch-action:auto !important;
  -webkit-user-select:auto !important;
  user-select:auto !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap:10px !important;
  max-height:360px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2 !important;
  scrollbar-gutter:stable !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-team{
  pointer-events:auto !important;
  position:relative !important;
  z-index:3 !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-flag{
  width:30px !important;
  min-width:30px !important;
  height:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
  line-height:1 !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-v16-start,
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-v15-start,
#fdf-worldcup-profile-panel.fdf-wc-v16-panel #fdf-wc-profile-start{
  pointer-events:auto !important;
  position:relative !important;
  z-index:3 !important;
  cursor:pointer !important;
}
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-team.selected,
#fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-team[aria-pressed="true"]{
  background:rgba(255,255,255,.32) !important;
  border-color:rgba(255,255,255,.72) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.24) !important;
}
#fdf-worldcup-hard-entry,
#pantalla-perfil #fdf-game-mode-box.fdf-wc-v16-hidden-old-selector,
#pantalla-perfil .fdf-game-mode-box.fdf-wc-v16-hidden-old-selector,
#pantalla-perfil .fdf-game-mode-box-hotfix.fdf-wc-v16-hidden-old-selector,
#fdf-worldcup-selector.fdf-wc-v16-hidden-old-selector{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
@media (max-width:560px){
  #fdf-worldcup-profile-panel.fdf-wc-v16-panel .fdf-wc-profile-grid{
    grid-template-columns:repeat(auto-fill, minmax(132px, 1fr)) !important;
    max-height:320px !important;
  }
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V17 UI
   Panel propio para evitar bloqueo de listeners previos y ocultar clubes.
   =================================================================== */
#fdf-wc-quick-start-box.fdf-wc-v17-quick-box,
#pantalla-perfil #fdf-wc-quick-start-box.fdf-wc-v17-quick-box{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:50 !important;
}
#fdf-wc-v17-quick-start-btn{
  flex:0 0 auto;
  min-width:190px;
  border:0;
  border-radius:999px;
  padding:16px 28px;
  background:linear-gradient(135deg,#fff176,#fbc02d);
  color:#0f172a;
  font-weight:900;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(251,192,45,.28);
  pointer-events:auto !important;
}
#fdf-wc-v17-quick-start-btn:hover{transform:translateY(-1px);filter:brightness(1.03);}
#fdf-worldcup-profile-panel.fdf-wc-v17-disabled,
#fdf-worldcup-hard-entry.fdf-wc-v17-disabled,
#fdf-game-mode-box.fdf-wc-v17-disabled,
.fdf-game-mode-box.fdf-wc-v17-disabled,
.fdf-game-mode-box-hotfix.fdf-wc-v17-disabled,
#fdf-worldcup-selector.fdf-wc-v17-disabled{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
body.fdf-wc-v17-active #pantalla-perfil #clubes-disponibles,
body.fdf-wc-v17-active #clubes-disponibles,
body.fdf-wc-v17-active #clubes-lista,
body.fdf-wc-v17-active #equipos-disponibles,
body.fdf-wc-v17-active #lista-clubes,
body.fdf-wc-v17-active .clubes-disponibles,
body.fdf-wc-v17-active .clubes-grid,
body.fdf-wc-v17-active .seleccion-clubes,
body.fdf-wc-v17-active .club-card-wrap{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#fdf-worldcup-v17-panel{
  display:block;
  margin:0 0 22px;
  padding:18px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(145deg,#082f49 0%, #064e5f 55%, #0f766e 100%);
  box-shadow:0 16px 36px rgba(2,6,23,.24);
  position:relative !important;
  z-index:60 !important;
  pointer-events:auto !important;
  overflow:visible !important;
  isolation:isolate;
}
#fdf-worldcup-v17-panel,
#fdf-worldcup-v17-panel *{
  pointer-events:auto !important;
  box-sizing:border-box;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-head strong{
  display:block;
  font-size:20px;
  font-weight:1000;
  margin-bottom:8px;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-head p{
  margin:0 0 16px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.45;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-label{
  display:block;
  margin:0 0 8px;
  font-weight:1000;
  font-size:19px;
}
#fdf-wc-v17-select{
  display:block !important;
  width:100% !important;
  min-height:52px;
  margin:0 0 14px !important;
  padding:12px 16px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:16px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:4 !important;
  touch-action:auto !important;
  -webkit-user-select:auto !important;
  user-select:auto !important;
}
#fdf-wc-v17-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)) !important;
  gap:10px !important;
  max-height:360px !important;
  min-height:190px;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2 !important;
  padding:0 6px 12px 4px !important;
  scrollbar-gutter:stable !important;
}
#fdf-wc-v17-grid::-webkit-scrollbar{width:14px;}
#fdf-wc-v17-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.18);border-radius:999px;}
#fdf-wc-v17-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.70);border-radius:999px;border:3px solid rgba(8,47,73,.65);}
#fdf-wc-v17-grid::-webkit-scrollbar-thumb:hover{background:#fff;}
#fdf-worldcup-v17-panel .fdf-wc-v17-team{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:64px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:11px;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer !important;
  text-align:left;
  font-weight:900;
  box-shadow:none;
  touch-action:manipulation !important;
  position:relative !important;
  z-index:3 !important;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-team:hover{
  background:rgba(255,255,255,.20);
  border-color:rgba(255,255,255,.42);
}
#fdf-worldcup-v17-panel .fdf-wc-v17-team.selected,
#fdf-worldcup-v17-panel .fdf-wc-v17-team[aria-pressed="true"]{
  background:rgba(255,255,255,.32) !important;
  border-color:rgba(255,255,255,.78) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.24) !important;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-team img,
#fdf-worldcup-v17-panel .fdf-wc-v17-flag{
  width:34px !important;
  height:24px !important;
  object-fit:cover !important;
  border-radius:3px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-name{
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.12;
}
#fdf-worldcup-v17-panel .fdf-wc-v17-team small{
  color:rgba(255,255,255,.78);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
#fdf-wc-v17-start{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:16px 0 0 !important;
  padding:14px 18px;
  border:0;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-size:16px;
  font-weight:1000;
  cursor:pointer !important;
  position:relative !important;
  z-index:3 !important;
  box-shadow:0 10px 24px rgba(22,163,74,.24);
}
#fdf-wc-v17-start:hover{filter:brightness(1.04);transform:translateY(-1px);}
@media (max-width:720px){
  #fdf-wc-v17-quick-start-btn{width:100%;}
  #fdf-wc-v17-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)) !important;max-height:320px !important;}
  #fdf-worldcup-v17-panel .fdf-wc-v17-team{grid-template-columns:34px minmax(0,1fr);}
  #fdf-worldcup-v17-panel .fdf-wc-v17-team small{grid-column:2;}
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 SELECTOR DEFINITIVO V18
   =================================================================== */
#fdf-wc-quick-start-box.fdf-wc-v18-quick-box,
#pantalla-perfil #fdf-wc-quick-start-box.fdf-wc-v18-quick-box{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  margin:24px 0 28px !important;
  padding:22px 28px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#07324a 0%,#007b5e 100%) !important;
  color:#fff !important;
  box-shadow:0 12px 32px rgba(0,0,0,.16) !important;
  visibility:visible !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:80 !important;
}
#fdf-wc-v18-quick-start-btn{
  flex:0 0 auto;
  min-width:190px;
  border:0 !important;
  border-radius:999px !important;
  padding:16px 28px !important;
  background:linear-gradient(135deg,#fff176,#fbc02d) !important;
  color:#0f172a !important;
  font-weight:900 !important;
  font-size:16px !important;
  cursor:pointer !important;
  box-shadow:0 12px 28px rgba(251,192,45,.28) !important;
  pointer-events:auto !important;
}
#fdf-wc-v18-quick-start-btn:hover{transform:translateY(-1px);filter:brightness(1.03);}
#fdf-wc-quick-start-box #fdf-wc-quick-start-btn,
#fdf-wc-quick-start-box #fdf-wc-v17-quick-start-btn{display:none !important; visibility:hidden !important; pointer-events:none !important;}
#fdf-worldcup-profile-panel.fdf-wc-v18-legacy-hidden,
#fdf-worldcup-hard-entry.fdf-wc-v18-legacy-hidden,
#fdf-worldcup-v17-panel.fdf-wc-v18-legacy-hidden,
#fdf-game-mode-box.fdf-wc-v18-legacy-hidden,
.fdf-game-mode-box.fdf-wc-v18-legacy-hidden,
.fdf-game-mode-box-hotfix.fdf-wc-v18-legacy-hidden,
#fdf-worldcup-selector.fdf-wc-v18-legacy-hidden{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
body.fdf-wc-v18-selecting #pantalla-perfil #clubes-disponibles,
body.fdf-wc-v18-selecting #clubes-disponibles,
body.fdf-wc-v18-selecting #clubes-lista,
body.fdf-wc-v18-selecting #equipos-disponibles,
body.fdf-wc-v18-selecting #lista-clubes,
body.fdf-wc-v18-selecting .clubes-disponibles,
body.fdf-wc-v18-selecting .clubes-grid,
body.fdf-wc-v18-selecting .seleccion-clubes,
body.fdf-wc-v18-selecting .club-card-wrap{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#fdf-worldcup-v18-panel{
  display:block;
  margin:0 0 24px !important;
  padding:20px !important;
  border-radius:18px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#082f49 0%, #064e5f 55%, #0f766e 100%) !important;
  box-shadow:0 16px 36px rgba(2,6,23,.24) !important;
  border:0 !important;
  position:relative !important;
  z-index:90 !important;
  pointer-events:auto !important;
  overflow:visible !important;
  isolation:isolate;
}
#fdf-worldcup-v18-panel,
#fdf-worldcup-v18-panel *{
  box-sizing:border-box !important;
  pointer-events:auto !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-head strong{
  display:block;
  font-size:22px;
  font-weight:1000;
  margin-bottom:8px;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-head p{
  margin:0 0 16px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.45;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-label{
  display:block;
  margin:0 0 8px;
  color:#fff;
  font-weight:1000;
  font-size:19px;
}
#fdf-wc-v18-select{
  display:block !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 0 16px !important;
  padding:12px 16px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:16px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:6 !important;
  touch-action:auto !important;
  -webkit-user-select:auto !important;
  user-select:auto !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}
#fdf-wc-v18-groups{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  max-height:62vh !important;
  min-height:280px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  padding:0 8px 12px 0 !important;
  scrollbar-gutter:stable !important;
  position:relative !important;
  z-index:2 !important;
}
#fdf-wc-v18-groups::-webkit-scrollbar{width:14px;}
#fdf-wc-v18-groups::-webkit-scrollbar-track{background:rgba(255,255,255,.18);border-radius:999px;}
#fdf-wc-v18-groups::-webkit-scrollbar-thumb{background:rgba(255,255,255,.76);border-radius:999px;border:3px solid rgba(8,47,73,.65);}
#fdf-wc-v18-groups::-webkit-scrollbar-thumb:hover{background:#fff;}
#fdf-worldcup-v18-panel .fdf-wc-v18-group{
  border-bottom:1px solid rgba(255,255,255,.16);
  padding-bottom:12px;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-group h4{
  margin:0 0 8px !important;
  color:rgba(255,255,255,.94) !important;
  font-size:13px !important;
  font-weight:1000 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-group-row{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-team{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  min-height:64px !important;
  padding:10px 12px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  cursor:pointer !important;
  text-align:left !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  box-shadow:none !important;
  touch-action:manipulation !important;
  position:relative !important;
  z-index:3 !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-team:hover{
  background:rgba(255,255,255,.20) !important;
  border-color:rgba(255,255,255,.46) !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-team.selected,
#fdf-worldcup-v18-panel .fdf-wc-v18-team[aria-pressed="true"]{
  background:rgba(255,255,255,.34) !important;
  border-color:rgba(255,255,255,.86) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.24) !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-team img,
#fdf-worldcup-v18-panel .fdf-wc-v18-flag{
  width:36px !important;
  height:25px !important;
  object-fit:cover !important;
  border-radius:3px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
}
#fdf-worldcup-v18-panel .fdf-wc-v18-team span{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}
#fdf-wc-v18-start{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:14px 18px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#16a34a !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:1000 !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:4 !important;
  box-shadow:0 10px 24px rgba(22,163,74,.24) !important;
}
#fdf-wc-v18-start:hover{filter:brightness(1.04);transform:translateY(-1px);}
@media (max-width:900px){
  #fdf-worldcup-v18-panel .fdf-wc-v18-group-row{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
}
@media (max-width:560px){
  #fdf-wc-quick-start-box.fdf-wc-v18-quick-box{flex-direction:column !important;align-items:flex-start !important;padding:20px !important;}
  #fdf-wc-v18-quick-start-btn{width:100% !important;}
  #fdf-worldcup-v18-panel .fdf-wc-v18-group-row{grid-template-columns:1fr !important;}
  #fdf-wc-v18-groups{max-height:56vh !important;}
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 RUNTIME FIX V19
   =================================================================== */
#fdf-wc-v18-start.is-loading,
#fdf-wc-v18-start:disabled{
  opacity:.86 !important;
  cursor:wait !important;
  filter:saturate(.92) !important;
  transform:none !important;
}
.fdf-wc-v19-loading{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(2,6,23,.58);
  backdrop-filter:blur(3px);
  z-index:999999;
  padding:20px;
}
.fdf-wc-v19-loading-card{
  width:min(380px,92vw);
  border-radius:18px;
  background:linear-gradient(145deg,#082f49 0%,#065f46 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
  padding:28px 24px;
  text-align:center;
  border:1px solid rgba(255,255,255,.16);
}
.fdf-wc-v19-loading-card strong{
  display:block;
  font-size:22px;
  font-weight:1000;
  margin:12px 0 8px;
}
.fdf-wc-v19-loading-card small{
  display:block;
  color:rgba(255,255,255,.84);
  font-weight:700;
  line-height:1.35;
}
.fdf-wc-v19-spinner{
  width:46px;
  height:46px;
  margin:0 auto 8px;
  border-radius:50%;
  border:5px solid rgba(255,255,255,.30);
  border-top-color:#fde047;
  animation:fdfWcV19Spin .82s linear infinite;
}
@keyframes fdfWcV19Spin{to{transform:rotate(360deg)}}
body.fdf-wc-v19-is-loading{cursor:wait;}

/* ===================================================================
   FDF Manager - Modo Mundial V21
   =================================================================== */
.fdf-wc-status-v21{
  margin:12px 0 16px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #d8e0ea;
  background:#f7f9fc;
  color:#17324d;
  font-weight:700;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
}
.fdf-wc-status-v21.ok{
  border-color:#9ad1ad;
  background:#ecfdf3;
  color:#125c2d;
}
.fdf-wc-status-v21.out{
  border-color:#f1a7a7;
  background:#fff1f1;
  color:#8a1f1f;
}
.fdf-wc-status-v21.info{
  border-color:#9ec5fe;
  background:#eef6ff;
  color:#08427a;
}
.fdf-sub-slot-selected-v21{
  outline:3px solid rgba(255,215,0,.92) !important;
  box-shadow:0 0 0 4px rgba(255,215,0,.25),0 8px 18px rgba(0,0,0,.25) !important;
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 FIX V30
   OVR/Poder integrado debajo de la bandera de cada selección.
   Alcance visual: solo shells del Modo Mundial.
   =================================================================== */
.fdf-worldcup-shell.fdf-worldcup-v30 .fdf-wc-power,
.fdf-worldcup-shell.fdf-worldcup-ovr-under-flag .fdf-wc-power{
  display:none !important;
}
.fdf-worldcup-v30 .fdf-wc-match-v8{
  min-height:98px !important;
}
.fdf-worldcup-v30 .fdf-wc-team-v8,
.fdf-worldcup-v30 .fdf-wc-team-ovr-under-flag{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}
.fdf-worldcup-v30 .fdf-wc-team-band,
.fdf-worldcup-v30 .fdf-wc-team-ovr-under-flag{
  align-items:flex-start !important;
  gap:8px !important;
}
.fdf-worldcup-v30 .fdf-wc-team-v8.away .fdf-wc-team-band,
.fdf-worldcup-v30 .fdf-wc-team-ovr-under-flag.away{
  justify-content:flex-end !important;
  text-align:right !important;
}
.fdf-worldcup-v30 .fdf-wc-flag-ovr-stack{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:3px !important;
  flex:0 0 auto !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  overflow:visible !important;
  white-space:normal !important;
  line-height:1 !important;
}
.fdf-worldcup-v30 .fdf-wc-flag-ovr-stack > img,
.fdf-worldcup-v30 .fdf-wc-team-band .fdf-wc-flag-ovr-stack > img{
  width:28px !important;
  height:20px !important;
  object-fit:cover !important;
  border-radius:4px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.16) !important;
  box-shadow:0 2px 6px rgba(15,23,42,.10) !important;
  flex:0 0 auto !important;
}
.fdf-worldcup-v30 .fdf-wc-team-ovr-row{
  display:flex !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  justify-content:center !important;
  align-items:center !important;
  overflow:visible !important;
}
.fdf-worldcup-v30 .fdf-wc-team-v8.away .fdf-wc-team-ovr-row{
  justify-content:center !important;
  padding:0 !important;
}
.fdf-worldcup-v30 .fdf-wc-ovr-dot{
  width:32px !important;
  height:28px !important;
  min-width:32px !important;
  min-height:28px !important;
  border-radius:9px !important;
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  color:#fff !important;
  font-weight:1000 !important;
  line-height:1 !important;
  letter-spacing:-.2px !important;
  border:2px solid rgba(255,255,255,.95) !important;
  box-shadow:0 4px 10px rgba(15,23,42,.20), inset 0 0 0 1px rgba(255,255,255,.28) !important;
}
.fdf-worldcup-v30 .fdf-wc-ovr-dot small{
  display:block !important;
  font-size:7px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.15px !important;
  opacity:.9 !important;
  color:rgba(255,255,255,.92) !important;
  margin:0 !important;
}
.fdf-worldcup-v30 .fdf-wc-ovr-dot b{
  display:block !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  color:#fff !important;
  margin:0 !important;
}
.fdf-worldcup-v30 .fdf-wc-team-name,
.fdf-worldcup-v30 .fdf-wc-team-band > .fdf-wc-team-name{
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  line-height:1.08 !important;
  font-size:13px !important;
  font-weight:900 !important;
  color:#111827 !important;
}
.fdf-worldcup-v30 .fdf-wc-score-v8{
  align-self:center !important;
}
@media (max-width:768px){
  .fdf-worldcup-v30 .fdf-wc-match-v8{
    min-height:104px !important;
  }
  .fdf-worldcup-v30 .fdf-wc-flag-ovr-stack{
    width:31px !important;
    min-width:31px !important;
    max-width:31px !important;
  }
  .fdf-worldcup-v30 .fdf-wc-flag-ovr-stack > img{
    width:26px !important;
    height:18px !important;
  }
  .fdf-worldcup-v30 .fdf-wc-ovr-dot{
    width:29px !important;
    height:26px !important;
    min-width:29px !important;
    min-height:26px !important;
  }
  .fdf-worldcup-v30 .fdf-wc-ovr-dot small{font-size:6px !important;}
  .fdf-worldcup-v30 .fdf-wc-ovr-dot b{font-size:12px !important;}
  .fdf-worldcup-v30 .fdf-wc-team-name{font-size:12px !important;}
}

/* ===================================================================
   FDF MANAGER - MODO MUNDIAL 2026 MOTOR V51 UI
   Alcance exclusivo: se activa con body.fdf-wc-match-v51.
   =================================================================== */
body.fdf-wc-match-v51 #modal-match-backdrop .modal-match{
  background:linear-gradient(135deg,#08111f 0%,#0b1f33 48%,#09111f 100%)!important;
  color:#f8fafc!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.fdf-wc-match-v51 #modal-match-backdrop .panel-dt,
body.fdf-wc-match-v51 #modal-match-backdrop .fdf-broadcast-panel{
  contain:layout style paint;
  transform:translateZ(0);
  will-change:contents,scroll-position;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scroll-behavior:auto!important;
}
body.fdf-wc-match-v51 .fdf-match-player-node,
body.fdf-wc-match-v51 .fdf-match-ball,
body.fdf-wc-match-v51 .fdf-match-ball-trail{
  transition-duration:var(--fdf-wc-motion-ms,210ms)!important;
  animation-duration:var(--fdf-wc-animation-ms,420ms)!important;
}
body.fdf-wc-match-v51.is-speed-fast .fdf-match-player-name{opacity:.78!important;}
.fdf-speed-btn[data-fdf-speed-active="1"],
.speed-btn[data-fdf-speed-active="1"]{
  background:#16a34a!important;
  border-color:#22c55e!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.22)!important;
  transform:translateY(-1px)!important;
}
.fdf-speed-btn[data-fdf-speed-active="0"],
.speed-btn[data-fdf-speed-active="0"]{
  background:#475569!important;
  border-color:#64748b!important;
  color:#e2e8f0!important;
  opacity:.82!important;
  box-shadow:none!important;
  transform:none!important;
}
.fdf-wc-v51-lineups{
  position:fixed;
  inset:0;
  z-index:1000005;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(2,6,23,.88);
  backdrop-filter:blur(8px);
  padding:18px;
  box-sizing:border-box;
}
.fdf-wc-v51-card{
  width:min(1180px,96vw);
  max-height:90vh;
  overflow:auto;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fafc,#e2e8f0);
  box-shadow:0 28px 80px rgba(0,0,0,.45);
  padding:24px;
  color:#0f172a;
}
.fdf-wc-v51-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.fdf-wc-v51-head h2{margin:0;font-size:26px;color:#07111f;}
.fdf-wc-v51-badge{border-radius:999px;background:#0f172a;color:#fff;padding:8px 13px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;}
.fdf-wc-v51-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.fdf-wc-v51-team{border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.08);}
.fdf-wc-v51-team-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.fdf-wc-v51-team-head img{width:58px;height:58px;border-radius:999px;object-fit:cover;border:3px solid #e2e8f0;background:#fff;}
.fdf-wc-v51-team-head h3{margin:0;font-size:22px;}
.fdf-wc-v51-team-head p{margin:3px 0 0;color:#475569;font-weight:700;}
.fdf-wc-v51-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.fdf-wc-v51-player{display:flex;align-items:center;gap:9px;padding:8px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;min-width:0;}
.fdf-wc-v51-player img{width:34px;height:34px;border-radius:999px;object-fit:cover;background:#0f172a;}
.fdf-wc-v51-player strong{display:block;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fdf-wc-v51-player span{font-size:11px;color:#64748b;font-weight:800;}
.fdf-wc-v51-start{margin:18px auto 0;display:flex;align-items:center;justify-content:center;width:min(380px,100%);border:0;border-radius:999px;padding:15px 24px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:17px;font-weight:950;cursor:pointer;box-shadow:0 14px 26px rgba(22,163,74,.30);}
.fdf-wc-v51-start:disabled{opacity:.6;cursor:not-allowed;}
@media(max-width:780px){
  .fdf-wc-v51-grid{grid-template-columns:1fr;}
  .fdf-wc-v51-players{grid-template-columns:1fr;}
  .fdf-wc-v51-card{padding:18px;}
  .fdf-wc-v51-head{flex-direction:column;align-items:flex-start;}
}

/* ===================================================================
   FDF MATCH TV V1 — capa visual tipo transmisión
   Objetivo: mejorar estética del motor sin tocar fixture/mercado/temporada.
   Se activa desde motor-juego.js agregando clases fdf-match-tv-v1.
   =================================================================== */

#modal-match-backdrop.fdf-match-tv-backdrop {
  background:
    radial-gradient(circle at 50% 12%, rgba(18, 76, 42, 0.45), transparent 34%),
    radial-gradient(circle at 18% 88%, rgba(37, 99, 235, 0.18), transparent 30%),
    linear-gradient(135deg, rgba(2, 6, 23, 0.94), rgba(3, 7, 18, 0.92)) !important;
  backdrop-filter: blur(5px) saturate(1.15) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 {
  background: #050914 !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  color: #f8fafc !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.54), 0 0 0 1px rgba(255,255,255,.06) inset !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-broadcast-header,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .banner-marcador {
  min-height: 74px !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(90deg, rgba(3,7,18,.98), rgba(9,30,66,.98) 48%, rgba(3,7,18,.98)),
    radial-gradient(circle at 50% 0%, rgba(250,204,21,.17), transparent 34%) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.28) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-scoreboard {
  min-width: 0 !important;
  flex: 1 1 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-badge-wrap {
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 22px rgba(0,0,0,.24) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-badge,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .banner-marcador img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: transparent !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-tag {
  color: rgba(226,232,240,.64) !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-name {
  color: #fff !important;
  font-size: clamp(15px, 1.55vw, 22px) !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.38) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-scoreboard-center {
  min-width: 260px !important;
  padding: 0 18px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-scoreline,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .marcador {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 7px 18px !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(250,204,21,.98), rgba(245,158,11,.94)) !important;
  color: #07111f !important;
  font-size: clamp(28px, 3.1vw, 42px) !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  box-shadow: 0 12px 26px rgba(234,179,8,.22), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-score-separator {
  opacity: .55 !important;
  transform: translateY(-1px) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 #mm-banner-minute,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-banner-minute {
  margin-top: 6px !important;
  color: #bfdbfe !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-main {
  background:
    linear-gradient(180deg, #06111f, #091527 60%, #08111e) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-broadcast-pitch-wrap,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .cancha-wrapper {
  background:
    radial-gradient(circle at 48% 0%, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(180deg, #0b1727, #030712) !important;
  padding: 18px 18px 12px !important;
  overflow: hidden !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-stage.fdf-tv-stage {
  position: relative !important;
  width: min(100%, 1080px) !important;
  height: 100% !important;
  max-height: 100% !important;
  justify-content: center !important;
  perspective: 1200px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .cancha-futbol.fdf-tv-pitch {
  min-height: 420px !important;
  height: min(100%, 610px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,255,255,.12), transparent 22%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 9%, rgba(0,0,0,.045) 9% 18%),
    linear-gradient(180deg, rgba(63,164,79,.68), rgba(31,123,50,.78) 46%, rgba(16,94,40,.94)),
    #137033 !important;
  box-shadow:
    0 32px 60px rgba(0,0,0,.52),
    inset 0 2px 0 rgba(255,255,255,.18),
    inset 0 -26px 42px rgba(0,0,0,.20) !important;
  transform: perspective(1200px) rotateX(1.4deg) translateZ(0) !important;
  transform-origin: 50% 55% !important;
  isolation: isolate !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .cancha-futbol.fdf-tv-pitch::before {
  border: 2px solid rgba(255,255,255,.74) !important;
  border-radius: 24px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 0 28px rgba(255,255,255,.10) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .cancha-futbol.fdf-tv-pitch::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at center, transparent 48%, rgba(0,0,0,.22) 100%),
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 18%, transparent 82%, rgba(255,255,255,.05)) !important;
  z-index: 5 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-scorebug {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 35 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: 42px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.30) !important;
  font-family: Arial, sans-serif !important;
}

.fdf-tv-scorebug .tv-team,
.fdf-tv-scorebug .tv-score,
.fdf-tv-scorebug .tv-clock {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .06em !important;
}

.fdf-tv-scorebug .tv-team {
  min-width: 52px !important;
  background: #08112a !important;
  color: #f8fafc !important;
  font-size: 13px !important;
}

.fdf-tv-scorebug .tv-score {
  min-width: 36px !important;
  background: #facc15 !important;
  color: #020617 !important;
  font-size: 19px !important;
}

.fdf-tv-scorebug .tv-clock {
  min-width: 70px !important;
  background: #f8fafc !important;
  color: #07111f !important;
  font-size: 15px !important;
}

.fdf-tv-scorebug .tv-live-dot {
  width: 7px !important;
  height: 7px !important;
  margin-right: 7px !important;
  border-radius: 99px !important;
  background: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.20) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-radar {
  position: absolute !important;
  left: 50% !important;
  bottom: 15px !important;
  width: 176px !important;
  height: 106px !important;
  transform: translateX(-50%) !important;
  z-index: 34 !important;
  border-radius: 12px !important;
  background: rgba(2,6,23,.58) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(4px) !important;
  overflow: hidden !important;
}

.fdf-tv-radar .tv-radar-pitch {
  position: absolute !important;
  inset: 9px !important;
  border: 1px solid rgba(255,255,255,.64) !important;
  border-radius: 7px !important;
}

.fdf-tv-radar .tv-radar-pitch::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  bottom: 0 !important;
  border-left: 1px solid rgba(255,255,255,.55) !important;
}

.fdf-tv-radar .tv-radar-pitch::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.fdf-tv-radar .tv-dot,
.fdf-tv-radar .tv-ball {
  position: absolute !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
}

.fdf-tv-radar .tv-dot {
  width: 5px !important;
  height: 5px !important;
  background: #38bdf8 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.30) !important;
}

.fdf-tv-radar .tv-dot.is-away { background: #f43f5e !important; }
.fdf-tv-radar .tv-dot.is-carrier { width: 8px !important; height: 8px !important; background: #facc15 !important; }

.fdf-tv-radar .tv-ball {
  width: 6px !important;
  height: 6px !important;
  background: #fff !important;
  box-shadow: 0 0 0 2px rgba(0,0,0,.30), 0 0 14px rgba(255,255,255,.72) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-player-card {
  position: absolute !important;
  left: 16px !important;
  bottom: 16px !important;
  z-index: 33 !important;
  min-width: 218px !important;
  max-width: 290px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  background: linear-gradient(90deg, rgba(2,6,23,.82), rgba(15,23,42,.58)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.31), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(5px) !important;
}

.fdf-tv-player-card .tv-player-no {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  background: #facc15 !important;
  color: #07111f !important;
  font-weight: 1000 !important;
  font-size: 15px !important;
}

.fdf-tv-player-card .tv-player-copy {
  min-width: 0 !important;
}

.fdf-tv-player-card .tv-player-name {
  display: block !important;
  color: #fff !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 220px !important;
}

.fdf-tv-player-card .tv-player-meta {
  display: block !important;
  color: rgba(226,232,240,.72) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-top: 2px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-coach-strip {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 33 !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px !important;
  border-radius: 999px !important;
  background: rgba(2,6,23,.62) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(5px) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.28) !important;
}

.fdf-tv-coach-strip .tv-coach-btn {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 9px 12px !important;
  background: rgba(255,255,255,.10) !important;
  color: #f8fafc !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.fdf-tv-coach-strip .tv-coach-btn:hover {
  background: #facc15 !important;
  color: #06111f !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-action-flash {
  position: absolute !important;
  left: 50% !important;
  top: 18% !important;
  z-index: 36 !important;
  transform: translate(-50%, -50%) scale(.96) !important;
  padding: 11px 18px !important;
  border-radius: 999px !important;
  background: rgba(2,6,23,.80) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.34) !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-action-flash.is-visible {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
  transition: opacity .16s ease, transform .16s ease !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-player-node {
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.30)) !important;
  transition: left .42s cubic-bezier(.2,.7,.2,1), top .42s cubic-bezier(.2,.7,.2,1), transform .18s ease, filter .18s ease !important;
  z-index: 18 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-player-node:hover,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-player-node.is-ball-carrier {
  transform: translate(-50%, -50%) scale(1.09) !important;
  filter: drop-shadow(0 0 16px rgba(250,204,21,.34)) drop-shadow(0 12px 18px rgba(0,0,0,.34)) !important;
  z-index: 30 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-player-chip {
  background: rgba(2,6,23,.64) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(3px) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-player-photo {
  border: 2px solid rgba(255,255,255,.84) !important;
  box-shadow: 0 5px 12px rgba(0,0,0,.32) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-ball {
  width: 16px !important;
  height: 16px !important;
  z-index: 31 !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.22), 0 0 18px rgba(255,255,255,.78), 0 8px 12px rgba(0,0,0,.40) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-ball-trail {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent) !important;
  filter: blur(.2px) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-broadcast-panel-shell,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .panel-dt {
  background: linear-gradient(180deg, #07111f, #0f172a) !important;
  border-left: 1px solid rgba(255,255,255,.10) !important;
  color: #e5edf7 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-panel-card {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #e5edf7 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-card-title,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-panel-header h3 {
  color: #f8fafc !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-card-subtitle,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-panel-subtitle,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-card-label {
  color: rgba(226,232,240,.72) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-footer,
#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-lower {
  background: #030712 !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-commentary {
  background: rgba(15,23,42,.74) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  color: #f8fafc !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 {
    width: 98% !important;
    height: 94vh !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-match-main {
    flex-direction: column !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .panel-dt,
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-broadcast-panel-shell {
    min-width: 0 !important;
    max-height: 34vh !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .cancha-futbol.fdf-tv-pitch {
    min-height: 320px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-coach-strip {
    display: none !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-player-card {
    max-width: 200px !important;
    min-width: 170px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-radar {
    width: 144px !important;
    height: 86px !important;
  }
}

@media (max-width: 620px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-broadcast-header {
    min-height: 62px !important;
    padding: 8px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-team-badge-wrap {
    display: none !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-scoreboard-center {
    min-width: 150px !important;
    padding: 0 6px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-scorebug {
    top: 8px !important;
    left: 8px !important;
    height: 34px !important;
  }
  .fdf-tv-scorebug .tv-team { min-width: 42px !important; font-size: 11px !important; }
  .fdf-tv-scorebug .tv-score { min-width: 28px !important; font-size: 15px !important; }
  .fdf-tv-scorebug .tv-clock { min-width: 52px !important; font-size: 12px !important; }
  #modal-match-backdrop .modal-match.fdf-match-tv-v1 .fdf-tv-player-card {
    display: none !important;
  }
}

/* ===================================================================
   FDF MATCH TV V2 — HUD limpio y cancha sin distracciones
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-scoreboard-center {
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2.is-tv-live #mm-btn-comenzar,
#modal-match-backdrop .modal-match.fdf-match-tv-v2.is-tv-live .fdf-scoreboard-action-btn.is-preview-btn {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-scoreline,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .marcador,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 #mm-banner-minute,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-banner-minute,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 #mm-status-chip {
  display: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin-top: 8px !important;
  user-select: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2.is-tv-live .fdf-tv-header-scorebug {
  margin-top: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-score-main {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  min-height: 43px !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  border-radius: 9px !important;
  overflow: visible !important;
  background: rgba(2,6,23,.38) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-team,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-score,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-clock {
  min-height: 43px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 1000 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-team {
  min-width: 68px !important;
  padding: 0 14px !important;
  color: #f8fafc !important;
  font-size: 15px !important;
  background: rgba(15,23,42,.88) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.32) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-score {
  min-width: 48px !important;
  color: #07111f !important;
  font-size: 26px !important;
  background: linear-gradient(180deg, #fde047, #facc15 58%, #eab308) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-score-sep {
  width: 1px !important;
  height: 26px !important;
  background: rgba(7,17,31,.28) !important;
  margin: 0 -1px !important;
  z-index: 2 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-clock {
  min-width: 78px !important;
  margin-left: 8px !important;
  border-radius: 7px !important;
  color: #f8fafc !important;
  font-size: 16px !important;
  background: rgba(15,23,42,.72) !important;
  border: 1px solid rgba(148,163,184,.24) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-period {
  color: rgba(226,232,240,.94) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-live-badge {
  display: none;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  margin-left: 12px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  background: rgba(127,29,29,.30) !important;
  border: 1px solid rgba(248,113,113,.34) !important;
  box-shadow: 0 0 18px rgba(239,68,68,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2.is-tv-live .fdf-tv-header-scorebug .tv-live-badge {
  display: inline-flex !important;
  animation: fdfTvLivePulse 1.1s infinite ease-in-out !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-live-badge i {
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #ff2d2d !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.16), 0 0 16px rgba(239,68,68,.9) !important;
}

@keyframes fdfTvLivePulse {
  0%, 100% { opacity: 1; filter: brightness(1); box-shadow: 0 0 18px rgba(239,68,68,.26), inset 0 1px 0 rgba(255,255,255,.08); }
  50% { opacity: .55; filter: brightness(1.28); box-shadow: 0 0 30px rgba(239,68,68,.72), 0 0 9px rgba(239,68,68,.50), inset 0 1px 0 rgba(255,255,255,.12); }
}

/* La cancha queda limpia: sin marcador, radar ni botones sobre el césped. */
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-futbol > .fdf-tv-scorebug,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-futbol > .fdf-tv-radar,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-futbol > .fdf-tv-player-card,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-futbol > .fdf-tv-coach-strip {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-wrapper.fdf-broadcast-pitch-wrap,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-wrapper {
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 10px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-match-stage.fdf-tv-stage,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-match-stage {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .cancha-futbol.fdf-tv-pitch {
  overflow: hidden !important;
  isolation: isolate !important;
  margin: 0 auto !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-pitch-dock {
  display: grid !important;
  grid-template-columns: minmax(210px, 292px) minmax(280px, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: min(100%, 1060px) !important;
  margin: 0 auto !important;
  padding: 0 3px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card,
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls {
  min-height: 62px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 17px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: linear-gradient(90deg, rgba(2,6,23,.78), rgba(15,23,42,.58)) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(6px) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card {
  gap: 10px !important;
  padding: 10px 13px !important;
  min-width: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card .tv-player-no {
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: #facc15 !important;
  color: #07111f !important;
  font-weight: 1000 !important;
  font-size: 16px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card .tv-player-copy {
  min-width: 0 !important;
  display: block !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card .tv-player-name {
  display: block !important;
  max-width: 210px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card .tv-player-meta {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(226,232,240,.70) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls {
  justify-content: center !important;
  gap: 10px !important;
  padding: 8px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls .tv-coach-btn {
  flex: 1 1 0 !important;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 15px !important;
  padding: 10px 14px !important;
  background: rgba(15,23,42,.72) !important;
  color: #f8fafc !important;
  font-weight: 1000 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls .tv-coach-btn:hover {
  transform: translateY(-1px) !important;
  background: rgba(250,204,21,.96) !important;
  color: #07111f !important;
  border-color: rgba(250,204,21,.72) !important;
}

/* Seguridad visual: fichas completas dentro de los laterales. */
#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-match-player-node {
  max-width: 68px !important;
  transform-origin: center center !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-match-player-node .fdf-match-player-chip {
  max-width: 68px !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-pitch-dock {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-player-card {
    min-height: 54px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls {
    min-height: 54px !important;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-team {
    min-width: 48px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-score {
    min-width: 34px !important;
    font-size: 20px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-clock {
    min-width: 56px !important;
    margin-left: 5px !important;
    font-size: 12px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-header-scorebug .tv-live-badge {
    margin-left: 6px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v2 .fdf-tv-dock-controls .tv-coach-btn {
    width: 100% !important;
    min-height: 40px !important;
  }
}
/* ===================================================================
   FDF MATCH TV V3 — Ajuste visual limpio
   Header compacto + cancha completa + controles fuera del césped
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 {
  height: min(95vh, 960px) !important;
  max-height: 95vh !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-broadcast-header,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .banner-marcador {
  min-height: 56px !important;
  padding: 6px 18px !important;
  gap: 14px !important;
  align-items: center !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-team-badge-wrap {
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-team-badge,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .banner-marcador img {
  width: 32px !important;
  height: 32px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-team-tag {
  font-size: 9px !important;
  letter-spacing: .14em !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-team-name {
  font-size: clamp(15px, 1.35vw, 22px) !important;
  line-height: 1 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-scoreboard-center {
  min-width: 420px !important;
  gap: 0 !important;
  padding: 0 10px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-scoreboard-actions.fdf-v3-actions-clean {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug {
  margin-top: 0 !important;
  gap: 3px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-score-main {
  min-height: 38px !important;
  border-radius: 9px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-team,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-score,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-clock {
  min-height: 38px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-team {
  min-width: 58px !important;
  padding: 0 11px !important;
  font-size: 14px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-score {
  min-width: 44px !important;
  font-size: 23px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-clock {
  min-width: 72px !important;
  min-height: 36px !important;
  font-size: 15px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-period {
  font-size: 10px !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-preview-slot,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-live-badge {
  min-height: 34px !important;
  margin-left: 10px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-preview-slot {
  align-items: center !important;
  justify-content: center !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-preview-slot #mm-btn-comenzar {
  min-height: 34px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  letter-spacing: .03em !important;
  box-shadow: 0 0 18px rgba(34,197,94,.25), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3.is-tv-live .fdf-tv-header-scorebug .tv-preview-slot {
  display: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3.is-tv-preview .fdf-tv-header-scorebug .tv-live-badge {
  display: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-main {
  min-height: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-wrapper.fdf-broadcast-pitch-wrap,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-wrapper {
  padding: 8px 16px 8px !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-stage.fdf-tv-stage,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-stage {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol.fdf-tv-pitch,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol {
  width: 100% !important;
  height: clamp(350px, 52vh, 520px) !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-dock {
  position: relative !important;
  flex: 0 0 auto !important;
  z-index: 20 !important;
  width: min(100%, 1060px) !important;
  margin: 0 auto !important;
  padding: 0 2px !important;
  transform: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-dock-player-card,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-dock-controls {
  min-height: 54px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-dock-controls .tv-coach-btn {
  min-height: 40px !important;
  padding: 8px 12px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-view-card {
  display: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings {
  position: absolute !important;
  inset: 18px 22px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  border: 2px solid rgba(255,255,255,.78) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 26px rgba(255,255,255,.08) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings span {
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-line,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-box,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-six,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-goal {
  border-color: rgba(255,255,255,.68) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-midline {
  left: 50% !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 0 !important;
  border-left: 2px solid rgba(255,255,255,.62) !important;
  transform: translateX(-50%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-center-circle {
  left: 50% !important;
  top: 50% !important;
  width: min(18vw, 142px) !important;
  height: min(18vw, 142px) !important;
  border: 2px solid rgba(255,255,255,.62) !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-center-spot,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-spot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 0 8px rgba(255,255,255,.38) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-center-spot {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-box {
  top: 21% !important;
  width: 15.5% !important;
  height: 58% !important;
  border: 2px solid rgba(255,255,255,.62) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-box-left {
  left: 0 !important;
  border-left: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-box-right {
  right: 0 !important;
  border-right: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-six {
  top: 35% !important;
  width: 6.6% !important;
  height: 30% !important;
  border: 2px solid rgba(255,255,255,.58) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-six-left {
  left: 0 !important;
  border-left: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-six-right {
  right: 0 !important;
  border-right: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-spot-left {
  left: 10.5% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-spot-right {
  right: 10.5% !important;
  top: 50% !important;
  transform: translate(50%, -50%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-arc {
  top: 38% !important;
  width: 7.5% !important;
  height: 24% !important;
  border: 2px solid rgba(255,255,255,.52) !important;
  border-radius: 50% !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-arc-left {
  left: 11.6% !important;
  border-left-color: transparent !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-arc-right {
  right: 11.6% !important;
  border-right-color: transparent !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-goal {
  top: 42% !important;
  width: 10px !important;
  height: 16% !important;
  border: 2px solid rgba(255,255,255,.76) !important;
  background: rgba(255,255,255,.05) !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-goal-left {
  left: -10px !important;
  border-right: 0 !important;
  border-radius: 6px 0 0 6px !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-markings .tv-goal-right {
  right: -10px !important;
  border-left: 0 !important;
  border-radius: 0 6px 6px 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol.fdf-tv-pitch::before {
  opacity: .38 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol.fdf-tv-pitch::after {
  opacity: .50 !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-broadcast-header,
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .banner-marcador {
    min-height: 58px !important;
    padding: 6px 10px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-scoreboard-center {
    min-width: 300px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol.fdf-tv-pitch,
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol {
    height: clamp(300px, 48vh, 460px) !important;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-team-badge-wrap {
    display: none !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-scoreboard-center {
    min-width: 230px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-header-scorebug .tv-preview-slot #mm-btn-comenzar {
    padding: 0 9px !important;
    font-size: 10px !important;
  }
}


/* ===================================================================
   FDF MATCH TV V5 — V3 restaurada + ajustes visuales puntuales
   Objetivo:
   - Mantener la estética y layout logrados en V3.
   - Aplicar solo correcciones de legibilidad, botón cambios y sombras.
   =================================================================== */

/* Mapa de calor del balón: textos neutros y legibles sobre panel oscuro. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-heatmap-copy,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-heatmap-copy span,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-heatmap-copy,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-heatmap-copy span,
#modal-match-backdrop .modal-match .fdf-heatmap-copy,
#modal-match-backdrop .modal-match .fdf-heatmap-copy span {
  color: #cbd5e1 !important;
  text-shadow: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-heatmap-copy span[id$="-value"],
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-heatmap-copy span[id$="-value"],
#modal-match-backdrop .modal-match .fdf-heatmap-copy span[id$="-value"] {
  color: #e2e8f0 !important;
  font-weight: 900 !important;
}

/* Plan del partido: Táctica / Estilo de juego en gris legible. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-panel-form-block-card label,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-card-label,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 label[for="mm-tactica"],
#modal-match-backdrop .modal-match.fdf-match-tv-v3 label[for="mm-estilo"],
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-panel-form-block-card label,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-card-label,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 label[for="mm-tactica"],
#modal-match-backdrop .modal-match.fdf-match-tv-v5 label[for="mm-estilo"],
#modal-match-backdrop .modal-match .fdf-panel-form-block-card label,
#modal-match-backdrop .modal-match .fdf-card-label,
#substitution-modal label[for="fdf-sub-tactica"],
#substitution-modal label[for="fdf-sub-estilo"],
#substitution-modal .fdf-card-label,
#substitution-modal .fdf-panel-form-block-card label {
  color: #94a3b8 !important;
  text-shadow: none !important;
}

/* Banco de suplentes: nombres oscuros sobre tarjetas claras. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-suplentes,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-suplentes *,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-suplentes,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-suplentes *,
#modal-match-backdrop .modal-match #mm-suplentes,
#modal-match-backdrop .modal-match #mm-suplentes * {
  color: #0f172a !important;
  text-shadow: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-suplentes li small,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-suplentes li .pos,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-suplentes li div[style*="font-size"],
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-suplentes li small,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-suplentes li .pos,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-suplentes li div[style*="font-size"],
#modal-match-backdrop .modal-match #mm-suplentes li small,
#modal-match-backdrop .modal-match #mm-suplentes li .pos,
#modal-match-backdrop .modal-match #mm-suplentes li div[style*="font-size"] {
  color: #475569 !important;
}

/* Jugadores en cancha: eliminar sombras generales y bases oscuras pesadas. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node:not(.is-ball-carrier):not(.is-v8-carrier):not(.is-v9-active-player):not(.fdf-v9-active-player),
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node:not(.is-ball-carrier):not(.is-v8-carrier):not(.is-v9-active-player):not(.fdf-v9-active-player) {
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node::before,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node::after,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node::before,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node::after {
  box-shadow: none !important;
  filter: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-chip,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-chip,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-name,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-name {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-chip,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-chip {
  background: transparent !important;
  border-color: transparent !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-photo {
  box-shadow: none !important;
  filter: none !important;
}

/* Resaltado único para el jugador activo / portador de la pelota. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-ball-carrier,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-v8-carrier,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-v9-active-player,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.fdf-v9-active-player,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-ball-carrier,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-v8-carrier,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-v9-active-player,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.fdf-v9-active-player {
  filter: drop-shadow(0 0 10px rgba(250,204,21,.58)) !important;
  z-index: 45 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.is-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-ball-carrier .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-v8-carrier .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.is-v9-active-player .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .cancha-futbol .fdf-match-player-node.fdf-v9-active-player .fdf-match-player-photo {
  box-shadow: 0 0 0 3px rgba(250,204,21,.92), 0 0 0 7px rgba(250,204,21,.18) !important;
}

/* Botón flotante Cambios: bajarlo al margen derecho de la zona de comentarios. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-floating-sub-btn,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-floating-sub-btn,
#modal-match-backdrop .modal-match .fdf-floating-sub-btn,
.fdf-floating-sub-btn {
  right: 20px !important;
  bottom: 30px !important;
  z-index: 90 !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-commentary,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-lower,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-comentarios,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-match-commentary,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-match-lower,
#modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-comentarios,
#modal-match-backdrop .modal-match #mm-comentarios {
  padding-right: min(240px, 28vw) !important;
}

@media (max-width: 900px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-floating-sub-btn,
  #modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-floating-sub-btn,
  #modal-match-backdrop .modal-match .fdf-floating-sub-btn,
  .fdf-floating-sub-btn {
    right: 14px !important;
    bottom: 22px !important;
    min-width: 148px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-commentary,
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-match-lower,
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 #mm-comentarios,
  #modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-match-commentary,
  #modal-match-backdrop .modal-match.fdf-match-tv-v5 .fdf-match-lower,
  #modal-match-backdrop .modal-match.fdf-match-tv-v5 #mm-comentarios,
  #modal-match-backdrop .modal-match #mm-comentarios {
    padding-right: 12px !important;
  }
}

/* ===================================================================
   FDF Manager – Cancha de tácticas responsive V47
   Objetivo: ocupar mejor el alto/ancho disponible y separar líneas.
   =================================================================== */
#cancha-tacticas {
  position: relative !important;
  width: 100% !important;
  min-height: clamp(390px, 45vw, 660px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-evenly !important;
  align-items: stretch !important;
  gap: clamp(14px, 2.1vw, 34px) !important;
  padding: clamp(34px, 4vw, 72px) clamp(48px, 7vw, 110px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#cancha-tacticas .fila {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-evenly !important;
  align-items: center !important;
  gap: clamp(16px, 3vw, 70px) !important;
  flex: 0 0 auto !important;
}

#cancha-tacticas .fila:first-of-type {
  justify-content: center !important;
}

#cancha-tacticas .posicion {
  width: clamp(74px, 7.2vw, 102px) !important;
  height: clamp(74px, 7.2vw, 102px) !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

#cancha-tacticas .jugador-drop {
  width: 100% !important;
  height: 100% !important;
  justify-content: center !important;
  gap: 3px !important;
}

#cancha-tacticas .jugador-img-drop {
  width: clamp(36px, 4.2vw, 50px) !important;
  height: clamp(36px, 4.2vw, 50px) !important;
}

#cancha-tacticas .jugador-drop span {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
}

#banco-suplentes {
  flex-wrap: wrap !important;
  justify-content: center !important;
}

@media (max-width: 900px) {
  #cancha-tacticas {
    min-height: clamp(340px, 64vw, 540px) !important;
    padding: 30px 22px !important;
    gap: 14px !important;
  }
  #cancha-tacticas .fila {
    gap: 12px !important;
  }
  #cancha-tacticas .posicion {
    width: clamp(58px, 10.5vw, 82px) !important;
    height: clamp(58px, 10.5vw, 82px) !important;
  }
}

@media (max-width: 560px) {
  #cancha-tacticas {
    min-height: 370px !important;
    padding: 28px 8px !important;
    gap: 10px !important;
  }
  #cancha-tacticas .fila {
    gap: 5px !important;
  }
  #cancha-tacticas .posicion {
    width: clamp(46px, 17vw, 62px) !important;
    height: clamp(46px, 17vw, 62px) !important;
    font-size: 8px !important;
  }
  #cancha-tacticas .jugador-img-drop {
    width: 28px !important;
    height: 28px !important;
  }
  #cancha-tacticas .jugador-drop span,
  #cancha-tacticas .jugador-ovr-inline {
    font-size: 8px !important;
  }
  #contador-jugadores,
  #ovr-display-tacticas {
    transform: scale(.82) !important;
    transform-origin: top left !important;
  }
  #ovr-display-tacticas {
    right: 8px !important;
  }
}

/* ===================================================================
   FDF MANAGER - CONFIRMACIÓN PREPARTIDO DESDE TÁCTICAS V2
   =================================================================== */
.fdf-prematch-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147482600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(2, 6, 23, .78);
  backdrop-filter: blur(5px);
  animation: fdfPrematchOverlayIn .16s ease-out;
}

.fdf-prematch-card {
  position: relative;
  width: min(92vw, 680px);
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 22px;
  box-sizing: border-box;
  color: #f8fafc;
  background:
    radial-gradient(circle at 12% 8%, rgba(34, 197, 94, .22), transparent 32%),
    radial-gradient(circle at 88% 92%, rgba(37, 99, 235, .20), transparent 34%),
    linear-gradient(145deg, #0f172a 0%, #111827 56%, #020617 100%);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .52);
  animation: fdfPrematchCardIn .2s ease-out;
}

.fdf-prematch-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  color: #cbd5e1;
  background: rgba(148, 163, 184, .14);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.fdf-prematch-close:hover { color: #ffffff; background: rgba(148, 163, 184, .26); }

.fdf-prematch-kicker {
  margin: 0 0 8px;
  color: #86efac;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

.fdf-prematch-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.15;
}

.fdf-prematch-competition {
  margin: 8px 0 24px;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 700;
}

.fdf-prematch-matchup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 176px;
  padding: 22px 14px;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 18px;
  background: rgba(15, 23, 42, .58);
}

.fdf-prematch-team {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.fdf-prematch-badge-wrap {
  position: relative;
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, .19);
  border-radius: 50%;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
}

.fdf-prematch-team-badge {
  position: relative;
  z-index: 1;
  width: 70px;
  height: 70px;
  object-fit: contain;
}

.fdf-prematch-team-badge.is-broken { display: none; }
.fdf-prematch-fallback-badge { position: absolute; font-size: 31px; line-height: 1; }
.fdf-prematch-team-badge.is-ready + .fdf-prematch-fallback-badge { display: none; }

.fdf-prematch-team strong {
  display: block;
  max-width: 100%;
  color: #ffffff;
  font-size: clamp(14px, 2vw, 18px);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.fdf-prematch-side {
  display: block;
  margin: 0 0 4px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fdf-prematch-versus {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto;
  border: 1px solid rgba(134, 239, 172, .46);
  border-radius: 50%;
  color: #dcfce7;
  background: rgba(22, 163, 74, .18);
  font-size: 14px;
  font-weight: 950;
  letter-spacing: .05em;
}

.fdf-prematch-note {
  margin: 20px 0 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.45;
  text-align: center;
}

.fdf-prematch-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}

.fdf-prematch-actions button {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.fdf-prematch-cancel {
  border: 1px solid rgba(203, 213, 225, .30);
  color: #e2e8f0;
  background: rgba(15, 23, 42, .64);
}

.fdf-prematch-cancel:hover { background: rgba(51, 65, 85, .80); }

.fdf-prematch-confirm {
  border: 1px solid #4ade80;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  background: #15803d;
  box-shadow: 0 8px 18px rgba(34, 197, 94, .22);
}

.fdf-prematch-confirm:hover { color: #ffffff; -webkit-text-fill-color: #ffffff; background: #166534; transform: translateY(-1px); }
.fdf-prematch-confirm span { margin-left: 6px; font-size: 17px; }

@keyframes fdfPrematchOverlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fdfPrematchCardIn { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 560px) {
  .fdf-prematch-overlay { padding: 12px; }
  .fdf-prematch-card { width: 100%; padding: 24px 16px 18px; border-radius: 18px; }
  .fdf-prematch-matchup { grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr); gap: 4px; min-height: 152px; padding: 16px 7px; }
  .fdf-prematch-badge-wrap { width: 68px; height: 68px; }
  .fdf-prematch-team-badge { width: 56px; height: 56px; }
  .fdf-prematch-versus { width: 38px; height: 38px; font-size: 11px; }
  .fdf-prematch-actions { flex-direction: column-reverse; }
  .fdf-prematch-actions button { width: 100%; }
}

/* FDF Prepartido V2: contraste forzado del botón principal */
.fdf-prematch-actions .fdf-prematch-confirm,
.fdf-prematch-actions button.fdf-prematch-confirm,
body .fdf-prematch-confirm {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #15803d !important;
  border-color: #4ade80 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .42) !important;
}
.fdf-prematch-actions .fdf-prematch-confirm span,
body .fdf-prematch-confirm span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.fdf-prematch-actions .fdf-prematch-confirm:hover,
body .fdf-prematch-confirm:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #166534 !important;
}

/* ===================================================================
   FDF MANAGER - ACERCA DEL JUEGO v1
   Modal informativo inicial + acceso desde el menú Usuario.
   =================================================================== */
body.fdf-about-modal-open { overflow: hidden !important; }

.fdf-about-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  box-sizing: border-box;
  background: rgba(2, 6, 23, .76);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .18s ease;
}

.fdf-about-modal-overlay.is-visible { opacity: 1; }

.fdf-about-modal-card {
  position: relative;
  width: min(960px, 100%);
  max-height: min(88vh, 820px);
  overflow: auto;
  box-sizing: border-box;
  padding: 32px;
  border: 1px solid rgba(148, 163, 184, .30);
  border-radius: 24px;
  color: #e5eef9;
  background:
    radial-gradient(circle at 100% 0%, rgba(14, 165, 233, .20), transparent 33%),
    radial-gradient(circle at 0% 0%, rgba(16, 185, 129, .18), transparent 37%),
    linear-gradient(145deg, #071a39 0%, #0f172a 57%, #07111f 100%);
  box-shadow: 0 28px 88px rgba(0, 0, 0, .55);
  transform: translateY(10px) scale(.985);
  transition: transform .20s ease;
  outline: none;
}

.fdf-about-modal-overlay.is-visible .fdf-about-modal-card { transform: translateY(0) scale(1); }

.fdf-about-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(226, 232, 240, .30);
  border-radius: 50%;
  color: #ffffff;
  background: rgba(15, 23, 42, .64);
  font-size: 29px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.fdf-about-modal-close:hover,
.fdf-about-modal-close:focus-visible {
  border-color: rgba(255, 255, 255, .72);
  background: rgba(30, 41, 59, .92);
  transform: scale(1.05);
}

.fdf-about-modal-hero { max-width: 780px; padding-right: 52px; }

.fdf-about-modal-kicker {
  margin-bottom: 8px;
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fdf-about-modal-hero h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.08;
  font-weight: 950;
}

.fdf-about-modal-hero p {
  margin: 12px 0 0;
  color: #cbd5e1;
  font-size: 15px;
  line-height: 1.55;
}

.fdf-about-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.fdf-about-mode-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  min-height: 100%;
  padding: 20px;
  border: 1px solid rgba(226, 232, 240, .16);
  border-radius: 18px;
  background: rgba(15, 23, 42, .64);
}

.fdf-about-mode-card.is-league { border-color: rgba(45, 212, 191, .36); }
.fdf-about-mode-card.is-worldcup { border-color: rgba(250, 204, 21, .36); }

.fdf-about-mode-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .11);
  font-size: 24px;
}

.fdf-about-mode-card h3 {
  margin: 1px 0 6px;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
}

.fdf-about-mode-card p {
  margin: 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.5;
}

.fdf-about-mode-card ul {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.fdf-about-mode-card li {
  position: relative;
  padding-left: 19px;
  color: #e2e8f0;
  font-size: 13px;
  line-height: 1.45;
}

.fdf-about-mode-card li::before {
  content: '✓';
  position: absolute;
  top: 0;
  left: 0;
  color: #5eead4;
  font-weight: 900;
}

.fdf-about-mode-card.is-worldcup li::before { color: #fde047; }

.fdf-about-modal-reminder {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 17px;
  padding: 15px 17px;
  border: 1px solid rgba(125, 211, 252, .27);
  border-radius: 15px;
  background: rgba(14, 116, 144, .16);
}

.fdf-about-modal-reminder > span { font-size: 21px; line-height: 1.1; }

.fdf-about-modal-reminder p {
  margin: 0;
  color: #e0f2fe;
  font-size: 13px;
  line-height: 1.5;
}

.fdf-about-modal-footnote {
  margin: 18px 0 0;
  color: #94a3b8;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

#menu-juego .submenu li.fdf-about-menu-entry,
.submenu.fdf-user-submenu-floating li.fdf-about-menu-entry {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #0f172a;
  font-weight: 750;
}

#menu-juego .submenu li.fdf-about-menu-entry:hover,
#menu-juego .submenu li.fdf-about-menu-entry:focus-visible,
.submenu.fdf-user-submenu-floating li.fdf-about-menu-entry:hover,
.submenu.fdf-user-submenu-floating li.fdf-about-menu-entry:focus-visible {
  color: #075985;
  background: #e0f2fe;
  outline: none;
}

.fdf-about-menu-icon { width: 18px; text-align: center; }

@media (max-width: 720px) {
  .fdf-about-modal-overlay { padding: 12px; }
  .fdf-about-modal-card { max-height: min(92vh, 900px); padding: 26px 18px 20px; border-radius: 20px; }
  .fdf-about-modal-grid { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
  .fdf-about-modal-card { padding: 24px 14px 17px; }
  .fdf-about-modal-hero { padding-right: 38px; }
  .fdf-about-modal-hero h2 { font-size: 27px; }
  .fdf-about-mode-card { padding: 16px; }
  .fdf-about-modal-close { top: 11px; right: 11px; width: 36px; height: 36px; font-size: 26px; }
}

/* ===================================================================
   FDF MANAGER - MUNDIAL 2026: TABLAS DE POSICIONES LEGIBLES
   El Mundial tiene diez columnas. En pantallas amplias se reducen las
   tarjetas por fila para preservar los títulos y las cifras en una línea;
   en móvil se habilita desplazamiento horizontal únicamente dentro del grupo.
   =================================================================== */
#content-posiciones .fdf-worldcup-v6 .fdf-worldcup-groups {
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)) !important;
  gap: 18px !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-worldcup-group {
  overflow-x: visible !important;
  overflow-y: visible !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table .fdf-wc-col-rank { width: 7%; }
#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table .fdf-wc-col-team { width: 45%; }
#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table .fdf-wc-col-stat { width: 6%; }

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table th,
#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table td {
  padding: 8px 4px !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table th {
  font-size: 11px !important;
  letter-spacing: 0 !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table th:nth-child(2),
#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table td:nth-child(2) {
  min-width: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-team {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-team img {
  flex: 0 0 22px;
  width: 22px !important;
  height: 16px !important;
  margin: 0 !important;
  object-fit: cover;
}

#content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-name {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.25;
}

@media (max-width: 1040px) {
  #content-posiciones .fdf-worldcup-v6 .fdf-worldcup-groups {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  #content-posiciones .fdf-worldcup-v6 .fdf-worldcup-group {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  #content-posiciones .fdf-worldcup-v6 .fdf-wc-standings-table {
    min-width: 500px !important;
  }
}

/* Acceso persistente de Usuario → Cargar desde archivo. */
#menu-juego .submenu li.fdf-load-file-menu-entry,
.submenu.fdf-user-submenu-floating li.fdf-load-file-menu-entry {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #0f172a;
  font-weight: 750;
}

#menu-juego .submenu li.fdf-load-file-menu-entry:hover,
#menu-juego .submenu li.fdf-load-file-menu-entry:focus-visible,
.submenu.fdf-user-submenu-floating li.fdf-load-file-menu-entry:hover,
.submenu.fdf-user-submenu-floating li.fdf-load-file-menu-entry:focus-visible {
  color: #065f46;
  background: #ecfdf5;
  outline: none;
}

.fdf-load-file-menu-icon {
  width: 18px;
  text-align: center;
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — ENTREGA 1
   Renderer visual unificado. Activo solo cuando .fdf-match-pro-v1 existe.
   =================================================================== */

#modal-match-backdrop.fdf-match-pro-backdrop {
  background: radial-gradient(circle at 50% 18%, rgba(16, 38, 68, .34), rgba(2, 7, 17, .86)) !important;
  backdrop-filter: blur(4px);
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 {
  --fdf-pro-home: #1f8ed5;
  --fdf-pro-away: #e4af31;
  --fdf-pro-ink: #eaf3ff;
  --fdf-pro-muted: #a6bdd2;
  --fdf-pro-night: #071220;
  --fdf-pro-panel: rgba(3, 12, 24, .82);
  --fdf-pro-line: rgba(222, 243, 255, .56);
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
  isolation: isolate;
  overflow: hidden !important;
  min-height: 430px !important;
  border: 1px solid rgba(208, 235, 255, .38) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(ellipse at 50% 48%, rgba(106, 193, 92, .28), transparent 52%),
    linear-gradient(90deg, rgba(2, 45, 29, .3), transparent 18%, transparent 82%, rgba(2, 45, 29, .3)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.028) 0 8.33%, rgba(0,0,0,.023) 8.33% 16.66%),
    linear-gradient(180deg, #2d7b49 0%, #246a3e 46%, #205f37 100%) !important;
  box-shadow: 0 30px 70px rgba(0,0,0,.45), inset 0 0 52px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch::before,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch::after {
  content: '' !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch::before {
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(1, 8, 19, .28), transparent 22%, transparent 72%, rgba(1,8,19,.30)),
    radial-gradient(ellipse at 50% -28%, rgba(255,255,255,.25), transparent 48%);
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch::after {
  inset: 8px !important;
  border: 1px solid rgba(247, 255, 246, .38) !important;
  border-radius: 11px !important;
  box-shadow: inset 0 0 16px rgba(255,255,255,.05);
}

/* Se preservan las capas canónicas por compatibilidad con goles, tarjetas,
   lesiones y cambios, pero el renderer Pro toma su aspecto. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-ambient,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-zones,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-players,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-ball,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-events {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-ambient { z-index: 2 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-zones { display: none !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-players { z-index: 8 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-ball { z-index: 12 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-events { z-index: 20 !important; }

/* Oculta HUDs internos de las capas TV anteriores: el HUD Pro es la única
   fuente visible dentro de la cancha. El encabezado y controles externos
   existentes se conservan. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol .fdf-tv-scorebug,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol .fdf-tv-radar,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol .fdf-tv-player-card,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol .fdf-tv-coach-strip,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol .fdf-tv-pitch-markings {
  display: none !important;
}

/* Marcaciones SVG/CSS limpias y legibles. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-pitch-markings {
  position: absolute !important;
  inset: 8px !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-pitch-markings > span {
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
  border-color: var(--fdf-pro-line) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-midline {
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  border-left: 1px solid var(--fdf-pro-line) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-center-circle {
  left: 50% !important;
  top: 50% !important;
  width: 20.5% !important;
  aspect-ratio: 1 !important;
  border: 1px solid var(--fdf-pro-line) !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-center-spot {
  left: 50% !important;
  top: 50% !important;
  width: 4px !important;
  height: 4px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.7) !important;
  transform: translate(-50%, -50%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-area {
  top: 22% !important;
  height: 56% !important;
  width: 15% !important;
  border: 1px solid var(--fdf-pro-line) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-area-left { left: 0 !important; border-left: 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-area-right { right: 0 !important; border-right: 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-six {
  top: 35.5% !important;
  height: 29% !important;
  width: 5.6% !important;
  border: 1px solid var(--fdf-pro-line) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-six-left { left: 0 !important; border-left: 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-six-right { right: 0 !important; border-right: 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-goal {
  top: 41% !important;
  height: 18% !important;
  width: 1.6% !important;
  border: 1px solid rgba(240,250,255,.66) !important;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, transparent 1px 4px) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-goal-left { left: -1.6% !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-goal-right { right: -1.6% !important; }

/* Marcador broadcast interno. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-scorebug {
  position: absolute !important;
  z-index: 36 !important;
  top: 15px !important;
  left: 50% !important;
  display: grid !important;
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr) !important;
  align-items: center !important;
  gap: 0 !important;
  min-width: min(600px, calc(100% - 88px)) !important;
  max-width: calc(100% - 52px) !important;
  min-height: 48px !important;
  padding: 4px 8px !important;
  color: #fff !important;
  transform: translateX(-50%) !important;
  border: 1px solid rgba(226,242,255,.26) !important;
  border-radius: 14px !important;
  background: linear-gradient(100deg, rgba(4,14,29,.94), rgba(9,32,59,.88) 48%, rgba(4,14,29,.94)) !important;
  box-shadow: 0 13px 28px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.1) !important;
  backdrop-filter: blur(8px) !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-team {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 8px !important;
  padding: 0 10px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-team.is-away { justify-content: flex-end !important; text-align: right !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-shield {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 3px 7px rgba(0,0,0,.42)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-name {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #f6fbff !important;
  font-size: clamp(.66rem, 1.15vw, .84rem) !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-core {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 100px !important;
  gap: 8px !important;
  padding: 1px 12px 14px !important;
  border-right: 1px solid rgba(255,255,255,.14) !important;
  border-left: 1px solid rgba(255,255,255,.14) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-value {
  color: #fff !important;
  font-size: 1.38rem !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-core > i {
  color: rgba(215,235,250,.54) !important;
  font-size: 1.05rem !important;
  font-style: normal !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-minute {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  color: #bcd7ee !important;
  font-size: .61rem !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  transform: translateX(-50%) !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-chip {
  position: absolute !important;
  right: 8px !important;
  top: -9px !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 18px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 999px !important;
  background: #334155 !important;
  color: #fff !important;
  font-size: .56rem !important;
  font-weight: 1000 !important;
  letter-spacing: .08em !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-chip.is-live { background: #d92d4c !important; box-shadow: 0 0 0 3px rgba(217,45,76,.16) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-chip.is-final { background: #64748b !important; }

/* Jugadores persistentes: la foto, camiseta y aro de energía son parte de
   una sola ficha visual. No hay cuerpos heredados ni sombras pesadas. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player {
  position: absolute !important;
  z-index: 9 !important;
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  min-width: 52px !important;
  height: 66px !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer !important;
  transform: translate(-50%, -50%) !important;
  transition: left 620ms cubic-bezier(.21,.8,.28,1), top 620ms cubic-bezier(.21,.8,.28,1), opacity .22s ease, filter .22s ease !important;
  pointer-events: auto !important;
  appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player::before,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player::after,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player .fdf-match-player-chip,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player .fdf-match-player-photo,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player .fdf-match-player-name,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player .fdf-match-player-energy {
  display: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-shadow {
  position: absolute !important;
  bottom: 7px !important;
  left: 50% !important;
  width: 32px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: rgba(1,9,6,.44) !important;
  filter: blur(2px) !important;
  transform: translateX(-50%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: conic-gradient(var(--fdf-pro-energy-color) calc(var(--fdf-pro-energy) * 1%), rgba(235,248,255,.22) 0) !important;
  box-shadow: 0 4px 11px rgba(0,0,0,.45), 0 0 0 2px rgba(3,10,19,.78) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring::before {
  content: '' !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: inherit !important;
  background: #0b1e2c !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-chip {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  overflow: hidden !important;
  border: 2px solid var(--fdf-pro-home) !important;
  border-radius: 50% !important;
  background: #112535 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-away .fdf-pro-player-chip { border-color: var(--fdf-pro-away) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-photo {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-name {
  position: absolute !important;
  z-index: 4 !important;
  top: 1px !important;
  left: 50% !important;
  display: block !important;
  max-width: 70px !important;
  overflow: hidden !important;
  padding: 2px 5px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(2,10,20,.76) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.25) !important;
  color: #f8fcff !important;
  font-size: .54rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  transform: translate(-50%, -4px) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player:hover .fdf-pro-player-name,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player:focus-visible .fdf-pro-player-name,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-ball-carrier .fdf-pro-player-name,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-pro-pinned .fdf-pro-player-name {
  opacity: 1 !important;
  transform: translate(-50%, -10px) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-status {
  position: absolute !important;
  z-index: 5 !important;
  right: 4px !important;
  bottom: 14px !important;
  display: grid !important;
  place-items: center !important;
  min-width: 15px !important;
  min-height: 15px !important;
  color: #fff !important;
  font-size: .62rem !important;
  line-height: 1 !important;
  text-shadow: 0 1px 3px #000 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-ball-carrier {
  z-index: 15 !important;
  filter: drop-shadow(0 0 8px rgba(253,224,71,.68)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-ball-carrier .fdf-pro-player-ring {
  animation: fdfProCarrierPulse 1s ease-in-out infinite !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-expelled { opacity: .34 !important; filter: grayscale(.8) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-injured .fdf-pro-player-ring { box-shadow: 0 0 0 2px rgba(239,68,68,.88), 0 0 16px rgba(239,68,68,.52) !important; }
@keyframes fdfProCarrierPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.075); } }

/* Pelota y estela liviana. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball {
  position: absolute !important;
  z-index: 14 !important;
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  border: 1px solid rgba(0,0,0,.48) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 33% 29%, #fff 0 22%, #dfe9ef 24% 42%, #667785 44% 52%, #f8fbfd 54% 67%, #1c2a34 69% 73%, #f7fafc 75%) !important;
  box-shadow: 0 4px 6px rgba(0,0,0,.4), 0 0 10px rgba(255,255,255,.42) !important;
  transform: translate(-50%, -50%) !important;
  transition: left 500ms cubic-bezier(.21,.8,.28,1), top 500ms cubic-bezier(.21,.8,.28,1) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball.is-live::after {
  content: '' !important;
  position: absolute !important;
  right: 70% !important;
  top: 50% !important;
  width: 19px !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, transparent, rgba(240,250,255,.64)) !important;
  transform: translateY(-50%) !important;
}

/* Lectura de juego y posesión: datos existentes, no métricas inventadas. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-card {
  position: absolute !important;
  z-index: 34 !important;
  left: 14px !important;
  bottom: 14px !important;
  display: flex !important;
  min-width: 190px !important;
  max-width: min(280px, 44%) !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(220,242,255,.19) !important;
  border-radius: 12px !important;
  background: linear-gradient(105deg, rgba(2,12,24,.9), rgba(9,34,57,.74)) !important;
  box-shadow: 0 13px 28px rgba(0,0,0,.28) !important;
  color: #fff !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-kicker { color: #80c7f5 !important; font-size: .55rem !important; font-weight: 1000 !important; letter-spacing: .1em !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-name { overflow: hidden !important; color: #fff !important; font-size: .88rem !important; font-weight: 950 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-meta { overflow: hidden !important; color: #bfd4e8 !important; font-size: .64rem !important; font-weight: 700 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
  position: absolute !important;
  z-index: 34 !important;
  top: 78px !important;
  right: 14px !important;
  display: flex !important;
  width: 142px !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(221,244,255,.17) !important;
  border-radius: 11px !important;
  background: rgba(2,12,24,.78) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
  color: #fff !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-label { color: #a5c8e4 !important; font-size: .54rem !important; font-weight: 1000 !important; letter-spacing: .1em !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession { display: grid !important; grid-template-columns: 30px 1fr 30px !important; align-items: center !important; gap: 6px !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > b { color: #eaf6ff !important; font-size: .67rem !important; font-weight: 950 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > b:last-child { text-align: right !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > i { position: relative !important; display: block !important; height: 5px !important; overflow: hidden !important; border-radius: 999px !important; background: rgba(255,255,255,.16) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > i span { display: block !important; height: 100% !important; border-radius: inherit !important; background: linear-gradient(90deg, var(--fdf-pro-home), var(--fdf-pro-away)) !important; transition: width .45s ease !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-copy { color: #a5c8e4 !important; font-size: .56rem !important; font-weight: 700 !important; }

/* Radar profesional persistente en el panel existente. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #fdf-radar-stage.fdf-pro-radar-stage { min-height: 118px !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #fdf-radar-stage .fdf-radar-pitch { display: none !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-pitch {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 112px !important;
  overflow: hidden !important;
  border: 1px solid rgba(167,211,239,.46) !important;
  border-radius: 8px !important;
  background: repeating-linear-gradient(90deg, rgba(70,149,98,.18) 0 12.5%, rgba(0,0,0,.04) 12.5% 25%), #123b2a !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-pitch::before,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-pitch::after { content: '' !important; position: absolute !important; pointer-events: none !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-pitch::before { top: 0 !important; bottom: 0 !important; left: 50% !important; border-left: 1px solid rgba(235,251,255,.54) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-pitch::after { top: 22% !important; bottom: 22% !important; left: 0 !important; right: 0 !important; border-top: 1px solid transparent !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; border-left: 1px solid rgba(235,251,255,.54) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-circle { position: absolute !important; top: 50% !important; left: 50% !important; width: 28px !important; height: 28px !important; border: 1px solid rgba(235,251,255,.54) !important; border-radius: 50% !important; transform: translate(-50%, -50%) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-dot,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-ball { position: absolute !important; z-index: 3 !important; border-radius: 50% !important; transform: translate(-50%, -50%) !important; transition: left .55s ease, top .55s ease !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-dot { width: 6px !important; height: 6px !important; background: var(--fdf-pro-home) !important; box-shadow: 0 0 0 1px rgba(255,255,255,.48) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-dot.is-away { background: var(--fdf-pro-away) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-dot.is-carrier { width: 9px !important; height: 9px !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(255,213,57,.58) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-radar-ball { z-index: 4 !important; width: 5px !important; height: 5px !important; background: #fff !important; box-shadow: 0 0 0 2px rgba(0,0,0,.32) !important; }

/* Compatibilidad con badges/events canónicos. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-live-event-badge { z-index: 50 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-field-flash-goal-home,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-field-flash-goal-away { box-shadow: inset 0 0 0 999px rgba(255,255,255,.08), inset 0 0 80px rgba(255,223,96,.22) !important; }

@media (max-width: 760px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch { min-height: 300px !important; border-radius: 13px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-scorebug { top: 10px !important; min-width: calc(100% - 28px) !important; min-height: 41px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-team { gap: 4px !important; padding: 0 5px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-shield { width: 23px !important; height: 23px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-name { font-size: .56rem !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-value { font-size: 1.06rem !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-core { min-width: 78px !important; padding-right: 7px !important; padding-left: 7px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel { top: 61px !important; right: 9px !important; width: 112px !important; padding: 6px 7px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-card { left: 9px !important; bottom: 9px !important; min-width: 130px !important; max-width: 52% !important; padding: 7px 8px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-name { font-size: .71rem !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player { transform: translate(-50%, -50%) scale(.85) !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-name { font-size: .49rem !important; }
}

@media (max-width: 470px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel { display: none !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-scorebug { grid-template-columns: minmax(62px,1fr) auto minmax(62px,1fr) !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-name { max-width: 52px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-score-team.is-away .fdf-pro-score-shield { order: 2 !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player { transform: translate(-50%, -50%) scale(.74) !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-card { max-width: 64% !important; }
}

@media (prefers-reduced-motion: reduce) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 *,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 *::before,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}



/* ===================================================================
   FDF MATCH TV V3.2 — Ajuste fino visual
   - Oculta el marcador duplicado dentro de la cancha.
   - Ubica el widget de posesión arriba a la derecha, fuera del área.
   - Compacta y unifica la previa con un estilo pro más limpio.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol > .fdf-tv-scorebug,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .cancha-futbol > .fdf-exp-scorebug {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession {
  position: absolute !important;
  top: 22px !important;
  right: 28px !important;
  z-index: 14 !important;
  min-width: 132px !important;
  max-width: 138px !important;
  padding: 10px 11px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(8,20,41,.92), rgba(9,26,42,.82)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px) !important;
  text-align: left !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-title {
  margin-bottom: 4px !important;
  color: rgba(226,232,240,.88) !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .14em !important;
}
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-values {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  color: #f8fafc !important;
  font-weight: 1000 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-values span {
  color: rgba(255,255,255,.38) !important;
  font-size: 11px !important;
}
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-values .is-home { color: #93c5fd !important; }
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-values .is-away { color: #fca5a5 !important; }
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-label {
  margin-top: 4px !important;
  color: rgba(226,232,240,.72) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

#lineups-modal {
  background: radial-gradient(circle at 50% 0%, rgba(37,99,235,.14), transparent 38%), rgba(2,6,23,.84) !important;
  backdrop-filter: blur(10px) !important;
}
#lineups-modal .fdf-lineups-dialog {
  width: min(100%, 1040px) !important;
  max-height: min(90dvh, 90vh) !important;
  padding: 22px !important;
  background: linear-gradient(180deg, #071425 0%, #0b1930 100%) !important;
  border: 1px solid rgba(96,165,250,.16) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 64px rgba(2,6,23,.46) !important;
  color: #f8fafc !important;
}
#lineups-modal .fdf-lineups-title {
  color: #f8fafc !important;
  font-size: clamp(1.45rem, 2.1vw, 1.95rem) !important;
  letter-spacing: -.02em !important;
  margin-bottom: 14px !important;
}
#lineups-modal .fdf-lineups-start-wrap {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  margin-bottom: 14px !important;
  padding: 0 0 12px !important;
  background: linear-gradient(180deg, rgba(7,20,37,.98), rgba(7,20,37,.74) 70%, rgba(7,20,37,0)) !important;
}
#lineups-modal .fdf-lineups-start-btn {
  min-height: 46px !important;
  min-width: min(100%, 250px) !important;
  padding: 0 22px !important;
  border: 1px solid rgba(74,222,128,.32) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(34,197,94,.20), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
#lineups-modal .fdf-lineups-grid {
  gap: 16px !important;
  margin-bottom: 0 !important;
}
#lineups-modal .fdf-lineups-team {
  background: linear-gradient(180deg, rgba(15,23,42,.60), rgba(2,6,23,.72)) !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 28px rgba(0,0,0,.16) !important;
}
#lineups-modal .fdf-lineups-team-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}
#lineups-modal .fdf-lineups-team-badge {
  width: 60px !important;
  height: 60px !important;
  padding: 7px !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.18) !important;
}
#lineups-modal .fdf-lineups-team-name {
  margin: 0 !important;
  font-size: clamp(1.02rem, 1.55vw, 1.28rem) !important;
  font-weight: 1000 !important;
  color: #f8fafc !important;
}
#lineups-modal .fdf-lineups-team-name.is-home { color: #93c5fd !important; }
#lineups-modal .fdf-lineups-team-name.is-away { color: #fca5a5 !important; }
#lineups-modal .fdf-lineups-team-meta {
  color: rgba(226,232,240,.72) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
#lineups-modal .fdf-lineups-team-ovr {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(34,197,94,.16) !important;
  border: 1px solid rgba(74,222,128,.18) !important;
  color: #bbf7d0 !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
}
#lineups-modal .fdf-lineups-list {
  max-height: 420px !important;
  padding: 12px !important;
  background: rgba(248,250,252,.04) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 16px !important;
}
#lineups-modal .fdf-lineups-list-title {
  color: #e2e8f0 !important;
  border-bottom-color: rgba(148,163,184,.18) !important;
}
#lineups-modal .fdf-lineups-pos-title {
  color: rgba(226,232,240,.72) !important;
}
#lineups-modal .fdf-lineup-player-row {
  min-height: 56px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(241,245,249,.95)) !important;
  box-shadow: 0 10px 18px rgba(2,6,23,.10) !important;
}
#lineups-modal .fdf-lineup-player-avatar {
  width: 38px !important;
  height: 38px !important;
  box-shadow: 0 6px 12px rgba(2,6,23,.10) !important;
}
#lineups-modal .fdf-lineup-player-name { color: #0f172a !important; }
#lineups-modal .fdf-lineup-player-meta { color: #64748b !important; }
#lineups-modal .fdf-lineup-player-ovr {
  min-width: 36px !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}
#lineups-modal .fdf-lineups-empty {
  text-align: center !important;
  color: rgba(226,232,240,.70) !important;
  font-style: italic !important;
  padding: 16px !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession {
    top: 18px !important;
    right: 18px !important;
    min-width: 124px !important;
    max-width: 130px !important;
    padding: 9px 10px !important;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession {
    top: 14px !important;
    right: 14px !important;
    min-width: 112px !important;
    max-width: 118px !important;
    padding: 8px 9px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession-values {
    font-size: 14px !important;
  }
  #lineups-modal .fdf-lineups-dialog {
    width: 100% !important;
    max-height: 100dvh !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }
  #lineups-modal .fdf-lineups-title {
    font-size: 1.28rem !important;
  }
  #lineups-modal .fdf-lineups-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===================================================================
   FDF MATCH PRO / PREVIA — Ajuste fino visual 2
   - Elimina overlays internos duplicados.
   - Deja solo el panel compacto de posesión dentro de la cancha.
   - Compacta la previa para ver los 11 sin scroll interno por equipo.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-scorebug,
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .fdf-tv-pitch-possession {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
  top: 18px !important;
  right: 16px !important;
  width: 126px !important;
  gap: 5px !important;
  padding: 7px 8px !important;
  border-radius: 10px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-label {
  font-size: .52rem !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession {
  grid-template-columns: 27px 1fr 27px !important;
  gap: 5px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > b {
  font-size: .64rem !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-copy {
  font-size: .53rem !important;
}

#lineups-modal .fdf-lineups-dialog {
  width: min(100%, 1080px) !important;
  max-height: min(95dvh, 95vh) !important;
  padding: 18px !important;
}
#lineups-modal .fdf-lineups-title {
  font-size: clamp(1.35rem, 1.9vw, 1.75rem) !important;
  margin-bottom: 10px !important;
}
#lineups-modal .fdf-lineups-start-wrap {
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
}
#lineups-modal .fdf-lineups-start-btn {
  min-height: 42px !important;
  min-width: min(100%, 230px) !important;
  font-size: 15px !important;
}
#lineups-modal .fdf-lineups-grid {
  gap: 14px !important;
}
#lineups-modal .fdf-lineups-team {
  padding: 12px !important;
  border-radius: 16px !important;
}
#lineups-modal .fdf-lineups-team-head {
  margin-bottom: 10px !important;
  gap: 4px !important;
}
#lineups-modal .fdf-lineups-team-badge {
  width: 54px !important;
  height: 54px !important;
}
#lineups-modal .fdf-lineups-team-name {
  font-size: clamp(.98rem, 1.35vw, 1.2rem) !important;
}
#lineups-modal .fdf-lineups-team-meta {
  font-size: 11px !important;
}
#lineups-modal .fdf-lineups-team-ovr {
  min-height: 26px !important;
  font-size: 11px !important;
}
#lineups-modal .fdf-lineups-list {
  max-height: none !important;
  overflow: visible !important;
  padding: 10px !important;
  border-radius: 14px !important;
}
#lineups-modal .fdf-lineups-list-title {
  margin-bottom: 10px !important;
  font-size: 14px !important;
}
#lineups-modal .fdf-lineups-pos-title {
  font-size: 10px !important;
  margin-bottom: 6px !important;
}
#lineups-modal .fdf-lineups-pos-group {
  margin-bottom: 10px !important;
}
#lineups-modal .fdf-lineup-player-row {
  min-height: 46px !important;
  padding: 6px 8px !important;
  margin: 4px 0 !important;
  border-radius: 10px !important;
}
#lineups-modal .fdf-lineup-player-avatar {
  width: 32px !important;
  height: 32px !important;
}
#lineups-modal .fdf-lineup-player-name {
  font-size: 12.5px !important;
}
#lineups-modal .fdf-lineup-player-meta {
  font-size: 10px !important;
}
#lineups-modal .fdf-lineup-player-ovr {
  min-width: 32px !important;
  font-size: 11px !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
    top: 14px !important;
    right: 12px !important;
    width: 118px !important;
    padding: 6px 7px !important;
  }
  #lineups-modal .fdf-lineups-dialog {
    width: min(100%, 980px) !important;
    padding: 16px !important;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
    top: 10px !important;
    right: 10px !important;
    width: 108px !important;
    padding: 5px 6px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > b {
    font-size: .58rem !important;
  }
  #lineups-modal .fdf-lineups-dialog {
    padding: 14px !important;
  }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 2
   Movimiento visual, atmósfera y arranque limpio del Modo Mundial.
   La simulación, reloj, Quiz, eventos, resultados y fixture no se alteran.
   =================================================================== */
/* La cancha no se pinta hasta que el renderer Pro termina la composición.
   Esto elimina el frame donde se veía el motor visual anterior al abrir. */
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol:not([data-fdf-pro-ready="true"]) {
  opacity: 0 !important;
  visibility: hidden !important;
}
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol[data-fdf-pro-ready="true"] {
  opacity: 1 !important;
  visibility: visible !important;
}
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol .fdf-tv-scorebug,
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol .fdf-exp-scorebug,
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol .fdf-tv-pitch-possession {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
  background:
    radial-gradient(ellipse at 50% 46%, rgba(128, 218, 119, .31), transparent 53%),
    radial-gradient(ellipse at 50% -10%, rgba(224,248,255,.18), transparent 43%),
    linear-gradient(90deg, rgba(0, 30, 19, .30), transparent 18%, transparent 82%, rgba(0, 30, 19, .30)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.032) 0 8.33%, rgba(0,0,0,.025) 8.33% 16.66%),
    linear-gradient(180deg, #2f8350 0%, #276f42 48%, #1d5834 100%) !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase2-atmosphere {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-light-sweep {
  position: absolute !important;
  inset: -18% -22% auto -22% !important;
  height: 58% !important;
  opacity: .34 !important;
  background: linear-gradient(108deg, transparent 18%, rgba(255,255,255,.17) 48%, transparent 78%) !important;
  transform: translateX(-34%) skewX(-15deg) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase2-atmosphere.is-live .fdf-pro-light-sweep {
  animation: fdfProLightSweep 9s ease-in-out infinite !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-attack-wash {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  right: -18% !important;
  width: 48% !important;
  opacity: .03 !important;
  background: radial-gradient(ellipse at 100% 50%, rgba(253,224,71,.74), transparent 67%) !important;
  transition: opacity .45s ease, left .45s ease, right .45s ease, transform .45s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase2-atmosphere.is-danger .fdf-pro-attack-wash { opacity: .25 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase2-atmosphere.is-away-attack .fdf-pro-attack-wash { left: -18% !important; right: auto !important; transform: scaleX(-1) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-grain {
  position: absolute !important;
  inset: 0 !important;
  opacity: .12 !important;
  background-image: radial-gradient(rgba(255,255,255,.22) .55px, transparent .65px) !important;
  background-size: 6px 6px !important;
  mix-blend-mode: soft-light !important;
}
@keyframes fdfProLightSweep {
  0%,100% { transform: translateX(-34%) skewX(-15deg); opacity: .18; }
  48% { transform: translateX(42%) skewX(-15deg); opacity: .42; }
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player {
  --fdf-pro-drift-x: 0px;
  --fdf-pro-bob-y: 0px;
  transform: translate(-50%, -50%) translate3d(var(--fdf-pro-drift-x), var(--fdf-pro-bob-y), 0) !important;
  transition: left 780ms cubic-bezier(.16,.84,.22,1), top 780ms cubic-bezier(.16,.84,.22,1), opacity .22s ease, filter .22s ease !important;
  will-change: left, top, transform !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-pro-moving .fdf-pro-player-shadow {
  animation: fdfProRunShadow .44s ease-in-out infinite !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-pro-moving .fdf-pro-player-ring {
  filter: saturate(1.1) brightness(1.04) !important;
}
@keyframes fdfProRunShadow {
  0%,100% { transform: translateX(-50%) scaleX(1); opacity: .76; }
  50% { transform: translateX(-50%) scaleX(.72); opacity: .48; }
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail {
  position: absolute !important;
  inset: 0 !important;
  z-index: 11 !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail i {
  position: absolute !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: -3.5px 0 0 -3.5px !important;
  border-radius: 50% !important;
  background: rgba(240,250,255,.84) !important;
  box-shadow: 0 0 10px rgba(255,255,255,.46) !important;
  transform: scale(.72) !important;
  transition: left 480ms cubic-bezier(.18,.82,.23,1), top 480ms cubic-bezier(.18,.82,.23,1), opacity .34s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail:not(.is-live) { opacity: .20 !important; }

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
  top: 16px !important;
  right: 16px !important;
  width: 120px !important;
  gap: 4px !important;
  padding: 7px 8px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(2,12,24,.86), rgba(9,34,57,.73)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-label { font-size: .50rem !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession { grid-template-columns: 26px 1fr 26px !important; gap: 4px !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-possession > b { font-size: .63rem !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-panel-copy { font-size: .53rem !important; }

@media (prefers-reduced-motion: reduce) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase2-atmosphere *,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player.is-pro-moving .fdf-pro-player-shadow {
    animation: none !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail i,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball {
    transition-duration: 0ms !important;
  }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel {
    top: 10px !important;
    right: 10px !important;
    width: 108px !important;
    padding: 6px 7px !important;
  }
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 3
   Secuencias visuales de gol, pelota quieta, atajada, cambio, tarjeta
   y lesión. Solo presentación: no modifica la simulación.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-live-event-banner,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-live-event-badge,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-live-event-ghost {
  display: none !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-events {
  position: absolute !important;
  inset: 0 !important;
  z-index: 40 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  animation: fdfP3SceneIn .20s ease-out both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-vignette {
  position: absolute !important;
  inset: 0 !important;
  opacity: .34 !important;
  background: radial-gradient(ellipse at 50% 48%, transparent 28%, rgba(1,8,19,.34) 100%) !important;
  animation: fdfP3Vignette .95s ease-out both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-caption {
  position: absolute !important;
  left: 50% !important;
  top: 46% !important;
  display: flex !important;
  min-width: 164px !important;
  max-width: min(72%, 380px) !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 10px 18px 11px !important;
  color: #fff !important;
  text-align: center !important;
  transform: translate(-50%, -50%) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, rgba(5,15,29,.88), rgba(10,35,60,.78)) !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.09) !important;
  backdrop-filter: blur(8px) !important;
  animation: fdfP3CaptionIn 1.1s cubic-bezier(.18,.82,.25,1) both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-kicker {
  color: rgba(226,242,255,.78) !important;
  font-size: .56rem !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
  line-height: 1 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-title {
  color: #fff !important;
  font-size: clamp(1.15rem, 2.5vw, 2rem) !important;
  font-weight: 1000 !important;
  letter-spacing: .09em !important;
  line-height: 1 !important;
  text-shadow: 0 4px 13px rgba(0,0,0,.36) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-copy {
  max-width: 100% !important;
  overflow: hidden !important;
  color: rgba(232,243,252,.9) !important;
  font-size: .64rem !important;
  font-weight: 850 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Variantes de evento. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-caption {
  min-width: 194px !important;
  border-color: rgba(134,239,172,.42) !important;
  background: linear-gradient(135deg, rgba(5,100,58,.94), rgba(15,138,85,.87)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-kicker { color: #d1fae5 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-title { color: #fff !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-penalty .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-freekick .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-corner .fdf-pro-phase3-caption {
  border-color: rgba(147,197,253,.42) !important;
  background: linear-gradient(135deg, rgba(20,62,138,.94), rgba(26,104,201,.85)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-save .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-chance .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-shot .fdf-pro-phase3-caption {
  border-color: rgba(125,211,252,.36) !important;
  background: linear-gradient(135deg, rgba(6,83,118,.93), rgba(14,116,144,.82)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-substitution .fdf-pro-phase3-caption {
  border-color: rgba(196,181,253,.38) !important;
  background: linear-gradient(135deg, rgba(76,29,149,.93), rgba(109,40,217,.82)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-yellow .fdf-pro-phase3-caption {
  color: #172554 !important;
  border-color: rgba(254,240,138,.54) !important;
  background: linear-gradient(135deg, rgba(250,204,21,.96), rgba(245,158,11,.9)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-yellow .fdf-pro-phase3-kicker,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-yellow .fdf-pro-phase3-title,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-yellow .fdf-pro-phase3-copy { color: #172554 !important; text-shadow: none !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-red .fdf-pro-phase3-caption {
  border-color: rgba(254,202,202,.4) !important;
  background: linear-gradient(135deg, rgba(153,27,27,.96), rgba(220,38,38,.86)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-injury .fdf-pro-phase3-caption {
  color: #1f2937 !important;
  border-color: rgba(254,240,138,.48) !important;
  background: linear-gradient(135deg, rgba(253,230,138,.96), rgba(245,158,11,.84)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-injury .fdf-pro-phase3-kicker,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-injury .fdf-pro-phase3-title,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-injury .fdf-pro-phase3-copy { color: #1f2937 !important; text-shadow: none !important; }

/* Pelota de secuencia: representación visual, no altera la pelota del motor. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-ball {
  position: absolute !important;
  z-index: 2 !important;
  left: var(--fdf-p3-sx);
  top: var(--fdf-p3-sy);
  width: 11px !important;
  height: 11px !important;
  margin: -5.5px 0 0 -5.5px !important;
  border: 1px solid rgba(0,0,0,.58) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 33% 30%, #fff 0 20%, #dae5ec 22% 43%, #5e7180 45% 53%, #f5f9fb 55% 68%, #1c2a34 70% 74%, #fff 76%) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,.4), 0 0 12px rgba(255,255,255,.54) !important;
  animation: fdfP3BallFlight .68s cubic-bezier(.19,.75,.24,1) both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-ball::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  right: 75% !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, transparent, rgba(240,250,255,.64)) !important;
  transform: translateY(-50%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.side-away .fdf-pro-phase3-ball::after { right: auto !important; left: 75% !important; transform: translateY(-50%) scaleX(-1) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-ball.is-corner { animation-duration: .86s !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-ball.is-freekick { animation-timing-function: cubic-bezier(.18,.9,.35,1) !important; }

/* Detalles específicos. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  overflow: hidden !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 5px !important;
  height: 12px !important;
  border-radius: 2px !important;
  background: #fde047 !important;
  box-shadow: 0 0 8px rgba(253,224,71,.72) !important;
  transform: translate(-50%,-50%) rotate(var(--fdf-p3-r, 0deg)) !important;
  animation: fdfP3Confetti .9s ease-out both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(1){ --fdf-p3-r:-72deg; --fdf-p3-x:-116px; --fdf-p3-y:-46px; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(2){ --fdf-p3-r:-42deg; --fdf-p3-x:-84px; --fdf-p3-y:-96px; background:#86efac !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(3){ --fdf-p3-r:-14deg; --fdf-p3-x:-30px; --fdf-p3-y:-126px; background:#fca5a5 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(4){ --fdf-p3-r:19deg; --fdf-p3-x:38px; --fdf-p3-y:-124px; background:#93c5fd !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(5){ --fdf-p3-r:46deg; --fdf-p3-x:94px; --fdf-p3-y:-86px; background:#fde047 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(6){ --fdf-p3-r:74deg; --fdf-p3-x:122px; --fdf-p3-y:-34px; background:#86efac !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(7){ --fdf-p3-r:118deg; --fdf-p3-x:78px; --fdf-p3-y:76px; background:#fca5a5 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst i:nth-child(8){ --fdf-p3-r:152deg; --fdf-p3-x:-74px; --fdf-p3-y:78px; background:#93c5fd !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-net {
  position: absolute !important;
  z-index: 1 !important;
  top: 38% !important;
  width: 15% !important;
  height: 25% !important;
  opacity: 0 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.21) 0 1px, transparent 1px 5px), repeating-linear-gradient(0deg, rgba(255,255,255,.21) 0 1px, transparent 1px 5px) !important;
  animation: fdfP3NetPulse .72s ease-out both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-net.is-home { right: 1.4% !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-net.is-away { left: 1.4% !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-symbol {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  top: calc(46% - 58px) !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #fff !important;
  font-size: 1.75rem !important;
  font-weight: 1000 !important;
  animation: fdfP3SymbolIn .74s cubic-bezier(.2,.82,.22,1) both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-symbol.is-sub { background: rgba(109,40,217,.88) !important; border: 1px solid rgba(221,214,254,.44) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-symbol.is-injury { background: rgba(245,158,11,.9) !important; border: 1px solid rgba(254,240,138,.62) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-symbol.is-save { background: rgba(14,116,144,.9) !important; border: 1px solid rgba(186,230,253,.58) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-card {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  top: calc(46% - 60px) !important;
  width: 25px !important;
  height: 37px !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.28) !important;
  transform: translate(-50%, -50%) rotate(8deg) !important;
  animation: fdfP3CardIn .78s cubic-bezier(.2,.82,.22,1) both !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-card.is-yellow { background: #facc15 !important; border: 1px solid rgba(254,240,138,.9) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-card.is-red { background: #dc2626 !important; border: 1px solid rgba(254,202,202,.76) !important; }

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-goal {
  box-shadow: 0 0 0 2px rgba(74,222,128,.36), 0 22px 54px rgba(0,0,0,.36), inset 0 0 54px rgba(74,222,128,.18) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-setpiece {
  box-shadow: 0 0 0 2px rgba(96,165,250,.28), 0 22px 54px rgba(0,0,0,.36), inset 0 0 44px rgba(96,165,250,.13) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-card {
  box-shadow: 0 0 0 2px rgba(248,113,113,.26), 0 22px 54px rgba(0,0,0,.36), inset 0 0 42px rgba(248,113,113,.11) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-injury {
  box-shadow: 0 0 0 2px rgba(251,191,36,.27), 0 22px 54px rgba(0,0,0,.36), inset 0 0 42px rgba(251,191,36,.11) !important;
}

@keyframes fdfP3SceneIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fdfP3Vignette { 0% { opacity: 0; } 28% { opacity: .42; } 100% { opacity: .20; } }
@keyframes fdfP3CaptionIn { 0% { opacity: 0; transform: translate(-50%, -38%) scale(.92); } 18% { opacity: 1; transform: translate(-50%, -50%) scale(1.03); } 78% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -56%) scale(.98); } }
@keyframes fdfP3BallFlight { 0% { left: var(--fdf-p3-sx); top: var(--fdf-p3-sy); opacity: 0; transform: scale(.72); } 12% { opacity: 1; } 76% { opacity: 1; } 100% { left: var(--fdf-p3-ex); top: var(--fdf-p3-ey); opacity: 0; transform: scale(1.1); } }
@keyframes fdfP3Confetti { 0% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--fdf-p3-r)) scale(.45); } 18% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--fdf-p3-x)), calc(-50% + var(--fdf-p3-y))) rotate(calc(var(--fdf-p3-r) + 180deg)) scale(1); } }
@keyframes fdfP3NetPulse { 0% { opacity: 0; transform: scaleX(.72); } 25% { opacity: .78; transform: scaleX(1.08); } 100% { opacity: 0; transform: scaleX(.92); } }
@keyframes fdfP3SymbolIn { 0% { opacity: 0; transform: translate(-50%, -38%) scale(.72); } 24% { opacity: 1; transform: translate(-50%, -50%) scale(1.12); } 100% { opacity: 0; transform: translate(-50%, -62%) scale(.94); } }
@keyframes fdfP3CardIn { 0% { opacity: 0; transform: translate(-50%, -35%) rotate(-10deg) scale(.65); } 22% { opacity: 1; transform: translate(-50%, -50%) rotate(8deg) scale(1.08); } 100% { opacity: 0; transform: translate(-50%, -66%) rotate(8deg) scale(.94); } }

@media (prefers-reduced-motion: reduce) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene *,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-goal,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-setpiece,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-card,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.is-fdf-phase3-injury {
    animation: none !important;
    transition: none !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-caption { opacity: .96 !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-ball,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-goal-burst,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-net,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-symbol,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-card { display: none !important; }
}

@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-caption {
    top: 48% !important;
    min-width: 142px !important;
    max-width: 82% !important;
    padding: 8px 12px 9px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-title { font-size: 1.12rem !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-kicker { font-size: .49rem !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-copy { font-size: .58rem !important; }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 3.1
   Corrección visual del radar y refuerzo de secuencias de evento.
   =================================================================== */
/* El radar Pro ocupa toda la superficie del stage: sin banda oscura inferior. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #fdf-radar-stage.fdf-pro-radar-stage {
  height: 138px !important;
  min-height: 138px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #123b2a !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #fdf-radar-stage.fdf-pro-radar-stage .fdf-pro-radar-pitch {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
}

/* La capa de Fase 3 siempre queda por delante de cancha, jugadores y balón. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-layer-events {
  z-index: 60 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-events {
  z-index: 80 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene {
  background: linear-gradient(90deg, rgba(2,6,23,.08), rgba(2,6,23,.24), rgba(2,6,23,.08)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-caption {
  z-index: 4 !important;
  min-width: 210px !important;
  padding: 13px 24px 14px !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-title {
  font-size: clamp(1.35rem, 3vw, 2.4rem) !important;
  letter-spacing: .035em !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-kicker {
  font-size: .64rem !important;
  letter-spacing: .15em !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-copy {
  font-size: .78rem !important;
  font-weight: 800 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-caption {
  min-width: min(74%, 420px) !important;
  padding: 18px 34px 20px !important;
  background: linear-gradient(135deg, rgba(5,81,47,.96), rgba(22,163,74,.88)) !important;
  border-color: rgba(187,247,208,.66) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-title {
  font-size: clamp(2rem, 5vw, 3.65rem) !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.40) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-substitution .fdf-pro-phase3-caption {
  background: linear-gradient(135deg, rgba(76,29,149,.95), rgba(109,40,217,.88)) !important;
  border-color: rgba(221,214,254,.62) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-yellow .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-red .fdf-pro-phase3-caption,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-injury .fdf-pro-phase3-caption {
  min-width: 230px !important;
}
@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 #fdf-radar-stage.fdf-pro-radar-stage {
    height: 118px !important;
    min-height: 118px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-caption {
    min-width: 170px !important;
    padding: 10px 14px 11px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase3-scene.is-goal .fdf-pro-phase3-caption {
    min-width: min(80%, 300px) !important;
    padding: 13px 20px 14px !important;
  }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 4
   Cámara contextual, clima visual y acceso integrado a Cambios.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
  --fdf-p4-camera-x: 0%;
  --fdf-p4-camera-y: 0%;
  --fdf-p4-camera-scale: 1;
}

/* La cámara afecta únicamente a las capas de representación. Las secuencias
   de Fase 3 quedan fuera de esta transformación y conservan su lectura. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-pitch-markings,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ambient-layer,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-players-layer,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ball-layer {
  transform: translate3d(var(--fdf-p4-camera-x), var(--fdf-p4-camera-y), 0) scale(var(--fdf-p4-camera-scale)) !important;
  transform-origin: 50% 50% !important;
  transition: transform 760ms cubic-bezier(.16,.84,.22,1) !important;
  will-change: transform !important;
}

#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  mix-blend-mode: normal !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere > span {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p4-sky {
  opacity: .16 !important;
  background: linear-gradient(180deg, rgba(4,19,35,.28), transparent 35%, rgba(2,10,18,.12)) !important;
  transition: opacity .55s ease, background .55s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p4-vignette {
  background: radial-gradient(ellipse at center, transparent 44%, rgba(0,10,16,.15) 100%) !important;
  opacity: .48 !important;
  transition: opacity .45s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p4-crowd-glow {
  inset: auto -5% -20% -5% !important;
  height: 42% !important;
  opacity: .22 !important;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,239,157,.28), transparent 62%) !important;
  filter: blur(10px) !important;
  transition: opacity .4s ease, transform .55s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-live .fdf-p4-crowd-glow {
  animation: fdfP4CrowdPulse 4.8s ease-in-out infinite !important;
}

/* Clima tomado de FDFAdvancedMatch.weather: no afecta la simulación. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-sunny .fdf-p4-sky {
  opacity: .31 !important;
  background: linear-gradient(118deg, rgba(255,235,151,.27), transparent 36%, rgba(255,255,255,.07) 70%, transparent) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-cloudy .fdf-p4-sky {
  opacity: .30 !important;
  background: linear-gradient(180deg, rgba(8,18,34,.36), rgba(77,101,118,.12) 43%, transparent 72%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-rain .fdf-p4-sky,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-storm .fdf-p4-sky {
  opacity: .40 !important;
  background: linear-gradient(180deg, rgba(3,11,24,.48), rgba(40,84,102,.19) 47%, transparent 76%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p4-weather {
  opacity: 0 !important;
  background: repeating-linear-gradient(112deg, transparent 0 13px, rgba(219,245,255,.36) 14px 15px, transparent 16px 25px) !important;
  background-size: 88px 88px !important;
  transform: translateY(-14%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-rain .fdf-p4-weather,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-storm .fdf-p4-weather {
  opacity: .20 !important;
  animation: fdfP4Rain .75s linear infinite !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere.is-storm .fdf-p4-weather { opacity: .31 !important; }

/* Intensidad contextual: tercio final y cierre de partido. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch.is-fdf-p4-home-attack .fdf-p4-vignette,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch.is-fdf-p4-away-attack .fdf-p4-vignette {
  opacity: .64 !important;
  background: radial-gradient(ellipse at center, transparent 38%, rgba(0,8,16,.24) 100%) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch.is-fdf-p4-late .fdf-p4-crowd-glow {
  opacity: .38 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch.is-fdf-p4-late .fdf-pro-phase2-atmosphere .fdf-pro-attack-wash {
  opacity: .32 !important;
}

@keyframes fdfP4Rain {
  from { transform: translate3d(-2%, -16%, 0); }
  to { transform: translate3d(2%, 18%, 0); }
}
@keyframes fdfP4CrowdPulse {
  0%, 100% { transform: scaleX(.98); opacity: .18; }
  50% { transform: scaleX(1.03); opacity: .30; }
}

/* Reemplazo de la tarjeta de posesión inferior: el dato ya está en cancha.
   El mismo espacio queda reservado al único acceso visible de Cambios. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-tv-dock-player-card.fdf-pro-dock-sub-slot {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-color: rgba(74,222,128,.34) !important;
  background: linear-gradient(135deg, rgba(21,128,61,.98), rgba(22,163,74,.90)) !important;
  box-shadow: 0 14px 30px rgba(22,163,74,.22), inset 0 1px 0 rgba(255,255,255,.15) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-slot > .tv-player-no,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-slot > .tv-player-copy {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  width: 100% !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 10px 13px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left !important;
  cursor: pointer !important;
  font-family: inherit !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action:hover {
  background: rgba(255,255,255,.09) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action:focus-visible {
  outline: 3px solid rgba(254,240,138,.88) !important;
  outline-offset: -4px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-icon {
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 1000 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-copy strong {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-copy small {
  color: rgba(240,253,244,.88) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action.is-reorder {
  background: linear-gradient(135deg, rgba(30,64,175,.16), rgba(76,29,149,.22)) !important;
}

/* El acceso flotante anterior queda oculto solo en renderer Pro: no se duplica. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-floating-sub-btn {
  display: none !important;
}

@media (max-width: 760px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-pitch-markings,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ambient-layer,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-players-layer,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ball-layer {
    transition-duration: 560ms !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action {
    min-height: 50px !important;
    padding: 8px 10px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-pitch-markings,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ambient-layer,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-players-layer,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch .fdf-pro-ball-layer,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere * {
    animation: none !important;
    transition: none !important;
  }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 5
   Director táctico Pro: lectura, recomendación y órdenes existentes.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
  margin: 12px 0 2px !important;
  padding: 12px !important;
  border: 1px solid rgba(96,165,250,.22) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,197,94,.14), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.92), rgba(6,15,28,.84)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 22px rgba(0,0,0,.16) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-heading > div {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-kicker,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-rec-kicker {
  display: block !important;
  color: rgba(147,197,253,.88) !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .13em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-heading strong {
  color: #f8fafc !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  letter-spacing: -.01em !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-live {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 25px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(148,163,184,.26) !important;
  border-radius: 999px !important;
  background: rgba(15,23,42,.66) !important;
  color: rgba(226,232,240,.82) !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-live.is-live {
  border-color: rgba(74,222,128,.35) !important;
  background: rgba(20,83,45,.42) !important;
  color: #bbf7d0 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 8px !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  border-radius: 13px !important;
  background: rgba(2,6,23,.45) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active.is-active { border-color: rgba(96,165,250,.34) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active.tone-attack { border-color: rgba(251,146,60,.34) !important; background: linear-gradient(90deg, rgba(194,65,12,.16), rgba(2,6,23,.44)) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active.tone-defense { border-color: rgba(74,222,128,.30) !important; background: linear-gradient(90deg, rgba(21,128,61,.17), rgba(2,6,23,.44)) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active.tone-build { border-color: rgba(96,165,250,.31) !important; background: linear-gradient(90deg, rgba(30,64,175,.17), rgba(2,6,23,.44)) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active-icon {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 11px !important;
  background: rgba(96,165,250,.16) !important;
  color: #e0f2fe !important;
  font-size: 17px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active > div {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active small {
  color: rgba(186,230,253,.74) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active strong {
  overflow: hidden !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-active span:not(.fdf-p5-active-icon) {
  overflow: hidden !important;
  color: rgba(226,232,240,.68) !important;
  font-size: 10px !important;
  line-height: 1.22 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: repeat(3, 1fr) !important;
  gap: 6px 16px !important;
  min-height: 40px !important;
  padding: 7px 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(148,163,184,.15) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(90deg, transparent 49.5%, rgba(255,255,255,.16) 50%, transparent 50.5%),
    linear-gradient(180deg, rgba(34,197,94,.11), rgba(15,23,42,.42)) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape::before,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape::after {
  position: absolute !important;
  top: 5px !important;
  bottom: 5px !important;
  width: 17% !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  content: "" !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape::before { left: 0 !important; border-left: 0 !important; border-radius: 0 8px 8px 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape::after { right: 0 !important; border-right: 0 !important; border-radius: 8px 0 0 8px !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape i {
  z-index: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border: 2px solid rgba(219,234,254,.88) !important;
  border-radius: 50% !important;
  background: #2563eb !important;
  box-shadow: 0 0 0 2px rgba(15,23,42,.48) !important;
  transition: transform .24s ease, background .24s ease, box-shadow .24s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape i:nth-child(n+6) { background: #f59e0b !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="press"] i:nth-child(-n+3),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="equalize"] i:nth-child(-n+3),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="direct"] i:nth-child(-n+3) { transform: translateY(-5px) !important; box-shadow: 0 0 0 2px rgba(15,23,42,.48), 0 0 11px rgba(251,146,60,.48) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="lowblock"] i:nth-child(n+7),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="hold"] i:nth-child(n+7) { transform: translateY(5px) !important; box-shadow: 0 0 0 2px rgba(15,23,42,.48), 0 0 11px rgba(74,222,128,.42) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="wings"] i:nth-child(1),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="wings"] i:nth-child(3),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="wings"] i:nth-child(7),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="wings"] i:nth-child(9) { transform: translateX(9px) !important; box-shadow: 0 0 0 2px rgba(15,23,42,.48), 0 0 10px rgba(96,165,250,.48) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="longshots"] i:nth-child(4),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="longshots"] i:nth-child(5),
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="longshots"] i:nth-child(6) { transform: scale(1.34) !important; box-shadow: 0 0 0 2px rgba(15,23,42,.48), 0 0 11px rgba(250,204,21,.52) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape[data-plan="markstar"] i:nth-child(5) { transform: scale(1.58) !important; background: #fff !important; box-shadow: 0 0 0 2px rgba(15,23,42,.48), 0 0 12px rgba(244,63,94,.56) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 63px !important;
  padding: 9px !important;
  border: 1px solid rgba(96,165,250,.18) !important;
  border-radius: 13px !important;
  background: rgba(15,23,42,.62) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation.tone-attack { border-color: rgba(251,146,60,.28) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation.tone-defense { border-color: rgba(74,222,128,.25) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation.tone-build { border-color: rgba(96,165,250,.26) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation.is-current { opacity: .88 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation > div { min-width: 0 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation strong {
  display: block !important;
  overflow: hidden !important;
  margin-top: 2px !important;
  color: #f8fafc !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation p {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 3px 0 0 !important;
  color: rgba(226,232,240,.69) !important;
  font-size: 10px !important;
  line-height: 1.28 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply {
  min-width: 64px !important;
  min-height: 33px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(74,222,128,.33) !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #15803d, #22c55e) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 16px rgba(34,197,94,.18) !important;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply:hover:not(:disabled) { transform: translateY(-1px) !important; filter: brightness(1.08) !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply:disabled,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply.is-active { cursor: default !important; opacity: .58 !important; box-shadow: none !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-controls-label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  color: rgba(203,213,225,.72) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-controls-label span { color: #dbeafe !important; text-transform: uppercase !important; letter-spacing: .08em !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-controls-label small { color: rgba(203,213,225,.56) !important; font-size: 9px !important; font-weight: 800 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button {
  position: relative !important;
  min-height: 35px !important;
  overflow: hidden !important;
  padding: 6px 7px !important;
  border-color: rgba(148,163,184,.19) !important;
  background: rgba(15,23,42,.62) !important;
  color: #e2e8f0 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button::after {
  position: absolute !important;
  inset: auto 0 0 !important;
  height: 2px !important;
  background: transparent !important;
  content: "" !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button.is-phase5-active {
  border-color: rgba(74,222,128,.48) !important;
  background: linear-gradient(135deg, rgba(20,83,45,.72), rgba(15,23,42,.74)) !important;
  color: #dcfce7 !important;
  box-shadow: inset 0 0 0 1px rgba(74,222,128,.10), 0 7px 14px rgba(34,197,94,.10) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button.is-phase5-active::after { background: #4ade80 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button.is-phase5-recommended:not(.is-phase5-active) {
  border-color: rgba(250,204,21,.44) !important;
  color: #fef3c7 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button.is-phase5-recommended:not(.is-phase5-active)::after { background: #facc15 !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions button:hover { background: rgba(30,64,175,.36) !important; }

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console { padding: 10px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape { min-height: 36px !important; }
}
@media (max-width: 640px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-recommendation { grid-template-columns: 1fr !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply { width: 100% !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console #fdf-dt-quick-actions { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console *,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console *::before,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console *::after { animation: none !important; transition: none !important; }
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — Ajuste de panel derecho Fase 5
   El reloj canónico permanece en el marcador superior y la posesión
   permanece en la cancha. Se oculta solo la tarjeta visual duplicada
   del lateral para que Director de partido sea el primer bloque visible.
   No se elimina el DOM: updateTimeDisplay() y updatePossessionDisplay()
   mantienen sus referencias internas sin modificar la simulación.
   =================================================================== */
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 #enhanced-match-controls > .fdf-overview-card {
  display: none !important;
}

html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 #enhanced-match-controls {
  padding-top: 0 !important;
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 6
   Informe final Premium. Solo presentación; no modifica el cierre,
   resultado, fixture ni persistencia del partido.
   =================================================================== */
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal {
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
  background:
    radial-gradient(circle at 50% -10%, rgba(59,130,246,.28), transparent 42%),
    radial-gradient(circle at 10% 100%, rgba(34,197,94,.16), transparent 34%),
    rgba(2,6,23,.92) !important;
  backdrop-filter: blur(10px) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-dialog {
  width: min(96vw, 880px) !important;
  max-width: 880px !important;
  max-height: min(92dvh, 900px) !important;
  padding: 24px !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(37,99,235,.20), transparent 30%),
    linear-gradient(180deg, #08172b 0%, #0b1b31 56%, #06111f 100%) !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #f8fafc !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-title {
  margin: 0 0 16px !important;
  color: #f8fafc !important;
  font-size: clamp(1.55rem, 2.7vw, 2.15rem) !important;
  font-weight: 1000 !important;
  letter-spacing: -.025em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-scorecard {
  margin-bottom: 16px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(9,32,53,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-team-badge {
  width: 58px !important;
  height: 58px !important;
  padding: 5px !important;
  border-radius: 16px !important;
  background: #fff !important;
  object-fit: contain !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.22) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-team-name {
  color: #e2e8f0 !important;
  font-size: clamp(1rem, 1.8vw, 1.24rem) !important;
  font-weight: 900 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-score {
  color: #facc15 !important;
  font-size: clamp(2.35rem, 5vw, 3.65rem) !important;
  text-shadow: 0 5px 22px rgba(250,204,21,.22) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-penalties {
  color: #cbd5e1 !important;
}

html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-final-report {
  margin: 0 0 18px !important;
  padding: 16px !important;
  border: 1px solid rgba(125,211,252,.16) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(14,165,233,.15), transparent 30%),
    linear-gradient(135deg, rgba(15,23,42,.94), rgba(8,47,73,.52)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 36px rgba(0,0,0,.14) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-kicker {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .13em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-kicker > span { color: #7dd3fc !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-kicker > b {
  padding: 6px 9px !important;
  border: 1px solid rgba(74,222,128,.20) !important;
  border-radius: 999px !important;
  background: rgba(34,197,94,.11) !important;
  color: #bbf7d0 !important;
  font-size: 9px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-overview {
  display: grid !important;
  grid-template-columns: minmax(180px, .82fr) minmax(0, 1.35fr) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-figure,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-reading {
  min-width: 0 !important;
  padding: 13px !important;
  border: 1px solid rgba(148,163,184,.14) !important;
  border-radius: 16px !important;
  background: rgba(2,6,23,.34) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-figure small,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-reading small,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-stat-grid small {
  display: block !important;
  color: rgba(186,230,253,.70) !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .1em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-figure strong {
  display: block !important;
  margin-top: 6px !important;
  color: #fef3c7 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-figure span {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(226,232,240,.72) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-reading p {
  margin: 6px 0 0 !important;
  color: #e2e8f0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-penalty-note {
  display: inline-flex !important;
  margin-top: 8px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: rgba(250,204,21,.12) !important;
  color: #fde68a !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-stat-grid > div {
  padding: 10px !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  border-radius: 13px !important;
  background: rgba(15,23,42,.58) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-stat-grid b {
  display: block !important;
  margin-top: 5px !important;
  color: #f8fafc !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-columns {
  display: grid !important;
  grid-template-columns: minmax(0,1.32fr) minmax(190px,.82fr) !important;
  gap: 12px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-columns article {
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(148,163,184,.12) !important;
  border-radius: 16px !important;
  background: rgba(2,6,23,.30) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-columns h4 {
  margin: 0 0 8px !important;
  color: #e0f2fe !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions li {
  display: grid !important;
  grid-template-columns: 34px 21px minmax(0,1fr) !important;
  gap: 6px !important;
  align-items: start !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(148,163,184,.12) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions li { grid-template-columns: 34px minmax(74px,.55fr) minmax(0,1fr) !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row:last-child,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions li:last-child { border-bottom: 0 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row b,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions b { color: #93c5fd !important; font-size: 11px !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row span,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions span { color: #cbd5e1 !important; font-size: 10px !important; font-weight: 900 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row p,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-decisions p { margin: 0 !important; color: #e2e8f0 !important; font-size: 11px !important; line-height: 1.35 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row.is-goal span { color: #86efac !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row.is-red-card span { color: #fca5a5 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-timeline-row.is-yellow-card span { color: #fde68a !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-empty {
  display: block !important;
  padding: 8px 0 !important;
  color: rgba(203,213,225,.64) !important;
  font-style: italic !important;
  font-size: 11px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-section h3 {
  color: #e2e8f0 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-box {
  border: 1px solid rgba(148,163,184,.13) !important;
  border-radius: 16px !important;
  background: rgba(248,250,252,.94) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-actions {
  position: sticky !important;
  bottom: -24px !important;
  z-index: 3 !important;
  margin: 18px -24px -24px !important;
  padding: 14px 24px 18px !important;
  background: linear-gradient(180deg, rgba(6,17,31,0), rgba(6,17,31,.96) 34%) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-btn {
  min-width: 178px !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  font-weight: 1000 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-btn.is-close {
  border: 1px solid rgba(148,163,184,.24) !important;
  background: rgba(51,65,85,.92) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-btn.is-next {
  border: 1px solid rgba(74,222,128,.28) !important;
  background: linear-gradient(135deg, #15803d, #22c55e) !important;
}

@media (max-width: 760px) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal { padding: 10px !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-dialog { padding: 16px !important; border-radius: 18px !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-overview,
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-columns { grid-template-columns: 1fr !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p6-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-actions { bottom: -16px !important; margin: 16px -16px -16px !important; padding: 12px 16px 14px !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-btn { width: 100% !important; min-width: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal *,
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal *::before,
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal *::after { animation: none !important; transition: none !important; }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 6.1
   Resumen canónico sin destello legacy ni Match Experience duplicado.
   =================================================================== */
/* El resumen base se crea primero por compatibilidad; no se pinta hasta
   que Fase 6 termina de convertirlo a la única vista Premium. */
html[data-fdf-match-renderer="pro"] #match-summary-modal:not(.fdf-p6-ready) {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-ready {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: opacity .14s ease !important;
}

/* Fase 6 incorpora estos datos en su propio informe; nunca duplicar el
   bloque legacy Match Experience debajo de las estadísticas. */
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-exp-summary-block,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-exp-full-summary-block,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal [data-fdf-legacy-match-experience="1"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Registro oficial: goles, incidencias y estadísticas pasan al mismo
   lenguaje visual oscuro y legible del Informe Final Premium. */
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section {
  margin: 0 0 16px !important;
  padding: 14px !important;
  border: 1px solid rgba(125,211,252,.14) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(15,23,42,.86), rgba(8,47,73,.38)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section > h3,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section h3[data-fdf-p6-official-heading="1"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  color: #e0f2fe !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  letter-spacing: -.01em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section > h3::before {
  content: "REGISTRO" !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 6px !important;
  border-radius: 999px !important;
  background: rgba(56,189,248,.12) !important;
  color: #7dd3fc !important;
  font-size: 8px !important;
  font-weight: 1000 !important;
  letter-spacing: .1em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-box,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-box {
  padding: 5px 13px !important;
  border: 1px solid rgba(148,163,184,.15) !important;
  border-radius: 14px !important;
  background: rgba(2,6,23,.48) !important;
  color: #e2e8f0 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section .fdf-match-summary-event-row {
  display: grid !important;
  grid-template-columns: 40px 24px minmax(0,1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(148,163,184,.12) !important;
  color: #f8fafc !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section .fdf-match-summary-event-row:last-child {
  border-bottom: 0 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-main {
  min-width: 0 !important;
  color: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-aside {
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-minute {
  color: #93c5fd !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-minute.is-goal { color: #86efac !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-minute.is-yellow,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-icon.is-yellow { color: #facc15 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-minute.is-red,
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-icon.is-red { color: #fca5a5 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-box.is-empty {
  color: #cbd5e1 !important;
  background: rgba(15,23,42,.58) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-box.is-expulsions {
  border-left: 3px solid #fb7185 !important;
  background: rgba(127,29,29,.28) !important;
  color: #fecdd3 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-box.is-expulsions p {
  color: #fecdd3 !important;
  font-weight: 800 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row {
  display: grid !important;
  grid-template-columns: minmax(118px,.72fr) minmax(0,1.28fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(148,163,184,.12) !important;
  color: #e2e8f0 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row:last-child { border-bottom: 0 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row span:first-child {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row span:last-child {
  color: #f8fafc !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-align: right !important;
}

@media (max-width: 760px) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section { padding: 12px !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section .fdf-match-summary-event-row {
    grid-template-columns: 36px 21px minmax(0,1fr) !important;
  }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-aside {
    grid-column: 3 / -1 !important;
  }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-stat-row span:last-child { text-align: left !important; }
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 6.2
   Goles en una línea + puerta visual de arranque limpio.
   =================================================================== */
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section .fdf-match-summary-event-row.is-goal-row {
  grid-template-columns: 48px minmax(0,1fr) auto !important;
  column-gap: 12px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-event-row.is-goal-row .fdf-match-summary-main {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-event-row.is-goal-row .fdf-match-summary-aside {
  white-space: nowrap !important;
  text-align: right !important;
}
@media (max-width: 760px) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-p6-official-section .fdf-match-summary-event-row.is-goal-row {
    grid-template-columns: 42px minmax(0,1fr) !important;
    column-gap: 9px !important;
  }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-event-row.is-goal-row .fdf-match-summary-main {
    white-space: normal !important;
  }
  html[data-fdf-match-renderer="pro"] #match-summary-modal.fdf-p6-modal .fdf-match-summary-event-row.is-goal-row .fdf-match-summary-aside {
    grid-column: 2 / -1 !important;
    text-align: left !important;
  }
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 6.3
   Puerta visual anterior a la apertura del modal.
   Se aplica incluso si la cancha reutilizada conserva temporalmente
   data-fdf-pro-ready del partido anterior. El renderer la libera al
   completar sus capas Pro.
   =================================================================== */
html[data-fdf-match-renderer="pro"].fdf-pro-render-pending #modal-match-backdrop .cancha-futbol,
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .cancha-futbol[data-fdf-pro-ready="pending"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 7
   Centro de Jornada y Consecuencias del Partido.
   Capa visual de lectura posterior: no altera mecánica ni finalización.
   =================================================================== */
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-journey {
  margin: 18px 0 20px !important;
  padding: 17px !important;
  border: 1px solid rgba(96,165,250,.20) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(34,197,94,.14), transparent 30%),
    linear-gradient(145deg, rgba(9,31,56,.96), rgba(7,23,43,.97)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 30px rgba(2,6,23,.14) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-kicker {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  color: #7dd3fc !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  letter-spacing: .12em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-kicker > b {
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: rgba(34,197,94,.13) !important;
  border: 1px solid rgba(74,222,128,.20) !important;
  color: #bbf7d0 !important;
  font-size: 9px !important;
  white-space: nowrap !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading small,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid small {
  display: block !important;
  margin: 0 0 5px !important;
  color: #93c5fd !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  font-weight: 1000 !important;
  letter-spacing: .1em !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading h3 {
  margin: 0 !important;
  color: #f8fafc !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading > span {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  color: #e2e8f0 !important;
  background: rgba(148,163,184,.10) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading > span.is-win { color: #bbf7d0 !important; border-color: rgba(74,222,128,.24) !important; background: rgba(34,197,94,.14) !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading > span.is-loss { color: #fecaca !important; border-color: rgba(248,113,113,.25) !important; background: rgba(239,68,68,.12) !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading > span.is-draw { color: #fde68a !important; border-color: rgba(250,204,21,.24) !important; background: rgba(234,179,8,.11) !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr) !important;
  gap: 10px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid article {
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(148,163,184,.14) !important;
  border-radius: 14px !important;
  background: rgba(2,6,23,.32) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid p {
  margin: 0 !important;
  color: #cbd5e1 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-impact em,
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-availability em {
  display: block !important;
  margin-top: 8px !important;
  color: #93c5fd !important;
  font-size: 10px !important;
  font-style: normal !important;
  line-height: 1.35 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-impact em.is-positive { color: #86efac !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center !important;
  gap: 7px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams img {
  width: 33px !important;
  height: 33px !important;
  padding: 3px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.94) !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams b {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #e2e8f0 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams > strong { color: #7dd3fc !important; font-size: 10px !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-meta { margin-top: 8px !important; text-align: center !important; color: #94a3b8 !important; font-size: 10px !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-empty { display: flex !important; align-items: center !important; gap: 8px !important; padding: 7px 0 !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-empty span { font-size: 18px !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions button {
  min-height: 34px !important;
  padding: 7px 8px !important;
  border: 1px solid rgba(148,163,184,.20) !important;
  border-radius: 10px !important;
  background: rgba(15,23,42,.88) !important;
  color: #e2e8f0 !important;
  font: inherit !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions button:first-child {
  border-color: rgba(74,222,128,.30) !important;
  background: linear-gradient(135deg, rgba(22,163,74,.92), rgba(34,197,94,.86)) !important;
  color: #f0fdf4 !important;
}
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions button:hover { transform: translateY(-1px) !important; border-color: rgba(125,211,252,.60) !important; }
html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions button span { margin-right: 4px !important; color: inherit !important; }

@media (max-width: 820px) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-grid { grid-template-columns: 1fr !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-next-teams { max-width: 300px !important; margin: 0 auto !important; }
}
@media (max-width: 520px) {
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-journey { padding: 13px !important; border-radius: 15px !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-heading { align-items: start !important; flex-direction: column !important; }
  html[data-fdf-match-renderer="pro"] #match-summary-modal .fdf-p7-actions { grid-template-columns: 1fr !important; }
}

/* ===================================================================
   FDF MATCH PRESENTATION PRO — FASE 8
   Adaptación móvil, táctil y de rendimiento visual. Solo presentación.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 [data-fdf-pro-layout] {
  min-width: 0 !important;
}

/* Estado final informativo del botón central: nunca inicia otro partido. */
#modal-match-backdrop .modal-match.fdf-match-tv-v3 .tv-preview-slot #mm-btn-comenzar.is-final-status,
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #mm-btn-comenzar.is-final-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(148,163,184,.40) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(51,65,85,.96), rgba(30,41,59,.96)) !important;
  color: #e2e8f0 !important;
  font-weight: 1000 !important;
  cursor: default !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 #mm-btn-comenzar.is-final-status::before {
  content: '✓';
  margin-right: 7px;
  color: #86efac;
  font-size: 13px;
}

/* Se mantienen los controles alcanzables en pantallas táctiles sin cambiar
   la jerarquía ni la simulación. */
@media (pointer: coarse) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 button,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 [role="button"] {
    min-height: 40px;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-apply {
    min-height: 44px !important;
  }
}

/* Tabletas: evita recortes de cancha y concentra el panel de dirección en
   una columna posterior a la cancha, con scroll nativo del modal. */
@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 {
    width: min(100%, 980px) !important;
    max-height: calc(100dvh - 12px) !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-main {
    min-height: 0 !important;
    overscroll-behavior: contain;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    min-height: clamp(270px, 52vw, 420px) !important;
    aspect-ratio: 1.55 / 1 !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel,
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-card {
    max-width: min(36vw, 220px) !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-tv-pitch-dock {
    gap: 8px !important;
  }
}

/* Móvil vertical: la lectura principal es cancha, controles y comentarios;
   los detalles del director siguen debajo sin superponerse. */
@media (max-width: 640px) {
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    min-height: clamp(225px, 66vw, 320px) !important;
    aspect-ratio: 1.35 / 1 !important;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-live-panel,
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-insight-card {
    transform: scale(.88);
    transform-origin: top right;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-scorebug {
    max-width: calc(100% - 34px) !important;
    transform: translateX(-50%) scale(.88);
    transform-origin: top center;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-tv-pitch-dock {
    grid-template-columns: minmax(132px,.96fr) repeat(3, minmax(0,1fr)) !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-dock-sub-action {
    min-width: 132px !important;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 #mm-comentarios {
    min-height: 78px !important;
    max-height: 118px !important;
    overscroll-behavior: contain;
  }
}

/* Dispositivos con recursos ajustados: preserva contenido, pero baja solo
   el coste decorativo de atmósfera, estelas y transiciones largas. */
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere,
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail,
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ambient-layer {
  animation: none !important;
  filter: none !important;
}
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere {
  opacity: .56 !important;
}
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node,
html.fdf-p8-compact #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball {
  transition-duration: 190ms !important;
}

@media (max-width: 980px) and (orientation: landscape) {
  html[data-fdf-pro-layout="landscape-compact"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    min-height: 0 !important;
    height: min(54dvh, 350px) !important;
    aspect-ratio: 16 / 9 !important;
  }
  html[data-fdf-pro-layout="landscape-compact"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase5-console {
    content-visibility: auto;
    contain-intrinsic-size: 290px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-phase4-atmosphere,
  html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-ball-trail,
  html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-p5-shape i {
    animation: none !important;
    transition: none !important;
  }
}



/* ===================================================================
   FDF MANAGER — FASE 9
   Preparación Estratégica previa al partido.
   Alcance: panel de Tácticas. No afecta el renderer ni la simulación.
   =================================================================== */
#content-tacticas .fdf-p9-strategy {
  --fdf-p9-ink: #eaf3ff;
  --fdf-p9-muted: #a9bdd2;
  --fdf-p9-line: rgba(148, 163, 184, .26);
  --fdf-p9-panel: #071525;
  --fdf-p9-card: rgba(13, 30, 52, .95);
  position: relative;
  margin: 0 0 18px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, .31);
  border-radius: 18px;
  color: var(--fdf-p9-ink);
  background:
    radial-gradient(circle at 93% -22%, rgba(34, 197, 94, .18), transparent 35%),
    radial-gradient(circle at -7% 104%, rgba(56, 189, 248, .16), transparent 39%),
    linear-gradient(140deg, #07182d 0%, #0a203a 49%, #081728 100%);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
}
#content-tacticas .fdf-p9-strategy::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.85), transparent 95%);
}
#content-tacticas .fdf-p9-strategy > * { position: relative; z-index: 1; }

#content-tacticas .fdf-p9-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
#content-tacticas .fdf-p9-head > div > span {
  display: block;
  margin-bottom: 4px;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
}
#content-tacticas .fdf-p9-head h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.05;
}
#content-tacticas .fdf-p9-competition {
  max-width: 45%;
  padding: 7px 10px;
  overflow: hidden;
  border: 1px solid rgba(134, 239, 172, .34);
  border-radius: 999px;
  color: #bbf7d0;
  background: rgba(22, 101, 52, .28);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#content-tacticas .fdf-p9-matchup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .23);
  border-radius: 15px;
  background: rgba(2, 12, 26, .56);
}
#content-tacticas .fdf-p9-side {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  min-width: 0;
}
#content-tacticas .fdf-p9-side.is-rival { text-align: right; grid-template-columns: minmax(0, 1fr) 42px; }
#content-tacticas .fdf-p9-side.is-rival .fdf-p9-team-shield { grid-column: 2; grid-row: 1 / span 2; }
#content-tacticas .fdf-p9-side.is-rival strong,
#content-tacticas .fdf-p9-side.is-rival small { grid-column: 1; }
#content-tacticas .fdf-p9-side strong {
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#content-tacticas .fdf-p9-side small { color: #9db5cd; font-size: 10px; font-weight: 700; }
#content-tacticas .fdf-p9-team-shield {
  position: relative;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 13px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 16px rgba(0,0,0,.26);
}
#content-tacticas .fdf-p9-team-shield img { position: relative; z-index: 1; width: 36px; height: 36px; object-fit: contain; }
#content-tacticas .fdf-p9-team-shield b { position: absolute; color: #0f172a; font-size: 18px; font-weight: 950; }
#content-tacticas .fdf-p9-team-shield img + b { display: none; }
#content-tacticas .fdf-p9-versus { display: flex; flex-direction: column; align-items: center; gap: 3px; color: #94a3b8; text-align: center; }
#content-tacticas .fdf-p9-versus i { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 50%; color: #ffffff; background: linear-gradient(145deg, #0ea5e9, #1d4ed8); font-size: 10px; font-style: normal; font-weight: 950; box-shadow: 0 6px 14px rgba(14,165,233,.26); }
#content-tacticas .fdf-p9-versus span { font-size: 9px; font-weight: 750; line-height: 1.1; }

#content-tacticas .fdf-p9-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.24fr) minmax(0, 1fr);
  gap: 11px;
}
#content-tacticas .fdf-p9-card {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--fdf-p9-line);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(15, 36, 62, .97), rgba(7, 21, 38, .96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
#content-tacticas .fdf-p9-card-head { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 11px; }
#content-tacticas .fdf-p9-card-head > span { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 9px; background: rgba(125, 211, 252, .13); font-size: 14px; }
#content-tacticas .fdf-p9-card-head small,
#content-tacticas .fdf-p9-footer-item small {
  display: block;
  margin-bottom: 2px;
  color: #8eb5d5;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .09em;
}
#content-tacticas .fdf-p9-card h4 { margin: 0; color: #f8fafc; font-size: 13px; line-height: 1.15; }

#content-tacticas .fdf-p9-profile-row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid rgba(148,163,184,.14); }
#content-tacticas .fdf-p9-profile-row span { color: #9eb2c7; font-size: 10px; }
#content-tacticas .fdf-p9-profile-row b { color: #e0f2fe; font-size: 11px; font-weight: 900; text-transform: capitalize; }
#content-tacticas .fdf-p9-star { display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 8px; border-radius: 10px; background: rgba(245,158,11,.11); }
#content-tacticas .fdf-p9-star > span { color: #fbbf24; font-size: 18px; }
#content-tacticas .fdf-p9-star small { display: block; margin-bottom: 2px; color: #fcd34d; font-size: 8px; font-weight: 950; letter-spacing: .08em; }
#content-tacticas .fdf-p9-star b { display: block; overflow: hidden; color: #fef3c7; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#content-tacticas .fdf-p9-estimate { display: block; margin-top: 9px; color: #94a3b8; font-size: 9px; line-height: 1.25; }
#content-tacticas .fdf-p9-estimate.is-confirmed { color: #86efac; }

#content-tacticas .fdf-p9-plan-card { border-color: rgba(34,197,94,.30); background: linear-gradient(150deg, rgba(10, 61, 48, .94), rgba(8, 30, 42, .98)); }
#content-tacticas .fdf-p9-plan-card > p { min-height: 44px; margin: 0 0 10px; color: #d1fae5; font-size: 11px; line-height: 1.42; }
#content-tacticas .fdf-p9-plan-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
#content-tacticas .fdf-p9-plan-tags b { padding: 5px 7px; border: 1px solid rgba(167,243,208,.22); border-radius: 999px; color: #bbf7d0; background: rgba(6,78,59,.36); font-size: 9px; font-weight: 900; }
#content-tacticas .fdf-p9-plan-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
#content-tacticas .fdf-p9-plan-actions button { min-height: 34px; padding: 7px 9px; border-radius: 9px; font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; transition: transform .16s ease, filter .16s ease, border-color .16s ease; }
#content-tacticas .fdf-p9-apply { border: 1px solid rgba(187,247,208,.52); color: #f0fdf4; background: linear-gradient(135deg, #15803d, #22c55e); box-shadow: 0 7px 16px rgba(21,128,61,.22); }
#content-tacticas .fdf-p9-keep { border: 1px solid rgba(148,163,184,.34); color: #dbeafe; background: rgba(15,23,42,.68); }
#content-tacticas .fdf-p9-plan-actions button:hover { transform: translateY(-1px); filter: brightness(1.06); }
#content-tacticas .fdf-p9-manual { display: block; margin-top: 8px; color: #94a3b8; font-size: 9px; }
#content-tacticas .fdf-p9-manual.is-feedback { color: #bbf7d0; font-weight: 800; }

#content-tacticas .fdf-p9-alerts { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; }
#content-tacticas .fdf-p9-alerts li { display: flex; align-items: flex-start; gap: 7px; padding: 7px; border: 1px solid rgba(148,163,184,.18); border-radius: 10px; background: rgba(2,12,26,.33); }
#content-tacticas .fdf-p9-alerts li > span { width: 15px; text-align: center; font-size: 12px; }
#content-tacticas .fdf-p9-alerts li div { min-width: 0; }
#content-tacticas .fdf-p9-alerts li b { display: block; color: #e2e8f0; font-size: 10px; }
#content-tacticas .fdf-p9-alerts li small { display: block; margin-top: 2px; overflow: hidden; color: #9eb2c7; font-size: 9px; line-height: 1.25; text-overflow: ellipsis; }
#content-tacticas .fdf-p9-alerts li.is-danger { border-color: rgba(248,113,113,.35); background: rgba(127,29,29,.16); }
#content-tacticas .fdf-p9-alerts li.is-danger b { color: #fecaca; }
#content-tacticas .fdf-p9-alerts li.is-warn { border-color: rgba(251,191,36,.32); background: rgba(120,53,15,.13); }
#content-tacticas .fdf-p9-alerts li.is-warn b { color: #fde68a; }
#content-tacticas .fdf-p9-alerts li.is-ok { border-color: rgba(74,222,128,.28); background: rgba(20,83,45,.14); }
#content-tacticas .fdf-p9-alerts li.is-ok b { color: #bbf7d0; }

#content-tacticas .fdf-p9-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 11px; }
#content-tacticas .fdf-p9-footer-item { display: flex; align-items: flex-start; gap: 8px; padding: 10px; border: 1px solid rgba(125,211,252,.19); border-radius: 12px; background: rgba(2,12,26,.38); }
#content-tacticas .fdf-p9-footer-item > span { font-size: 16px; }
#content-tacticas .fdf-p9-footer-item b { display: block; color: #dbeafe; font-size: 10px; line-height: 1.35; font-weight: 750; }

@media (max-width: 980px) {
  #content-tacticas .fdf-p9-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #content-tacticas .fdf-p9-alert-card { grid-column: 1 / -1; }
  #content-tacticas .fdf-p9-alerts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  #content-tacticas .fdf-p9-strategy { padding: 14px; border-radius: 15px; }
  #content-tacticas .fdf-p9-head { flex-direction: column; }
  #content-tacticas .fdf-p9-competition { max-width: 100%; }
  #content-tacticas .fdf-p9-matchup { grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); gap: 6px; padding: 10px; }
  #content-tacticas .fdf-p9-versus span { display: none; }
  #content-tacticas .fdf-p9-side { grid-template-columns: 34px minmax(0, 1fr); column-gap: 6px; }
  #content-tacticas .fdf-p9-side.is-rival { grid-template-columns: minmax(0, 1fr) 34px; }
  #content-tacticas .fdf-p9-team-shield { width: 34px; height: 34px; border-radius: 10px; }
  #content-tacticas .fdf-p9-team-shield img { width: 29px; height: 29px; }
  #content-tacticas .fdf-p9-side strong { font-size: 11px; }
  #content-tacticas .fdf-p9-grid,
  #content-tacticas .fdf-p9-footer { grid-template-columns: 1fr; }
  #content-tacticas .fdf-p9-alert-card { grid-column: auto; }
  #content-tacticas .fdf-p9-alerts { display: flex; }
  #content-tacticas .fdf-p9-plan-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #content-tacticas .fdf-p9-plan-actions button { transition: none; }
}


/* ===================================================================
   FDF MANAGER — FASE 9.1
   Estación táctica unificada.
   El panel estratégico, la lista del plantel, los controles, la cancha y
   el banco comparten la misma jerarquía visual. Solo afecta Tácticas.
   =================================================================== */
#content-tacticas {
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid rgba(125, 211, 252, .24);
  border-radius: 20px;
  color: #eaf3ff;
  background:
    radial-gradient(circle at 100% 0, rgba(34,197,94,.10), transparent 31%),
    radial-gradient(circle at 0 100%, rgba(56,189,248,.10), transparent 34%),
    linear-gradient(145deg, #07182d 0%, #0a203a 52%, #081728 100%);
  box-shadow: 0 14px 30px rgba(15,23,42,.14);
}
#content-tacticas .fdf-p9-strategy {
  margin: 0 0 16px;
  border-color: rgba(125,211,252,.23);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
#content-tacticas .tacticas-wrapper {
  display: grid !important;
  grid-template-columns: minmax(255px, .62fr) minmax(0, 1.38fr) !important;
  align-items: start !important;
  gap: 15px !important;
  margin: 0 !important;
}
#content-tacticas .plantel-tacticas,
#content-tacticas .cancha-container {
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(125,211,252,.20);
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(15,36,62,.96), rgba(7,21,38,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 10px 22px rgba(2,6,23,.12);
}
#content-tacticas .plantel-tacticas {
  padding: 11px !important;
  overflow: hidden;
}
#content-tacticas .plantel-tacticas > h3,
#content-tacticas .plantel-tacticas > h4,
#content-tacticas .cancha-container > h3,
#content-tacticas .cancha-container > h4 {
  margin: 0 0 10px !important;
  color: #dbeafe !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#content-tacticas #lista-plantel-tacticas {
  max-height: min(70vh, 660px);
  padding: 6px;
  overflow-y: auto;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  background: rgba(2,12,26,.38);
  scrollbar-color: rgba(125,211,252,.5) rgba(2,12,26,.35);
}
#content-tacticas #lista-plantel-tacticas .player-row,
#content-tacticas .tacticas-wrapper .player-row {
  margin: 0 0 6px;
  padding: 9px 8px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #e2e8f0;
  background: rgba(15,30,50,.80);
}
#content-tacticas #lista-plantel-tacticas .player-row:nth-child(odd),
#content-tacticas #lista-plantel-tacticas .player-row:nth-child(even) {
  background: rgba(15,30,50,.80);
}
#content-tacticas #lista-plantel-tacticas .player-row:hover,
#content-tacticas .tacticas-wrapper .player-row:hover {
  border-color: rgba(125,211,252,.42);
  background: rgba(30,58,88,.84);
}
#content-tacticas #lista-plantel-tacticas .player-name-row .name,
#content-tacticas #lista-plantel-tacticas .player-row .name,
#content-tacticas .tacticas-wrapper .player-row .name {
  color: #f8fafc !important;
}
#content-tacticas #lista-plantel-tacticas .player-row .pos,
#content-tacticas #lista-plantel-tacticas .player-row .level,
#content-tacticas #lista-plantel-tacticas .player-row small,
#content-tacticas #lista-plantel-tacticas .player-row .player-nationality,
#content-tacticas #lista-plantel-tacticas .player-row .nat-text {
  color: #a9bdd2 !important;
  text-shadow: none !important;
}
#content-tacticas #lista-plantel-tacticas .ovr-badge-tacticas {
  border: 1px solid rgba(125,211,252,.38);
  background: linear-gradient(145deg, #0f2945, #071525);
  box-shadow: 0 4px 11px rgba(2,6,23,.34);
}
#content-tacticas .cancha-container {
  padding: 12px !important;
}
#content-tacticas #select-tactica,
#content-tacticas #select-estilo {
  width: 100%;
  min-height: 38px;
  margin: 0 0 8px;
  padding: 8px 10px;
  border: 1px solid rgba(125,211,252,.30);
  border-radius: 10px;
  outline: none;
  color: #eaf3ff;
  background: rgba(2,12,26,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#content-tacticas #select-tactica:focus,
#content-tacticas #select-estilo:focus {
  border-color: rgba(74,222,128,.70);
  box-shadow: 0 0 0 3px rgba(34,197,94,.12);
}
#content-tacticas .acciones-tacticas {
  margin: 10px 0 12px;
  text-align: center;
}
#content-tacticas .acciones-tacticas button,
#content-tacticas .btn-guardar,
#content-tacticas .btn-jugar {
  margin: 0;
  border: 1px solid rgba(125,211,252,.27);
  border-radius: 10px;
  color: #f8fafc;
  background: rgba(15,41,69,.94);
  box-shadow: 0 7px 14px rgba(2,6,23,.18);
}
#content-tacticas .btn-jugar {
  padding: 11px 22px;
  border-color: rgba(187,247,208,.48);
  background: linear-gradient(135deg, #15803d, #22c55e);
}
#content-tacticas #cancha-tacticas {
  border: 1px solid rgba(187,247,208,.45);
  border-radius: 15px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 10px 22px rgba(2,6,23,.24);
}
#content-tacticas #banco-suplentes {
  gap: 8px !important;
  margin-top: 11px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 13px;
  background: rgba(2,12,26,.44);
}
#content-tacticas #banco-suplentes::before {
  content: 'Banco de suplentes';
  display: block;
  flex-basis: 100%;
  margin: 0 0 1px;
  color: #93c5fd;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#content-tacticas #banco-suplentes .posicion-suplente {
  border-color: rgba(125,211,252,.34);
  border-radius: 11px;
  background: rgba(15,41,69,.68);
}
#content-tacticas #banco-suplentes .posicion-suplente.ocupada {
  border-color: rgba(74,222,128,.58);
  background: rgba(20,83,45,.37);
}
#content-tacticas #contador-jugadores,
#content-tacticas #ovr-display-tacticas {
  border-color: rgba(125,211,252,.34) !important;
  box-shadow: 0 6px 14px rgba(2,6,23,.24);
}
@media (max-width: 980px) {
  #content-tacticas .tacticas-wrapper { grid-template-columns: 1fr !important; }
  #content-tacticas #lista-plantel-tacticas { max-height: 340px; }
}
@media (max-width: 640px) {
  #content-tacticas { padding: 9px; border-radius: 14px; }
  #content-tacticas .plantel-tacticas,
  #content-tacticas .cancha-container { border-radius: 13px; }
  #content-tacticas #banco-suplentes { padding: 8px; }
}

/* ===================================================================
   FDF MANAGER — FASE 9.2
   Sistema visual unificado del juego.
   Alcance: CSS de interfaz únicamente. No modifica JavaScript, datos,
   simulación, fixture, Mundial, Copa Uruguay, Liga ni guardado.
   =================================================================== */
#fdf-manager {
  --fdf-ui-bg: #061426;
  --fdf-ui-shell: #081c32;
  --fdf-ui-panel: #0a223b;
  --fdf-ui-card: #0d2a47;
  --fdf-ui-card-alt: #102f4d;
  --fdf-ui-input: #06182b;
  --fdf-ui-line: rgba(125, 211, 252, .22);
  --fdf-ui-line-soft: rgba(148, 163, 184, .18);
  --fdf-ui-text: #edf6ff;
  --fdf-ui-muted: #a9bed3;
  --fdf-ui-accent: #38bdf8;
  --fdf-ui-success: #22c55e;
  --fdf-ui-warning: #fbbf24;
  --fdf-ui-danger: #fb7185;
  color: var(--fdf-ui-text);
}

/* Marco común de la partida: distinto del login y de los modales de partido. */
#fdf-manager #pantalla-juego,
#fdf-manager #juego-content {
  color: var(--fdf-ui-text);
}
#fdf-manager #pantalla-juego {
  border: 1px solid rgba(125,211,252,.20);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0, rgba(34,197,94,.08), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(56,189,248,.10), transparent 32%),
    linear-gradient(145deg, #061426 0%, #081c32 49%, #07172a 100%);
  box-shadow: 0 18px 42px rgba(2,6,23,.18);
}
#fdf-manager #juego-content {
  gap: 16px;
}

/* Navegación principal y menú de Usuario. */
#fdf-manager #menu-juego {
  padding: 7px 10px;
  border: 1px solid var(--fdf-ui-line-soft);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(8,28,50,.98), rgba(6,20,38,.98));
}
#fdf-manager #menu-juego ul {
  gap: 7px;
  margin: 0;
}
#fdf-manager #menu-juego .tab {
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--fdf-ui-muted);
  font-weight: 750;
  transition: color .16s ease, background .16s ease, border-color .16s ease;
}
#fdf-manager #menu-juego .tab:hover {
  border-color: rgba(125,211,252,.22);
  color: #f8fbff;
  background: rgba(30,58,88,.54);
}
#fdf-manager #menu-juego .tab.active {
  border-bottom: 1px solid rgba(125,211,252,.55);
  color: #ffffff;
  background: linear-gradient(135deg, rgba(14,116,144,.55), rgba(15,41,69,.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
#fdf-manager #menu-juego .submenu,
#fdf-manager #menu-juego .usuario-tab > .submenu {
  border-color: rgba(125,211,252,.24);
  background: #09213a;
  box-shadow: 0 16px 30px rgba(2,6,23,.38);
}
#fdf-manager #menu-juego .submenu li,
#fdf-manager #menu-juego .usuario-tab > .submenu li {
  color: #dbeafe;
}
#fdf-manager #menu-juego .submenu li:hover,
#fdf-manager #menu-juego .usuario-tab > .submenu li:hover {
  color: #ffffff;
  background: rgba(30,58,88,.82);
}

/* Contenedores de las secciones principales. Cada área usa una tonalidad
   relacionada, pero conserva contraste propio para identificar su función. */
#fdf-manager #content-plantel,
#fdf-manager #content-fixture,
#fdf-manager #content-posiciones,
#fdf-manager #content-finanzas {
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid var(--fdf-ui-line);
  border-radius: 18px;
  color: var(--fdf-ui-text);
  background:
    radial-gradient(circle at 100% 0, rgba(56,189,248,.055), transparent 32%),
    linear-gradient(145deg, var(--fdf-ui-shell), #07182c);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 28px rgba(2,6,23,.12);
}
#fdf-manager #content-plantel h1,
#fdf-manager #content-plantel h2,
#fdf-manager #content-plantel h3,
#fdf-manager #content-fixture h1,
#fdf-manager #content-fixture h2,
#fdf-manager #content-fixture h3,
#fdf-manager #content-posiciones h1,
#fdf-manager #content-posiciones h2,
#fdf-manager #content-posiciones h3,
#fdf-manager #content-finanzas h1,
#fdf-manager #content-finanzas h2,
#fdf-manager #content-finanzas h3 {
  color: #f8fbff;
}

/* Campos y acciones compartidos. Mantiene los colores semánticos de éxito,
   aviso y peligro de cada módulo. */
#fdf-manager #pantalla-juego input:not([type="checkbox"]):not([type="radio"]),
#fdf-manager #pantalla-juego select,
#fdf-manager #pantalla-juego textarea {
  border-color: rgba(125,211,252,.28);
  color: #edf6ff;
  background: var(--fdf-ui-input);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager #pantalla-juego select option {
  color: #edf6ff;
  background: #0a223b;
}
#fdf-manager #pantalla-juego input::placeholder,
#fdf-manager #pantalla-juego textarea::placeholder {
  color: #7f98b2;
}
#fdf-manager #pantalla-juego input:focus,
#fdf-manager #pantalla-juego select:focus,
#fdf-manager #pantalla-juego textarea:focus {
  border-color: rgba(56,189,248,.78);
  outline: none;
  box-shadow: 0 0 0 3px rgba(56,189,248,.12);
}
#fdf-manager #pantalla-juego button:not(.fdf-wc-btn):not(.fdf-wc-play-btn):not(.fdf-p9-apply):not(.fdf-p9-keep) {
  border-color: rgba(125,211,252,.28);
}

/* PLANTEL: listas, ficha lateral e historial. */
#fdf-manager #plantel-container,
#fdf-manager #content-plantel .row-container,
#fdf-manager #content-plantel #sidebar,
#fdf-manager #content-plantel #plantel-historial,
#fdf-manager #content-plantel .plantel,
#fdf-manager #content-plantel .plantel-card {
  box-sizing: border-box;
  border-color: var(--fdf-ui-line);
  color: var(--fdf-ui-text);
  background: linear-gradient(155deg, rgba(13,42,71,.98), rgba(7,24,44,.99));
}
#fdf-manager #content-plantel .row-container,
#fdf-manager #content-plantel #sidebar,
#fdf-manager #content-plantel #plantel-historial {
  padding: 10px;
  border: 1px solid var(--fdf-ui-line);
  border-radius: 14px;
}
#fdf-manager #content-plantel .player-row {
  border: 1px solid transparent;
  color: #edf6ff;
  background: rgba(8,28,50,.72);
}
#fdf-manager #content-plantel .player-row:nth-child(odd),
#fdf-manager #content-plantel .player-row:nth-child(even) {
  background: rgba(8,28,50,.72);
}
#fdf-manager #content-plantel .player-row:hover {
  border-color: rgba(125,211,252,.42);
  background: rgba(18,56,88,.86);
}
#fdf-manager #content-plantel .player-row .name,
#fdf-manager #content-plantel .player-row strong,
#fdf-manager #content-plantel .player-row b {
  color: #f8fbff;
}
#fdf-manager #content-plantel .player-row .pos,
#fdf-manager #content-plantel .player-row .level,
#fdf-manager #content-plantel .player-row small,
#fdf-manager #content-plantel .player-nationality,
#fdf-manager #content-plantel .player-nationality .nat-text {
  color: #a9bed3 !important;
  text-shadow: none;
}
#fdf-manager #content-plantel .subtab,
#fdf-manager #content-plantel .subtab-plantel {
  border: 1px solid rgba(125,211,252,.18);
  color: #b9cce0;
  background: rgba(7,24,43,.72);
}
#fdf-manager #content-plantel .subtab.active,
#fdf-manager #content-plantel .subtab-plantel.active {
  border-color: rgba(56,189,248,.48);
  color: #ffffff;
  background: linear-gradient(135deg, #0e7490, #155e75);
}
#fdf-manager #footer-rival {
  border: 1px solid var(--fdf-ui-line);
  color: #eaf3ff;
  background: linear-gradient(135deg, rgba(15,41,69,.93), rgba(7,25,44,.97));
}

/* TÁCTICAS: cubre la regla heredada .plantel que dejaba un bloque blanco. */
#fdf-manager #content-tacticas .plantel-tacticas .plantel,
#fdf-manager #content-tacticas .plantel-tacticas > .plantel,
#fdf-manager #content-tacticas .tacticas-wrapper > .plantel,
#fdf-manager #content-tacticas .tacticas-wrapper .plantel {
  box-sizing: border-box;
  border: 1px solid rgba(125,211,252,.22) !important;
  border-radius: 13px;
  color: #eaf3ff !important;
  background: linear-gradient(160deg, #0d2a47, #07182c) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
#fdf-manager #content-tacticas .plantel-tacticas .plantel > h1,
#fdf-manager #content-tacticas .plantel-tacticas .plantel > h2,
#fdf-manager #content-tacticas .plantel-tacticas .plantel > h3,
#fdf-manager #content-tacticas .plantel-tacticas .plantel > h4,
#fdf-manager #content-tacticas .tacticas-wrapper .plantel label {
  color: #eaf3ff !important;
}
#fdf-manager #content-tacticas .plantel-tacticas .plantel select,
#fdf-manager #content-tacticas .tacticas-wrapper .plantel select {
  color: #edf6ff !important;
  background: #07182b !important;
}
#fdf-manager #content-tacticas #lista-plantel-tacticas,
#fdf-manager #content-tacticas .plantel-tacticas .plantel #lista-plantel-tacticas {
  border-color: rgba(125,211,252,.22) !important;
  background: rgba(4,18,34,.74) !important;
}
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row {
  color: #edf6ff !important;
  background: rgba(11,36,62,.92) !important;
}
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row .name,
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row .pos,
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row .level {
  color: #edf6ff !important;
}
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row .pos,
#fdf-manager #content-tacticas #lista-plantel-tacticas .player-row .level {
  color: #abc1d9 !important;
}
#fdf-manager #content-tacticas #cancha-tacticas .jugador-drop span,
#fdf-manager #content-tacticas #cancha-tacticas .jugador-ovr-inline {
  color: #f8fbff !important;
  text-shadow: 0 1px 3px rgba(2,6,23,.88) !important;
}
/* Banco: los nombres y posiciones ahora contrastan sobre el fondo oscuro. */
#fdf-manager #content-tacticas #banco-suplentes .posicion-suplente,
#fdf-manager #content-tacticas #banco-suplentes .posicion-suplente * {
  color: #edf6ff !important;
  text-shadow: 0 1px 2px rgba(2,6,23,.84);
}
#fdf-manager #content-tacticas #banco-suplentes .posicion-suplente {
  min-height: 82px;
  border-color: rgba(125,211,252,.38) !important;
  background: linear-gradient(145deg, rgba(15,41,69,.94), rgba(7,24,43,.96)) !important;
}
#fdf-manager #content-tacticas #banco-suplentes .posicion-suplente.ocupada {
  border-color: rgba(74,222,128,.62) !important;
  background: linear-gradient(145deg, rgba(20,83,45,.84), rgba(7,47,35,.90)) !important;
}
#fdf-manager #content-tacticas #banco-suplentes .jugador-drop span,
#fdf-manager #content-tacticas #banco-suplentes .jugador-drop .name {
  color: #ffffff !important;
  font-weight: 800;
}

/* FIXTURE, COPA y POSICIONES: tablas legibles con cabeceras diferenciadas. */
#fdf-manager #content-fixture .subtabs,
#fdf-manager #content-posiciones .subtabs,
#fdf-manager #content-posiciones .subtabs-posiciones,
#fdf-manager #content-posiciones .division-tabs-anual {
  padding: 6px;
  border: 1px solid var(--fdf-ui-line-soft);
  border-radius: 12px;
  background: rgba(4,18,34,.58);
}
#fdf-manager #content-fixture .subtab,
#fdf-manager #content-posiciones .subtab,
#fdf-manager #content-posiciones .subtabs-posiciones .subtab,
#fdf-manager #content-posiciones .division-tab-anual {
  border: 1px solid transparent;
  color: #b6c8db;
  background: transparent;
}
#fdf-manager #content-fixture .subtab.active,
#fdf-manager #content-posiciones .subtab.active,
#fdf-manager #content-posiciones .subtabs-posiciones .subtab.active,
#fdf-manager #content-posiciones .division-tab-anual.active {
  border-color: rgba(56,189,248,.46);
  color: #ffffff;
  background: linear-gradient(135deg, rgba(14,116,144,.86), rgba(15,41,69,.95));
}
#fdf-manager #content-fixture .fixture-table,
#fdf-manager #content-posiciones .posiciones-table,
#fdf-manager #content-posiciones .tabla-posiciones > table,
#fdf-manager #posiciones-historial .posiciones-table {
  overflow: hidden;
  border: 1px solid var(--fdf-ui-line);
  border-radius: 13px;
  color: #eaf3ff;
  background: #081d33;
}
#fdf-manager #content-fixture .fixture-table th,
#fdf-manager #content-posiciones .posiciones-table th,
#fdf-manager #content-posiciones .tabla-posiciones > table th,
#fdf-manager #posiciones-historial .posiciones-table th {
  border-color: rgba(125,211,252,.19);
  color: #e0f2fe;
  background: linear-gradient(135deg, #0b5f72, #0d3d65);
}
#fdf-manager #content-fixture .fixture-table td,
#fdf-manager #content-posiciones .posiciones-table td,
#fdf-manager #content-posiciones .tabla-posiciones > table td,
#fdf-manager #posiciones-historial .posiciones-table td {
  border-color: rgba(148,163,184,.15);
  color: #dbeafe;
  background: rgba(8,28,50,.80);
}
#fdf-manager #content-fixture .fixture-table tbody tr:nth-child(even) td,
#fdf-manager #content-posiciones .posiciones-table tbody tr:nth-child(even) td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr:nth-child(even) td,
#fdf-manager #posiciones-historial .posiciones-table tbody tr:nth-child(even) td {
  background: rgba(13,42,71,.88);
}
#fdf-manager #content-fixture .fixture-table tbody tr:hover td,
#fdf-manager #content-posiciones .posiciones-table tbody tr:hover td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr:hover td {
  background: rgba(18,56,88,.90);
}
#fdf-manager #content-fixture .fixture-team-cell,
#fdf-manager #content-posiciones .tabla-posiciones td,
#fdf-manager #content-posiciones .leyenda-posiciones {
  color: #dbeafe;
}
#fdf-manager #content-fixture .btn-jugar-match,
#fdf-manager #content-fixture .btn-jugar-copa {
  border: 1px solid rgba(187,247,208,.50);
  color: #f0fdf4;
  background: linear-gradient(135deg, #15803d, #22c55e);
}

/* Mercado, balance, ofertas, contratos y auditoría. */
#fdf-manager #content-finanzas,
#fdf-manager #finanzas-root,
#fdf-manager #mercado-root,
#fdf-manager #ofertas-root,
#fdf-manager #balance-root,
#fdf-manager .fdf-fin-grid,
#fdf-manager .fdf-fin-card,
#fdf-manager .fdf-fin-filters,
#fdf-manager .fdf-fin-audit-item,
#fdf-manager .fdf-fin-notice {
  color: #eaf3ff;
}
#fdf-manager .fdf-fin-card,
#fdf-manager .fdf-fin-filters,
#fdf-manager .fdf-fin-audit-item {
  border-color: var(--fdf-ui-line);
  background: linear-gradient(155deg, rgba(13,42,71,.96), rgba(7,24,43,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager .fdf-fin-metric {
  border-color: rgba(125,211,252,.18);
  background: rgba(5,20,38,.50);
}
#fdf-manager .fdf-fin-metric .label,
#fdf-manager .fdf-fin-audit-item .meta,
#fdf-manager .fdf-fin-table th {
  color: #a9bed3;
}
#fdf-manager .fdf-fin-metric .value,
#fdf-manager .fdf-fin-table td {
  color: #f8fbff;
}
#fdf-manager .fdf-fin-table th,
#fdf-manager .fdf-fin-table td {
  border-color: rgba(148,163,184,.16);
}
#fdf-manager .fdf-fin-table tr:nth-child(even) td {
  background: rgba(7,24,43,.38);
}
#fdf-manager .fdf-fin-row input[type="text"],
#fdf-manager .fdf-fin-row input[type="number"],
#fdf-manager .fdf-fin-row select {
  color: #edf6ff;
  border-color: rgba(125,211,252,.28);
  background: #07182b;
}
#fdf-manager .fdf-fin-btn.secondary,
#fdf-manager .player-transfer-btn,
#fdf-manager .player-contract-btn {
  border-color: rgba(125,211,252,.28);
  color: #eaf3ff;
  background: #0c2946;
}
#fdf-manager .fdf-fin-btn.secondary:hover,
#fdf-manager .player-transfer-btn:hover,
#fdf-manager .player-contract-btn:hover {
  color: #ffffff;
  background: #123b61;
}
#fdf-manager .fdf-fin-badge.open {
  color: #bbf7d0;
  background: rgba(20,83,45,.34);
}
#fdf-manager .fdf-fin-badge.closed {
  color: #fecaca;
  background: rgba(127,29,29,.28);
}
#fdf-manager .fdf-fin-notice {
  border-color: rgba(56,189,248,.34);
  color: #dbeafe;
  background: rgba(14,116,144,.18);
}

/* Scouting / cantera: diferencia visual violeta-azulada sin perder lectura. */
#fdf-manager .fdf-scout-box,
#fdf-manager .fdf-scout-item,
#fdf-manager .fdf-scout-empty {
  border-color: rgba(167,139,250,.28);
  color: #e8e5ff;
  background: linear-gradient(155deg, rgba(37,27,76,.72), rgba(9,24,48,.98));
}
#fdf-manager .fdf-scout-sub,
#fdf-manager .fdf-scout-meta,
#fdf-manager .fdf-scout-subline,
#fdf-manager .fdf-scout-fee {
  color: #c6c2e7;
  opacity: 1;
}
#fdf-manager .fdf-scout-name,
#fdf-manager .fdf-scout-hint,
#fdf-manager .fdf-scout-ovr {
  color: #f5f3ff;
}

/* Historial y tablas auxiliares. */
#fdf-manager #plantel-historial table,
#fdf-manager .historial-table,
#fdf-manager .audit-table {
  border-color: var(--fdf-ui-line);
  color: #dbeafe;
  background: #081d33;
}
#fdf-manager #plantel-historial th,
#fdf-manager .historial-table th,
#fdf-manager .audit-table th {
  border-color: rgba(125,211,252,.18);
  color: #e0f2fe;
  background: #0c4a6e;
}
#fdf-manager #plantel-historial td,
#fdf-manager .historial-table td,
#fdf-manager .audit-table td {
  border-color: rgba(148,163,184,.15);
  color: #dbeafe;
  background: rgba(8,28,50,.82);
}

/* Scrollbars coherentes para listas, paneles, fixture y tablas. */
#fdf-manager #pantalla-juego * {
  scrollbar-color: rgba(125,211,252,.55) rgba(4,18,34,.72);
}
#fdf-manager #pantalla-juego *::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
#fdf-manager #pantalla-juego *::-webkit-scrollbar-track {
  background: rgba(4,18,34,.66);
}
#fdf-manager #pantalla-juego *::-webkit-scrollbar-thumb {
  border: 2px solid rgba(4,18,34,.66);
  border-radius: 999px;
  background: rgba(125,211,252,.48);
}
#fdf-manager #pantalla-juego *::-webkit-scrollbar-thumb:hover {
  background: rgba(125,211,252,.70);
}

@media (max-width: 760px) {
  #fdf-manager #content-plantel,
  #fdf-manager #content-fixture,
  #fdf-manager #content-posiciones,
  #fdf-manager #content-finanzas {
    padding: 10px;
    border-radius: 14px;
  }
  #fdf-manager #menu-juego { padding: 5px; border-radius: 11px; }
}

/* ===================================================================
   FDF MANAGER — FASE 9.3
   Corrección de continuidad visual y Tácticas.
   Alcance: interfaz CSS exclusivamente. No modifica JavaScript,
   simulación, reloj, Quiz, cambios, resultados, fixture ni guardado.
   =================================================================== */

/* ---------------------------------------------------------------
   1) PERFIL / ELECCIÓN INICIAL: integra Liga y Mundial al tema FDF.
   --------------------------------------------------------------- */
#fdf-manager {
  background:
    radial-gradient(circle at 100% 0, rgba(34,197,94,.08), transparent 27%),
    radial-gradient(circle at 0 100%, rgba(56,189,248,.09), transparent 30%),
    linear-gradient(145deg, #061426 0%, #081c32 48%, #07172a 100%);
  border-radius: 22px;
}
#fdf-manager #pantalla-perfil {
  box-sizing: border-box;
  min-height: min(78vh, 980px);
  padding: 22px;
  border: 1px solid rgba(125,211,252,.20);
  border-radius: 20px;
  color: #edf6ff;
  background:
    radial-gradient(circle at 100% 0, rgba(34,197,94,.09), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(56,189,248,.10), transparent 32%),
    linear-gradient(145deg, #061426 0%, #081c32 49%, #07172a 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 18px 42px rgba(2,6,23,.18);
}
#fdf-manager #pantalla-perfil h1,
#fdf-manager #pantalla-perfil h2,
#fdf-manager #pantalla-perfil h3,
#fdf-manager #pantalla-perfil h4,
#fdf-manager #pantalla-perfil label,
#fdf-manager #pantalla-perfil legend,
#fdf-manager #pantalla-perfil .form-label,
#fdf-manager #pantalla-perfil .perfil-title {
  color: #edf6ff !important;
  text-shadow: none !important;
}
#fdf-manager #pantalla-perfil p,
#fdf-manager #pantalla-perfil small,
#fdf-manager #pantalla-perfil .help-text,
#fdf-manager #pantalla-perfil .muted,
#fdf-manager #pantalla-perfil .division-text {
  color: #a9bed3 !important;
}
#fdf-manager #perfil-contenedor {
  align-items: stretch;
  gap: 18px;
}
#fdf-manager #formulario-dt,
#fdf-manager #pantalla-perfil form {
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid rgba(125,211,252,.18);
  border-radius: 16px;
  color: #edf6ff;
  background: linear-gradient(155deg, rgba(13,42,71,.96), rgba(7,24,43,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager #pantalla-perfil input:not([type="file"]),
#fdf-manager #pantalla-perfil select,
#fdf-manager #pantalla-perfil textarea {
  border-color: rgba(125,211,252,.28) !important;
  color: #edf6ff !important;
  background: #07182b !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
#fdf-manager #pantalla-perfil input::placeholder,
#fdf-manager #pantalla-perfil textarea::placeholder {
  color: #8ea8c2 !important;
  opacity: 1;
}
#fdf-manager #pantalla-perfil input[type="file"] {
  color: #dbeafe !important;
}
#fdf-manager #pantalla-perfil input[type="file"]::file-selector-button {
  margin-right: 9px;
  border: 1px solid rgba(125,211,252,.34);
  border-radius: 7px;
  color: #eaf3ff;
  background: #0d2a47;
  cursor: pointer;
}
#fdf-manager #pantalla-perfil #clubes-disponibles {
  box-sizing: border-box;
  max-width: 390px;
  padding: 10px;
  border: 1px solid rgba(125,211,252,.20);
  border-radius: 16px;
  color: #edf6ff;
  background: linear-gradient(155deg, rgba(13,42,71,.96), rgba(7,24,43,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager #pantalla-perfil .equipos-selector-mejorado {
  max-height: min(72vh, 820px);
  padding: 2px;
  overflow-y: auto;
  scrollbar-color: rgba(125,211,252,.55) rgba(4,18,34,.72);
}
#fdf-manager #pantalla-perfil .division-tabs-selector {
  gap: 8px;
  margin-bottom: 12px;
  border-bottom-color: rgba(125,211,252,.20);
}
#fdf-manager #pantalla-perfil .division-tab-btn {
  border: 1px solid transparent;
  border-bottom: 2px solid transparent;
  border-radius: 10px 10px 0 0;
  color: #a9bed3;
  background: rgba(4,18,34,.52);
}
#fdf-manager #pantalla-perfil .division-tab-btn:hover {
  color: #f8fbff;
  background: rgba(30,58,88,.72);
}
#fdf-manager #pantalla-perfil .division-tab-btn.active {
  border-color: rgba(56,189,248,.42);
  border-bottom-color: #38bdf8;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(14,116,144,.72), rgba(15,41,69,.92));
}
#fdf-manager #pantalla-perfil .equipos-lista {
  padding: 2px 1px 7px;
  background: transparent;
}
#fdf-manager #pantalla-perfil .equipo-item,
#fdf-manager #pantalla-perfil .club-card {
  border-color: rgba(125,211,252,.18) !important;
  color: #eaf3ff !important;
  background: linear-gradient(145deg, rgba(10,34,59,.96), rgba(7,24,43,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
#fdf-manager #pantalla-perfil .equipo-item:hover,
#fdf-manager #pantalla-perfil .club-card:hover {
  border-color: rgba(56,189,248,.52) !important;
  color: #ffffff !important;
  background: linear-gradient(145deg, rgba(14,65,96,.92), rgba(12,42,70,.98)) !important;
}
#fdf-manager #pantalla-perfil .equipo-item.selected,
#fdf-manager #pantalla-perfil .club-card.selected {
  border-color: rgba(187,247,208,.58) !important;
  color: #f0fdf4 !important;
  background: linear-gradient(135deg, #0f766e, #15803d) !important;
}
#fdf-manager #pantalla-perfil .equipo-nombre,
#fdf-manager #pantalla-perfil .club-card span {
  color: inherit !important;
  font-weight: 760;
}
#fdf-manager #pantalla-perfil .equipo-escudo-mini,
#fdf-manager #pantalla-perfil .club-card img {
  border-color: rgba(226,242,255,.68);
}
#fdf-manager #pantalla-perfil .equipo-division-badge.primera {
  color: #e0f2fe;
  background: #0e7490;
}
#fdf-manager #pantalla-perfil .equipo-division-badge.segunda {
  color: #422006;
  background: #fbbf24;
}
#fdf-manager #pantalla-perfil .equipo-item.selected .equipo-division-badge {
  color: #ffffff;
  background: rgba(2,6,23,.42);
}

/* ---------------------------------------------------------------
   2) MENÚ USUARIO: incluye el menú flotante móvil fuera del manager.
   --------------------------------------------------------------- */
#fdf-manager #menu-juego .submenu,
#fdf-manager #menu-juego .usuario-tab > .submenu,
.submenu.fdf-user-submenu-floating {
  border: 1px solid rgba(125,211,252,.28) !important;
  color: #dbeafe !important;
  background: #09213a !important;
  box-shadow: 0 16px 30px rgba(2,6,23,.42) !important;
}
#fdf-manager #menu-juego .submenu li,
#fdf-manager #menu-juego .usuario-tab > .submenu li,
.submenu.fdf-user-submenu-floating li {
  color: #dbeafe !important;
  text-shadow: none !important;
  background: transparent !important;
}
#fdf-manager #menu-juego .submenu li + li,
#fdf-manager #menu-juego .usuario-tab > .submenu li + li,
.submenu.fdf-user-submenu-floating li + li {
  border-top-color: rgba(125,211,252,.16) !important;
}
#fdf-manager #menu-juego .submenu li:hover,
#fdf-manager #menu-juego .submenu li:focus-visible,
#fdf-manager #menu-juego .usuario-tab > .submenu li:hover,
#fdf-manager #menu-juego .usuario-tab > .submenu li:focus-visible,
.submenu.fdf-user-submenu-floating li:hover,
.submenu.fdf-user-submenu-floating li:focus-visible {
  color: #ffffff !important;
  background: rgba(30,58,88,.92) !important;
  outline: none;
}

/* ---------------------------------------------------------------
   3) TÁCTICAS: una sola barra de scroll y mejor aprovechamiento alto.
   El scroll pertenece exclusivamente a #lista-plantel-tacticas.
   --------------------------------------------------------------- */
@media (min-width: 981px) {
  #fdf-manager #content-tacticas .tacticas-wrapper {
    align-items: stretch !important;
  }
  #fdf-manager #content-tacticas .plantel-tacticas,
  #fdf-manager #content-tacticas .tacticas-wrapper > .plantel {
    align-self: stretch !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #fdf-manager #content-tacticas .plantel-tacticas {
    display: flex !important;
    flex-direction: column !important;
  }
  #fdf-manager #content-tacticas .plantel-tacticas .plantel,
  #fdf-manager #content-tacticas .plantel-tacticas > .plantel,
  #fdf-manager #content-tacticas .tacticas-wrapper > .plantel {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #fdf-manager #content-tacticas #lista-plantel-tacticas,
  #fdf-manager #content-tacticas .plantel-tacticas .plantel #lista-plantel-tacticas {
    flex: 1 1 auto !important;
    min-height: 460px;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}
@media (max-width: 980px) {
  #fdf-manager #content-tacticas .plantel-tacticas,
  #fdf-manager #content-tacticas .plantel-tacticas .plantel,
  #fdf-manager #content-tacticas .tacticas-wrapper > .plantel {
    max-height: none !important;
    overflow: visible !important;
  }
  #fdf-manager #content-tacticas #lista-plantel-tacticas {
    min-height: 280px;
    max-height: min(58vh, 520px) !important;
    overflow-y: auto !important;
  }
}

/* ---------------------------------------------------------------
   4) PELOTAS QUIETAS: elimina el bloque claro heredado y asegura lectura.
   --------------------------------------------------------------- */
#fdf-manager #content-tacticas #fdf-setpieces-bar {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  margin: 12px 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(125,211,252,.24) !important;
  border-radius: 13px !important;
  color: #dbeafe !important;
  background: linear-gradient(145deg, rgba(12,39,67,.96), rgba(5,20,38,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager #content-tacticas #fdf-setpieces-bar > div,
#fdf-manager #content-tacticas #fdf-setpieces-bar label,
#fdf-manager #content-tacticas #fdf-setpieces-bar small,
#fdf-manager #content-tacticas #fdf-setpieces-bar span {
  color: #dbeafe !important;
  text-shadow: none !important;
}
#fdf-manager #content-tacticas #fdf-setpieces-bar > div[style*="opacity"] {
  color: #a9bed3 !important;
  opacity: 1 !important;
}
#fdf-manager #content-tacticas #fdf-setpieces-bar select,
#fdf-manager #content-tacticas #fdf-setpieces-bar #fdf-setpiece-fk,
#fdf-manager #content-tacticas #fdf-setpieces-bar #fdf-setpiece-pk {
  border-color: rgba(125,211,252,.30) !important;
  color: #f8fbff !important;
  background: #07182b !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
#fdf-manager #content-tacticas #fdf-setpieces-bar select option {
  color: #edf6ff;
  background: #07182b;
}

@media (max-width: 720px) {
  #fdf-manager { border-radius: 14px; }
  #fdf-manager #pantalla-perfil { padding: 12px; border-radius: 14px; }
  #fdf-manager #perfil-contenedor { gap: 12px; }
  #fdf-manager #formulario-dt,
  #fdf-manager #pantalla-perfil form,
  #fdf-manager #pantalla-perfil #clubes-disponibles { padding: 11px; border-radius: 13px; }
  #fdf-manager #pantalla-perfil #clubes-disponibles { max-width: none; }
  #fdf-manager #content-tacticas #fdf-setpieces-bar { align-items: stretch; }
  #fdf-manager #content-tacticas #fdf-setpieces-bar > div { min-width: 100% !important; }
}

/* ===================================================================
   FDF MANAGER — FASE 9.4
   Fixture Mundial: Goleadores y Estadísticas unificados con el tema nocturno.
   Alcance visual exclusivo de #content-fixture. No modifica la lógica de datos.
   =================================================================== */
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tabs {
  gap: 8px !important;
  padding: 9px !important;
  border: 1px solid rgba(125,211,252,.24) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, rgba(12,39,67,.96), rgba(5,20,38,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 24px rgba(2,6,23,.15) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab {
  border: 1px solid rgba(125,211,252,.20) !important;
  color: #b9cee1 !important;
  background: rgba(4,18,34,.56) !important;
  box-shadow: none !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab:hover:not(:disabled) {
  color: #f8fbff !important;
  border-color: rgba(125,211,252,.46) !important;
  background: rgba(18,56,88,.92) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab.active {
  border-color: rgba(110,231,183,.55) !important;
  color: #f0fdf4 !important;
  background: linear-gradient(135deg, #0f766e, #15803d) !important;
  box-shadow: 0 7px 16px rgba(16,185,129,.20) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab.disabled,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab:disabled {
  color: #6f879c !important;
  background: rgba(4,18,34,.34) !important;
  border-color: rgba(125,211,252,.10) !important;
  opacity: 1 !important;
}

/* Tarjeta y mensaje contextual de las pestañas Goleadores / Estadísticas. */
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-worldcup-stage-panel.fdf-wc-stats-pane,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane {
  box-sizing: border-box !important;
  overflow-x: auto !important;
  border: 1px solid rgba(125,211,252,.25) !important;
  border-radius: 18px !important;
  color: #eaf3ff !important;
  background:
    radial-gradient(circle at 100% 0, rgba(20,184,166,.12), transparent 34%),
    linear-gradient(150deg, rgba(13,42,71,.98), rgba(6,22,40,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(2,6,23,.20) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane h3 {
  margin: 0 0 11px !important;
  color: #f8fbff !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-muted,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane > .fdf-wc-muted {
  border: 1px solid rgba(125,211,252,.16) !important;
  border-radius: 12px !important;
  color: #a9bed3 !important;
  background: rgba(2,12,26,.48) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

/* Tabla de rankings: conserva la jerarquía verde en cabecera y azul noche en filas. */
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table {
  width: 100% !important;
  min-width: 720px;
  overflow: hidden !important;
  border: 1px solid rgba(125,211,252,.22) !important;
  border-radius: 13px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: #eaf3ff !important;
  background: #081d33 !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table th,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table th {
  border-color: rgba(187,247,208,.16) !important;
  color: #ecfdf5 !important;
  background: linear-gradient(135deg, #0f766e, #0d596a) !important;
  font-weight: 900 !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table td,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table td {
  border-color: rgba(148,163,184,.16) !important;
  color: #dbeafe !important;
  background: rgba(8,28,50,.90) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table tbody tr:nth-child(even) td,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table tbody tr:nth-child(even) td {
  background: rgba(13,42,71,.92) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table tbody tr:hover td,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table tbody tr:hover td {
  background: rgba(18,56,88,.98) !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table td b,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table td b {
  color: #ffffff !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table td small,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table td small {
  color: #9fb7ce !important;
  opacity: 1 !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table td:first-child {
  color: #facc15 !important;
  font-weight: 900 !important;
}
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table img,
#fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table img {
  border-color: rgba(226,242,255,.36) !important;
  background: #ffffff !important;
  box-shadow: 0 2px 7px rgba(2,6,23,.24) !important;
}

@media (max-width: 760px) {
  #fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tabs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    scrollbar-width: thin;
  }
  #fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-phase-tab {
    flex: 0 0 auto !important;
  }
  #fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane {
    padding: 13px !important;
  }
  #fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane .fdf-wc-stats-table,
  #fdf-manager #content-fixture .fdf-worldcup-shell .fdf-wc-stats-pane table.posiciones-table {
    min-width: 680px;
  }
}
/* ===================================================================
   FDF MANAGER — FASE 10
   Rendimiento y Evolución del Plantel. Capa visual informativa.
   =================================================================== */
#fdf-manager #content-plantel {
  gap: 16px;
}
#fdf-manager .fdf-p10-dashboard {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(103, 232, 249, .28);
  border-radius: 18px;
  color: #eaf6ff;
  background:
    radial-gradient(circle at 100% 0, rgba(16, 185, 129, .16), transparent 34%),
    radial-gradient(circle at 0 100%, rgba(14, 165, 233, .14), transparent 34%),
    linear-gradient(135deg, rgba(9, 45, 66, .98), rgba(5, 22, 42, .99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 12px 26px rgba(2,6,23,.17);
}
#fdf-manager .fdf-p10-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
#fdf-manager .fdf-p10-kicker {
  display: block;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1.1;
  text-transform: uppercase;
}
#fdf-manager .fdf-p10-head h3,
#fdf-manager .fdf-p10-player-head h4 {
  margin: 5px 0 4px;
  color: #ffffff;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.1;
  font-weight: 950;
}
#fdf-manager .fdf-p10-head p {
  max-width: 720px;
  margin: 0;
  color: #a9c7dc;
  font-size: 12px;
  line-height: 1.45;
}
#fdf-manager .fdf-p10-availability {
  flex: 0 0 auto;
  min-width: 96px;
  padding: 9px 12px;
  border: 1px solid rgba(110, 231, 183, .34);
  border-radius: 13px;
  text-align: center;
  background: rgba(6, 78, 59, .46);
}
#fdf-manager .fdf-p10-availability strong {
  display: block;
  color: #d1fae5;
  font-size: 19px;
  line-height: 1;
}
#fdf-manager .fdf-p10-availability span {
  display: block;
  margin-top: 4px;
  color: #a7f3d0;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
#fdf-manager .fdf-p10-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
#fdf-manager .fdf-p10-highlight {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(125, 211, 252, .18);
  border-radius: 14px;
  background: rgba(3, 21, 39, .58);
}
#fdf-manager .fdf-p10-highlight span {
  display: block;
  color: #8db9d7;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
#fdf-manager .fdf-p10-highlight strong {
  display: block;
  overflow: hidden;
  margin-top: 6px;
  color: #f8fbff;
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#fdf-manager .fdf-p10-highlight small {
  display: block;
  overflow: hidden;
  margin-top: 5px;
  color: #a9c7dc;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#fdf-manager .fdf-p10-alerts {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(125, 211, 252, .14);
}
#fdf-manager .fdf-p10-alerts-title,
#fdf-manager .fdf-p10-progress-title {
  color: #bfe3fb;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}
#fdf-manager .fdf-p10-alerts-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
#fdf-manager .fdf-p10-alert {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  padding: 8px 9px;
  border: 1px solid rgba(125, 211, 252, .16);
  border-radius: 11px;
  color: #dbeafe;
  background: rgba(2, 17, 31, .54);
  font-size: 11px;
}
#fdf-manager .fdf-p10-alert strong {
  overflow: hidden;
  max-width: 44%;
  color: #f8fbff;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#fdf-manager .fdf-p10-alert span {
  overflow: hidden;
  color: #b3cae0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#fdf-manager .fdf-p10-alert-good { border-color: rgba(110,231,183,.28); background: rgba(6,78,59,.32); }
#fdf-manager .fdf-p10-alert-danger { border-color: rgba(251,113,133,.34); background: rgba(136,19,55,.27); }
#fdf-manager .fdf-p10-alert-warning { border-color: rgba(251,191,36,.32); background: rgba(120,53,15,.24); }

#fdf-manager .fdf-p10-player-panel {
  margin: 14px 0 2px;
  padding: 13px;
  border: 1px solid rgba(125, 211, 252, .22);
  border-radius: 14px;
  color: #eaf6ff;
  background: linear-gradient(145deg, rgba(8, 38, 67, .98), rgba(4, 19, 36, .99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
#fdf-manager .fdf-p10-player-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}
#fdf-manager .fdf-p10-player-head h4 {
  font-size: 16px;
}
#fdf-manager .fdf-p10-player-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
#fdf-manager .fdf-p10-mini {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(125,211,252,.14);
  border-radius: 10px;
  background: rgba(2, 16, 31, .46);
}
#fdf-manager .fdf-p10-mini span {
  display: block;
  color: #8fb3ce;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
#fdf-manager .fdf-p10-mini strong {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: #f8fbff;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#fdf-manager .fdf-p10-mini-up strong { color: #86efac; }
#fdf-manager .fdf-p10-mini-down strong { color: #fda4af; }
#fdf-manager .fdf-p10-player-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 6px;
  margin-top: 10px;
}
#fdf-manager .fdf-p10-player-stats span {
  padding: 7px 5px;
  border: 1px solid rgba(125,211,252,.10);
  border-radius: 9px;
  color: #9ec2dd;
  background: rgba(4, 21, 38, .5);
  font-size: 10px;
  text-align: center;
}
#fdf-manager .fdf-p10-player-stats b {
  display: block;
  margin-bottom: 2px;
  color: #ffffff;
  font-size: 13px;
}
#fdf-manager .fdf-p10-progress { margin-top: 11px; }
#fdf-manager .fdf-p10-traits,
#fdf-manager .fdf-p10-detail-alerts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}
#fdf-manager .fdf-p10-pill,
#fdf-manager .fdf-p10-trait {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(125,211,252,.18);
  border-radius: 999px;
  color: #c8dced;
  background: rgba(4, 20, 37, .72);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
#fdf-manager .fdf-p10-pill-starter { border-color: rgba(74,222,128,.46); color: #bbf7d0; background: rgba(20,83,45,.46); }
#fdf-manager .fdf-p10-pill-bench,
#fdf-manager .fdf-p10-pill-rotation { border-color: rgba(125,211,252,.38); color: #bae6fd; background: rgba(7,89,133,.30); }
#fdf-manager .fdf-p10-pill-prospect { border-color: rgba(196,181,253,.42); color: #ddd6fe; background: rgba(91,33,182,.25); }
#fdf-manager .fdf-p10-pill-transfer { border-color: rgba(251,191,36,.40); color: #fde68a; background: rgba(120,53,15,.30); }
#fdf-manager .fdf-p10-pill-alert,
#fdf-manager .fdf-p10-pill-danger { border-color: rgba(251,113,133,.44); color: #fecdd3; background: rgba(136,19,55,.28); }
#fdf-manager .fdf-p10-pill-warning { border-color: rgba(251,191,36,.40); color: #fde68a; background: rgba(120,53,15,.28); }
#fdf-manager .fdf-p10-pill-good { border-color: rgba(110,231,183,.40); color: #bbf7d0; background: rgba(6,78,59,.34); }
#fdf-manager .fdf-p10-pill-idle { border-color: rgba(148,163,184,.34); color: #cbd5e1; background: rgba(51,65,85,.32); }
#fdf-manager .fdf-p10-trait.is-up { border-color: rgba(110,231,183,.36); color: #bbf7d0; background: rgba(6,78,59,.27); }
#fdf-manager .fdf-p10-trait.is-down { border-color: rgba(251,113,133,.36); color: #fecdd3; background: rgba(136,19,55,.25); }

@media (max-width: 900px) {
  #fdf-manager .fdf-p10-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #fdf-manager .fdf-p10-alerts-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  #fdf-manager .fdf-p10-dashboard { padding: 14px; border-radius: 14px; }
  #fdf-manager .fdf-p10-head { flex-direction: column; }
  #fdf-manager .fdf-p10-availability { width: 100%; box-sizing: border-box; }
  #fdf-manager .fdf-p10-player-stats { grid-template-columns: repeat(3, minmax(0,1fr)); }
}


/* ===================================================================
   FDF MANAGER — FASE 10.1
   Correcciones visuales de Plantel y Posiciones. Solo presentación.
   =================================================================== */
/* Tabla Anual: estados deportivos legibles sobre el tema nocturno.
   Las clases las genera la UI después de calcular la tabla; no alteran puntos,
   partidos, clasificación internacional, ascensos ni descensos. */
#fdf-manager #content-posiciones .fdf-annual-standings-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-row > td {
  transition: background-color .15s ease, box-shadow .15s ease;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-libertadores > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.libertadores > td {
  background: linear-gradient(90deg, rgba(6, 78, 59, .78), rgba(8, 28, 50, .88)) !important;
  border-top-color: rgba(110, 231, 183, .28) !important;
  border-bottom-color: rgba(110, 231, 183, .28) !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-sudamericana > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.sudamericana > td {
  background: linear-gradient(90deg, rgba(120, 53, 15, .70), rgba(8, 28, 50, .88)) !important;
  border-top-color: rgba(251, 191, 36, .28) !important;
  border-bottom-color: rgba(251, 191, 36, .28) !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-descenso > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.descenso > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-descenso-segunda > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.descenso-segunda > td {
  background: linear-gradient(90deg, rgba(136, 19, 55, .72), rgba(8, 28, 50, .88)) !important;
  border-top-color: rgba(251, 113, 133, .30) !important;
  border-bottom-color: rgba(251, 113, 133, .30) !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-ascenso > td,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.ascenso > td {
  background: linear-gradient(90deg, rgba(6, 78, 59, .76), rgba(8, 28, 50, .88)) !important;
  border-top-color: rgba(94, 234, 212, .28) !important;
  border-bottom-color: rgba(94, 234, 212, .28) !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-libertadores > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.libertadores > td:first-child {
  border-left: 4px solid #6ee7b7 !important;
  color: #d1fae5 !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-sudamericana > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.sudamericana > td:first-child {
  border-left: 4px solid #fbbf24 !important;
  color: #fef3c7 !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-descenso > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.descenso > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-descenso-segunda > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.descenso-segunda > td:first-child {
  border-left: 4px solid #fb7185 !important;
  color: #ffe4e6 !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-ascenso > td:first-child,
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.ascenso > td:first-child {
  border-left: 4px solid #5eead4 !important;
  color: #ccfbf1 !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.fdf-standings-zone-start > td {
  border-top-width: 2px !important;
}
#fdf-manager #content-posiciones .tabla-posiciones > table tbody tr.user-team > td {
  box-shadow: inset 0 1px 0 rgba(224, 242, 254, .40), inset 0 -1px 0 rgba(224, 242, 254, .26) !important;
  font-weight: 800 !important;
}
#fdf-manager #content-posiciones .fdf-standings-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}
#fdf-manager #content-posiciones .fdf-standings-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid rgba(125, 211, 252, .18);
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(4, 18, 34, .58);
  font-size: 12px;
  font-weight: 800;
}
#fdf-manager #content-posiciones .fdf-standings-legend-item i {
  width: 10px;
  height: 10px;
  border: 1px solid currentColor;
  border-radius: 3px;
  background: currentColor;
  opacity: .92;
}
#fdf-manager #content-posiciones .fdf-standings-legend-item.fdf-standings-zone-libertadores { color: #86efac; }
#fdf-manager #content-posiciones .fdf-standings-legend-item.fdf-standings-zone-sudamericana { color: #fde68a; }
#fdf-manager #content-posiciones .fdf-standings-legend-item.fdf-standings-zone-descenso,
#fdf-manager #content-posiciones .fdf-standings-legend-item.fdf-standings-zone-descenso-segunda { color: #fda4af; }
#fdf-manager #content-posiciones .fdf-standings-legend-item.fdf-standings-zone-ascenso { color: #99f6e4; }

/* Globales: la vista se renderizaba con wrappers y títulos inline claros.
   Se normaliza como panel nocturno y la tabla mantiene scroll horizontal interno. */
#fdf-manager #posiciones-globales .fdf-global-rankings {
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid rgba(125, 211, 252, .22);
  border-radius: 16px;
  color: #dbeafe;
  background: linear-gradient(145deg, rgba(11, 39, 66, .98), rgba(5, 20, 38, .99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
#fdf-manager #posiciones-globales .fdf-global-rankings h3 {
  margin: 0 0 9px !important;
  color: #f8fbff !important;
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 950;
}
#fdf-manager #posiciones-globales .fdf-global-rankings > p {
  margin: 0 0 13px !important;
  color: #b8cbe0 !important;
  font-size: 13px;
  line-height: 1.45;
  opacity: 1 !important;
}
#fdf-manager #posiciones-globales .fdf-global-rankings-scroll {
  overflow-x: auto;
  border: 1px solid rgba(125, 211, 252, .20);
  border-radius: 12px;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table {
  width: 100% !important;
  min-width: 920px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #eaf3ff !important;
  background: #081d33 !important;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table th {
  color: #e0f2fe !important;
  background: linear-gradient(135deg, #0b5f72, #0d3d65) !important;
  border-color: rgba(125,211,252,.20) !important;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table td {
  color: #dbeafe !important;
  background: rgba(8,28,50,.90) !important;
  border-color: rgba(148,163,184,.18) !important;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table tbody tr:nth-child(even) td {
  background: rgba(13,42,71,.92) !important;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table tbody tr:hover td {
  background: rgba(18,56,88,.96) !important;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table td:nth-child(1),
#fdf-manager #posiciones-globales .fdf-global-ranking-table td:last-child {
  color: #f8fbff !important;
  font-weight: 900;
}
#fdf-manager #posiciones-globales .fdf-global-ranking-table img {
  border-radius: 50%;
  background: #ffffff;
}
@media (max-width: 760px) {
  #fdf-manager #posiciones-globales .fdf-global-rankings { padding: 12px; }
  #fdf-manager #posiciones-globales .fdf-global-rankings-scroll { overflow-x: auto !important; }
}

/* ===================================================================
   FDF MANAGER — FASE 10.2
   Ajuste de escala y acabado de cancha del renderer Pro.
   Solo presentación: no altera posiciones lógicas, reloj, resultado,
   IA, cambios, Quiz, fixture ni persistencia.
   =================================================================== */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
  width: min(100%, 980px) !important;
  height: clamp(360px, 43vh, 470px) !important;
  min-height: clamp(360px, 43vh, 470px) !important;
  aspect-ratio: 16 / 9 !important;
  background:
    radial-gradient(ellipse at 50% 47%, rgba(171, 230, 115, .18), transparent 46%),
    linear-gradient(90deg, rgba(1, 29, 18, .28), transparent 17%, transparent 83%, rgba(1, 29, 18, .28)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 8.333%, rgba(0,0,0,.030) 8.333% 16.666%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 2px, transparent 2px 8px),
    linear-gradient(180deg, #378b50 0%, #2f7a46 48%, #245e38 100%) !important;
  box-shadow:
    0 26px 58px rgba(0,0,0,.38),
    inset 0 0 62px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Las fichas escalan en la misma proporción que la cancha: menos césped
   vacío y mejor lectura de fotos, equipos y energía. */
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player {
  width: 64px !important;
  min-width: 64px !important;
  height: 80px !important;
  min-height: 80px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-shadow {
  bottom: 7px !important;
  width: 40px !important;
  height: 10px !important;
  filter: blur(2.4px) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring {
  width: 44px !important;
  height: 44px !important;
  box-shadow: 0 5px 13px rgba(0,0,0,.46), 0 0 0 2px rgba(3,10,19,.80) !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring::before { inset: 3px !important; }
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-chip {
  width: 32px !important;
  height: 32px !important;
  border-width: 2px !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-name {
  top: -1px !important;
  max-width: 84px !important;
  padding: 3px 6px !important;
  font-size: .60rem !important;
}
#modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-status {
  right: 2px !important;
  bottom: 15px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  font-size: .68rem !important;
}

/* El Pro renderer utiliza una sola salida visual de acciones. Los nodos de
   comentario heredados se depuran por JavaScript; este selector evita que
   un residuo de alerta legacy compita con la lista canónica. */
html[data-fdf-match-renderer="pro"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 #mm-comentarios .fdf-v4-commentary-alert {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    height: clamp(290px, 48vw, 400px) !important;
    min-height: clamp(290px, 48vw, 400px) !important;
    aspect-ratio: 1.62 / 1 !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player {
    width: 56px !important;
    min-width: 56px !important;
    height: 70px !important;
    min-height: 70px !important;
  }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring { width: 40px !important; height: 40px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-chip { width: 29px !important; height: 29px !important; }
  #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-name { max-width: 76px !important; font-size: .56rem !important; }
}

@media (max-width: 640px) {
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    height: clamp(235px, 64vw, 315px) !important;
    min-height: clamp(235px, 64vw, 315px) !important;
    aspect-ratio: 1.38 / 1 !important;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-match-player-node.fdf-pro-player {
    width: 48px !important;
    min-width: 48px !important;
    height: 60px !important;
    min-height: 60px !important;
    transform: translate(-50%, -50%) !important;
  }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-ring { width: 35px !important; height: 35px !important; }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-chip { width: 25px !important; height: 25px !important; }
  html[data-fdf-pro-layout="mobile"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .fdf-pro-player-name { max-width: 66px !important; font-size: .49rem !important; }
}

@media (max-width: 980px) and (orientation: landscape) {
  html[data-fdf-pro-layout="landscape-compact"] #modal-match-backdrop .modal-match.fdf-match-pro-v1 .cancha-futbol.fdf-pro-pitch {
    height: min(50dvh, 330px) !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }
}


/* ===================================================================
   FDF MANAGER — AJUSTE FASE 10.3
   Scouting premium por tier + cancha táctica compacta y homogénea.
   Solo visual. No modifica lógica, IA, simulación ni guardado.
   =================================================================== */

/* --- Scouting / Cantera: cartas pro con identidad por tier --- */
#fdf-manager .fdf-scout-grid{
  gap: 14px;
}
#fdf-manager .fdf-scout-item{
  position: relative;
  overflow: hidden;
  min-height: 214px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(125,211,252,.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(155deg, rgba(16,36,66,.98), rgba(8,22,40,.985));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 14px 30px rgba(2,6,23,.18);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#fdf-manager .fdf-scout-item::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  opacity: .98;
  background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,.03));
}
#fdf-manager .fdf-scout-item::after{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
  pointer-events: none;
}
#fdf-manager .fdf-scout-item:hover{
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 34px rgba(2,6,23,.24);
}
#fdf-manager .fdf-scout-item.t0{
  border-color: rgba(148,163,184,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.18), 0 0 0 1px rgba(148,163,184,.06);
}
#fdf-manager .fdf-scout-item.t0::before{ background: linear-gradient(90deg, #64748b, #94a3b8); }
#fdf-manager .fdf-scout-item.t1{
  border-color: rgba(56,189,248,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.18), 0 0 0 1px rgba(56,189,248,.08), 0 0 24px rgba(56,189,248,.10);
}
#fdf-manager .fdf-scout-item.t1::before{ background: linear-gradient(90deg, #38bdf8, #22d3ee); }
#fdf-manager .fdf-scout-item.t2{
  border-color: rgba(74,222,128,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.18), 0 0 0 1px rgba(74,222,128,.08), 0 0 26px rgba(74,222,128,.11);
}
#fdf-manager .fdf-scout-item.t2::before{ background: linear-gradient(90deg, #22c55e, #4ade80); }
#fdf-manager .fdf-scout-item.t3{
  border-color: rgba(250,204,21,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.18), 0 0 0 1px rgba(250,204,21,.08), 0 0 28px rgba(250,204,21,.12);
}
#fdf-manager .fdf-scout-item.t3::before{ background: linear-gradient(90deg, #f59e0b, #fde047); }
#fdf-manager .fdf-scout-item.t4{
  border-color: rgba(244,114,182,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.18), 0 0 0 1px rgba(244,114,182,.08), 0 0 30px rgba(244,114,182,.13);
}
#fdf-manager .fdf-scout-item.t4::before{ background: linear-gradient(90deg, #ef4444, #f472b6); }
#fdf-manager .fdf-scout-top{
  gap: 12px;
  align-items: flex-start;
}
#fdf-manager .fdf-scout-tier{
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #f8fafc;
  background: rgba(15,23,42,.28);
  backdrop-filter: blur(2px);
}
#fdf-manager .fdf-scout-tier.t0{ color: #e2e8f0; background: rgba(100,116,139,.18); border-color: rgba(148,163,184,.32); }
#fdf-manager .fdf-scout-tier.t1{ color: #e0f2fe; background: rgba(8,145,178,.18); border-color: rgba(34,211,238,.34); }
#fdf-manager .fdf-scout-tier.t2{ color: #dcfce7; background: rgba(21,128,61,.20); border-color: rgba(74,222,128,.34); }
#fdf-manager .fdf-scout-tier.t3{ color: #fef3c7; background: rgba(180,83,9,.20); border-color: rgba(250,204,21,.36); }
#fdf-manager .fdf-scout-tier.t4{ color: #ffe4ef; background: rgba(190,24,93,.18); border-color: rgba(244,114,182,.36); }
#fdf-manager .fdf-scout-ovr{
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  color: #ffffff;
  background: rgba(2,6,23,.24);
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
#fdf-manager .fdf-scout-name{
  margin-top: 12px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 950;
}
#fdf-manager .fdf-scout-subline{
  margin-top: 8px;
  gap: 10px;
  color: #c6d3e1;
  font-size: 13px;
}
#fdf-manager .fdf-scout-actions{
  margin-top: 14px;
  align-items: end;
}
#fdf-manager .fdf-scout-fee{
  flex: 1 1 100%;
  color: #dbeafe;
  font-size: 13px;
}
#fdf-manager .fdf-scout-fee b{ color: #ffffff; }
#fdf-manager .fdf-scout-actions .fdf-fin-btn{
  min-width: 86px;
  padding: 10px 16px;
  border-radius: 12px;
}
@media (max-width: 980px){
  #fdf-manager .fdf-scout-item{ min-height: 0; }
}

/* --- Tácticas: cancha compacta, menos estirada y más alineada al look actual --- */
#fdf-manager #content-tacticas #cancha-tacticas{
  position: relative !important;
  width: 100% !important;
  max-width: 980px;
  min-height: clamp(340px, 34vw, 500px) !important;
  margin: 0 auto !important;
  padding: clamp(20px, 2.4vw, 34px) clamp(34px, 4vw, 58px) !important;
  gap: clamp(8px, 1.2vw, 18px) !important;
  border: 1px solid rgba(187,247,208,.52) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(90deg, transparent 0 49.75%, rgba(255,255,255,.45) 49.75% 50.25%, transparent 50.25% 100%),
    radial-gradient(circle at 50% 50%, transparent 0 9.5%, rgba(255,255,255,.35) 9.5% 10.15%, transparent 10.15% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 12%, rgba(255,255,255,0) 12% 24%),
    linear-gradient(135deg, #61b63b 0%, #56a732 48%, #4c982d 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.16),
    inset 0 10px 20px rgba(255,255,255,.05),
    inset 0 -16px 24px rgba(0,0,0,.08),
    0 12px 26px rgba(2,6,23,.22) !important;
}
#fdf-manager #content-tacticas #cancha-tacticas::before,
#fdf-manager #content-tacticas #cancha-tacticas::after{
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 8%;
  height: 42%;
  border: 2px solid rgba(255,255,255,.5);
  pointer-events: none;
}
#fdf-manager #content-tacticas #cancha-tacticas::before{
  left: 0;
  border-left: 0;
  border-radius: 0 14px 14px 0;
}
#fdf-manager #content-tacticas #cancha-tacticas::after{
  right: 0;
  border-right: 0;
  border-radius: 14px 0 0 14px;
}
#fdf-manager #content-tacticas #cancha-tacticas .fila{
  gap: clamp(10px, 1.6vw, 26px) !important;
}
#fdf-manager #content-tacticas #cancha-tacticas .posicion{
  width: clamp(86px, 7vw, 104px) !important;
  height: clamp(86px, 7vw, 104px) !important;
  border-width: 2px !important;
  border-color: rgba(8,145,178,.74) !important;
  border-style: dashed !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.16) !important;
  backdrop-filter: blur(1.5px);
}
#fdf-manager #content-tacticas #cancha-tacticas .posicion.ocupada{
  border-color: rgba(255,255,255,.78) !important;
  background: rgba(255,255,255,.12) !important;
}
#fdf-manager #content-tacticas #cancha-tacticas .jugador-drop{
  gap: 4px !important;
}
#fdf-manager #content-tacticas #cancha-tacticas .jugador-img-drop{
  width: clamp(46px, 4.6vw, 58px) !important;
  height: clamp(46px, 4.6vw, 58px) !important;
  box-shadow: 0 5px 12px rgba(2,6,23,.24);
}
#fdf-manager #content-tacticas #cancha-tacticas .jugador-drop span{
  font-size: clamp(10px, .9vw, 12px) !important;
  font-weight: 850 !important;
}
#fdf-manager #content-tacticas #cancha-tacticas .jugador-ovr-inline{
  font-size: clamp(9px, .8vw, 11px) !important;
  font-weight: 900 !important;
}
@media (max-width: 900px){
  #fdf-manager #content-tacticas #cancha-tacticas{
    min-height: clamp(330px, 62vw, 440px) !important;
    padding: 22px 16px !important;
    gap: 10px !important;
  }
  #fdf-manager #content-tacticas #cancha-tacticas::before,
  #fdf-manager #content-tacticas #cancha-tacticas::after{
    width: 10%;
    height: 38%;
  }
  #fdf-manager #content-tacticas #cancha-tacticas .fila{
    gap: 8px !important;
  }
  #fdf-manager #content-tacticas #cancha-tacticas .posicion{
    width: clamp(60px, 10vw, 84px) !important;
    height: clamp(60px, 10vw, 84px) !important;
    border-radius: 12px !important;
  }
  #fdf-manager #content-tacticas #cancha-tacticas .jugador-img-drop{
    width: clamp(32px, 5vw, 42px) !important;
    height: clamp(32px, 5vw, 42px) !important;
  }
}
@media (max-width: 560px){
  #fdf-manager #content-tacticas #cancha-tacticas{
    min-height: 330px !important;
    padding: 18px 6px !important;
  }
  #fdf-manager #content-tacticas #cancha-tacticas .posicion{
    width: clamp(48px, 16vw, 64px) !important;
    height: clamp(48px, 16vw, 64px) !important;
  }
  #fdf-manager #content-tacticas #cancha-tacticas .jugador-drop span,
  #fdf-manager #content-tacticas #cancha-tacticas .jugador-ovr-inline{
    font-size: 8px !important;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 10.3.1
   Corrección de orientación visual de la cancha en Tácticas.
   La formación ya se representa en vertical; por eso la cancha debe
   mostrarse también en vertical (áreas arriba/abajo y línea media
   horizontal). Solo presentación, sin tocar lógica táctica.
   =================================================================== */
#fdf-manager #content-tacticas #cancha-tacticas{
  background:
    linear-gradient(180deg, transparent 0 49.75%, rgba(255,255,255,.45) 49.75% 50.25%, transparent 50.25% 100%),
    radial-gradient(circle at 50% 50%, transparent 0 9.5%, rgba(255,255,255,.35) 9.5% 10.15%, transparent 10.15% 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.045) 0 12%, rgba(255,255,255,0) 12% 24%),
    linear-gradient(180deg, #61b63b 0%, #56a732 48%, #4c982d 100%) !important;
}
#fdf-manager #content-tacticas #cancha-tacticas::before,
#fdf-manager #content-tacticas #cancha-tacticas::after{
  left: 50%;
  width: 36%;
  height: 12%;
  transform: translateX(-50%);
}
#fdf-manager #content-tacticas #cancha-tacticas::before{
  top: 0;
  border-top: 0;
  border-left: 2px solid rgba(255,255,255,.5);
  border-right: 2px solid rgba(255,255,255,.5);
  border-bottom: 2px solid rgba(255,255,255,.5);
  border-radius: 0 0 14px 14px;
}
#fdf-manager #content-tacticas #cancha-tacticas::after{
  top: auto;
  bottom: 0;
  border-bottom: 0;
  border-left: 2px solid rgba(255,255,255,.5);
  border-right: 2px solid rgba(255,255,255,.5);
  border-top: 2px solid rgba(255,255,255,.5);
  border-radius: 14px 14px 0 0;
}
@media (max-width: 900px){
  #fdf-manager #content-tacticas #cancha-tacticas::before,
  #fdf-manager #content-tacticas #cancha-tacticas::after{
    width: 42%;
    height: 13%;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 11
   Historia de carrera, palmarés y récords. Capa informativa.
   =================================================================== */
#fdf-manager #plantel-historial{
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  color: #eaf3ff;
  background: transparent;
}
#fdf-manager .fdf-p11-career{
  display: grid;
  gap: 15px;
  padding: 16px;
  border: 1px solid rgba(125,211,252,.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(56,189,248,.10), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(74,222,128,.07), transparent 34%),
    linear-gradient(155deg, rgba(11,39,66,.98), rgba(5,20,38,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(2,6,23,.15);
}
#fdf-manager .fdf-p11-hero{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(125,211,252,.20);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(7,63,92,.74), rgba(10,30,55,.92));
}
#fdf-manager .fdf-p11-kicker{
  display: inline-block;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
}
#fdf-manager .fdf-p11-hero h3{
  margin: 5px 0 5px;
  color: #f8fbff;
  font-size: clamp(21px, 2.5vw, 30px);
  font-weight: 950;
  letter-spacing: -.03em;
}
#fdf-manager .fdf-p11-hero p{
  margin: 0;
  color: #bfd2e6;
  font-size: 13px;
}
#fdf-manager .fdf-p11-hero-badge{
  display: grid;
  place-items: center;
  min-width: 100px;
  padding: 11px 13px;
  border: 1px solid rgba(110,231,183,.33);
  border-radius: 15px;
  color: #dcfce7;
  background: linear-gradient(145deg, rgba(6,78,59,.62), rgba(7,38,47,.78));
  text-align: center;
}
#fdf-manager .fdf-p11-hero-badge span{ font-size: 17px; line-height: 1; }
#fdf-manager .fdf-p11-hero-badge strong{ margin-top: 2px; color: #ffffff; font-size: 26px; line-height: 1; }
#fdf-manager .fdf-p11-hero-badge small{ margin-top: 4px; color: #bbf7d0; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
#fdf-manager .fdf-p11-metrics{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
#fdf-manager .fdf-p11-metric{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(125,211,252,.16);
  border-radius: 14px;
  background: rgba(3,17,32,.48);
}
#fdf-manager .fdf-p11-metric-icon{
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 10px;
  background: rgba(56,189,248,.14);
  font-size: 15px;
}
#fdf-manager .fdf-p11-metric-label,
#fdf-manager .fdf-p11-metric small{
  display: block;
  color: #9fb8ce;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .055em;
}
#fdf-manager .fdf-p11-metric strong{
  display: block;
  margin: 4px 0 3px;
  color: #ffffff;
  font-size: 19px;
  line-height: 1.05;
}
#fdf-manager .fdf-p11-metric small{
  color: #bed0e1;
  font-size: 10px;
  font-weight: 650;
  text-transform: none;
  letter-spacing: 0;
}
#fdf-manager .fdf-p11-grid{
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 13px;
}
#fdf-manager .fdf-p11-panel{
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(125,211,252,.16);
  border-radius: 15px;
  background: linear-gradient(155deg, rgba(8,30,53,.87), rgba(4,18,34,.94));
}
#fdf-manager .fdf-p11-panel-heading{
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
}
#fdf-manager .fdf-p11-panel-heading > span{
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(14,116,144,.22);
  font-size: 15px;
}
#fdf-manager .fdf-p11-panel-heading small{
  display: block;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .09em;
}
#fdf-manager .fdf-p11-panel-heading h4{
  margin: 2px 0 0;
  color: #f8fbff;
  font-size: 16px;
  line-height: 1.15;
}
#fdf-manager .fdf-p11-trophy-list{
  display: grid;
  gap: 8px;
}
#fdf-manager .fdf-p11-trophy{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  background: rgba(15,30,50,.78);
}
#fdf-manager .fdf-p11-trophy > span{ font-size: 18px; }
#fdf-manager .fdf-p11-trophy strong{ display:block; color:#f8fbff; font-size:13px; }
#fdf-manager .fdf-p11-trophy small{ display:block; margin-top:2px; color:#b8cbe0; font-size:11px; }
#fdf-manager .fdf-p11-timeline{
  position: relative;
  display: grid;
  gap: 8px;
  max-height: 286px;
  padding-right: 3px;
  overflow-y: auto;
}
#fdf-manager .fdf-p11-timeline-item{
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0 9px 10px;
  border-left: 2px solid rgba(125,211,252,.30);
}
#fdf-manager .fdf-p11-timeline-item time{
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 950;
}
#fdf-manager .fdf-p11-timeline-item strong{ color:#f8fbff; font-size:13px; }
#fdf-manager .fdf-p11-timeline-item p{ margin:3px 0 0; color:#b8cbe0; font-size:11px; line-height:1.35; }
#fdf-manager .fdf-p11-seasons{ padding-bottom: 0; }
#fdf-manager .fdf-p11-table-scroll{
  margin: 0 -14px;
  overflow-x: auto;
  border-top: 1px solid rgba(125,211,252,.15);
}
#fdf-manager .fdf-p11-table{
  width: 100%;
  min-width: 710px;
  border-collapse: collapse;
}
#fdf-manager .fdf-p11-table th{
  padding: 10px 11px;
  color: #dff4ff;
  background: rgba(9,74,102,.72);
  font-size: 11px;
  text-align: left;
}
#fdf-manager .fdf-p11-table td{
  padding: 10px 11px;
  border-top: 1px solid rgba(148,163,184,.15);
  color: #dbeafe;
  background: rgba(6,22,40,.48);
  font-size: 12px;
}
#fdf-manager .fdf-p11-table tbody tr:nth-child(even) td{ background: rgba(12,38,64,.56); }
#fdf-manager .fdf-p11-table tbody tr:hover td{ background: rgba(14,55,83,.72); }
#fdf-manager .fdf-p11-status{
  display: inline-flex;
  padding: 5px 8px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15,41,69,.70);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
#fdf-manager .fdf-p11-empty,
#fdf-manager .fdf-p11-table-empty{
  padding: 14px;
  border: 1px dashed rgba(125,211,252,.24);
  border-radius: 11px;
  color: #aac0d5;
  background: rgba(2,12,26,.30);
  font-size: 12px;
  line-height: 1.45;
}
#fdf-manager .fdf-p11-table-empty{ text-align:center; }
#fdf-manager .fdf-p11-note{ margin:0; color:#9db4c9; font-size:11px; }

#fdf-manager .fdf-p11-tone-gold .fdf-p11-metric-icon,
#fdf-manager .fdf-p11-trophy.fdf-p11-tone-gold{ border-color: rgba(250,204,21,.30); background: rgba(120,83,10,.18); }
#fdf-manager .fdf-p11-tone-gold .fdf-p11-metric-icon{ background: rgba(180,83,9,.24); }
#fdf-manager .fdf-p11-tone-emerald .fdf-p11-metric-icon,
#fdf-manager .fdf-p11-trophy.fdf-p11-tone-emerald{ border-color: rgba(74,222,128,.30); background: rgba(6,78,59,.20); }
#fdf-manager .fdf-p11-tone-emerald .fdf-p11-metric-icon{ background: rgba(21,128,61,.24); }
#fdf-manager .fdf-p11-tone-cyan .fdf-p11-metric-icon,
#fdf-manager .fdf-p11-trophy.fdf-p11-tone-cyan{ border-color: rgba(34,211,238,.30); background: rgba(8,145,178,.15); }
#fdf-manager .fdf-p11-tone-cyan .fdf-p11-metric-icon{ background: rgba(8,145,178,.22); }
#fdf-manager .fdf-p11-timeline-item.fdf-p11-tone-gold{ border-left-color:#facc15; }
#fdf-manager .fdf-p11-timeline-item.fdf-p11-tone-emerald{ border-left-color:#4ade80; }
#fdf-manager .fdf-p11-timeline-item.fdf-p11-tone-cyan{ border-left-color:#22d3ee; }
#fdf-manager .fdf-p11-timeline-item.fdf-p11-tone-rose{ border-left-color:#fb7185; }
#fdf-manager .fdf-p11-status.fdf-p11-tone-gold{ color:#fef3c7; border-color:rgba(250,204,21,.33); background:rgba(120,83,10,.25); }
#fdf-manager .fdf-p11-status.fdf-p11-tone-emerald{ color:#dcfce7; border-color:rgba(74,222,128,.33); background:rgba(6,78,59,.25); }
#fdf-manager .fdf-p11-status.fdf-p11-tone-cyan{ color:#cffafe; border-color:rgba(34,211,238,.30); background:rgba(8,145,178,.22); }
#fdf-manager .fdf-p11-status.fdf-p11-tone-rose{ color:#ffe4e6; border-color:rgba(251,113,133,.33); background:rgba(136,19,55,.24); }

@media (max-width: 980px){
  #fdf-manager .fdf-p11-metrics{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #fdf-manager .fdf-p11-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 620px){
  #fdf-manager .fdf-p11-career{ padding: 11px; border-radius: 14px; }
  #fdf-manager .fdf-p11-hero{ align-items:flex-start; flex-direction:column; padding:14px; }
  #fdf-manager .fdf-p11-hero-badge{ grid-template-columns:auto auto; column-gap:7px; width:100%; box-sizing:border-box; }
  #fdf-manager .fdf-p11-hero-badge span{ grid-row: span 2; }
  #fdf-manager .fdf-p11-metrics{ grid-template-columns: 1fr; }
  #fdf-manager .fdf-p11-metric{ min-height: 67px; }
}

/* ===================================================================
   FDF MANAGER — FASE 12
   Centro de planificación de Mercado y Contratos.
   Presentación informativa; no modifica reglas financieras ni deportivas.
   =================================================================== */
#fdf-manager .fdf-p12-dashboard{
  margin:14px 0 18px;
  padding:18px;
  border:1px solid rgba(56,189,248,.30);
  border-radius:18px;
  color:#eaf5ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(16,185,129,.18), transparent 32%),
    radial-gradient(circle at 3% 100%, rgba(14,165,233,.14), transparent 42%),
    linear-gradient(135deg, rgba(5,30,55,.98), rgba(5,51,69,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 30px rgba(2,6,23,.18);
}
#fdf-manager .fdf-p12-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(125,211,252,.18);
}
#fdf-manager .fdf-p12-kicker{
  display:block;
  margin-bottom:5px;
  color:#7dd3fc;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}
#fdf-manager .fdf-p12-head h3{
  margin:0;
  color:#fff;
  font-size:23px;
  line-height:1.08;
}
#fdf-manager .fdf-p12-head p{
  margin:7px 0 0;
  max-width:710px;
  color:#bdd5e9;
  font-size:13px;
  line-height:1.45;
}
#fdf-manager .fdf-p12-stage{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  color:#b8d1e6;
  font-size:12px;
  text-align:right;
}
#fdf-manager .fdf-p12-stage > span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border:1px solid rgba(148,163,184,.30);
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
}
#fdf-manager .fdf-p12-stage > span.is-open{
  border-color:rgba(110,231,183,.42);
  color:#bbf7d0;
  background:rgba(6,78,59,.36);
}
#fdf-manager .fdf-p12-stage > span.is-closed{
  border-color:rgba(251,191,36,.40);
  color:#fde68a;
  background:rgba(120,53,15,.28);
}
#fdf-manager .fdf-p12-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
#fdf-manager .fdf-p12-metrics article{
  min-width:0;
  padding:12px;
  border:1px solid rgba(125,211,252,.16);
  border-radius:13px;
  background:rgba(2,20,38,.48);
}
#fdf-manager .fdf-p12-metrics span,
#fdf-manager .fdf-p12-metrics small{
  display:block;
  color:#a9c5db;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
}
#fdf-manager .fdf-p12-metrics strong{
  display:block;
  overflow:hidden;
  margin:5px 0 4px;
  color:#fff;
  font-size:20px;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#fdf-manager .fdf-p12-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.1fr;
  gap:12px;
  margin-top:14px;
}
#fdf-manager .fdf-p12-card{
  min-width:0;
  padding:14px;
  border:1px solid rgba(125,211,252,.18);
  border-radius:15px;
  background:rgba(2,20,38,.62);
}
#fdf-manager .fdf-p12-card-priority{
  border-color:rgba(45,212,191,.28);
  background:linear-gradient(145deg, rgba(4,78,81,.52), rgba(2,20,38,.68));
}
#fdf-manager .fdf-p12-card-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
#fdf-manager .fdf-p12-card-head > span{
  display:flex;
  flex:0 0 30px;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:1px solid rgba(125,211,252,.25);
  border-radius:10px;
  background:rgba(7,89,133,.24);
}
#fdf-manager .fdf-p12-card h4{
  margin:1px 0 3px;
  color:#f8fbff;
  font-size:14px;
  line-height:1.2;
}
#fdf-manager .fdf-p12-card p{
  margin:0;
  color:#a7c4db;
  font-size:11px;
  line-height:1.4;
}
#fdf-manager .fdf-p12-coverage{
  display:grid;
  gap:7px;
}
#fdf-manager .fdf-p12-coverage-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:10px;
  background:rgba(15,35,58,.66);
}
#fdf-manager .fdf-p12-coverage-row > div{ min-width:0; }
#fdf-manager .fdf-p12-coverage-row strong,
#fdf-manager .fdf-p12-coverage-row span{ display:block; }
#fdf-manager .fdf-p12-coverage-row strong{ color:#eaf5ff; font-size:12px; }
#fdf-manager .fdf-p12-coverage-row span{ overflow:hidden; margin-top:2px; color:#9ebbd3; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p12-coverage-row b{ flex:0 0 auto; color:#bbf7d0; font-size:10px; }
#fdf-manager .fdf-p12-coverage-row.is-need{ border-color:rgba(251,191,36,.40); background:rgba(120,53,15,.22); }
#fdf-manager .fdf-p12-coverage-row.is-need b{ color:#fde68a; }
#fdf-manager .fdf-p12-coverage-row.is-depth b{ color:#bae6fd; }
#fdf-manager .fdf-p12-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
#fdf-manager .fdf-p12-btn,
#fdf-manager .fdf-p12-link{
  border:1px solid rgba(125,211,252,.34);
  color:#dbeafe;
  background:rgba(15,41,69,.78);
  cursor:pointer;
  font:inherit;
  font-size:11px;
  font-weight:900;
}
#fdf-manager .fdf-p12-btn{
  min-height:32px;
  padding:0 11px;
  border-radius:9px;
}
#fdf-manager .fdf-p12-btn.primary{
  border-color:rgba(134,239,172,.45);
  color:#f0fdf4;
  background:linear-gradient(135deg,#15803d,#16a34a);
}
#fdf-manager .fdf-p12-btn:hover,
#fdf-manager .fdf-p12-link:hover{ filter:brightness(1.12); transform:translateY(-1px); }
#fdf-manager .fdf-p12-renewals{ display:grid; gap:7px; }
#fdf-manager .fdf-p12-renewal-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px;
  border:1px solid rgba(251,113,133,.26);
  border-radius:10px;
  background:rgba(136,19,55,.13);
}
#fdf-manager .fdf-p12-renewal-player{ min-width:0; }
#fdf-manager .fdf-p12-renewal-player strong,
#fdf-manager .fdf-p12-renewal-player span{ display:block; }
#fdf-manager .fdf-p12-renewal-player strong{ overflow:hidden; color:#fff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p12-renewal-player span{ margin-top:3px; color:#fbcfe8; font-size:10px; }
#fdf-manager .fdf-p12-renewal-meta{ display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; gap:5px; color:#fecdd3; font-size:10px; }
#fdf-manager .fdf-p12-link{ padding:4px 7px; border-radius:7px; color:#f0f9ff; background:rgba(30,64,175,.52); }
#fdf-manager .fdf-p12-watch-note{
  margin-top:9px;
  padding:8px 9px;
  border:1px solid rgba(251,191,36,.22);
  border-radius:9px;
  color:#fde68a;
  background:rgba(120,53,15,.17);
  font-size:11px;
}
#fdf-manager .fdf-p12-empty{ padding:12px 2px; color:#9ebbd3; font-size:11px; line-height:1.45; }
#fdf-manager .fdf-p12-loan-split{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#fdf-manager .fdf-p12-loan-split > div{ min-width:0; padding:9px; border:1px solid rgba(125,211,252,.15); border-radius:10px; background:rgba(15,35,58,.55); }
#fdf-manager .fdf-p12-loan-split > div > span{ display:block; color:#9ebbd3; font-size:10px; font-weight:800; }
#fdf-manager .fdf-p12-loan-split > div > strong{ display:block; margin:3px 0 6px; color:#e0f2fe; font-size:18px; }
#fdf-manager .fdf-p12-loan-list{ display:grid; gap:5px; }
#fdf-manager .fdf-p12-loan-list > div{ min-width:0; padding-top:5px; border-top:1px solid rgba(148,163,184,.12); }
#fdf-manager .fdf-p12-loan-list strong,
#fdf-manager .fdf-p12-loan-list span{ display:block; }
#fdf-manager .fdf-p12-loan-list strong{ overflow:hidden; color:#eaf5ff; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p12-loan-list span{ margin-top:2px; color:#9ebbd3; font-size:9px; line-height:1.25; }
#fdf-manager .fdf-p12-activity{ display:flex; gap:6px; flex-wrap:wrap; margin-top:11px; }
#fdf-manager .fdf-p12-activity span{ padding:6px 7px; border:1px solid rgba(125,211,252,.16); border-radius:8px; color:#bcd6e9; background:rgba(15,35,58,.56); font-size:10px; }
#fdf-manager .fdf-p12-activity b{ margin-left:3px; color:#fff; }
#fdf-manager .fdf-p12-footnote{ margin-top:12px; padding-top:11px; border-top:1px solid rgba(125,211,252,.15); color:#9ebbd3; font-size:10px; line-height:1.45; }
@media (max-width:1000px){
  #fdf-manager .fdf-p12-metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #fdf-manager .fdf-p12-grid{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  #fdf-manager .fdf-p12-dashboard{ padding:14px; border-radius:14px; }
  #fdf-manager .fdf-p12-head{ flex-direction:column; }
  #fdf-manager .fdf-p12-stage{ align-items:flex-start; text-align:left; }
  #fdf-manager .fdf-p12-metrics{ grid-template-columns:1fr 1fr; gap:7px; }
  #fdf-manager .fdf-p12-loan-split{ grid-template-columns:1fr; }
}

/* ===================================================================
   FDF MANAGER — FASE 13
   Identidad del Club y Dirección Deportiva.
   Capa visual del panel informativo en Usuario.
   =================================================================== */
body.fdf-p13-open{ overflow:hidden; }
#fdf-manager .fdf-club-identity-menu-entry,
.submenu.fdf-user-submenu-floating .fdf-club-identity-menu-entry{
  display:flex;
  align-items:center;
  gap:9px;
}
#fdf-manager .fdf-club-identity-menu-icon,
.submenu.fdf-user-submenu-floating .fdf-club-identity-menu-icon{
  width:19px;
  text-align:center;
}
.fdf-p13-overlay{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:22px;
  overflow:auto;
  background:rgba(2,6,23,.82);
  backdrop-filter:blur(7px);
}
.fdf-p13-modal{
  position:relative;
  width:min(1060px, 100%);
  max-height:min(92vh, 910px);
  overflow:auto;
  box-sizing:border-box;
  padding:18px;
  border:1px solid rgba(125,211,252,.26);
  border-radius:23px;
  color:#eaf5ff;
  background:
    radial-gradient(circle at 95% 0%, rgba(56,189,248,.15), transparent 31%),
    radial-gradient(circle at 0% 100%, rgba(16,185,129,.14), transparent 37%),
    linear-gradient(145deg, #061b31 0%, #081a30 45%, #071225 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.06);
  scrollbar-color:rgba(125,211,252,.45) rgba(2,6,23,.32);
}
.fdf-p13-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  width:34px;
  height:34px;
  border:1px solid rgba(203,213,225,.23);
  border-radius:50%;
  color:#dbeafe;
  background:rgba(2,6,23,.34);
  cursor:pointer;
  font-size:26px;
  font-weight:400;
  line-height:28px;
  transition:transform .16s ease, background .16s ease, color .16s ease;
}
.fdf-p13-close:hover{ transform:scale(1.05); color:#fff; background:rgba(190,24,93,.38); }
.fdf-p13-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:102px;
  padding:17px 55px 17px 17px;
  border:1px solid rgba(125,211,252,.20);
  border-radius:17px;
  background:linear-gradient(135deg, rgba(8,60,92,.72), rgba(10,35,65,.60));
}
.fdf-p13-crest{
  display:grid;
  width:67px;
  height:67px;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg, rgba(56,189,248,.30), rgba(16,185,129,.25));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 22px rgba(2,6,23,.24);
  font-size:29px;
}
.fdf-p13-crest img{ width:82%; height:82%; object-fit:contain; }
.fdf-p13-hero-copy{ min-width:0; }
.fdf-p13-hero-copy > span{
  display:block;
  margin-bottom:5px;
  color:#7dd3fc;
  font-size:11px;
  font-weight:950;
  letter-spacing:.13em;
}
.fdf-p13-hero-copy h3{ margin:0; color:#fff; font-size:26px; line-height:1.08; }
.fdf-p13-hero-copy p{ margin:7px 0 0; color:#b9d3e8; font-size:13px; line-height:1.42; }
.fdf-p13-reputation{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  min-width:126px;
  padding:10px 11px;
  border:1px solid rgba(250,204,21,.28);
  border-radius:14px;
  background:rgba(120,83,10,.17);
  text-align:right;
}
.fdf-p13-reputation small{ color:#fde68a; font-size:9px; font-weight:950; letter-spacing:.10em; }
.fdf-p13-reputation strong{ color:#fff; font-size:28px; line-height:1; }
.fdf-p13-reputation span{ color:#fef3c7; font-size:11px; font-weight:800; }
.fdf-p13-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:13px 0;
}
.fdf-p13-metric{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:84px;
  padding:12px;
  border:1px solid rgba(125,211,252,.17);
  border-radius:14px;
  background:rgba(9,35,61,.71);
}
.fdf-p13-metric-icon{
  display:grid;
  flex:0 0 auto;
  width:31px;
  height:31px;
  place-items:center;
  border:1px solid rgba(125,211,252,.24);
  border-radius:10px;
  background:rgba(8,145,178,.19);
  font-size:16px;
}
.fdf-p13-metric > div{ min-width:0; }
.fdf-p13-metric > div > span,
.fdf-p13-metric small{ display:block; }
.fdf-p13-metric > div > span{ color:#9ebbd3; font-size:10px; font-weight:900; letter-spacing:.03em; }
.fdf-p13-metric strong{ display:block; margin:3px 0; overflow:hidden; color:#fff; font-size:15px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.fdf-p13-metric small{ color:#c6d8e8; font-size:10px; line-height:1.32; }
.fdf-p13-metric.is-good .fdf-p13-metric-icon{ border-color:rgba(74,222,128,.32); background:rgba(21,128,61,.20); }
.fdf-p13-metric.is-watch .fdf-p13-metric-icon{ border-color:rgba(250,204,21,.32); background:rgba(180,83,9,.19); }
.fdf-p13-metric.is-risk .fdf-p13-metric-icon{ border-color:rgba(251,113,133,.32); background:rgba(136,19,55,.19); }
.fdf-p13-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:12px; }
.fdf-p13-card{
  min-width:0;
  padding:14px;
  border:1px solid rgba(125,211,252,.18);
  border-radius:15px;
  background:linear-gradient(145deg, rgba(12,43,72,.78), rgba(5,23,43,.82));
}
.fdf-p13-card-head{ display:flex; align-items:flex-start; gap:10px; }
.fdf-p13-card-head > span{ font-size:20px; line-height:1; }
.fdf-p13-card-head small{ display:block; margin-bottom:4px; color:#7dd3fc; font-size:9px; font-weight:950; letter-spacing:.11em; }
.fdf-p13-card-head h4{ margin:0; color:#f8fbff; font-size:15px; line-height:1.15; }
.fdf-p13-objective > p{ min-height:38px; margin:11px 0; color:#c6d8e8; font-size:12px; line-height:1.42; }
.fdf-p13-progress-meta{ display:flex; justify-content:space-between; gap:8px; color:#a9c4d9; font-size:11px; }
.fdf-p13-progress-meta b{ color:#eaf5ff; }
.fdf-p13-progress{ height:9px; margin-top:7px; overflow:hidden; border:1px solid rgba(125,211,252,.16); border-radius:999px; background:rgba(2,6,23,.35); }
.fdf-p13-progress i{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg, #38bdf8, #22c55e); box-shadow:0 0 14px rgba(34,197,94,.42); }
.fdf-p13-objective.is-gold .fdf-p13-progress i{ background:linear-gradient(90deg, #f59e0b, #fde047); box-shadow:0 0 14px rgba(250,204,21,.35); }
.fdf-p13-objective.is-rose .fdf-p13-progress i{ background:linear-gradient(90deg, #fb7185, #fda4af); box-shadow:0 0 14px rgba(251,113,133,.35); }
.fdf-p13-note{ display:block; margin-top:10px; color:#92adc5; font-size:10px; line-height:1.35; }
.fdf-p13-identity-rows{ display:grid; gap:8px; margin-top:12px; }
.fdf-p13-identity-rows > div{ padding:9px 10px; border:1px solid rgba(125,211,252,.13); border-radius:10px; background:rgba(2,17,34,.30); }
.fdf-p13-identity-rows span,
.fdf-p13-identity-rows strong{ display:block; }
.fdf-p13-identity-rows span{ margin-bottom:3px; color:#8fb1cc; font-size:10px; font-weight:900; }
.fdf-p13-identity-rows strong{ color:#e9f4fc; font-size:11px; line-height:1.38; }
.fdf-p13-challenges-card{ margin-top:12px; }
.fdf-p13-challenges{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.fdf-p13-challenge{ display:flex; align-items:flex-start; gap:9px; min-width:0; padding:10px; border:1px solid rgba(125,211,252,.13); border-left:3px solid #38bdf8; border-radius:10px; background:rgba(2,17,34,.30); }
.fdf-p13-challenge > span{ font-size:16px; line-height:1; }
.fdf-p13-challenge div{ min-width:0; }
.fdf-p13-challenge strong{ display:block; color:#f5fbff; font-size:11px; line-height:1.25; }
.fdf-p13-challenge p{ margin:4px 0 0; color:#b8cfdf; font-size:10px; line-height:1.38; }
.fdf-p13-challenge.is-good{ border-left-color:#4ade80; }
.fdf-p13-challenge.is-watch{ border-left-color:#facc15; }
.fdf-p13-challenge.is-risk{ border-left-color:#fb7185; }
.fdf-p13-footer{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding:12px 2px 0; border-top:1px solid rgba(125,211,252,.15); }
.fdf-p13-footer p{ max-width:620px; margin:0; color:#95b0c7; font-size:10px; line-height:1.4; }
.fdf-p13-footer > div{ display:flex; gap:8px; flex:0 0 auto; }
.fdf-p13-btn{ padding:9px 11px; border:1px solid rgba(125,211,252,.27); border-radius:10px; color:#eaf5ff; background:rgba(14,83,115,.40); cursor:pointer; font-size:11px; font-weight:900; transition:transform .15s ease, background .15s ease; }
.fdf-p13-btn:hover{ transform:translateY(-1px); background:rgba(8,145,178,.48); }
.fdf-p13-btn.primary{ border-color:rgba(74,222,128,.38); color:#edfff4; background:linear-gradient(135deg, #15803d, #059669); }
@media (max-width:980px){
  .fdf-p13-metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fdf-p13-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .fdf-p13-overlay{ padding:10px; align-items:flex-start; }
  .fdf-p13-modal{ max-height:none; min-height:100%; padding:11px; border-radius:17px; }
  .fdf-p13-hero{ grid-template-columns:auto minmax(0,1fr); padding:14px 41px 14px 14px; }
  .fdf-p13-reputation{ grid-column:1 / -1; align-items:flex-start; min-width:0; text-align:left; }
  .fdf-p13-hero-copy h3{ font-size:21px; }
  .fdf-p13-metrics{ grid-template-columns:1fr; gap:8px; }
  .fdf-p13-metric{ min-height:66px; }
  .fdf-p13-challenges{ grid-template-columns:1fr; }
  .fdf-p13-footer{ align-items:stretch; flex-direction:column; }
  .fdf-p13-footer > div{ width:100%; }
  .fdf-p13-btn{ flex:1 1 0; }
}

/* ===================================================================
   FDF MANAGER — AJUSTE FASE 13.1
   Acceso principal para Identidad del Club.
   Se muestra entre Mercado y Usuario. Solo navegación visual.
   =================================================================== */
#fdf-manager #menu-juego .fdf-club-identity-main-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  color:#dbeafe;
  border-color:rgba(167,139,250,.24);
  background:linear-gradient(135deg, rgba(76,29,149,.34), rgba(14,65,101,.36));
}
#fdf-manager #menu-juego .fdf-club-identity-main-tab:hover{
  color:#ffffff;
  border-color:rgba(196,181,253,.48);
  background:linear-gradient(135deg, rgba(109,40,217,.48), rgba(8,145,178,.44));
}
#fdf-manager #menu-juego .fdf-club-identity-main-tab.active{
  color:#ffffff;
  border-color:rgba(196,181,253,.58);
  border-bottom-color:rgba(196,181,253,.82);
  background:linear-gradient(135deg, rgba(109,40,217,.62), rgba(8,145,178,.56));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 7px 16px rgba(76,29,149,.16);
}
#fdf-manager #menu-juego .fdf-club-identity-main-icon{
  font-size:14px;
  line-height:1;
}
@media (max-width:768px){
  #fdf-manager #menu-juego .fdf-club-identity-main-tab{
    flex:0 0 auto;
    font-size:12px;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 14
   Centro de Preparación y Plan de Partido.
   Capa visual informativa dentro de Tácticas.
   =================================================================== */
#fdf-manager .fdf-p14-center{
  position:relative;
  margin:18px 0;
  overflow:hidden;
  border:1px solid rgba(56,189,248,.27);
  border-radius:20px;
  color:#e5eef8;
  background:
    radial-gradient(circle at 4% 0%, rgba(14,165,233,.19), transparent 27%),
    radial-gradient(circle at 96% 4%, rgba(124,58,237,.18), transparent 29%),
    linear-gradient(145deg, #071a31 0%, #0a223d 46%, #071b31 100%);
  box-shadow:0 18px 42px rgba(2,6,23,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
#fdf-manager .fdf-p14-center::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.022) 0 1px, transparent 1px 64px);
}
#fdf-manager .fdf-p14-head,
#fdf-manager .fdf-p14-matchup,
#fdf-manager .fdf-p14-grid,
#fdf-manager .fdf-p14-foot{ position:relative; z-index:1; }
#fdf-manager .fdf-p14-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:20px 21px 16px;
  border-bottom:1px solid rgba(148,163,184,.19);
}
#fdf-manager .fdf-p14-head > div > span{
  display:block;
  margin:0 0 6px;
  color:#7dd3fc;
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
}
#fdf-manager .fdf-p14-head h3{
  margin:0;
  color:#fff;
  font-size:clamp(18px,2.3vw,24px);
  line-height:1.1;
  font-weight:950;
}
#fdf-manager .fdf-p14-head p{
  margin:7px 0 0;
  color:#b8cae1;
  font-size:13px;
  line-height:1.4;
}
#fdf-manager .fdf-p14-head > b{
  flex:0 0 auto;
  max-width:42%;
  padding:8px 11px;
  border:1px solid rgba(125,211,252,.32);
  border-radius:999px;
  color:#e0f2fe;
  background:rgba(8,47,73,.52);
  font-size:11px;
  font-weight:900;
  letter-spacing:.035em;
  text-align:center;
}
#fdf-manager .fdf-p14-matchup{
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:17px 21px;
  background:linear-gradient(90deg, rgba(15,23,42,.32), rgba(14,116,144,.12), rgba(15,23,42,.32));
  border-bottom:1px solid rgba(148,163,184,.17);
}
#fdf-manager .fdf-p14-team{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
#fdf-manager .fdf-p14-team.is-rival{ justify-content:flex-end; text-align:right; }
#fdf-manager .fdf-p14-team > div{ min-width:0; }
#fdf-manager .fdf-p14-team small{
  display:block;
  margin-bottom:3px;
  color:#9fb4ce;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
#fdf-manager .fdf-p14-team strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#fdf-manager .fdf-p14-shield{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.25);
  border-radius:15px;
  background:rgba(15,23,42,.45);
  box-shadow:0 7px 16px rgba(2,6,23,.21);
}
#fdf-manager .fdf-p14-shield.is-user{ border-color:rgba(56,189,248,.56); }
#fdf-manager .fdf-p14-shield.is-rival{ border-color:rgba(196,181,253,.50); }
#fdf-manager .fdf-p14-shield img{ width:100%; height:100%; object-fit:contain; }
#fdf-manager .fdf-p14-shield b{ position:absolute; color:#fff; font-size:17px; font-weight:950; text-shadow:0 2px 8px rgba(2,6,23,.78); }
#fdf-manager .fdf-p14-shield img + b{ display:none; }
#fdf-manager .fdf-p14-versus{ display:flex; flex-direction:column; align-items:center; gap:4px; color:#b7c6da; text-align:center; }
#fdf-manager .fdf-p14-versus i{ color:#fff; font-size:18px; font-style:normal; font-weight:950; letter-spacing:.09em; }
#fdf-manager .fdf-p14-versus span{ font-size:10px; font-weight:750; text-transform:uppercase; }
#fdf-manager .fdf-p14-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:13px;
  padding:16px 20px;
}
#fdf-manager .fdf-p14-card{
  min-width:0;
  padding:15px;
  border:1px solid rgba(148,163,184,.19);
  border-radius:16px;
  background:linear-gradient(155deg, rgba(15,43,76,.72), rgba(6,23,43,.79));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#fdf-manager .fdf-p14-compare-card{ grid-row:span 2; }
#fdf-manager .fdf-p14-card-head{ display:flex; align-items:flex-start; gap:10px; margin-bottom:13px; }
#fdf-manager .fdf-p14-card-head > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  border:1px solid rgba(125,211,252,.28);
  border-radius:10px;
  background:rgba(14,116,144,.18);
  font-size:16px;
}
#fdf-manager .fdf-p14-card-head small,
#fdf-manager .fdf-p14-rotation-columns > div > small{
  display:block;
  color:#8fb8d9;
  font-size:10px;
  font-weight:900;
  letter-spacing:.085em;
}
#fdf-manager .fdf-p14-card-head h4{ margin:3px 0 0; color:#fff; font-size:15px; line-height:1.14; font-weight:900; }
#fdf-manager .fdf-p14-metrics{ display:grid; gap:10px; }
#fdf-manager .fdf-p14-metric-row{ display:grid; grid-template-columns:72px 27px minmax(90px,1fr) 27px; align-items:center; gap:7px; }
#fdf-manager .fdf-p14-metric-label{ color:#c9d8e8; font-size:12px; font-weight:750; }
#fdf-manager .fdf-p14-metric-row b{ font-size:12px; text-align:center; }
#fdf-manager .fdf-p14-metric-row b.is-user{ color:#7dd3fc; }
#fdf-manager .fdf-p14-metric-row b.is-rival{ color:#d8b4fe; }
#fdf-manager .fdf-p14-meter{
  position:relative;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(148,163,184,.20);
}
#fdf-manager .fdf-p14-meter i{ position:absolute; top:0; height:100%; border-radius:999px; opacity:.92; }
#fdf-manager .fdf-p14-meter i.is-user{ left:0; background:linear-gradient(90deg, #0284c7, #38bdf8); }
#fdf-manager .fdf-p14-meter i.is-rival{ right:0; background:linear-gradient(90deg, #a855f7, #c084fc); opacity:.76; }
#fdf-manager .fdf-p14-note{ display:block; margin-top:13px; color:#93a9c2; font-size:11px; line-height:1.35; }
#fdf-manager .fdf-p14-reading-list,
#fdf-manager .fdf-p14-rotation-columns ul{ margin:0; padding:0; list-style:none; }
#fdf-manager .fdf-p14-reading-list{ display:grid; gap:8px; }
#fdf-manager .fdf-p14-reading-list li,
#fdf-manager .fdf-p14-rotation-columns li{ display:flex; align-items:flex-start; gap:8px; }
#fdf-manager .fdf-p14-reading-list li > span{ display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; color:#fff; font-size:11px; font-weight:950; }
#fdf-manager .fdf-p14-reading-list li.is-positive > span{ background:#15803d; }
#fdf-manager .fdf-p14-reading-list li.is-warning > span{ background:#b45309; }
#fdf-manager .fdf-p14-reading-list li.is-neutral > span{ background:#475569; }
#fdf-manager .fdf-p14-reading-list b,
#fdf-manager .fdf-p14-rotation-columns b{ display:block; color:#f8fafc; font-size:12px; font-weight:850; }
#fdf-manager .fdf-p14-reading-list small,
#fdf-manager .fdf-p14-rotation-columns small{ display:block; margin-top:2px; color:#b4c6da; font-size:11px; line-height:1.33; }
#fdf-manager .fdf-p14-current-plan{
  display:flex;
  justify-content:space-between;
  gap:9px;
  align-items:center;
  margin-top:13px;
  padding:9px 10px;
  border:1px solid rgba(56,189,248,.20);
  border-radius:11px;
  background:rgba(14,116,144,.11);
}
#fdf-manager .fdf-p14-current-plan span{ color:#8fc4e8; font-size:10px; font-weight:900; letter-spacing:.07em; }
#fdf-manager .fdf-p14-current-plan b{ color:#fff; font-size:12px; font-weight:900; text-align:right; }
#fdf-manager .fdf-p14-availability-copy{ min-height:35px; margin:0 0 12px; color:#c5d4e5; font-size:12px; line-height:1.4; }
#fdf-manager .fdf-p14-rotation-columns{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#fdf-manager .fdf-p14-rotation-columns > div{ min-width:0; }
#fdf-manager .fdf-p14-rotation-columns > div > small{ margin-bottom:7px; color:#8fb8d9; }
#fdf-manager .fdf-p14-rotation-columns ul{ display:grid; gap:8px; }
#fdf-manager .fdf-p14-rotation-columns li > span{ display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:18px; height:18px; border-radius:6px; background:rgba(148,163,184,.18); font-size:10px; }
#fdf-manager .fdf-p14-rotation-columns li.is-empty{ display:block; padding:9px; border:1px dashed rgba(148,163,184,.26); border-radius:9px; color:#9fb2c8; font-size:11px; line-height:1.35; }
#fdf-manager .fdf-p14-foot{
  display:grid;
  grid-template-columns:1.05fr 1fr auto;
  gap:12px;
  align-items:stretch;
  padding:0 20px 20px;
}
#fdf-manager .fdf-p14-objective,
#fdf-manager .fdf-p14-last{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  background:rgba(2,18,36,.42);
}
#fdf-manager .fdf-p14-objective > span,
#fdf-manager .fdf-p14-last > span{ font-size:17px; }
#fdf-manager .fdf-p14-objective small,
#fdf-manager .fdf-p14-last small{ display:block; color:#8ebbdc; font-size:10px; font-weight:900; letter-spacing:.07em; }
#fdf-manager .fdf-p14-objective b,
#fdf-manager .fdf-p14-last b{ display:block; margin-top:4px; color:#fff; font-size:12px; line-height:1.35; font-weight:850; }
#fdf-manager .fdf-p14-last em{ display:block; margin-top:3px; color:#afc2d8; font-size:11px; font-style:normal; }
#fdf-manager .fdf-p14-last.is-win{ border-color:rgba(74,222,128,.30); }
#fdf-manager .fdf-p14-last.is-win b{ color:#bbf7d0; }
#fdf-manager .fdf-p14-last.is-draw{ border-color:rgba(250,204,21,.28); }
#fdf-manager .fdf-p14-last.is-draw b{ color:#fef3c7; }
#fdf-manager .fdf-p14-last.is-loss{ border-color:rgba(251,113,133,.30); }
#fdf-manager .fdf-p14-last.is-loss b{ color:#fecdd3; }
#fdf-manager .fdf-p14-actions{ display:flex; align-items:center; gap:8px; }
#fdf-manager .fdf-p14-actions button{
  border:1px solid rgba(125,211,252,.34);
  border-radius:11px;
  padding:10px 12px;
  color:#ecfeff;
  background:linear-gradient(135deg, #075985, #0e7490);
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .16s ease, filter .16s ease, border-color .16s ease;
}
#fdf-manager .fdf-p14-actions button:last-child{ border-color:rgba(196,181,253,.36); background:linear-gradient(135deg, #5b21b6, #7e22ce); }
#fdf-manager .fdf-p14-actions button:hover{ transform:translateY(-1px); filter:brightness(1.08); }
@media (max-width:900px){
  #fdf-manager .fdf-p14-grid{ grid-template-columns:1fr; }
  #fdf-manager .fdf-p14-compare-card{ grid-row:auto; }
  #fdf-manager .fdf-p14-foot{ grid-template-columns:1fr 1fr; }
  #fdf-manager .fdf-p14-actions{ grid-column:1 / -1; }
}
@media (max-width:620px){
  #fdf-manager .fdf-p14-head{ flex-direction:column; }
  #fdf-manager .fdf-p14-head > b{ max-width:100%; }
  #fdf-manager .fdf-p14-matchup{ grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr); gap:7px; padding:14px 12px; }
  #fdf-manager .fdf-p14-team{ gap:7px; }
  #fdf-manager .fdf-p14-team strong{ font-size:12px; }
  #fdf-manager .fdf-p14-team small{ font-size:9px; }
  #fdf-manager .fdf-p14-shield{ width:37px; height:37px; border-radius:12px; }
  #fdf-manager .fdf-p14-versus i{ font-size:14px; }
  #fdf-manager .fdf-p14-versus span{ font-size:8px; }
  #fdf-manager .fdf-p14-grid{ padding:12px; gap:10px; }
  #fdf-manager .fdf-p14-metric-row{ grid-template-columns:64px 24px minmax(50px,1fr) 24px; gap:5px; }
  #fdf-manager .fdf-p14-metric-label{ font-size:11px; }
  #fdf-manager .fdf-p14-rotation-columns{ grid-template-columns:1fr; gap:11px; }
  #fdf-manager .fdf-p14-foot{ grid-template-columns:1fr; padding:0 12px 13px; gap:10px; }
  #fdf-manager .fdf-p14-actions{ grid-column:auto; display:grid; grid-template-columns:1fr 1fr; }
  #fdf-manager .fdf-p14-actions button{ padding:10px 7px; font-size:11px; }
}

/* ===================================================================
   FDF MANAGER — AJUSTE FASE 14.1
   Subpestañas de Tácticas: configuración / plan previo.
   Capa visual: no altera controles, persistencia ni lógica de partido.
   =================================================================== */
#fdf-manager #content-tacticas[data-fdf-tactics-workspace="1"]{
  position:relative;
}
#fdf-manager #content-tacticas .fdf-tactics-workspace-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 16px;
  padding:7px;
  border:1px solid rgba(125,211,252,.22);
  border-radius:15px;
  background:linear-gradient(145deg, rgba(7,27,49,.95), rgba(10,35,62,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(2,6,23,.13);
  box-sizing:border-box;
}
#fdf-manager #content-tacticas .fdf-tactics-workspace-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:39px;
  flex:0 1 auto;
  border:1px solid transparent;
  border-radius:11px;
  padding:9px 14px;
  color:#b8cee5;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
#fdf-manager #content-tacticas .fdf-tactics-workspace-tab:hover{
  color:#f8fafc;
  border-color:rgba(125,211,252,.22);
  background:rgba(125,211,252,.08);
}
#fdf-manager #content-tacticas .fdf-tactics-workspace-tab.is-active{
  color:#ffffff;
  border-color:rgba(125,211,252,.48);
  background:linear-gradient(135deg, #075985, #0e7490);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13), 0 6px 15px rgba(8,145,178,.18);
}
#fdf-manager #content-tacticas .fdf-tactics-workspace-tab span[aria-hidden="true"]{
  font-size:14px;
  line-height:1;
}
/* La pantalla Táctica conserva el armado existente: cancha, banco,
   lista de jugadores, formación, estilo, acciones y estrategia aplicable. */
#fdf-manager #content-tacticas[data-fdf-tactics-view="tactic"] [data-fdf-tactics-plan-carrier="1"]{
  display:none !important;
}
/* Plan previo muestra solamente los módulos analíticos de Fase 9 y Fase 14. */
#fdf-manager #content-tacticas[data-fdf-tactics-view="plan"] [data-fdf-tactics-core="1"]{
  display:none !important;
}
#fdf-manager #content-tacticas[data-fdf-tactics-view="plan"] #fdf-phase9-strategy,
#fdf-manager #content-tacticas[data-fdf-tactics-view="plan"] #fdf-phase14-match-preparation{
  display:block !important;
}
#fdf-manager #content-tacticas[data-fdf-tactics-view="plan"] #fdf-phase9-strategy{
  margin-top:0 !important;
}
#fdf-manager #content-tacticas[data-fdf-tactics-view="plan"] #fdf-phase14-match-preparation{
  margin-bottom:0 !important;
}
@media (max-width:640px){
  #fdf-manager #content-tacticas .fdf-tactics-workspace-tabs{
    gap:6px;
    padding:6px;
    margin-bottom:13px;
  }
  #fdf-manager #content-tacticas .fdf-tactics-workspace-tab{
    flex:1 1 0;
    min-width:0;
    padding:10px 7px;
    font-size:11px;
    white-space:normal;
    line-height:1.15;
  }
  #fdf-manager #content-tacticas .fdf-tactics-workspace-tab span[aria-hidden="true"]{
    font-size:13px;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 15
   Academia y Desarrollo de Juveniles.
   =================================================================== */
#fdf-manager .fdf-p15-academy{
  margin:14px 0;
  overflow:hidden;
  border:1px solid rgba(74,222,128,.26);
  border-radius:18px;
  color:#edf7ff;
  background:
    radial-gradient(105% 180% at 0% 0%, rgba(34,197,94,.17), transparent 43%),
    radial-gradient(85% 150% at 100% 0%, rgba(14,165,233,.14), transparent 46%),
    linear-gradient(145deg, #091d2f 0%, #0b2635 52%, #071925 100%);
  box-shadow:0 16px 38px rgba(2,6,23,.16), inset 0 1px 0 rgba(255,255,255,.055);
}
#fdf-manager .fdf-p15-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
#fdf-manager .fdf-p15-head > div:first-child{ min-width:0; }
#fdf-manager .fdf-p15-head > div:first-child > span,
#fdf-manager .fdf-p15-section-title > div > span{
  display:block;
  margin:0 0 5px;
  color:#86efac;
  font-size:10px;
  font-weight:950;
  letter-spacing:.1em;
}
#fdf-manager .fdf-p15-head h3{
  margin:0;
  color:#ffffff;
  font-size:19px;
  line-height:1.2;
  font-weight:950;
}
#fdf-manager .fdf-p15-head p{
  max-width:730px;
  margin:7px 0 0;
  color:#b7cbd9;
  font-size:12px;
  line-height:1.46;
}
#fdf-manager .fdf-p15-head-actions{
  display:flex;
  flex:0 0 auto;
  gap:8px;
  align-items:center;
}
#fdf-manager .fdf-p15-head-actions button,
#fdf-manager .fdf-p15-loan-btn{
  border:1px solid rgba(125,211,252,.32);
  border-radius:10px;
  padding:9px 11px;
  color:#ecfeff;
  background:linear-gradient(135deg, #075985, #0e7490);
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .16s ease, filter .16s ease, border-color .16s ease;
}
#fdf-manager .fdf-p15-head-actions button:first-child{
  border-color:rgba(134,239,172,.36);
  background:linear-gradient(135deg, #166534, #15803d);
}
#fdf-manager .fdf-p15-head-actions button:hover,
#fdf-manager .fdf-p15-loan-btn:hover{ transform:translateY(-1px); filter:brightness(1.09); }
#fdf-manager .fdf-p15-metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1px;
  border-bottom:1px solid rgba(148,163,184,.18);
  background:rgba(148,163,184,.15);
}
#fdf-manager .fdf-p15-metrics > div{
  display:flex;
  min-height:84px;
  flex-direction:column;
  justify-content:center;
  padding:13px 16px;
  background:rgba(5,21,34,.72);
}
#fdf-manager .fdf-p15-metrics small{ color:#9eb9cc; font-size:10px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
#fdf-manager .fdf-p15-metrics b{ margin-top:3px; color:#ffffff; font-size:24px; line-height:1; font-weight:950; }
#fdf-manager .fdf-p15-metrics span{ margin-top:5px; color:#bad0de; font-size:10px; }
#fdf-manager .fdf-p15-layout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(260px,.82fr);
  gap:14px;
  padding:16px;
}
#fdf-manager .fdf-p15-squad,
#fdf-manager .fdf-p15-prospects{
  min-width:0;
  padding:14px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  background:rgba(2,16,29,.40);
}
#fdf-manager .fdf-p15-section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
#fdf-manager .fdf-p15-section-title h4{
  margin:0;
  color:#f8fafc;
  font-size:14px;
  font-weight:900;
}
#fdf-manager .fdf-p15-section-title > small{
  padding-top:2px;
  color:#a8c0d0;
  font-size:10px;
  text-align:right;
}
#fdf-manager .fdf-p15-section-title > small b{ color:#ffffff; }
#fdf-manager .fdf-p15-youth-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
#fdf-manager .fdf-p15-player{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:12px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:13px;
  background:linear-gradient(145deg, rgba(15,38,56,.97), rgba(8,25,40,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#fdf-manager .fdf-p15-player::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:#64748b;
}
#fdf-manager .fdf-p15-player.tier-0::before{ background:linear-gradient(90deg,#64748b,#94a3b8); }
#fdf-manager .fdf-p15-player.tier-1::before{ background:linear-gradient(90deg,#38bdf8,#22d3ee); }
#fdf-manager .fdf-p15-player.tier-2::before{ background:linear-gradient(90deg,#22c55e,#4ade80); }
#fdf-manager .fdf-p15-player.tier-3::before{ background:linear-gradient(90deg,#f59e0b,#fde047); }
#fdf-manager .fdf-p15-player.tier-4::before{ background:linear-gradient(90deg,#ef4444,#f472b6); }
#fdf-manager .fdf-p15-player-top,
#fdf-manager .fdf-p15-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
#fdf-manager .fdf-p15-tier,
#fdf-manager .fdf-p15-role{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  box-sizing:border-box;
  border-radius:999px;
  padding:4px 7px;
  font-size:9px;
  font-weight:900;
  line-height:1;
}
#fdf-manager .fdf-p15-tier{ color:#c9f7d9; border:1px solid rgba(74,222,128,.28); background:rgba(22,101,52,.20); }
#fdf-manager .fdf-p15-role{ color:#dbeafe; border:1px solid rgba(147,197,253,.22); background:rgba(30,64,175,.16); }
#fdf-manager .fdf-p15-role.is-starter{ color:#dcfce7; border-color:rgba(74,222,128,.34); background:rgba(22,101,52,.25); }
#fdf-manager .fdf-p15-role.is-bench{ color:#fef3c7; border-color:rgba(250,204,21,.30); background:rgba(161,98,7,.18); }
#fdf-manager .fdf-p15-role.is-available{ color:#cbd5e1; border-color:rgba(148,163,184,.28); background:rgba(71,85,105,.19); }
#fdf-manager .fdf-p15-player-head{ display:flex; align-items:center; gap:10px; min-width:0; margin:11px 0 10px; }
#fdf-manager .fdf-p15-avatar{
  flex:0 0 auto;
  width:42px;
  height:42px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  color:#dbeafe;
  background:linear-gradient(135deg,#075985,#0f766e);
}
#fdf-manager .fdf-p15-avatar img{ width:100%; height:100%; display:block; object-fit:cover; }
#fdf-manager .fdf-p15-avatar span{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; font-size:18px; }
#fdf-manager .fdf-p15-player-head > div:last-child{ min-width:0; }
#fdf-manager .fdf-p15-player h4{ overflow:hidden; margin:0; color:#fff; font-size:13px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p15-player p{ overflow:hidden; margin:4px 0 0; color:#aec5d4; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p15-player p b{ color:#ffffff; }
#fdf-manager .fdf-p15-projection{
  padding:9px;
  border:1px solid rgba(74,222,128,.16);
  border-radius:10px;
  background:rgba(22,101,52,.10);
}
#fdf-manager .fdf-p15-projection > div:first-child{ display:flex; justify-content:space-between; gap:8px; color:#b6d8c0; font-size:10px; }
#fdf-manager .fdf-p15-projection > div:first-child b{ color:#f0fdf4; font-size:11px; white-space:nowrap; }
#fdf-manager .fdf-p15-projection-track{
  position:relative;
  height:6px;
  overflow:visible;
  margin-top:8px;
  border-radius:999px;
  background:rgba(148,163,184,.24);
}
#fdf-manager .fdf-p15-projection-track i{ position:absolute; left:0; top:0; height:100%; border-radius:999px; background:linear-gradient(90deg,#16a34a,#86efac); }
#fdf-manager .fdf-p15-projection-track em{ position:absolute; top:50%; width:9px; height:9px; border:2px solid #f8fafc; border-radius:50%; background:#0f766e; box-sizing:border-box; transform:translate(-50%,-50%); box-shadow:0 0 0 2px rgba(15,118,110,.22); }
#fdf-manager .fdf-p15-player-notes{ display:flex; justify-content:space-between; gap:8px; margin:10px 0; color:#b8cad7; font-size:10px; }
#fdf-manager .fdf-p15-player-notes b{ color:#e2f5ea; }
#fdf-manager .fdf-p15-plan-label{ display:block; }
#fdf-manager .fdf-p15-plan-label > span{ display:block; margin-bottom:5px; color:#91adc0; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
#fdf-manager .fdf-p15-plan-label select{
  width:100%;
  min-height:33px;
  margin:0;
  border:1px solid rgba(125,211,252,.26);
  border-radius:8px;
  padding:6px 8px;
  color:#eff6ff;
  background:#0c2235;
  font:inherit;
  font-size:10px;
  font-weight:800;
  box-sizing:border-box;
}
#fdf-manager .fdf-p15-card-foot{ min-height:27px; margin-top:8px; }
#fdf-manager .fdf-p15-card-foot small{ color:#91a9ba; font-size:9px; line-height:1.24; }
#fdf-manager .fdf-p15-loan-btn{ flex:0 0 auto; padding:7px 8px; border-color:rgba(196,181,253,.34); background:linear-gradient(135deg,#5b21b6,#7e22ce); font-size:10px; }
#fdf-manager .fdf-p15-prospect-list{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
#fdf-manager .fdf-p15-prospect-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:8px;
  align-items:center;
  padding:9px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:10px;
  background:rgba(15,36,53,.62);
}
#fdf-manager .fdf-p15-prospect-list li > span{ grid-row:1 / span 2; align-self:center; border-radius:7px; padding:5px 6px; color:#dbeafe; background:rgba(30,64,175,.24); font-size:9px; font-weight:950; }
#fdf-manager .fdf-p15-prospect-list li.tier-3 > span{ color:#fef3c7; background:rgba(180,83,9,.25); }
#fdf-manager .fdf-p15-prospect-list li.tier-4 > span{ color:#ffe4ef; background:rgba(190,24,93,.25); }
#fdf-manager .fdf-p15-prospect-list b{ overflow:hidden; color:#f8fafc; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p15-prospect-list small{ overflow:hidden; margin-top:3px; color:#a9bfd0; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p15-prospect-empty,
#fdf-manager .fdf-p15-empty{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px;
  border:1px dashed rgba(148,163,184,.30);
  border-radius:11px;
  color:#a9bfd0;
  background:rgba(15,36,53,.35);
  font-size:11px;
  line-height:1.4;
}
#fdf-manager .fdf-p15-prospect-empty b,
#fdf-manager .fdf-p15-empty b{ color:#f8fafc; }
#fdf-manager .fdf-p15-empty{ grid-column:1 / -1; }
#fdf-manager .fdf-p15-empty > span{ font-size:22px; line-height:1; }
#fdf-manager .fdf-p15-empty small{ display:block; margin-top:3px; color:#a9bfd0; }
#fdf-manager .fdf-p15-prospect-more,
#fdf-manager .fdf-p15-more{ margin-top:10px; color:#8fb1c6; font-size:10px; line-height:1.35; }
#fdf-manager .fdf-p15-aside-note{
  display:grid;
  gap:5px;
  margin-top:12px;
  padding:11px;
  border:1px solid rgba(74,222,128,.18);
  border-radius:10px;
  color:#a9c4b4;
  background:rgba(22,101,52,.10);
  font-size:10px;
  line-height:1.42;
}
#fdf-manager .fdf-p15-aside-note b{ color:#dcfce7; font-size:11px; }
@media (max-width:1000px){
  #fdf-manager .fdf-p15-layout{ grid-template-columns:1fr; }
  #fdf-manager .fdf-p15-prospects{ order:2; }
}
@media (max-width:720px){
  #fdf-manager .fdf-p15-head{ flex-direction:column; }
  #fdf-manager .fdf-p15-head-actions{ width:100%; }
  #fdf-manager .fdf-p15-head-actions button{ flex:1 1 0; }
  #fdf-manager .fdf-p15-metrics{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  #fdf-manager .fdf-p15-youth-grid{ grid-template-columns:1fr; }
}
@media (max-width:460px){
  #fdf-manager .fdf-p15-head{ padding:15px 13px 12px; }
  #fdf-manager .fdf-p15-head h3{ font-size:16px; }
  #fdf-manager .fdf-p15-layout{ padding:10px; gap:10px; }
  #fdf-manager .fdf-p15-squad,
  #fdf-manager .fdf-p15-prospects{ padding:11px; }
  #fdf-manager .fdf-p15-metrics > div{ min-height:69px; padding:11px 12px; }
  #fdf-manager .fdf-p15-metrics b{ font-size:20px; }
  #fdf-manager .fdf-p15-player-notes{ flex-direction:column; gap:3px; }
}

/* ===================================================================
   FDF MANAGER — ORGANIZACIÓN DE PLANTEL
   Subpestañas de Mercado y contratos / Cantera y desarrollo.
   =================================================================== */
#fdf-manager #content-plantel .fdf-plantel-workspace-tab{
  white-space:nowrap;
}
#fdf-manager #content-plantel .fdf-plantel-workspace-panel{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
#fdf-manager #content-plantel .fdf-plantel-workspace-panel > .fdf-p12-dashboard,
#fdf-manager #content-plantel .fdf-plantel-workspace-panel > .fdf-p15-academy{
  margin-top:12px;
}
@media (max-width:720px){
  #fdf-manager #content-plantel .subtabs{
    gap:7px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  #fdf-manager #content-plantel .fdf-plantel-workspace-tab{
    flex:0 0 auto;
  }
}
/* ===================================================================
   FDF MANAGER — FASE 16
   Copas Internacionales.
   =================================================================== */
#fdf-manager .fdf-p16-tab{ white-space:nowrap; }
#fdf-manager .fdf-p16-panel{ width:100%; min-width:0; box-sizing:border-box; }
#fdf-manager .fdf-p16-shell{
  overflow:hidden;
  margin-top:12px;
  border:1px solid rgba(30,64,175,.24);
  border-radius:18px;
  color:#eaf4ff;
  background:linear-gradient(145deg,#071a31 0%,#0b2941 52%,#091827 100%);
  box-shadow:0 16px 34px rgba(2,8,23,.20), inset 0 1px 0 rgba(255,255,255,.05);
}
#fdf-manager .fdf-p16-shell.fdf-p16-gold{ border-color:rgba(245,158,11,.30); background:linear-gradient(145deg,#251706 0%,#3b260a 47%,#102136 100%); }
#fdf-manager .fdf-p16-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 20px 16px;
  background:linear-gradient(115deg,rgba(37,99,235,.30),rgba(14,116,144,.12) 56%,transparent);
  border-bottom:1px solid rgba(186,230,253,.12);
}
#fdf-manager .fdf-p16-gold .fdf-p16-head{ background:linear-gradient(115deg,rgba(217,119,6,.32),rgba(180,83,9,.14) 56%,transparent); }
#fdf-manager .fdf-p16-kicker{ display:block; margin-bottom:5px; color:#8dd9ff; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
#fdf-manager .fdf-p16-gold .fdf-p16-kicker{ color:#fcd34d; }
#fdf-manager .fdf-p16-head h3{ margin:0; color:#fff; font-size:20px; font-weight:950; line-height:1.12; }
#fdf-manager .fdf-p16-head p{ margin:7px 0 0; color:#b9d0df; font-size:12px; line-height:1.4; }
#fdf-manager .fdf-p16-status{ flex:0 0 auto; min-width:132px; padding:10px 12px; border:1px solid rgba(147,197,253,.26); border-radius:12px; background:rgba(2,13,27,.35); text-align:right; }
#fdf-manager .fdf-p16-status b{ display:block; color:#eff6ff; font-size:12px; font-weight:900; }
#fdf-manager .fdf-p16-status small{ display:block; margin-top:4px; color:#a7c2d4; font-size:10px; line-height:1.25; }
#fdf-manager .fdf-p16-notice{ margin:14px 16px 0; padding:10px 12px; border:1px solid rgba(125,211,252,.16); border-radius:11px; color:#b9d9e9; background:rgba(14,116,144,.11); font-size:11px; line-height:1.45; }
#fdf-manager .fdf-p16-action{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 16px; padding:13px; border:1px solid rgba(96,165,250,.24); border-radius:13px; background:rgba(15,44,75,.68); }
#fdf-manager .fdf-p16-action.is-wait{ border-color:rgba(148,163,184,.20); background:rgba(15,36,53,.48); }
#fdf-manager .fdf-p16-action div{ min-width:0; display:grid; gap:4px; }
#fdf-manager .fdf-p16-action b{ color:#f8fafc; font-size:12px; font-weight:900; }
#fdf-manager .fdf-p16-action span{ overflow:hidden; color:#b9cfdc; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p16-play{ flex:0 0 auto; border:1px solid rgba(147,197,253,.45); border-radius:10px; padding:9px 12px; color:#fff; background:linear-gradient(135deg,#2563eb,#0f766e); font-size:11px; font-weight:900; cursor:pointer; box-shadow:0 8px 16px rgba(15,23,42,.22); }
#fdf-manager .fdf-p16-play:hover{ transform:translateY(-1px); filter:brightness(1.06); }
#fdf-manager .fdf-p16-groups{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:2px 16px 16px; }
#fdf-manager .fdf-p16-group{ overflow:hidden; min-width:0; border:1px solid rgba(148,163,184,.19); border-radius:14px; background:rgba(2,16,29,.40); }
#fdf-manager .fdf-p16-group-head{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 11px; color:#e0f2fe; background:rgba(30,64,175,.20); }
#fdf-manager .fdf-p16-group-head span{ font-size:12px; font-weight:950; }
#fdf-manager .fdf-p16-group-head small{ color:#9dbed0; font-size:9px; text-align:right; }
#fdf-manager .fdf-p16-table-wrap{ overflow:auto; width:100%; }
#fdf-manager .fdf-p16-table{ width:100%; min-width:360px; border-collapse:collapse; }
#fdf-manager .fdf-p16-table th{ padding:8px; color:#9dbbcd; background:rgba(15,36,53,.66); border-bottom:1px solid rgba(148,163,184,.15); font-size:9px; font-weight:900; letter-spacing:.05em; text-align:left; text-transform:uppercase; }
#fdf-manager .fdf-p16-table td{ padding:8px; color:#d9e9f4; border-bottom:1px solid rgba(148,163,184,.11); font-size:10px; white-space:nowrap; }
#fdf-manager .fdf-p16-table td:nth-child(1),#fdf-manager .fdf-p16-table td:nth-child(3),#fdf-manager .fdf-p16-table td:nth-child(4),#fdf-manager .fdf-p16-table td:nth-child(5){ text-align:center; }
#fdf-manager .fdf-p16-table td img{ width:18px; height:18px; margin-right:6px; object-fit:contain; vertical-align:middle; }
#fdf-manager .fdf-p16-table td i{ display:inline-flex; width:18px; margin-right:6px; align-items:center; justify-content:center; font-style:normal; vertical-align:middle; }
#fdf-manager .fdf-p16-table tr.is-user td{ color:#fff; background:rgba(14,116,144,.20); }
#fdf-manager .fdf-p16-rounds{ display:grid; gap:8px; padding:10px; }
#fdf-manager .fdf-p16-round{ overflow:hidden; border:1px solid rgba(148,163,184,.14); border-radius:10px; background:rgba(15,36,53,.46); }
#fdf-manager .fdf-p16-round h5{ margin:0; padding:7px 8px; color:#abcce0; border-bottom:1px solid rgba(148,163,184,.11); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
#fdf-manager .fdf-p16-match{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; padding:8px; border-bottom:1px solid rgba(148,163,184,.10); }
#fdf-manager .fdf-p16-match:last-child{ border-bottom:0; }
#fdf-manager .fdf-p16-match > strong{ min-width:34px; color:#fff; font-size:11px; text-align:center; }
#fdf-manager .fdf-p16-match small{ grid-column:1/-1; justify-self:center; color:#9fb8c9; font-size:9px; }
#fdf-manager .fdf-p16-club{ overflow:hidden; display:flex; align-items:center; gap:5px; min-width:0; color:#dbeafe; font-size:10px; }
#fdf-manager .fdf-p16-club.is-away{ justify-content:flex-end; text-align:right; }
#fdf-manager .fdf-p16-club b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#fdf-manager .fdf-p16-club img{ flex:0 0 auto; width:18px; height:18px; object-fit:contain; }
#fdf-manager .fdf-p16-club i{ flex:0 0 auto; color:#86efac; font-size:12px; font-style:normal; }
#fdf-manager .fdf-p16-knockout{ margin:0 16px 14px; padding:13px; border:1px solid rgba(245,158,11,.20); border-radius:13px; background:rgba(120,53,15,.12); }
#fdf-manager .fdf-p16-knockout h4{ margin:0 0 8px; color:#fef3c7; font-size:12px; font-weight:950; }
#fdf-manager .fdf-p16-champion{ display:flex; align-items:center; justify-content:center; gap:12px; margin:0; padding:16px; color:#fffbeb; background:linear-gradient(135deg,rgba(180,83,9,.38),rgba(120,53,15,.16)); border-top:1px solid rgba(253,224,71,.22); }
#fdf-manager .fdf-p16-champion > span{ font-size:30px; }
#fdf-manager .fdf-p16-champion div{ display:grid; gap:2px; }
#fdf-manager .fdf-p16-champion small{ color:#fde68a; font-size:9px; font-weight:900; letter-spacing:.10em; }
#fdf-manager .fdf-p16-champion b{ color:#fff; font-size:15px; font-weight:950; }
#fdf-manager .fdf-p16-champion em{ color:#fcd34d; font-size:10px; font-style:normal; }
#fdf-manager .fdf-p16-forecast{ margin:16px; padding:14px; border:1px solid rgba(148,163,184,.18); border-radius:13px; background:rgba(2,16,29,.34); }
#fdf-manager .fdf-p16-forecast h4{ margin:0 0 10px; color:#e0f2fe; font-size:13px; font-weight:900; }
#fdf-manager .fdf-p16-empty{ padding:14px; border:1px dashed rgba(148,163,184,.28); border-radius:11px; color:#adc5d4; background:rgba(15,36,53,.45); font-size:11px; line-height:1.42; }
@media (max-width:820px){
  #fdf-manager .fdf-p16-groups{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  #fdf-manager .fdf-p16-head{ flex-direction:column; padding:16px 14px 13px; }
  #fdf-manager .fdf-p16-status{ width:100%; text-align:left; box-sizing:border-box; }
  #fdf-manager .fdf-p16-action{ flex-direction:column; align-items:stretch; }
  #fdf-manager .fdf-p16-play{ width:100%; }
  #fdf-manager .fdf-p16-groups{ padding:2px 10px 10px; gap:10px; }
  #fdf-manager .fdf-p16-notice,#fdf-manager .fdf-p16-action,#fdf-manager .fdf-p16-knockout,#fdf-manager .fdf-p16-forecast{ margin-left:10px; margin-right:10px; }
}
/* ===================================================================
   FDF MANAGER — FASE 16.1
   Copas CONMEBOL completas: calendario, fases y cuadros extensos.
   =================================================================== */
#fdf-manager .fdf-p16-lock{
  flex:0 0 auto;
  padding:8px 10px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:10px;
  color:#cbd5e1;
  background:rgba(15,23,42,.38);
  font-size:10px;
  font-weight:850;
  text-align:center;
  white-space:nowrap;
}
#fdf-manager .fdf-p16-summary-cups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 16px 14px;
}
#fdf-manager .fdf-p16-summary-cups span{
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:11px;
  color:#b9d9e9;
  background:rgba(2,16,29,.32);
  font-size:10px;
  line-height:1.35;
}
#fdf-manager .fdf-p16-summary-cups b{
  display:block;
  margin-bottom:2px;
  color:#ffffff;
  font-size:11px;
}
#fdf-manager .fdf-p16-details{
  margin:0 16px 14px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  background:rgba(2,16,29,.30);
}
#fdf-manager .fdf-p16-details > summary{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:0 13px;
  color:#eff6ff;
  background:rgba(15,36,53,.58);
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  list-style:none;
}
#fdf-manager .fdf-p16-details > summary::-webkit-details-marker{ display:none; }
#fdf-manager .fdf-p16-details > summary::before{
  content:'▸';
  display:inline-block;
  margin-right:8px;
  color:#7dd3fc;
  transition:transform .16s ease;
}
#fdf-manager .fdf-p16-details[open] > summary::before{ transform:rotate(90deg); }
#fdf-manager .fdf-p16-comp{ padding:12px; }
#fdf-manager .fdf-p16-format{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  padding:10px 11px;
  border:1px solid rgba(96,165,250,.20);
  border-radius:11px;
  color:#bfd5e6;
  background:rgba(30,64,175,.16);
  font-size:10px;
}
#fdf-manager .fdf-p16-format b{ color:#f8fafc; font-size:12px; }
#fdf-manager .fdf-p16-groups-wrap > h4{
  margin:14px 0 9px;
  color:#e0f2fe;
  font-size:12px;
  font-weight:950;
}
#fdf-manager .fdf-p16-group.is-user-group{
  border-color:rgba(34,211,238,.55);
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.10);
}
#fdf-manager .fdf-p16-ties{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
#fdf-manager .fdf-p16-tie{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.16);
  border-radius:10px;
  background:rgba(2,16,29,.34);
}
#fdf-manager .fdf-p16-tie-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px;
  color:#e0f2fe;
  background:rgba(15,36,53,.52);
  font-size:10px;
}
#fdf-manager .fdf-p16-tie-head b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#fdf-manager .fdf-p16-tie-head small{
  flex:0 0 auto;
  color:#93c5fd;
  font-size:9px;
  text-align:right;
}
#fdf-manager .fdf-p16-single-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.15);
  border-radius:10px;
  background:rgba(2,16,29,.26);
}
#fdf-manager .fdf-p16-single-grid .fdf-p16-match:nth-child(odd){ border-right:1px solid rgba(148,163,184,.10); }
@media (max-width:820px){
  #fdf-manager .fdf-p16-ties{ grid-template-columns:1fr; }
  #fdf-manager .fdf-p16-single-grid{ grid-template-columns:1fr; }
  #fdf-manager .fdf-p16-single-grid .fdf-p16-match:nth-child(odd){ border-right:0; }
}
@media (max-width:560px){
  #fdf-manager .fdf-p16-summary-cups{ grid-template-columns:1fr; margin-left:10px; margin-right:10px; }
  #fdf-manager .fdf-p16-details{ margin-left:10px; margin-right:10px; }
  #fdf-manager .fdf-p16-format{ flex-direction:column; align-items:flex-start; }
  #fdf-manager .fdf-p16-lock{ width:100%; box-sizing:border-box; }
}


/* ===================================================================
   FDF MANAGER — FASE 16.2
   Aviso de partido continental habilitado y badge de Fixture.
   =================================================================== */
#fdf-manager #fdf-fixture-internacional-tab.fdf-p16-ready{
  position:relative;
  color:#ffffff;
  border-color:rgba(74,222,128,.62);
  background:linear-gradient(135deg,rgba(21,128,61,.64),rgba(6,95,70,.54));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 16px rgba(20,83,45,.18);
}
#fdf-manager #fdf-fixture-internacional-tab.fdf-p16-ready::before{
  content:'';
  width:7px;
  height:7px;
  display:inline-block;
  margin-right:6px;
  border-radius:50%;
  background:#86efac;
  box-shadow:0 0 0 4px rgba(134,239,172,.12),0 0 14px rgba(134,239,172,.75);
  vertical-align:middle;
}
.fdf-p16-ready-alert{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2147482000;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:min(460px,calc(100vw - 32px));
  padding:14px;
  box-sizing:border-box;
  border:1px solid rgba(110,231,183,.46);
  border-radius:16px;
  color:#ecfdf5;
  background:linear-gradient(135deg,rgba(5,46,22,.98),rgba(6,78,59,.98));
  box-shadow:0 22px 56px rgba(2,6,23,.44),inset 0 1px 0 rgba(255,255,255,.09);
  animation:fdfP16ReadyIn .24s ease-out both;
}
@keyframes fdfP16ReadyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fdf-p16-ready-alert-icon{
  display:grid;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid rgba(253,224,71,.38);
  border-radius:12px;
  background:rgba(120,53,15,.34);
  font-size:20px;
}
.fdf-p16-ready-alert-copy{min-width:0;display:grid;gap:3px;}
.fdf-p16-ready-alert-copy small{color:#a7f3d0;font-size:9px;font-weight:950;letter-spacing:.09em;}
.fdf-p16-ready-alert-copy strong{overflow:hidden;color:#ffffff;font-size:13px;font-weight:950;text-overflow:ellipsis;white-space:nowrap;}
.fdf-p16-ready-alert-copy span{overflow:hidden;color:#d1fae5;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.fdf-p16-ready-alert-actions{display:flex;align-items:center;gap:7px;}
.fdf-p16-ready-alert-actions button{border:1px solid rgba(187,247,208,.42);border-radius:10px;padding:9px 10px;color:#052e16;background:#bbf7d0;font-size:10px;font-weight:950;cursor:pointer;white-space:nowrap;}
.fdf-p16-ready-alert-actions button:hover{transform:translateY(-1px);filter:brightness(1.04);}
.fdf-p16-ready-alert-actions .is-close{width:29px;padding:7px 0;color:#d1fae5;border-color:rgba(209,250,229,.24);background:rgba(15,23,42,.26);font-size:19px;line-height:1;}
@media (max-width:560px){
  .fdf-p16-ready-alert{right:10px;bottom:10px;grid-template-columns:auto minmax(0,1fr);width:calc(100vw - 20px);gap:9px;padding:11px;}
  .fdf-p16-ready-alert-actions{grid-column:1/-1;justify-content:stretch;}
  .fdf-p16-ready-alert-actions button:first-child{flex:1;}
  .fdf-p16-ready-alert-actions .is-close{flex:0 0 34px;}
}

/* ===================================================================
   FDF MANAGER — FASE 17
   Carrera del DT y Mercado de Técnicos.
   =================================================================== */
#menu-juego .fdf-dt-career-main-tab{display:inline-flex;align-items:center;gap:7px;color:#dbeafe;font-weight:800;}
#menu-juego .fdf-dt-career-main-tab>span:first-child{font-size:15px;filter:saturate(1.15);}
#menu-juego .fdf-dt-career-main-tab.active{border-bottom-color:#38bdf8;color:#fff;}
body.fdf-p17-open{overflow:hidden;}
.fdf-p17-modal{position:fixed;inset:0;z-index:2147482600;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(2,6,23,.82);backdrop-filter:blur(7px);box-sizing:border-box;}
.fdf-p17-shell{width:min(1180px,96vw);max-height:min(92vh,920px);overflow:auto;border:1px solid rgba(148,163,184,.25);border-radius:23px;background:radial-gradient(circle at 86% 1%,rgba(56,189,248,.15),transparent 27%),radial-gradient(circle at 5% 18%,rgba(34,197,94,.12),transparent 31%),linear-gradient(160deg,#071a30 0%,#091b36 46%,#111937 100%);box-shadow:0 28px 100px rgba(0,0,0,.56);color:#e5eefc;}
.fdf-p17-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 27px 19px;border-bottom:1px solid rgba(148,163,184,.17);}
.fdf-p17-kicker{display:block;margin-bottom:5px;color:#7dd3fc;font-size:10px;font-weight:950;letter-spacing:.13em;}
.fdf-p17-head h3{margin:0;color:#fff;font-size:clamp(22px,2.8vw,32px);line-height:1.12;}
.fdf-p17-head p{margin:8px 0 0;color:#b6c8df;font-size:13px;line-height:1.45;max-width:790px;}
.fdf-p17-close{width:35px;height:35px;flex:0 0 auto;border:1px solid rgba(148,163,184,.34);border-radius:10px;background:#10233f;color:#e5eefc;font-size:25px;line-height:1;cursor:pointer;}
.fdf-p17-close:hover{background:#17365f;color:#fff;}
.fdf-p17-hero{display:grid;grid-template-columns:minmax(280px,1.65fr) minmax(130px,.55fr) minmax(150px,.65fr);gap:12px;margin:20px 24px 0;padding:17px;border:1px solid rgba(56,189,248,.26);border-radius:17px;background:linear-gradient(110deg,rgba(6,40,69,.92),rgba(10,36,68,.74));}
.fdf-p17-hero.is-unemployed{border-color:rgba(251,146,60,.42);background:linear-gradient(110deg,rgba(74,35,16,.78),rgba(37,28,55,.82));}
.fdf-p17-hero-club{display:flex;align-items:center;gap:13px;min-width:0;padding:4px 6px;}
.fdf-p17-hero-club>span{display:flex;width:47px;height:47px;align-items:center;justify-content:center;border-radius:14px;background:rgba(125,211,252,.14);font-size:24px;}
.fdf-p17-hero-club small,.fdf-p17-score small,.fdf-p17-card-title small,.fdf-p17-section-head small{display:block;color:#8fb0d3;font-size:10px;font-weight:900;letter-spacing:.1em;}
.fdf-p17-hero-club h4{margin:4px 0 2px;color:#fff;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fdf-p17-hero-club p{margin:0;color:#b8cae1;font-size:12px;}
.fdf-p17-score{display:flex;flex-direction:column;justify-content:center;padding:4px 12px;border-left:1px solid rgba(148,163,184,.15);}
.fdf-p17-score b{margin:2px 0;color:#f8fafc;font-size:27px;line-height:1;}
.fdf-p17-score span{color:#bcd0e9;font-size:11px;}
.fdf-p17-inline-note{margin:13px 24px 0;padding:10px 13px;border:1px solid rgba(56,189,248,.3);border-radius:11px;background:rgba(14,116,144,.15);color:#d9efff;font-size:13px;}
.fdf-p17-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:15px;margin:15px 24px;}
.fdf-p17-card,.fdf-p17-section{border:1px solid rgba(148,163,184,.2);border-radius:16px;background:rgba(3,21,43,.57);}
.fdf-p17-card{padding:17px;}
.fdf-p17-card-title,.fdf-p17-section-head>div:first-child{display:flex;align-items:center;gap:10px;}
.fdf-p17-card-title>span,.fdf-p17-section-head>div:first-child>span{display:flex;width:31px;height:31px;align-items:center;justify-content:center;border-radius:10px;background:rgba(56,189,248,.13);font-size:16px;}
.fdf-p17-card-title h4,.fdf-p17-section-head h4{margin:2px 0 0;color:#fff;font-size:16px;}
.fdf-p17-objective p{min-height:36px;margin:12px 0 9px;color:#c7d5e8;font-size:12px;line-height:1.45;}
.fdf-p17-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;color:#a8c0dd;font-size:11px;}
.fdf-p17-progress-meta b{color:#fff;}
.fdf-p17-progress{height:8px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.18);}
.fdf-p17-progress i{display:block;height:100%;border-radius:inherit;background:#38bdf8;}
.fdf-p17-progress.is-success i{background:#34d399;}.fdf-p17-progress.is-warning i{background:#fbbf24;}.fdf-p17-progress.is-danger i{background:#fb7185;}
.fdf-p17-objective>small{display:block;margin-top:8px;color:#8faac8;font-size:11px;}
.fdf-p17-contract-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0;}
.fdf-p17-contract-rows>div{padding:9px;border-radius:10px;background:rgba(30,58,104,.36);}
.fdf-p17-contract-rows span{display:block;color:#8fa9c7;font-size:10px;}.fdf-p17-contract-rows b{display:block;margin-top:3px;color:#fff;font-size:14px;}
.fdf-p17-wide-btn,.fdf-p17-section-head button,.fdf-p17-actions button,.fdf-p17-vacancy-bottom button,.fdf-p17-footer button,.fdf-p17-season-notice button{border:1px solid rgba(148,163,184,.34);border-radius:9px;background:#122c4f;color:#e9f3ff;font-weight:850;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.fdf-p17-wide-btn:hover,.fdf-p17-section-head button:hover,.fdf-p17-actions button:hover,.fdf-p17-vacancy-bottom button:hover,.fdf-p17-footer button:hover,.fdf-p17-season-notice button:hover{transform:translateY(-1px);background:#1a477a;border-color:#60a5fa;}
.fdf-p17-wide-btn{width:100%;padding:9px 11px;background:linear-gradient(135deg,#047857,#0891b2);border-color:rgba(94,234,212,.42);color:#f0fdfa;}
.fdf-p17-note{margin:11px 0 0;color:#8faac8;font-size:11px;line-height:1.45;}
.fdf-p17-section{margin:15px 24px;padding:17px;}
.fdf-p17-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px;}
.fdf-p17-section-head button{padding:8px 11px;font-size:11px;}.fdf-p17-pill{padding:6px 9px;border-radius:999px;background:rgba(56,189,248,.12);color:#bae6fd;font-size:11px;font-weight:850;}
.fdf-p17-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:10px;}
.fdf-p17-offer-card{padding:13px;border:1px solid rgba(45,212,191,.27);border-radius:13px;background:linear-gradient(145deg,rgba(6,78,59,.24),rgba(12,32,61,.6));}
.fdf-p17-offer-top{display:flex;gap:10px;}.fdf-p17-offer-top>span,.fdf-p17-vacancy-main>span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;flex:0 0 auto;border-radius:10px;background:rgba(255,255,255,.08);font-size:17px;}.fdf-p17-offer-top small,.fdf-p17-vacancy-main small{display:block;color:#8ee5d0;font-size:9px;font-weight:950;letter-spacing:.1em;}.fdf-p17-offer-top h4,.fdf-p17-vacancy-main h4{margin:2px 0;color:#fff;font-size:15px;}.fdf-p17-offer-top p,.fdf-p17-vacancy-main p{margin:2px 0 0;color:#b9cde1;font-size:11px;}
.fdf-p17-offer-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;color:#bed0e5;font-size:11px;}.fdf-p17-offer-meta span{padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.06);}.fdf-p17-offer-meta b{color:#fff;}
.fdf-p17-actions{display:flex;gap:8px;}.fdf-p17-actions button{flex:1;padding:8px 7px;font-size:11px;}.fdf-p17-actions .primary{background:#059669;border-color:#34d399;color:#ecfdf5;}
.fdf-p17-vacancies{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:10px;}.fdf-p17-vacancy-card{padding:13px;border:1px solid rgba(96,165,250,.23);border-radius:13px;background:rgba(13,35,68,.62);}.fdf-p17-vacancy-main{display:flex;gap:10px;min-width:0;}.fdf-p17-vacancy-side{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:11px 0 8px;padding:8px;border-radius:9px;background:rgba(15,23,42,.56);color:#d9e7f8;font-size:11px;}.fdf-p17-vacancy-side b{color:#fff;}.fdf-p17-vacancy-side small{color:#9eb9d7;}.fdf-p17-vacancy-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#b9cae2;font-size:11px;}.fdf-p17-vacancy-bottom b{color:#f8fafc;}.fdf-p17-vacancy-bottom button{padding:7px 9px;font-size:11px;}.fdf-p17-vacancy-bottom button:disabled{opacity:.52;cursor:not-allowed;transform:none;background:#1e293b;}
.fdf-p17-history{display:grid;gap:7px;}.fdf-p17-history-row{display:grid;grid-template-columns:48px 1fr 36px;align-items:center;gap:10px;padding:9px;border-radius:10px;background:rgba(15,23,42,.52);border-left:3px solid #94a3b8;}.fdf-p17-history-row.is-met{border-left-color:#34d399;}.fdf-p17-history-row.is-failed{border-left-color:#fb7185;}.fdf-p17-history-row>span{color:#9fb7d4;font-size:11px;font-weight:900;}.fdf-p17-history-row b{display:block;color:#eff6ff;font-size:12px;}.fdf-p17-history-row small{display:block;margin-top:2px;color:#a8bdd6;font-size:11px;}.fdf-p17-history-row em{justify-self:end;color:#7dd3fc;font-size:14px;font-style:normal;font-weight:950;}
.fdf-p17-empty{margin:0;padding:13px;border:1px dashed rgba(148,163,184,.27);border-radius:11px;color:#9eb5d0;font-size:12px;line-height:1.45;}.fdf-p17-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:15px 24px;border-top:1px solid rgba(148,163,184,.16);color:#9fb5cf;font-size:11px;line-height:1.45;}.fdf-p17-footer button{padding:8px 12px;flex:0 0 auto;}
.fdf-p17-season-notice{position:fixed;right:18px;bottom:18px;z-index:2147482400;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:min(520px,calc(100vw - 36px));padding:13px 14px;border:1px solid rgba(96,165,250,.38);border-radius:15px;background:linear-gradient(130deg,#09264b,#101d43);box-shadow:0 18px 44px rgba(0,0,0,.38);color:#eff6ff;}.fdf-p17-season-notice>div:first-child{display:flex;gap:11px;align-items:flex-start;}.fdf-p17-season-notice>div:first-child>span{font-size:20px;}.fdf-p17-season-notice small{display:block;color:#93c5fd;font-size:9px;font-weight:950;letter-spacing:.1em;}.fdf-p17-season-notice b{display:block;margin-top:2px;color:#fff;font-size:13px;}.fdf-p17-season-notice p{margin:3px 0 0;color:#c7d8ee;font-size:11px;line-height:1.35;}.fdf-p17-season-notice>div:last-child{display:flex;gap:6px;align-items:center;}.fdf-p17-season-notice button{padding:7px 8px;font-size:10px;white-space:nowrap;}.fdf-p17-season-notice button:last-child{width:27px;padding:6px;background:#14213e;font-size:17px;line-height:1;}.fdf-p17-season-notice.is-success{border-color:rgba(52,211,153,.48);}.fdf-p17-season-notice.is-danger{border-color:rgba(251,113,133,.52);}
@media(max-width:800px){.fdf-p17-modal{padding:10px;}.fdf-p17-head{padding:19px 17px 16px;}.fdf-p17-hero{grid-template-columns:1fr 1fr;margin:14px 16px 0;}.fdf-p17-hero-club{grid-column:1/-1;}.fdf-p17-score{border-left:0;border-top:1px solid rgba(148,163,184,.14);}.fdf-p17-grid{grid-template-columns:1fr;margin:12px 16px;}.fdf-p17-section{margin:12px 16px;padding:14px;}.fdf-p17-footer{padding:14px 16px;}.fdf-p17-head h3{font-size:23px;}.fdf-p17-contract-rows{grid-template-columns:repeat(3,1fr);}.fdf-p17-season-notice{right:10px;bottom:10px;max-width:calc(100vw - 20px);}}
@media(max-width:520px){.fdf-p17-hero{grid-template-columns:1fr;}.fdf-p17-score{border-top:1px solid rgba(148,163,184,.14);}.fdf-p17-section-head{align-items:flex-start;}.fdf-p17-section-head button{font-size:10px;}.fdf-p17-vacancy-bottom{align-items:flex-start;flex-direction:column;}.fdf-p17-vacancy-bottom button{width:100%;}.fdf-p17-footer{align-items:flex-start;flex-direction:column;}.fdf-p17-footer button{width:100%;}.fdf-p17-season-notice{align-items:flex-start;flex-direction:column;}.fdf-p17-season-notice>div:last-child{width:100%;}.fdf-p17-season-notice>div:last-child button:first-child{flex:1;}.fdf-p17-contract-rows{grid-template-columns:1fr 1fr;}}


/* FDF MANAGER — FASE 17.2: Mercado de técnicos realista */

.fdf-p17-section-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.fdf-p17-market-policy{margin:-2px 0 13px;padding:9px 11px;border:1px solid rgba(125,211,252,.19);border-radius:10px;background:rgba(14,116,144,.10);color:#bcd5eb;font-size:11px;line-height:1.45;}
.fdf-p17-section-buttons button:disabled{opacity:.48;cursor:not-allowed;transform:none;background:#1e293b;border-color:rgba(148,163,184,.18);}
@media(max-width:520px){.fdf-p17-section-buttons{width:100%;justify-content:stretch;}.fdf-p17-section-buttons button{flex:1;}}

/* ===================================================================
   FDF MANAGER — FASE 18
   Pizarra táctica visual / Plan previo estético.
   Capa de presentación: no modifica la mecánica ni la persistencia.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18{
  padding:16px;
  border-color:rgba(94,234,212,.24);
  background:
    radial-gradient(110% 88% at 98% -16%, rgba(22,163,74,.16), transparent 44%),
    radial-gradient(76% 66% at -7% 104%, rgba(14,165,233,.17), transparent 48%),
    linear-gradient(145deg,#06172b 0%,#071f36 48%,#061727 100%);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .tacticas-wrapper{
  grid-template-columns:minmax(248px,.64fr) minmax(0,1.56fr) minmax(212px,.58fr) !important;
  align-items:stretch !important;
  gap:14px !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .plantel-tacticas,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .cancha-container,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel{
  min-width:0;
  border-color:rgba(125,211,252,.23);
  background:linear-gradient(155deg,rgba(8,31,54,.97),rgba(5,20,37,.985));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 16px 30px rgba(2,6,23,.18);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .plantel-tacticas{
  padding:12px !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .cancha-container{
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
  padding:13px !important;
  background:
    radial-gradient(118% 48% at 50% -8%, rgba(147,197,253,.13), transparent 60%),
    radial-gradient(110% 44% at 50% 112%, rgba(34,197,94,.10), transparent 62%),
    linear-gradient(160deg,rgba(10,38,64,.98),rgba(5,20,37,.99));
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .cancha-container::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.45;
  background:
    repeating-radial-gradient(ellipse at 50% -26%, rgba(191,219,254,.12) 0 1px, transparent 1px 18px),
    linear-gradient(90deg,transparent,rgba(125,211,252,.07),transparent);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .cancha-container > *{
  position:relative;
  z-index:1;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #select-tactica,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #select-estilo{
  min-height:42px;
  margin-bottom:9px;
  border-color:rgba(125,211,252,.33);
  border-radius:11px;
  color:#f0f9ff;
  background:rgba(3,17,32,.78);
  font-weight:850;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #shift-buttons{
  order:1;
  display:flex !important;
  justify-content:center;
  gap:8px !important;
  margin:8px 0 13px !important;
  padding:0;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #shift-buttons button{
  min-width:106px;
  min-height:38px;
  padding:9px 11px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:900 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 14px rgba(2,6,23,.20) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #btn-borrar-equipo-tacticas{
  background:linear-gradient(135deg,#5b6674,#7c8796) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas{
  order:2;
  position:relative !important;
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column-reverse !important;
  justify-content:space-evenly !important;
  align-items:stretch !important;
  min-height:clamp(500px,48vw,700px) !important;
  margin:0 !important;
  padding:clamp(28px,3.6vw,50px) clamp(24px,3.2vw,48px) !important;
  gap:clamp(14px,2vw,28px) !important;
  overflow:hidden !important;
  border:1px solid rgba(220,252,231,.72) !important;
  border-radius:18px !important;
  background:
    radial-gradient(ellipse 15% 13% at 50% 50%, transparent 0 76%, rgba(240,253,244,.58) 77% 79%, transparent 80%),
    linear-gradient(180deg,transparent 0 49.75%,rgba(240,253,244,.62) 49.75% 50.25%,transparent 50.25% 100%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0 9%,rgba(0,0,0,.025) 9% 18%),
    radial-gradient(110% 56% at 50% -14%,rgba(190,242,100,.24),transparent 57%),
    linear-gradient(180deg,#1b7136 0%,#207a3a 48%,#145e30 100%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.20),
    inset 0 18px 42px rgba(236,253,245,.08),
    inset 0 -26px 40px rgba(1,34,18,.24),
    0 18px 32px rgba(2,6,23,.30) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas::before,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas::after{
  z-index:1;
  left:50% !important;
  width:42% !important;
  height:14% !important;
  transform:translateX(-50%) !important;
  border-color:rgba(240,253,244,.56) !important;
  box-shadow:none !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas::before{
  top:0 !important;
  bottom:auto !important;
  border-top:0 !important;
  border-radius:0 0 17px 17px !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas::after{
  top:auto !important;
  right:auto !important;
  bottom:0 !important;
  border-bottom:0 !important;
  border-radius:17px 17px 0 0 !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .fila{
  position:relative;
  z-index:2;
  width:100% !important;
  min-height:108px;
  margin:0 !important;
  gap:clamp(10px,2.2vw,42px) !important;
  justify-content:space-evenly !important;
  transition:transform .38s ease-in-out;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .fila:first-of-type{
  justify-content:center !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .posicion{
  width:clamp(82px,7.2vw,108px) !important;
  height:112px !important;
  min-height:112px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:12px !important;
  background:transparent !important;
  box-shadow:none !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .posicion:not(.ocupada){
  border:2px dashed rgba(56,189,248,.64) !important;
  background:rgba(220,252,231,.12) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .posicion.ocupada{
  background:transparent !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-drop{
  width:100% !important;
  height:auto !important;
  min-height:108px;
  justify-content:flex-start !important;
  gap:4px !important;
  padding:0 !important;
  overflow:visible !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop{
  width:clamp(48px,4.8vw,66px) !important;
  height:clamp(48px,4.8vw,66px) !important;
  flex:0 0 auto;
  overflow:visible !important;
  border:3px solid rgba(255,255,255,.88) !important;
  border-radius:50% !important;
  background-color:#103a2d !important;
  background-position:center !important;
  background-size:cover !important;
  box-shadow:0 7px 16px rgba(2,6,23,.42),0 0 0 3px rgba(15,92,53,.52) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-tactics-player-img,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-wc-avatar-v12-img,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-wc-avatar-v13-img,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-wc-silhouette-img{
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-drop span{
  max-width:112px !important;
  padding:4px 7px !important;
  overflow:hidden !important;
  border:1px solid rgba(148,163,184,.22);
  border-radius:7px;
  color:#f8fafc !important;
  background:rgba(2,15,29,.80);
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
  line-height:1.05 !important;
  text-overflow:ellipsis;
  text-shadow:none !important;
  white-space:nowrap;
  box-shadow:0 4px 8px rgba(2,6,23,.24);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-ovr-inline{
  padding:2px 6px;
  border-radius:999px;
  color:#d1fae5 !important;
  background:rgba(6,78,59,.82);
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-shadow:none !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18[data-fdf-tactics-mode="worldcup"] #cancha-tacticas .jugador-img-drop{
  background-color:#07121f !important;
  box-shadow:0 7px 16px rgba(2,6,23,.44),0 0 0 3px rgba(30,64,175,.55) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes{
  order:3;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px !important;
  margin:12px 0 0 !important;
  padding:11px !important;
  border-color:rgba(125,211,252,.24) !important;
  border-radius:13px !important;
  background:rgba(2,16,29,.58) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes::before{
  grid-column:1 / -1;
  margin:0 0 2px !important;
  color:#bfe9ff;
  letter-spacing:.11em;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .posicion-suplente{
  width:auto !important;
  min-width:0 !important;
  min-height:84px !important;
  height:84px !important;
  margin:0 !important;
  border-color:rgba(125,211,252,.30) !important;
  border-radius:10px !important;
  background:linear-gradient(145deg,rgba(13,43,70,.92),rgba(6,23,41,.96)) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .posicion-suplente.ocupada{
  border-color:rgba(74,222,128,.43) !important;
  background:linear-gradient(145deg,rgba(14,82,57,.79),rgba(5,37,39,.92)) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-drop{
  min-width:0;
  gap:3px !important;
  padding:4px !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-img-drop{
  width:35px !important;
  height:35px !important;
  border:2px solid rgba(255,255,255,.86) !important;
  background-position:center !important;
  background-size:cover !important;
  box-shadow:0 4px 9px rgba(2,6,23,.35) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-drop span{
  max-width:100% !important;
  overflow:hidden !important;
  color:#f8fafc !important;
  font-size:9px !important;
  font-weight:850 !important;
  text-overflow:ellipsis;
  text-shadow:none !important;
  white-space:nowrap;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-ovr-inline{
  color:#bbf7d0 !important;
  font-size:8px !important;
  text-shadow:none !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel{
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:15px;
  overflow:hidden;
  border:1px solid rgba(125,211,252,.24);
  border-radius:16px;
  color:#eaf4ff;
  background:
    radial-gradient(105% 42% at 0 0,rgba(34,197,94,.12),transparent 55%),
    linear-gradient(160deg,rgba(11,36,60,.98),rgba(5,20,37,.99));
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-kicker span{
  color:#7dd3fc;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-kicker b{
  padding:4px 6px;
  border:1px solid rgba(134,239,172,.30);
  border-radius:999px;
  color:#bbf7d0;
  background:rgba(22,101,52,.22);
  font-size:8px;
  font-weight:950;
  white-space:nowrap;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel h3{
  margin:0;
  color:#ffffff;
  font-size:17px;
  font-weight:950;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-copy{
  margin:-5px 0 0;
  color:#a9c3d7;
  font-size:10px;
  line-height:1.42;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-identity,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-status{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-identity > div,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-status > span{
  min-width:0;
  padding:9px;
  border:1px solid rgba(148,163,184,.17);
  border-radius:10px;
  background:rgba(2,14,28,.44);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-identity small{
  display:block;
  color:#92b4cf;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-identity b{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#ffffff;
  font-size:12px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-status > span{
  color:#a9c5da;
  font-size:9px;
  line-height:1.28;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-status b{
  display:block;
  color:#f8fafc;
  font-size:16px;
  line-height:1;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meters{
  display:grid;
  gap:8px;
  padding-top:2px;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter{
  padding-bottom:8px;
  border-bottom:1px solid rgba(148,163,184,.13);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter:last-child{ border-bottom:0; padding-bottom:0; }
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter > div{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter b{
  color:#eef7ff;
  font-size:10px;
  font-weight:850;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter span{
  color:#a7f3d0;
  font-size:9px;
  font-weight:900;
  text-align:right;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter em{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:3px;
  font-style:normal;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter em i{
  height:6px;
  border-radius:999px;
  background:rgba(148,163,184,.19);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-meter em i.is-on{
  background:linear-gradient(90deg,#38bdf8,#34d399);
  box-shadow:0 1px 5px rgba(52,211,153,.24);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-note{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin-top:auto;
  padding:9px;
  border:1px solid rgba(96,165,250,.16);
  border-radius:10px;
  color:#abc4d6;
  background:rgba(14,116,144,.08);
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-note > span{
  color:#7dd3fc;
  font-size:12px;
  line-height:1;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-note p{
  margin:0;
  font-size:9px;
  line-height:1.42;
}
@media (max-width:1240px){
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .tacticas-wrapper{
    grid-template-columns:minmax(242px,.72fr) minmax(0,1.28fr) !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel{
    grid-column:2;
  }
}
@media (max-width:980px){
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .tacticas-wrapper{
    grid-template-columns:1fr !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel{
    grid-column:auto;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas{
    min-height:clamp(430px,82vw,620px) !important;
    padding:28px 20px !important;
  }
}
@media (max-width:620px){
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18{
    padding:9px;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #shift-buttons{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #shift-buttons button:last-child{
    grid-column:1 / -1;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas{
    min-height:420px !important;
    padding:21px 7px !important;
    gap:9px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .fila{
    min-height:89px;
    gap:4px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .posicion{
    width:clamp(58px,17vw,74px) !important;
    height:91px !important;
    min-height:91px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-drop{
    min-height:88px;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop{
    width:38px !important;
    height:38px !important;
    border-width:2px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-drop span{
    max-width:72px !important;
    padding:3px 4px !important;
    font-size:8px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-ovr-inline{
    padding:1px 4px;
    font-size:7px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .posicion-suplente{
    height:76px !important;
    min-height:76px !important;
  }
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-panel{
    padding:13px;
  }
}
@media (prefers-reduced-motion:reduce){
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .fila,
  #fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #shift-buttons button{
    transition:none !important;
  }
}

/* Fase 18 — orden y estilo del bloque de pelotas quietas dentro del nuevo plan visual. */
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar{
  order:3;
  display:flex !important;
  gap:9px !important;
  margin:12px 0 0 !important;
  padding:10px !important;
  border-color:rgba(125,211,252,.23) !important;
  border-radius:12px !important;
  color:#dceeff !important;
  background:rgba(2,16,29,.56) !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar > div,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar > div[style*="opacity"]{
  color:#b9d2e5 !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar select,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar #fdf-setpiece-fk,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #fdf-setpieces-bar #fdf-setpiece-pk{
  margin:0 !important;
  border-color:rgba(125,211,252,.28) !important;
  color:#f0f9ff !important;
  background:#071b2f !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes{ order:4; }


/* ===================================================================
   FDF MANAGER — FASE 18.16
   Columna central real: cancha entre Plantel y Plan Previo.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1816-active{
  --fdf-tactics-pitch-max:720px;
  --fdf-tactics-pitch-h:clamp(500px,58vh,620px);
}
#fdf-manager #content-tacticas.fdf-f1816-active .tacticas-wrapper{
  display:grid!important;
  grid-template-columns:minmax(300px,360px) minmax(560px,760px) minmax(230px,300px)!important;
  align-items:start!important;
  justify-content:center!important;
  gap:14px!important;
  grid-auto-flow:row!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .plantel-tacticas{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  overflow:hidden!important;
  min-height:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .cancha-container.fdf-f1816-central{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:760px!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-tactics-director-panel,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-t18-side-panel,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-t183-side-panel,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f187-side-panel{
  grid-column:3!important;
  grid-row:1!important;
  align-self:start!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-controls,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-buttons,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-stack{
  width:min(100%,var(--fdf-tactics-pitch-max))!important;
  max-width:var(--fdf-tactics-pitch-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-controls{
  order:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-end!important;
  padding:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-form-block{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  width:min(100%,430px)!important;
  max-width:430px!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-form-block label{
  color:#9edcff!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  margin:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #select-tactica{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid rgba(125,211,252,.34)!important;
  border-radius:10px!important;
  color:#f0f9ff!important;
  background:rgba(3,17,32,.82)!important;
  font-weight:850!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #select-estilo,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-hidden-style,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-hidden-style *{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  max-width:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-buttons{
  order:1!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  padding:0!important;
  margin-top:0!important;
  margin-bottom:2px!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-buttons #shift-buttons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-buttons #shift-buttons button{
  min-width:118px!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:900!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-stack{
  order:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-width:0!important;
  margin-top:0!important;
  padding:0!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #cancha-tacticas{
  order:0!important;
  flex:0 0 auto!important;
  width:min(100%,var(--fdf-tactics-pitch-max))!important;
  max-width:var(--fdf-tactics-pitch-max)!important;
  height:var(--fdf-tactics-pitch-h)!important;
  min-height:0!important;
  max-height:620px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #banco-suplentes{
  order:1!important;
  width:min(100%,var(--fdf-tactics-pitch-max))!important;
  max-width:var(--fdf-tactics-pitch-max)!important;
  margin:0 auto!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #banco-suplentes::before{
  content:'BANCO DE SUPLENTES'!important;
  grid-column:1/-1!important;
  color:#bfe8ff!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active #fdf-setpieces-bar{
  order:2!important;
  width:min(100%,var(--fdf-tactics-pitch-max))!important;
  max-width:var(--fdf-tactics-pitch-max)!important;
  margin:0 auto!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-hidden-residue,
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-stray-bench-title{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  min-height:0!important;
  width:0!important;
  max-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-row5{
  width:100%!important;
  max-width:100%!important;
  gap:4px!important;
  justify-content:space-between!important;
  box-sizing:border-box!important;
  padding-left:2px!important;
  padding-right:2px!important;
}
#fdf-manager #content-tacticas.fdf-f1816-active .fdf-f1816-row5 .posicion{
  width:clamp(54px,5.1vw,72px)!important;
  max-width:72px!important;
  min-width:0!important;
  flex:0 1 clamp(54px,5.1vw,72px)!important;
  height:78px!important;
  min-height:78px!important;
  box-sizing:border-box!important;
}
@media (max-width:1280px){
  #fdf-manager #content-tacticas.fdf-f1816-active .tacticas-wrapper{grid-template-columns:minmax(285px,350px) minmax(520px,760px)!important;}
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-tactics-director-panel,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-t18-side-panel,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-t183-side-panel,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-f187-side-panel{grid-column:2!important;grid-row:2!important;justify-self:center!important;width:min(100%,var(--fdf-tactics-pitch-max))!important;max-width:var(--fdf-tactics-pitch-max)!important;}
}
@media (max-width:980px){
  #fdf-manager #content-tacticas.fdf-f1816-active .tacticas-wrapper{grid-template-columns:1fr!important;}
  #fdf-manager #content-tacticas.fdf-f1816-active .plantel-tacticas,
  #fdf-manager #content-tacticas.fdf-f1816-active .cancha-container.fdf-f1816-central,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-tactics-director-panel,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-t18-side-panel,
  #fdf-manager #content-tacticas.fdf-f1816-active .fdf-t183-side-panel{grid-column:1!important;grid-row:auto!important;justify-self:stretch!important;}
}


/* ===================================================================
   FDF MANAGER — FASE 18.21
   Refuerzo estable basado en 18.17: cancha central vertical y sin tintineo.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1817-active{--fdf1817-pitch-max:720px;--fdf1817-pitch-h:clamp(660px,72vh,780px);}
#fdf-manager #content-tacticas.fdf-f1817-active .tacticas-wrapper{display:grid!important;grid-template-columns:minmax(300px,360px) minmax(560px,780px) minmax(245px,315px)!important;grid-template-rows:auto!important;align-items:start!important;justify-content:center!important;gap:14px!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .cancha-container.fdf-f1817-central{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;max-width:780px!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-stack{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:min(100%,var(--fdf1817-pitch-max))!important;max-width:var(--fdf1817-pitch-max)!important;margin:0 auto!important;padding:0!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{display:flex!important;flex-direction:column-reverse!important;justify-content:space-between!important;align-items:stretch!important;width:100%!important;max-width:var(--fdf1817-pitch-max)!important;height:var(--fdf1817-pitch-h)!important;min-height:560px!important;max-height:780px!important;margin:0 auto!important;overflow:hidden!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #banco-suplentes{display:grid!important;grid-template-columns:repeat(5,minmax(86px,1fr))!important;gap:10px!important;width:100%!important;max-width:var(--fdf1817-pitch-max)!important;margin:0 auto!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #banco-suplentes::before{content:"BANCO DE SUPLENTES"!important;grid-column:1/-1!important;color:#bfe8ff!important;font-size:10px!important;font-weight:950!important;letter-spacing:.10em!important;text-transform:uppercase!important;margin:0 0 -2px!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #fdf-setpieces-bar{width:100%!important;max-width:var(--fdf1817-pitch-max)!important;margin:0 auto!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-hide{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important;min-height:0!important;width:0!important;max-width:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;pointer-events:none!important;}


/* ===================================================================
   FDF MANAGER — FASE 18.21 override final
   Mantiene el layout correcto de 18.17, elimina tintineo y recupera cancha vertical.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1817-active{
  --fdf1817-pitch-max:720px!important;
  --fdf1817-pitch-h:clamp(660px,72vh,780px)!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active .cancha-container.fdf-f1817-central{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:760px!important;
  overflow:visible!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-controls{order:0!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-buttons{order:1!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-stack{order:2!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{
  order:0!important;
  width:100%!important;
  max-width:720px!important;
  height:var(--fdf1817-pitch-h)!important;
  min-height:560px!important;
  max-height:780px!important;
  margin:0 auto!important;
  overflow:hidden!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #banco-suplentes{order:1!important;}
#fdf-manager #content-tacticas.fdf-f1817-active #fdf-setpieces-bar{order:2!important;}
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-plantel,
#fdf-manager #content-tacticas.fdf-f1817-active .plantel-tacticas{
  overflow:hidden!important;
  min-height:0!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #lista-plantel-tacticas{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
}
@media(max-width:1280px){
  #fdf-manager #content-tacticas.fdf-f1817-active{--fdf1817-pitch-max:680px!important;--fdf1817-pitch-h:clamp(620px,72vh,740px)!important;}
  #fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{max-width:680px!important;min-height:540px!important;max-height:740px!important;}
}
@media(max-width:980px){
  #fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{height:clamp(560px,76vh,700px)!important;min-height:520px!important;}
}


/* ===================================================================
   FDF MANAGER — FASE 18.22
   Tácticas: cancha real vertical, botones con color y contador oculto.
   Refuerzo CSS; la lógica equivalente está en fdf-manager.js.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1817-active{
  --fdf1817-pitch-max:620px!important;
  --fdf1817-pitch-h:clamp(720px,78vh,840px)!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active .tacticas-wrapper{
  grid-template-columns:minmax(300px,360px) minmax(520px,680px) minmax(245px,315px)!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active .cancha-container.fdf-f1817-central{
  max-width:680px!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{
  max-width:var(--fdf1817-pitch-max)!important;
  height:var(--fdf1817-pitch-h)!important;
  min-height:700px!important;
  max-height:840px!important;
  border-radius:18px!important;
  padding:clamp(42px,5vh,66px) clamp(26px,4vw,52px)!important;
  background:
    linear-gradient(180deg, transparent 0 49.75%, rgba(255,255,255,.52) 49.75% 50.25%, transparent 50.25% 100%),
    radial-gradient(circle at 50% 50%, transparent 0 9.2%, rgba(255,255,255,.46) 9.2% 10%, transparent 10% 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 10%, rgba(255,255,255,0) 10% 20%),
    linear-gradient(180deg,#3fa154 0%,#257f3d 50%,#176b33 100%)!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas::before,
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  width:42%!important;
  height:13%!important;
  transform:translateX(-50%)!important;
  border:2px solid rgba(255,255,255,.58)!important;
  pointer-events:none!important;
  z-index:1!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas::before{
  top:0!important;
  border-top:0!important;
  border-radius:0 0 16px 16px!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas::after{
  bottom:0!important;
  top:auto!important;
  border-bottom:0!important;
  border-radius:16px 16px 0 0!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas .fila{
  position:relative!important;
  z-index:2!important;
}
#fdf-manager #content-tacticas #contador-jugadores{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="defensivo"]{
  background:linear-gradient(135deg,#b91c1c,#ef4444)!important;
  border-color:rgba(248,113,113,.75)!important;
  color:#fff!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="balanceado"]{
  background:linear-gradient(135deg,#047857,#14b8a6)!important;
  border-color:rgba(45,212,191,.75)!important;
  color:#fff!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="ofensivo"]{
  background:linear-gradient(135deg,#15803d,#22c55e)!important;
  border-color:rgba(74,222,128,.75)!important;
  color:#fff!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="borrar-equipo"]{
  background:linear-gradient(135deg,#475569,#94a3b8)!important;
  border-color:rgba(148,163,184,.75)!important;
  color:#fff!important;
}
@media(max-width:1280px){
  #fdf-manager #content-tacticas.fdf-f1817-active{--fdf1817-pitch-max:600px!important;--fdf1817-pitch-h:clamp(700px,78vh,820px)!important;}
  #fdf-manager #content-tacticas.fdf-f1817-active .tacticas-wrapper{grid-template-columns:minmax(285px,350px) minmax(500px,650px)!important;}
}
@media(max-width:980px){
  #fdf-manager #content-tacticas.fdf-f1817-active{--fdf1817-pitch-max:min(100%,620px)!important;--fdf1817-pitch-h:clamp(560px,95vw,720px)!important;}
  #fdf-manager #content-tacticas.fdf-f1817-active .tacticas-wrapper{grid-template-columns:1fr!important;}
  #fdf-manager #content-tacticas.fdf-f1817-active #cancha-tacticas{min-height:560px!important;max-height:720px!important;}
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 .fdf-tactics-director-status{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* ===================================================================
   FDF MANAGER — FASE 18.23
   Corrección fina: Plantel estable al cambiar mentalidad y desplazamiento
   correcto de Defensivo / Ofensivo en la cancha vertical.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-plantel,
#fdf-manager #content-tacticas.fdf-f1817-active .plantel-tacticas,
#fdf-manager #content-tacticas.fdf-f1817-active .plantel{
  height:var(--fdf1817-plantel-h, auto)!important;
  max-height:var(--fdf1817-plantel-h, none)!important;
  overflow:hidden!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #lista-plantel-tacticas{
  height:var(--fdf1817-plantel-list-h, auto)!important;
  max-height:var(--fdf1817-plantel-list-h, none)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="defensivo"],
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="balanceado"],
#fdf-manager #content-tacticas.fdf-f1817-active #shift-buttons button[data-fdf-tactic-intent="ofensivo"]{
  will-change:transform!important;
}

/* ===================================================================
   FDF MANAGER — FASE 18.24
   Refuerzo definitivo: el Plantel mantiene el alto de la columna táctica
   completa al cambiar Defensivo / Balanceado / Ofensivo.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1817-active .fdf-f1817-plantel,
#fdf-manager #content-tacticas.fdf-f1817-active .plantel-tacticas,
#fdf-manager #content-tacticas.fdf-f1817-active .plantel{
  height:var(--fdf1817-plantel-h, auto)!important;
  max-height:var(--fdf1817-plantel-h, none)!important;
  overflow:hidden!important;
  align-self:start!important;
}
#fdf-manager #content-tacticas.fdf-f1817-active #lista-plantel-tacticas{
  height:var(--fdf1817-plantel-list-h, auto)!important;
  min-height:460px!important;
  max-height:var(--fdf1817-plantel-list-h, none)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
}
@media(max-width:980px){
  #fdf-manager #content-tacticas.fdf-f1817-active #lista-plantel-tacticas{
    min-height:280px!important;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 18.25
   Plan previo: controles nuevos + badges internos de cancha
   =================================================================== */
#fdf-manager #content-tacticas.fdf-f1825-active #ovr-display-tacticas,
#fdf-manager #content-tacticas.fdf-f1825-active #ovr-display-tacticas.fdf-tactics-ovr-right-v1825{
  right:10px!important;
  top:14px!important;
  z-index:120!important;
  transform:none!important;
  pointer-events:auto!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #ovr-display-tacticas > div:first-child{
  width:46px!important;
  height:46px!important;
  border-width:3px!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #ovr-display-tacticas > div:last-child{
  font-size:10px!important;
  line-height:1.05!important;
  max-width:58px!important;
  white-space:nowrap!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active .fdf-tactics-plan-controls{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  margin:14px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid rgba(125,211,252,.16)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active .fdf-tactics-plan-control{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin:0!important;
  color:#eaf7ff!important;
  font-size:12px!important;
  font-weight:850!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active .fdf-tactics-plan-control span{
  display:block!important;
  color:#d7efff!important;
  font-size:12px!important;
  font-weight:900!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active .fdf-tactics-plan-control select{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid rgba(125,211,252,.28)!important;
  border-radius:8px!important;
  background:rgba(3,17,32,.72)!important;
  color:#f8fbff!important;
  font-size:12px!important;
  font-weight:760!important;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active .fdf-tactics-plan-control select:focus{
  border-color:rgba(56,189,248,.70)!important;
  box-shadow:0 0 0 3px rgba(56,189,248,.13)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas #fdf-tactics-pitch-badges{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:12px!important;
  z-index:85!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  pointer-events:none!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge{
  width:min(156px,28%)!important;
  min-height:50px!important;
  box-sizing:border-box!important;
  padding:10px 12px!important;
  border-radius:9px!important;
  border:1px solid rgba(125,211,252,.22)!important;
  background:linear-gradient(180deg,rgba(5,25,45,.82),rgba(3,17,32,.78))!important;
  box-shadow:0 12px 26px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.06)!important;
  color:#eaf7ff!important;
  text-align:left!important;
  backdrop-filter:blur(3px)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge span{
  display:block!important;
  margin:0 0 3px!important;
  color:#cfeeff!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:800!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge strong{
  display:block!important;
  color:#ffffff!important;
  font-size:16px!important;
  line-height:1.1!important;
  font-weight:950!important;
  text-shadow:0 1px 3px rgba(0,0,0,.75)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge em{
  display:block!important;
  width:100%!important;
  height:6px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:rgba(15,31,52,.88)!important;
  overflow:hidden!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge em i{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#1dd3b0,#22c55e)!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge-style{
  text-align:left!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge-style small{
  display:grid!important;
  grid-template-columns:repeat(3,5px)!important;
  grid-auto-rows:5px!important;
  gap:4px!important;
  width:max-content!important;
  margin-top:6px!important;
  margin-left:auto!important;
}
#fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge-style small i{
  display:block!important;
  width:5px!important;
  height:5px!important;
  border-radius:50%!important;
  background:#38bdf8!important;
  box-shadow:0 0 8px rgba(56,189,248,.45)!important;
}
@media(max-width:980px){
  #fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas #fdf-tactics-pitch-badges{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
  }
  #fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge{
    width:min(140px,34%)!important;
    padding:8px 9px!important;
  }
  #fdf-manager #content-tacticas.fdf-f1825-active #cancha-tacticas .fdf-tactics-pitch-badge strong{
    font-size:14px!important;
  }
}

/* ===================================================================
   FDF MANAGER — FASE 18.26
   Acciones principales en barra de subpestañas de Tácticas.
   =================================================================== */
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-tactics-workspace-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-f1826-top-action{
  width:auto!important;
  min-width:132px!important;
  min-height:38px!important;
  margin:0!important;
  padding:9px 15px!important;
  border-radius:11px!important;
  border:1px solid rgba(125,211,252,.35)!important;
  color:#f8fafc!important;
  font-weight:950!important;
  font-size:12px!important;
  letter-spacing:-.01em!important;
  box-shadow:0 10px 22px rgba(0,0,0,.24)!important;
  cursor:pointer!important;
}
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-f1826-top-action.is-play{
  background:linear-gradient(135deg,#0e7490,#0891b2)!important;
}
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-f1826-top-action.is-save{
  background:linear-gradient(135deg,#14532d,#16a34a)!important;
}
#fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-f1826-top-action:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.07)!important;
}
#fdf-manager #content-tacticas .acciones-tacticas.fdf-f1826-actions-moved{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
@media(max-width:900px){
  #fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-tactics-workspace-actions{
    width:100%!important;
    margin-left:0!important;
    justify-content:flex-start!important;
  }
  #fdf-manager #content-tacticas #fdf-tactics-workspace-tabs .fdf-f1826-top-action{
    min-width:120px!important;
  }
}


/* ===================================================================
   FDF MANAGER — FASE 18.28
   Fix visual: banderas en titulares de cancha + Carrera DT Mundial.
   =================================================================== */
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-img-drop .fdf-flag.on-pitch,
#fdf-manager #content-tacticas #cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch,
#fdf-manager #content-tacticas #banco-suplentes .jugador-img-drop .fdf-flag.on-pitch{
  position:absolute !important;
  right:-4px !important;
  bottom:-3px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:13px !important;
  min-width:18px !important;
  max-width:18px !important;
  min-height:13px !important;
  max-height:13px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.96) !important;
  border-radius:3px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 2px 5px rgba(2,6,23,.34) !important;
  overflow:hidden !important;
  z-index:9 !important;
  line-height:1 !important;
  font-size:10px !important;
  text-shadow:none !important;
  color:#0f172a !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img,
#fdf-manager #content-tacticas #cancha-tacticas .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img,
#fdf-manager #content-tacticas #banco-suplentes .jugador-img-drop .fdf-flag.on-pitch .fdf-flag-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  object-fit:cover !important;
  background:transparent !important;
  box-shadow:none !important;
}
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #cancha-tacticas .jugador-drop > span,
#fdf-manager #content-tacticas.fdf-tactics-plan-visual-v18 #banco-suplentes .jugador-drop > span{
  position:relative;
  z-index:4;
}
#fdf-main-tab-wc-career{
  display:flex;
  align-items:center;
  gap:6px;
}
.fdf-wc-career-modal{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(2,6,23,.72);
  backdrop-filter:blur(4px);
}
.fdf-wc-career-card{
  width:min(94vw,760px);
  max-height:min(90vh,760px);
  overflow:auto;
  border:1px solid rgba(125,211,252,.28);
  border-radius:22px;
  color:#eaf4ff;
  background:radial-gradient(100% 50% at 0 0,rgba(34,197,94,.18),transparent 55%),linear-gradient(160deg,#0b2440,#061525 62%,#020617);
  box-shadow:0 28px 80px rgba(0,0,0,.48);
}
.fdf-wc-career-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px 16px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
.fdf-wc-career-head small{
  color:#7dd3fc;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}
.fdf-wc-career-head h3{
  margin:6px 0 4px;
  color:#fff;
  font-size:26px;
  font-weight:950;
}
.fdf-wc-career-head p{
  margin:0;
  color:#cbd5e1;
  font-size:13px;
}
.fdf-wc-career-head button{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#fff;
  background:rgba(15,23,42,.72);
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.fdf-wc-career-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:20px 24px 12px;
}
.fdf-wc-career-grid article,
.fdf-wc-career-next{
  border:1px solid rgba(125,211,252,.18);
  border-radius:16px;
  background:rgba(2,15,29,.58);
  padding:14px;
}
.fdf-wc-career-grid small,
.fdf-wc-career-next small{
  display:block;
  color:#93c5fd;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
}
.fdf-wc-career-grid b{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:25px;
  font-weight:950;
}
.fdf-wc-career-grid span,
.fdf-wc-career-next span{
  display:block;
  margin-top:3px;
  color:#cbd5e1;
  font-size:12px;
}
.fdf-wc-career-next{
  margin:8px 24px 16px;
}
.fdf-wc-career-next b{
  display:block;
  margin-top:5px;
  color:#bbf7d0;
  font-size:18px;
  font-weight:950;
}
.fdf-wc-career-card footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:0 24px 24px;
}
.fdf-wc-career-card footer button{
  border:1px solid rgba(125,211,252,.25);
  border-radius:12px;
  padding:10px 14px;
  color:#fff;
  background:linear-gradient(135deg,#0e7490,#0891b2);
  font-weight:900;
  cursor:pointer;
}
@media(max-width:720px){
  .fdf-wc-career-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
