/* Layout principal (sidebar, flyout, menu mobile) — extrait de MainLayout.razor.
   Styles GLOBAUX : ciblent des classes Radzen (.rz-sidebar, .rz-body...) hors scope CSS isolation. */

/* Sidebar blanche + icônes vertes + flyout blanc */
.rz-sidebar,
.sidebar-expanded.rz-sidebar,
.sidebar-collapsed.rz-sidebar {
    background: var(--sidebar-bg) !important;
    overflow: visible !important;
    max-height: calc(100vh - var(--appbar-height) - var(--footer-height));
    z-index: 1;
    border-right: 1px solid #DCDCDE;
    box-shadow: none;
}

.sidebar-dock {
    position: relative;
    min-width: 52px;
    max-height: calc(100vh - var(--appbar-height) - var(--footer-height));
    overflow-x: visible;
    overflow-y: auto;
    background: var(--sidebar-bg);
    padding: clamp(0.85rem, 1vw, 1.15rem) clamp(0.55rem, 0.75vw, 0.85rem);
}

.sidebar-expanded .sidebar-dock {
    min-width: clamp(270px, 15vw, 320px);
}

.sidebar-toggle-btn {
    display: none !important;
}

.mobile-menu-toggle,
.mobile-menu-backdrop,
.mobile-menu-panel {
    display: none;
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: clamp(0.42rem, 0.48vw, 0.6rem);
}

.sidebar-nav-item {
    display: flex;
    align-items: center;
    gap: clamp(0.38rem, 0.45vw, 0.6rem);
    width: 100%;
    min-height: clamp(1.9rem, 1.85vw, 2.35rem);
    padding: clamp(0.28rem, 0.34vw, 0.44rem) clamp(0.62rem, 0.75vw, 0.9rem);
    color: var(--sidebar-text);
    text-decoration: none;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.1;
}

/* ── Barre de menu : état de chargement et état d'échec ──
   Les emplacements reprennent la géométrie de .sidebar-nav-item pour que la barre ne
   saute pas quand le menu réel les remplace. */
.sidebar-nav-skeleton {
    cursor: default;
    pointer-events: none;
}

