/* AR-018 — orden de cascada preservado: rc61 → rc62 → rc63 → rc68 → dark → rc69, después de rc60. */
/* EventosApp Bingo rc61 — legibilidad de letra y patrón activo */

/* -------------------------------------------------------------------------
 * Balota pública: la letra debe ser inequívoca a distancia.
 * El color B/I/N/G/O permanece en balota y tablero; la letra usa siempre
 * blanco sobre una superficie oscura estable.
 * ------------------------------------------------------------------------- */
.ev-bingo-public-stage .evbp-call-letter-wrap{
  min-width:86px!important;
  min-height:60px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(7,17,33,.72)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 26px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(10px);
}
.ev-bingo-public-stage .evbp-call-meta .evbp-ball-letter{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.28)!important;
}

/* -------------------------------------------------------------------------
 * Objetivo activo: el renderer ya entrega .evbp-pattern-grid. El contenedor
 * histórico seguía comportándose como si recibiera <i> directos y comprimía
 * el grid interno dentro de 1/5 del ancho. rc61 hace que la ilustración ocupe
 * el área completa y refuerza la lectura de celdas activas/inactivas.
 * ------------------------------------------------------------------------- */
.ev-bingo-public-stage .evbp-objective-card{
  grid-template-columns:116px minmax(0,1fr)!important;
  gap:16px!important;
}
.ev-bingo-public-stage .evbp-pattern{
  width:116px!important;
  height:116px!important;
  display:block!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:20px!important;
  background:rgba(7,17,33,.30)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 30px rgba(0,0,0,.12)!important;
  overflow:hidden;
}
.ev-bingo-public-stage .evbp-pattern>.evbp-pattern-grid{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-auto-rows:1fr!important;
  gap:5px!important;
}
.ev-bingo-public-stage .evbp-pattern>.evbp-pattern-grid i{
  min-width:0;
  min-height:0;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.11)!important;
  box-shadow:none!important;
}
.ev-bingo-public-stage .evbp-pattern>.evbp-pattern-grid i.on{
  border-color:rgba(255,255,255,.92)!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.18)!important;
}

/* Mientras llega el primer estado público, el recuadro no debe parecer una
 * imagen rota o un placeholder accidental. */
.ev-bingo-public-stage .evbp-pattern:empty{
  display:grid!important;
  place-items:center!important;
}
.ev-bingo-public-stage .evbp-pattern:empty::before{
  content:"Patrón";
  color:rgba(255,255,255,.54);
  font-size:9px;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .ev-bingo-public-stage .evbp-objective-card{
    grid-template-columns:100px minmax(0,1fr)!important;
  }
  .ev-bingo-public-stage .evbp-pattern{
    width:100px!important;
    height:100px!important;
    padding:9px!important;
  }
}

@media(max-width:620px){
  .ev-bingo-public-stage .evbp-call-letter-wrap{
    min-width:76px!important;
    min-height:54px!important;
  }
  .ev-bingo-public-stage .evbp-objective-card{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .ev-bingo-public-stage .evbp-pattern{
    width:88px!important;
    height:88px!important;
    padding:8px!important;
  }
  .ev-bingo-public-stage .evbp-pattern>.evbp-pattern-grid{gap:4px!important}
}

/* EventosApp Bingo rc62 — estabilidad final de la balota pública */

/*
 * El renderer base conserva la clase histórica `.pop` cuando `current` cambia.
 * rc59 ya controla una única transición is-rolling -> rc59-settled, pero al
 * finalizar ese asentamiento la regla antigua de `.pop` podía volver a quedar
 * activa y ejecutar tarde un scale(.72) -> scale(1.13), generando el glitch
 * visible de balota pequeña/grande después de haber sido anunciada.
 *
 * rc62 neutraliza únicamente ese segundo efecto en la pantalla pública.
 * - is-rolling conserva evBingoRc59Mix.
 * - rc59-settled conserva evBingoRc59Settle.
 * - una vez terminado el asentamiento, `.pop` ya no puede iniciar otra escala.
 */
.ev-bingo-public-stage .evbp-ball{
  transition:none!important;
}

.ev-bingo-public-stage .evbp-ball.pop:not(.is-rolling):not(.rc59-settled){
  animation:none!important;
  transform:none!important;
  filter:none!important;
}

@media(prefers-reduced-motion:reduce){
  .ev-bingo-public-stage .evbp-ball{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}

/* EventosApp Bingo rc63 — letra externa en control del organizador */

.ev-bingo-admin .ev-bingo-live-stage{
  grid-template-columns:210px minmax(0,1fr);
}

.ev-bingo-admin .ev-bingo-live-visual{
  min-width:0;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:10px;
}

.ev-bingo-admin .ev-bingo-live-ball-meta{
  display:grid;
  justify-items:center;
  gap:7px;
  width:100%;
}

.ev-bingo-admin .ev-bingo-live-ball-kicker{
  color:rgba(255,255,255,.66);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ev-bingo-admin .ev-bingo-live-letter-wrap{
  min-width:74px;
  min-height:54px;
  padding:4px 17px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.20);
  border-radius:17px;
  background:rgba(7,17,33,.74);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px rgba(0,0,0,.18);
}

.ev-bingo-admin .ev-bingo-live-letter-wrap #ev-bingo-ball-letter{
  display:block;
  margin:0;
  padding:0;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:40px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.03em;
  opacity:1;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

/* La esfera del organizador queda dedicada exclusivamente al número. */
.ev-bingo-admin .ev-bingo-live-ball{
  margin:0 auto;
}

.ev-bingo-admin .ev-bingo-live-ball #ev-bingo-ball-number{
  margin-top:0;
}

@media(max-width:760px){
  .ev-bingo-admin .ev-bingo-live-stage{
    grid-template-columns:1fr;
  }
  .ev-bingo-admin .ev-bingo-live-visual{
    margin-bottom:4px;
  }
  .ev-bingo-admin .ev-bingo-live-letter-wrap{
    min-width:70px;
    min-height:50px;
  }
  .ev-bingo-admin .ev-bingo-live-letter-wrap #ev-bingo-ball-letter{
    font-size:36px;
  }
}

