/*
 * Shared standings row styling (zone borders + champion) used on competition,
 * H2H, match detail, and team pages.
 */

/* As-It-Stands badge — reuse existing live pill look (no new colour system). */
.live-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #dc2626;
    border-radius: 999px;
    padding: 2px 6px 2px 5px;
    white-space: nowrap;
    flex-shrink: 0;
}
.live-pill-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    animation: standingsLivePillPulse 1.8s ease-in-out infinite;
}
.live-pill-text {
    font-size: 0.5rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.06em;
}
@keyframes standingsLivePillPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.12; }
}
.as-it-stands-note {
  color: var(--text-muted);
  font-size: 0.75rem;
  margin: 0 0 12px;
}

/* Team column: constrain logos (otherwise images use intrinsic/full size without competition.html inline CSS). */
.standings-table .standings-team-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.standings-table .standings-team-logo {
    width: 22px;
    height: 22px;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}

.standings-table tbody tr.standings-row-champion {
    background: linear-gradient(90deg, rgba(251, 191, 36, 0.16), transparent);
}

.standings-table tbody tr.zone-ucl td.standings-col-pos {
    border-left: 3px solid #3b82f6;
}
.standings-table tbody tr.zone-ucl-q td.standings-col-pos {
    border-left: 3px solid #93c5fd;
}
.standings-table tbody tr.zone-uel td.standings-col-pos {
    border-left: 3px solid #f97316;
}
.standings-table tbody tr.zone-uel-q td.standings-col-pos {
    border-left: 3px solid #fdba74;
}
.standings-table tbody tr.zone-uecl td.standings-col-pos {
    border-left: 3px solid #22c55e;
}
.standings-table tbody tr.zone-uecl-q td.standings-col-pos {
    border-left: 3px solid #86efac;
}
.standings-table tbody tr.zone-promotion td.standings-col-pos {
    border-left: 3px solid #10b981;
}
.standings-table tbody tr.zone-promotion-playoff td.standings-col-pos {
    border-left: 3px solid #06b6d4;
}
.standings-table tbody tr.zone-relegation-playoff td.standings-col-pos {
    border-left: 3px solid #f9a8d4;
}
.standings-table tbody tr.zone-relegation td.standings-col-pos {
    border-left: 3px solid #ef4444;
}
/* Phase 6A — structure / playoff / knockout */
.standings-table tbody tr.zone-championship-group td.standings-col-pos {
    border-left: 3px solid #a855f7;
}
.standings-table tbody tr.zone-relegation-group td.standings-col-pos {
    border-left: 3px solid #78716c;
}
.standings-table tbody tr.zone-playoff td.standings-col-pos {
    border-left: 3px solid #eab308;
}
.standings-table tbody tr.zone-knockout td.standings-col-pos {
    border-left: 3px solid #f59e0b;
}

.standings-table tbody tr.standings-group-divider td {
    background: #1a2035;
    color: #9ca3af;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 5px 10px;
    border-top: 1px solid #374151;
    border-bottom: 1px solid #374151;
}

[data-theme="light"] .standings-table tbody tr.standings-row-champion {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.22), transparent);
}

[data-theme="light"] .standings-table tbody tr.standings-row-champion:hover td {
    background-color: rgba(245, 158, 11, 0.12);
}

[data-theme="light"] .standings-table tbody tr.standings-group-divider td {
    background: #f1f5f9;
    color: #64748b;
    border-top-color: #cbd5e1;
    border-bottom-color: #cbd5e1;
}

.standings-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 10px 14px 12px;
    font-size: 11px;
    color: var(--text-secondary, #9ca3af);
}
.standings-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.standings-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

[data-theme="light"] .standings-legend {
    color: #475569;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    margin-top: 4px;
    padding-top: 12px;
}

[data-theme="light"] .standings-legend-item > span:not(.standings-legend-dot) {
    color: #334155;
    font-weight: 500;
}

[data-theme="light"] .standings-legend-dot {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.22);
    width: 11px;
    height: 11px;
}

/* Light mode: keep qualification / zone left bar visible (pastels still read on white). */
[data-theme="light"] .standings-table tbody tr.zone-ucl td.standings-col-pos {
    border-left: 3px solid #2563eb !important;
}
[data-theme="light"] .standings-table tbody tr.zone-ucl-q td.standings-col-pos {
    border-left: 3px solid #60a5fa !important;
}
[data-theme="light"] .standings-table tbody tr.zone-uel td.standings-col-pos {
    border-left: 3px solid #ea580c !important;
}
[data-theme="light"] .standings-table tbody tr.zone-uel-q td.standings-col-pos {
    border-left: 3px solid #fb923c !important;
}
[data-theme="light"] .standings-table tbody tr.zone-uecl td.standings-col-pos {
    border-left: 3px solid #16a34a !important;
}
[data-theme="light"] .standings-table tbody tr.zone-uecl-q td.standings-col-pos {
    border-left: 3px solid #4ade80 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-promotion td.standings-col-pos {
    border-left: 3px solid #059669 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-promotion-playoff td.standings-col-pos {
    border-left: 3px solid #0891b2 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-relegation-playoff td.standings-col-pos {
    border-left: 3px solid #ec4899 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-relegation td.standings-col-pos {
    border-left: 3px solid #dc2626 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-championship-group td.standings-col-pos {
    border-left: 3px solid #9333ea !important;
}
[data-theme="light"] .standings-table tbody tr.zone-relegation-group td.standings-col-pos {
    border-left: 3px solid #57534e !important;
}
[data-theme="light"] .standings-table tbody tr.zone-playoff td.standings-col-pos {
    border-left: 3px solid #ca8a04 !important;
}
[data-theme="light"] .standings-table tbody tr.zone-knockout td.standings-col-pos {
    border-left: 3px solid #d97706 !important;
}

