/* ---------- EVENTOS ---------- */
.ev-wrap { max-width: 1000px; margin: 0 auto; padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 5vw, 3rem) 5rem; display: grid; gap: 1.6rem; }
.ev-title { font-size: clamp(2.4rem, 8vw, 4.4rem); margin: 0; line-height: 1; }
.ev-sub { margin: 0.8rem 0 0; color: var(--ink-dim); max-width: 55ch; font-size: 1.05rem; }
.ev-h2 { font-size: clamp(1.3rem, 3.5vw, 1.8rem); margin: 0.6rem 0 1rem; }

.ev-card { background: var(--surface); border: 1px solid var(--line); border-radius: 0.7rem; padding: clamp(1rem, 3vw, 1.5rem); }
.ev-label { font-family: 'IBM Plex Mono', monospace; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.5rem; display: block; }
.ev-nota { font-size: 0.85rem; color: var(--muted); margin: 0.6rem 0 0; }
.ev-vacio { color: var(--muted); margin: 0; }
.ev-btn-sm { padding: 0.5rem 0.95rem; font-size: 0.78rem; }
button.btn { cursor: pointer; }
button.btn:disabled { opacity: 0.55; cursor: wait; transform: none; }

/* cuenta */
.ev-cuenta-fila { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ev-cuenta-nombre { font-family: 'Bungee', system-ui, sans-serif; font-size: 1.15rem; }
.ev-rol { font-family: 'IBM Plex Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.15rem 0.5rem; border-radius: 999px; border: 1px solid var(--gold); color: var(--gold); vertical-align: middle; }
.ev-rol:empty { display: none; }

/* pestañas */
.ev-tabs { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ev-tab { font-family: 'Bungee', system-ui, sans-serif; font-size: 0.8rem; padding: 0.5rem 0.9rem; border-radius: 0.4rem; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.ev-tab:hover { border-color: var(--blue); color: var(--blue); }
.ev-tab.is-active { background: var(--blue); border-color: var(--blue); color: #fff; }

/* formularios */
.ev-form { display: grid; gap: 0.9rem; max-width: 420px; }
.ev-form label { display: grid; gap: 0.3rem; font-weight: 600; font-size: 0.9rem; }
.ev-form input, .ev-inline input, .ev-select, .ev-mover {
  font: inherit; color: var(--ink); background: var(--bg); border: 1px solid var(--line);
  border-radius: 0.4rem; padding: 0.6rem 0.75rem; width: 100%;
}
.ev-form input:focus, .ev-inline input:focus, .ev-select:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.ev-form-grid { max-width: none; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: end; margin-top: 1rem; }
.ev-inline { display: flex; gap: 0.6rem; }
.ev-inline input { flex: 1; }
.ev-select { max-width: 460px; }
.ev-summary { cursor: pointer; font-family: 'Bungee', system-ui, sans-serif; font-size: 0.9rem; }

/* avisos */
.ev-aviso { margin: 0; padding: 0.7rem 0.9rem; border-radius: 0.4rem; font-size: 0.9rem; font-weight: 600; }
.ev-aviso.error { background: color-mix(in srgb, #d33 14%, var(--surface)); color: #c22; }
.ev-aviso.ok { background: color-mix(in srgb, var(--blue) 14%, var(--surface)); color: var(--blue); }

/* lista de fechas */
.ev-lista { display: grid; gap: 1rem; }
.ev-evento { display: grid; grid-template-columns: 1fr auto; gap: 1rem 1.5rem; align-items: center; }
@media (max-width: 640px) { .ev-evento { grid-template-columns: 1fr; } }
.ev-evento h3 { margin: 0 0 0.3rem; font-size: clamp(1.1rem, 3vw, 1.4rem); }
.ev-meta { color: var(--ink-dim); font-size: 0.95rem; display: grid; gap: 0.15rem; }
.ev-meta b { color: var(--ink); }
.ev-chip { display: inline-block; font-family: 'IBM Plex Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.15rem 0.55rem; border-radius: 999px; margin-left: 0.4rem; vertical-align: middle; }
.ev-chip.abierta { background: color-mix(in srgb, #2a9d5a 18%, var(--surface)); color: #2a9d5a; }
.ev-chip.cerrada { background: var(--surface-2); color: var(--muted); }
.ev-accion { min-width: 230px; }
.ev-inscripto { border: 2px solid var(--gold); border-radius: 0.6rem; padding: 0.8rem 1rem; text-align: center; }
.ev-inscripto .t1 { font-family: 'Bungee', system-ui, sans-serif; font-size: 1rem; }
.ev-inscripto .t2 { font-size: 0.9rem; color: var(--ink-dim); }
.ev-inscripto .letra { display: block; font-family: 'Bungee', system-ui, sans-serif; font-size: 2.6rem; line-height: 1.1; color: var(--gold); }
.ev-pendiente { border: 1px dashed var(--line); border-radius: 0.6rem; padding: 0.8rem 1rem; font-size: 0.92rem; color: var(--ink-dim); text-align: center; }

/* panel */
.ev-admin { display: grid; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
#adm-detalle { display: grid; gap: 1rem; }
#adm-detalle[hidden] { display: none; }
.ev-adm-top { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: end; }
.ev-stats { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ev-stat { font-family: 'IBM Plex Mono', monospace; font-size: 0.8rem; border: 1px solid var(--line); border-radius: 0.4rem; padding: 0.35rem 0.6rem; }
.ev-stat b { color: var(--blue); }
.ev-pend-fila { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
.ev-pend-fila:last-child { border-bottom: 0; }
.ev-pend-fila div { display: flex; gap: 0.4rem; }

.ev-bat-head { display: flex; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; align-items: flex-start; }
.ev-bat-head .ev-tabs { margin-bottom: 0; }
.ev-batallas { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.8rem; margin-top: 1rem; }
.ev-batalla { border: 1px solid var(--line); border-radius: 0.55rem; padding: 0.7rem; background: var(--bg); }
.ev-batalla h4 { margin: 0 0 0.5rem; font-family: 'Bungee', system-ui, sans-serif; font-size: 0.85rem; font-weight: 400; display: flex; justify-content: space-between; }
.ev-batalla h4 span { font-family: 'IBM Plex Mono', monospace; font-size: 0.72rem; color: var(--muted); }
.ev-mc { display: flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.45rem; border-radius: 0.35rem; font-weight: 600; font-size: 0.92rem; }
.ev-mc + .ev-mc { margin-top: 0.2rem; }
.ev-mc .nom { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-mc .pos { font-family: 'IBM Plex Mono', monospace; font-size: 0.7rem; color: var(--muted); }
.ev-mc .cab { color: var(--gold); }
.ev-mc.es-clickeable { cursor: pointer; }
.ev-mc.es-clickeable:hover { background: color-mix(in srgb, var(--blue) 10%, transparent); }
.ev-mc.es-ganador { background: color-mix(in srgb, var(--gold) 22%, transparent); }
.ev-mc.es-ganador .nom::after { content: " 🏆"; }
.ev-mover { width: auto; padding: 0.15rem 0.25rem; font-size: 0.72rem; }

.ev-clas-fila { display: flex; gap: 0.8rem; padding: 0.45rem 0; border-bottom: 1px solid var(--line); }
.ev-clas-fila:last-child { border-bottom: 0; }
.ev-clas-fila .donde { font-family: 'IBM Plex Mono', monospace; font-size: 0.8rem; color: var(--muted); min-width: 150px; }
.ev-clas-fila .quien { font-weight: 700; }