/* EventosApp Bingo rc68 — centro administrativo, modos de cartón y edición de ganadores */

/* -------------------------------------------------------------------------
 * Aislamiento frente a Elementor / theme.
 * La UI del Bingo debe conservar su sistema visual sin heredar botones,
 * controles, text-transform, sombras o colores globales del constructor.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin button,
.ev-bingo-admin input,
.ev-bingo-admin select,
.ev-bingo-admin textarea {
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: normal;
}

.ev-bingo-admin button.ev-bingo-btn,
.ev-bingo-admin a.ev-bingo-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 42px !important;
  padding: 9px 15px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--bingo-brand) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ev-bingo-admin button.ev-bingo-btn:hover,
.ev-bingo-admin button.ev-bingo-btn:focus-visible,
.ev-bingo-admin a.ev-bingo-btn:hover,
.ev-bingo-admin a.ev-bingo-btn:focus-visible {
  background: var(--bingo-brand-dark) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 8px 18px color-mix(in srgb,var(--bingo-brand) 24%,transparent) !important;
}
.ev-bingo-admin button.ev-bingo-btn.secondary,
.ev-bingo-admin a.ev-bingo-btn.secondary {
  border-color: var(--bingo-border) !important;
  background: var(--bingo-surface) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
}
.ev-bingo-admin button.ev-bingo-btn.secondary:hover,
.ev-bingo-admin button.ev-bingo-btn.secondary:focus-visible,
.ev-bingo-admin a.ev-bingo-btn.secondary:hover,
.ev-bingo-admin a.ev-bingo-btn.secondary:focus-visible {
  border-color: color-mix(in srgb,var(--bingo-brand) 42%,var(--bingo-border)) !important;
  background: color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface)) !important;
  color: var(--bingo-brand-dark) !important;
  -webkit-text-fill-color: var(--bingo-brand-dark) !important;
}
.ev-bingo-admin button.ev-bingo-btn.success { background: #138a50 !important; }
.ev-bingo-admin button.ev-bingo-btn.success:hover { background: #0d7140 !important; }
.ev-bingo-admin button.ev-bingo-btn.danger { background: #c7342b !important; }
.ev-bingo-admin button.ev-bingo-btn.danger:hover { background: #a72923 !important; }
.ev-bingo-admin button.ev-bingo-btn:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}
.ev-bingo-admin .ev-bingo-btn svg,
.ev-bingo-admin .ev-bingo-rc68-icon svg,
.ev-bingo-admin .ev-bingo-icon-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ev-bingo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.ev-bingo-admin select,
.ev-bingo-admin textarea {
  border-color: var(--bingo-border) !important;
  background: var(--bingo-input) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
  box-shadow: none !important;
}
.ev-bingo-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
.ev-bingo-admin select:focus,
.ev-bingo-admin textarea:focus {
  outline: 0 !important;
  border-color: var(--bingo-brand) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--bingo-brand) 13%,transparent) !important;
}

/* -------------------------------------------------------------------------
 * Hero: Nueva partida pasa al Centro de mando.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-legacy-new-game { display: none !important; }

/* -------------------------------------------------------------------------
 * Centro de mando y resumen de configuración.
 * ------------------------------------------------------------------------- */
