/* =========================================================
   CLASSEMENT — CARTE LIVE LARGE
   Mise en page validée : colonne fonctionnelle à gauche,
   grande carte sticky à droite, tableau sur une seule ligne.
   ========================================================= */

.live-dashboard-layout{
    display:grid;
    grid-template-columns:minmax(720px, 1.34fr) minmax(560px, 1fr);
    gap:clamp(14px,1.15vw,22px);
    align-items:start;
}

.live-dashboard-left,
.live-dashboard-left .ranking-column{
    min-width:0;
}

.live-dashboard-left .arrival-timeline{
    margin-bottom:14px !important;
}

.live-dashboard-left .ranking-column{
    width:100%;
}

.live-dashboard-layout .map-column{
    position:sticky !important;
    top:14px !important;
    min-width:0;
    align-self:start;
}

.live-dashboard-layout .map-card{
    border-radius:16px !important;
}

.live-dashboard-layout #embedded-map{
    height:clamp(650px,78vh,940px) !important;
    min-height:650px !important;
}

.live-dashboard-layout .map-card-head{
    padding:13px 15px 11px !important;
}

.live-dashboard-layout .map-card-head h2{
    font-size:1.05rem !important;
}

.live-dashboard-layout .map-card-head p{
    margin-top:2px !important;
    font-size:.7rem !important;
}

.live-dashboard-layout .map-card-foot{
    padding:8px 11px !important;
    font-size:.66rem !important;
}

/* La colonne gauche reste compacte mais parfaitement lisible. */
.live-dashboard-left #live-ranking table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    font-size:11.5px !important;
}

.live-dashboard-left #live-ranking thead th{
    padding:8px 6px !important;
    font-size:9.5px !important;
    white-space:nowrap !important;
}

.live-dashboard-left #live-ranking tbody tr{
    height:43px !important;
}

.live-dashboard-left #live-ranking tbody td{
    padding:6px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.live-dashboard-left #live-ranking .name,
.live-dashboard-left #live-ranking .club{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    overflow-wrap:normal !important;
}

.live-dashboard-left #live-ranking .name{
    font-size:11.5px !important;
}

.live-dashboard-left #live-ranking .club{
    font-size:10.5px !important;
}

.live-dashboard-left #live-ranking td.arrival-cell,
.live-dashboard-left #live-ranking td.distance-cell,
.live-dashboard-left #live-ranking td.speed-cell{
    font-size:10.5px !important;
}

.live-dashboard-left #live-ranking .rank-badge{
    width:26px !important;
    height:26px !important;
    flex-basis:26px !important;
    font-size:.72rem !important;
}

.live-dashboard-left #live-ranking col.col-rank{width:7% !important}
.live-dashboard-left #live-ranking col.col-name{width:25% !important}
.live-dashboard-left #live-ranking col.col-club{width:17% !important}
.live-dashboard-left #live-ranking col.col-distance{width:14% !important}
.live-dashboard-left #live-ranking col.col-arrival{width:20% !important}
.live-dashboard-left #live-ranking col.col-speed{width:17% !important}
.live-dashboard-left #live-ranking col.col-cm{width:8% !important}

/* Les filtres restent sur une ligne tant que l'espace le permet. */
.live-dashboard-left .ranking-filters{
    grid-template-columns:minmax(180px,1.35fr) minmax(150px,.9fr) minmax(170px,1fr) auto !important;
    gap:8px !important;
}

.live-dashboard-left .admin-toolbar{
    overflow:hidden;
}

/* Écrans intermédiaires : carte encore généreuse, puis passage dessous. */
@media (max-width:1450px){
    .live-dashboard-layout{
        grid-template-columns:minmax(650px,1.22fr) minmax(470px,.88fr);
    }

    .live-dashboard-layout #embedded-map{
        height:clamp(610px,75vh,840px) !important;
        min-height:610px !important;
    }
}

@media (max-width:1180px){
    .live-dashboard-layout{
        grid-template-columns:1fr !important;
    }

    .live-dashboard-layout .map-column{
        position:static !important;
    }

    .live-dashboard-layout #embedded-map{
        height:520px !important;
        min-height:520px !important;
    }
}

@media (max-width:760px){
    .live-dashboard-layout{
        display:block;
    }

    .live-dashboard-left .ranking-filters{
        grid-template-columns:1fr !important;
    }

    .live-dashboard-layout #embedded-map{
        height:58vh !important;
        min-height:360px !important;
    }
}

.live-dashboard-left #live-ranking col.col-admin-check{width:5% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-rank{width:6% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-name{width:23% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-club{width:16% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-distance{width:13% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-arrival{width:20% !important}
.signalements-admin .live-dashboard-left #live-ranking col.col-speed{width:17% !important}

.live-dashboard-left #live-ranking td.name-cell{
    position:relative;
}

.live-dashboard-left #live-ranking .recent-label,
.live-dashboard-left #live-ranking .validation-badge{
    max-width:72px;
    padding:2px 4px !important;
    font-size:.5rem !important;
    overflow:hidden;
    text-overflow:ellipsis;
}
