html, body {
    background: var(--bg-page);
    color: var(--text-primary);
}

.dim {
    color: var(--text-muted);
}

.view-link {
    color: var(--color-accent);
    text-decoration: none;
    font-size: 0.8rem;
}

.view-link:hover {
    text-decoration: underline;
}

.upcoming-page__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 1.5rem;
}

.upcoming-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.upcoming-table th {
    text-align: left;
    padding: 0.5rem 0.75rem;
    color: var(--text-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--border-light);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.upcoming-table td {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-primary);
    vertical-align: middle;
}

.upcoming-table tr:hover td {
    background: var(--bg-card);
}

.upcoming-table__time {
    color: var(--text-secondary);
    white-space: nowrap;
    font-size: 0.8rem;
}

.upcoming-table__teams {
    font-weight: 500;
}

.bo-badge {
    background: #1e2a3a;
    color: var(--color-accent);
    font-size: 0.7rem;
    border-radius: 4px;
    padding: 2px 6px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.tier-badge {
    font-size: 0.7rem;
    border-radius: 4px;
    padding: 2px 6px;
    font-weight: 700;
}

.tier-badge--s { background: #7c3aed22; color: #a78bfa; }
.tier-badge--a { background: #15803d22; color: #4ade80; }
.tier-badge--b { background: #1d4ed822; color: #60a5fa; }
.tier-badge--c { background: #92400e22; color: #fbbf24; }
.tier-badge--d { background: #374151; color: var(--text-muted); }

.stream-link {
    color: var(--color-accent);
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
}

.stream-link:hover {
    text-decoration: underline;
}

.delayed-badge {
    display: inline-block;
    margin-left: 6px;
    background: #78350f33;
    color: #fb923c;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    letter-spacing: 0.05em;
    vertical-align: middle;
}

.upcoming-table__row--delayed .upcoming-table__time {
    color: #fb923c;
}