.ev-bingo-command-center {
  margin: 0 0 14px;
  border: 1px solid var(--bingo-border);
  border-radius: 22px;
  background: var(--bingo-surface);
  box-shadow: var(--bingo-shadow);
  overflow: hidden;
}
.ev-bingo-command-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid var(--bingo-border);
  background:
    radial-gradient(circle at 92% 15%,color-mix(in srgb,var(--bingo-brand) 12%,transparent) 0 74px,transparent 76px),
    linear-gradient(135deg,var(--bingo-surface) 0%,var(--bingo-surface-soft) 100%);
}
.ev-bingo-command-title h2 {
  margin: 4px 0 4px;
  color: var(--bingo-ink);
  font-size: 21px;
  line-height: 1.16;
  letter-spacing: -.025em;
}
.ev-bingo-command-title p {
  max-width: 700px;
  margin: 0;
  color: var(--bingo-muted);
  font-size: 12.5px;
  line-height: 1.5;
}
.ev-bingo-command-primary {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 10px;
}
.ev-bingo-state-hero {
  min-width: 176px;
  padding: 10px 12px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid var(--bingo-border);
  border-radius: 14px;
  background: var(--bingo-surface);
}
.ev-bingo-state-hero > small {
  color: var(--bingo-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ev-bingo-state-hero .ev-bingo-badge {
  min-height: 36px;
  padding: 7px 11px;
  justify-content: flex-start;
  font-size: 12px;
  font-weight: 900;
}
.ev-bingo-state-hero[data-status="live"] {
  border-color: color-mix(in srgb,#13a663 42%,var(--bingo-border));
  background: color-mix(in srgb,#13a663 6%,var(--bingo-surface));
}
.ev-bingo-state-hero[data-status="paused"] {
  border-color: color-mix(in srgb,#e38a16 45%,var(--bingo-border));
  background: color-mix(in srgb,#e38a16 6%,var(--bingo-surface));
}
.ev-bingo-state-hero[data-status="finished"] {
  border-color: color-mix(in srgb,#c7342b 38%,var(--bingo-border));
  background: color-mix(in srgb,#c7342b 5%,var(--bingo-surface));
}
.ev-bingo-badge.is-finished {
  color: #a72923;
  border-color: color-mix(in srgb,#c7342b 34%,var(--bingo-border));
  background: color-mix(in srgb,#c7342b 7%,var(--bingo-surface));
}
.ev-bingo-badge.is-finished::before { background: #c7342b; box-shadow: 0 0 0 4px rgba(199,52,43,.12); }
.ev-bingo-badge.is-setup {
  color: var(--bingo-brand-dark);
  border-color: color-mix(in srgb,var(--bingo-brand) 30%,var(--bingo-border));
  background: color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface));
}
.ev-bingo-badge.is-setup::before { background: var(--bingo-brand); box-shadow: 0 0 0 4px color-mix(in srgb,var(--bingo-brand) 13%,transparent); }

.ev-bingo-admin button.ev-bingo-new-game-rc68 {
  min-width: 184px !important;
  min-height: 62px !important;
  padding: 9px 15px !important;
  justify-content: flex-start !important;
  border-color: color-mix(in srgb,var(--bingo-brand) 48%,transparent) !important;
  box-shadow: 0 10px 20px color-mix(in srgb,var(--bingo-brand) 18%,transparent) !important;
}
.ev-bingo-new-game-rc68 > span:last-child { display: grid; gap: 1px; text-align: left; }
.ev-bingo-new-game-rc68 small { color: rgba(255,255,255,.72); font-size: 9px; font-weight: 750; }
.ev-bingo-new-game-rc68 strong { color: #fff; font-size: 13px; font-weight: 900; }

.ev-bingo-setup-flow {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  padding: 0 20px;
  border-bottom: 1px solid var(--bingo-border);
  background: var(--bingo-surface);
}
.ev-bingo-setup-flow article {
  position: relative;
  min-width: 0;
  min-height: 82px;
  padding: 15px 16px 15px 42px;
  display: grid;
  align-content: center;
  border-right: 1px solid var(--bingo-border);
}
.ev-bingo-setup-flow article:last-child { border-right: 0; }
.ev-bingo-flow-step {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb,var(--bingo-brand) 11%,var(--bingo-surface));
  color: var(--bingo-brand-dark);
  font-size: 10px;
  font-weight: 950;
}
.ev-bingo-setup-flow small {
  display: block;
  color: var(--bingo-muted);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}
.ev-bingo-setup-flow strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: var(--bingo-ink);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.35;
}

.ev-bingo-card-mode-panel {
  display: grid;
  grid-template-columns: minmax(210px,.62fr) minmax(0,1.6fr);
  gap: 18px;
  align-items: center;
  padding: 18px 20px 20px;
  background: var(--bingo-surface-soft);
}
.ev-bingo-card-mode-copy h3 {
  margin: 4px 0 3px;
  color: var(--bingo-ink);
  font-size: 16px;
}
.ev-bingo-card-mode-copy p {
  margin: 0;
  color: var(--bingo-muted);
  font-size: 11px;
  line-height: 1.45;
}
.ev-bingo-card-mode-options {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}
.ev-bingo-admin button.ev-bingo-card-mode-option {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative;
  min-width: 0;
  min-height: 92px;
  margin: 0 !important;
  padding: 12px 34px 12px 12px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--bingo-border) !important;
  border-radius: 14px !important;
  background: var(--bingo-surface) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
}
.ev-bingo-admin button.ev-bingo-card-mode-option:hover {
  border-color: color-mix(in srgb,var(--bingo-brand) 44%,var(--bingo-border)) !important;
  background: color-mix(in srgb,var(--bingo-brand) 4%,var(--bingo-surface)) !important;
}
.ev-bingo-admin button.ev-bingo-card-mode-option.active {
  border-color: var(--bingo-brand) !important;
  background: color-mix(in srgb,var(--bingo-brand) 8%,var(--bingo-surface)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--bingo-brand) 9%,transparent) !important;
}
.ev-bingo-card-mode-option .ev-bingo-rc68-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb,var(--bingo-brand) 9%,var(--bingo-surface));
  color: var(--bingo-brand);
}
.ev-bingo-card-mode-option span:nth-child(2) { min-width: 0; }
.ev-bingo-card-mode-option strong { display: block; color: var(--bingo-ink); font-size: 11px; font-weight: 900; line-height: 1.25; }
.ev-bingo-card-mode-option small { display: block; margin-top: 4px; color: var(--bingo-muted); font-size: 9px; line-height: 1.35; }
.ev-bingo-card-mode-option > i {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 17px;
  height: 17px;
  border: 2px solid var(--bingo-border);
  border-radius: 50%;
  background: var(--bingo-surface);
}
.ev-bingo-card-mode-option.active > i { border: 5px solid var(--bingo-brand); }

/* -------------------------------------------------------------------------
 * Área operativa en una sola columna: evita solapamientos y anchos rígidos.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-workspace {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ev-bingo-admin .ev-bingo-panel {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible;
}
.ev-bingo-admin .ev-bingo-panel-head > div { min-width: 0; }
.ev-bingo-admin .ev-bingo-panel-head h2,
.ev-bingo-admin .ev-bingo-panel-head p { overflow-wrap: anywhere; }

.ev-bingo-admin .ev-bingo-live-stage {
  grid-template-columns: minmax(180px,220px) minmax(0,1fr) !important;
  gap: clamp(16px,2.5vw,30px) !important;
  min-width: 0 !important;
  min-height: 260px;
}
.ev-bingo-admin .ev-bingo-live-copy { min-width: 0; }
.ev-bingo-admin .ev-bingo-live-controls {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(118px,auto)) minmax(90px,1fr) auto auto;
  align-items: center;
  gap: 8px !important;
}
.ev-bingo-admin .ev-bingo-live-controls > * { min-width: 0; }
.ev-bingo-admin .ev-bingo-live-controls .ev-bingo-btn { width: 100% !important; }
.ev-bingo-admin .ev-bingo-live-controls .ev-bingo-manual {
  width: 100% !important;
  min-width: 90px !important;
  margin: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.25) !important;
}
.ev-bingo-admin .ev-bingo-live-controls .ev-bingo-manual::placeholder {
  color: rgba(255,255,255,.62) !important;
  -webkit-text-fill-color: rgba(255,255,255,.62) !important;
}
.ev-bingo-admin .ev-bingo-numberboard { min-width: 0; overflow-x: auto; padding-bottom: 2px; }
.ev-bingo-admin .ev-bingo-board-row { min-width: 690px; }

/* Objetivo activo ocupa todo el ancho y separa selección, patrón y ganadores. */
.ev-bingo-admin .ev-bingo-target-card {
  display: grid !important;
  grid-template-columns: minmax(220px,.62fr) minmax(320px,1.38fr) !important;
  gap: 14px 18px !important;
  align-items: start;
}
.ev-bingo-admin .ev-bingo-target-card > .ev-bingo-panel-head { grid-column: 1/-1; margin-bottom: 0; }
.ev-bingo-admin .ev-bingo-target-card > .ev-bingo-field { min-width: 0; }
.ev-bingo-admin .ev-bingo-target-card > .ev-bingo-pattern-stage {
  grid-column: 2;
  grid-row: 2 / span 2;
  min-height: 132px;
  margin: 0;
}
.ev-bingo-admin .ev-bingo-target-card > .ev-bingo-claims {
  grid-column: 1/-1;
  max-height: none !important;
  overflow: visible !important;
  border-top: 0 !important;
}

.ev-bingo-claim-rc68 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
  padding: 12px 13px !important;
  border: 1px solid var(--bingo-border) !important;
  border-radius: 13px;
  background: var(--bingo-surface-soft);
}
.ev-bingo-claim-rc68.is-manual { border-color: color-mix(in srgb,var(--bingo-brand) 26%,var(--bingo-border)) !important; }
.ev-bingo-claim-main { min-width: 0; }
.ev-bingo-claim-main strong { font-size: 12px !important; }
.ev-bingo-claim-main small { font-size: 10px !important; line-height: 1.4; }
.ev-bingo-claim-main p { margin: 5px 0 0; color: var(--bingo-muted); font-size: 10px; line-height: 1.4; }
.ev-bingo-claim-badges { margin-bottom: 5px; }
.ev-bingo-claim-badges span {
  display: inline-flex;
  padding: 3px 7px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--bingo-brand) 9%,var(--bingo-surface));
  color: var(--bingo-brand-dark);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ev-bingo-claim-actions { flex: 0 0 auto; display: flex; gap: 6px; }
.ev-bingo-admin button.ev-bingo-icon-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--bingo-border) !important;
  border-radius: 10px !important;
  background: var(--bingo-surface) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ev-bingo-admin button.ev-bingo-icon-button:hover,
.ev-bingo-admin button.ev-bingo-icon-button:focus-visible {
  border-color: var(--bingo-brand) !important;
  color: var(--bingo-brand-dark) !important;
  -webkit-text-fill-color: var(--bingo-brand-dark) !important;
  background: color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface)) !important;
}
.ev-bingo-admin button.ev-bingo-icon-button.danger:hover,
.ev-bingo-admin button.ev-bingo-icon-button.danger:focus-visible {
  border-color: color-mix(in srgb,#c7342b 50%,var(--bingo-border)) !important;
  color: #c7342b !important;
  -webkit-text-fill-color: #c7342b !important;
  background: color-mix(in srgb,#c7342b 7%,var(--bingo-surface)) !important;
}

/* -------------------------------------------------------------------------
 * Asignación manual sale del lateral y ocupa una zona cómoda de ancho total.
 * ------------------------------------------------------------------------- */
.ev-bingo-award-zone {
  margin: 0 0 14px;
  border: 1px solid var(--bingo-border);
  border-radius: 22px;
  background: var(--bingo-surface);
  box-shadow: var(--bingo-shadow);
  overflow: hidden;
}
.ev-bingo-award-zone-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 20px;
  background: linear-gradient(135deg,color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface)) 0%,var(--bingo-surface-soft) 100%);
}
.ev-bingo-award-zone-head h2 { margin: 4px 0 2px; color: var(--bingo-ink); font-size: 17px; }
.ev-bingo-award-zone-head p { margin: 0; color: var(--bingo-muted); font-size: 11px; line-height: 1.45; }
.ev-bingo-award-zone-body { padding: 0 20px 20px; }
.ev-bingo-award-zone-body[hidden] { display: none !important; }
.ev-bingo-award-zone .ev-bingo-manual-award {
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 16px !important;
}
.ev-bingo-award-zone .ev-bingo-search-primary {
  grid-template-columns: minmax(180px,.56fr) minmax(300px,1.44fr) !important;
}
.ev-bingo-award-zone .ev-bingo-search-secondary {
  grid-template-columns: repeat(3,minmax(180px,1fr)) !important;
}
.ev-bingo-award-zone .ev-bingo-person-results { max-height: 330px !important; }
.ev-bingo-award-zone .ev-bingo-award-fields {
  display: grid !important;
  grid-template-columns: minmax(220px,.72fr) minmax(280px,1fr) auto !important;
  align-items: end !important;
  gap: 9px !important;
}
.ev-bingo-award-zone .ev-bingo-award-fields > * { min-width: 0; }
.ev-bingo-award-zone .ev-bingo-award-fields .ev-bingo-btn { min-width: 170px !important; }

