/* =========================================================
   SIGNALEMENTS — CLASSEMENT ULTRA-COMPACT
   Priorité : afficher un maximum d'informations sans scrolling.
   ========================================================= */

.page-classement-ultra-compact .topbar-inner{
    min-height:52px !important;
}

.page-classement-ultra-compact .brand-mark{
    width:36px !important;
    height:36px !important;
    font-size:.68rem !important;
}

.page-classement-ultra-compact .brand strong{
    font-size:.84rem !important;
}

.page-classement-ultra-compact .brand small{
    font-size:.58rem !important;
}

.page-classement-ultra-compact .nav-buttons{
    gap:6px !important;
}

.page-classement-ultra-compact .nav-button{
    min-height:30px !important;
    padding:0 9px !important;
    font-size:.64rem !important;
    border-radius:7px !important;
}

.page-classement-ultra-compact .page-wrap{
    padding:6px 0 10px !important;
}

.page-classement-ultra-compact .main-shell{
    border-radius:12px !important;
}

.page-classement-ultra-compact .hero-card{
    padding:8px 12px !important;
}

.page-classement-ultra-compact .hero-card-top{
    align-items:center !important;
}

.page-classement-ultra-compact .hero-card h1{
    font-size:1.35rem !important;
}

.page-classement-ultra-compact .hero-card p{
    margin-top:1px !important;
    font-size:.64rem !important;
}

.page-classement-ultra-compact .status-badge{
    padding:5px 8px !important;
    font-size:.6rem !important;
}

.page-classement-ultra-compact .live-indicator{
    margin-top:4px !important;
    padding:3px 6px !important;
    gap:4px !important;
    font-size:.58rem !important;
}

.page-classement-ultra-compact .live-dot,
.page-classement-ultra-compact .live-connection-dot{
    width:6px !important;
    height:6px !important;
}

.page-classement-ultra-compact .live-connection{
    margin-left:1px !important;
    padding:2px 5px !important;
    font-size:.54rem !important;
}

.page-classement-ultra-compact .sound-toggle{
    min-height:22px !important;
    padding:0 6px !important;
    font-size:.52rem !important;
}

.page-classement-ultra-compact .content{
    padding:8px 10px 10px !important;
}

.page-classement-ultra-compact .success-box{
    margin-bottom:6px !important;
    padding:7px 9px !important;
    font-size:.66rem !important;
}

/* Stats en bandeau horizontal */
.page-classement-ultra-compact .stats-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
    margin-bottom:8px !important;
}

.page-classement-ultra-compact .stat-card{
    padding:6px 8px !important;
    border-radius:8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:6px !important;
}

.page-classement-ultra-compact .stat-card span{
    font-size:.54rem !important;
    line-height:1.05 !important;
}

.page-classement-ultra-compact .stat-card strong{
    margin-top:0 !important;
    font-size:.9rem !important;
    white-space:nowrap;
}

/* Podium transformé en bandeau horizontal */
.page-classement-ultra-compact .podium-section{
    margin-bottom:8px !important;
}

.page-classement-ultra-compact .podium-heading{
    display:none !important;
}

.page-classement-ultra-compact .podium-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
}

.page-classement-ultra-compact .podium-card,
.page-classement-ultra-compact .podium-card.first,
.page-classement-ultra-compact .podium-card.second,
.page-classement-ultra-compact .podium-card.third{
    min-height:0 !important;
    padding:6px 8px !important;
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) auto;
    grid-template-areas:
        "medal position speed"
        "medal name speed"
        "medal club details";
    column-gap:7px;
    row-gap:1px;
    align-items:center;
    text-align:left !important;
}

.page-classement-ultra-compact .podium-medal{
    grid-area:medal;
    width:26px !important;
    height:26px !important;
    margin:0 !important;
    font-size:.9rem !important;
}

.page-classement-ultra-compact .podium-position{
    grid-area:position;
    font-size:.46rem !important;
}

