/* Sección "Árbitros" (sec-arbitros.js), pantalla 11 del diseño. Tokens de panel.css. */

.ar-grilla { display: grid; grid-template-columns: minmax(320px, 420px) minmax(0, 1fr); gap: 18px; align-items: start; }
.ar-cabeza { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.ar-cabeza .t-subtitulo { margin: 0; }
.ar-pie { display: flex; align-items: center; gap: 8px; margin-top: 18px; }

/* Plantel */
.ar-lista { display: flex; flex-direction: column; }
.ar-fila { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.ar-avatar { width: 38px; height: 38px; font-size: 12px; font-weight: 700; border: 1px solid; }
.ar-textos { flex: 1; min-width: 0; }
.ar-textos > .t-fuerte { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ar-disponible { font: inherit; font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: var(--r-pill); border: 1px solid var(--border-fuerte); background: var(--bg-card-pressed); color: var(--text-dim); cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.ar-disponible.si { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.ar-disponible:hover { filter: brightness(1.15); }
.ar-mas { width: 30px; height: 30px; font-size: 18px; line-height: 1; border-color: transparent; background: transparent; }
.ar-vacio { padding: 8px 0 4px; }
.ar-agregar { font: inherit; margin-top: 14px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px; border-radius: var(--r-grande); border: 1px dashed var(--border-fuerte); background: transparent; color: var(--text-dim); cursor: pointer; font-weight: 600; font-size: 14px; }
.ar-agregar:hover { color: var(--cyan); border-color: var(--border-hi); background: var(--accent-soft); }
.ar-menu { position: absolute; z-index: 30; right: 0; top: calc(100% - 4px); min-width: 180px; background: var(--bg-flotante); border: 1px solid var(--border-fuerte); border-radius: var(--r-medio); box-shadow: 0 16px 40px var(--sombra-menu); padding: 4px; display: flex; flex-direction: column; }
.ar-menu-item { font: inherit; text-align: left; background: none; border: 0; padding: 9px 12px; border-radius: var(--r-chico); color: var(--text); cursor: pointer; font-size: 14px; }
.ar-menu-item:hover { background: var(--bg-card-pressed); }
.ar-menu-item.peligro { color: var(--err); }

/* Asignación */
.ar-fecha { width: auto; min-width: 120px; }
.ar-partidos { display: flex; flex-direction: column; }
.ar-partido { display: grid; grid-template-columns: 96px minmax(0, 1fr) minmax(200px, 240px); align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.ar-partido.borrador .ar-cruce .t-fuerte { color: var(--text-dim); }
.ar-cuando { display: flex; flex-direction: column; min-width: 0; }
.ar-cuando > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ar-cruce { min-width: 0; }
.ar-cruce > div { overflow: hidden; text-overflow: ellipsis; }
.ar-control { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ar-select { width: 100%; }
.ar-select.vacio-warn { border-color: var(--warn-border); color: var(--warn); }
.ar-select.choca { border-color: var(--warn-border); }
.ar-jugado { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ar-asignacion-pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 14px; }
.ar-sin-app { margin: 0; padding-left: 20px; color: var(--text); display: flex; flex-direction: column; gap: 4px; }
.ar-codigo { letter-spacing: 6px; text-align: center; padding: 10px; border: 1px dashed var(--border-hi); border-radius: var(--r-grande); color: var(--cyan); }

@media (max-width: 1100px) {
  .ar-grilla { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ar-partido { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "cruce cuando" "control control"; gap: 8px; }
  .ar-cuando { grid-area: cuando; text-align: right; }
  .ar-cruce { grid-area: cruce; }
  .ar-control { grid-area: control; }
  .ar-fila { flex-wrap: wrap; }
  .ar-textos { flex-basis: calc(100% - 100px); }
  .ar-fila .ar-disponible { margin-left: 50px; }
}