/* El selector legacy rc58 queda absorbido por el modo unificado rc68. */
.ev-bingo-admin #ev-bingo-physical-mode { display: none !important; }
.ev-bingo-admin [data-bingo-tab="physical"][hidden],
.ev-bingo-admin [data-bingo-panel="physical"][hidden] { display: none !important; }

/* -------------------------------------------------------------------------
 * Configuración inferior: tabs con más contraste e iconografía explícita.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-config-shell { border-color: color-mix(in srgb,var(--bingo-brand) 16%,var(--bingo-border)); }
.ev-bingo-admin .ev-bingo-tabs {
  gap: 7px !important;
  padding: 10px !important;
  background: color-mix(in srgb,var(--bingo-brand) 5%,var(--bingo-surface-soft)) !important;
}
.ev-bingo-admin button.ev-bingo-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--bingo-muted) !important;
  -webkit-text-fill-color: var(--bingo-muted) !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ev-bingo-admin button.ev-bingo-tab:hover {
  border-color: color-mix(in srgb,var(--bingo-brand) 20%,var(--bingo-border)) !important;
  background: color-mix(in srgb,var(--bingo-brand) 5%,var(--bingo-surface)) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
}
.ev-bingo-admin button.ev-bingo-tab.active {
  border-color: color-mix(in srgb,var(--bingo-brand) 28%,var(--bingo-border)) !important;
  background: var(--bingo-surface) !important;
  color: var(--bingo-brand-dark) !important;
  -webkit-text-fill-color: var(--bingo-brand-dark) !important;
  box-shadow: 0 5px 14px color-mix(in srgb,var(--bingo-ink) 7%,transparent) !important;
}
.ev-bingo-tab .ev-bingo-rc68-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface));
  color: var(--bingo-brand);
}
.ev-bingo-tab.active .ev-bingo-rc68-icon { background: color-mix(in srgb,var(--bingo-brand) 12%,var(--bingo-surface)); }
.ev-bingo-tab .ev-bingo-rc68-icon svg { width: 15px; height: 15px; }

/* -------------------------------------------------------------------------
 * Editor modal de una asignación manual.
 * ------------------------------------------------------------------------- */