/* Stage-aware treatments — distinct shade and/or border within each zone family.
   Earlier/wider rounds (1-16, 1-32) use dashed borders + lighter shades. */
.standings-table tbody tr[class*="-1-8"] td.standings-col-pos,
.standings-table tbody tr[class*="-quarter"] td.standings-col-pos,
.standings-table tbody tr[class*="-semi"] td.standings-col-pos {
    border-left-width: 3px;
    border-left-style: solid;
}
.standings-table tbody tr[class*="-1-16"] td.standings-col-pos,
.standings-table tbody tr[class*="-1-32"] td.standings-col-pos {
    border-left-width: 3px;
    border-left-style: dashed;
}

.standings-table tbody tr.zone-playoff-1-8 td.standings-col-pos { border-left-color: #eab308; }
.standings-table tbody tr.zone-playoff-1-16 td.standings-col-pos { border-left-color: #fde047; }
.standings-table tbody tr.zone-playoff-1-32 td.standings-col-pos { border-left-color: #fef08a; }
.standings-table tbody tr.zone-playoff-quarter td.standings-col-pos { border-left-color: #facc15; }
.standings-table tbody tr.zone-playoff-semi td.standings-col-pos { border-left-color: #eab308; }

.standings-table tbody tr.zone-knockout-1-8 td.standings-col-pos { border-left-color: #f59e0b; }
.standings-table tbody tr.zone-knockout-1-16 td.standings-col-pos { border-left-color: #fcd34d; }
.standings-table tbody tr.zone-knockout-1-32 td.standings-col-pos { border-left-color: #fde68a; }
.standings-table tbody tr.zone-knockout-quarter td.standings-col-pos { border-left-color: #f59e0b; }
.standings-table tbody tr.zone-knockout-semi td.standings-col-pos { border-left-color: #d97706; }

.standings-table tbody tr.zone-ucl-1-8 td.standings-col-pos { border-left-color: #3b82f6; }
.standings-table tbody tr.zone-ucl-1-16 td.standings-col-pos { border-left-color: #93c5fd; }
.standings-table tbody tr.zone-ucl-1-32 td.standings-col-pos { border-left-color: #bfdbfe; }
.standings-table tbody tr.zone-ucl-quarter td.standings-col-pos { border-left-color: #2563eb; }
.standings-table tbody tr.zone-ucl-semi td.standings-col-pos { border-left-color: #3b82f6; }

.standings-table tbody tr.zone-ucl-q-1-8 td.standings-col-pos { border-left-color: #93c5fd; }
.standings-table tbody tr.zone-ucl-q-1-16 td.standings-col-pos { border-left-color: #bfdbfe; }
.standings-table tbody tr.zone-ucl-q-1-32 td.standings-col-pos { border-left-color: #dbeafe; }
.standings-table tbody tr.zone-ucl-q-quarter td.standings-col-pos { border-left-color: #60a5fa; }
.standings-table tbody tr.zone-ucl-q-semi td.standings-col-pos { border-left-color: #93c5fd; }

.standings-table tbody tr.zone-uel-1-8 td.standings-col-pos { border-left-color: #f97316; }
.standings-table tbody tr.zone-uel-1-16 td.standings-col-pos { border-left-color: #fdba74; }
.standings-table tbody tr.zone-uel-1-32 td.standings-col-pos { border-left-color: #fed7aa; }
.standings-table tbody tr.zone-uel-quarter td.standings-col-pos { border-left-color: #ea580c; }
.standings-table tbody tr.zone-uel-semi td.standings-col-pos { border-left-color: #f97316; }

.standings-table tbody tr.zone-uel-q-1-8 td.standings-col-pos { border-left-color: #fdba74; }
.standings-table tbody tr.zone-uel-q-1-16 td.standings-col-pos { border-left-color: #fed7aa; }
.standings-table tbody tr.zone-uel-q-1-32 td.standings-col-pos { border-left-color: #ffedd5; }
.standings-table tbody tr.zone-uel-q-quarter td.standings-col-pos { border-left-color: #fb923c; }
.standings-table tbody tr.zone-uel-q-semi td.standings-col-pos { border-left-color: #fdba74; }

.standings-table tbody tr.zone-uecl-1-8 td.standings-col-pos { border-left-color: #22c55e; }
.standings-table tbody tr.zone-uecl-1-16 td.standings-col-pos { border-left-color: #86efac; }
.standings-table tbody tr.zone-uecl-1-32 td.standings-col-pos { border-left-color: #bbf7d0; }
.standings-table tbody tr.zone-uecl-quarter td.standings-col-pos { border-left-color: #16a34a; }
.standings-table tbody tr.zone-uecl-semi td.standings-col-pos { border-left-color: #22c55e; }

.standings-table tbody tr.zone-uecl-q-1-8 td.standings-col-pos { border-left-color: #86efac; }
.standings-table tbody tr.zone-uecl-q-1-16 td.standings-col-pos { border-left-color: #bbf7d0; }
.standings-table tbody tr.zone-uecl-q-1-32 td.standings-col-pos { border-left-color: #dcfce7; }
.standings-table tbody tr.zone-uecl-q-quarter td.standings-col-pos { border-left-color: #4ade80; }
.standings-table tbody tr.zone-uecl-q-semi td.standings-col-pos { border-left-color: #86efac; }

.standings-table tbody tr.zone-promotion-1-8 td.standings-col-pos { border-left-color: #10b981; }
.standings-table tbody tr.zone-promotion-1-16 td.standings-col-pos { border-left-color: #6ee7b7; }
.standings-table tbody tr.zone-promotion-quarter td.standings-col-pos { border-left-color: #059669; }
.standings-table tbody tr.zone-promotion-semi td.standings-col-pos { border-left-color: #10b981; }

.standings-table tbody tr.zone-promotion-playoff-1-8 td.standings-col-pos { border-left-color: #06b6d4; }
.standings-table tbody tr.zone-promotion-playoff-1-16 td.standings-col-pos { border-left-color: #67e8f9; }
.standings-table tbody tr.zone-promotion-playoff-quarter td.standings-col-pos { border-left-color: #0891b2; }
.standings-table tbody tr.zone-promotion-playoff-semi td.standings-col-pos { border-left-color: #06b6d4; }

.standings-table tbody tr.zone-relegation-playoff-1-8 td.standings-col-pos { border-left-color: #f9a8d4; }
.standings-table tbody tr.zone-relegation-playoff-1-16 td.standings-col-pos { border-left-color: #fbcfe8; }

.standings-legend-dot--dashed {
    background: transparent !important;
    border: 2px dashed var(--legend-dot-color, currentColor);
    box-sizing: border-box;
}

[data-theme="light"] .standings-table tbody tr.zone-playoff-1-8 td.standings-col-pos { border-left-color: #ca8a04 !important; }
[data-theme="light"] .standings-table tbody tr.zone-playoff-1-16 td.standings-col-pos { border-left-color: #eab308 !important; }
[data-theme="light"] .standings-table tbody tr.zone-playoff-1-32 td.standings-col-pos { border-left-color: #facc15 !important; }
[data-theme="light"] .standings-table tbody tr.zone-ucl-q-1-8 td.standings-col-pos { border-left-color: #60a5fa !important; }
[data-theme="light"] .standings-table tbody tr.zone-ucl-q-1-16 td.standings-col-pos { border-left-color: #93c5fd !important; }
[data-theme="light"] .standings-table tbody tr.zone-uel-q-1-8 td.standings-col-pos { border-left-color: #fb923c !important; }
[data-theme="light"] .standings-table tbody tr.zone-uel-q-1-16 td.standings-col-pos { border-left-color: #fdba74 !important; }
[data-theme="light"] .standings-table tbody tr.zone-uecl-q-1-8 td.standings-col-pos { border-left-color: #4ade80 !important; }
[data-theme="light"] .standings-table tbody tr.zone-uecl-q-1-16 td.standings-col-pos { border-left-color: #86efac !important; }
[data-theme="light"] .standings-table tbody tr.zone-promotion-quarter td.standings-col-pos { border-left-color: #059669 !important; }
[data-theme="light"] .standings-table tbody tr.zone-promotion-semi td.standings-col-pos { border-left-color: #10b981 !important; }
[data-theme="light"] .standings-table tbody tr.zone-promotion-playoff-semi td.standings-col-pos { border-left-color: #0891b2 !important; }
[data-theme="light"] .standings-table tbody tr.zone-knockout-1-8 td.standings-col-pos { border-left-color: #d97706 !important; }
[data-theme="light"] .standings-table tbody tr.zone-knockout-1-16 td.standings-col-pos { border-left-color: #f59e0b !important; }

/* Phase 2: projected (Rules) stripes — visually distinct from confirmed API paint */
.standings-table tbody tr.zone-projected-muted td.standings-col-pos {
    border-left-style: solid;
    color: var(--text-muted);
}
.standings-table tbody tr.zone-projected-muted td.standings-col-pos {
    /* keep bar visible but washed */
    filter: saturate(0.65);
}
.standings-table tbody tr.zone-projected-dashed td.standings-col-pos {
    border-left-style: dashed !important;
    border-left-width: 3px;
}
