.ranking-container {
    width: 100%;
    height: 100%;
    background: #ffffff !important;
    border-radius: 16px;
    border: 2px solid #d9dadd !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ranking-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    font-size: 2.2vh; /* Reducido para mayor densidad */
}

.ranking-table thead {
    background: #3a3171 !important; /* Morado */
    color: #ffffff !important;
}

.ranking-table th {
    padding: 1vh 0.5vw; /* Mucho más compacto */
    font-weight: 800;
    text-transform: uppercase;
}

.ranking-table td {
    padding: 0.6vh 0.5vw; /* Ultra compacto, estilo aeropuerto */
    border-bottom: 1px solid #f0f2f5 !important;
    font-weight: 700;
    color: #666 !important;
}

.ranking-table tbody tr {
    animation: fadeIn 0.5s ease-in-out;
}

.ranking-table tbody tr:nth-child(even) {
    background: #fafafa !important;
}

.col-pos {
    width: 6vw;
    color: #f37630 !important; /* Naranja */
}

.col-equipo {
    text-align: left;
    width: 35vw;
    color: #333 !important;
    display: flex;
    align-items: center;
    gap: 1vw;
    height: 100%;
    padding: 0.1vh 0.5vw !important; /* Muy delgado */
}

.team-logo-small {
    width: 3vh; /* Extremadamente reducido para 22 filas */
    height: 3vh;
    object-fit: contain;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #d9dadd;
}

.ranking-table tbody tr:first-child .col-pos {
    color: #78aa42 !important; /* Verde para el primero */
    font-size: 2.8vh; /* Destacado pero no exagerado */
}

.ranking-table td:last-child {
    /* PTS column */
    color: #3a3171 !important;
    font-weight: 900;
    font-size: 2.6vh;
}