.sidebar-nav-skeleton__icone,
.sidebar-nav-skeleton__libelle {
    background: linear-gradient(90deg, #ececef 25%, #f6f6f8 37%, #ececef 63%);
    background-size: 400% 100%;
    animation: sidebar-nav-skeleton-pulse 1.4s ease-in-out infinite;
    border-radius: 4px;
}

.sidebar-nav-skeleton__icone {
    flex-shrink: 0;
    width: clamp(1.05rem, 1.15vw, 1.35rem);
    height: clamp(1.05rem, 1.15vw, 1.35rem);
    border-radius: 50%;
}

.sidebar-nav-skeleton__libelle {
    flex: 1;
    max-width: 8.5rem;
    height: 0.7rem;
}

/* Longueurs inégales : un empilement de barres identiques se lit comme un défaut
   d'affichage plutôt que comme un chargement. */
.sidebar-nav-skeleton:nth-child(3n) .sidebar-nav-skeleton__libelle { max-width: 6.5rem; }
.sidebar-nav-skeleton:nth-child(4n) .sidebar-nav-skeleton__libelle { max-width: 7.5rem; }

@keyframes sidebar-nav-skeleton-pulse {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar-nav-skeleton__icone,
    .sidebar-nav-skeleton__libelle {
        animation: none;
    }
}

.sidebar-nav-erreur {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem clamp(0.62rem, 0.75vw, 0.9rem);
    color: var(--color-er);
    font-size: 0.78rem;
    line-height: 1.25;
}

.sidebar-nav-erreur .rzi {
    flex-shrink: 0;
    font-size: 1.1rem;
    color: var(--color-er);
}

.sidebar-nav-item--parent {
    position: relative;
    background: transparent;
}

.sidebar-nav-item--parent:hover,
.sidebar-nav-item--parent.sidebar-nav-item--active,
.sidebar-nav-item--link:hover,
.sidebar-nav-item--link.active {
    background: rgba(83, 179, 88, 0.08);
    color: var(--sidebar-text);
}

.sidebar-nav > .sidebar-nav-item:first-child,
.sidebar-nav > .sidebar-nav-item:first-child.active,
.sidebar-nav > .sidebar-nav-item:first-child:hover {
    justify-content: center;
    font-size: clamp(0.86rem, 0.78vw, 1rem);
    gap: clamp(0.45rem, 0.5vw, 0.65rem);
    min-height: clamp(2.15rem, 2.15vw, 2.65rem);
    margin-bottom: clamp(0.55rem, 0.7vw, 0.9rem);
    padding: clamp(0.36rem, 0.45vw, 0.55rem) clamp(0.75rem, 0.9vw, 1.05rem);
    background: var(--color-ebf);
    color: #ffffff;
    border-radius: 999px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.sidebar-nav > .sidebar-nav-item:first-child .sidebar-nav-label,
.sidebar-nav > .sidebar-nav-item:first-child .sidebar-nav-icon,
.sidebar-nav > .sidebar-nav-item:first-child .sidebar-nav-icon .rzi {
    color: #ffffff !important;
}

/* Le picto Accueil se cale sur la taille du libellé « ACCUEIL » : la taille
   est posée une seule fois sur l'item, le libellé en hérite et l'icône la
   reprend en em — les deux restent donc synchronisés. */
.sidebar-nav > .sidebar-nav-item:first-child .sidebar-nav-label {
    font-size: inherit;
}

.sidebar-nav > .sidebar-nav-item:first-child .sidebar-nav-icon-img {
    width: 1em;
    height: 1em;
}

.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-nav-icon,
.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-nav-icon .rzi,
.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-nav-chevron,
.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-nav-chevron .rzi {
    color: #df6464 !important;
}

.sidebar-nav > .sidebar-nav-item:nth-child(2):hover,
.sidebar-nav > .sidebar-nav-item:nth-child(2).sidebar-nav-item--active {
    background: rgba(223, 100, 100, 0.1);
}

.sidebar-nav-icon,
.sidebar-nav-icon .rzi {
    color: var(--sidebar-icon-color) !important;
    font-size: clamp(1rem, 0.95vw, 1.28rem);
    flex-shrink: 0;
}

.sidebar-nav-icon-img {
    width: clamp(1rem, 0.95vw, 1.28rem);
    height: clamp(1rem, 0.95vw, 1.28rem);
    flex-shrink: 0;
    object-fit: contain;
    display: block;
}

.sidebar-nav-label {
    flex: 1;
    font-size: clamp(0.86rem, 0.78vw, 1rem);
    font-weight: 600;
    color: var(--sidebar-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-nav-chevron,
.sidebar-nav-chevron .rzi {
    color: var(--sidebar-icon-color) !important;
    font-size: clamp(1rem, 0.95vw, 1.25rem);
    margin-left: auto;
    font-weight: 700;
}

.sidebar-collapsed .sidebar-nav-label,
.sidebar-collapsed .sidebar-nav-chevron {
    display: none;
}

.sidebar-collapsed .sidebar-nav-item {
    justify-content: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.sidebar-flyout {
    position: fixed;
    left: var(--flyout-left, calc(100% + clamp(0.55rem, 0.75vw, 0.85rem)));
    top: var(--flyout-top, var(--appbar-height));
    min-width: clamp(280px, 16vw, 340px);
    max-width: clamp(300px, 18vw, 380px);
    max-height: var(--flyout-max-height, calc(100vh - var(--appbar-height) - var(--footer-height)));
    overflow-y: auto;
    z-index: 2000;
    background: var(--sidebar-bg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
    border: 1px solid #d7d7d7;
    border-left: none;
    border-radius: 0 8px 8px 0;
    padding: 0;
}

.sidebar-flyout--up {
    border-radius: 0 8px 8px 0;
}

.sidebar-flyout-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-flyout-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: clamp(0.58rem, 0.55vw, 0.75rem) clamp(0.85rem, 0.8vw, 1.05rem);
    color: var(--sidebar-text);
    text-decoration: none;
    font-size: clamp(0.86rem, 0.76vw, 0.98rem);
    font-weight: 600;
    line-height: 1.18;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

/* Le libellé occupe la place restante : la pastille est repoussée contre le bord droit. */
.sidebar-flyout-label {
    flex: 1;
}

/* La pastille garde son rouge même quand le lien survolé passe en fond coloré. */
.sidebar-flyout-link .sidebar-nav-badge {
    margin-left: 0;
}

.sidebar-flyout-link:hover,
.sidebar-flyout-link.active {
    background: var(--sidebar-icon-color);
    color: #ffffff;
}

.sidebar-flyout-list li:first-child .sidebar-flyout-link {
    border-radius: 0 7px 0 0;
}

.sidebar-flyout-list li:last-child .sidebar-flyout-link {
    border-bottom: none;
    border-radius: 0 0 7px 0;
}

.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-flyout-link:hover,
.sidebar-nav > .sidebar-nav-item:nth-child(2) .sidebar-flyout-link.active {
    background: #dd6262;
    color: #ffffff;
}

.main-content,
.main-content.rz-body {
    position: relative;
    background-color: var(--app-body-bg);
    background-image: none;
    overflow-x: hidden;
    overflow-y: auto;
    /* Radzen applique --rz-layout-body-padding (1rem) sur .rz-body : on neutralise
       le haut pour que le fil d'Ariane parte au même niveau que la sidebar. */
    padding-top: 0;
}

.main-content-body {
    min-height: 100%;
    overflow: visible;
    /* Pas de padding haut ici : c'est .breadcrumb-host qui porte le décalage
       vertical, calé sur le padding haut du dock de la sidebar. */
    padding: 0 var(--content-padding-x) var(--content-padding-bottom) !important;
}

/* Fil d'Ariane aligné verticalement sur le bouton "Accueil" de la sidebar :
   même padding haut que .sidebar-dock et même hauteur que le bouton Accueil,
   donc les deux pastilles sont centrées sur la même ligne. */
.breadcrumb-host {
    display: flex;
    align-items: center;
    box-sizing: content-box;
    min-height: clamp(2.15rem, 2.15vw, 2.65rem);
    padding-top: clamp(0.85rem, 1vw, 1.15rem);
}

.breadcrumb-host .rz-breadcrumb {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    background: transparent;
}

/* Aucune pastille à afficher (page d'accueil) : on ne réserve pas la hauteur
   du bouton Accueil, on retombe sur le padding de contenu habituel. */
.breadcrumb-host:not(:has(.rz-breadcrumb-item)) {
    min-height: 0;
    padding-top: var(--content-padding-y);
    margin-bottom: 0 !important;
}

@media (max-width: 1280px) {
    .sidebar-expanded .sidebar-dock {
        min-width: 270px;
    }

    .sidebar-dock {
        padding: 0.85rem 0.55rem;
    }

    .sidebar-nav {
        gap: 0.42rem;
    }

    .sidebar-nav-item {
        gap: 0.38rem;
        min-height: 1.7rem;
        padding: 0.24rem 0.55rem;
    }

    /* Le bouton Accueil passe à 2rem de haut et le dock à 0.85rem de padding :
       le fil d'Ariane suit pour rester aligné. */
    .breadcrumb-host {
        min-height: 2rem;
        padding-top: 0.85rem;
    }

    .sidebar-nav > .sidebar-nav-item:first-child,
    .sidebar-nav > .sidebar-nav-item:first-child.active,
    .sidebar-nav > .sidebar-nav-item:first-child:hover {
        gap: 0.45rem;
        font-size: 0.82rem;
        min-height: 2rem;
        margin-bottom: 0.55rem;
        padding: 0.32rem 0.75rem;
    }

    .sidebar-nav-icon,
    .sidebar-nav-icon .rzi {
        font-size: 1rem;
    }

    .sidebar-nav-icon-img {
        width: 1rem;
        height: 1rem;
    }

    .sidebar-nav-label {
        font-size: 0.82rem;
    }

    .sidebar-nav-chevron,
    .sidebar-nav-chevron .rzi {
        font-size: 1rem;
    }

    .sidebar-flyout {
        min-width: 260px;
        max-width: 300px;
    }

    .sidebar-flyout-link {
        padding: 0.55rem 0.85rem;
        font-size: 0.82rem;
    }
}

.content {
    overflow: visible;
}

@media (max-width: 900px) {
    .rz-sidebar,
    .sidebar-expanded.rz-sidebar,
    .sidebar-collapsed.rz-sidebar {
        display: none !important;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        position: fixed;
        top: calc(var(--appbar-height) + 0.75rem);
        left: 0.75rem;
        z-index: 2200;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border: none;
        border-radius: 8px;
        background: #333131;
        color: #ffffff;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.24);
    }

    .mobile-menu-toggle .rzi,
    .mobile-menu-close .rzi {
        color: #ffffff !important;
        font-size: 1.35rem;
    }

    .mobile-menu-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 2300;
        background: rgba(0, 0, 0, 0.35);
    }

    .mobile-menu-panel {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 2310;
        width: min(22rem, 88vw);
        flex-direction: column;
        background: #ffffff;
        color: var(--sidebar-text);
        box-shadow: 8px 0 24px rgba(0, 0, 0, 0.24);
    }

    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 4rem;
        padding: 0 1rem;
        background: #333131;
        color: #ffffff;
    }

    .mobile-menu-title {
        font-size: 1rem;
        font-weight: 700;
    }

    .mobile-menu-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border: none;
        border-radius: 8px;
        background: transparent;
        color: #ffffff;
    }

    .mobile-menu-nav {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        overflow-y: auto;
        padding: 0.75rem;
    }

    .mobile-menu-group {
        display: flex;
        flex-direction: column;
    }

    .mobile-menu-item {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
        min-height: 2.75rem;
        padding: 0.65rem 0.75rem;
        border: none;
        border-radius: 8px;
        background: transparent;
        color: var(--sidebar-text);
        text-align: left;
        text-decoration: none;
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.15;
    }

    .mobile-menu-item:hover,
    .mobile-menu-link.active,
    .mobile-menu-parent--open {
        background: rgba(83, 179, 88, 0.1);
        color: var(--sidebar-text);
    }

    .mobile-menu-item .sidebar-nav-icon,
    .mobile-menu-item .sidebar-nav-icon .rzi {
        color: var(--sidebar-icon-color) !important;
        font-size: 1.1rem;
    }

    .mobile-menu-item .sidebar-nav-icon-img {
        width: 1.1rem;
        height: 1.1rem;
    }

    .mobile-menu-chevron,
    .mobile-menu-chevron .rzi {
        margin-left: auto;
        color: var(--sidebar-icon-color) !important;
        transition: transform 160ms ease;
    }

    .mobile-menu-parent--open .mobile-menu-chevron {
        transform: rotate(180deg);
    }

    .mobile-submenu-list {
        list-style: none;
        margin: 0.15rem 0 0.35rem;
        padding: 0 0 0 2.25rem;
    }

    .mobile-submenu-link {
        display: block;
        padding: 0.55rem 0.75rem;
        border-radius: 8px;
        color: var(--sidebar-text);
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 600;
        line-height: 1.2;
    }

    .mobile-submenu-link:hover,
    .mobile-submenu-link.active {
        background: var(--sidebar-icon-color);
        color: #ffffff;
    }

    /* Le corps occupe toute la largeur : la réserve de 4rem servait au bouton de menu
       flottant (.mobile-menu-toggle), qui n'est plus rendu par la mise en page. */
    .main-content-body.content,
    .main-content-body.content.px-4 {
        padding-left: var(--content-padding-x) !important;
        padding-right: var(--content-padding-x) !important;
    }

    /* Fil d'Ariane : plus besoin de s'aligner sur le dock de la sidebar, masquée en mobile. */
    .breadcrumb-host {
        min-height: 0;
        padding-top: var(--content-padding-y);
    }

    .breadcrumb-host.mb-3 {
        margin-bottom: var(--content-gap) !important;
    }
}

/* ── Popup d'agrandissement d'un widget du dashboard ──
   .rz-dialog est bien un flex en colonne avec une hauteur explicite, mais Radzen ne pose
   ni flex ni hauteur sur .rz-dialog-content : en flex-item il se dimensionne donc sur son
   contenu. La chaîne de hauteur est rompue, le height:100% de .widget-content ne résout
   pas, et le graphique retombe sur son min-height — d'où des courbes rognées en bas
   alors que la popup est bien plus haute. On lui fait occuper la place restante. */
.rz-dialog-content.widget-dialog-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    /* Sans ça un flex-item refuse de descendre sous la hauteur de son contenu et
       déborderait de la popup au lieu de la remplir exactement. */
    min-height: 0;
    overflow: auto;
}

@font-face {
    font-family: 'e-icons';
    font: url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype');
    font-weight: normal;
    font-style: normal;
}


/* Mobile : pas de fil d'Ariane. La barre du haut mobile porte déjà le retour à l'accueil,
   et sur un écran étroit ces pastilles prenaient une ligne entière au détriment du contenu.
   Masqué en display:none, y compris la hauteur qu'il réservait. */
@media (max-width: 900px) {
    .breadcrumb-host {
        display: none !important;
    }
}


/* ── Fenêtre d'agrandissement d'un planning ──
   Même raison que pour les widgets : Radzen ne pose ni hauteur ni flex sur
   .rz-dialog-content, le tableau ne remplirait donc pas la fenêtre. On lui donne la place
   restante, et on laisse défiler horizontalement : les 52 semaines dépassent toujours la
   largeur de l'écran. */
.rz-dialog-content.planning-dialog-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.5rem;
}

/* La carte du tableau ne doit pas réduire la place disponible dans la fenêtre. */
.planning-dialog-content .card-shared {
    padding: 0;
}