.page-classement-ultra-compact .podium-name{
    grid-area:name;
    margin:0 !important;
    font-size:.7rem !important;
    line-height:1.05 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.page-classement-ultra-compact .podium-club{
    grid-area:club;
    min-height:0 !important;
    font-size:.54rem !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.page-classement-ultra-compact .podium-speed{
    grid-area:speed;
    margin:0 !important;
    font-size:.72rem !important;
    white-space:nowrap;
}

.page-classement-ultra-compact .podium-details{
    grid-area:details;
    margin:0 !important;
    gap:4px !important;
    font-size:.48rem !important;
    justify-content:flex-end !important;
}

/* Classement + carte */
.page-classement-ultra-compact .ranking-map-layout{
    grid-template-columns:minmax(0,2.35fr) minmax(280px,.65fr) !important;
    gap:7px !important;
}

.page-classement-ultra-compact .toolbar{
    margin-bottom:5px !important;
    gap:5px !important;
}

.page-classement-ultra-compact .toolbar h2{
    font-size:.9rem !important;
}

.page-classement-ultra-compact .toolbar p{
    margin-top:1px !important;
    font-size:.54rem !important;
}

.page-classement-ultra-compact .sort-state{
    padding:2px 4px !important;
    font-size:.48rem !important;
}

.page-classement-ultra-compact .button{
    min-height:28px !important;
    padding:0 8px !important;
    font-size:.58rem !important;
}

/* Tableau très dense mais lisible */
.page-classement-ultra-compact #live-ranking thead th{
    padding:5px 4px !important;
    font-size:.54rem !important;
    line-height:1.05 !important;
}

.page-classement-ultra-compact #live-ranking tbody td{
    padding:4px 4px !important;
    font-size:.62rem !important;
    line-height:1.08 !important;
}

.page-classement-ultra-compact #live-ranking tbody tr{
    height:34px !important;
}

.page-classement-ultra-compact #live-ranking .rank-badge{
    width:22px !important;
    height:22px !important;
    font-size:.58rem !important;
}

.page-classement-ultra-compact #live-ranking .name{
    font-size:.64rem !important;
    -webkit-line-clamp:1 !important;
    white-space:nowrap !important;
}

.page-classement-ultra-compact #live-ranking .club{
    font-size:.56rem !important;
    -webkit-line-clamp:1 !important;
    white-space:nowrap !important;
}

.page-classement-ultra-compact #live-ranking td.arrival-cell{
    font-size:.56rem !important;
    line-height:1.05 !important;
}

.page-classement-ultra-compact #live-ranking td.speed-cell{
    font-size:.64rem !important;
}

.page-classement-ultra-compact #live-ranking .recent-label{
    display:none !important;
}

.page-classement-ultra-compact .table-footer-live{
    padding:5px 7px !important;
    font-size:.54rem !important;
}

/* Carte beaucoup plus basse */
.page-classement-ultra-compact .map-card{
    border-radius:9px !important;
}

.page-classement-ultra-compact .map-card-head{
    padding:6px 7px 5px !important;
}

.page-classement-ultra-compact .map-card-head h2{
    font-size:.78rem !important;
}

.page-classement-ultra-compact .map-card-head p{
    margin-top:1px !important;
    font-size:.52rem !important;
}

.page-classement-ultra-compact .map-live{
    padding:3px 5px !important;
    font-size:.48rem !important;
}

.page-classement-ultra-compact #embedded-map{
    height:270px !important;
}

.page-classement-ultra-compact .map-card-foot{
    padding:4px 6px !important;
    font-size:.48rem !important;
}

.page-classement-ultra-compact .info-live-bar{
    display:none !important;
}

.page-classement-ultra-compact .last-update{
    display:none !important;
}

.page-classement-ultra-compact .footer{
    padding:0 0 6px !important;
    font-size:.56rem !important;
}

/* Écrans très bas */
@media(min-width:1100px) and (max-height:760px){
    .page-classement-ultra-compact .podium-section{
        display:none !important;
    }

    .page-classement-ultra-compact #embedded-map{
        height:230px !important;
    }

    .page-classement-ultra-compact #live-ranking tbody tr{
        height:30px !important;
    }
}

/* Tablette */
@media(max-width:1099px){
    .page-classement-ultra-compact .ranking-map-layout{
        grid-template-columns:1fr !important;
    }

    .page-classement-ultra-compact .podium-grid{
        grid-template-columns:1fr !important;
    }
}

/* Mobile */
@media(max-width:760px){
    .page-classement-ultra-compact .stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .page-classement-ultra-compact .podium-section{
        display:block !important;
    }
}
