.matchball-block {
    border: 1px solid #d8dde3;
    border-radius: 8px;
    padding: 16px;
    margin: 12px 0;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.matchball-table-scroll {
    overflow-x: auto;
}

.matchball-block table {
    width: 100%;
    border-collapse: collapse;
}

.matchball-table {
    min-width: 360px;
}

.matchball-block thead th {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475467;
    background: #f8fafc;
}

.matchball-block th,
.matchball-block td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid #eef1f4;
}

.matchball-block tbody tr:nth-child(even) {
    background: #f8fafc;
}

.matchball-standings__table tbody tr.is-selected-team {
    background: #e8f1ff;
}

.matchball-standings__table tbody tr.is-selected-team td {
    border-top: 1px solid #b8d0ff;
    border-bottom: 1px solid #b8d0ff;
}

.matchball-standings__table tbody tr.is-selected-team + tr td {
    border-top-color: transparent;
}

.matchball-standings__rank,
.matchball-standings__played,
.matchball-standings__balls,
.matchball-standings__points {
    width: 1%;
    white-space: nowrap;
}

.matchball-standings__points {
    font-weight: 700;
    text-align: right;
}

.matchball-standings__team {
    font-weight: 600;
    color: #101828;
}

.matchball-block ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.matchball-block li {
    padding: 8px 0;
    border-bottom: 1px solid #eef1f4;
}

.matchball-block li:last-child,
.matchball-block tr:last-child td {
    border-bottom: 0;
}

/* Match cards (Results) */
.matchball-match-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.matchball-match-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 0;
    border-bottom: 1px solid #eef1f4;
}

.matchball-match-card:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

/* Teams + score: 3-column grid so scores always align */
.matchball-match-card__matchup {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 8px;
}

.matchball-match-card__team {
    font-weight: 600;
    color: #101828;
    word-break: break-word;
}

.matchball-match-card__team--home {
    text-align: right;
}

.matchball-match-card__team--away {
    text-align: left;
}

.matchball-match-card__score {
    background: #f0f6fc;
    border: 1px solid #b8d0ff;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a3c6e;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.matchball-match-card__vs {
    font-size: 0.75rem;
    color: #98a2b3;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
}

/* Meta row: date · time · venue */
.matchball-match-card__meta {
    font-size: 0.78rem;
    color: #667085;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    line-height: 1.4;
}

.matchball-match-card__sep::before {
    content: '·';
    color: #d0d5dd;
}

.matchball-updated-hint {
    margin: 10px 0 0;
    font-size: 0.78rem;
    color: #667085;
    text-align: right;
}

@media (max-width: 480px) {
    .matchball-match-card__team {
        font-size: 0.9rem;
    }
}

.matchball-notice {
    border-left: 4px solid #2271b1;
    background: #f0f6fc;
    padding: 10px;
    margin: 10px 0;
}

@media (max-width: 640px) {
    .matchball-block {
        padding: 12px;
    }

    .matchball-block th,
    .matchball-block td {
        padding: 9px 10px;
    }
}
