/* doc-project | stats/assets/css/stats-landscape-fullscreen.css | Définit l’overlay plein écran paysage simulé du module statistiques, avec croix flottante compacte, zone tableau tactile, orientation UI stable sans dépendre de la rotation automatique système et compatibilité avec les modales d’édition existantes. | Expose: .stats-landscape-fullscreen* | Dépend de: stats/stats.php, stats/assets/js/stats-landscape-fullscreen.js, variables CSS de stats/assets/css/stats.css | Impacte: UI statistiques, affichage fullscreen des tableaux, lisibilité mobile portrait/paysage, conservation des interactions tableau et prévention du scroll de page en arrière-plan | Tables: aucune */

body.stats-landscape-open {
    overflow: hidden;
    touch-action: none;
}

.stats-landscape-action {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px;
}

.stats-landscape-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    color: var(--stats-text, #f8fafc);
    background: rgba(30, 41, 59, 0.82);
    box-shadow: 0 10px 26px rgba(2, 6, 23, 0.22);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.stats-landscape-open:hover,
.stats-landscape-open:focus-visible {
    color: #082f49;
    background: linear-gradient(135deg, var(--stats-primary, #38bdf8), var(--stats-primary-strong, #0ea5e9));
    outline: 3px solid rgba(56, 189, 248, 0.22);
    outline-offset: 2px;
}

.stats-landscape-open__icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.stats-landscape-open__icon svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
}

.stats-landscape-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 1900;
    display: block;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding:
        max(10px, env(safe-area-inset-top))
        max(10px, env(safe-area-inset-right))
        max(10px, env(safe-area-inset-bottom))
        max(10px, env(safe-area-inset-left));
    color: var(--stats-text, #f8fafc);
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.18), transparent 34rem),
        linear-gradient(135deg, #020617 0%, #0f172a 48%, #020617 100%);
}

.stats-landscape-fullscreen[hidden] {
    display: none;
}

.stats-landscape-fullscreen__close {
    position: fixed;
    top: max(8px, env(safe-area-inset-top));
    right: max(8px, env(safe-area-inset-right));
    z-index: 4;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: var(--stats-text, #f8fafc);
    background: rgba(15, 23, 42, 0.86);
    box-shadow: 0 10px 26px rgba(2, 6, 23, 0.38);
    cursor: pointer;
    font-size: 1.15rem;
    font-weight: 950;
    line-height: 1;
}

.stats-landscape-fullscreen__close:focus-visible {
    outline: 3px solid rgba(56, 189, 248, 0.42);
    outline-offset: 2px;
}

.stats-landscape-fullscreen__stage {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
}

.stats-landscape-fullscreen__content {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 20px;
    background: rgba(15, 23, 42, 0.78);
    -webkit-overflow-scrolling: touch;
}

.stats-landscape-fullscreen__content > .stats-table-shell,
.stats-landscape-fullscreen__content > .stats-summary-table-wrap {
    margin: 0;
    padding: 10px;
}

.stats-landscape-fullscreen .stats-landscape-action {
    display: none;
}

.stats-landscape-fullscreen .table-wrapper,
.stats-landscape-fullscreen .stats-summary-table-wrap {
    max-height: none;
    box-shadow: none;
}

@media (orientation: portrait) and (max-width: 900px) {
    .stats-landscape-fullscreen__stage {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100vh;
        width: 100dvh;
        height: 100vw;
        transform: translate(-50%, -50%) rotate(90deg);
        transform-origin: center center;
        margin: 0;
        padding: 10px;
    }
}

@media (max-width: 576px) {
    .stats-landscape-open__label {
        display: none;
    }

    .stats-landscape-open {
        width: 48px;
        min-width: 48px;
        padding: 0;
    }

    .stats-landscape-fullscreen__close {
        width: 30px;
        height: 30px;
        min-width: 30px;
        min-height: 30px;
        font-size: 1rem;
    }
}