/*
 * Sistema de diseño "moderno" para sitio_web — misma paleta navy/teal
 * usada en los documentos PDF del sistema, para que el sitio público y
 * los reportes se sientan del mismo producto.
 *
 * Se aplica página por página (no reemplaza aún css/style.css global),
 * empezando por tablaPosiciones.php como prueba de concepto.
 */

@font-face{ font-family:'Nunito'; src:url('../fonts/moderno/nunito-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face{ font-family:'Nunito'; src:url('../fonts/moderno/nunito-600.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face{ font-family:'Nunito'; src:url('../fonts/moderno/nunito-700.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face{ font-family:'Nunito'; src:url('../fonts/moderno/nunito-800.woff2') format('woff2'); font-weight:800; font-display:swap; }

:root{
  --navy:#16212c;
  --navy-2:#1c2b38;
  --teal:#0f9e8f;
  --teal-deep:#0a6e63;
  --ink:#1c2b35;
  --muted:#5b6672;
  --border:#e3e7ea;
  --surface:#f7f9fb;
  --paper:#ffffff;
  --shadow:0 1px 2px rgba(22,33,44,.04), 0 8px 24px rgba(22,33,44,.06);
  /* usado por colorConTransparencia() (servidor/funciones.php) para calcular
     el color de texto con contraste sobre un fondo de color de equipo */
  --threshold:0.5;
}

.moderno{ font-family:"Nunito",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--surface); overflow-x:hidden; }
.moderno *{ box-sizing:border-box; }
.moderno ::selection{ background:var(--teal); color:#fff; }

/* ---------- top bar ---------- */
.moderno .m-topbar{
  background:var(--navy);
  color:#fff;
  padding:12px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.moderno .m-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:500;
  letter-spacing:.2px;
  font-size:16px;
  color:#fff;
  text-decoration:none;
}
.moderno .m-brand img{ height:26px; width:auto; display:block; }
.moderno .m-nav{ display:flex; gap:22px; font-size:13px; }
.moderno .m-nav a{
  color:#c9d3da;
  text-decoration:none;
  font-weight:600;
  letter-spacing:.2px;
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.moderno .m-nav a:hover{ color:#fff; }
.moderno .m-nav a.current{ color:#fff; border-color:var(--teal); }
.moderno .m-burger{ display:none; color:#fff; font-size:20px; background:none; border:none; cursor:pointer; }

.moderno .m-dropdown{ position:relative; }
.moderno .m-dropdown-toggle{
  background:none; border:none; cursor:pointer;
  color:#c9d3da; font-weight:600; font-size:13px; letter-spacing:.2px;
  font-family:"Nunito",sans-serif; padding:6px 2px;
}
.moderno .m-dropdown-toggle:hover{ color:#fff; }
.moderno .m-dropdown-panel{
  display:none;
  position:absolute; right:0; top:100%; margin-top:10px;
  background:var(--paper); color:var(--ink);
  border:1px solid var(--border); border-radius:10px;
  box-shadow:var(--shadow); min-width:200px; padding:6px; z-index:30;
}
.moderno .m-dropdown:hover .m-dropdown-panel,
.moderno .m-dropdown:focus-within .m-dropdown-panel{ display:block; }
.moderno .m-dropdown-panel a{
  display:block; padding:8px 10px; border-radius:7px;
  color:var(--ink); text-decoration:none; font-size:13px; font-weight:600;
}
.moderno .m-dropdown-panel a:hover{ background:var(--surface); color:var(--teal-deep); }

/* ---------- page header ---------- */
.moderno .m-page-head{
  background:
    linear-gradient(180deg, rgba(13,18,24,.52) 0%, rgba(13,18,24,.68) 55%, var(--surface) 100%),
    url('../images/header-moderno.jpg');
  background-size:cover;
  background-position:center 35%;
  color:#fff;
  padding:38px 24px 64px;
}
.moderno .m-page-head-inner{ max-width:1080px; margin:0 auto; }
.moderno .m-eyebrow{
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.6px;
  color:var(--teal);
  margin:0 0 8px;
  text-shadow:0 1px 6px rgba(0,0,0,.45);
}
.moderno .m-page-head h1{
  margin:0 0 6px;
  font-size:clamp(28px,4vw,40px);
  font-weight:600;
  letter-spacing:-.2px;
  text-wrap:balance;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
.moderno .m-page-head .m-sub{ margin:0; color:#e2e7eb; font-size:15px; text-shadow:0 1px 6px rgba(0,0,0,.45); }
.moderno .m-crumbs{ margin-top:18px; display:flex; gap:6px; flex-wrap:wrap; font-size:12.5px; color:#d7dde1; text-shadow:0 1px 5px rgba(0,0,0,.4); }
.moderno .m-crumbs a{ color:#e2e7eb; text-decoration:none; }
.moderno .m-crumbs a:hover{ color:#fff; }

/* ---------- content ---------- */
.moderno .m-wrap{ max-width:1080px; margin:-40px auto 60px; padding:0 24px; position:relative; z-index:5; }

.moderno .m-card{
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  overflow:hidden;
  margin-bottom:26px;
}
.moderno .m-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid var(--border);
  gap:16px;
  flex-wrap:wrap;
}
.moderno .m-card-head h2{ margin:0; font-size:18px; font-weight:800; letter-spacing:-.2px; }
.moderno .m-group-title{
  text-align:center;
  padding:14px 22px 0;
  font-size:15px;
  font-weight:800;
  color:var(--navy);
}

.moderno .m-table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.moderno table.m-standings{
  width:100%;
  border-collapse:collapse;
  font-variant-numeric:tabular-nums;
  min-width:720px;
}
.moderno table.m-standings thead th{
  position:sticky;
  top:0;
  background:var(--paper);
  text-align:center;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--muted);
  font-weight:700;
  padding:12px 10px;
  border-bottom:1px solid var(--border);
  white-space:nowrap;
}
.moderno table.m-standings thead th.col-team{ text-align:left; padding-left:18px; }
.moderno table.m-standings thead th.col-pos{ padding-left:18px; }
.moderno table.m-standings tbody tr{ border-bottom:1px solid var(--border); transition:background-color .12s ease; }
.moderno table.m-standings tbody tr:last-child{ border-bottom:none; }
.moderno table.m-standings tbody tr:hover{ background:var(--surface); }

.moderno td{ padding:11px 10px; font-size:13.5px; }
.moderno td.col-pos{ padding-left:18px; width:1%; }
.moderno .m-pos-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px; height:24px;
  border-radius:7px;
  font-weight:800;
  font-size:12.5px;
  color:var(--muted);
  background:var(--surface);
}
.moderno td.col-team{ padding-left:18px; }
.moderno .m-team-cell{ display:flex; align-items:center; gap:11px; }
.moderno .m-team-cell a{ display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; }
.moderno .m-crest{
  width:30px; height:30px;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--paper);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.moderno .m-crest img{ width:100%; height:100%; object-fit:contain; }
.moderno .m-team-name{ font-weight:700; letter-spacing:-.1px; white-space:nowrap; }

.moderno .m-stat{ text-align:center; color:var(--ink); font-weight:600; }
.moderno .m-stat-muted{ color:var(--muted); font-weight:500; }
.moderno .m-stat-gd{ font-weight:700; }
.moderno .m-stat-extra{ text-align:center; }
.moderno .m-stat-extra a{ cursor:pointer; color:var(--ink); text-decoration:none; font-weight:700; }
.moderno .m-stat-extra a:hover{ color:var(--teal-deep); text-decoration:underline; }
.moderno td.col-pts{ text-align:center; padding-right:18px; }
.moderno .m-pts-pill{
  display:inline-flex;
  min-width:34px;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  font-size:13.5px;
  padding:5px 10px;
  border-radius:999px;
}

.moderno .m-btn{
  border:none;
  cursor:pointer;
  font-weight:700;
  font-size:12.5px;
  padding:9px 14px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.moderno .m-btn:hover{ transform:translateY(-1px); }
.moderno .m-btn-primary{ background:var(--teal); color:#fff; box-shadow:0 6px 16px rgba(15,158,143,.28); }
.moderno .m-btn-primary:hover{ background:var(--teal-deep); color:#fff; }
.moderno .m-btn-ghost{ background:transparent; color:var(--muted); border:1px solid var(--border); }
.moderno .m-empty{ padding:24px 22px; text-align:center; color:var(--muted); }

.moderno .m-detalle-extra{ border-top:1px solid var(--border); padding:14px 22px; background:var(--surface); font-size:13px; }

/* ---------- hero (homepage) ---------- */
.moderno .m-hero{
  position:relative;
  background:
    linear-gradient(180deg, rgba(13,18,24,.60) 0%, rgba(13,18,24,.75) 65%, var(--surface) 100%),
    url('../images/header-moderno.jpg');
  background-size:cover;
  background-position:center 35%;
  color:#fff;
  padding:72px 24px 96px;
  text-align:center;
}
.moderno .m-hero-inner{ max-width:720px; margin:0 auto; }
.moderno .m-hero h1{
  font-weight:500;
  font-size:clamp(32px,5vw,42px);
  letter-spacing:-.3px;
  margin:0 0 10px;
  text-wrap:balance;
}
.moderno .m-hero p{ margin:0 0 26px; color:#e2e7eb; font-size:16px; }
.moderno .m-search{
  display:flex;
  background:var(--paper);
  border-radius:12px;
  box-shadow:var(--shadow);
  overflow:hidden;
  max-width:520px;
  margin:0 auto;
}
.moderno .m-search input{
  flex:1;
  border:none;
  outline:none;
  padding:14px 16px;
  font-family:"Nunito",sans-serif;
  font-size:14px;
  color:var(--ink);
  background:transparent;
}
.moderno .m-search button{
  border:none;
  background:var(--teal);
  color:#fff;
  padding:0 20px;
  cursor:pointer;
  font-size:15px;
  transition:background-color .12s ease;
}
.moderno .m-search button:hover{ background:var(--teal-deep); }

/* ---------- generic section ---------- */
.moderno .m-section{ max-width:1080px; margin:0 auto; padding:50px 24px; }
.moderno .m-section-head{ text-align:center; margin-bottom:30px; }
.moderno .m-section-head .m-eyebrow{ justify-content:center; text-align:center; }
.moderno .m-section-head h2{
  font-weight:600;
  font-size:clamp(22px,3vw,30px);
  letter-spacing:-.2px;
  margin:0;
  color:var(--ink);
}
.moderno .m-section-head p{ color:var(--muted); margin:8px 0 0; font-size:14.5px; }
.moderno .m-section.m-section-dark{ background:var(--navy); }
.moderno .m-section.m-section-dark h2{ color:#fff; }
.moderno .m-section.m-section-dark .m-section-head p{ color:#aebac3; }
.moderno .m-section-wide{ max-width:100%; }

/* ---------- stat counters ---------- */
.moderno .m-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1080px; margin:-46px auto 0; padding:0 24px; position:relative; z-index:5; }
.moderno .m-stats-plain{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.moderno .m-stat-card{
  min-width:0;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:22px 16px;
  text-align:center;
}
.moderno .m-stat-card .m-stat-icon{ font-size:22px; color:var(--teal); margin-bottom:8px; }
.moderno .m-stat-card .m-stat-num{  font-weight:600; font-size:28px; color:var(--ink); font-variant-numeric:tabular-nums; }
.moderno .m-stat-card .m-stat-label{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.6px; font-weight:700; margin-top:2px; }

/* ---------- category grid ---------- */
.moderno .m-cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.moderno .m-cat-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px;
  text-decoration:none;
  color:inherit;
  transition:transform .12s ease, box-shadow .12s ease;
  min-width:0;
}
.moderno .m-cat-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
.moderno .m-cat-card > div{ min-width:0; }
.moderno .m-cat-card .m-cat-icon{
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  background:rgba(15,158,143,.1); color:var(--teal);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.moderno .m-cat-card h3{ margin:0 0 4px; font-size:15.5px; font-weight:800; color:var(--ink); }
.moderno .m-cat-card p{ margin:0; font-size:13px; color:var(--muted); line-height:1.4; }

/* ---------- document grid ---------- */
.moderno .m-doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.moderno .m-doc-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:20px; min-width:0; }
.moderno .m-doc-card .m-doc-icon{ color:var(--teal); font-size:20px; margin-bottom:10px; }
.moderno .m-doc-card h3{ margin:0 0 6px; font-size:15px; font-weight:800; }
.moderno .m-doc-card p{ margin:0 0 14px; font-size:13px; color:var(--muted); line-height:1.5; }

/* ---------- people / birthday cards ---------- */
.moderno .m-people-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.moderno .m-people-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:20px; text-align:center; min-width:0; }
.moderno .m-people-card img{ width:64px; height:64px; border-radius:50%; object-fit:cover; margin-bottom:10px; border:2px solid var(--border); }
.moderno .m-people-card.m-people-crest img{ border-radius:10px; object-fit:contain; padding:6px; background:var(--surface); }
.moderno .m-people-card h4{ margin:0; font-size:14.5px; font-weight:800; }
.moderno a.m-people-card h4{ color:var(--teal-deep); text-decoration:none; }
.moderno a.m-people-card:hover h4{ text-decoration:underline; }
.moderno .m-people-card span{ font-size:12.5px; color:var(--muted); }
.moderno .m-people-card p{ font-size:12.5px; color:var(--muted); line-height:1.5; margin:8px 0 0; }

/* ---------- carousel (ej. cumpleañeros: cantidad variable/ilimitada) ---------- */
.moderno .m-carousel{ position:relative; }
.moderno .m-carousel-track{
  display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:2px 2px 10px; -webkit-overflow-scrolling:touch;
}
.moderno .m-carousel-track::-webkit-scrollbar{ height:6px; }
.moderno .m-carousel-track::-webkit-scrollbar-track{ background:transparent; }
.moderno .m-carousel-track::-webkit-scrollbar-thumb{ background:var(--border); border-radius:3px; }
.moderno .m-carousel-track > .m-people-card{ scroll-snap-align:start; flex:0 0 auto; width:240px; }
.moderno .m-carousel-nav{ display:flex; justify-content:center; gap:10px; margin-top:14px; }
.moderno .m-carousel-btn{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--border);
  background:var(--paper); cursor:pointer; font-size:15px; color:var(--ink);
  display:flex; align-items:center; justify-content:center; transition:background-color .12s ease;
}
.moderno .m-carousel-btn:hover{ background:var(--surface); }

/* ---------- anniversary cards ---------- */
.moderno .m-anniv-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.moderno .m-anniv-card{ display:flex; gap:14px; align-items:center; background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:16px 18px; min-width:0; }
.moderno .m-anniv-card > div{ min-width:0; }
.moderno .m-anniv-card img{ width:56px; height:56px; object-fit:contain; flex-shrink:0; }
.moderno .m-anniv-card h4{ margin:0 0 3px; font-size:14.5px; font-weight:800; }
.moderno .m-anniv-card p{ margin:0; font-size:12.5px; color:var(--muted); line-height:1.5; }
.moderno .m-anniv-card .m-btn{ margin-top:8px; }

/* ---------- sanctioned player cards ---------- */
.moderno .m-sanction-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.moderno .m-sanction-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; overflow:hidden; text-align:center; min-width:0; }
.moderno .m-sanction-photo{ position:relative; background:var(--navy); height:180px; overflow:hidden; }
.moderno .m-sanction-photo img.m-sanction-face{ width:100%; height:100%; object-fit:cover; }
.moderno .m-sanction-photo::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:70px;
  background:linear-gradient(180deg, rgba(13,18,24,0) 0%, rgba(13,18,24,.72) 100%);
  pointer-events:none;
}
.moderno .m-sanction-photo img.m-sanction-crest{ position:absolute; top:8px; left:8px; width:34px; height:34px; object-fit:contain; background:#fff; border-radius:8px; padding:3px; box-shadow:0 2px 8px rgba(0,0,0,.28); z-index:2; }
.moderno .m-sanction-photo .m-sanction-number{ position:absolute; bottom:8px; right:10px; z-index:2; color:#fff; font-size:20px; font-weight:800; text-shadow:0 1px 6px rgba(0,0,0,.5); }
.moderno .m-sanction-body{ padding:16px; }
.moderno .m-sanction-body h4{ margin:0; font-size:14.5px; font-weight:800; }
.moderno .m-sanction-body .m-sanction-motivo{ font-size:12.5px; color:var(--muted); margin:4px 0; }
.moderno .m-sanction-body .m-sanction-tiempo{ font-weight:600; color:var(--relegate,#c2483a); font-size:15px; }
.moderno .m-sanction-body .m-sanction-cumplido{ font-size:12px; color:var(--muted); margin-top:2px; }
.moderno .m-sanction-body .m-sanction-equipo{ font-size:12px; color:var(--teal-deep); font-weight:700; margin-top:2px; text-decoration:none; }
.moderno .m-sanction-body .m-sanction-equipo:hover{ text-decoration:underline; }

/* ---------- today's matches ---------- */
.moderno .m-match-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.moderno .m-match-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:18px; text-decoration:none; color:inherit; display:block; min-width:0; }
.moderno .m-match-teams{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.moderno .m-match-team{ display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; min-width:0; }
.moderno .m-match-team img{ width:38px; height:38px; object-fit:contain; }
.moderno .m-match-team span{ font-size:11.5px; font-weight:700; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.moderno .m-match-abbr{
  display:inline-block; margin-top:4px; padding:2px 9px; border-radius:999px;
  font-size:10px; font-weight:800; letter-spacing:.3px;
  box-shadow:0 0 0 1px rgba(22,33,44,.08), 0 1px 3px rgba(22,33,44,.08);
}
.moderno .m-match-score{ font-weight:600; font-size:22px; color:var(--ink); }
.moderno .m-match-vs{ font-size:13px; color:var(--muted); font-weight:700; }
.moderno .m-match-meta{ text-align:center; margin-top:12px; }
.moderno .m-match-hora{ font-weight:700; font-size:16px; }
.moderno .m-match-cancha{ font-size:12px; color:var(--muted); margin-top:4px; }
.moderno .m-badge{ display:inline-block; margin-top:8px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.moderno .m-badge-done{ background:rgba(15,158,143,.12); color:var(--teal-deep); }
.moderno .m-badge-live{ background:rgba(194,72,58,.12); color:#c2483a; }
.moderno .m-badge-rest{ background:rgba(224,160,46,.14); color:#c48722; }
.moderno .m-match-bye .m-match-teams .m-badge{ margin-top:0; }
.moderno .m-match-bye .m-match-teams{ justify-content:center; }
.moderno .m-match-bye .m-match-team{ flex:none; }

/* ---------- mini panel (posiciones / goleadores / resultados) ---------- */
.moderno .m-panel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start; }
.moderno .m-panel{ background:var(--paper); border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); min-width:0; }
.moderno .m-panel-head{ background:var(--navy); color:#fff; padding:14px 18px; font-weight:800; font-size:14.5px; }
.moderno .m-panel ul{ list-style:none; margin:0; padding:0; }
.moderno .m-panel li{ border-bottom:1px solid var(--border); }
.moderno .m-panel li:last-child{ border-bottom:none; }
.moderno .m-panel li a{ display:flex; align-items:center; gap:10px; padding:11px 16px; text-decoration:none; color:var(--ink); font-size:13px; }
.moderno .m-panel li a:hover{ background:var(--surface); }
.moderno .m-panel-rank{ font-weight:800; color:var(--muted); width:16px; flex-shrink:0; font-variant-numeric:tabular-nums; }
.moderno .m-panel img{ width:26px; height:26px; object-fit:contain; border-radius:6px; flex-shrink:0; }
.moderno .m-panel .m-panel-name{ flex:1; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.moderno .m-panel .m-panel-value{ font-weight:800; color:var(--teal-deep); font-size:12.5px; white-space:nowrap; }
.moderno .m-panel-foot{ padding:10px 16px; text-align:center; border-top:1px solid var(--border); }
.moderno .m-panel-foot a{ font-size:12.5px; font-weight:800; color:var(--teal-deep); text-decoration:none; }
.moderno .m-panel-foot a:hover{ text-decoration:underline; }
.moderno .m-panel .m-match-mini{ padding:11px 16px; border-bottom:1px solid var(--border); font-size:14.5px; }
.moderno .m-panel .m-match-mini:last-child{ border-bottom:none; }
.moderno .m-panel .m-match-mini-teams{ display:flex; align-items:center; justify-content:center; gap:8px; }
.moderno .m-panel .m-match-mini-teams img{ width:27px; height:27px; }
.moderno .m-panel .m-match-mini-score{ font-weight:800; }

/* ---------- map ---------- */
.moderno .m-map{ width:100%; height:340px; border:none; display:block; }

/* ---------- footer ---------- */
.moderno footer.m-footer{ background:var(--navy); color:#aebac3; padding:44px 24px 20px; font-size:13px; }
.moderno footer.m-footer a{ color:#c9d3da; text-decoration:none; }
.moderno footer.m-footer a:hover{ color:#fff; }
.moderno .m-footer-grid{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 1fr 1.3fr; gap:26px; }
.moderno .m-footer-grid h3{ color:#fff; font-size:13.5px; font-weight:800; margin:0 0 14px; text-transform:uppercase; letter-spacing:.5px; }
.moderno .m-footer-grid ul{ list-style:none; margin:0; padding:0; }
.moderno .m-footer-grid li{ margin-bottom:8px; }
.moderno .m-footer-contact li{ display:flex; gap:8px; align-items:flex-start; }
.moderno .m-footer-social{ display:flex; gap:10px; margin-top:14px; }
.moderno .m-footer-social a{ width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.moderno .m-footer-social a:hover{ background:var(--teal); }
.moderno .m-copyright{ max-width:1080px; margin:30px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); text-align:center; font-size:12px; color:#8b98a3; }

/* ---------- generic data table (búsqueda web, etc.) ---------- */
.moderno table.m-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.moderno table.m-table thead th{
  background:var(--navy); color:#fff; text-align:left; padding:11px 14px;
  font-size:11px; text-transform:uppercase; letter-spacing:.5px; font-weight:700;
}
.moderno table.m-table tbody td{ padding:11px 14px; border-bottom:1px solid var(--border); }
.moderno table.m-table tbody tr:last-child td{ border-bottom:none; }
.moderno table.m-table tbody tr:hover{ background:var(--surface); }
.moderno table.m-table a{ color:var(--teal-deep); font-weight:700; text-decoration:none; }
.moderno table.m-table a:hover{ text-decoration:underline; }

/* ---------- blog ---------- */
.moderno .m-blog-grid{ display:grid; grid-template-columns:1fr 320px; gap:26px; align-items:start; max-width:1080px; margin:0 auto; padding:0 24px 60px; }
.moderno .m-blog-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:22px; box-shadow:var(--shadow); }
.moderno .m-blog-card-img{ width:100%; height:220px; object-fit:cover; display:block; background:var(--surface); }
.moderno .m-blog-card-body{ padding:20px 22px; }
.moderno .m-blog-meta{ font-size:12px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px; }
.moderno .m-blog-card h3{ font-size:18px; margin:0 0 10px; letter-spacing:-.2px; }
.moderno .m-blog-card h3 a{ color:var(--ink); text-decoration:none; }
.moderno .m-blog-card h3 a:hover{ color:var(--teal-deep); }
.moderno .m-blog-card p{ font-size:13.5px; color:var(--muted); line-height:1.65; margin:0 0 16px; }

.moderno .m-article h1{ font-size:clamp(24px,3.5vw,32px); margin:0 0 10px; letter-spacing:-.3px; }
.moderno .m-article .m-blog-card-img{ height:340px; border-radius:14px; margin-bottom:20px; }
.moderno .m-article-body{ font-size:15px; line-height:1.85; color:var(--ink); }
.moderno .m-article-body p{ margin:0 0 16px; }

.moderno .m-widget{ background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:20px; margin-bottom:20px; }
.moderno .m-widget h3{ font-size:13px; text-transform:uppercase; letter-spacing:.5px; margin:0 0 14px; color:var(--ink); }
.moderno .m-widget .m-search{ max-width:none; box-shadow:none; border:1px solid var(--border); }
.moderno .m-tag-list, .moderno .m-archive-list{ list-style:none; margin:0; padding:0; }
.moderno .m-tag-list li a, .moderno .m-archive-list li a{
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  padding:9px 0; border-bottom:1px dashed var(--border);
  color:var(--ink); text-decoration:none; font-size:13.5px; font-weight:700;
}
.moderno .m-tag-list li:last-child a, .moderno .m-archive-list li:last-child a{ border-bottom:none; }
.moderno .m-tag-list li a:hover, .moderno .m-archive-list li a:hover{ color:var(--teal-deep); }
.moderno .m-archive-list li a span{ font-weight:500; color:var(--muted); font-size:12px; white-space:nowrap; }

.moderno .m-pagination{ display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.moderno .m-pagination a{
  min-width:36px; height:36px; padding:0 6px; border-radius:8px; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  color:var(--ink); font-size:13px; font-weight:700; background:var(--paper);
}
.moderno .m-pagination a:hover{ background:var(--surface); }
.moderno .m-pagination a.current{ background:var(--navy); color:#fff; border-color:var(--navy); }

/* ---------- tabs (búsqueda web) ---------- */
.moderno .m-tab-list{ display:flex; gap:6px; border-bottom:1px solid var(--border); margin-bottom:22px; flex-wrap:wrap; }
.moderno .m-tab-btn{
  background:none; border:none; cursor:pointer; padding:12px 18px; margin-bottom:-1px;
  font-weight:700; font-size:13.5px; color:var(--muted); border-bottom:2px solid transparent;
  display:flex; align-items:center; gap:8px; font-family:"Nunito",sans-serif;
}
.moderno .m-tab-btn:hover{ color:var(--ink); }
.moderno .m-tab-btn.active{ color:var(--teal-deep); border-color:var(--teal); }
.moderno .m-tab-count{ background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; padding:2px 8px; border-radius:999px; }
.moderno .m-tab-btn.active .m-tab-count{ background:var(--teal); color:#fff; }
.moderno .m-tab-panel{ display:none; }
.moderno .m-tab-panel.active{ display:block; }

.moderno .m-result-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.moderno .m-result-card{ display:flex; gap:14px; align-items:flex-start; background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:16px; min-width:0; }
.moderno .m-result-card img{ width:52px; height:52px; object-fit:contain; border-radius:10px; flex-shrink:0; border:1px solid var(--border); background:var(--surface); }
.moderno .m-result-card > div{ min-width:0; }
.moderno .m-result-card h4{ margin:0 0 4px; font-size:14.5px; font-weight:800; }
.moderno .m-result-card h4 a{ color:var(--ink); text-decoration:none; }
.moderno .m-result-card h4 a:hover{ color:var(--teal-deep); }
.moderno .m-result-card p{ margin:0; font-size:12.5px; color:var(--muted); line-height:1.5; }

/* ---------- forms (nuevo equipo, etc.) ---------- */
.moderno .m-form-layout{ display:grid; grid-template-columns:240px 1fr 240px; gap:22px; align-items:start; }
.moderno .m-side-card{ background:var(--paper); border:1px solid var(--border); border-radius:14px; padding:20px; margin-bottom:20px; }
.moderno .m-side-card h3{ margin:0 0 10px; font-size:15px; font-weight:800; }
.moderno .m-side-card p{ margin:0; font-size:13px; line-height:1.6; }
.moderno .m-side-card.m-side-teal{ background:var(--teal); color:#fff; }
.moderno .m-side-card.m-side-teal h3{ color:#fff; }
.moderno .m-side-card.m-side-navy{ background:var(--navy); color:#e2e7eb; }
.moderno .m-side-card.m-side-navy h3{ color:#fff; }
.moderno .m-side-card p{ color:inherit; }
.moderno .m-side-card:not(.m-side-teal):not(.m-side-navy) p{ color:var(--muted); }
.moderno .m-info-list{ margin:0; padding-left:18px; font-size:13px; line-height:1.7; }
.moderno .m-info-list li{ margin-bottom:10px; }
.moderno .m-info-list li:last-child{ margin-bottom:0; }

.moderno .m-field{ margin-bottom:16px; }
.moderno .m-field label{ display:block; font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:6px; }
.moderno .m-required{ color:#c2483a; }
.moderno .m-field input[type="text"],
.moderno .m-field input[type="email"],
.moderno .m-field input[type="password"],
.moderno .m-field input[type="tel"],
.moderno .m-field textarea{
  width:100%; border:1px solid var(--border); border-radius:9px; padding:10px 12px;
  font-family:"Nunito",sans-serif; font-size:13.5px; color:var(--ink); background:var(--paper);
  transition:border-color .12s ease;
}
.moderno .m-field input:focus, .moderno .m-field textarea:focus{ outline:none; border-color:var(--teal); }
.moderno .m-field textarea{ resize:vertical; min-height:96px; }
.moderno .m-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.moderno .m-field-inline{ display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.moderno .m-field-inline .m-field{ flex:1; min-width:200px; margin-bottom:0; }
.moderno .m-help{ font-size:12.5px; color:var(--muted); margin:0 0 16px; }
.moderno .m-btn-warning{ background:#e0a02e; color:#fff; }
.moderno .m-btn-warning:hover{ background:#c48722; color:#fff; }

.moderno .m-alert{ padding:14px 16px; border-radius:10px; font-size:13.5px; margin-bottom:16px; }
.moderno .m-field-row > .m-alert{ grid-column:1 / -1; }
.moderno .m-alert-danger{ background:rgba(194,72,58,.1); color:#c2483a; }
.moderno .m-alert-info{ background:rgba(15,158,143,.1); color:var(--teal-deep); }

/* ---------- bootbox modal shim (sin cargar bootstrap.css completo) ---------- */
.moderno .modal{ position:fixed; inset:0; z-index:1050; display:none; overflow:auto; }
.moderno .modal.fade.in{ display:block; }
.moderno .modal-dialog{ max-width:480px; margin:80px auto; position:relative; padding:0 16px; }
.moderno .modal-content{ background:var(--paper); border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.3); overflow:hidden; font-family:"Nunito",sans-serif; }
.moderno .modal-header{ padding:16px 20px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.moderno .modal-title{ margin:0; font-size:16px; font-weight:800; color:var(--ink); }
.moderno .modal-body{ padding:20px; font-size:14px; color:var(--ink); line-height:1.6; }
.moderno .modal-footer{ padding:14px 20px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:8px; }
.moderno .close{ background:none; border:none; font-size:20px; line-height:1; color:var(--muted); cursor:pointer; padding:0; }
.moderno .close:hover{ color:var(--ink); }
.moderno .modal-backdrop{ position:fixed; inset:0; background:rgba(13,18,24,.55); z-index:1040; }
.moderno .btn{ border:none; cursor:pointer; font-weight:700; font-size:13px; padding:9px 16px; border-radius:9px; font-family:"Nunito",sans-serif; }
.moderno .btn-default{ background:var(--surface); color:var(--ink); border:1px solid var(--border); }
.moderno .btn-primary{ background:var(--teal); color:#fff; }
.moderno .btn-primary:hover{ background:var(--teal-deep); }
.moderno .btn-success{ background:var(--teal); color:#fff; }
.moderno .btn-success:hover{ background:var(--teal-deep); }
.moderno .btn-warning{ background:#e0a02e; color:#fff; }
.moderno .btn-sm{ padding:7px 12px; font-size:12px; }

/* bootstrap-colorpicker no oculta su popup por defecto (se agrega a <body>
   visible hasta el primer clic); el plugin original lo compensaba con el
   layout de sidebar del tema viejo, aquí lo ocultamos explícitamente */
.moderno .colorpicker{ display:none; position:absolute; z-index:1060; }

/* ---------- en vivo (marcador + relato) ---------- */
.moderno .m-live-meta{ display:grid; grid-template-columns:repeat(3,1fr); }
.moderno .m-live-meta div{ padding:16px 20px; border-left:1px solid var(--border); border-bottom:1px solid var(--border); }
.moderno .m-live-meta div:nth-child(3n+1){ border-left:none; }
.moderno .m-live-meta p{ margin:0 0 4px; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); font-weight:700; }
.moderno .m-live-meta h4{ margin:0; font-size:13.5px; font-weight:800; color:var(--ink); }

.moderno .m-live-teams{ display:flex; align-items:center; justify-content:center; gap:26px; padding:32px 22px 26px; flex-wrap:wrap; }
.moderno .m-live-team{ display:flex; flex-direction:column; align-items:center; gap:10px; flex:1; min-width:150px; text-align:center; }
.moderno .m-live-team a{ color:inherit; text-decoration:none; display:flex; flex-direction:column; align-items:center; gap:10px; }
.moderno .m-live-team img{ width:64px; height:64px; object-fit:contain; }
.moderno .m-live-team-name{
  font-weight:800; font-size:15px; letter-spacing:-.1px;
  display:inline-block; padding:5px 14px; border-radius:999px; background:var(--surface);
  box-shadow:0 0 0 1px rgba(22,33,44,.08), 0 1px 3px rgba(22,33,44,.08);
}
.moderno .m-live-stats{ display:flex; gap:12px; justify-content:center; margin-top:2px; font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
.moderno .m-live-stats span{ display:inline-flex; align-items:center; gap:4px; }
.moderno .m-live-score{ display:flex; align-items:center; gap:16px; font-size:42px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
.moderno .m-live-vs{ font-size:13px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.moderno .m-live-result{ text-align:center; padding:0 22px 24px; font-size:14px; color:var(--ink); }
.moderno .m-live-result strong{ color:var(--teal-deep); }

.moderno .m-live-refresh{ padding:18px 22px; text-align:center; border-top:1px solid var(--border); }
.moderno .m-live-refresh .m-btn.spinning span{ display:inline-block; animation:m-spin 1s linear infinite; }
@keyframes m-spin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }

.moderno .m-live-feed{ padding:6px 22px 6px; }
.moderno .m-live-event{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); }
.moderno .m-live-event:last-child{ border-bottom:none; }
.moderno .m-live-event-icon{
  width:38px; height:38px; border-radius:50%; background:var(--surface);
  display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.moderno .m-live-event-icon.m-live-blue{ background:rgba(47,111,237,.12); }
.moderno .m-live-event-icon.m-live-green{ background:rgba(15,158,143,.12); }
.moderno .m-live-event-icon.m-live-gold{ background:rgba(196,135,34,.14); }
.moderno .m-live-event-icon.m-live-red{ background:rgba(194,72,58,.12); }
.moderno .m-live-event h4{ margin:0 0 3px; font-size:13.5px; font-weight:800; color:var(--ink); }
.moderno .m-live-event p{ margin:0; font-size:13px; color:var(--muted); line-height:1.5; }

/* ---------- ficha de partido (roster, informes) ---------- */
.moderno .m-roster-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.moderno .m-roster-head{ display:flex; align-items:center; gap:12px; padding:18px 22px; border-bottom:1px solid var(--border); }
.moderno .m-roster-head a{ color:inherit; text-decoration:none; display:flex; align-items:center; gap:12px; }
.moderno .m-roster-head img{ width:34px; height:34px; object-fit:contain; border-radius:8px; border:1px solid var(--border); background:var(--paper); }
.moderno .m-roster-head span{
  font-weight:800; font-size:15px; letter-spacing:-.1px;
  display:inline-block; padding:5px 14px; border-radius:999px; background:var(--surface);
  box-shadow:0 0 0 1px rgba(22,33,44,.08), 0 1px 3px rgba(22,33,44,.08);
}
.moderno table.m-roster{ width:100%; border-collapse:collapse; font-size:13px; }
.moderno table.m-roster thead th{
  background:var(--surface); color:var(--muted); text-align:left; padding:9px 14px;
  font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; font-weight:700; border-bottom:1px solid var(--border);
}
.moderno table.m-roster thead th:last-child{ text-align:right; }
.moderno table.m-roster tbody td{ padding:9px 14px; border-bottom:1px solid var(--border); vertical-align:middle; }
.moderno table.m-roster tbody tr:last-child td{ border-bottom:none; }
.moderno table.m-roster tbody tr:hover{ background:var(--surface); }
.moderno table.m-roster td:last-child{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.moderno .m-roster-player{ display:flex; align-items:center; gap:10px; }
.moderno .m-roster-player img{ width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--surface); }
.moderno table.m-roster a{ color:var(--teal-deep); text-decoration:none; font-weight:700; }
.moderno table.m-roster a:hover{ text-decoration:underline; }

.moderno .m-info-grid{ display:grid; grid-template-columns:repeat(2,1fr); }
.moderno .m-info-grid > div{ padding:16px 22px; border-bottom:1px solid var(--border); border-left:1px solid var(--border); }
.moderno .m-info-grid > div:nth-child(2n+1){ border-left:none; }
.moderno .m-info-grid.m-info-grid-1 > div{ grid-column:1 / -1; border-left:none; }
.moderno .m-info-grid p{ margin:0 0 4px; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); font-weight:700; }
.moderno .m-info-grid h4{ margin:0; font-size:13.5px; font-weight:800; color:var(--ink); }
.moderno .m-report{
  margin:14px 22px 20px; background:var(--surface); border-left:3px solid var(--teal);
  padding:14px 16px; border-radius:0 10px 10px 0; font-size:13.5px; color:var(--ink); line-height:1.6;
}
.moderno .m-report li{ margin-left:24px; }

.moderno .badge{ display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; vertical-align:middle; }
.moderno .badge-info{ background:rgba(15,158,143,.12); color:var(--teal-deep); }
.moderno .badge-success{ background:rgba(15,158,143,.15); color:var(--teal-deep); }
.moderno .badge-warning{ background:rgba(196,135,34,.14); color:#c48722; }
.moderno .badge-danger{ background:rgba(194,72,58,.12); color:#c2483a; }
.moderno .badge-primary{ background:rgba(22,33,44,.1); color:var(--navy); }
.moderno .badge-default{ background:var(--surface); color:var(--muted); }

/* ---------- ficha de equipo ---------- */
.moderno .m-team-hero{
  position:relative; color:#fff; padding:38px 24px 64px;
  background-size:cover; background-position:center 35%; background-blend-mode:multiply;
}
.moderno .m-team-hero .m-page-head-inner{ max-width:1080px; margin:0 auto; }
.moderno .m-team-hero h1{
  margin:0 0 6px; font-size:clamp(28px,4vw,40px); font-weight:600; letter-spacing:-.2px;
  text-wrap:balance; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.moderno .m-team-hero .m-sub{ margin:0; color:#e2e7eb; font-size:15px; text-shadow:0 1px 6px rgba(0,0,0,.45); }
.moderno .m-team-hero .m-crumbs{ margin-top:18px; display:flex; gap:6px; flex-wrap:wrap; font-size:12.5px; color:#d7dde1; text-shadow:0 1px 5px rgba(0,0,0,.4); }
.moderno .m-team-hero .m-crumbs a{ color:#e2e7eb; text-decoration:none; }
.moderno .m-team-hero .m-crumbs a:hover{ color:#fff; }
.moderno .m-team-hero .m-alert{ margin-top:18px; max-width:640px; }

.moderno .m-team-info-grid{ display:grid; grid-template-columns:220px 1fr; gap:26px; align-items:start; }
.moderno .m-team-info-grid > div{ min-width:0; }
.moderno .m-team-info-grid img{ width:100%; border-radius:14px; border:1px solid var(--border); background:var(--paper); padding:14px; }
.moderno .m-team-info-grid p{ margin:0; font-size:14px; line-height:1.7; color:var(--ink); }

/* ---------- play-off (cruces directos) ---------- */
.moderno .m-bracket-group + .m-bracket-group{ margin-top:30px; padding-top:26px; border-top:1px solid var(--border); }
.moderno .m-bracket-group-title{ text-align:center; font-size:15px; font-weight:800; color:var(--navy); margin:0 0 18px; }
.moderno .m-bracket{ display:flex; gap:22px; overflow-x:auto; padding:4px 4px 14px; -webkit-overflow-scrolling:touch; }
.moderno .m-bracket-round{ display:flex; flex-direction:column; gap:16px; flex:0 0 230px; min-width:0; }
.moderno .m-bracket-round-title{ text-align:center; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); padding-bottom:8px; border-bottom:1px solid var(--border); }
.moderno .m-bracket-match{ background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px; display:block; text-decoration:none; color:inherit; transition:box-shadow .12s ease; min-width:0; }
a.m-bracket-match:hover{ box-shadow:var(--shadow); }
.moderno .m-bracket-team{ display:flex; align-items:center; gap:8px; padding:5px 0; }
.moderno .m-bracket-team img{ width:24px; height:24px; object-fit:contain; flex-shrink:0; border-radius:5px; background:var(--paper); }
.moderno .m-bracket-team-name{ flex:1; font-size:12.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.moderno .m-bracket-team-score{ font-weight:800; font-size:15px; font-variant-numeric:tabular-nums; color:var(--muted); }
.moderno .m-bracket-team.m-bracket-winner .m-bracket-team-name,
.moderno .m-bracket-team.m-bracket-winner .m-bracket-team-score{ color:var(--teal-deep); }
.moderno .m-bracket-divider{ border-top:1px solid var(--border); margin:2px 0; }
.moderno .m-bracket-meta{ margin-top:8px; text-align:center; }
.moderno .m-bracket-meta .m-bracket-time{ font-size:14px; font-weight:800; color:var(--ink); }
.moderno .m-bracket-meta .m-bracket-court{ font-size:11px; color:var(--muted); margin-top:2px; }
.moderno .m-bracket-tbd{ opacity:.55; }
.moderno .m-bracket-tbd .m-bracket-team-name{ color:var(--muted); font-weight:600; }
.moderno .m-bracket-tbd img{ opacity:.35; }
.moderno .m-bracket-champion{ background:var(--navy); border:none; border-radius:14px; padding:26px 16px; text-align:center; color:#fff; display:flex; flex-direction:column; align-items:center; }
.moderno .m-bracket-champion .m-bracket-champion-trophy{ font-size:30px; margin-bottom:10px; }
.moderno .m-bracket-champion img{ width:60px; height:60px; object-fit:contain; margin-bottom:10px; background:#fff; border-radius:12px; padding:6px; }
.moderno .m-bracket-champion-name{ font-weight:800; font-size:14.5px; }
.moderno .m-bracket-champion-label{ font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; color:#aebac3; margin-top:6px; }
.moderno .m-bracket-champion.m-bracket-tbd{ opacity:1; background:var(--surface); color:var(--muted); border:1px dashed var(--border); }
.moderno .m-bracket-champion.m-bracket-tbd .m-bracket-champion-label{ color:var(--muted); }
.moderno .m-bracket-champion.m-bracket-tbd img{ opacity:.35; }

/* ---------- ficha de jugador ---------- */
.moderno .m-player-layout{ display:grid; grid-template-columns:220px 1fr; gap:26px; align-items:start; }
.moderno .m-player-layout > div{ min-width:0; }
.moderno .m-player-photo{ position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow); }
.moderno .m-player-photo img.m-player-face{ width:100%; height:290px; object-fit:cover; display:block; background:var(--surface); }
.moderno .m-player-photo::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:92px;
  background:linear-gradient(180deg, rgba(13,18,24,0) 0%, rgba(13,18,24,.72) 100%);
  pointer-events:none;
}
.moderno .m-player-photo img.m-player-crest{
  position:absolute; top:10px; left:10px; width:40px; height:40px; object-fit:contain;
  background:#fff; border-radius:9px; padding:4px; box-shadow:0 2px 8px rgba(0,0,0,.28); z-index:2;
}
.moderno .m-player-number{
  position:absolute; bottom:8px; right:14px; z-index:2;
  color:#fff; font-weight:800; font-size:30px; letter-spacing:-.5px;
  font-variant-numeric:tabular-nums; text-shadow:0 1px 4px rgba(0,0,0,.3);
}
.moderno .m-player-info h3{ margin:0 0 8px; font-size:13px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); font-weight:800; }
.moderno .m-player-info p{ margin:0 0 20px; font-size:14px; line-height:1.7; color:var(--ink); }
.moderno .m-player-info p:last-child{ margin-bottom:0; }

/* ---------- goleadores ---------- */
.moderno .m-scorer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.moderno .m-scorer-card{ display:block; background:var(--paper); border:1px solid var(--border); border-radius:14px; overflow:hidden; text-align:center; text-decoration:none; color:inherit; min-width:0; transition:box-shadow .12s ease; }
a.m-scorer-card:hover{ box-shadow:var(--shadow); }
.moderno .m-scorer-photo{ position:relative; height:180px; overflow:hidden; background:var(--surface); }
.moderno .m-scorer-photo img.m-scorer-face{ width:100%; height:100%; object-fit:cover; display:block; }
.moderno .m-scorer-photo::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:70px;
  background:linear-gradient(180deg, rgba(13,18,24,0) 0%, rgba(13,18,24,.72) 100%);
  pointer-events:none;
}
.moderno .m-scorer-photo img.m-scorer-crest{
  position:absolute; top:8px; left:8px; width:32px; height:32px; object-fit:contain;
  background:#fff; border-radius:8px; padding:3px; box-shadow:0 2px 8px rgba(0,0,0,.28); z-index:2;
}
.moderno .m-scorer-number{
  position:absolute; bottom:6px; right:10px; z-index:2;
  color:#fff; font-weight:800; font-size:20px; text-shadow:0 1px 4px rgba(0,0,0,.3);
}
.moderno .m-scorer-body{ padding:16px; }
.moderno .m-scorer-body h4{ margin:0; font-size:14.5px; font-weight:800; display:flex; align-items:center; justify-content:center; gap:6px; }
.moderno .m-scorer-goals{ font-weight:800; color:var(--teal-deep); font-size:16.5px; margin:6px 0 2px; }
.moderno .m-scorer-equipo{ font-size:12px; color:var(--teal-deep); font-weight:700; text-decoration:none; }
.moderno .m-scorer-equipo:hover{ text-decoration:underline; }

.moderno .m-achievement-grid{ margin-top:20px; }
.moderno .m-achievement-card{ background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:13px; min-width:0; }
.moderno .m-achievement-card .m-achievement-icon{ font-size:16px; margin-bottom:6px; }
.moderno .m-achievement-card h3{ margin:0 0 3px; font-size:15px; font-weight:800; }
.moderno .m-achievement-card p{ margin:0; font-size:11px; color:var(--muted); line-height:1.45; }
.moderno .m-carousel-track > .m-achievement-card{ scroll-snap-align:start; flex:0 0 auto; width:190px; }

.moderno .m-schedule-day{ font-size:15px; font-weight:800; color:var(--navy); padding:18px 22px 0; }
.moderno .m-schedule-day:first-child{ padding-top:22px; }
.moderno .m-schedule-court{ display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; padding:10px 22px 0; }
.moderno .m-schedule-match{ display:flex; align-items:stretch; gap:16px; padding:14px 22px 14px 0; border-bottom:1px solid var(--border); }
.moderno .m-schedule-match:last-child{ border-bottom:none; }
.moderno .m-schedule-time{
  flex-shrink:0; width:60px; display:flex; align-items:center; justify-content:center;
  background:rgba(15,158,143,.08); border-left:3px solid var(--teal); border-radius:0 8px 8px 0;
  margin-left:22px; font-weight:800; font-size:15px; color:var(--ink); font-variant-numeric:tabular-nums;
}
.moderno .m-schedule-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; justify-content:center; }
.moderno .m-schedule-teams{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.moderno .m-schedule-team{ display:flex; align-items:center; gap:8px; text-decoration:none; color:inherit; min-width:0; }
.moderno .m-schedule-team:first-child{ justify-content:flex-end; }
.moderno .m-schedule-team:last-child{ justify-content:flex-start; }
.moderno .m-schedule-team img{ width:26px; height:26px; object-fit:contain; flex-shrink:0; }
.moderno .m-schedule-team span{ font-size:13px; font-weight:700; }
.moderno .m-schedule-vs{ font-size:11px; color:var(--muted); font-weight:800; flex-shrink:0; }
.moderno .m-schedule-meta{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.moderno .m-schedule-meta .m-schedule-vocal{ color:var(--ink); text-align:right; }
.moderno .m-schedule-camerino{ font-size:11.5px; color:var(--muted); text-align:center; }

.moderno .m-stat-row-icon{ cursor:pointer; font-size:15px; }
.moderno table.m-table tbody tr.m-row-danger td{ color:#c2483a; }

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .moderno .m-stats, .moderno .m-stats-plain{ grid-template-columns:repeat(2,1fr); }
  .moderno .m-cat-grid, .moderno .m-doc-grid, .moderno .m-people-grid, .moderno .m-anniv-grid, .moderno .m-sanction-grid, .moderno .m-match-grid, .moderno .m-panel-grid, .moderno .m-result-grid, .moderno .m-scorer-grid{ grid-template-columns:1fr; }
  .moderno .m-footer-grid{ grid-template-columns:1fr 1fr; }
  .moderno .m-blog-grid{ grid-template-columns:1fr; }
  .moderno .m-form-layout{ grid-template-columns:1fr; }
  .moderno .m-roster-grid{ grid-template-columns:1fr; }
  .moderno .m-team-info-grid{ grid-template-columns:1fr; }
  .moderno .m-player-layout{ grid-template-columns:1fr; }
  .moderno .m-player-photo{ max-width:220px; }
}
@media (max-width: 560px){
  .moderno .m-field-row{ grid-template-columns:1fr; }
  .moderno .m-live-meta{ grid-template-columns:1fr 1fr; }
  .moderno .m-live-meta div:nth-child(3n+1){ border-left:1px solid var(--border); }
  .moderno .m-live-meta div:nth-child(2n+1){ border-left:none; }
  .moderno .m-live-score{ font-size:32px; }
  .moderno .m-info-grid{ grid-template-columns:1fr; }
  .moderno .m-info-grid > div{ border-left:none; }
}
@media (max-width: 680px){
  .moderno .m-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--navy); flex-direction:column; gap:0; padding:8px 0; box-shadow:0 8px 16px rgba(0,0,0,.2); }
  .moderno .m-nav.m-nav-open{ display:flex; }
  .moderno .m-nav a{ padding:12px 24px; border-bottom:none; }
  .moderno .m-nav .m-dropdown{ padding:0 24px; }
  .moderno .m-nav .m-dropdown-toggle{ padding:12px 0; width:100%; text-align:left; }
  .moderno .m-nav .m-dropdown-panel{ position:static; display:block; box-shadow:none; border:none; margin:0 0 8px; background:var(--navy-2); }
  .moderno .m-nav .m-dropdown-panel a{ color:#c9d3da; }
  .moderno .m-burger{ display:block; }
  .moderno .m-page-head{ padding:28px 16px 52px; }
  .moderno .m-hero{ padding:52px 16px 76px; }
  .moderno .m-wrap{ padding:0 12px; }
  .moderno .m-section{ padding:40px 16px; }
  .moderno .m-blog-grid{ padding:0 12px 40px; }
  .moderno .m-card-head{ padding:14px 16px; }
  .moderno table.m-standings thead th, .moderno td{ font-size:12.5px; }
  .moderno td.col-team, .moderno td.col-pos, .moderno table.m-standings thead th.col-team, .moderno table.m-standings thead th.col-pos{ padding-left:12px; }
  .moderno table.m-standings tbody td.col-team{ position:sticky; left:0; background:var(--paper); z-index:1; }
  .moderno .m-stats{ grid-template-columns:1fr 1fr; margin-top:-30px; }
  .moderno .m-footer-grid{ grid-template-columns:1fr; }
}
.text-center {
  text-align: center !important;
}
div.m-dropdown-panel > a.current {
  color: var(--teal-deep) !important;
}
body {
  margin: 0px !important;
}
