/* FULBO 2.23 — Menú móvil, fixture en lista y simulador independiente. */
/* El menú desplegado debe estar SIEMPRE por encima del encabezado y los filtros. */
@media(max-width:750px){
  .sidebar{z-index:110!important;width:min(315px,86vw)!important;max-width:86vw;overscroll-behavior:contain}
  .sidebar-backdrop{z-index:105!important}
  .topbar{z-index:80!important}
  .context-toolbar{z-index:65!important}
  body:has(.sidebar.open){overflow:hidden}
  .sidebar .league-name{min-width:0}
  .sidebar.open{box-shadow:12px 0 50px rgba(0,0,0,.45)}
}
/* Dos franjas móviles distintas: filtros sobre Hoy y el buscador. No solapar, no achicar la búsqueda. */
@media(max-width:760px){
  .context-toolbar:not(.is-league){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;align-items:stretch!important;position:sticky;top:60px;padding:7px 0!important;margin-bottom:10px!important;min-width:0;box-sizing:border-box}
  .context-toolbar:not(.is-league) .context-filters{grid-row:1;display:flex!important;max-width:100%;overflow-x:auto!important;min-width:0;gap:7px;scrollbar-width:none}
  .context-toolbar:not(.is-league) .context-filters[hidden]{display:none!important}
  .context-toolbar:not(.is-league) .filter-list{flex-wrap:nowrap!important;gap:6px!important;width:auto;max-width:100%}
  .context-toolbar:not(.is-league) .filter-chip{flex:0 0 auto;min-width:0;font-size:12px!important;padding:8px 12px!important}
  .context-toolbar:not(.is-league) .controls{grid-row:2;display:flex!important;flex:1 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:7px!important;margin:0!important}
  .context-toolbar:not(.is-league) .date-strip{display:flex!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;height:39px!important}
  .context-toolbar:not(.is-league) .date-arrow{display:none!important}
  .context-toolbar:not(.is-league) .date-center{min-width:0;font-size:11px!important;white-space:nowrap;padding:0 5px!important}
  .context-toolbar:not(.is-league) .search-wrap{display:block!important;flex:1 1 0!important;width:auto!important;max-width:none!important;min-width:0!important}
  .context-toolbar:not(.is-league) .search-wrap input{height:39px!important;font-size:13px!important;width:100%;max-width:100%}
  .context-toolbar:not(.is-league)[data-view="live"] .date-strip{display:none!important}
  .context-toolbar:not(.is-league)[data-view="live"] .controls{grid-row:1!important}
  .context-toolbar:not(.is-league):not(:has(.context-filters:not([hidden]))) .controls{grid-row:1!important}
  .context-toolbar:not(.is-league) .context-filters .count-pill{display:none!important}
  .context-toolbar .search-wrap{overflow:hidden}
  .context-toolbar .search-wrap input{min-width:0!important}
}
@media(max-width:370px){
  .context-toolbar:not(.is-league) .date-strip{flex-basis:98px!important;max-width:98px!important}
}
/* Fixture compacto: UNA fila por partido, no tarjetas altas ni grillas de dos columnas. */
.league-tables-fixture-layout .fixture-mini-list,
.league-tables-fixture-layout.multi-groups .fixture-mini-list,
.league-tables-fixture-layout .fixture-compact-list{
  display:flex!important;flex-direction:column!important;gap:0!important;
  max-height:470px;overflow-y:auto;overflow-x:hidden;min-width:0;
  border:1px solid var(--line);border-radius:9px;background:var(--surface)
}
.league-tables-fixture-layout .fixture-list-row{
  display:grid!important;grid-template-columns:43px minmax(0,1fr) 44px!important;align-items:center;
  min-height:38px!important;max-height:none;gap:6px!important;padding:5px 8px!important;
  border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;width:100%;min-width:0;max-width:100%;
}
.league-tables-fixture-layout .fixture-list-row:last-child{border-bottom:0!important}
.league-tables-fixture-layout .fixture-list-row:hover{background:var(--panel2)!important}
.fixture-list-row .fixture-mini-time{font-size:10px!important;line-height:1.18}
.fixture-list-row .fixture-mini-time small{font-size:9px!important}
.fixture-list-row .fixture-mini-main{display:grid!important;grid-template-columns:minmax(0,1fr) 7px minmax(0,1fr);align-items:center;gap:3px!important;min-width:0}
.fixture-list-row .fixture-team{display:flex!important;align-items:center;gap:4px;min-width:0;overflow:hidden}
.fixture-list-row .fixture-team strong{font-size:11px;font-weight:750;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fixture-list-row .fixture-team .fixture-logo{height:16px;width:16px;flex:0 0 16px;object-fit:contain}
.fixture-list-row .fixture-mini-separator{text-align:center;color:var(--muted);font-size:10px}
.fixture-list-row .fixture-mini-score{font-size:11px!important;white-space:nowrap;text-align:right}
.league-fixture-rail .data-clarification{font-size:10px!important;padding:8px 0 0!important;margin:0!important}
.league-fixture-rail .fixture-side-head{margin-bottom:7px!important}
.league-fixture-rail .fixture-side-controls{margin-bottom:6px!important}
.league-fixture-rail .fixture-side-meta{padding-bottom:5px!important}
@media(max-width:760px){
  .league-tables-fixture-layout .fixture-mini-list,.league-tables-fixture-layout.multi-groups .fixture-mini-list{max-height:380px}
  .league-tables-fixture-layout .fixture-list-row{grid-template-columns:39px minmax(0,1fr) 42px!important;padding:5px!important;gap:4px!important}
  .fixture-list-row .fixture-team strong{font-size:10.5px}
}
/* Simulador independiente: octavos a izquierda y derecha, final en el centro. */
.sim-shell{max-width:1600px!important;width:100%;margin:auto}
.sim-page-container{max-width:1580px!important}
.sim-bracket.sim-mirrored{
 display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.35fr)!important;
 gap:7px!important;align-items:start!important;min-width:0;max-width:100%;
}
.sim-mirrored .sim-round{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:6px}
.sim-mirrored .sim-round .sim-games,.sim-mirrored .sim-round:nth-child(n) .sim-games{
 height:420px;display:flex!important;flex-direction:column!important;justify-content:space-around!important;
 gap:0!important;grid-template-rows:none!important;min-width:0;margin:0!important
}
.sim-mirrored .sim-round .sim-game{flex:0 0 auto!important;width:100%;min-width:0;box-sizing:border-box;max-width:100%}
.sim-mirrored .sim-round h4{font-size:11px!important;line-height:1.15;min-height:26px!important;margin:0!important;display:grid;place-items:center;padding:5px 2px!important}
.sim-mirrored .sim-game-title{font-size:9px!important}
.sim-mirrored .sim-competitor{min-height:25px!important;padding:2px!important;gap:2px!important}
.sim-mirrored .sim-competitor .sim-team-text strong{font-size:10px!important;line-height:1.14!important}
.sim-mirrored .sim-competitor .sim-crest{flex:0 0 16px!important;width:16px!important;height:16px!important}
.sim-mirrored .sim-counter{gap:1px!important}
.sim-mirrored .sim-counter button{height:20px!important;width:19px!important;font-size:13px!important}
.sim-mirrored .sim-counter b{min-width:10px;font-size:11px!important}
.sim-mirrored .sim-penalty-inline .sim-counter button{width:16px!important;height:18px!important}
.sim-mirrored .sim-penalty-inline{flex-wrap:wrap;gap:2px!important}
.sim-mirrored .sim-final-center .sim-game{border:1px solid #79c35b;background:var(--panel2)}
.sim-league-link{color:var(--accent)!important;font-weight:850!important;white-space:nowrap!important}
@media(min-width:1301px){
  .sim-mirrored .sim-round:not(.sim-final-center) .sim-game{position:relative}
  .sim-mirrored .sim-oct-left .sim-game::after,.sim-mirrored .sim-quarter-left .sim-game::after,.sim-mirrored .sim-semi-left .sim-game::after{
   content:'';position:absolute;left:100%;top:50%;width:7px;border-top:1px solid var(--line);pointer-events:none}
  .sim-mirrored .sim-oct-right .sim-game::before,.sim-mirrored .sim-quarter-right .sim-game::before,.sim-mirrored .sim-semi-right .sim-game::before{
   content:'';position:absolute;right:100%;top:50%;width:7px;border-top:1px solid var(--line);pointer-events:none}
}
/* En resoluciones medias, dos ramas compactas en vez de siete columnas apretadas. */
@media(max-width:1300px){
 .sim-bracket.sim-mirrored{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
 .sim-mirrored .sim-round{padding:0!important}
 .sim-mirrored .sim-round .sim-games,.sim-mirrored .sim-round:nth-child(n) .sim-games{height:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px!important}
 .sim-mirrored .sim-oct-left{grid-column:1/4;grid-row:1}
 .sim-mirrored .sim-quarter-left{grid-column:1/3;grid-row:2}
 .sim-mirrored .sim-semi-left{grid-column:3;grid-row:2}
 .sim-mirrored .sim-final-center{grid-column:1/4;grid-row:3}
 .sim-mirrored .sim-semi-right{grid-column:3;grid-row:4}
 .sim-mirrored .sim-quarter-right{grid-column:1/3;grid-row:4}
 .sim-mirrored .sim-oct-right{grid-column:1/4;grid-row:5}
 .sim-mirrored .sim-final-center .sim-games,.sim-mirrored .sim-semi-left .sim-games,.sim-mirrored .sim-semi-right .sim-games{grid-template-columns:1fr!important}
 .sim-mirrored .sim-final-center .sim-game{max-width:450px;margin:0 auto!important}
}
@media(max-width:580px){
 .sim-bracket.sim-mirrored{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .sim-mirrored .sim-oct-left{grid-column:1;grid-row:1}
 .sim-mirrored .sim-quarter-left{grid-column:1;grid-row:2}
 .sim-mirrored .sim-semi-left{grid-column:1;grid-row:3}
 .sim-mirrored .sim-final-center{grid-column:1;grid-row:4}
 .sim-mirrored .sim-semi-right{grid-column:1;grid-row:5}
 .sim-mirrored .sim-quarter-right{grid-column:1;grid-row:6}
 .sim-mirrored .sim-oct-right{grid-column:1;grid-row:7}
 .sim-mirrored .sim-round .sim-games,.sim-mirrored .sim-round:nth-child(n) .sim-games{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sim-mirrored .sim-semi-left .sim-games,.sim-mirrored .sim-semi-right .sim-games,.sim-mirrored .sim-final-center .sim-games{grid-template-columns:1fr!important}
 .sim-mirrored .sim-competitor .sim-team-text strong{font-size:9.8px!important}
 .sim-mirrored .sim-counter button{width:17px!important;height:19px!important}
 .sim-mirrored .sim-counter b{font-size:10px!important}
}
@media(max-width:345px){.sim-mirrored .sim-oct-left .sim-games,.sim-mirrored .sim-oct-right .sim-games{grid-template-columns:1fr!important}}