.ev-bingo-modal-open { overflow: hidden !important; }
.ev-bingo-claim-editor-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  padding: 24px;
  display: grid;
  place-items: center;
  background: rgba(8,15,29,.58);
  backdrop-filter: blur(5px);
}
.ev-bingo-claim-editor-overlay[hidden] { display: none !important; }
.ev-bingo-claim-editor {
  width: min(820px,calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid var(--bingo-border);
  border-radius: 20px;
  background: var(--bingo-surface);
  color: var(--bingo-ink);
  box-shadow: 0 24px 70px rgba(6,14,28,.28);
}
.ev-bingo-claim-editor > header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--bingo-border);
  background: var(--bingo-surface);
}
.ev-bingo-claim-editor > header h2 { margin: 4px 0 2px; color: var(--bingo-ink); font-size: 19px; }
.ev-bingo-claim-editor > header p { margin: 0; color: var(--bingo-muted); font-size: 11px; }
.ev-bingo-editor-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(280px,.78fr);
  gap: 18px;
  padding: 20px;
}
.ev-bingo-editor-person,
.ev-bingo-editor-fields { min-width: 0; }
.ev-bingo-editor-person > label,
.ev-bingo-editor-fields > label {
  display: block;
  margin: 0 0 6px;
  color: var(--bingo-muted);
  font-size: 10px;
  font-weight: 850;
}
#ev-bingo-editor-person-card {
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid color-mix(in srgb,var(--bingo-brand) 25%,var(--bingo-border));
  border-radius: 12px;
  background: color-mix(in srgb,var(--bingo-brand) 6%,var(--bingo-surface));
}
#ev-bingo-editor-person-card strong { display: block; color: var(--bingo-ink); font-size: 12px; }
#ev-bingo-editor-person-card span { display: block; margin-top: 3px; color: var(--bingo-muted); font-size: 10px; }
.ev-bingo-editor-search { position: relative; }
.ev-bingo-editor-search .ev-bingo-rc68-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  color: var(--bingo-muted);
  pointer-events: none;
}
.ev-bingo-editor-search input { width: 100% !important; min-height: 44px !important; padding-left: 37px !important; border-radius: 10px !important; }
.ev-bingo-editor-results {
  display: grid;
  gap: 6px;
  max-height: 220px;
  overflow: auto;
  margin-top: 8px;
}
.ev-bingo-editor-results > small { color: var(--bingo-muted); font-size: 10px; }
.ev-bingo-admin .ev-bingo-editor-results button {
  appearance: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--bingo-border) !important;
  border-radius: 10px !important;
  background: var(--bingo-surface-soft) !important;
  color: var(--bingo-ink) !important;
  -webkit-text-fill-color: var(--bingo-ink) !important;
  text-align: left !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ev-bingo-admin .ev-bingo-editor-results button:hover {
  border-color: var(--bingo-brand) !important;
  background: color-mix(in srgb,var(--bingo-brand) 7%,var(--bingo-surface)) !important;
}
.ev-bingo-editor-results button strong { display: block; font-size: 11px; }
.ev-bingo-editor-results button span { display: block; margin-top: 2px; color: var(--bingo-muted); font-size: 9px; }
.ev-bingo-editor-fields select,
.ev-bingo-editor-fields textarea { width: 100% !important; border-radius: 10px !important; }
.ev-bingo-editor-fields select { min-height: 44px !important; margin-bottom: 16px; }
.ev-bingo-editor-fields textarea { min-height: 126px; padding: 10px !important; resize: vertical; }
.ev-bingo-claim-editor > footer {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 20px;
  border-top: 1px solid var(--bingo-border);
  background: var(--bingo-surface-soft);
}
.ev-bingo-claim-editor > footer > div { display: flex; gap: 8px; }

