/* Ligas individuais por concentracións (Liga MalovTM): staff, club, delegado e web pública. */
.li-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.li-negativo { color: var(--color-danger, #b42318); }
.li-clasif tbody tr.li-ascenso td { background: color-mix(in srgb, var(--color-success, #12805c) 10%, transparent); }
.li-clasif tbody tr.li-ascenso td:first-child { box-shadow: inset 3px 0 0 var(--color-success, #12805c); }
.li-subtitulo { margin: 18px 0 8px; font-size: 1.05rem; }
.li-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.li-subnav a { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--color-border, #d0d5dd); text-decoration: none; color: inherit; font-size: 0.88rem; }
.li-subnav a.is-active { background: var(--color-primary, #0b5cad); border-color: var(--color-primary, #0b5cad); color: #fff; }
/* En móbil, nunha liña con scroll (js/tabs_scroll.js). */
.li-subnav.tabs-scroll { flex-wrap: nowrap; box-shadow: none; }
.li-subnav.tabs-scroll a { flex: 0 0 auto; white-space: nowrap; }
.tabs-scroll-marco:has(> .li-subnav) { margin-bottom: 14px; }

.li-grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 480px), 1fr)); gap: 16px; align-items: start; }
.li-grupo { border: 1px solid var(--color-border, #d0d5dd); border-radius: 10px; padding: 12px 14px; background: var(--color-surface, #fff); }
.li-grupo-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.li-grupo-cab h3 { margin: 0; font-size: 1rem; }
.li-grupo .tabla select { font-size: 0.8rem; padding: 2px 4px; width: auto; max-width: 9.5em; }
.li-club { display: block; color: var(--color-muted, #667085); font-size: 0.78rem; }
.li-ausente td { opacity: 0.6; }
.li-partidos { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 4px; }
.li-partidos li { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; font-size: 0.86rem; }
.li-partidos li .li-partido-xogador:first-child { text-align: right; }
.li-partido-xogador.is-gana { font-weight: 600; }
.li-sets { display: inline-flex; align-items: center; gap: 4px; }
.li-sets input { width: 2.2em; text-align: center; padding: 2px; }
.li-sets-texto { min-width: 3.5em; justify-content: center; font-variant-numeric: tabular-nums; color: var(--color-muted, #667085); }
.li-mover { display: inline-flex; gap: 4px; }
.li-mover select { font-size: 0.8rem; padding: 2px 4px; }
.li-tramos input { width: 7em; }
.torneo-prazo .li-recargo { margin-left: 6px; font-style: normal; vertical-align: 1px; }

/* Follas de grupo para imprimir. */
.li-folla { page-break-after: always; break-after: page; padding: 10mm 0; }
.li-folla:last-child { page-break-after: auto; break-after: auto; }
.li-folla h2 { margin: 0 0 4px; }
.li-matriz { border-collapse: collapse; width: 100%; margin-top: 10px; }
.li-matriz th, .li-matriz td { border: 1px solid #333; padding: 6px; text-align: center; font-size: 0.9rem; }
.li-matriz th.li-matriz-nome, .li-matriz td.li-matriz-nome { text-align: left; }
.li-matriz td.li-matriz-diagonal { background: #ccc; }
.li-matriz td.li-matriz-resultado { height: 2.2em; min-width: 3.2em; }
@media print {
  .site-header, .admin-sidebar, .li-non-imprimir, .site-footer { display: none !important; }
  body { background: #fff; }
}

/* Calendario (web pública): unha tarxeta por xornada; a próxima, destacada. */
.li-calendario { list-style: none; margin: 0 0 8px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.li-cal-xornada { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border, #e4e7ec); border-radius: 14px; background: var(--color-surface, #fff); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); transition: border-color .15s, box-shadow .15s, transform .15s; }
.li-cal-xornada:has(.li-cal-enlace):hover { border-color: var(--color-primary, #0ea5c4); box-shadow: 0 8px 22px rgba(16, 24, 40, .1); transform: translateY(-2px); }
.li-cal-enlace { position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.li-cal-cab { display: flex; gap: 14px; align-items: center; padding: 14px 16px 12px; }
.li-cal-data { flex: 0 0 58px; box-sizing: border-box; width: 58px; overflow: hidden; display: flex; flex-direction: column; align-items: center; text-align: center; white-space: nowrap; border: 1px solid var(--color-border, #e4e7ec); border-radius: 10px; background: var(--color-surface, #fff); color: var(--color-ink, #101828); line-height: 1; }
.li-cal-mes { align-self: stretch; padding: 4px 0 3px; background: var(--color-primary-dark, #0b7f9e); color: #fff; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.li-cal-dia { padding-top: 6px; font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.li-cal-ano { padding: 2px 0 6px; font-size: .64rem; font-weight: 500; color: var(--color-muted, #667085); font-variant-numeric: tabular-nums; }
.li-cal-titulo { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.li-cal-numero { font-size: 1.02rem; font-weight: 700; color: var(--color-ink, #101828); }
.li-cal-cando { color: var(--color-ink-soft, #344054); font-size: .86rem; }
.li-cal-cando time { font-weight: 600; font-variant-numeric: tabular-nums; }
.li-cal-estado { margin-top: 3px; padding: 2px 9px; border-radius: 999px; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.li-cal-estado--xogada { background: var(--color-success-bg, #e7f7f1); color: var(--color-success, #12805c); }
.li-cal-estado--aberta { background: var(--color-warning-bg, #fff4e0); color: var(--color-warning, #a15c00); }
.li-cal-estado--proxima { background: var(--color-info-bg, #e6f3fa); color: var(--color-info, #0b6fa4); }
.li-cal-sede, .li-cal-pe { display: flex; gap: 8px; align-items: flex-start; padding: 10px 16px; border-top: 1px solid var(--color-border, #eef0f3); font-size: .86rem; line-height: 1.4; }
.li-cal-sede { flex: 1; color: var(--color-ink-soft, #344054); overflow-wrap: anywhere; }
.li-cal-sede span { white-space: pre-line; }
.li-cal-sede.is-pendente { color: var(--color-muted, #667085); font-style: italic; }
.li-cal-sede svg, .li-cal-pe svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; color: var(--color-primary-dark, #0b7f9e); }
.li-cal-pe { background: var(--color-surface-alt, #f7f9fb); color: var(--color-muted, #667085); font-size: .8rem; }
.li-cal-pe svg { width: 15px; height: 15px; flex-basis: 15px; color: var(--color-muted, #667085); }
.li-cal-ver { justify-content: space-between; color: var(--color-primary-dark, #0b7f9e); font-weight: 600; }
.li-cal-xornada.is-xogada .li-cal-mes { background: var(--color-muted, #667085); }
.li-cal-xornada.is-xogada .li-cal-sede svg { color: var(--color-muted, #667085); }
.li-cal-xornada.is-proxima { border-color: var(--color-primary, #0ea5c4); box-shadow: inset 0 3px 0 var(--color-primary, #0ea5c4), 0 6px 18px rgba(14, 165, 196, .12); }
.li-cal-xornada.is-proxima .li-cal-data { border-color: transparent; background: linear-gradient(160deg, var(--color-primary, #0ea5c4), var(--color-primary-dark, #0b7f9e)); color: #fff; }
.li-cal-xornada.is-proxima .li-cal-mes { background: rgba(0, 0, 0, .18); }
.li-cal-xornada.is-proxima .li-cal-ano { color: rgba(255, 255, 255, .85); }

/* Xornada (web pública): cabeceira, pestanas e lista de inscritos. */
.li-xornada-cab { display: flex; align-items: center; gap: 16px; margin: 4px 0 18px; }
.li-xornada-cab h2 { margin: 0; font-size: 1.5rem; line-height: 1.15; }
.li-xornada-cab p { margin: 2px 0 0; color: var(--color-muted, #667085); }
.li-xornada-cab .li-cal-data { flex: none; }
.li-pestanas { display: flex; gap: 4px; margin: 0 0 20px; border-bottom: 1px solid var(--color-border, #e4e7ec); overflow-x: auto; overflow-y: hidden; }
.li-pestanas a { flex: 0 0 auto; white-space: nowrap; padding: 10px 16px; margin-bottom: -1px; border-bottom: 3px solid transparent; text-decoration: none; color: var(--color-muted, #667085); font-weight: 600; font-size: .94rem; }
.li-pestanas a:hover { color: var(--color-primary-dark, #0b7f9e); }
.li-pestanas a.is-active { color: var(--color-primary-dark, #0b7f9e); border-bottom-color: var(--color-primary, #17a2c4); }
.tabs-scroll-marco:has(> .li-pestanas) { margin-bottom: 20px; }
.li-pestanas.tabs-scroll { margin-bottom: 0; }

.li-inscritos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; align-items: start; }
.li-inscritos-rama { background: var(--color-surface, #fff); border: 1px solid var(--color-border, #e4e7ec); border-radius: 14px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px rgba(16, 24, 40, .04); overflow: hidden; }
.li-inscritos-rama > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 18px; background: linear-gradient(135deg, #0f7f9f, #17a2c4); color: #fff; }
.li-inscritos-rama > header h3 { margin: 0; color: #fff; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.li-inscritos-total { min-width: 2em; padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .22); font-weight: 700; font-size: .86rem; text-align: center; font-variant-numeric: tabular-nums; }
.li-inscritos-rama ol { list-style: none; margin: 0; padding: 4px 0; }
.li-inscritos-rama li { display: flex; align-items: center; gap: 12px; padding: 10px 18px; }
.li-inscritos-rama li + li { border-top: 1px solid var(--color-border, #eef0f3); }
.li-inscritos-rama li:hover { background: var(--color-surface-alt, #f7f9fb); }
.li-avatar { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: color-mix(in srgb, var(--color-primary, #17a2c4) 14%, #fff); color: var(--color-primary-dark, #0b7f9e); font-weight: 700; font-size: .82rem; letter-spacing: .02em; }
.li-avatar--escudo { width: 42px; height: 42px; padding: 4px; background: #fff; border: 1px solid var(--color-border, #e4e7ec); border-radius: 12px; }
.li-avatar--escudo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.li-inscrito-nome { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; line-height: 1.3; }
.li-inscrito-nome strong { font-weight: 700; }
.li-inscrito-nome small { flex-basis: 100%; color: var(--color-muted, #667085); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.li-chip-categoria { flex: none; padding: 3px 10px; border-radius: 999px; background: var(--color-surface-alt, #f2f4f7); border: 1px solid var(--color-border, #e4e7ec); color: var(--color-text, #344054); font-size: .76rem; font-weight: 600; }
