/* Zonas, cuadro y programación del torneo */
.v-zonas{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.v-zona{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:12px}
.v-zona-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.v-zona-h b{font:600 22px/1 var(--display);text-transform:uppercase;letter-spacing:.03em}
.v-tabla{width:100%;border-collapse:collapse;font-size:14px}
.v-tabla th{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-2);text-align:left;padding:4px 6px}
.v-tabla td{padding:6px;border-top:1px solid var(--line)}
.v-tabla td:first-child{color:var(--muted-2);width:22px}
.v-tabla th:nth-child(n+3),.v-tabla td:nth-child(n+3){text-align:right;width:38px;white-space:nowrap}
.v-tabla td:nth-child(2){overflow-wrap:anywhere}
.v-tabla tr.pasa td:nth-child(2){color:var(--ok);font-weight:700}
.v-tabla tr.yo td{background:var(--accent-soft)}
.v-zpts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;font-size:13px}
.v-zpts li{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;padding:5px 6px;border-radius:8px;color:var(--muted)}
.v-zpts li span:first-child{text-align:right}
.v-zpts li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-zpts li .g{color:var(--ink);font-weight:700}
.v-zpts .v-r{font-size:12px;color:var(--muted-2);text-align:center;white-space:nowrap}
.v-zpts li[role=button]{cursor:pointer}
.v-zpts li[role=button]:hover{background:var(--surface-3)}

.v-cuadro-w{overflow-x:auto;padding-bottom:6px}
.v-cuadro{display:grid;grid-template-columns:repeat(var(--cols),minmax(170px,1fr));gap:12px;min-width:calc(var(--cols)*182px)}
.v-col{display:flex;flex-direction:column}
.v-col-t{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2);margin:0 0 8px}
.v-col-m{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:10px}
.v-m{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.v-m[role=button]{cursor:pointer}
.v-m[role=button]:hover{border-color:var(--line-strong)}
.v-m.es-bye{opacity:.6}
.v-l{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;font-size:13px;color:var(--muted)}
.v-l+.v-l{border-top:1px solid var(--line)}
.v-l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-l b{font-variant-numeric:tabular-nums}
.v-l.g{color:var(--ink);font-weight:700}
.v-l.g b{color:var(--ok)}
.v-l.bye{font-style:italic;color:var(--muted-2)}
.v-l.yo{background:var(--accent-soft)}
.v-m small{display:block;padding:5px 10px;font-size:11px;color:var(--muted-2);border-top:1px solid var(--line);background:rgba(255,255,255,.02)}

.v-dia{margin-bottom:18px}
.v-dia h3{font:600 26px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px}
.v-prog{display:grid;gap:6px}
.v-p{display:grid;grid-template-columns:52px 34px 150px minmax(0,1fr) 120px;gap:4px 10px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:14px}
.v-p[role=button]{cursor:pointer}
.v-p[role=button]:hover{border-color:var(--line-strong)}
.v-p.conf{border-color:rgba(255,181,71,.5)}
.v-p.jugado{background:var(--surface)}
.v-h{font-weight:800}
.v-k{font-size:12px;font-weight:800;color:var(--muted-2)}
.v-c{font-size:12px;color:var(--muted)}
.v-vs{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;min-width:0}
.v-vs i{font-style:normal;font-size:11px;color:var(--muted-2)}
.v-vs .g{font-weight:800;color:var(--ok)}
.v-vs .yo{background:var(--accent-soft);border-radius:6px;padding:0 4px}
.v-res{font-size:13px;color:var(--muted);text-align:right}
.v-av{grid-column:1/-1;font-size:12px;color:var(--warn)}
@media (max-width:720px){
  .v-p{grid-template-columns:48px 30px minmax(0,1fr);}
  .v-c{grid-column:3}
  .v-vs{grid-column:1/-1}
  .v-res{grid-column:1/-1;text-align:left}
  .v-res:empty{display:none}
}
.v-cs{display:inline-grid;place-items:center;min-width:17px;height:17px;font:800 10px/1 var(--body);color:#111;background:var(--gold);border-radius:999px;padding:0 4px;margin-left:6px;vertical-align:1px}