/* -------------------------------------------------------------------------
 * Responsive: ninguna zona conserva columnas estrechas que puedan solaparse.
 * ------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .ev-bingo-setup-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ev-bingo-setup-flow article:nth-child(3) { border-right: 0; }
  .ev-bingo-setup-flow article:nth-child(n+4) { border-top: 1px solid var(--bingo-border); }
  .ev-bingo-card-mode-panel { grid-template-columns: 1fr; }
  .ev-bingo-admin .ev-bingo-live-controls { grid-template-columns: repeat(3,minmax(130px,1fr)); }
  .ev-bingo-admin .ev-bingo-live-controls .ev-bingo-manual { min-height: 42px; }
}

@media (max-width: 820px) {
  .ev-bingo-command-head { grid-template-columns: 1fr; }
  .ev-bingo-command-primary { justify-content: stretch; }
  .ev-bingo-state-hero,
  .ev-bingo-admin button.ev-bingo-new-game-rc68 { flex: 1 1 0; min-width: 0 !important; }
  .ev-bingo-setup-flow { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 14px; }
  .ev-bingo-setup-flow article { border-top: 1px solid var(--bingo-border); }
  .ev-bingo-setup-flow article:nth-child(-n+2) { border-top: 0; }
  .ev-bingo-setup-flow article:nth-child(even) { border-right: 0; }
  .ev-bingo-card-mode-options { grid-template-columns: 1fr; }
  .ev-bingo-admin .ev-bingo-live-stage { grid-template-columns: 1fr !important; text-align: left !important; }
  .ev-bingo-admin .ev-bingo-live-copy h3,
  .ev-bingo-admin .ev-bingo-live-copy p { text-align: center; }
  .ev-bingo-admin .ev-bingo-live-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ev-bingo-admin .ev-bingo-target-card { grid-template-columns: 1fr !important; }
  .ev-bingo-admin .ev-bingo-target-card > .ev-bingo-panel-head,
  .ev-bingo-admin .ev-bingo-target-card > .ev-bingo-pattern-stage,
  .ev-bingo-admin .ev-bingo-target-card > .ev-bingo-claims { grid-column: 1; grid-row: auto; }
  .ev-bingo-award-zone .ev-bingo-search-primary,
  .ev-bingo-award-zone .ev-bingo-search-secondary { grid-template-columns: 1fr !important; }
  .ev-bingo-award-zone .ev-bingo-award-fields { grid-template-columns: 1fr !important; }
  .ev-bingo-award-zone .ev-bingo-award-fields .ev-bingo-btn { width: 100% !important; }
  .ev-bingo-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .ev-bingo-command-head,
  .ev-bingo-card-mode-panel,
  .ev-bingo-award-zone-head,
  .ev-bingo-award-zone-body { padding-left: 14px; padding-right: 14px; }
  .ev-bingo-command-primary { display: grid; grid-template-columns: 1fr; }
  .ev-bingo-setup-flow { grid-template-columns: 1fr; }
  .ev-bingo-setup-flow article { border-right: 0 !important; border-top: 1px solid var(--bingo-border) !important; }
  .ev-bingo-setup-flow article:first-child { border-top: 0 !important; }
  .ev-bingo-admin .ev-bingo-panel { padding: 14px !important; }
  .ev-bingo-admin .ev-bingo-live-stage { padding: 16px !important; }
  .ev-bingo-admin .ev-bingo-live-controls { grid-template-columns: 1fr; }
  .ev-bingo-admin .ev-bingo-board-row { min-width: 620px; }
  .ev-bingo-award-zone-head { align-items: flex-start; flex-direction: column; }
  .ev-bingo-award-zone-head .ev-bingo-btn { width: 100% !important; }
  .ev-bingo-claim-rc68 { align-items: flex-start; }
  .ev-bingo-claim-editor-overlay { padding: 10px; }
  .ev-bingo-claim-editor { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  .ev-bingo-claim-editor > footer { align-items: stretch; flex-direction: column-reverse; }
  .ev-bingo-claim-editor > footer > div { display: grid; grid-template-columns: 1fr 1fr; }
  .ev-bingo-claim-editor > footer .ev-bingo-btn { width: 100% !important; }
}

/* rc134: estado, participantes y Nueva partida pertenecen al área operativa. */
.ev-bingo-live-session-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1fr) auto auto;gap:10px;align-items:stretch;margin:10px 0 14px}
.ev-bingo-live-session-state,.ev-bingo-live-session-participants{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(7,24,48,.24)}
.ev-bingo-live-session-state>small,.ev-bingo-live-session-participants>small{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.ev-bingo-live-session-participants>strong{font-size:19px;line-height:1.05}
.ev-bingo-live-session-participants>span{font-size:10px;opacity:.72}
.ev-bingo-live-session-controls .ev-bingo-new-game-rc68{min-width:170px;justify-content:center}
.ev-bingo-live-session-controls #ev-bingo-state-label{width:max-content;margin:0}
@media(max-width:1100px){.ev-bingo-live-session-controls{grid-template-columns:1fr 1fr}.ev-bingo-live-session-controls .ev-bingo-new-game-rc68,.ev-bingo-live-session-controls .ev76-segmentation-trigger{width:100%}}
@media(max-width:560px){.ev-bingo-live-session-controls{grid-template-columns:1fr}.ev-bingo-live-session-controls .ev-bingo-new-game-rc68{grid-column:auto}}

/* EventosApp Bingo rc68 — contraste semántico específico para modo oscuro. */
html[data-evapp-theme="dark"] .ev-bingo-admin {
  --bingo-brand-dark: #7bb1df;
}

html[data-evapp-theme="dark"] .ev-bingo-admin .ev-bingo-badge.is-live {
  color: #72d6a7;
}
html[data-evapp-theme="dark"] .ev-bingo-admin .ev-bingo-badge.is-paused {
  color: #ffc66d;
}
html[data-evapp-theme="dark"] .ev-bingo-admin .ev-bingo-badge.is-finished {
  color: #ff918a;
}

html[data-evapp-theme="dark"] .ev-bingo-admin .ev-bingo-card-mode-option.active > i {
  background: var(--bingo-surface);
}

html[data-evapp-theme="dark"] .ev-bingo-admin .ev-bingo-claim-editor {
  box-shadow: 0 28px 80px rgba(0,0,0,.56);
}

/* EventosApp Bingo rc69 — consola operativa del animador y estabilidad de botones */

/* -------------------------------------------------------------------------
 * Botones: ningún texto debe salir del contenedor ni quedar descentrado.
 * Se mantiene el sistema visual de rc68 y solo se corrige composición interna.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin button.ev-bingo-btn,
.ev-bingo-admin a.ev-bingo-btn,
.ev-bingo-admin button.ev-bingo-tab,
.ev-bingo-admin button.ev-bingo-card-mode-option {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-overflow: clip !important;
  line-height: 1.22 !important;
}

.ev-bingo-admin button.ev-bingo-btn,
.ev-bingo-admin a.ev-bingo-btn {
  text-align: center !important;
}

.ev-bingo-admin button.ev-bingo-btn > svg,
.ev-bingo-admin a.ev-bingo-btn > svg,
.ev-bingo-admin .ev-bingo-btn .ev-bingo-rc68-icon,
.ev-bingo-admin .ev-bingo-btn .ev-bingo-rc69-icon {
  flex: 0 0 auto !important;
}

.ev-bingo-admin button.ev-bingo-btn > span,
.ev-bingo-admin a.ev-bingo-btn > span,
.ev-bingo-admin button.ev-bingo-tab > span,
.ev-bingo-admin button.ev-bingo-card-mode-option > span {
  min-width: 0 !important;
}

.ev-bingo-admin .ev-bingo-public-actions,
.ev-bingo-admin .ev-bingo-url-row,
.ev-bingo-admin .ev-bingo-command-primary,
.ev-bingo-admin .ev-bingo-award-zone-head,
.ev-bingo-admin .ev-bingo-config-intro {
  min-width: 0;
}

.ev-bingo-admin .ev-bingo-public-actions .ev-bingo-btn,
.ev-bingo-admin .ev-bingo-url-row .ev-bingo-btn,
.ev-bingo-admin .ev-bingo-config-intro .ev-bingo-btn,
.ev-bingo-admin .ev-bingo-award-zone-head .ev-bingo-btn {
  flex: 0 1 auto;
}

/* -------------------------------------------------------------------------
 * Consola principal: el animador ve balota, objetivo, patrón, premio y mandos.
 * La sección “Objetivo activo” inferior NO se modifica; esta vista es un espejo.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-live-stage {
  min-height: 330px !important;
  align-items: stretch !important;
}

.ev-bingo-admin .ev-bingo-live-visual {
  align-content: center !important;
}

.ev-bingo-admin .ev-bingo-live-copy {
  display: grid;
  grid-template-rows: auto auto auto auto;
  align-content: center;
  gap: 0;
}

.ev-bingo-admin .ev-bingo-live-copy > h3 {
  margin-bottom: 5px !important;
}

.ev-bingo-admin .ev-bingo-live-copy > p {
  margin-bottom: 13px !important;
}

.ev-bingo-live-objective {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr) minmax(160px,.58fr);
  gap: 13px;
  align-items: center;
  min-width: 0;
  margin: 0 0 14px;
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 15px;
  background: rgba(7,24,47,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.ev-bingo-live-objective-pattern {
  width: 78px;
  min-width: 78px;
  min-height: 78px;
  display: grid;
  place-items: center;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
}

.ev-bingo-live-objective-pattern .ev-bingo-pattern-preview {
  width: 64px !important;
  max-width: 64px !important;
  margin: 0 !important;
  gap: 3px !important;
}

.ev-bingo-live-objective-pattern .ev-bingo-pattern-preview i {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.16) !important;
}

.ev-bingo-live-objective-pattern .ev-bingo-pattern-preview i.on {
  background: #66b8f4 !important;
  border-color: #9bd3fb !important;
  box-shadow: 0 2px 8px rgba(102,184,244,.22) !important;
}

.ev-bingo-live-objective-copy,
.ev-bingo-live-prize {
  min-width: 0;
}

.ev-bingo-live-objective-kicker,
.ev-bingo-live-prize > span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.62);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ev-bingo-live-objective-kicker svg,
.ev-bingo-live-prize > span svg,
.ev-bingo-live-physical-copy span svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ev-bingo-live-objective-copy > strong,
.ev-bingo-live-prize > strong {
  display: block;
  margin-top: 4px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.18;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}

.ev-bingo-live-objective-copy > small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  line-height: 1.35;
}

.ev-bingo-live-prize {
  padding: 11px 12px;
  border-left: 1px solid rgba(255,255,255,.16);
}

.ev-bingo-live-prize > strong {
  font-size: 16px;
}

/* -------------------------------------------------------------------------
 * Mandos: primero acciones de juego; debajo, registro manual de balota física.
 * ------------------------------------------------------------------------- */
.ev-bingo-admin .ev-bingo-live-controls {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.ev-bingo-live-primary-actions {
  display: grid;
  grid-template-columns: minmax(175px,1.35fr) repeat(4,minmax(120px,1fr));
  gap: 8px;
  min-width: 0;
}

.ev-bingo-admin .ev-bingo-live-primary-actions .ev-bingo-btn {
  width: 100% !important;
  min-height: 46px !important;
  padding: 9px 11px !important;
  justify-content: center !important;
}

.ev-bingo-live-physical-entry {
  display: grid;
  grid-template-columns: minmax(220px,1fr) minmax(250px,.8fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: rgba(255,255,255,.07);
}

.ev-bingo-live-physical-copy {
  min-width: 0;
}

.ev-bingo-live-physical-copy span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
}

.ev-bingo-live-physical-copy small {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.62);
  font-size: 9px;
  line-height: 1.35;
}

.ev-bingo-live-physical-field {
  display: grid;
  grid-template-columns: minmax(86px,110px) minmax(145px,1fr);
  gap: 8px;
  min-width: 0;
}

.ev-bingo-admin .ev-bingo-live-physical-field .ev-bingo-manual {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  text-align: center;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.ev-bingo-admin .ev-bingo-live-physical-field .ev-bingo-btn {
  width: 100% !important;
  min-height: 44px !important;
  padding: 8px 10px !important;
}

/* El estado operativo existente sigue visible debajo de los controles. */
.ev-bingo-admin .ev-bingo-operation-status {
  margin-top: 10px !important;
}

/* -------------------------------------------------------------------------
 * Responsive: no comprimir botones hasta provocar texto fuera del área.
 * ------------------------------------------------------------------------- */
@media (max-width: 1180px) {
  .ev-bingo-live-primary-actions {
    grid-template-columns: repeat(3,minmax(150px,1fr));
  }
  .ev-bingo-live-objective {
    grid-template-columns: 84px minmax(0,1fr) minmax(150px,.55fr);
  }
}

@media (max-width: 900px) {
  .ev-bingo-live-objective {
    grid-template-columns: 78px minmax(0,1fr);
  }
  .ev-bingo-live-prize {
    grid-column: 1/-1;
    padding: 10px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  .ev-bingo-live-physical-entry {
    grid-template-columns: 1fr;
  }
  .ev-bingo-live-physical-field {
    grid-template-columns: minmax(90px,120px) minmax(150px,1fr);
  }
}

@media (max-width: 760px) {
  .ev-bingo-live-primary-actions {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .ev-bingo-live-primary-actions [data-op="start"] {
    grid-column: 1/-1;
  }
  .ev-bingo-live-objective {
    margin-top: 2px;
  }
}

@media (max-width: 520px) {
  .ev-bingo-live-objective {
    grid-template-columns: 1fr;
  }
  .ev-bingo-live-objective-pattern {
    width: 78px;
    justify-self: start;
  }
  .ev-bingo-live-prize {
    grid-column: auto;
  }
  .ev-bingo-live-primary-actions {
    grid-template-columns: 1fr;
  }
  .ev-bingo-live-primary-actions [data-op="start"] {
    grid-column: auto;
  }
  .ev-bingo-live-physical-field {
    grid-template-columns: 1fr;
  }
}
