/* /Components/Layout/AdminNavigation.razor.rz.scp.css */
.admin-navigation[b-69zzls5prq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px 24px 0;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e2e6ec;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .05);
}

.admin-navigation-title[b-69zzls5prq] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #09163F;
    font-weight: 800;
    white-space: nowrap;
}

.admin-navigation-icon[b-69zzls5prq] {
    font-size: 1.05rem;
}

.admin-navigation-links[b-69zzls5prq] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-navigation-link[b-69zzls5prq] {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    color: #354052;
    background: #f7f8fa;
    border: 1px solid #e2e6ec;
    border-radius: 9px;
    text-decoration: none;
    font-size: .86rem;
    font-weight: 700;
}

.admin-navigation-link:hover[b-69zzls5prq] {
    color: #09163F;
    background: #f0f2f6;
    text-decoration: none;
}

.admin-navigation-link.active[b-69zzls5prq] {
    color: #fff;
    background: #09163F;
    border-color: #09163F;
}

@media (max-width: 850px) {
    .admin-navigation[b-69zzls5prq] {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-navigation-links[b-69zzls5prq] {
        justify-content: flex-start;
    }
}
/* /Components/Layout/ConnexionLayout.razor.rz.scp.css */
/* =========================================================
   PORTAIL DLC — LAYOUT CONNEXION
   ========================================================= */

.connexion-layout[b-8h2wuqca1a] {
    width: 100%;

    min-height: 100vh;

    margin: 0;

    padding: 0;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* =========================================================
   PORTAIL DLC — LAYOUT PRINCIPAL
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.page[b-a7ds0u8bit] {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 100%;
    min-width: 0;
}


/* =========================================================
   CONTENU PRINCIPAL
   ========================================================= */

main[b-a7ds0u8bit] {
    flex: 1;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: hidden;
}


main > article[b-a7ds0u8bit] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


/* =========================================================
   MENU LATÉRAL
   ========================================================= */

.sidebar[b-a7ds0u8bit] {
    flex-shrink: 0;

    background-image:
        linear-gradient(
            180deg,
            rgb(5, 39, 103) 0%,
            #3a0647 70%
        );
}


/* =========================================================
   BARRE SUPÉRIEURE
   ========================================================= */

.top-row[b-a7ds0u8bit] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 3.8rem;

    background-color: #f7f7f7;

    border-bottom:
        1px solid
        #d6d5d5;
}


/* =========================================================
   IDENTITÉ DU PORTAIL
   ========================================================= */

.portal-title[b-a7ds0u8bit] {
    display: flex;

    align-items: baseline;

    gap: 9px;

    min-width: 0;
}


.portal-name[b-a7ds0u8bit] {
    color: var(--dlc-navy);

    font-size: 0.92rem;

    font-weight: 800;

    white-space: nowrap;
}


.portal-school[b-a7ds0u8bit] {
    overflow: hidden;

    color: #7A818C;

    font-size: 0.74rem;

    font-weight: 500;

    text-overflow: ellipsis;

    white-space: nowrap;
}


/* =========================================================
   ANNÉE SCOLAIRE
   ========================================================= */

.school-year-container[b-a7ds0u8bit] {
    display: flex;

    align-items: center;

    gap: 9px;

    flex-shrink: 0;
}


.school-year-container label[b-a7ds0u8bit] {
    margin: 0;

    color: #5F6672;

    font-size: 0.75rem;

    font-weight: 700;

    white-space: nowrap;
}


.school-year-select[b-a7ds0u8bit] {
    min-width: 125px;

    height: 36px;

    padding:
        0
        31px
        0
        11px;

    color: var(--dlc-navy);

    background-color: white;

    border:
        1px solid
        #CDD3DC;

    border-radius: 8px;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.82rem;

    font-weight: 700;

    transition:
        border-color 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}


.school-year-select:hover[b-a7ds0u8bit] {
    border-color: #AAB2BF;
}


.school-year-select:focus[b-a7ds0u8bit] {
    outline: none;

    border-color:
        var(--dlc-navy);

    box-shadow:
        0 0 0 3px
        rgba(9, 22, 63, 0.08);
}


/* =========================================================
   LIENS DE LA BARRE SUPÉRIEURE
   ========================================================= */

.top-row[b-a7ds0u8bit]  a,
.top-row[b-a7ds0u8bit]  .btn-link {
    margin-left: 1.5rem;

    white-space: nowrap;

    text-decoration: none;
}


.top-row[b-a7ds0u8bit]  a:hover,
.top-row[b-a7ds0u8bit]  .btn-link:hover {
    text-decoration: underline;
}


.top-row[b-a7ds0u8bit]  a:first-child {
    overflow: hidden;

    text-overflow: ellipsis;
}


/* =========================================================
   CONTENU
   ========================================================= */

.content[b-a7ds0u8bit] {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding-top: 1.5rem;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640.98px) {

    .top-row[b-a7ds0u8bit] {
        align-items: stretch;

        flex-direction: column;

        justify-content: center;

        gap: 8px;

        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }


    .portal-title[b-a7ds0u8bit] {
        justify-content: space-between;
    }


    .school-year-container[b-a7ds0u8bit] {
        justify-content: space-between;

        width: 100%;
    }


    .school-year-select[b-a7ds0u8bit] {
        flex: 1;

        max-width: 170px;
    }


    .top-row[b-a7ds0u8bit]  a,
    .top-row[b-a7ds0u8bit]  .btn-link {
        margin-left: 0;
    }


    main[b-a7ds0u8bit],
    main > article[b-a7ds0u8bit] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

}


/* =========================================================
   ORDINATEUR
   ========================================================= */

@media (min-width: 641px) {

    .page[b-a7ds0u8bit] {
        flex-direction: row;

        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    .sidebar[b-a7ds0u8bit] {
        position: sticky;

        top: 0;

        width: 250px;
        height: 100vh;

        flex:
            0
            0
            250px;
    }


    main[b-a7ds0u8bit] {
        flex: 1 1 auto;

        width:
            calc(
                100% - 250px
            );

        max-width:
            calc(
                100% - 250px
            );

        min-width: 0;

        overflow-x: hidden;
    }


    .top-row[b-a7ds0u8bit] {
        position: sticky;

        top: 0;

        z-index: 10;
    }


    .top-row.auth[b-a7ds0u8bit]  a:first-child {
        flex: 1;

        width: 0;

        text-align: right;
    }


    .top-row[b-a7ds0u8bit],
    article[b-a7ds0u8bit] {
        padding-left:
            2rem !important;

        padding-right:
            1.5rem !important;
    }


    article[b-a7ds0u8bit] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

}


/* =========================================================
   ERREUR BLAZOR
   ========================================================= */

#blazor-error-ui[b-a7ds0u8bit] {
    position: fixed;

    bottom: 0;
    left: 0;

    z-index: 1000;

    display: none;

    width: 100%;

    padding:
        0.6rem
        1.25rem
        0.7rem
        1.25rem;

    box-sizing: border-box;

    color-scheme: light only;

    background: lightyellow;

    box-shadow:
        0 -1px 2px
        rgba(0, 0, 0, 0.2);
}


#blazor-error-ui .dismiss[b-a7ds0u8bit] {
    position: absolute;

    top: 0.5rem;
    right: 0.75rem;

    cursor: pointer;
}
/* =========================================================
   MODE VISITEUR — LECTURE SEULE
   ========================================================= */

.visitor-banner[b-a7ds0u8bit] {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 14px 18px 0;
    padding: 12px 15px;

    background:
        linear-gradient(
            90deg,
            #f3efff 0%,
            #f8f5ff 100%
        );

    border: 1px solid #d8c7ff;
    border-radius: 12px;

    color: #3b2772;
}

.visitor-banner-icon[b-a7ds0u8bit] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;
    min-width: 38px;

    background: #ffffff;
    border-radius: 10px;

    font-size: 1.15rem;
}

.visitor-banner-text[b-a7ds0u8bit] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
}

.visitor-banner-text strong[b-a7ds0u8bit] {
    color: #2e1d63;
    font-size: .88rem;
}

.visitor-banner-text span[b-a7ds0u8bit] {
    color: #66568e;
    font-size: .76rem;
    line-height: 1.35;
}

.visitor-banner-badge[b-a7ds0u8bit] {
    padding: 5px 9px;

    background: #ffffff;
    border: 1px solid #cbb7fa;
    border-radius: 999px;

    color: #5b21b6;

    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .04em;
}

@media (max-width: 640px) {
    .visitor-banner[b-a7ds0u8bit] {
        align-items: flex-start;
        margin: 10px 10px 0;
    }

    .visitor-banner-badge[b-a7ds0u8bit] {
        display: none;
    }
}

/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* =========================================================
   AGORA — MENU DE NAVIGATION
   ========================================================= */


/* =========================================================
   COULEUR PRINCIPALE
   ========================================================= */

.top-row[b-7hbj2kju34],
.nav-scrollable[b-7hbj2kju34] {
    background: #0f172a;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.top-row[b-7hbj2kju34] {
    min-height: 3.5rem;

    display: flex;
    align-items: center;

    background: #0f172a;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.07);
}


.navbar-brand[b-7hbj2kju34] {
    color: white;

    font-size: 1.08rem;
    font-weight: 800;

    letter-spacing: -0.015em;

    text-decoration: none;
}


.navbar-brand:hover[b-7hbj2kju34] {
    color: white;
}


/* =========================================================
   BOUTON MOBILE
   ========================================================= */

.navbar-toggler[b-7hbj2kju34] {
    appearance: none;

    position: absolute;

    top: 0.55rem;
    right: 1rem;

    width: 3.1rem;
    height: 2.35rem;

    cursor: pointer;

    border:
        1px solid
        rgba(255, 255, 255, 0.22);

    border-radius: 8px;

    background-color:
        rgba(255, 255, 255, 0.07);

    background-image:
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.35rem;
}


.navbar-toggler:checked[b-7hbj2kju34] {
    background-color:
        rgba(255, 255, 255, 0.16);
}


/* =========================================================
   CONTENEUR DU MENU
   ========================================================= */

.nav-scrollable[b-7hbj2kju34] {
    display: none;

    flex-direction: column;

    min-height: 0;

    padding-bottom: 18px;

    overflow-y: auto;
    overflow-x: hidden;

    background: #0f172a;

    scrollbar-width: thin;

    scrollbar-color:
        rgba(255, 255, 255, 0.18)
        transparent;
}


.navbar-toggler:checked ~ .nav-scrollable[b-7hbj2kju34] {
    display: flex;
}


/* =========================================================
   NAVIGATION PRINCIPALE
   ========================================================= */

.main-navigation[b-7hbj2kju34] {
    display: flex;
    flex-direction: column;

    gap: 2px;

    padding:
        10px
        10px
        4px;
}


/* =========================================================
   LIENS SIMPLES
   ========================================================= */

.simple-item[b-7hbj2kju34] {
    width: 100%;
}


.simple-item[b-7hbj2kju34]  .root-link {
    display: flex;
    align-items: center;

    gap: 11px;

    width: 100%;

    min-height: 43px;

    padding:
        9px
        12px;

    color:
        rgba(255, 255, 255, 0.78);

    border-radius: 9px;

    text-decoration: none;

    font-size: 0.79rem;
    font-weight: 650;

    transition:
        color 150ms ease,
        background 150ms ease,
        transform 150ms ease;
}


.simple-item[b-7hbj2kju34]  .root-link:hover {
    color: white;

    background:
        rgba(255, 255, 255, 0.08);
}


.simple-item[b-7hbj2kju34]  .root-link.active {
    color: white;

    background:
        rgba(255, 255, 255, 0.12);

    box-shadow:
        inset 3px 0 0
        var(--dlc-lime);
}


.root-icon[b-7hbj2kju34] {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    width: 25px;

    font-size: 0.95rem;
}


.root-text[b-7hbj2kju34] {
    min-width: 0;

    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.2;
}


/* =========================================================
   GROUPE / MODULE
   ========================================================= */

.module-group[b-7hbj2kju34] {
    width: 100%;
}


/* =========================================================
   BOUTON PRINCIPAL DU MODULE
   ========================================================= */

.module-toggle[b-7hbj2kju34] {
    display: grid;

    grid-template-columns:
        25px
        minmax(0, 1fr)
        auto
        18px;

    align-items: center;

    gap: 11px;

    width: 100%;

    min-height: 43px;

    padding:
        9px
        12px;

    color:
        rgba(255, 255, 255, 0.80);

    background: transparent;

    border: none;
    border-radius: 9px;

    text-align: left;

    font-family: inherit;
    font-size: 0.79rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        color 150ms ease,
        background 150ms ease,
        box-shadow 150ms ease;
}


.module-toggle:hover[b-7hbj2kju34] {
    color: white;

    background:
        rgba(255, 255, 255, 0.08);
}


.module-toggle.active-module[b-7hbj2kju34] {
    color: white;

    background:
        rgba(255, 255, 255, 0.12);

    box-shadow:
        inset 3px 0 0
        var(--dlc-lime);
}


.module-icon[b-7hbj2kju34] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;

    font-size: 0.95rem;
}


.module-title[b-7hbj2kju34] {
    min-width: 0;

    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.2;
}


/* =========================================================
   CHEVRON
   ========================================================= */

.module-chevron[b-7hbj2kju34] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    color:
        rgba(255, 255, 255, 0.48);

    font-size: 1.25rem;
    font-weight: 400;

    line-height: 1;

    transform: rotate(0deg);

    transition:
        transform 160ms ease,
        color 160ms ease;
}


.module-chevron.open[b-7hbj2kju34] {
    color:
        rgba(255, 255, 255, 0.90);

    transform: rotate(90deg);
}


/* =========================================================
   BADGE DU MODULE
   ========================================================= */

.module-badge[b-7hbj2kju34] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 20px;
    height: 20px;

    padding:
        0
        6px;

    color: white;

    background:
        var(--dlc-orange);

    border-radius: 999px;

    font-size: 0.60rem;
    font-weight: 800;

    line-height: 1;
}


/* =========================================================
   SOUS-MENU
   ========================================================= */

.submenu[b-7hbj2kju34] {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 2px;

    margin:
        2px
        5px
        7px
        31px;

    padding:
        2px
        0
        3px
        12px;

    border-left:
        1px solid
        rgba(255, 255, 255, 0.11);
}


.submenu[b-7hbj2kju34]  .subnav-link {
    display: grid;

    grid-template-columns:
        17px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 7px;

    min-height: 34px;

    padding:
        6px
        9px;

    color:
        rgba(255, 255, 255, 0.62);

    border-radius: 7px;

    text-decoration: none;

    font-size: 0.70rem;
    font-weight: 600;

    transition:
        color 140ms ease,
        background 140ms ease,
        transform 140ms ease;
}


.submenu[b-7hbj2kju34]  .subnav-link:hover {
    color:
        rgba(255, 255, 255, 0.96);

    background:
        rgba(255, 255, 255, 0.065);
}


.submenu[b-7hbj2kju34]  .subnav-link.active {
    color: white;

    background:
        rgba(255, 255, 255, 0.11);
}


/* =========================================================
   POINT / ICÔNE SOUS-MENU
   ========================================================= */

.subnav-icon[b-7hbj2kju34] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 17px;

    color:
        rgba(255, 255, 255, 0.52);

    font-size: 0.72rem;
    font-weight: 800;
}


.subnav-text[b-7hbj2kju34] {
    min-width: 0;

    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.2;
}


/* =========================================================
   BADGES DE NOTIFICATION
   ========================================================= */

.notification-badge[b-7hbj2kju34] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 19px;
    height: 19px;

    padding:
        0
        5px;

    color: white;

    background:
        var(--dlc-orange);

    border-radius: 999px;

    font-size: 0.58rem;
    font-weight: 800;

    line-height: 1;
}


/* =========================================================
   LOGO
   ========================================================= */

.menu-logo[b-7hbj2kju34] {
    margin-top: auto;

    padding:
        20px
        22px
        8px;

    text-align: center;
}


.menu-logo img[b-7hbj2kju34] {
    display: block;

    width: 100%;
    max-width: 150px;

    height: auto;

    margin: 0 auto;

    opacity: 0.82;
}


/* =========================================================
   ÉCRANS DESKTOP
   ========================================================= */

@media (min-width: 641px) {

    .navbar-toggler[b-7hbj2kju34] {
        display: none;
    }


    .nav-scrollable[b-7hbj2kju34] {
        display: flex;

        height:
            calc(100vh - 3.5rem);

        overflow-y: auto;

        background: #0f172a;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640.98px) {

    .top-row[b-7hbj2kju34] {
        padding-right: 4.8rem;
    }


    .nav-scrollable[b-7hbj2kju34] {
        max-height:
            calc(100vh - 3.5rem);

        background: #0f172a;
    }


    .main-navigation[b-7hbj2kju34] {
        padding-bottom: 16px;
    }


    .menu-logo[b-7hbj2kju34] {
        display: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-pt3lx01hil],
.components-reconnect-repeated-attempt-visible[b-pt3lx01hil],
.components-reconnect-failed-visible[b-pt3lx01hil],
.components-pause-visible[b-pt3lx01hil],
.components-resume-failed-visible[b-pt3lx01hil],
.components-rejoining-animation[b-pt3lx01hil] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-retrying[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-failed[b-pt3lx01hil],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-pt3lx01hil] {
    display: block;
}


#components-reconnect-modal[b-pt3lx01hil] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-pt3lx01hil 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-pt3lx01hil 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-pt3lx01hil 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-pt3lx01hil]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-pt3lx01hil 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-pt3lx01hil {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-pt3lx01hil {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-pt3lx01hil {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-pt3lx01hil] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-pt3lx01hil] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-pt3lx01hil] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-pt3lx01hil] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-pt3lx01hil] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-pt3lx01hil] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-pt3lx01hil] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-pt3lx01hil 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-pt3lx01hil] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-pt3lx01hil {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Absences.razor.rz.scp.css */
/* =========================================================
   ABSENCES — AGORA
   ========================================================= */


.page-header[b-pm3inf3syy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}


.page-header h1[b-pm3inf3syy] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
}


.page-header p[b-pm3inf3syy] {
    margin: 6px 0 0;
    color: var(--dlc-muted);
}


.new-request-button[b-pm3inf3syy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    color: white;
    background: var(--dlc-navy);
    border-radius: var(--dlc-radius);
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
    transition: var(--dlc-transition);
}


.new-request-button:hover[b-pm3inf3syy] {
    color: white;
    background: var(--dlc-navy-light);
    transform: translateY(-1px);
}


/* =========================================================
   STATISTIQUES
   ========================================================= */


.stats-grid[b-pm3inf3syy] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}


.stat-card[b-pm3inf3syy] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px;
    background: var(--dlc-surface);
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius);
    box-shadow: var(--dlc-shadow-sm);
}


.today-card[b-pm3inf3syy] {
    border-top: 3px solid var(--dlc-orange);
}


.stat-number[b-pm3inf3syy] {
    color: var(--dlc-navy);
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
}


.stat-label[b-pm3inf3syy] {
    color: var(--dlc-muted);
    font-size: .82rem;
    font-weight: 700;
}


/* =========================================================
   CONTENU
   ========================================================= */


.content-card[b-pm3inf3syy] {
    overflow: hidden;
    background: var(--dlc-surface);
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-lg);
    box-shadow: var(--dlc-shadow);
}


.content-card-header[b-pm3inf3syy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px;
    border-bottom: 1px solid var(--dlc-border);
}


.content-card-header h2[b-pm3inf3syy] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1.15rem;
    font-weight: 800;
}


.content-card-header p[b-pm3inf3syy] {
    margin: 4px 0 0;
    color: var(--dlc-muted);
    font-size: .82rem;
}


/* =========================================================
   TABLEAU
   ========================================================= */


.table-container[b-pm3inf3syy] {
    width: 100%;
    overflow-x: auto;
}


.absence-table[b-pm3inf3syy] {
    width: 100%;
    border-collapse: collapse;
}


.absence-table th[b-pm3inf3syy] {
    padding: 13px 16px;
    color: var(--dlc-muted);
    background: #F8F9FB;
    border-bottom: 1px solid var(--dlc-border);
    font-size: .73rem;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}


.absence-table td[b-pm3inf3syy] {
    padding: 15px 16px;
    color: var(--dlc-text);
    border-bottom: 1px solid var(--dlc-border);
    font-size: .86rem;
    vertical-align: middle;
}


.absence-table tbody tr:last-child td[b-pm3inf3syy] {
    border-bottom: 0;
}


.absence-table tbody tr:hover[b-pm3inf3syy] {
    background: #FAFBFD;
}


.today-row[b-pm3inf3syy] {
    background: rgba(255, 107, 27, .035);
}


/* =========================================================
   DATE
   ========================================================= */


.date-cell[b-pm3inf3syy] {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}


.today-badge[b-pm3inf3syy] {
    display: inline-flex;
    padding: 3px 7px;
    color: #A94B0D;
    background: rgba(255, 107, 27, .12);
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 800;
}


/* =========================================================
   BADGES
   ========================================================= */


.type-badge[b-pm3inf3syy] {
    display: inline-flex;
    padding: 5px 9px;
    color: var(--dlc-navy);
    background: rgba(182, 123, 255, .12);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}


.followup-badge[b-pm3inf3syy] {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}


.followup-badge.done[b-pm3inf3syy] {
    color: var(--dlc-success);
    background: var(--dlc-success-bg);
}


.followup-badge.pending[b-pm3inf3syy] {
    color: var(--dlc-warning);
    background: var(--dlc-warning-bg);
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */


.empty-state[b-pm3inf3syy] {
    padding: 56px 24px;
    text-align: center;
}


.empty-icon[b-pm3inf3syy] {
    margin-bottom: 12px;
    font-size: 2rem;
}


.empty-state h3[b-pm3inf3syy] {
    margin: 0 0 8px;
    color: var(--dlc-navy);
    font-size: 1.05rem;
}


.empty-state p[b-pm3inf3syy] {
    margin: 0;
    color: var(--dlc-muted);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */


@media (max-width: 900px) {

    .stats-grid[b-pm3inf3syy] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 650px) {

    .page-header[b-pm3inf3syy] {
        flex-direction: column;
    }


    .new-request-button[b-pm3inf3syy] {
        width: 100%;
    }


    .stats-grid[b-pm3inf3syy] {
        grid-template-columns: 1fr 1fr;
    }


    .content-card-header[b-pm3inf3syy] {
        padding: 18px;
    }


    .absence-table th[b-pm3inf3syy],
    .absence-table td[b-pm3inf3syy] {
        padding: 12px;
    }

}
/* /Components/Pages/Achats.razor.rz.scp.css */
.page-header[b-hbi71t08r8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.page-header h1[b-hbi71t08r8] {
    margin: 0;
    color: #09163F;
    font-size: 2.4rem;
    font-weight: 700;
}

.page-header p[b-hbi71t08r8] {
    margin: 5px 0 0;
    color: #687080;
}

.new-request-button[b-hbi71t08r8] {
    background: #09163F;
    color: white;
    text-decoration: none;
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 600;
}

.new-request-button:hover[b-hbi71t08r8] {
    color: white;
    text-decoration: none;
    opacity: .9;
}

.stats-grid[b-hbi71t08r8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

.stat-card[b-hbi71t08r8] {
    background: white;
    border: 1px solid #e4e6eb;
    border-radius: 14px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.stat-number[b-hbi71t08r8] {
    font-size: 2rem;
    font-weight: 700;
    color: #09163F;
}

.stat-label[b-hbi71t08r8] {
    color: #687080;
    margin-top: 4px;
}

.content-card[b-hbi71t08r8] {
    background: white;
    border: 1px solid #e4e6eb;
    border-radius: 16px;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
    overflow: hidden;
}

.content-card-header[b-hbi71t08r8] {
    padding: 20px 24px;
    border-bottom: 1px solid #e4e6eb;
}

.content-card-header h2[b-hbi71t08r8] {
    margin: 0;
    color: #09163F;
    font-size: 1.3rem;
}

.empty-state[b-hbi71t08r8] {
    text-align: center;
    padding: 65px 20px;
}

.empty-icon[b-hbi71t08r8] {
    font-size: 3rem;
    margin-bottom: 15px;
}

.empty-state h3[b-hbi71t08r8] {
    color: #09163F;
}

.empty-state p[b-hbi71t08r8] {
    color: #687080;
}

@media (max-width: 900px) {
    .stats-grid[b-hbi71t08r8] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .page-header[b-hbi71t08r8] {
        flex-direction: column;
        align-items: flex-start;
    }

    .stats-grid[b-hbi71t08r8] {
        grid-template-columns: 1fr;
    }
}
.table-container[b-hbi71t08r8] {
    width: 100%;
    overflow-x: auto;
}

.requests-table[b-hbi71t08r8] {
    width: 100%;
    border-collapse: collapse;
}

.requests-table th[b-hbi71t08r8] {
    text-align: left;
    padding: 14px 18px;
    background: #f7f8fa;
    color: #687080;
    font-size: 0.85rem;
    font-weight: 700;
    border-bottom: 1px solid #e4e6eb;
}

.requests-table td[b-hbi71t08r8] {
    padding: 16px 18px;
    border-bottom: 1px solid #edf0f2;
    color: #343a40;
}

.requests-table tbody tr:hover[b-hbi71t08r8] {
    background: #fafbfc;
}

.requests-table tbody tr:last-child td[b-hbi71t08r8] {
    border-bottom: none;
}

.status-badge[b-hbi71t08r8] {
    display: inline-block;
    background: #fff3cd;
    color: #856404;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}
.request-link[b-hbi71t08r8] {
    color: #09163F;
    font-weight: 700;
    text-decoration: none;
}

.request-link:hover[b-hbi71t08r8] {
    text-decoration: underline;
}
/* /Components/Pages/AdminImports.razor.rz.scp.css */
.admin-imports-page[b-0v9b3tlm18] {
    max-width: 1180px;
    margin: 0 auto;
}

.page-header[b-0v9b3tlm18] {
    margin-bottom: 22px;
}

.page-header h1[b-0v9b3tlm18] {
    margin: 0;
    color: #09163F;
    font-size: 2.2rem;
    font-weight: 800;
}

.page-header p[b-0v9b3tlm18] {
    margin: 6px 0 0;
    color: #687080;
}

.info-card[b-0v9b3tlm18] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 24px;
    padding: 16px 18px;
    background: #f7f4ff;
    border: 1px solid #e6dbff;
    border-left: 5px solid #B67BFF;
    border-radius: 12px;
    color: #31384a;
}

.info-card strong[b-0v9b3tlm18] {
    color: #09163F;
}

.imports-grid[b-0v9b3tlm18] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.import-card[b-0v9b3tlm18] {
    display: flex;
    gap: 18px;
    min-height: 210px;
    padding: 24px;
    color: inherit;
    background: #fff;
    border: 1px solid #e2e6ec;
    border-radius: 18px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
    text-decoration: none;
    transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}

.import-card:hover[b-0v9b3tlm18] {
    color: inherit;
    border-color: #c7cdd8;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .09);
    text-decoration: none;
    transform: translateY(-2px);
}

.import-icon[b-0v9b3tlm18] {
    display: grid;
    place-items: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    background: #f3f5f8;
    border-radius: 15px;
    font-size: 1.8rem;
}

.import-content[b-0v9b3tlm18] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.import-kicker[b-0v9b3tlm18] {
    margin-bottom: 6px;
    color: #7d8796;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.import-content h2[b-0v9b3tlm18] {
    margin: 0 0 9px;
    color: #09163F;
    font-size: 1.25rem;
}

.import-content p[b-0v9b3tlm18] {
    margin: 0 0 18px;
    color: #5f6877;
    line-height: 1.5;
}

.import-link[b-0v9b3tlm18] {
    margin-top: auto;
    color: #09163F;
    font-weight: 800;
}

.access-card[b-0v9b3tlm18] {
    max-width: 620px;
    margin: 70px auto;
    padding: 30px;
    text-align: center;
    background: white;
    border: 1px solid #e2e6ec;
    border-radius: 16px;
}

.access-icon[b-0v9b3tlm18] {
    margin-bottom: 10px;
    font-size: 2.3rem;
}

@media (max-width: 800px) {
    .imports-grid[b-0v9b3tlm18] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Approbations.razor.rz.scp.css */
/* =========================================================
   ENTÊTE
   ========================================================= */

.page-header[b-m3d3usqz6d] {
    margin-bottom: 28px;
}

.page-header h1[b-m3d3usqz6d] {
    margin: 0;

    color: #09163F;

    font-size: 2.4rem;
    font-weight: 700;
}

.page-header p[b-m3d3usqz6d] {
    margin: 6px 0 0;

    color: #687080;
}


/* =========================================================
   STATISTIQUES
   ========================================================= */

.stats-grid[b-m3d3usqz6d] {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: 28px;
}

.stat-card[b-m3d3usqz6d] {
    display: flex;
    flex-direction: column;

    padding: 22px;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 14px;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.05);
}

.stat-number[b-m3d3usqz6d] {
    color: #09163F;

    font-size: 2rem;
    font-weight: 700;
}

.stat-label[b-m3d3usqz6d] {
    margin-top: 4px;

    color: #687080;
}

.total-card[b-m3d3usqz6d] {
    border-top: 4px solid #09163F;
}


/* =========================================================
   CARTES
   ========================================================= */

.content-card[b-m3d3usqz6d] {
    margin-bottom: 26px;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.05);
}

.content-card-header[b-m3d3usqz6d] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 24px;

    border-bottom: 1px solid #e4e6eb;
}

.content-card-header h2[b-m3d3usqz6d] {
    margin: 0;

    color: #09163F;

    font-size: 1.25rem;
}

.content-card-header p[b-m3d3usqz6d] {
    margin: 4px 0 0;

    color: #687080;

    font-size: 0.9rem;
}


/* =========================================================
   BADGE DE SECTION
   ========================================================= */

.section-badge[b-m3d3usqz6d] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 30px;

    padding: 0 9px;

    border-radius: 999px;

    background: #dc3545;
    color: white;

    font-size: 0.8rem;
    font-weight: 800;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-container[b-m3d3usqz6d] {
    width: 100%;

    overflow-x: auto;
}

.approval-table[b-m3d3usqz6d] {
    width: 100%;

    border-collapse: collapse;
}

.approval-table th[b-m3d3usqz6d] {
    padding: 14px 18px;

    text-align: left;

    background: #f7f8fa;

    color: #687080;

    font-size: 0.82rem;
    font-weight: 700;

    white-space: nowrap;
}

.approval-table td[b-m3d3usqz6d] {
    padding: 16px 18px;

    color: #343a40;

    border-top: 1px solid #edf0f2;
}

.approval-table tbody tr:hover[b-m3d3usqz6d] {
    background: #fafbfc;
}


/* =========================================================
   BOUTON EXAMINER
   ========================================================= */

.process-button[b-m3d3usqz6d] {
    display: inline-block;

    padding: 8px 14px;

    border-radius: 8px;

    background: #09163F;
    color: white;

    font-size: 0.85rem;
    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;
}

.process-button:hover[b-m3d3usqz6d] {
    color: white;

    opacity: 0.9;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.empty-state[b-m3d3usqz6d] {
    padding: 50px 20px;

    text-align: center;
}

.empty-icon[b-m3d3usqz6d] {
    margin-bottom: 12px;

    color: #206b36;

    font-size: 2.5rem;
    font-weight: 700;
}

.empty-state h3[b-m3d3usqz6d] {
    margin-bottom: 6px;

    color: #09163F;
}

.empty-state p[b-m3d3usqz6d] {
    margin: 0;

    color: #687080;
}


/* =========================================================
   ACCÈS
   ========================================================= */

.access-card[b-m3d3usqz6d] {
    max-width: 600px;

    margin: 40px auto;

    padding: 50px;

    text-align: center;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;
}

.access-icon[b-m3d3usqz6d] {
    margin-bottom: 15px;

    font-size: 3rem;
}

.access-card h2[b-m3d3usqz6d] {
    color: #09163F;
}

.access-card p[b-m3d3usqz6d] {
    color: #687080;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 900px) {

    .stats-grid[b-m3d3usqz6d] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .page-header h1[b-m3d3usqz6d] {
        font-size: 2rem;
    }

    .stats-grid[b-m3d3usqz6d] {
        grid-template-columns: 1fr;
    }

    .content-card-header[b-m3d3usqz6d] {
        align-items: flex-start;
    }

}
/* /Components/Pages/ApprobationsTempsCompense.razor.rz.scp.css */
/* =========================================================
   AGORA — APPROBATIONS DU TEMPS COMPENSÉ
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.approval-page[b-sqafl70i3i] {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto 50px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.page-header[b-sqafl70i3i] {
    margin-bottom: 22px;
}

.back-link[b-sqafl70i3i] {
    display: inline-flex;
    margin-bottom: 11px;
    color: var(--dlc-muted);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 650;
}

.back-link:hover[b-sqafl70i3i] {
    color: var(--dlc-navy);
}

.page-header h1[b-sqafl70i3i] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.page-header p[b-sqafl70i3i] {
    margin: 5px 0 0;
    color: var(--dlc-muted);
    font-size: 0.86rem;
}

.page-header p strong[b-sqafl70i3i] {
    color: var(--dlc-navy);
}


/* =========================================================
   MESSAGE
   ========================================================= */

.message[b-sqafl70i3i] {
    margin-bottom: 18px;
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 650;
}

.message.success[b-sqafl70i3i] {
    color: #25603B;
    background: #ECF7F0;
    border: 1px solid #C7E6D1;
}

.message.error[b-sqafl70i3i] {
    color: #A3212D;
    background: #FDECEF;
    border: 1px solid #F1C4CA;
}


/* =========================================================
   INDICATEURS
   ========================================================= */

.stats-grid[b-sqafl70i3i] {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 18px;
}

.stat-card[b-sqafl70i3i] {
    display: flex;
    flex-direction: column;
    padding: 17px 18px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 12px;
    box-shadow: var(--dlc-shadow-sm);
}

.stat-card.total[b-sqafl70i3i] {
    border-top: 4px solid var(--dlc-navy);
}

.stat-card.declaration[b-sqafl70i3i] {
    border-top: 4px solid var(--dlc-lime);
}

.stat-card.reprise[b-sqafl70i3i] {
    border-top: 4px solid #D79A24;
}

.stat-label[b-sqafl70i3i] {
    color: var(--dlc-muted);
    font-size: 0.7rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.stat-card strong[b-sqafl70i3i] {
    margin-top: 3px;
    color: var(--dlc-navy);
    font-size: 1.65rem;
    font-weight: 800;
}

.stat-note[b-sqafl70i3i] {
    margin-top: 1px;
    color: #89919C;
    font-size: 0.7rem;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.section-card[b-sqafl70i3i] {
    margin-bottom: 18px;
    overflow: hidden;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 14px;
    box-shadow: var(--dlc-shadow-sm);
}

.section-header[b-sqafl70i3i] {
    padding: 18px 20px;
    border-bottom: 1px solid var(--dlc-border);
}

.section-header h2[b-sqafl70i3i] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1rem;
    font-weight: 800;
}

.section-header p[b-sqafl70i3i] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.72rem;
}


/* =========================================================
   LISTE
   ========================================================= */

.approval-list[b-sqafl70i3i] {
    padding: 15px;
}

.approval-card[b-sqafl70i3i] {
    margin-bottom: 14px;
    padding: 18px;
    background: #FFFFFF;
    border: 1px solid #E0E4EA;
    border-radius: 12px;
}

.approval-card:last-child[b-sqafl70i3i] {
    margin-bottom: 0;
}


/* =========================================================
   EN-TÊTE D'UNE DEMANDE
   ========================================================= */

.approval-card-header[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 14px;
    border-bottom: 1px solid #EDF0F3;
}

.employee-info[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.employee-info h3[b-sqafl70i3i] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 0.9rem;
    font-weight: 800;
}

.employee-info span[b-sqafl70i3i] {
    display: block;
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 0.68rem;
}

.request-icon[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 800;
}

.request-icon.declaration[b-sqafl70i3i] {
    color: #267345;
    background: #EAF6EF;
}

.request-icon.reprise[b-sqafl70i3i] {
    color: #956000;
    background: #FFF2D6;
}


/* =========================================================
   TYPE
   ========================================================= */

.type-pill[b-sqafl70i3i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 750;
}

.type-pill.bank[b-sqafl70i3i] {
    color: #263C70;
    background: #EDF1F9;
}

.type-pill.payment[b-sqafl70i3i] {
    color: #267345;
    background: #EAF6EF;
}

.type-pill.reprise[b-sqafl70i3i] {
    color: #956000;
    background: #FFF2D6;
}


/* =========================================================
   DÉTAILS
   ========================================================= */

.details-grid[b-sqafl70i3i] {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 15px 0;
}

.detail[b-sqafl70i3i] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.detail > span[b-sqafl70i3i] {
    color: #8B929E;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.detail strong[b-sqafl70i3i] {
    color: #424A55;
    font-size: 0.76rem;
}

.detail strong.duration[b-sqafl70i3i] {
    color: var(--dlc-navy);
    font-size: 0.9rem;
    font-weight: 800;
}


/* =========================================================
   COMMENTAIRE DU DEMANDEUR
   ========================================================= */

.employee-comment[b-sqafl70i3i] {
    margin-bottom: 13px;
    padding: 12px 13px;
    background: #F8F9FB;
    border-radius: 9px;
}

.comment-label[b-sqafl70i3i] {
    display: block;
    margin-bottom: 4px;
    color: var(--dlc-muted);
    font-size: 0.64rem;
    font-weight: 750;
    text-transform: uppercase;
}

.employee-comment p[b-sqafl70i3i] {
    margin: 0;
    color: #444C57;
    font-size: 0.76rem;
    line-height: 1.45;
}


/* =========================================================
   INFORMATIONS SUR LE MOUVEMENT
   ========================================================= */

.reprise-warning[b-sqafl70i3i],
.declaration-info[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
    padding: 10px 12px;
    border-radius: 8px;
}

.reprise-warning[b-sqafl70i3i] {
    color: #825700;
    background: #FFF6E5;
    border: 1px solid #F1DEB7;
}

.declaration-info[b-sqafl70i3i] {
    color: #286240;
    background: #EEF8F2;
    border: 1px solid #CFE7D8;
}

.reprise-warning > span[b-sqafl70i3i],
.declaration-info > span[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 25px;
    height: 25px;
    background: rgba(255,255,255,.7);
    border-radius: 7px;
    font-weight: 800;
}

.reprise-warning p[b-sqafl70i3i],
.declaration-info p[b-sqafl70i3i] {
    margin: 0;
    font-size: 0.72rem;
}


/* =========================================================
   COMMENTAIRE APPROBATEUR
   ========================================================= */

.approver-comment[b-sqafl70i3i] {
    padding-top: 13px;
    border-top: 1px solid #EDF0F3;
}

.approver-comment label[b-sqafl70i3i] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
    color: #3F4753;
    font-size: 0.73rem;
    font-weight: 750;
}

.approver-comment label span[b-sqafl70i3i] {
    color: #939AA5;
    font-size: 0.65rem;
    font-weight: 500;
}

.approver-comment textarea[b-sqafl70i3i] {
    width: 100%;
    min-height: 70px;
    box-sizing: border-box;
    padding: 9px 10px;
    color: var(--dlc-text);
    background: white;
    border: 1px solid #CDD3DC;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.78rem;
    resize: vertical;
}

.approver-comment textarea:focus[b-sqafl70i3i] {
    outline: none;
    border-color: var(--dlc-navy);
    box-shadow: 0 0 0 3px rgba(9,22,63,.07);
}


/* =========================================================
   ACTIONS
   ========================================================= */

.approval-actions[b-sqafl70i3i] {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 13px;
}

.approve-button[b-sqafl70i3i],
.refuse-button[b-sqafl70i3i] {
    min-height: 39px;
    padding: 0 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.76rem;
    font-weight: 750;
}

.approve-button[b-sqafl70i3i] {
    min-width: 120px;
    color: white;
    background: var(--dlc-navy);
    border: 1px solid var(--dlc-navy);
}

.approve-button:hover:not(:disabled)[b-sqafl70i3i] {
    background: var(--dlc-navy-light);
}

.refuse-button[b-sqafl70i3i] {
    color: #A62632;
    background: white;
    border: 1px solid #E0B4BA;
}

.refuse-button:hover:not(:disabled)[b-sqafl70i3i] {
    background: #FDECEF;
}

.approve-button:disabled[b-sqafl70i3i],
.refuse-button:disabled[b-sqafl70i3i] {
    cursor: wait;
    opacity: .55;
}


/* =========================================================
   HISTORIQUE
   ========================================================= */

.history-list[b-sqafl70i3i] {
    padding: 0 20px;
}

.history-row[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid #EDF0F3;
}

.history-row:last-child[b-sqafl70i3i] {
    border-bottom: none;
}

.history-main[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.small-request-icon[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    font-weight: 800;
}

.small-request-icon.declaration[b-sqafl70i3i] {
    color: #267345;
    background: #EAF6EF;
}

.small-request-icon.reprise[b-sqafl70i3i] {
    color: #956000;
    background: #FFF2D6;
}

.history-main > div[b-sqafl70i3i] {
    display: flex;
    flex-direction: column;
}

.history-main strong[b-sqafl70i3i] {
    color: var(--dlc-navy);
    font-size: 0.76rem;
}

.history-main span:last-child[b-sqafl70i3i] {
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 0.67rem;
}

.history-decision[b-sqafl70i3i] {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 3px;
}

.history-decision small[b-sqafl70i3i] {
    color: var(--dlc-muted);
    font-size: 0.63rem;
}

.status-pill[b-sqafl70i3i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 750;
}

.status-pill.approved[b-sqafl70i3i] {
    color: #267345;
    background: #E9F6EE;
}

.status-pill.refused[b-sqafl70i3i] {
    color: #A52732;
    background: #FCEAEC;
}

.status-pill.pending[b-sqafl70i3i] {
    color: #956000;
    background: #FFF2D6;
}


/* =========================================================
   ÉTATS
   ========================================================= */

.loading-state[b-sqafl70i3i],
.empty-state[b-sqafl70i3i] {
    padding: 48px 20px;
    text-align: center;
}

.empty-icon[b-sqafl70i3i] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 auto 10px;
    color: #267345;
    background: #EAF6EF;
    border-radius: 12px;
    font-size: 1.25rem;
    font-weight: 800;
}

.empty-state h3[b-sqafl70i3i] {
    margin: 0 0 4px;
    color: var(--dlc-navy);
    font-size: .9rem;
}

.empty-state p[b-sqafl70i3i],
.history-empty[b-sqafl70i3i] {
    color: var(--dlc-muted);
    font-size: .74rem;
}

.history-empty[b-sqafl70i3i] {
    padding: 30px 20px;
    text-align: center;
}


/* =========================================================
   ACCÈS REFUSÉ
   ========================================================= */

.access-denied[b-sqafl70i3i] {
    padding: 60px 20px;
    text-align: center;
}

.access-icon[b-sqafl70i3i] {
    margin-bottom: 12px;
    font-size: 2.5rem;
}

.access-denied h2[b-sqafl70i3i] {
    color: var(--dlc-navy);
}

.access-denied p[b-sqafl70i3i] {
    color: var(--dlc-muted);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 800px) {

    .details-grid[b-sqafl70i3i] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .approver-comment label[b-sqafl70i3i] {
        flex-direction: column;
        gap: 2px;
    }
}


@media (max-width: 600px) {

    .stats-grid[b-sqafl70i3i] {
        grid-template-columns: 1fr;
    }

    .approval-card-header[b-sqafl70i3i] {
        align-items: flex-start;
        flex-direction: column;
    }

    .details-grid[b-sqafl70i3i] {
        grid-template-columns: 1fr;
    }

    .approval-actions[b-sqafl70i3i] {
        flex-direction: column-reverse;
    }

    .approve-button[b-sqafl70i3i],
    .refuse-button[b-sqafl70i3i] {
        width: 100%;
    }

    .history-row[b-sqafl70i3i] {
        align-items: flex-start;
        flex-direction: column;
    }

    .history-decision[b-sqafl70i3i] {
        align-items: flex-start;
    }
}
/* /Components/Pages/Auditorium.razor.rz.scp.css */
.horizon-page[b-og4evs5rk0] {
    padding: 28px;
    max-width: 1500px;
    margin: 0 auto;
}

.page-header[b-og4evs5rk0] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 22px;
}

.eyebrow[b-og4evs5rk0] {
    color: #FF6B1B;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.page-header h1[b-og4evs5rk0] {
    margin: 5px 0;
    color: #09163F;
}

.page-header p[b-og4evs5rk0] {
    margin: 0;
    color: #64748b;
}

.new-event-button[b-og4evs5rk0] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    background: #09163F;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

.calendar-toolbar[b-og4evs5rk0] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.calendar-toolbar h2[b-og4evs5rk0] {
    min-width: 210px;
    margin: 0;
    text-align: center;
    color: #09163F;
    text-transform: capitalize;
}

.month-button[b-og4evs5rk0],
.today-button[b-og4evs5rk0] {
    border: 1px solid #dbe1ea;
    background: white;
    border-radius: 9px;
    cursor: pointer;
}

.month-button[b-og4evs5rk0] {
    width: 38px;
    height: 38px;
    font-size: 1.5rem;
}

.today-button[b-og4evs5rk0] {
    padding: 9px 14px;
    margin-left: 5px;
}

.calendar[b-og4evs5rk0] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-top: 1px solid #dbe1ea;
    border-left: 1px solid #dbe1ea;
    background: white;
}

.weekday[b-og4evs5rk0] {
    padding: 10px;
    text-align: center;
    font-weight: 700;
    color: #09163F;
    background: #F5F7FA;
    border-right: 1px solid #dbe1ea;
    border-bottom: 1px solid #dbe1ea;
}

.calendar-day[b-og4evs5rk0] {
    min-height: 145px;
    padding: 8px;
    border-right: 1px solid #dbe1ea;
    border-bottom: 1px solid #dbe1ea;
    overflow: hidden;
}

.empty-day[b-og4evs5rk0] {
    background: #fafafa;
}

.weekend[b-og4evs5rk0] {
    background: #fafbff;
}

.today[b-og4evs5rk0] {
    box-shadow: inset 0 0 0 2px #B67BFF;
}

.day-number[b-og4evs5rk0] {
    font-weight: 800;
    color: #09163F;
    margin-bottom: 7px;
}

.events[b-og4evs5rk0] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.event-card[b-og4evs5rk0] {
    border-left: 4px solid #FF6B1B;
    background: #F5F7FA;
    border-radius: 6px;
    padding: 5px 7px;
    overflow: hidden;
}

.event-time[b-og4evs5rk0] {
    font-size: .68rem;
    color: #64748b;
}

.event-title[b-og4evs5rk0] {
    font-size: .78rem;
    color: #09163F;
    font-weight: 700;
    white-space: normal;
    line-height: 1.15;
}

.loading-card[b-og4evs5rk0] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px;
}

@media (max-width: 950px) {
    .calendar[b-og4evs5rk0] {
        min-width: 900px;
    }

    .horizon-page[b-og4evs5rk0] {
        overflow-x: auto;
    }

    .page-header[b-og4evs5rk0] {
        align-items: flex-start;
        flex-direction: column;
    }
}


.event-card.editable[b-og4evs5rk0] {
    cursor: pointer;
}

.event-card.editable:hover[b-og4evs5rk0] {
    box-shadow: 0 0 0 2px rgba(182, 123, 255, .35);
}
/* /Components/Pages/BudgetAchats.razor.rz.scp.css */
/* =========================================================
   EN-TÊTE
   ========================================================= */

.page-header[b-gpvfktuluh] {
    margin-bottom: 28px;
}

.page-header h1[b-gpvfktuluh] {
    margin: 0;

    color: #09163F;

    font-size: 2.4rem;
    font-weight: 700;
}

.page-header p[b-gpvfktuluh] {
    margin: 6px 0 0;

    color: #687080;
}


/* =========================================================
   MESSAGE
   ========================================================= */

.action-message[b-gpvfktuluh] {
    margin-bottom: 24px;

    padding: 14px 18px;

    border-radius: 10px;

    font-weight: 600;
}

.action-message.success[b-gpvfktuluh] {
    background: #e8f5e9;

    color: #256029;

    border: 1px solid #b7dfba;
}

.action-message.error[b-gpvfktuluh] {
    background: #fdecec;

    color: #9f1c1c;

    border: 1px solid #f2b8b8;
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.summary-card[b-gpvfktuluh] {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;

    margin-bottom: 28px;
}

.summary-card > div[b-gpvfktuluh] {
    display: flex;

    flex-direction: column;

    padding: 22px;

    background: white;

    border: 1px solid #e4e6eb;
    border-top: 4px solid #09163F;
    border-radius: 14px;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.05);
}

.summary-number[b-gpvfktuluh] {
    color: #09163F;

    font-size: 2rem;
    font-weight: 700;
}

.summary-label[b-gpvfktuluh] {
    margin-top: 4px;

    color: #687080;
}


/* =========================================================
   CONTENU
   ========================================================= */

.content-card[b-gpvfktuluh] {
    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.05);
}

.content-card-header[b-gpvfktuluh] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 24px;

    border-bottom: 1px solid #e4e6eb;
}

.content-card-header h2[b-gpvfktuluh] {
    margin: 0;

    color: #09163F;

    font-size: 1.25rem;
}

.content-card-header p[b-gpvfktuluh] {
    margin: 4px 0 0;

    color: #687080;

    font-size: 0.9rem;
}


/* =========================================================
   BADGE
   ========================================================= */

.section-badge[b-gpvfktuluh] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 30px;

    padding: 0 9px;

    background: #dc3545;
    color: white;

    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 800;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-container[b-gpvfktuluh] {
    width: 100%;

    overflow-x: auto;
}

.work-table[b-gpvfktuluh] {
    width: 100%;

    border-collapse: collapse;
}

.work-table th[b-gpvfktuluh] {
    padding: 14px 16px;

    text-align: left;

    background: #f7f8fa;

    color: #687080;

    font-size: 0.82rem;
    font-weight: 700;

    white-space: nowrap;
}

.work-table td[b-gpvfktuluh] {
    padding: 16px;

    color: #343a40;

    border-top: 1px solid #edf0f2;

    vertical-align: middle;
}

.work-table tbody tr:not(.comment-row):hover[b-gpvfktuluh] {
    background: #fafbfc;
}


/* =========================================================
   NUMÉRO DE DEMANDE
   ========================================================= */

.request-link[b-gpvfktuluh] {
    color: #09163F;

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;
}

.request-link:hover[b-gpvfktuluh] {
    text-decoration: underline;
}


/* =========================================================
   POSTE BUDGÉTAIRE
   ========================================================= */

.budget-cell[b-gpvfktuluh] {
    min-width: 220px;
}

.budget-input[b-gpvfktuluh] {
    width: 100%;

    min-width: 190px;

    padding: 10px 12px;

    border: 1px solid #ccd1d8;
    border-radius: 8px;

    background: white;

    color: #212529;

    font-size: 0.95rem;

    box-sizing: border-box;
}

.budget-input:focus[b-gpvfktuluh] {
    outline: none;

    border-color: #09163F;

    box-shadow:
        0 0 0 3px rgba(9, 22, 63, 0.08);
}


/* =========================================================
   COMMENTAIRE
   ========================================================= */

.comment-row td[b-gpvfktuluh] {
    padding-top: 0;

    background: #fafbfc;

    border-top: none;
    border-bottom: 1px solid #e5e8ec;
}

.comment-area[b-gpvfktuluh] {
    max-width: 850px;

    padding: 4px 0 14px;
}

.comment-area label[b-gpvfktuluh] {
    display: block;

    margin-bottom: 6px;

    color: #4f5660;

    font-size: 0.82rem;
    font-weight: 600;
}

.comment-area label span[b-gpvfktuluh] {
    color: #8a919c;

    font-weight: 400;
}

.comment-area textarea[b-gpvfktuluh] {
    width: 100%;

    padding: 10px 12px;

    border: 1px solid #d5d9df;
    border-radius: 8px;

    background: white;

    color: #212529;

    font-size: 0.9rem;

    resize: vertical;

    box-sizing: border-box;
}

.comment-area textarea:focus[b-gpvfktuluh] {
    outline: none;

    border-color: #09163F;

    box-shadow:
        0 0 0 3px rgba(9, 22, 63, 0.08);
}


/* =========================================================
   BOUTON
   ========================================================= */

.action-cell[b-gpvfktuluh] {
    width: 1%;

    white-space: nowrap;
}

.validate-button[b-gpvfktuluh] {
    border: none;

    padding: 10px 16px;

    background: #09163F;

    color: white;

    border-radius: 8px;

    font-size: 0.88rem;
    font-weight: 700;

    cursor: pointer;

    transition: 0.2s ease;
}

.validate-button:hover[b-gpvfktuluh] {
    opacity: 0.9;

    transform: translateY(-1px);
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.empty-state[b-gpvfktuluh] {
    padding: 55px 20px;

    text-align: center;
}

.empty-icon[b-gpvfktuluh] {
    margin-bottom: 12px;

    color: #206b36;

    font-size: 2.5rem;
}

.empty-state h3[b-gpvfktuluh] {
    margin-bottom: 6px;

    color: #09163F;
}

.empty-state p[b-gpvfktuluh] {
    margin: 0;

    color: #687080;
}


/* =========================================================
   ACCÈS
   ========================================================= */

.access-card[b-gpvfktuluh] {
    max-width: 600px;

    margin: 40px auto;

    padding: 50px;

    text-align: center;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;
}

.access-icon[b-gpvfktuluh] {
    margin-bottom: 15px;

    font-size: 3rem;
}

.access-card h2[b-gpvfktuluh] {
    color: #09163F;
}

.access-card p[b-gpvfktuluh] {
    color: #687080;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 700px) {

    .page-header h1[b-gpvfktuluh] {
        font-size: 2rem;
    }

    .summary-card[b-gpvfktuluh] {
        grid-template-columns: 1fr;
    }

}
/* /Components/Pages/ChangerMotDePasse.razor.rz.scp.css */
.password-page[b-x7mup4k85s] {
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.password-card[b-x7mup4k85s] {
    width: 100%;
    max-width: 520px;
    padding: 36px;
    background: #ffffff;
    border: 1px solid rgba(9, 22, 63, 0.08);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(9, 22, 63, 0.12);
}

.password-header[b-x7mup4k85s] {
    margin-bottom: 28px;
}

.password-icon[b-x7mup4k85s] {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    font-size: 1.7rem;
    background: rgba(182, 123, 255, 0.14);
    border-radius: 16px;
}

.password-card h1[b-x7mup4k85s] {
    margin: 0 0 10px;
    color: #09163F;
    font-size: 1.75rem;
}

.password-description[b-x7mup4k85s] {
    margin: 0;
    color: #687080;
    line-height: 1.55;
}

.password-error[b-x7mup4k85s] {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    padding: 13px 15px;
    color: #8b1e2d;
    background: #fff2f4;
    border: 1px solid #f3cbd2;
    border-radius: 10px;
}

.form-group[b-x7mup4k85s] {
    margin-bottom: 20px;
}

.form-group label[b-x7mup4k85s] {
    display: block;
    margin-bottom: 7px;
    color: #09163F;
    font-size: 0.88rem;
    font-weight: 700;
}

.input-wrapper[b-x7mup4k85s] {
    position: relative;
}

.input-icon[b-x7mup4k85s] {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    opacity: 0.65;
}

.input-wrapper input[b-x7mup4k85s] {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px 13px 44px;
    color: #09163F;
    background: #ffffff;
    border: 1px solid #d9dee7;
    border-radius: 10px;
    font: inherit;
    outline: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.input-wrapper input:focus[b-x7mup4k85s] {
    border-color: #B67BFF;
    box-shadow: 0 0 0 3px rgba(182, 123, 255, 0.14);
}

.password-hint[b-x7mup4k85s] {
    margin: -8px 0 20px;
    color: #7a8290;
    font-size: 0.78rem;
}

.password-button[b-x7mup4k85s] {
    width: 100%;
    padding: 14px 18px;
    color: #ffffff;
    background: #09163F;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.password-button:hover:not(:disabled)[b-x7mup4k85s] {
    transform: translateY(-1px);
}

.password-button:disabled[b-x7mup4k85s] {
    opacity: 0.55;
    cursor: default;
}

.password-security[b-x7mup4k85s] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    color: #7a8290;
    font-size: 0.76rem;
}

@media (max-width: 600px) {
    .password-page[b-x7mup4k85s] {
        padding: 20px 14px;
    }

    .password-card[b-x7mup4k85s] {
        padding: 26px 20px;
        border-radius: 16px;
    }
}
/* /Components/Pages/CommandesAchats.razor.rz.scp.css */
.page-header[b-7b52qnjeau] {
    margin-bottom: 28px;
}

.page-header h1[b-7b52qnjeau] {
    margin: 0;
    color: #09163F;
    font-size: 2.4rem;
    font-weight: 700;
}

.page-header p[b-7b52qnjeau] {
    margin: 6px 0 0;
    color: #687080;
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.summary-card[b-7b52qnjeau] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;

    margin-bottom: 28px;
}

.summary-card > div[b-7b52qnjeau] {
    display: flex;
    flex-direction: column;

    padding: 22px;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 14px;

    border-top: 4px solid #09163F;

    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}

.summary-number[b-7b52qnjeau] {
    color: #09163F;
    font-size: 2rem;
    font-weight: 700;
}

.summary-label[b-7b52qnjeau] {
    color: #687080;
    margin-top: 4px;
}


/* =========================================================
   CONTENU
   ========================================================= */

.content-card[b-7b52qnjeau] {
    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}

.content-card-header[b-7b52qnjeau] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 24px;

    border-bottom: 1px solid #e4e6eb;
}

.content-card-header h2[b-7b52qnjeau] {
    margin: 0;

    color: #09163F;

    font-size: 1.25rem;
}

.content-card-header p[b-7b52qnjeau] {
    margin: 4px 0 0;

    color: #687080;

    font-size: 0.9rem;
}


/* =========================================================
   BADGE
   ========================================================= */

.section-badge[b-7b52qnjeau] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 30px;

    padding: 0 9px;

    background: #dc3545;
    color: white;

    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 800;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-container[b-7b52qnjeau] {
    width: 100%;
    overflow-x: auto;
}

.work-table[b-7b52qnjeau] {
    width: 100%;
    border-collapse: collapse;
}

.work-table th[b-7b52qnjeau] {
    padding: 14px 18px;

    background: #f7f8fa;

    color: #687080;

    text-align: left;

    font-size: 0.82rem;
    font-weight: 700;

    white-space: nowrap;
}

.work-table td[b-7b52qnjeau] {
    padding: 16px 18px;

    color: #343a40;

    border-top: 1px solid #edf0f2;
}

.work-table tbody tr:hover[b-7b52qnjeau] {
    background: #fafbfc;
}


/* =========================================================
   BOUTON
   ========================================================= */

.process-button[b-7b52qnjeau] {
    display: inline-block;

    padding: 8px 14px;

    background: #09163F;
    color: white;

    border-radius: 8px;

    text-decoration: none;

    font-size: 0.85rem;
    font-weight: 600;

    white-space: nowrap;
}

.process-button:hover[b-7b52qnjeau] {
    color: white;
    opacity: 0.9;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.empty-state[b-7b52qnjeau] {
    padding: 55px 20px;
    text-align: center;
}

.empty-icon[b-7b52qnjeau] {
    color: #206b36;
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.empty-state h3[b-7b52qnjeau] {
    color: #09163F;
    margin-bottom: 6px;
}

.empty-state p[b-7b52qnjeau] {
    color: #687080;
    margin: 0;
}


/* =========================================================
   ACCÈS
   ========================================================= */

.access-card[b-7b52qnjeau] {
    max-width: 600px;

    margin: 40px auto;

    padding: 50px;

    text-align: center;

    background: white;

    border: 1px solid #e4e6eb;
    border-radius: 16px;
}

.access-icon[b-7b52qnjeau] {
    font-size: 3rem;
    margin-bottom: 15px;
}

.access-card h2[b-7b52qnjeau] {
    color: #09163F;
}

.access-card p[b-7b52qnjeau] {
    color: #687080;
}


@media (max-width: 600px) {

    .page-header h1[b-7b52qnjeau] {
        font-size: 2rem;
    }

    .summary-card[b-7b52qnjeau] {
        grid-template-columns: 1fr;
    }

}
/* /Components/Pages/Connexion.razor.rz.scp.css */
/* =========================================================
   CONNEXION — AGORA
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.login-page[b-t76aailkdn] {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 100vh;

    padding: 40px 22px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #07122F 0%,
            #09163F 52%,
            #182B64 100%
        );
}


/* =========================================================
   DÉCORATION
   ========================================================= */

.background-orb[b-t76aailkdn] {
    position: absolute;

    border-radius: 999px;

    pointer-events: none;
}


.orb-one[b-t76aailkdn] {
    top: -180px;
    right: -130px;

    width: 480px;
    height: 480px;

    background:
        rgba(182, 123, 255, 0.14);
}


.orb-two[b-t76aailkdn] {
    bottom: -220px;
    left: -150px;

    width: 520px;
    height: 520px;

    background:
        rgba(158, 197, 106, 0.12);
}


/* =========================================================
   CONTENEUR
   ========================================================= */

.login-container[b-t76aailkdn] {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 470px;
}


/* =========================================================
   IDENTITÉ
   ========================================================= */

.brand-area[b-t76aailkdn] {
    margin-bottom: 25px;

    text-align: center;
}


.logo-card[b-t76aailkdn] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 18px;

    padding: 0;

    background: transparent;

    border: none;
    border-radius: 0;

    box-shadow: none;
}


.logo-card img[b-t76aailkdn] {
    display: block;

    width: 190px;
    max-width: 100%;

    height: auto;
}


.school-name[b-t76aailkdn] {
    display: block;

    margin-bottom: 5px;

    color:
        rgba(255, 255, 255, 0.68);

    font-size: 0.78rem;
    font-weight: 700;

    letter-spacing: 0.09em;

    text-transform: uppercase;
}


.brand-text h1[b-t76aailkdn] {
    margin: 0;

    color: white;

    font-size: 2.8rem;
    font-weight: 800;

    letter-spacing: -0.045em;
}


.brand-text p[b-t76aailkdn] {
    margin: 7px 0 0;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 0.96rem;
}


/* =========================================================
   CARTE DE CONNEXION
   ========================================================= */

.login-card[b-t76aailkdn] {
    padding: 30px;

    background:
        rgba(255, 255, 255, 0.98);

    border:
        1px solid
        rgba(255, 255, 255, 0.20);

    border-radius: 20px;

    box-shadow:
        0 24px 70px
        rgba(0, 0, 0, 0.24);
}


/* =========================================================
   BIENVENUE
   ========================================================= */

.welcome[b-t76aailkdn] {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 26px;
}


.welcome-icon[b-t76aailkdn] {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    width: 50px;
    height: 50px;

    background: #F1F3F8;

    border-radius: 13px;

    font-size: 1.45rem;
}


.welcome h2[b-t76aailkdn] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 1.45rem;
}


.welcome p[b-t76aailkdn] {
    margin: 4px 0 0;

    color: var(--dlc-muted);

    font-size: 0.88rem;

    line-height: 1.4;
}


/* =========================================================
   ERREUR
   ========================================================= */

.error-message[b-t76aailkdn] {
    display: flex;

    align-items: flex-start;

    gap: 8px;

    margin-bottom: 18px;

    padding: 11px 13px;

    color: #A3212D;

    background: #FDECEF;

    border: 1px solid #F3C4CA;
    border-radius: 9px;

    font-size: 0.86rem;
    font-weight: 600;
}


/* =========================================================
   FORMULAIRE
   ========================================================= */

.form-group[b-t76aailkdn] {
    margin-bottom: 18px;
}


.form-group label[b-t76aailkdn] {
    display: block;

    margin-bottom: 7px;

    color: #414854;

    font-size: 0.87rem;
    font-weight: 700;
}


.input-wrapper[b-t76aailkdn] {
    position: relative;
}


.input-icon[b-t76aailkdn] {
    position: absolute;

    top: 50%;
    left: 13px;

    transform: translateY(-50%);

    pointer-events: none;

    font-size: 0.95rem;
}


.input-wrapper input[b-t76aailkdn] {
    width: 100%;
    height: 48px;

    padding:
        0
        13px
        0
        42px;

    color: var(--dlc-text);

    background: white;

    border: 1px solid #D3D8E0;
    border-radius: 10px;

    font-family: inherit;
    font-size: 0.95rem;

    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}


.input-wrapper input:focus[b-t76aailkdn] {
    outline: none;

    border-color: var(--dlc-navy);

    box-shadow:
        0 0 0 3px
        rgba(9, 22, 63, 0.09);
}


.input-wrapper input[b-t76aailkdn]::placeholder {
    color: #A0A6AF;
}


/* =========================================================
   BOUTON
   ========================================================= */

.login-button[b-t76aailkdn] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 50px;

    padding: 0 18px;

    color: white;

    background: var(--dlc-navy);

    border: none;
    border-radius: 11px;

    cursor: pointer;

    font-family: inherit;
    font-size: 0.96rem;
    font-weight: 700;

    transition:
        transform 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}


.login-button:hover:not(:disabled)[b-t76aailkdn] {
    background: #172A63;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px
        rgba(9, 22, 63, 0.20);
}


.login-button:disabled[b-t76aailkdn] {
    cursor: wait;

    opacity: 0.7;
}


.arrow[b-t76aailkdn] {
    font-size: 1.25rem;
}


/* =========================================================
   MODE DÉVELOPPEMENT
   ========================================================= */

.development-box[b-t76aailkdn] {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-top: 22px;

    padding: 12px;

    color: #656C77;

    background: #F5F6F8;

    border-radius: 10px;

    font-size: 0.76rem;
}


.development-icon[b-t76aailkdn] {
    flex-shrink: 0;

    font-size: 1rem;
}


.development-box strong[b-t76aailkdn] {
    display: block;

    margin-bottom: 3px;

    color: #454B55;
}


.development-box p[b-t76aailkdn] {
    margin: 0;

    line-height: 1.45;
}


/* =========================================================
   VALEURS
   ========================================================= */

.values[b-t76aailkdn] {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 7px;

    margin-top: 20px;

    color:
        rgba(255, 255, 255, 0.55);

    text-align: center;

    font-size: 0.72rem;
    font-weight: 600;
}


.dot[b-t76aailkdn] {
    opacity: 0.55;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 540px) {

    .login-page[b-t76aailkdn] {
        align-items: flex-start;

        padding:
            30px
            17px;
    }


    .logo-card img[b-t76aailkdn] {
        width: 170px;
    }


    .brand-text h1[b-t76aailkdn] {
        font-size: 2.3rem;
    }


    .login-card[b-t76aailkdn] {
        padding:
            24px
            20px;
    }


    .values[b-t76aailkdn] {
        line-height: 1.7;
    }
}
/* /Components/Pages/ConnexionMfa.razor.rz.scp.css */
.mfa-login-page[b-u53z38wuas] {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 100vh;

    padding: 24px;
}

.mfa-card[b-u53z38wuas] {
    width: 100%;
    max-width: 430px;

    padding: 34px;

    background: white;

    border: 1px solid #e0e4ea;
    border-radius: 18px;

    box-shadow:
        0 12px 35px
        rgba(0, 0, 0, .09);

    text-align: center;
}

.mfa-icon[b-u53z38wuas] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;

    margin: 0 auto 15px;

    background: #f1ecff;
    border-radius: 15px;

    font-size: 1.5rem;
}

.mfa-card h1[b-u53z38wuas] {
    margin: 0 0 10px;

    font-size: 1.45rem;
}

.mfa-card p[b-u53z38wuas] {
    margin-bottom: 22px;

    color: #69717d;

    line-height: 1.5;
}

.mfa-card form[b-u53z38wuas] {
    display: flex;
    flex-direction: column;
    gap: 11px;

    margin-bottom: 18px;

    text-align: left;
}

.mfa-card label[b-u53z38wuas] {
    font-size: .82rem;
    font-weight: 800;
}

.mfa-card input[b-u53z38wuas] {
    padding: 13px 15px;

    border: 1px solid #cbd2dc;
    border-radius: 10px;

    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: .22em;

    text-align: center;
}

.mfa-card button[b-u53z38wuas] {
    padding: 12px 15px;

    background: #43218f;

    border: 0;
    border-radius: 10px;

    color: white;

    cursor: pointer;

    font-weight: 800;
}

.mfa-card a[b-u53z38wuas] {
    color: #5b4a83;

    font-size: .82rem;

    text-decoration: none;
}

.mfa-error[b-u53z38wuas] {
    margin-bottom: 16px;
    padding: 11px 13px;

    background: #fff1f1;

    border: 1px solid #f1c7c7;
    border-radius: 9px;

    color: #922b2b;

    font-size: .82rem;

    text-align: left;
}
/* /Components/Pages/DemandesConciergerie.razor.rz.scp.css */
.dc-page[b-2sfgbpwn61]{max-width:1320px;margin:0 auto;padding:24px;color:#172a63}.dc-header[b-2sfgbpwn61]{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.dc-header h1[b-2sfgbpwn61]{margin:0 0 6px;font-size:1.8rem}.dc-header p[b-2sfgbpwn61]{margin:0;color:#64748b}.dc-panel[b-2sfgbpwn61]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-top:20px;box-shadow:0 3px 12px #0f172a0a}.dc-panel h2[b-2sfgbpwn61]{margin:0 0 12px;font-size:1.24rem}.dc-fields[b-2sfgbpwn61]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.dc-page label[b-2sfgbpwn61]{display:flex;flex-direction:column;gap:7px;font-weight:600;color:#334155;margin-top:10px}.dc-page input[b-2sfgbpwn61],.dc-page select[b-2sfgbpwn61],.dc-page textarea[b-2sfgbpwn61]{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;max-width:100%;font:inherit;font-weight:400;color:#0f172a}.dc-page textarea[b-2sfgbpwn61]{width:100%;resize:vertical}.dc-actions[b-2sfgbpwn61]{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.dc-page button[b-2sfgbpwn61]{border:0;background:#172a63;color:white;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.dc-page button:disabled[b-2sfgbpwn61]{opacity:.5;cursor:wait}.dc-page .dc-secondary[b-2sfgbpwn61]{background:#e2e8f0;color:#172a63}.dc-page .dc-danger[b-2sfgbpwn61]{background:#b91c1c}.dc-message[b-2sfgbpwn61]{padding:14px;background:#eff6ff;border-radius:10px;margin-top:12px;color:#1e40af}.dc-error[b-2sfgbpwn61]{background:#fff1f2;color:#9f1239}.dc-table-wrap[b-2sfgbpwn61]{overflow-x:auto}.dc-page table[b-2sfgbpwn61]{width:100%;border-collapse:collapse;font-size:.93rem}.dc-page th[b-2sfgbpwn61],.dc-page td[b-2sfgbpwn61]{border-bottom:1px solid #e2e8f0;padding:12px 10px;vertical-align:top;text-align:left}.dc-page th[b-2sfgbpwn61]{background:#f1f5f9}.dc-page td small[b-2sfgbpwn61]{display:block;margin-top:4px;color:#64748b;max-width:380px;overflow-wrap:anywhere}.dc-action-panel[b-2sfgbpwn61]{background:#f8fafc;padding:12px;border-radius:10px}.dc-action-panel label[b-2sfgbpwn61]{max-width:650px}@media(max-width:650px){.dc-page[b-2sfgbpwn61]{padding:12px}.dc-panel[b-2sfgbpwn61]{padding:12px}}

/* Vues spécialisées : mes demandes, registre, approbations et assignation */
.dc-page .dc-header h2[b-2sfgbpwn61]{margin:0 0 5px}
.dc-page .dc-header p[b-2sfgbpwn61]{font-size:.93rem}
.dc-formulaire[b-2sfgbpwn61]{margin-top:18px;border-top:1px solid #e2e8f0;padding-top:16px}
.dc-formulaire h3[b-2sfgbpwn61]{font-size:1.05rem}
.dc-stat-grid[b-2sfgbpwn61]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:20px}
.dc-stat[b-2sfgbpwn61]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px #0f172a08}
.dc-stat strong[b-2sfgbpwn61]{font-size:1.9rem;color:#172a63}
.dc-stat span[b-2sfgbpwn61]{color:#64748b;font-size:.87rem}
.dc-card-list[b-2sfgbpwn61]{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;margin-top:16px}
.dc-request-card[b-2sfgbpwn61]{border:1px solid #dde5ef;border-radius:12px;padding:17px;background:#fcfdff;min-width:0}
.dc-request-card h3[b-2sfgbpwn61]{font-size:1.13rem;margin:6px 0 0;color:#172a63;overflow-wrap:anywhere}
.dc-request-card p[b-2sfgbpwn61]{margin:14px 0;line-height:1.5;overflow-wrap:anywhere}
.dc-request-card .dc-header[b-2sfgbpwn61]{align-items:flex-start}
.dc-card-meta[b-2sfgbpwn61]{display:flex;gap:7px;flex-wrap:wrap;color:#53657f;font-size:.84rem}
.dc-card-meta span[b-2sfgbpwn61]{padding:4px 8px;background:#f0f4fa;border-radius:5px}
.dc-pill[b-2sfgbpwn61]{padding:5px 10px;white-space:normal;background:#e8eefb;color:#172a63;border-radius:16px;font-size:.82rem;font-weight:700;text-align:center}
.dc-note[b-2sfgbpwn61]{padding:9px 11px;border-left:3px solid #647fb5;background:#f2f5fa;border-radius:4px}
.dc-empty[b-2sfgbpwn61]{border:1px dashed #c9d5e4;border-radius:11px;background:#f8fafc;padding:24px;margin-top:16px;color:#465875}
.dc-count[b-2sfgbpwn61]{font-weight:700;color:#334155;margin:10px 0 16px}
.dc-filters[b-2sfgbpwn61]{margin:16px 0}
.dc-request-card .dc-action-panel[b-2sfgbpwn61]{margin-top:16px}
@media(max-width:650px){.dc-stat-grid[b-2sfgbpwn61]{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-card-list[b-2sfgbpwn61]{grid-template-columns:1fr}}
/* /Components/Pages/DetailAchat.razor.rz.scp.css */
/* =========================================================
   PORTAIL DLC
   DÉTAIL D'UNE DEMANDE D'ACHAT
   ========================================================= */


/* =========================================================
   CHARGEMENT
   ========================================================= */

.loading[b-gxtpbc42rv] {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 220px;

    color: var(--dlc-muted);

    font-size: 0.95rem;
}


/* =========================================================
   EN-TÊTE DE LA PAGE
   ========================================================= */

.page-header[b-gxtpbc42rv] {
    margin-bottom: 24px;
}


.back-link[b-gxtpbc42rv] {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    margin-bottom: 14px;

    color: var(--dlc-muted);

    text-decoration: none;

    font-size: 0.86rem;

    font-weight: 600;

    transition:
        color 150ms ease,
        transform 150ms ease;
}


.back-link:hover[b-gxtpbc42rv] {
    color: var(--dlc-navy);

    transform: translateX(-2px);
}


.title-row[b-gxtpbc42rv] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


.title-row h1[b-gxtpbc42rv] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 2rem;

    font-weight: 800;

    letter-spacing: -0.025em;
}


.title-row p[b-gxtpbc42rv] {
    margin: 5px 0 0;

    color: var(--dlc-muted);

    font-size: 0.88rem;
}


/* =========================================================
   STATUT GLOBAL
   ========================================================= */

.global-status[b-gxtpbc42rv] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 36px;

    padding: 7px 14px;

    color: var(--dlc-navy);

    background: #EEF1F7;

    border:
        1px solid
        #DCE1EA;

    border-radius: 999px;

    font-size: 0.78rem;

    font-weight: 800;

    white-space: nowrap;
}


/* =========================================================
   MESSAGES
   ========================================================= */

.action-message[b-gxtpbc42rv] {
    margin-bottom: 22px;

    padding: 13px 16px;

    border-radius: 10px;

    font-size: 0.88rem;

    font-weight: 650;
}


.action-message.success[b-gxtpbc42rv] {
    color: #25603B;

    background: #ECF7F0;

    border: 1px solid #C9E9D4;
}


.action-message.error[b-gxtpbc42rv] {
    color: #A3212D;

    background: #FDECEF;

    border: 1px solid #F2C7CD;
}


/* =========================================================
   INFORMATIONS GÉNÉRALES
   ========================================================= */

.details-grid[b-gxtpbc42rv] {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin-bottom: 18px;
}


.detail-card[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 6px;

    min-width: 0;

    padding: 17px 18px;

    background: var(--dlc-surface);

    border:
        1px solid
        var(--dlc-border);

    border-radius: 12px;

    box-shadow: var(--dlc-shadow-sm);
}


.detail-card .label[b-gxtpbc42rv] {
    color: var(--dlc-muted);

    font-size: 0.72rem;

    font-weight: 650;

    text-transform: uppercase;

    letter-spacing: 0.035em;
}


.detail-card strong[b-gxtpbc42rv] {
    overflow: hidden;

    color: var(--dlc-navy);

    font-size: 0.94rem;

    font-weight: 750;

    text-overflow: ellipsis;
}


.detail-card .amount[b-gxtpbc42rv] {
    font-size: 1.2rem;

    font-weight: 800;
}


/* =========================================================
   CARTES DE CONTENU
   ========================================================= */

.content-card[b-gxtpbc42rv] {
    margin-bottom: 18px;

    padding: 20px 22px;

    background: var(--dlc-surface);

    border:
        1px solid
        var(--dlc-border);

    border-radius: 13px;

    box-shadow: var(--dlc-shadow-sm);
}


.content-card h2[b-gxtpbc42rv] {
    margin: 0 0 16px;

    color: var(--dlc-navy);

    font-size: 1.08rem;

    font-weight: 800;
}


.justification[b-gxtpbc42rv] {
    margin: 0;

    color: var(--dlc-text);

    font-size: 0.9rem;

    line-height: 1.6;
}


/* =========================================================
   ARTICLES
   ========================================================= */

.article-card[b-gxtpbc42rv] {
    padding: 18px 0;

    border-bottom:
        1px solid
        var(--dlc-border);
}


.article-card:first-of-type[b-gxtpbc42rv] {
    padding-top: 0;
}


.article-card:last-child[b-gxtpbc42rv] {
    padding-bottom: 0;

    border-bottom: none;
}


.article-header[b-gxtpbc42rv] {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 12px;
}


.article-header strong[b-gxtpbc42rv] {
    color: var(--dlc-navy);

    font-size: 0.94rem;

    font-weight: 750;
}


.product-number[b-gxtpbc42rv] {
    display: block;

    margin-top: 3px;

    color: var(--dlc-muted);

    font-size: 0.73rem;
}


.article-total[b-gxtpbc42rv] {
    color: var(--dlc-navy);

    font-size: 1rem !important;

    font-weight: 800 !important;

    white-space: nowrap;
}


.article-details[b-gxtpbc42rv] {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    padding: 13px 15px;

    background: #F7F8FA;

    border:
        1px solid
        #ECEEF2;

    border-radius: 9px;
}


.article-details div[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 2px;

    min-width: 0;
}


.article-details span[b-gxtpbc42rv] {
    color: var(--dlc-muted);

    font-size: 0.7rem;

    font-weight: 600;
}


.article-details strong[b-gxtpbc42rv] {
    overflow: hidden;

    color: var(--dlc-text);

    font-size: 0.84rem;

    text-overflow: ellipsis;
}


.description[b-gxtpbc42rv] {
    margin: 12px 0 0;

    color: #565E6A;

    font-size: 0.84rem;

    line-height: 1.5;
}


.product-link[b-gxtpbc42rv] {
    display: inline-flex;

    margin-top: 10px;

    color: var(--dlc-navy);

    font-size: 0.8rem;

    font-weight: 700;

    text-decoration: none;
}


.product-link:hover[b-gxtpbc42rv] {
    text-decoration: underline;
}


/* =========================================================
   TITRE DU WORKFLOW
   ========================================================= */

.workflow-title[b-gxtpbc42rv] {
    margin:
        34px
        0
        17px;
}


.workflow-title h2[b-gxtpbc42rv] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 1.4rem;

    font-weight: 800;

    letter-spacing: -0.015em;
}


.workflow-title p[b-gxtpbc42rv] {
    margin: 4px 0 0;

    color: var(--dlc-muted);

    font-size: 0.82rem;
}


/* =========================================================
   CARTES DU WORKFLOW
   ========================================================= */

.workflow-card[b-gxtpbc42rv] {
    position: relative;

    margin-bottom: 16px;

    padding: 0;

    overflow: hidden;

    background: white;

    border:
        1px solid
        var(--dlc-border);

    border-radius: 13px;

    box-shadow: var(--dlc-shadow-sm);
}


/* =========================================================
   EN-TÊTE D'UNE ÉTAPE
   ========================================================= */

.workflow-header[b-gxtpbc42rv] {
    display: grid;

    grid-template-columns:
        40px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 13px;

    min-height: 72px;

    margin: 0;

    padding:
        14px
        18px;

    background:
        linear-gradient(
            90deg,
            #FAFBFC 0%,
            #FFFFFF 100%
        );

    border-bottom:
        1px solid
        var(--dlc-border);
}


/* =========================================================
   NUMÉRO DE L'ÉTAPE
   ========================================================= */

.step-number[b-gxtpbc42rv] {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 36px;
    min-width: 36px;
    height: 36px;

    color: white;

    background: var(--dlc-navy);

    border-radius: 10px;

    font-size: 0.86rem;

    font-weight: 800;

    box-shadow:
        0 3px 8px
        rgba(9, 22, 63, 0.15);
}


/* =========================================================
   TITRE D'UNE ÉTAPE
   ========================================================= */

.workflow-heading[b-gxtpbc42rv] {
    min-width: 0;
}


.workflow-heading h3[b-gxtpbc42rv] {
    margin: 0 !important;

    color: var(--dlc-navy) !important;

    font-size: 1rem !important;

    font-weight: 800 !important;

    line-height: 1.25 !important;
}


.workflow-heading p[b-gxtpbc42rv] {
    margin: 3px 0 0 !important;

    color: var(--dlc-muted) !important;

    font-size: 0.76rem !important;

    line-height: 1.35 !important;
}


/* =========================================================
   BADGES DE STATUT
   ========================================================= */

.workflow-status[b-gxtpbc42rv] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 29px;

    padding: 5px 10px;

    border-radius: 999px;

    font-size: 0.71rem;

    font-weight: 800;

    white-space: nowrap;
}


.workflow-status.pending[b-gxtpbc42rv] {
    color: #8A5A00;

    background: #FFF5DD;

    border:
        1px solid
        #F4D99B;
}


.workflow-status.approved[b-gxtpbc42rv] {
    color: #27603A;

    background: #EAF6EF;

    border:
        1px solid
        #C6E5D1;
}


.workflow-status.rejected[b-gxtpbc42rv] {
    color: #A3212D;

    background: #FDECEF;

    border:
        1px solid
        #F1C4CA;
}


.workflow-status.ordered[b-gxtpbc42rv] {
    color: #264A9B;

    background: #EEF2FF;

    border:
        1px solid
        #CED8F6;
}


/* =========================================================
   HISTORIQUE DE TRAITEMENT
   ========================================================= */

.approval-history[b-gxtpbc42rv],
.readonly-data[b-gxtpbc42rv] {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

    margin:
        16px
        18px
        0;

    padding: 12px 14px;

    background: #F7F8FA;

    border:
        1px solid
        #ECEEF2;

    border-radius: 9px;
}


.approval-history div[b-gxtpbc42rv],
.readonly-data div[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 2px;

    min-width: 0;
}


.approval-history span[b-gxtpbc42rv],
.readonly-data span[b-gxtpbc42rv] {
    color: var(--dlc-muted);

    font-size: 0.68rem;

    font-weight: 650;

    text-transform: uppercase;

    letter-spacing: 0.025em;
}


.approval-history strong[b-gxtpbc42rv],
.readonly-data strong[b-gxtpbc42rv] {
    overflow: hidden;

    color: var(--dlc-text);

    font-size: 0.82rem;

    font-weight: 700;

    text-overflow: ellipsis;
}


/* =========================================================
   FORMULAIRE DU WORKFLOW
   ========================================================= */

.workflow-form[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 14px;

    padding:
        16px
        18px
        18px;
}


.workflow-form .form-group[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 6px;

    margin: 0;
}


.workflow-form .form-group label[b-gxtpbc42rv] {
    margin: 0;

    color: #3D4653;

    font-size: 0.76rem;

    font-weight: 750;
}


.workflow-form .form-group input[b-gxtpbc42rv],
.workflow-form .form-group textarea[b-gxtpbc42rv] {
    display: block;

    width: 100%;

    box-sizing: border-box;

    color: var(--dlc-text);

    background: white;

    border:
        1px solid
        #CDD3DC;

    border-radius: 8px;

    font-family: inherit;

    font-size: 0.86rem;

    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}


.workflow-form .form-group input[b-gxtpbc42rv] {
    min-height: 40px;

    padding:
        8px
        11px;
}


.workflow-form .form-group textarea[b-gxtpbc42rv] {
    min-height: 82px;

    padding:
        9px
        11px;

    line-height: 1.45;

    resize: vertical;
}


.workflow-form .form-group input[b-gxtpbc42rv]::placeholder,
.workflow-form .form-group textarea[b-gxtpbc42rv]::placeholder {
    color: #9CA3AF;
}


.workflow-form .form-group input:focus[b-gxtpbc42rv],
.workflow-form .form-group textarea:focus[b-gxtpbc42rv] {
    outline: none;

    border-color: var(--dlc-navy);

    box-shadow:
        0 0 0 3px
        rgba(9, 22, 63, 0.08);
}


/* =========================================================
   CHAMPS DÉSACTIVÉS
   ========================================================= */

.workflow-form .form-group input:disabled[b-gxtpbc42rv],
.workflow-form .form-group textarea:disabled[b-gxtpbc42rv],
.workflow-form .form-group select:disabled[b-gxtpbc42rv] {
    color: #8C939D;

    background: #F1F3F5;

    border-color: #D8DCE2;

    cursor: not-allowed;

    opacity: 1;
}


/* =========================================================
   ÉTAPE VERROUILLÉE
   ========================================================= */

.prerequisite-message[b-gxtpbc42rv] {
    margin:
        16px
        18px
        18px;

    padding:
        12px
        14px;

    color: #666E79;

    background: #F6F7F9;

    border:
        1px solid
        #E4E7EB;

    border-left:
        4px solid
        #AAB1BC;

    border-radius: 8px;

    font-size: 0.79rem;

    line-height: 1.5;
}


/* =========================================================
   COMMENTAIRE ENREGISTRÉ
   ========================================================= */

.saved-comment[b-gxtpbc42rv] {
    margin:
        14px
        18px
        18px;

    padding: 12px 14px;

    background: #F7F8FA;

    border:
        1px solid
        #ECEEF2;

    border-radius: 8px;
}


.saved-comment span[b-gxtpbc42rv] {
    color: var(--dlc-muted);

    font-size: 0.68rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.025em;
}


.saved-comment p[b-gxtpbc42rv] {
    margin: 4px 0 0;

    color: var(--dlc-text);

    font-size: 0.82rem;

    line-height: 1.45;
}


/* =========================================================
   BOUTONS DU WORKFLOW
   ========================================================= */

.workflow-actions[b-gxtpbc42rv] {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    flex-wrap: wrap;

    gap: 9px;

    padding-top: 2px;
}


.approve-button[b-gxtpbc42rv],
.reject-button[b-gxtpbc42rv] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding:
        8px
        14px;

    border-radius: 8px;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.78rem;

    font-weight: 750;

    transition:
        background 150ms ease,
        border-color 150ms ease,
        color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}


/* =========================================================
   APPROUVER
   ========================================================= */

.approve-button[b-gxtpbc42rv] {
    color: white;

    background: var(--dlc-navy);

    border:
        1px solid
        var(--dlc-navy);
}


.approve-button:hover:not(:disabled)[b-gxtpbc42rv] {
    background: var(--dlc-navy-light);

    border-color: var(--dlc-navy-light);

    transform: translateY(-1px);

    box-shadow:
        0 4px 12px
        rgba(9, 22, 63, 0.15);
}


/* =========================================================
   REFUSER
   ========================================================= */

.reject-button[b-gxtpbc42rv] {
    color: #B42331;

    background: white;

    border:
        1px solid
        #E6B7BC;
}


.reject-button:hover:not(:disabled)[b-gxtpbc42rv] {
    color: #971B27;

    background: #FFF5F6;

    border-color: #D99AA1;

    transform: translateY(-1px);
}


/* =========================================================
   BOUTONS DÉSACTIVÉS
   ========================================================= */

.approve-button:disabled[b-gxtpbc42rv],
.reject-button:disabled[b-gxtpbc42rv] {
    cursor: not-allowed;

    opacity: 0.45;

    transform: none;

    box-shadow: none;
}


/* =========================================================
   COMMANDE
   ========================================================= */

.order-grid[b-gxtpbc42rv] {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}


.order-info[b-gxtpbc42rv] {
    display: flex;

    flex-direction: column;

    gap: 2px;

    padding: 11px 13px;

    color: var(--dlc-text);

    background: #F7F8FA;

    border:
        1px solid
        #ECEEF2;

    border-radius: 8px;
}


.order-info span[b-gxtpbc42rv] {
    color: var(--dlc-muted);

    font-size: 0.68rem;

    font-weight: 650;

    text-transform: uppercase;

    letter-spacing: 0.025em;
}


.order-info strong[b-gxtpbc42rv] {
    color: var(--dlc-text);

    font-size: 0.82rem;

    font-weight: 700;
}


/* =========================================================
   PETITE SÉPARATION VISUELLE ENTRE LES ÉTAPES
   ========================================================= */

.workflow-card + .workflow-card[b-gxtpbc42rv] {
    margin-top: 0;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 950px) {

    .details-grid[b-gxtpbc42rv] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .article-details[b-gxtpbc42rv] {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   PETITE TABLETTE
   ========================================================= */

@media (max-width: 720px) {

    .workflow-header[b-gxtpbc42rv] {
        grid-template-columns:
            38px
            minmax(0, 1fr);
    }


    .workflow-status[b-gxtpbc42rv] {
        grid-column: 2;

        justify-self: start;
    }


    .approval-history[b-gxtpbc42rv],
    .readonly-data[b-gxtpbc42rv],
    .order-grid[b-gxtpbc42rv] {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .title-row[b-gxtpbc42rv] {
        align-items: flex-start;

        flex-direction: column;
    }


    .title-row h1[b-gxtpbc42rv] {
        font-size: 1.7rem;
    }


    .details-grid[b-gxtpbc42rv],
    .article-details[b-gxtpbc42rv] {
        grid-template-columns: 1fr;
    }


    .content-card[b-gxtpbc42rv] {
        padding:
            17px
            16px;
    }


    .workflow-header[b-gxtpbc42rv] {
        padding:
            13px
            14px;
    }


    .approval-history[b-gxtpbc42rv],
    .readonly-data[b-gxtpbc42rv] {
        margin:
            14px
            14px
            0;
    }


    .workflow-form[b-gxtpbc42rv] {
        padding:
            14px;
    }


    .prerequisite-message[b-gxtpbc42rv],
    .saved-comment[b-gxtpbc42rv] {
        margin:
            14px;
    }


    .workflow-actions[b-gxtpbc42rv] {
        align-items: stretch;

        flex-direction: column-reverse;
    }


    .approve-button[b-gxtpbc42rv],
    .reject-button[b-gxtpbc42rv] {
        width: 100%;
    }

}
/* /Components/Pages/FeuillesSuppleanceJour.razor.rz.scp.css */
/* =========================================================
   FEUILLES DE SUPPLÉANCE DU JOUR
   ========================================================= */


/* =========================================================
   BARRE D'ACTIONS
   ========================================================= */

.print-toolbar[b-840qgzzn81] {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    max-width: 900px;

    margin: 0 auto 18px;
}


.toolbar-info[b-840qgzzn81] {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 2px;

    color: #0f172a;

    font-size: .8rem;
}


.toolbar-info strong[b-840qgzzn81] {
    font-size: .9rem;
}


.toolbar-info span[b-840qgzzn81] {
    color: #64748b;
}


.secondary-button[b-840qgzzn81],
.print-button[b-840qgzzn81] {
    min-height: 42px;

    padding: 0 16px;

    cursor: pointer;

    border-radius: 8px;

    font-family: inherit;
    font-size: .82rem;
    font-weight: 800;
}


.secondary-button[b-840qgzzn81] {
    color: #0f172a;

    background: white;

    border: 1px solid #cbd5e1;
}


.secondary-button:hover[b-840qgzzn81] {
    background: #f8fafc;
}


.print-button[b-840qgzzn81] {
    color: white;

    background: #0f172a;

    border: 1px solid #0f172a;
}


.print-button:hover[b-840qgzzn81] {
    opacity: .92;
}


/* =========================================================
   DOCUMENT
   ========================================================= */

.print-document[b-840qgzzn81] {
    display: flex;
    flex-direction: column;

    gap: 30px;
}


/* =========================================================
   FEUILLE
   ========================================================= */

.sheet[b-840qgzzn81] {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    padding: 34px 38px;

    color: #111827;

    background: white;

    border: 1px solid #d1d5db;

    box-shadow:
        0 8px 28px
        rgba(15, 23, 42, .08);

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.sheet-header[b-840qgzzn81] {
    padding-bottom: 16px;

    margin-bottom: 18px;

    border-bottom: 4px solid #0f172a;
}


.school-identity[b-840qgzzn81] {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.school-name[b-840qgzzn81] {
    color: #0f172a;

    font-size: 1rem;
    font-weight: 800;

    letter-spacing: .035em;
}


.form-name[b-840qgzzn81] {
    color: #0f172a;

    font-size: 1.65rem;
    font-weight: 900;

    letter-spacing: .02em;
}


/* =========================================================
   INFORMATIONS PRINCIPALES
   ========================================================= */

.information-grid[b-840qgzzn81] {
    display: grid;

    grid-template-columns:
        160px
        1fr
        1fr;

    gap: 10px;

    margin-bottom: 18px;
}


.information-box[b-840qgzzn81] {
    display: flex;
    flex-direction: column;

    min-height: 64px;

    padding: 10px 12px;

    border: 2px solid #0f172a;
}


.information-label[b-840qgzzn81] {
    margin-bottom: 7px;

    color: #475569;

    font-size: .68rem;
    font-weight: 800;

    letter-spacing: .035em;
}


.information-value[b-840qgzzn81] {
    color: #111827;

    font-size: .95rem;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.form-section[b-840qgzzn81] {
    margin-bottom: 18px;
}


.section-title[b-840qgzzn81] {
    padding: 7px 10px;

    color: white;

    background: #0f172a;

    font-size: .74rem;
    font-weight: 900;

    letter-spacing: .025em;
}


/* =========================================================
   TABLEAU DES PÉRIODES
   ========================================================= */

.substitution-table[b-840qgzzn81] {
    width: 100%;

    border-collapse: collapse;
}


.substitution-table th[b-840qgzzn81],
.substitution-table td[b-840qgzzn81] {
    border: 1px solid #475569;
}


.substitution-table th[b-840qgzzn81] {
    padding: 8px 9px;

    color: #0f172a;

    background: #f1f5f9;

    font-size: .69rem;
    font-weight: 900;

    text-align: left;
}


.substitution-table td[b-840qgzzn81] {
    height: 38px;

    padding: 7px 9px;

    font-size: .82rem;
}


.substitution-table th:nth-child(1)[b-840qgzzn81] {
    width: 20%;
}


.substitution-table th:nth-child(2)[b-840qgzzn81] {
    width: 45%;
}


.substitution-table th:nth-child(3)[b-840qgzzn81] {
    width: 35%;
}


.period-column[b-840qgzzn81] {
    text-align: center !important;
}


.empty-row td[b-840qgzzn81] {
    height: 38px;
}


/* =========================================================
   TRAVAIL À FAIRE
   ========================================================= */

.work-grid[b-840qgzzn81] {
    border-right: 1px solid #475569;
    border-left: 1px solid #475569;
}


.work-row[b-840qgzzn81] {
    display: grid;

    grid-template-columns:
        62px
        1fr;

    min-height: 72px;

    border-bottom: 1px solid #475569;
}


.work-period[b-840qgzzn81] {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 12px;

    color: #0f172a;

    background: #f8fafc;

    border-right: 1px solid #475569;

    font-size: .8rem;
    font-weight: 900;
}


.work-description[b-840qgzzn81] {
    padding: 11px 13px;

    white-space: pre-wrap;

    font-size: .82rem;
    line-height: 1.45;
}


/* =========================================================
   COMMENTAIRES
   ========================================================= */

.comments-section[b-840qgzzn81] {
    page-break-inside: avoid;
}


.writing-area[b-840qgzzn81] {
    padding: 12px 12px 4px;

    border: 1px solid #475569;
    border-top: 0;
}


.writing-line[b-840qgzzn81] {
    height: 27px;

    border-bottom: 1px solid #94a3b8;
}


.writing-line:last-child[b-840qgzzn81] {
    border-bottom: 0;
}


/* =========================================================
   PIED DE PAGE
   ========================================================= */

.sheet-footer[b-840qgzzn81] {
    display: flex;
    justify-content: space-between;

    padding-top: 10px;

    margin-top: 10px;

    color: #64748b;

    border-top: 1px solid #cbd5e1;

    font-size: .63rem;
}


/* =========================================================
   CHARGEMENT / ERREUR
   ========================================================= */

.loading-card[b-840qgzzn81],
.error-card[b-840qgzzn81] {
    max-width: 600px;

    margin: 40px auto;

    padding: 36px;

    text-align: center;

    background: white;

    border: 1px solid #dbe1e8;

    border-radius: 12px;
}


.loading-icon[b-840qgzzn81] {
    margin-bottom: 8px;

    font-size: 1.8rem;
}


.loading-card h2[b-840qgzzn81],
.error-card h2[b-840qgzzn81] {
    color: #0f172a;
}


/* =========================================================
   IMPRESSION
   ========================================================= */

@media print {

    @page {
        size: letter portrait;
        margin: 10mm;
    }


    .no-print[b-840qgzzn81] {
        display: none !important;
    }


    .print-document[b-840qgzzn81] {
        display: block;
    }


    .sheet[b-840qgzzn81] {
        width: 100%;
        max-width: none;

        margin: 0;
        padding: 0;

        border: 0;

        box-shadow: none;

        break-after: page;
        page-break-after: always;
    }


    .sheet:last-child[b-840qgzzn81] {
        break-after: auto;
        page-break-after: auto;
    }


    .form-section[b-840qgzzn81],
    .work-row[b-840qgzzn81],
    .comments-section[b-840qgzzn81] {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 720px) {

    .sheet[b-840qgzzn81] {
        padding: 22px 18px;
    }


    .information-grid[b-840qgzzn81] {
        grid-template-columns:
            1fr;
    }


    .print-toolbar[b-840qgzzn81] {
        flex-direction: column;
    }


    .secondary-button[b-840qgzzn81],
    .print-button[b-840qgzzn81] {
        width: 100%;
    }
}
/* /Components/Pages/FeuilleSuppleance.razor.rz.scp.css */
/* =========================================================
   FEUILLE DE SUPPLÉANCE — HORIZON JEUNESSE
   ========================================================= */


/* =========================================================
   BARRE D'ACTIONS
   ========================================================= */

.print-toolbar[b-56tc30453h] {
    display: flex;
    align-items: center;
    justify-content: space-between;

    max-width: 900px;

    margin: 0 auto 18px;
}


.secondary-button[b-56tc30453h],
.print-button[b-56tc30453h] {
    min-height: 42px;

    padding: 0 16px;

    cursor: pointer;

    border-radius: 8px;

    font-family: inherit;
    font-size: .82rem;
    font-weight: 800;
}


.secondary-button[b-56tc30453h] {
    color: #0f172a;

    background: white;

    border: 1px solid #cbd5e1;
}


.secondary-button:hover[b-56tc30453h] {
    background: #f8fafc;
}


.print-button[b-56tc30453h] {
    color: white;

    background: #0f172a;

    border: 1px solid #0f172a;
}


.print-button:hover[b-56tc30453h] {
    opacity: .92;
}


/* =========================================================
   FEUILLE
   ========================================================= */

.sheet[b-56tc30453h] {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    padding: 34px 38px;

    color: #111827;

    background: white;

    border: 1px solid #d1d5db;

    box-shadow:
        0 8px 28px
        rgba(15, 23, 42, .08);

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.sheet-header[b-56tc30453h] {
    padding-bottom: 16px;

    margin-bottom: 18px;

    border-bottom: 4px solid #0f172a;
}


.school-identity[b-56tc30453h] {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.school-name[b-56tc30453h] {
    color: #0f172a;

    font-size: 1rem;
    font-weight: 800;

    letter-spacing: .035em;
}


.form-name[b-56tc30453h] {
    color: #0f172a;

    font-size: 1.65rem;
    font-weight: 900;

    letter-spacing: .02em;
}


/* =========================================================
   INFORMATIONS
   ========================================================= */

.information-grid[b-56tc30453h] {
    display: grid;

    grid-template-columns:
        180px
        1fr;

    gap: 10px;

    margin-bottom: 18px;
}


.information-box[b-56tc30453h] {
    display: flex;
    flex-direction: column;

    min-height: 64px;

    padding: 10px 12px;

    border: 2px solid #0f172a;
}


.information-label[b-56tc30453h] {
    margin-bottom: 7px;

    color: #475569;

    font-size: .68rem;
    font-weight: 800;

    letter-spacing: .035em;
}


.information-value[b-56tc30453h] {
    color: #111827;

    font-size: .95rem;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.form-section[b-56tc30453h] {
    margin-bottom: 18px;
}


.section-title[b-56tc30453h] {
    padding: 7px 10px;

    color: white;

    background: #0f172a;

    font-size: .74rem;
    font-weight: 900;

    letter-spacing: .025em;
}


/* =========================================================
   TABLEAU SUPPLÉANCE
   ========================================================= */

.substitution-table[b-56tc30453h] {
    width: 100%;

    border-collapse: collapse;
}


.substitution-table th[b-56tc30453h],
.substitution-table td[b-56tc30453h] {
    border: 1px solid #475569;
}


.substitution-table th[b-56tc30453h] {
    padding: 8px 9px;

    color: #0f172a;

    background: #f1f5f9;

    font-size: .69rem;
    font-weight: 900;

    text-align: left;
}


.substitution-table td[b-56tc30453h] {
    height: 38px;

    padding: 7px 9px;

    font-size: .82rem;
}


.substitution-table th:first-child[b-56tc30453h] {
    width: 42%;
}


.substitution-table th:nth-child(2)[b-56tc30453h] {
    width: 13%;
}


.substitution-table th:nth-child(3)[b-56tc30453h] {
    width: 25%;
}


.substitution-table th:nth-child(4)[b-56tc30453h] {
    width: 20%;
}


.period-column[b-56tc30453h] {
    text-align: center !important;
}


.empty-row td[b-56tc30453h] {
    height: 38px;
}


/* =========================================================
   TRAVAIL
   ========================================================= */

.work-grid[b-56tc30453h] {
    border-right: 1px solid #475569;
    border-left: 1px solid #475569;
}


.work-row[b-56tc30453h] {
    display: grid;

    grid-template-columns:
        62px
        1fr;

    min-height: 72px;

    border-bottom: 1px solid #475569;
}


.work-period[b-56tc30453h] {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 12px;

    color: #0f172a;

    background: #f8fafc;

    border-right: 1px solid #475569;

    font-size: .8rem;
    font-weight: 900;
}


.work-description[b-56tc30453h] {
    padding: 11px 13px;

    white-space: pre-wrap;

    font-size: .82rem;
    line-height: 1.45;
}


/* =========================================================
   COMMENTAIRES
   ========================================================= */

.comments-section[b-56tc30453h] {
    page-break-inside: avoid;
}


.writing-area[b-56tc30453h] {
    padding: 12px 12px 4px;

    border: 1px solid #475569;
    border-top: 0;
}


.writing-line[b-56tc30453h] {
    height: 27px;

    border-bottom: 1px solid #94a3b8;
}


.writing-line:last-child[b-56tc30453h] {
    border-bottom: 0;
}


/* =========================================================
   PIED DE PAGE
   ========================================================= */

.sheet-footer[b-56tc30453h] {
    display: flex;
    justify-content: space-between;

    padding-top: 10px;

    margin-top: 10px;

    color: #64748b;

    border-top: 1px solid #cbd5e1;

    font-size: .63rem;
}


/* =========================================================
   CHARGEMENT / ERREUR
   ========================================================= */

.loading-card[b-56tc30453h],
.error-card[b-56tc30453h] {
    max-width: 600px;

    margin: 40px auto;

    padding: 36px;

    text-align: center;

    background: white;

    border: 1px solid #dbe1e8;

    border-radius: 12px;
}


.loading-icon[b-56tc30453h] {
    margin-bottom: 8px;

    font-size: 1.8rem;
}


.loading-card h2[b-56tc30453h],
.error-card h2[b-56tc30453h] {
    color: #0f172a;
}


/* =========================================================
   IMPRESSION
   ========================================================= */

@media print {

    @page {
        size: letter portrait;
        margin: 10mm;
    }


    .no-print[b-56tc30453h] {
        display: none !important;
    }


    .sheet[b-56tc30453h] {
        width: 100%;
        max-width: none;

        margin: 0;
        padding: 0;

        border: 0;

        box-shadow: none;
    }


    .sheet-header[b-56tc30453h] {
        margin-top: 0;
    }


    .form-section[b-56tc30453h] {
        break-inside: avoid;
    }


    .work-row[b-56tc30453h] {
        break-inside: avoid;
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 720px) {

    .sheet[b-56tc30453h] {
        padding: 22px 18px;
    }


    .information-grid[b-56tc30453h] {
        grid-template-columns: 1fr;
    }


    .print-toolbar[b-56tc30453h] {
        gap: 10px;
    }


    .secondary-button[b-56tc30453h],
    .print-button[b-56tc30453h] {
        flex: 1;
    }
}
/* /Components/Pages/GestionAcces.razor.rz.scp.css */
/* =========================================================
   GESTION DES ACCÈS — AGORA
   TAILLE CONFORTABLE + DÉFILEMENT HORIZONTAL
   ========================================================= */


/* =========================================================
   EN-TÊTE
   ========================================================= */

.page-header[b-6uwdc9jflh] {
    margin-bottom: 26px;
}

.page-header h1[b-6uwdc9jflh] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 2.25rem;
}

.page-header p[b-6uwdc9jflh] {
    margin: 6px 0 0;

    color: var(--dlc-muted);

    font-size: 1rem;
}


/* =========================================================
   MESSAGE
   ========================================================= */

.message[b-6uwdc9jflh] {
    margin-bottom: 22px;

    padding: 13px 16px;

    border-radius: 10px;

    font-weight: 600;
}

.message.success[b-6uwdc9jflh] {
    color: #256029;

    background: #EAF6EF;

    border: 1px solid #BCE1C7;
}

.message.error[b-6uwdc9jflh] {
    color: #A3212D;

    background: #FDECEF;

    border: 1px solid #F1C2C8;
}


/* =========================================================
   CARTES
   ========================================================= */

.add-card[b-6uwdc9jflh],
.users-card[b-6uwdc9jflh] {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow-sm);
}


/* =========================================================
   AJOUT D'UN UTILISATEUR
   ========================================================= */

.add-card[b-6uwdc9jflh] {
    margin-bottom: 24px;

    padding: 22px;
}

.card-title[b-6uwdc9jflh] {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;
}

.title-icon[b-6uwdc9jflh] {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    color: white;

    background: var(--dlc-navy);

    border-radius: 10px;

    font-size: 1.4rem;

    font-weight: 500;
}

.card-title h2[b-6uwdc9jflh] {
    margin: 0;

    font-size: 1.15rem;
}

.card-title p[b-6uwdc9jflh] {
    margin: 3px 0 0;

    color: var(--dlc-muted);

    font-size: 0.86rem;
}


/* =========================================================
   GRILLE D'AJOUT
   ========================================================= */

.add-grid[b-6uwdc9jflh] {
    display: grid;

    grid-template-columns:
        1.2fr
        1.5fr
        1.3fr
        auto;

    gap: 14px;

    align-items: end;
}

.field label[b-6uwdc9jflh] {
    display: block;

    margin-bottom: 6px;

    font-size: 0.82rem;

    font-weight: 700;
}

.field input[b-6uwdc9jflh],
.field select[b-6uwdc9jflh] {
    width: 100%;

    height: 42px;

    padding: 0 11px;

    border: 1px solid var(--dlc-border-dark);

    border-radius: 8px;

    background: white;

    font-size: 0.9rem;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.primary-button[b-6uwdc9jflh],
.save-button[b-6uwdc9jflh],
.template-button[b-6uwdc9jflh] {
    border: none;

    cursor: pointer;

    font-family: inherit;

    font-weight: 700;

    transition:
        transform 150ms ease,
        opacity 150ms ease;
}

.primary-button[b-6uwdc9jflh] {
    height: 42px;

    padding: 0 18px;

    color: white;

    background: var(--dlc-navy);

    border-radius: 8px;
}

.primary-button:hover[b-6uwdc9jflh],
.save-button:hover[b-6uwdc9jflh],
.template-button:hover[b-6uwdc9jflh] {
    transform: translateY(-1px);
}


/* =========================================================
   CARTE UTILISATEURS
   ========================================================= */

.users-card[b-6uwdc9jflh] {
    position: relative;

    overflow: hidden;
}


/* =========================================================
   EN-TÊTE UTILISATEURS
   ========================================================= */

.users-header[b-6uwdc9jflh] {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 19px 22px;

    border-bottom: 1px solid var(--dlc-border);
}

.users-header h2[b-6uwdc9jflh] {
    margin: 0;

    font-size: 1.2rem;
}

.users-header p[b-6uwdc9jflh] {
    margin: 3px 0 0;

    color: var(--dlc-muted);

    font-size: 0.85rem;
}

.save-button[b-6uwdc9jflh] {
    min-height: 40px;

    padding: 0 15px;

    color: white;

    background: #198754;

    border-radius: 8px;

    white-space: nowrap;
}


/* =========================================================
   ZONE DÉFILANTE
   ========================================================= */

.table-scroll[b-6uwdc9jflh] {
    position: relative;

    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    max-height: 65vh;

    overflow-x: scroll;
    overflow-y: auto;

    overscroll-behavior: contain;

    scrollbar-gutter: stable;

    scrollbar-width: auto;

    scrollbar-color:
        #7E8795
        #E5E8EC;
}


/* =========================================================
   BARRES DE DÉFILEMENT
   ========================================================= */

.table-scroll[b-6uwdc9jflh]::-webkit-scrollbar {
    width: 15px;
    height: 17px;
}

.table-scroll[b-6uwdc9jflh]::-webkit-scrollbar-track {
    background: #E5E8EC;

    border-top: 1px solid #D5D9DF;
}

.table-scroll[b-6uwdc9jflh]::-webkit-scrollbar-thumb {
    background: #7E8795;

    border: 3px solid #E5E8EC;

    border-radius: 999px;
}

.table-scroll[b-6uwdc9jflh]::-webkit-scrollbar-thumb:hover {
    background: #636D7C;
}

.table-scroll[b-6uwdc9jflh]::-webkit-scrollbar-corner {
    background: #E5E8EC;
}


/* =========================================================
   TABLEAU
   ========================================================= */

/*
   Largeur augmentée pour la nouvelle colonne
   « Payer temps ».
*/

.rights-table[b-6uwdc9jflh] {
    width: 2350px;
    min-width: 2350px;
    max-width: none;

    table-layout: fixed;

    border-collapse: separate;

    border-spacing: 0;

    font-size: 0.9rem;
}


/* =========================================================
   EN-TÊTES
   ========================================================= */

.rights-table th[b-6uwdc9jflh] {
    position: sticky;

    top: 0;

    z-index: 3;

    height: 64px;

    padding: 8px 10px;

    text-align: center;

    vertical-align: middle;

    color: #555D69;

    background: #F7F8FA;

    border-bottom: 1px solid var(--dlc-border);

    border-right: 1px solid #ECEEF2;

    font-size: 0.72rem;

    font-weight: 700;

    line-height: 1.25;

    white-space: nowrap;
}


/* =========================================================
   CELLULES
   ========================================================= */

.rights-table td[b-6uwdc9jflh] {
    height: 68px;

    padding: 9px 10px;

    color: var(--dlc-text);

    background: white;

    border-bottom: 1px solid #ECEEF2;

    border-right: 1px solid #F0F1F3;

    vertical-align: middle;
}

.rights-table tbody tr:hover td[b-6uwdc9jflh] {
    background: #FAFBFC;
}


/* =========================================================
   COLONNE UTILISATEUR FIGÉE
   ========================================================= */

.sticky-user[b-6uwdc9jflh] {
    position: sticky;

    left: 0;

    z-index: 4;

    width: 220px;
    min-width: 220px;
    max-width: 220px;

    text-align: left !important;

    background: white !important;

    box-shadow:
        3px 0 6px
        rgba(0, 0, 0, 0.05);
}

th.sticky-user[b-6uwdc9jflh] {
    z-index: 8;

    background: #F7F8FA !important;
}


/* =========================================================
   COLONNE PROFIL FIGÉE
   ========================================================= */

.sticky-profile[b-6uwdc9jflh] {
    position: sticky;

    left: 220px;

    z-index: 4;

    width: 210px;
    min-width: 210px;
    max-width: 210px;

    background: white !important;

    box-shadow:
        3px 0 6px
        rgba(0, 0, 0, 0.05);
}

th.sticky-profile[b-6uwdc9jflh] {
    z-index: 8;

    background: #F7F8FA !important;
}


/* =========================================================
   UTILISATEUR
   ========================================================= */

.user-name[b-6uwdc9jflh] {
    overflow: hidden;

    color: var(--dlc-navy);

    font-size: 0.9rem;

    font-weight: 700;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.user-email[b-6uwdc9jflh] {
    overflow: hidden;

    margin-top: 3px;

    color: var(--dlc-muted);

    font-size: 0.72rem;

    text-overflow: ellipsis;

    white-space: nowrap;
}


/* =========================================================
   PROFIL
   ========================================================= */

.profile-select[b-6uwdc9jflh] {
    width: 190px;

    min-height: 37px;

    padding: 0 8px;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: 7px;

    font-size: 0.78rem;
}


/* =========================================================
   PERMISSIONS
   ========================================================= */

.permission-header[b-6uwdc9jflh] {
    width: 105px;
    min-width: 105px;
    max-width: 105px;
}

.checkbox-cell[b-6uwdc9jflh] {
    width: 105px;
    min-width: 105px;
    max-width: 105px;

    text-align: center;

    vertical-align: middle;
}

.permission-checkbox[b-6uwdc9jflh] {
    width: 20px;
    height: 20px;

    margin: 0;

    cursor: pointer;

    accent-color: var(--dlc-navy);
}


/* =========================================================
   ABSENCES
   ========================================================= */

.absence[b-6uwdc9jflh] {
    background: #F3F8FF !important;
}

.absence-cell[b-6uwdc9jflh] {
    background: #FBFDFF !important;
}


/* =========================================================
   ACHATS
   ========================================================= */

.achat[b-6uwdc9jflh] {
    background: #FFF7F1 !important;
}

.achat-cell[b-6uwdc9jflh] {
    background: #FFFCF9 !important;
}


/* =========================================================
   TEMPS COMPENSÉ
   ========================================================= */

.temps[b-6uwdc9jflh] {
    background: #F5FAF0 !important;
}

.temps-cell[b-6uwdc9jflh] {
    background: #FCFEFA !important;
}


/* =========================================================
   ADMINISTRATION
   ========================================================= */

.admin[b-6uwdc9jflh] {
    background: #F8F3FC !important;
}

.admin-cell[b-6uwdc9jflh] {
    background: #FDFCFE !important;
}


/* =========================================================
   RÉAPPLIQUER
   ========================================================= */

.profile-action-cell[b-6uwdc9jflh] {
    width: 120px;
    min-width: 120px;
    max-width: 120px;

    text-align: center;
}

.template-button[b-6uwdc9jflh] {
    padding: 7px 10px;

    color: var(--dlc-navy);

    background: #EEF1F7;

    border-radius: 7px;

    font-size: 0.72rem;

    white-space: nowrap;
}


/* =========================================================
   LÉGENDE
   ========================================================= */

.legend[b-6uwdc9jflh] {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 15px;

    color: var(--dlc-muted);

    font-size: 0.76rem;
}

.legend-title[b-6uwdc9jflh] {
    margin-right: 4px;

    font-weight: 700;
}

.legend-item[b-6uwdc9jflh] {
    padding: 5px 9px;

    border-radius: 999px;

    font-weight: 600;
}

.absence-key[b-6uwdc9jflh] {
    background: #EAF3FF;
}

.achat-key[b-6uwdc9jflh] {
    background: #FFF0E5;
}

.temps-key[b-6uwdc9jflh] {
    background: #EDF7E5;
}

.admin-key[b-6uwdc9jflh] {
    background: #F3EAF9;
}


/* =========================================================
   ÉTAT VIDE / ACCÈS REFUSÉ
   ========================================================= */

.empty-state[b-6uwdc9jflh],
.access-denied[b-6uwdc9jflh] {
    padding: 55px 20px;

    text-align: center;
}

.empty-state > div[b-6uwdc9jflh],
.access-icon[b-6uwdc9jflh] {
    margin-bottom: 12px;

    font-size: 2.5rem;
}

.empty-state h3[b-6uwdc9jflh],
.access-denied h2[b-6uwdc9jflh] {
    margin-bottom: 5px;
}

.empty-state p[b-6uwdc9jflh],
.access-denied p[b-6uwdc9jflh] {
    color: var(--dlc-muted);
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 900px) {

    .add-grid[b-6uwdc9jflh] {
        grid-template-columns:
            1fr
            1fr;
    }

    .add-action[b-6uwdc9jflh] {
        grid-column:
            1 / -1;
    }

    .primary-button[b-6uwdc9jflh] {
        width: 100%;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .add-grid[b-6uwdc9jflh] {
        grid-template-columns: 1fr;
    }

    .users-header[b-6uwdc9jflh] {
        align-items: stretch;

        flex-direction: column;
    }

    .save-button[b-6uwdc9jflh] {
        width: 100%;
    }

    .page-header h1[b-6uwdc9jflh] {
        font-size: 1.9rem;
    }
}
/* =========================================================
   RECHERCHE ET FILTRES UTILISATEURS
   ========================================================= */

.users-filter-card[b-6uwdc9jflh] {
    margin-bottom: 18px;
    padding: 18px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .04);
}

.users-filter-top[b-6uwdc9jflh] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: end;
}

.users-search[b-6uwdc9jflh],
.users-filter[b-6uwdc9jflh] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.users-search[b-6uwdc9jflh] {
    flex: 1 1 260px;
}

.users-filter[b-6uwdc9jflh] {
    flex: 1 1 170px;
}

.users-filter-card label[b-6uwdc9jflh] {
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
}

.users-filter-card input[b-6uwdc9jflh],
.users-filter-card select[b-6uwdc9jflh] {
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
}

.users-filter-card input:focus[b-6uwdc9jflh],
.users-filter-card select:focus[b-6uwdc9jflh] {
    outline: none;
    border-color: #B67BFF;
    box-shadow: 0 0 0 3px rgba(182, 123, 255, .15);
}

.users-filter-bottom[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 14px;
    color: #64748b;
    font-size: .9rem;
}

.users-filter-bottom strong[b-6uwdc9jflh] {
    color: #09163F;
}

.reset-filter-button[b-6uwdc9jflh] {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #6d28d9;
    font-weight: 700;
    cursor: pointer;
}

.reset-filter-button:hover[b-6uwdc9jflh] {
    text-decoration: underline;
}

@media (max-width: 850px) {
    .users-filter-top[b-6uwdc9jflh] {
        display: grid;
        grid-template-columns: 1fr;
    }

    .users-filter-bottom[b-6uwdc9jflh] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .reset-filter-button[b-6uwdc9jflh] {
        margin-left: 0;
        width: 100%;
        text-align: left;
        padding-left: 0;
    }
}

/* =========================================================
   GESTION MASSIVE DES DROITS
   ========================================================= */

.bulk-access-bar[b-6uwdc9jflh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
}

.bulk-selection-info[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-right: 5px;
    color: #64748b;
}

.bulk-selection-info strong[b-6uwdc9jflh] {
    color: #09163F;
    font-size: 1.05rem;
}

.bulk-right-picker[b-6uwdc9jflh] {
    flex: 1 1 230px;
}

.bulk-right-picker select[b-6uwdc9jflh] {
    width: 100%;
}

.bulk-secondary-button[b-6uwdc9jflh],
.bulk-grant-button[b-6uwdc9jflh],
.bulk-remove-button[b-6uwdc9jflh] {
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}

.bulk-secondary-button[b-6uwdc9jflh] {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #334155;
}

.bulk-grant-button[b-6uwdc9jflh] {
    border: 0;
    background: #09163F;
    color: #ffffff;
}

.bulk-remove-button[b-6uwdc9jflh] {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #9f1239;
}

.bulk-secondary-button:disabled[b-6uwdc9jflh],
.bulk-grant-button:disabled[b-6uwdc9jflh],
.bulk-remove-button:disabled[b-6uwdc9jflh] {
    opacity: .45;
    cursor: not-allowed;
}

.bulk-checkbox-column[b-6uwdc9jflh],
.bulk-checkbox-cell[b-6uwdc9jflh] {
    text-align: center;
    min-width: 46px;
    width: 46px;
}

.bulk-checkbox-cell input[b-6uwdc9jflh] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

@media (max-width: 850px) {
    .bulk-access-bar[b-6uwdc9jflh] {
        align-items: stretch;
        flex-direction: column;
    }

    .bulk-right-picker[b-6uwdc9jflh] {
        flex-basis: auto;
    }
}

/* =========================================================
   LISTE COMPACTE DES UTILISATEURS
   ========================================================= */

.access-workspace[b-6uwdc9jflh] {
    margin-top: 16px;
}

.user-list-panel[b-6uwdc9jflh] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}

.compact-user-header[b-6uwdc9jflh],
.compact-user-row[b-6uwdc9jflh] {
    display: grid;
    grid-template-columns:
        46px
        minmax(240px, 2fr)
        100px
        minmax(180px, 1.3fr)
        95px
        165px;
    align-items: center;
    gap: 12px;
}

.compact-user-header[b-6uwdc9jflh] {
    padding: 12px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.compact-user-row[b-6uwdc9jflh] {
    padding: 12px 16px;
    border-bottom: 1px solid #eef2f7;
    transition:
        background .15s ease,
        box-shadow .15s ease;
}

.compact-user-row:last-child[b-6uwdc9jflh] {
    border-bottom: 0;
}

.compact-user-row:hover[b-6uwdc9jflh] {
    background: #fafaff;
}

.compact-user-row.selected[b-6uwdc9jflh] {
    background: #f3efff;
    box-shadow: inset 4px 0 0 #B67BFF;
}

.compact-check[b-6uwdc9jflh] {
    text-align: center;
}

.compact-check input[b-6uwdc9jflh] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #6d28d9;
}

.compact-user-identity[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.compact-avatar[b-6uwdc9jflh] {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background: #ede9fe;
    color: #5b21b6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    font-weight: 900;
}

.compact-user-identity strong[b-6uwdc9jflh] {
    display: block;
    color: #09163F;
    line-height: 1.25;
}

.compact-user-identity span[b-6uwdc9jflh] {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: .78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-profile-badge[b-6uwdc9jflh] {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 7px;
    background: #ede9fe;
    color: #5b21b6;
    font-size: .75rem;
    font-weight: 800;
}

.compact-job[b-6uwdc9jflh] {
    color: #475569;
    font-size: .85rem;
}

.compact-status[b-6uwdc9jflh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    font-weight: 800;
}

.status-dot[b-6uwdc9jflh] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.compact-status.active[b-6uwdc9jflh] {
    color: #15803d;
}

.compact-status.active .status-dot[b-6uwdc9jflh] {
    background: #22c55e;
}

.compact-status.inactive[b-6uwdc9jflh] {
    color: #991b1b;
}

.compact-status.inactive .status-dot[b-6uwdc9jflh] {
    background: #ef4444;
}

.compact-actions[b-6uwdc9jflh] {
    text-align: right;
}

.manage-rights-button[b-6uwdc9jflh] {
    border: 1px solid #c7d2fe;
    background: #ffffff;
    color: #4338ca;
    border-radius: 9px;
    padding: 8px 11px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: all .15s ease;
}

.manage-rights-button:hover[b-6uwdc9jflh] {
    background: #eef2ff;
    border-color: #a5b4fc;
}

.legacy-rights-view[b-6uwdc9jflh] {
    margin-top: 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
}

.legacy-rights-view > summary[b-6uwdc9jflh] {
    padding: 13px 16px;
    cursor: pointer;
    color: #64748b;
    font-weight: 700;
}

.legacy-rights-view > summary:hover[b-6uwdc9jflh] {
    color: #4338ca;
}

.legacy-rights-view .table-scroll[b-6uwdc9jflh] {
    margin: 0 12px 12px;
}

@media (max-width: 1100px) {
    .compact-user-header[b-6uwdc9jflh] {
        display: none;
    }

    .compact-user-row[b-6uwdc9jflh] {
        grid-template-columns:
            40px
            minmax(220px, 1fr)
            auto;
    }

    .compact-user-row > :nth-child(3)[b-6uwdc9jflh],
    .compact-user-row > :nth-child(4)[b-6uwdc9jflh],
    .compact-user-row > :nth-child(5)[b-6uwdc9jflh] {
        display: none;
    }
}


/* =========================================================
   PANNEAU DE DROITS
   ========================================================= */

.access-workspace[b-6uwdc9jflh] {
    display: grid;
    grid-template-columns:
        minmax(540px, 1.08fr)
        minmax(430px, .92fr);
    gap: 18px;
    align-items: start;
}

.rights-detail-panel[b-6uwdc9jflh] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
    overflow: hidden;
    position: sticky;
    top: 14px;
}

.rights-empty-state[b-6uwdc9jflh] {
    padding: 70px 30px;
    text-align: center;
    color: #64748b;
}

.rights-empty-icon[b-6uwdc9jflh] {
    font-size: 2.4rem;
    margin-bottom: 12px;
}

.rights-empty-state h3[b-6uwdc9jflh] {
    color: #09163F;
    margin: 0 0 8px;
}

.rights-user-header[b-6uwdc9jflh] {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
    border-bottom: 1px solid #eef2f7;
}

.rights-user-main[b-6uwdc9jflh] {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.rights-big-avatar[b-6uwdc9jflh] {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ede9fe;
    color: #5b21b6;
    font-weight: 900;
}

.rights-user-main h2[b-6uwdc9jflh] {
    margin: 0;
    color: #09163F;
    font-size: 1.08rem;
}

.rights-user-main p[b-6uwdc9jflh] {
    margin: 3px 0 8px;
    color: #64748b;
    font-size: .78rem;
}

.rights-user-badges[b-6uwdc9jflh] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rights-job-badge[b-6uwdc9jflh] {
    display: inline-block;
    background: #f1f5f9;
    color: #475569;
    border-radius: 7px;
    padding: 5px 8px;
    font-size: .72rem;
    font-weight: 700;
}

.active-user-toggle[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    color: #166534;
    font-size: .8rem;
    font-weight: 800;
}

.active-user-toggle input[b-6uwdc9jflh] {
    width: 18px;
    height: 18px;
    accent-color: #22c55e;
}

.rights-summary-bar[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 14px 16px;
    padding: 9px 12px;
    border-radius: 9px;
    background: #f0fdf4;
    color: #166534;
    font-size: .8rem;
}

.rights-group[b-6uwdc9jflh] {
    margin: 0 16px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #ffffff;
    overflow: hidden;
}

.rights-group > summary[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 13px;
    cursor: pointer;
    background: #fafafa;
    color: #09163F;
    font-weight: 800;
    list-style: none;
}

.rights-group > summary[b-6uwdc9jflh]::-webkit-details-marker {
    display: none;
}

.rights-group > summary[b-6uwdc9jflh]::after {
    content: "›";
    margin-left: 5px;
    color: #94a3b8;
    font-size: 1.2rem;
    transform: rotate(90deg);
    transition: transform .15s ease;
}

.rights-group:not([open]) > summary[b-6uwdc9jflh]::after {
    transform: rotate(0deg);
}

.rights-group-icon[b-6uwdc9jflh] {
    width: 24px;
    text-align: center;
}

.rights-group-title[b-6uwdc9jflh] {
    flex: 1;
}

.rights-group-count[b-6uwdc9jflh] {
    padding: 3px 7px;
    border-radius: 999px;
    background: #ede9fe;
    color: #5b21b6;
    font-size: .7rem;
}

.rights-grid[b-6uwdc9jflh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 8px;
}

.permission-item[b-6uwdc9jflh] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 8px;
    color: #334155;
    font-size: .82rem;
    cursor: pointer;
}

.permission-item:hover[b-6uwdc9jflh] {
    background: #f8fafc;
}

.permission-item input[b-6uwdc9jflh] {
    width: 17px;
    height: 17px;
    accent-color: #6d28d9;
}

.rights-panel-actions[b-6uwdc9jflh] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px;
    border-top: 1px solid #e2e8f0;
    background: #fafafa;
}

.save-rights-button[b-6uwdc9jflh] {
    border: 0;
    border-radius: 9px;
    padding: 10px 14px;
    background: #6d28d9;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.rights-secondary-button[b-6uwdc9jflh] {
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 10px 12px;
    background: #ffffff;
    color: #334155;
    font-weight: 700;
    cursor: pointer;
}

.save-rights-button:hover[b-6uwdc9jflh] {
    background: #5b21b6;
}

.rights-secondary-button:hover[b-6uwdc9jflh] {
    background: #f8fafc;
}

@media (max-width: 1250px) {
    .access-workspace[b-6uwdc9jflh] {
        grid-template-columns: 1fr;
    }

    .rights-detail-panel[b-6uwdc9jflh] {
        position: static;
    }
}

@media (max-width: 650px) {
    .rights-grid[b-6uwdc9jflh] {
        grid-template-columns: 1fr;
    }

    .rights-user-header[b-6uwdc9jflh] {
        flex-direction: column;
    }
}


/* =========================================================
   CORRECTIONS ERGONOMIQUES - LISTE + FICHE UTILISATEUR
   ========================================================= */

.compact-user-header[b-6uwdc9jflh],
.compact-user-row[b-6uwdc9jflh] {
    grid-template-columns:
        42px
        minmax(220px, 1fr)
        120px
        150px;
}

.compact-user-row[b-6uwdc9jflh] {
    cursor: pointer;
}

.compact-meta[b-6uwdc9jflh] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.compact-job-inline[b-6uwdc9jflh] {
    display: block;
    margin-top: 4px;
    color: #94a3b8;
    font-size: .72rem;
}

.manage-rights-button[b-6uwdc9jflh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.user-information-editor[b-6uwdc9jflh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid #e2e8f0;
    background: #fafbff;
}

.user-edit-field[b-6uwdc9jflh] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.user-edit-field label[b-6uwdc9jflh] {
    color: #475569;
    font-size: .75rem;
    font-weight: 800;
}

.user-edit-field input[b-6uwdc9jflh],
.user-edit-field select[b-6uwdc9jflh] {
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
    box-sizing: border-box;
}

.user-edit-field input:focus[b-6uwdc9jflh],
.user-edit-field select:focus[b-6uwdc9jflh] {
    outline: none;
    border-color: #B67BFF;
    box-shadow: 0 0 0 3px rgba(182, 123, 255, .15);
}

.user-edit-field input:disabled[b-6uwdc9jflh] {
    background: #f1f5f9;
    color: #64748b;
}

@media (max-width: 700px) {
    .user-information-editor[b-6uwdc9jflh] {
        grid-template-columns: 1fr;
    }
}

/* /Components/Pages/GestionCalendrier.razor.rz.scp.css */
.page-calendrier[b-q9ruyg6i0e] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-entete[b-q9ruyg6i0e] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.page-entete h1[b-q9ruyg6i0e] {
    margin: 0.2rem 0 0.35rem;
    font-size: 2rem;
    font-weight: 750;
    color: #0f172a;
}

.page-entete p[b-q9ruyg6i0e] {
    margin: 0;
    color: #64748b;
}

.sur-titre[b-q9ruyg6i0e] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #64748b;
}


/* =========================================================
   CARTES
   ========================================================= */

.carte[b-q9ruyg6i0e] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.carte-entete[b-q9ruyg6i0e] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.carte-entete h2[b-q9ruyg6i0e] {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 750;
    color: #0f172a;
}

.carte-entete p[b-q9ruyg6i0e] {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
}

.badge-gpi[b-q9ruyg6i0e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 32px;
    padding: 0 0.65rem;
    border-radius: 8px;
    background: #0f172a;
    color: white;
    font-size: 0.78rem;
    font-weight: 800;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alerte[b-q9ruyg6i0e] {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.alerte-danger[b-q9ruyg6i0e] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerte-succes[b-q9ruyg6i0e] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}


/* =========================================================
   IMPORT
   ========================================================= */

.zone-import[b-q9ruyg6i0e] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.4fr) auto;
    gap: 1.25rem;
    align-items: end;
}

.champ-fichier[b-q9ruyg6i0e],
.option-import[b-q9ruyg6i0e] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.champ-fichier label[b-q9ruyg6i0e],
.champ label[b-q9ruyg6i0e] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.nom-fichier[b-q9ruyg6i0e] {
    margin-top: 0.25rem;
    color: #475569;
    font-size: 0.82rem;
}

.case-option[b-q9ruyg6i0e] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    cursor: pointer;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 650;
}

.case-option input[b-q9ruyg6i0e] {
    margin-top: 0.18rem;
}

.option-import small[b-q9ruyg6i0e] {
    color: #94a3b8;
    line-height: 1.35;
}

.action-import[b-q9ruyg6i0e] {
    display: flex;
    justify-content: flex-end;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-principal[b-q9ruyg6i0e],
.btn-secondaire[b-q9ruyg6i0e],
.btn-modifier[b-q9ruyg6i0e],
.btn-fermer[b-q9ruyg6i0e] {
    border: 0;
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.btn-principal[b-q9ruyg6i0e] {
    min-height: 40px;
    padding: 0.65rem 1rem;
    border-radius: 8px;
    background: #0f172a;
    color: white;
    font-weight: 700;
}

.btn-principal:hover:not(:disabled)[b-q9ruyg6i0e] {
    opacity: 0.9;
}

.btn-principal:disabled[b-q9ruyg6i0e] {
    opacity: 0.55;
    cursor: default;
}

.btn-secondaire[b-q9ruyg6i0e] {
    min-height: 40px;
    padding: 0.65rem 1rem;
    border-radius: 8px;
    background: #f1f5f9;
    color: #334155;
    font-weight: 700;
}

.btn-modifier[b-q9ruyg6i0e] {
    padding: 0.42rem 0.7rem;
    border-radius: 7px;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 700;
}

.btn-modifier:hover[b-q9ruyg6i0e] {
    background: #e2e8f0;
}

.btn-fermer[b-q9ruyg6i0e] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    font-size: 1.3rem;
    line-height: 1;
}


/* =========================================================
   RÉSUMÉ IMPORT
   ========================================================= */

.resume-import[b-q9ruyg6i0e] {
    margin-top: 1.25rem;
    padding-top: 1.1rem;
    border-top: 1px solid #e2e8f0;
}

.resume-titre[b-q9ruyg6i0e] {
    margin-bottom: 0.8rem;
    color: #0f172a;
    font-weight: 750;
}

.resume-grille[b-q9ruyg6i0e] {
    display: grid;
    grid-template-columns: repeat(6, minmax(100px, 1fr));
    gap: 0.7rem;
}

.indicateur[b-q9ruyg6i0e] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.75rem;
    border-radius: 9px;
    background: #f8fafc;
}

.indicateur .valeur[b-q9ruyg6i0e] {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}

.indicateur .libelle[b-q9ruyg6i0e] {
    font-size: 0.72rem;
    color: #64748b;
}

.info-protection[b-q9ruyg6i0e] {
    margin-top: 0.8rem;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 0.82rem;
}


/* =========================================================
   FILTRES
   ========================================================= */

.barre-filtres[b-q9ruyg6i0e] {
    display: flex;
    align-items: end;
    gap: 1rem;
    flex-wrap: wrap;
}

.champ[b-q9ruyg6i0e] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.champ select[b-q9ruyg6i0e],
.champ input[b-q9ruyg6i0e] {
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.55rem 0.7rem;
    background: white;
    color: #0f172a;
    outline: none;
}

.champ select:focus[b-q9ruyg6i0e],
.champ input:focus[b-q9ruyg6i0e] {
    border-color: #64748b;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, 0.12);
}

.legende[b-q9ruyg6i0e] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-left: auto;
    min-height: 40px;
}

.legende-element[b-q9ruyg6i0e] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #64748b;
    font-size: 0.78rem;
}

.pastille[b-q9ruyg6i0e] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.pastille.regulier[b-q9ruyg6i0e] {
    background: #64748b;
}

.pastille.pedagogique[b-q9ruyg6i0e] {
    background: #f59e0b;
}

.pastille.flottante[b-q9ruyg6i0e] {
    background: #8b5cf6;
}

.pastille.conge[b-q9ruyg6i0e] {
    background: #ef4444;
}


/* =========================================================
   ÉDITION
   ========================================================= */

.carte-edition[b-q9ruyg6i0e] {
    border-left: 4px solid #0f172a;
}

.grille-edition[b-q9ruyg6i0e] {
    display: grid;
    grid-template-columns: 220px 180px minmax(280px, 1fr);
    gap: 1rem;
}

.champ-note[b-q9ruyg6i0e] {
    width: 100%;
}

.actions-edition[b-q9ruyg6i0e] {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 1rem;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-responsive[b-q9ruyg6i0e] {
    width: 100%;
    overflow-x: auto;
}

.table-calendrier[b-q9ruyg6i0e] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.table-calendrier th[b-q9ruyg6i0e] {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid #cbd5e1;
    text-align: left;
    color: #64748b;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.table-calendrier td[b-q9ruyg6i0e] {
    padding: 0.8rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    color: #334155;
}

.table-calendrier tbody tr:hover[b-q9ruyg6i0e] {
    background: #f8fafc;
}

.table-calendrier tbody tr.ligne-modifiee[b-q9ruyg6i0e] {
    background: #fffdf5;
}

.table-calendrier tbody tr.ligne-modifiee:hover[b-q9ruyg6i0e] {
    background: #fff9e8;
}

.date-principale[b-q9ruyg6i0e] {
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

.jour-semaine[b-q9ruyg6i0e] {
    margin-top: 0.1rem;
    color: #94a3b8;
    font-size: 0.76rem;
}

.jour-cycle[b-q9ruyg6i0e] {
    font-weight: 750;
    color: #0f172a;
}

.valeur-vide[b-q9ruyg6i0e] {
    color: #cbd5e1;
}

.colonne-action[b-q9ruyg6i0e] {
    width: 90px;
    text-align: right !important;
}


/* =========================================================
   BADGES DE TYPE
   ========================================================= */

.badge-type[b-q9ruyg6i0e] {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 750;
    white-space: nowrap;
}

.badge-regulier[b-q9ruyg6i0e] {
    background: #f1f5f9;
    color: #475569;
}

.badge-pedagogique[b-q9ruyg6i0e] {
    background: #fffbeb;
    color: #92400e;
}

.badge-flottante[b-q9ruyg6i0e] {
    background: #f5f3ff;
    color: #6d28d9;
}

.badge-conge[b-q9ruyg6i0e] {
    background: #fef2f2;
    color: #b91c1c;
}

.badge-sans-horaire[b-q9ruyg6i0e] {
    background: #f8fafc;
    color: #94a3b8;
}


/* =========================================================
   SOURCE
   ========================================================= */

.source-import[b-q9ruyg6i0e] {
    color: #64748b;
    font-size: 0.78rem;
}

.source-manuelle[b-q9ruyg6i0e] {
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 750;
}

.source-detail[b-q9ruyg6i0e] {
    margin-top: 0.1rem;
    color: #94a3b8;
    font-size: 0.7rem;
}


/* =========================================================
   ÉTATS
   ========================================================= */

.etat-vide[b-q9ruyg6i0e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #64748b;
}

.etat-vide strong[b-q9ruyg6i0e] {
    color: #334155;
}

.compteur[b-q9ruyg6i0e] {
    padding: 0.35rem 0.6rem;
    border-radius: 7px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .zone-import[b-q9ruyg6i0e] {
        grid-template-columns: 1fr 1fr;
    }

    .action-import[b-q9ruyg6i0e] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .resume-grille[b-q9ruyg6i0e] {
        grid-template-columns: repeat(3, 1fr);
    }

    .grille-edition[b-q9ruyg6i0e] {
        grid-template-columns: 1fr 1fr;
    }

    .champ-note[b-q9ruyg6i0e] {
        grid-column: 1 / -1;
    }
}


@media (max-width: 700px) {

    .page-entete h1[b-q9ruyg6i0e] {
        font-size: 1.6rem;
    }

    .zone-import[b-q9ruyg6i0e] {
        grid-template-columns: 1fr;
    }

    .action-import[b-q9ruyg6i0e] {
        grid-column: auto;
    }

    .resume-grille[b-q9ruyg6i0e] {
        grid-template-columns: repeat(2, 1fr);
    }

    .grille-edition[b-q9ruyg6i0e] {
        grid-template-columns: 1fr;
    }

    .champ-note[b-q9ruyg6i0e] {
        grid-column: auto;
    }

    .legende[b-q9ruyg6i0e] {
        width: 100%;
        margin-left: 0;
        flex-wrap: wrap;
    }

    .actions-edition[b-q9ruyg6i0e] {
        justify-content: stretch;
    }

    .actions-edition button[b-q9ruyg6i0e] {
        flex: 1;
    }
}
/* /Components/Pages/GestionDisponibilitesLocaux.razor.rz.scp.css */
.page-disponibilites[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-entete h1[b-txsleagr28] {
    margin: 0.2rem 0 0.35rem;
    font-size: 2rem;
    font-weight: 750;
    color: #0f172a;
}

.page-entete p[b-txsleagr28] {
    margin: 0;
    color: #64748b;
}

.sur-titre[b-txsleagr28] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #64748b;
}


/* =========================================================
   CARTES
   ========================================================= */

.carte[b-txsleagr28] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.carte-entete[b-txsleagr28] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.carte-entete h2[b-txsleagr28] {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 750;
    color: #0f172a;
}

.carte-entete p[b-txsleagr28] {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alerte[b-txsleagr28] {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.alerte-danger[b-txsleagr28] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerte-succes[b-txsleagr28] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}


/* =========================================================
   IMPORT .105
   ========================================================= */

.zone-import[b-txsleagr28] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 1rem;
    align-items: end;
}

.champ-fichier[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.champ-fichier label[b-txsleagr28] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.nom-fichier[b-txsleagr28] {
    margin-top: 0.25rem;
    color: #475569;
    font-size: 0.82rem;
}

.action-import[b-txsleagr28] {
    display: flex;
    justify-content: flex-end;
}

.resume-import[b-txsleagr28] {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.resume-import-titre[b-txsleagr28] {
    margin-bottom: 0.8rem;
    color: #0f172a;
    font-weight: 750;
}

.resume-import-grille[b-txsleagr28] {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 0.7rem;
}

.indicateur-import[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.8rem;
    border-radius: 9px;
    background: #f8fafc;
}

.indicateur-import .valeur[b-txsleagr28] {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}

.indicateur-import .libelle[b-txsleagr28] {
    font-size: 0.72rem;
    color: #64748b;
}


/* =========================================================
   CHAMPS
   ========================================================= */

.barre-filtres[b-txsleagr28] {
    display: flex;
    align-items: end;
    gap: 1rem;
    flex-wrap: wrap;
}

.champ[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.champ label[b-txsleagr28] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.champ select[b-txsleagr28],
.champ input[b-txsleagr28] {
    min-height: 40px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.55rem 0.7rem;
    background: white;
    color: #0f172a;
    outline: none;
}

.champ select:focus[b-txsleagr28],
.champ input:focus[b-txsleagr28] {
    border-color: #64748b;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, 0.12);
}

.champ-local[b-txsleagr28] {
    min-width: 220px;
}

.ajout-local[b-txsleagr28] {
    display: flex;
    gap: 1rem;
    align-items: end;
}

.champ-local-nouveau[b-txsleagr28] {
    min-width: 260px;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-principal[b-txsleagr28],
.btn-secondaire[b-txsleagr28],
.btn-ajouter[b-txsleagr28],
.btn-retirer[b-txsleagr28] {
    border: 0;
    cursor: pointer;
    min-height: 40px;
    padding: 0.65rem 1rem;
    border-radius: 8px;
    font-weight: 700;
}

.btn-principal[b-txsleagr28] {
    background: #0f172a;
    color: white;
}

.btn-principal:hover:not(:disabled)[b-txsleagr28] {
    opacity: 0.9;
}

.btn-secondaire[b-txsleagr28] {
    background: #f1f5f9;
    color: #334155;
}

.btn-ajouter[b-txsleagr28] {
    width: 100%;
    background: #0f172a;
    color: white;
}

.btn-retirer[b-txsleagr28] {
    width: 100%;
    background: #fff1f2;
    color: #be123c;
}

.btn-principal:disabled[b-txsleagr28],
.btn-ajouter:disabled[b-txsleagr28],
.btn-retirer:disabled[b-txsleagr28] {
    opacity: 0.55;
    cursor: default;
}


/* =========================================================
   PÉRIODES
   ========================================================= */

.grille-periodes[b-txsleagr28] {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 1rem;
}

.carte-periode[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.carte-periode-libre[b-txsleagr28] {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.periode-entete[b-txsleagr28] {
    display: flex;
    justify-content: space-between;
    gap: 0.7rem;
    align-items: flex-start;
}

.periode-code[b-txsleagr28] {
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
}

.periode-heure[b-txsleagr28] {
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #64748b;
}

.periode-action[b-txsleagr28] {
    margin-top: 1rem;
}

.badge-libre[b-txsleagr28],
.badge-indisponible[b-txsleagr28] {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 750;
    white-space: nowrap;
}

.badge-libre[b-txsleagr28] {
    background: #dcfce7;
    color: #166534;
}

.badge-indisponible[b-txsleagr28] {
    background: #e2e8f0;
    color: #64748b;
}


/* =========================================================
   RÉSUMÉ DES JOURS
   ========================================================= */

.resume-jours[b-txsleagr28] {
    display: grid;
    grid-template-columns: repeat(9, minmax(90px, 1fr));
    gap: 0.6rem;
}

.resume-jour[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem;
    background: #f8fafc;
    cursor: pointer;
    text-align: left;
}

.resume-jour:hover[b-txsleagr28] {
    background: #f1f5f9;
}

.resume-jour-actif[b-txsleagr28] {
    border-color: #0f172a;
    background: #eef2ff;
}

.resume-jour-numero[b-txsleagr28] {
    color: #0f172a;
    font-weight: 750;
}

.resume-jour-compteur[b-txsleagr28] {
    color: #64748b;
    font-size: 0.72rem;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.etat-vide[b-txsleagr28] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #64748b;
}

.etat-vide strong[b-txsleagr28] {
    color: #334155;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .grille-periodes[b-txsleagr28] {
        grid-template-columns: repeat(2, 1fr);
    }

    .resume-jours[b-txsleagr28] {
        grid-template-columns: repeat(5, 1fr);
    }

    .resume-import-grille[b-txsleagr28] {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (max-width: 700px) {

    .page-entete h1[b-txsleagr28] {
        font-size: 1.6rem;
    }

    .zone-import[b-txsleagr28] {
        grid-template-columns: 1fr;
    }

    .action-import[b-txsleagr28] {
        justify-content: flex-start;
    }

    .resume-import-grille[b-txsleagr28] {
        grid-template-columns: repeat(2, 1fr);
    }

    .grille-periodes[b-txsleagr28] {
        grid-template-columns: 1fr;
    }

    .resume-jours[b-txsleagr28] {
        grid-template-columns: repeat(3, 1fr);
    }

    .ajout-local[b-txsleagr28] {
        flex-direction: column;
        align-items: stretch;
    }

    .champ-local-nouveau[b-txsleagr28] {
        min-width: 0;
    }

    .champ-local[b-txsleagr28] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Pages/GestionModules.razor.rz.scp.css */
.page-modules[b-tnzb2opy6s] {
    max-width: 900px;
}

.entete-modules[b-tnzb2opy6s] {
    margin-bottom: 28px;
}

.entete-modules h1[b-tnzb2opy6s] {
    margin-bottom: 6px;
}

.entete-modules p[b-tnzb2opy6s] {
    color: #6b7280;
    margin: 0;
}

.liste-modules[b-tnzb2opy6s] {
    display: grid;
    gap: 12px;
}

.carte-module[b-tnzb2opy6s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 18px 20px;

    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}

.module-info[b-tnzb2opy6s] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.module-info strong[b-tnzb2opy6s] {
    color: #09163F;
    font-size: 1rem;
}

.module-info span[b-tnzb2opy6s] {
    color: #6b7280;
    font-size: .86rem;
}

.interrupteur[b-tnzb2opy6s] {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
    flex-shrink: 0;
}

.interrupteur input[b-tnzb2opy6s] {
    opacity: 0;
    width: 0;
    height: 0;
}

.curseur[b-tnzb2opy6s] {
    position: absolute;
    inset: 0;

    cursor: pointer;

    background: #cbd5e1;
    border-radius: 999px;

    transition: .2s;
}

.curseur[b-tnzb2opy6s]::before {
    content: "";

    position: absolute;

    width: 22px;
    height: 22px;

    left: 3px;
    top: 3px;

    background: white;
    border-radius: 50%;

    transition: .2s;
}

.interrupteur input:checked + .curseur[b-tnzb2opy6s] {
    background: #9EC56A;
}

.interrupteur input:checked + .curseur[b-tnzb2opy6s]::before {
    transform: translateX(24px);
}

.message-modules[b-tnzb2opy6s] {
    margin-top: 18px;
    padding: 12px 14px;

    background: #f3f4f6;
    border-radius: 10px;

    font-weight: 600;
}
/* /Components/Pages/GestionProfils.razor.rz.scp.css */
.gp-page[b-sjzklofvxu]{max-width:1500px;margin:auto;padding:24px;color:#1b2c52}
.gp-header[b-sjzklofvxu]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}
.gp-header h1[b-sjzklofvxu]{font-size:1.8rem;margin:0}.gp-header p[b-sjzklofvxu],.gp-legende[b-sjzklofvxu]{color:#64748b}
.gp-grid[b-sjzklofvxu]{display:grid;grid-template-columns:minmax(235px,290px) minmax(0,1fr);gap:20px;margin-top:22px;align-items:start}
.gp-page button[b-sjzklofvxu]{cursor:pointer;border:0;border-radius:9px;padding:10px 15px;font-weight:700}
.gp-page button:disabled[b-sjzklofvxu]{opacity:.55;cursor:not-allowed}
.gp-primary[b-sjzklofvxu]{background:#172a63;color:#fff}.gp-secondaire[b-sjzklofvxu]{background:#e2e8f0;color:#172a63}.gp-danger[b-sjzklofvxu]{background:#b42335;color:#fff}
.gp-liste[b-sjzklofvxu],.gp-edition[b-sjzklofvxu]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;box-shadow:0 3px 12px #0f172a08}
.gp-liste-header h2[b-sjzklofvxu]{margin:0 0 12px;font-size:1.1rem}
.gp-liste-header input[b-sjzklofvxu],.gp-identite input[b-sjzklofvxu]{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;background:white}
.gp-profil[b-sjzklofvxu]{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;margin-top:7px;gap:10px;background:#f8fafc;color:#23314d}
.gp-profil strong[b-sjzklofvxu],.gp-profil small[b-sjzklofvxu]{display:block}.gp-profil small[b-sjzklofvxu]{color:#64748b;margin-top:4px}
.gp-profil.gp-selectionne[b-sjzklofvxu]{background:#e8efff;outline:2px solid #809ad1}
.gp-nombre[b-sjzklofvxu]{background:#e2e8f0;padding:4px 9px;border-radius:15px;font-variant-numeric:tabular-nums}
.gp-edition-header[b-sjzklofvxu]{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.gp-edition-header h2[b-sjzklofvxu]{margin:0 0 12px;font-size:1.4rem}
.gp-identite[b-sjzklofvxu]{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin:16px 0}
.gp-identite label[b-sjzklofvxu]{font-weight:700;display:flex;flex-direction:column;gap:7px}
.gp-info[b-sjzklofvxu]{border-left:3px solid #7c91b9;background:#f2f5fb;padding:14px 17px;border-radius:8px;margin-top:15px}
.gp-message[b-sjzklofvxu]{margin-top:14px;background:#ebf9f1;color:#125d3c;padding:12px;border-radius:9px}
.gp-message.gp-error[b-sjzklofvxu]{background:#fff1f2;color:#9f1239}
.gp-groupe[b-sjzklofvxu]{border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow:hidden}
.gp-groupe header[b-sjzklofvxu]{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f1f5f9;padding:13px 16px}
.gp-groupe h3[b-sjzklofvxu]{font-size:1.05rem;margin:0}.gp-groupe header span[b-sjzklofvxu]{color:#64748b}
.gp-droits[b-sjzklofvxu]{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 18px;padding:13px}
.gp-droit[b-sjzklofvxu]{display:flex;align-items:center;gap:10px;padding:8px;color:#334155}
.gp-droit input[b-sjzklofvxu]{width:17px;height:17px;flex:none}
.gp-actions[b-sjzklofvxu]{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.gp-application[b-sjzklofvxu]{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}
.gp-application h3[b-sjzklofvxu]{font-size:1.12rem}.gp-application p[b-sjzklofvxu]{color:#475569}
.gp-confirmation[b-sjzklofvxu]{background:#fff6ee;padding:15px;border:1px solid #f4cb99;border-radius:12px;margin-top:12px}
.gp-protection[b-sjzklofvxu]{background:#f3f4f6;color:#52525b;padding:7px 10px;border-radius:14px;font-size:.8rem}
.gp-tag[b-sjzklofvxu]{background:#e9eff8;color:#374c70;padding:7px 10px;border-radius:14px;font-size:.8rem}
.gp-refus[b-sjzklofvxu],.gp-vide[b-sjzklofvxu]{padding:25px;color:#64748b}
@media(max-width:820px){.gp-page[b-sjzklofvxu]{padding:12px}.gp-grid[b-sjzklofvxu]{grid-template-columns:1fr}.gp-identite[b-sjzklofvxu]{grid-template-columns:1fr}.gp-droits[b-sjzklofvxu]{grid-template-columns:1fr}}
/* /Components/Pages/GestionReservationsLocaux.razor.rz.scp.css */
.page-gestion-reservations[b-6ll3xsrou0] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-entete h1[b-6ll3xsrou0] {
    margin: 0.2rem 0 0.35rem;
    font-size: 2rem;
    font-weight: 750;
    color: #0f172a;
}

.page-entete p[b-6ll3xsrou0] {
    margin: 0;
    color: #64748b;
}

.sur-titre[b-6ll3xsrou0] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #64748b;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alerte[b-6ll3xsrou0] {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.alerte-danger[b-6ll3xsrou0] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerte-succes[b-6ll3xsrou0] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}


/* =========================================================
   SOMMAIRE
   ========================================================= */

.grille-sommaire[b-6ll3xsrou0] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}

.carte-sommaire[b-6ll3xsrou0] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-height: 100px;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: white;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sommaire-libelle[b-6ll3xsrou0] {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}

.sommaire-valeur[b-6ll3xsrou0] {
    margin-top: auto;
    color: #0f172a;
    font-size: 1.8rem;
    line-height: 1;
}


/* =========================================================
   CARTES
   ========================================================= */

.carte[b-6ll3xsrou0] {
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: white;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.carte-entete[b-6ll3xsrou0] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.carte-entete h2[b-6ll3xsrou0] {
    margin: 0;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 750;
}

.carte-entete p[b-6ll3xsrou0] {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
}


/* =========================================================
   FILTRES
   ========================================================= */

.grille-filtres[b-6ll3xsrou0] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.champ[b-6ll3xsrou0] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.champ label[b-6ll3xsrou0] {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 700;
}

.champ input[b-6ll3xsrou0],
.champ select[b-6ll3xsrou0] {
    min-height: 42px;
    padding: 0.55rem 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    background: white;
    color: #0f172a;
}

.champ input:focus[b-6ll3xsrou0],
.champ select:focus[b-6ll3xsrou0] {
    border-color: #64748b;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, 0.12);
}


/* =========================================================
   COMPTEUR
   ========================================================= */

.compteur[b-6ll3xsrou0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 30px;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #0f172a;
    color: white;
    font-size: 0.75rem;
    font-weight: 800;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-responsive[b-6ll3xsrou0] {
    width: 100%;
    overflow-x: auto;
}

.table-reservations[b-6ll3xsrou0] {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.table-reservations th[b-6ll3xsrou0] {
    padding: 0.7rem 0.65rem;
    border-bottom: 1px solid #cbd5e1;
    text-align: left;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.table-reservations td[b-6ll3xsrou0] {
    padding: 0.8rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
    color: #334155;
}

.table-reservations tbody tr:hover[b-6ll3xsrou0] {
    background: #f8fafc;
}

.date-principale[b-6ll3xsrou0] {
    color: #0f172a;
    font-weight: 700;
    white-space: nowrap;
}

.date-secondaire[b-6ll3xsrou0] {
    margin-top: 0.15rem;
    color: #94a3b8;
    font-size: 0.68rem;
}

.local-badge[b-6ll3xsrou0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 0.3rem 0.5rem;
    border-radius: 7px;
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 800;
}

.motif[b-6ll3xsrou0] {
    color: #334155;
}

.commentaire[b-6ll3xsrou0] {
    margin-top: 0.25rem;
    color: #94a3b8;
    font-size: 0.7rem;
    line-height: 1.3;
}


/* =========================================================
   STATUTS
   ========================================================= */

.badge-statut[b-6ll3xsrou0] {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.68rem;
    font-weight: 750;
}

.badge-actif[b-6ll3xsrou0] {
    background: #dcfce7;
    color: #166534;
}

.badge-annule[b-6ll3xsrou0] {
    background: #fee2e2;
    color: #991b1b;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.colonne-actions[b-6ll3xsrou0] {
    width: 90px;
    text-align: right !important;
}

.btn-secondaire[b-6ll3xsrou0],
.btn-annuler[b-6ll3xsrou0],
.btn-danger[b-6ll3xsrou0] {
    min-height: 38px;
    padding: 0.5rem 0.75rem;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
}

.btn-secondaire[b-6ll3xsrou0] {
    background: #f1f5f9;
    color: #334155;
}

.btn-annuler[b-6ll3xsrou0] {
    background: #fff1f2;
    color: #be123c;
}

.btn-annuler:hover:not(:disabled)[b-6ll3xsrou0] {
    background: #ffe4e6;
}

.btn-danger[b-6ll3xsrou0] {
    background: #be123c;
    color: white;
}

.btn-secondaire:disabled[b-6ll3xsrou0],
.btn-annuler:disabled[b-6ll3xsrou0],
.btn-danger:disabled[b-6ll3xsrou0] {
    opacity: 0.55;
    cursor: default;
}

.aucune-action[b-6ll3xsrou0] {
    color: #cbd5e1;
}


/* =========================================================
   CONFIRMATION
   ========================================================= */

.carte-confirmation[b-6ll3xsrou0] {
    border-left: 4px solid #be123c;
    background: #fffafa;
}

.confirmation-contenu[b-6ll3xsrou0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.confirmation-contenu h2[b-6ll3xsrou0] {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.confirmation-contenu p[b-6ll3xsrou0] {
    margin: 0.35rem 0 0;
    color: #64748b;
    font-size: 0.86rem;
}

.confirmation-actions[b-6ll3xsrou0] {
    display: flex;
    flex-shrink: 0;
    gap: 0.6rem;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.etat-vide[b-6ll3xsrou0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #64748b;
}

.etat-vide strong[b-6ll3xsrou0] {
    color: #334155;
}

.etat-icone[b-6ll3xsrou0] {
    margin-bottom: 0.3rem;
    font-size: 1.5rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .grille-sommaire[b-6ll3xsrou0] {
        grid-template-columns: repeat(2, 1fr);
    }

    .grille-filtres[b-6ll3xsrou0] {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 650px) {

    .page-entete h1[b-6ll3xsrou0] {
        font-size: 1.6rem;
    }

    .grille-sommaire[b-6ll3xsrou0] {
        grid-template-columns: 1fr 1fr;
    }

    .grille-filtres[b-6ll3xsrou0] {
        grid-template-columns: 1fr;
    }

    .carte-entete[b-6ll3xsrou0] {
        flex-direction: column;
    }

    .confirmation-contenu[b-6ll3xsrou0] {
        flex-direction: column;
        align-items: stretch;
    }

    .confirmation-actions[b-6ll3xsrou0] {
        flex-direction: column;
    }

    .confirmation-actions button[b-6ll3xsrou0] {
        width: 100%;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.portal-home[b-vjt33u2ea9] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 10px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.portal-home h1[b-vjt33u2ea9] {
    margin-bottom: 8px;
    color: #09163F;
    font-size: 2.6rem;
    font-weight: 700;
}


.welcome[b-vjt33u2ea9] {
    margin-bottom: 28px;
    color: #555;
    font-size: 1.15rem;
}


/* =========================================================
   ABSENCES AUJOURD'HUI
   ========================================================= */

.today-absences-card[b-vjt33u2ea9] {
    overflow: hidden;
    margin-bottom: 30px;
    background: white;
    border: 1px solid #e4e6eb;
    border-top: 5px solid #9EC56A;
    border-radius: 18px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.07);
}


.today-absences-header[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid #e4e6eb;
}


.today-absences-title[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    gap: 14px;
}


.today-absences-icon[b-vjt33u2ea9] {
    display: flex;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: rgba(158, 197, 106, 0.15);
    border-radius: 13px;
    font-size: 1.45rem;
}


.today-absences-title h2[b-vjt33u2ea9] {
    margin: 0;
    color: #09163F;
    font-size: 1.18rem;
    font-weight: 800;
}


.today-absences-title p[b-vjt33u2ea9] {
    margin: 4px 0 0;
    color: #687080;
    font-size: 0.8rem;
}


.absence-count[b-vjt33u2ea9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 78px;
    padding: 8px 12px;
    background: #F5F7FA;
    border-radius: 12px;
}


.absence-count strong[b-vjt33u2ea9] {
    color: #09163F;
    font-size: 1.25rem;
    line-height: 1;
}


.absence-count span[b-vjt33u2ea9] {
    margin-top: 4px;
    color: #687080;
    font-size: 0.68rem;
    font-weight: 700;
}


/* =========================================================
   TABLEAU DES ABSENCES
   ========================================================= */

.today-absences-table-wrapper[b-vjt33u2ea9] {
    width: 100%;
    overflow-x: auto;
}


.today-absences-table[b-vjt33u2ea9] {
    width: 100%;
    border-collapse: collapse;
}


.today-absences-table th[b-vjt33u2ea9] {
    padding: 11px 24px;
    color: #687080;
    background: #F8F9FB;
    border-bottom: 1px solid #e4e6eb;
    font-size: 0.7rem;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}


.today-absences-table td[b-vjt33u2ea9] {
    padding: 14px 24px;
    color: #252A34;
    border-bottom: 1px solid #edf0f4;
    font-size: 0.88rem;
}


.today-absences-table tbody tr:last-child td[b-vjt33u2ea9] {
    border-bottom: 0;
}


.today-absences-table tbody tr:hover[b-vjt33u2ea9] {
    background: #FAFBFD;
}


.employee-cell[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    gap: 11px;
}


.employee-avatar[b-vjt33u2ea9] {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #09163F;
    background: rgba(182, 123, 255, 0.14);
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 900;
}


.employee-cell strong[b-vjt33u2ea9] {
    color: #09163F;
}


.absence-duration[b-vjt33u2ea9] {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    color: #09163F;
    background: rgba(158, 197, 106, 0.15);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
}


/* =========================================================
   AUCUNE ABSENCE
   ========================================================= */

.today-absences-empty[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 100px;
    padding: 22px;
    color: #687080;
}


.today-absences-empty .empty-icon[b-vjt33u2ea9] {
    display: flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #497326;
    background: rgba(158, 197, 106, 0.15);
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 900;
}


.today-absences-empty div[b-vjt33u2ea9] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.today-absences-empty strong[b-vjt33u2ea9] {
    color: #09163F;
    font-size: 0.88rem;
}


.today-absences-empty span[b-vjt33u2ea9] {
    font-size: 0.78rem;
}


/* =========================================================
   MODULES
   ========================================================= */

.portal-grid[b-vjt33u2ea9] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}


.portal-card[b-vjt33u2ea9] {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 180px;
    padding: 28px;

    color: #09163F;
    background: white;
    border: 1px solid #e4e6eb;
    border-radius: 18px;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.08);

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.portal-card:hover[b-vjt33u2ea9] {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.14);
    text-decoration: none;
}


.portal-card .icon[b-vjt33u2ea9] {
    margin-bottom: 16px;
    font-size: 2.3rem;
}


.portal-card .title[b-vjt33u2ea9] {
    margin-bottom: 7px;
    font-size: 1.4rem;
    font-weight: 700;
}


.portal-card .description[b-vjt33u2ea9] {
    color: #687080;
    font-size: 0.95rem;
}


.portal-card:nth-child(1)[b-vjt33u2ea9] {
    border-top: 5px solid #FF6B1B;
}


.portal-card:nth-child(2)[b-vjt33u2ea9] {
    border-top: 5px solid #B67BFF;
}


.portal-card:nth-child(3)[b-vjt33u2ea9] {
    border-top: 5px solid #9EC56A;
}


.portal-card:nth-child(4)[b-vjt33u2ea9] {
    border-top: 5px solid #09163F;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 700px) {

    .portal-grid[b-vjt33u2ea9] {
        grid-template-columns: 1fr;
    }


    .today-absences-header[b-vjt33u2ea9] {
        align-items: flex-start;
        padding: 18px;
    }


    .today-absences-table th[b-vjt33u2ea9],
    .today-absences-table td[b-vjt33u2ea9] {
        padding: 12px 18px;
    }


    .portal-home h1[b-vjt33u2ea9] {
        font-size: 2rem;
    }

}


@media (max-width: 500px) {

    .today-absences-header[b-vjt33u2ea9] {
        flex-direction: column;
    }


    .absence-count[b-vjt33u2ea9] {
        flex-direction: row;
        gap: 5px;
        min-width: 0;
    }

}

/* =========================================================
   ACTIONS RAPIDES
   ========================================================= */

.quick-actions-card[b-vjt33u2ea9] {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.quick-actions-header[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1.25rem;
}

.quick-actions-icon[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 14px;
    background: #f3efff;
    font-size: 1.35rem;
}

.quick-actions-header h2[b-vjt33u2ea9] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
}

.quick-actions-header p[b-vjt33u2ea9] {
    margin: 0.2rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
}

.quick-actions-grid[b-vjt33u2ea9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.85rem;
}

.quick-action[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-height: 82px;
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}

.quick-action:hover[b-vjt33u2ea9] {
    transform: translateY(-2px);
    border-color: rgba(124, 58, 237, 0.28);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    color: inherit;
}

.quick-action-icon[b-vjt33u2ea9] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 12px;
    background: #f8fafc;
    font-size: 1.35rem;
}

.quick-action-content[b-vjt33u2ea9] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.quick-action-content strong[b-vjt33u2ea9] {
    font-size: 0.96rem;
    font-weight: 700;
}

.quick-action-content span[b-vjt33u2ea9] {
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.82rem;
}

.quick-action-arrow[b-vjt33u2ea9] {
    color: #94a3b8;
    font-size: 1.7rem;
    line-height: 1;
}

@media (max-width: 640px) {
    .quick-actions-card[b-vjt33u2ea9] {
        padding: 1rem;
    }

    .quick-actions-grid[b-vjt33u2ea9] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/ImportAchatsMicrosoftList.razor.rz.scp.css */
.import-page[b-30w3tcyfan] {
    max-width: 1500px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.page-header[b-30w3tcyfan] {
    margin-bottom: 22px;
}

.page-header h1[b-30w3tcyfan] {
    margin: 8px 0 4px;
    color: #09163F;
}

.page-header p[b-30w3tcyfan],
.file-content p[b-30w3tcyfan],
.cost-toolbar span[b-30w3tcyfan] {
    color: #697386;
}

.back-link[b-30w3tcyfan] {
    color: #09163F;
    font-weight: 600;
    text-decoration: none;
}

.warning-card[b-30w3tcyfan],
.file-card[b-30w3tcyfan],
.cost-toolbar[b-30w3tcyfan],
.import-confirmation[b-30w3tcyfan],
.issues-card[b-30w3tcyfan],
.access-card[b-30w3tcyfan] {
    background: #fff;
    border: 1px solid #e1e5ec;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,.05);
}

.warning-card[b-30w3tcyfan] {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 18px;
    border-left: 5px solid #B67BFF;
}

.file-card[b-30w3tcyfan] {
    padding: 20px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.file-step[b-30w3tcyfan] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #09163F;
    color: #fff;
    font-weight: 800;
    flex: 0 0 auto;
}

.file-content h2[b-30w3tcyfan] {
    margin: 0 0 4px;
    color: #09163F;
    font-size: 1.15rem;
}

.file-content p[b-30w3tcyfan] {
    margin: 0 0 10px;
}

.file-name[b-30w3tcyfan] {
    display: block;
    margin-top: 8px;
    font-size: .9rem;
    color: #525b6b;
}

.action-bar[b-30w3tcyfan] {
    display: flex;
    justify-content: flex-end;
    margin: 16px 0 22px;
}

.analyze-button[b-30w3tcyfan],
.import-button[b-30w3tcyfan],
.secondary-button[b-30w3tcyfan] {
    border: 0;
    border-radius: 10px;
    padding: 11px 17px;
    font-weight: 700;
    cursor: pointer;
}

.analyze-button[b-30w3tcyfan],
.import-button[b-30w3tcyfan] {
    background: #09163F;
    color: #fff;
}

.secondary-button[b-30w3tcyfan] {
    background: #eef0f5;
    color: #09163F;
}

button:disabled[b-30w3tcyfan] {
    opacity: .5;
    cursor: not-allowed;
}

.message[b-30w3tcyfan] {
    padding: 13px 16px;
    border-radius: 10px;
    margin-bottom: 16px;
    background: #edf7ef;
    color: #235b32;
}

.message.error[b-30w3tcyfan] {
    background: #fff0f0;
    color: #8b2525;
}

.summary-grid[b-30w3tcyfan] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.summary-card[b-30w3tcyfan] {
    background: #fff;
    border: 1px solid #e1e5ec;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.summary-card strong[b-30w3tcyfan] {
    color: #09163F;
    font-size: 1.8rem;
}

.summary-card small[b-30w3tcyfan],
.summary-card span[b-30w3tcyfan] {
    color: #697386;
}

.summary-card.warning[b-30w3tcyfan] {
    border-top: 4px solid #FF6B1B;
}

.summary-card.ready[b-30w3tcyfan] {
    border-top: 4px solid #9EC56A;
}

.summary-card.existing[b-30w3tcyfan] {
    border-top: 4px solid #B67BFF;
}

.issues-card[b-30w3tcyfan] {
    padding: 16px 18px;
    margin-bottom: 16px;
}

.issues-card h2[b-30w3tcyfan] {
    margin: 0 0 10px;
    font-size: 1rem;
}

.issues-card.errors[b-30w3tcyfan] {
    border-left: 5px solid #b73838;
}

.issues-card.warnings[b-30w3tcyfan] {
    border-left: 5px solid #FF6B1B;
}

.issue-row[b-30w3tcyfan] {
    padding: 5px 0;
    font-size: .92rem;
}

.cost-toolbar[b-30w3tcyfan] {
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.cost-toolbar > div[b-30w3tcyfan] {
    display: flex;
    flex-direction: column;
}

.table-container[b-30w3tcyfan] {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #dfe4ec;
    border-radius: 12px;
    background: #fff;
}

.import-table[b-30w3tcyfan] {
    width: 100%;
    min-width: 1250px;
    border-collapse: collapse;
}

.import-table th[b-30w3tcyfan] {
    text-align: left;
    padding: 11px 10px;
    background: #09163F;
    color: white;
    font-size: .86rem;
    white-space: nowrap;
}

.import-table td[b-30w3tcyfan] {
    padding: 10px;
    border-bottom: 1px solid #e8ebf0;
    vertical-align: top;
    font-size: .88rem;
}

.import-table td small[b-30w3tcyfan] {
    display: block;
    margin-top: 3px;
    color: #70798a;
}

.import-table tr.cost-warning:not(.excluded) td[b-30w3tcyfan] {
    background: #fff8ee;
}

.import-table tr.excluded[b-30w3tcyfan] {
    opacity: .48;
}

.money-cell[b-30w3tcyfan] {
    white-space: nowrap;
}

.editable-cost[b-30w3tcyfan] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.editable-cost input[b-30w3tcyfan] {
    width: 115px;
    padding: 7px 8px;
    border: 1px solid #bfc7d4;
    border-radius: 8px;
    text-align: right;
    font-weight: 700;
}

.tiny-button[b-30w3tcyfan] {
    display: block;
    margin-top: 5px;
    padding: 2px 6px;
    border: 1px solid #cdd3dd;
    border-radius: 6px;
    background: white;
    color: #09163F;
    font-size: .75rem;
    cursor: pointer;
}

.problem-badge[b-30w3tcyfan],
.existing-badge[b-30w3tcyfan],
.new-badge[b-30w3tcyfan] {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}

.problem-badge[b-30w3tcyfan] {
    background: #ffe7e7;
    color: #8d2626;
}

.existing-badge[b-30w3tcyfan] {
    background: #f0e7ff;
    color: #5e3c93;
}

.new-badge[b-30w3tcyfan] {
    background: #edf5e8;
    color: #47652e;
}

.import-confirmation[b-30w3tcyfan] {
    margin-top: 18px;
    padding: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.import-confirmation label[b-30w3tcyfan] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 600;
}

.access-card[b-30w3tcyfan] {
    max-width: 650px;
    margin: 50px auto;
    padding: 35px;
    text-align: center;
}

.access-icon[b-30w3tcyfan] {
    font-size: 2.5rem;
}

@media (max-width: 950px) {
    .summary-grid[b-30w3tcyfan] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cost-toolbar[b-30w3tcyfan],
    .import-confirmation[b-30w3tcyfan] {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .summary-grid[b-30w3tcyfan] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/ImportAuditorium.razor.rz.scp.css */
.import-page[b-kmoqaxnl0p] {
    max-width: 900px;
    margin: 0 auto;
    padding: 28px;
}

.page-header[b-kmoqaxnl0p] {
    margin-bottom: 22px;
}

.eyebrow[b-kmoqaxnl0p] {
    color: #FF6B1B;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.page-header h1[b-kmoqaxnl0p] {
    margin: 6px 0;
    color: #09163F;
}

.page-header p[b-kmoqaxnl0p] {
    color: #64748b;
}

.import-card[b-kmoqaxnl0p],
.info-card[b-kmoqaxnl0p] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px;
    margin-bottom: 18px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.import-card h2[b-kmoqaxnl0p],
.info-card h3[b-kmoqaxnl0p] {
    color: #09163F;
    margin-top: 0;
}

.status-box[b-kmoqaxnl0p] {
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f1f5f9;
}

.status-box.success[b-kmoqaxnl0p] {
    background: #eef7e8;
    color: #365314;
}

.status-box.error[b-kmoqaxnl0p] {
    background: #fff1f2;
    color: #9f1239;
}

.result-grid[b-kmoqaxnl0p] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 22px;
}

.result-grid div[b-kmoqaxnl0p] {
    background: #F5F7FA;
    border-radius: 12px;
    padding: 14px;
    text-align: center;
}

.result-grid span[b-kmoqaxnl0p] {
    display: block;
    color: #64748b;
    font-size: .76rem;
}

.result-grid strong[b-kmoqaxnl0p] {
    display: block;
    margin-top: 4px;
    color: #09163F;
    font-size: 1.4rem;
}

.info-card[b-kmoqaxnl0p] {
    border-left: 5px solid #B67BFF;
}

@media (max-width: 700px) {
    .result-grid[b-kmoqaxnl0p] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Pages/ImportTempsCompenseHistorique.razor.rz.scp.css */
.import-page[b-o0vwacz0t8] {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 50px;
}

.page-header[b-o0vwacz0t8] {
    margin-bottom: 20px;
}

.back-link[b-o0vwacz0t8] {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--dlc-muted);
    text-decoration: none;
    font-size: .72rem;
    font-weight: 700;
}

.page-header h1[b-o0vwacz0t8],
.access-card h1[b-o0vwacz0t8] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1.8rem;
    font-weight: 800;
}

.page-header p[b-o0vwacz0t8] {
    margin: 5px 0 0;
    color: var(--dlc-muted);
    font-size: .82rem;
}

.message[b-o0vwacz0t8] {
    margin-bottom: 15px;
    padding: 12px 14px;
    border-radius: 9px;
    font-size: .76rem;
    font-weight: 650;
}

.message.success[b-o0vwacz0t8] {
    color: #23643f;
    background: #eaf6ef;
    border: 1px solid #cce8d7;
}

.message.error[b-o0vwacz0t8] {
    color: #9a2932;
    background: #fcecee;
    border: 1px solid #f2c9ce;
}

.warning-card[b-o0vwacz0t8],
.file-card[b-o0vwacz0t8],
.summary-card[b-o0vwacz0t8],
.result-card[b-o0vwacz0t8],
.issues-card[b-o0vwacz0t8],
.expected-card[b-o0vwacz0t8],
.import-confirmation[b-o0vwacz0t8],
.access-card[b-o0vwacz0t8] {
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 13px;
    box-shadow: var(--dlc-shadow-sm);
}

.warning-card[b-o0vwacz0t8] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 13px 16px;
    border-left: 4px solid #d99a22;
}

.warning-card strong[b-o0vwacz0t8] {
    flex-shrink: 0;
    color: var(--dlc-navy);
    font-size: .76rem;
}

.warning-card span[b-o0vwacz0t8] {
    color: #666e79;
    font-size: .7rem;
    line-height: 1.45;
}

.files-grid[b-o0vwacz0t8],
.summary-grid[b-o0vwacz0t8],
.results-grid[b-o0vwacz0t8] {
    display: grid;
    gap: 12px;
}

.files-grid[b-o0vwacz0t8] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.file-card[b-o0vwacz0t8] {
    display: flex;
    gap: 13px;
    padding: 17px;
}

.file-step[b-o0vwacz0t8] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 9px;
    font-size: .82rem;
    font-weight: 800;
}

.file-content[b-o0vwacz0t8] {
    min-width: 0;
}

.file-content h2[b-o0vwacz0t8] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: .9rem;
    font-weight: 800;
}

.file-content p[b-o0vwacz0t8] {
    margin: 3px 0 12px;
    color: var(--dlc-muted);
    font-size: .68rem;
}

.file-name[b-o0vwacz0t8] {
    display: block;
    margin-top: 8px;
    overflow: hidden;
    color: #58616c;
    font-size: .65rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.action-bar[b-o0vwacz0t8] {
    display: flex;
    justify-content: flex-end;
    margin: 14px 0 18px;
}

.analyze-button[b-o0vwacz0t8],
.import-button[b-o0vwacz0t8] {
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-radius: 9px;
    font-size: .73rem;
    font-weight: 800;
    cursor: pointer;
}

.analyze-button[b-o0vwacz0t8] {
    color: var(--dlc-navy);
    background: #eef1f7;
    border: 1px solid #d9dee7;
}

.import-button[b-o0vwacz0t8] {
    color: white;
    background: var(--dlc-navy);
}

.analyze-button:disabled[b-o0vwacz0t8],
.import-button:disabled[b-o0vwacz0t8] {
    opacity: .45;
    cursor: not-allowed;
}

.summary-grid[b-o0vwacz0t8] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 12px;
}

.summary-card[b-o0vwacz0t8] {
    display: flex;
    flex-direction: column;
    padding: 14px 15px;
    border-top: 4px solid var(--dlc-navy);
}

.summary-card.bank[b-o0vwacz0t8] { border-top-color: #4f6fa7; }
.summary-card.payable[b-o0vwacz0t8] { border-top-color: #9ec56a; }
.summary-card.paid[b-o0vwacz0t8] { border-top-color: #51946b; }

.summary-card span[b-o0vwacz0t8],
.result-card span[b-o0vwacz0t8] {
    color: #7b838e;
    font-size: .62rem;
    font-weight: 750;
    text-transform: uppercase;
}

.summary-card strong[b-o0vwacz0t8],
.result-card strong[b-o0vwacz0t8] {
    margin-top: 4px;
    color: var(--dlc-navy);
    font-size: 1.25rem;
    font-weight: 800;
}

.summary-card small[b-o0vwacz0t8],
.result-card small[b-o0vwacz0t8] {
    margin-top: 2px;
    color: #7b838e;
    font-size: .64rem;
}

.results-grid[b-o0vwacz0t8] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 12px;
}

.result-card[b-o0vwacz0t8] {
    display: flex;
    flex-direction: column;
    padding: 13px 15px;
}

.result-card.ready[b-o0vwacz0t8] { background: #f4f7fb; }
.result-card.duplicate[b-o0vwacz0t8] { background: #f8f8f8; }
.result-card.ok[b-o0vwacz0t8] { background: #eaf6ef; }
.result-card.problem[b-o0vwacz0t8] { background: #fcecee; }
.result-card.warning[b-o0vwacz0t8] { background: #fff5df; }

.issues-card[b-o0vwacz0t8] {
    margin-bottom: 12px;
    overflow: hidden;
}

.issues-card h2[b-o0vwacz0t8] {
    margin: 0;
    padding: 12px 15px;
    color: var(--dlc-navy);
    border-bottom: 1px solid var(--dlc-border);
    font-size: .78rem;
    font-weight: 800;
}

.issues-card.errors[b-o0vwacz0t8] { border-left: 4px solid #b73a46; }
.issues-card.warnings[b-o0vwacz0t8] { border-left: 4px solid #d99a22; }

.issue-row[b-o0vwacz0t8] {
    padding: 9px 15px;
    color: #59616c;
    border-bottom: 1px solid #edf0f3;
    font-size: .68rem;
}

.issue-row:last-child[b-o0vwacz0t8] { border-bottom: 0; }

.expected-card[b-o0vwacz0t8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
    padding: 15px 17px;
}

.expected-card > div:first-child[b-o0vwacz0t8] {
    display: flex;
    flex-direction: column;
}

.expected-card strong[b-o0vwacz0t8] {
    color: var(--dlc-navy);
    font-size: .76rem;
}

.expected-card span[b-o0vwacz0t8] {
    margin-top: 3px;
    color: #757d88;
    font-size: .67rem;
}

.expected-value[b-o0vwacz0t8] {
    color: #276b46;
    font-size: 1.25rem;
    font-weight: 850;
    white-space: nowrap;
}

.import-confirmation[b-o0vwacz0t8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 17px;
}

.import-confirmation label[b-o0vwacz0t8] {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #535c67;
    font-size: .7rem;
    font-weight: 650;
}

.access-card[b-o0vwacz0t8] {
    max-width: 540px;
    margin: 80px auto;
    padding: 30px;
    text-align: center;
}

.access-icon[b-o0vwacz0t8] {
    font-size: 2rem;
}

.access-card p[b-o0vwacz0t8] {
    color: var(--dlc-muted);
    font-size: .76rem;
}

.access-card a[b-o0vwacz0t8] {
    color: var(--dlc-navy);
    font-size: .72rem;
    font-weight: 750;
}

@media (max-width: 900px) {
    .files-grid[b-o0vwacz0t8],
    .summary-grid[b-o0vwacz0t8],
    .results-grid[b-o0vwacz0t8] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .files-grid[b-o0vwacz0t8],
    .summary-grid[b-o0vwacz0t8],
    .results-grid[b-o0vwacz0t8] {
        grid-template-columns: 1fr;
    }

    .import-confirmation[b-o0vwacz0t8],
    .expected-card[b-o0vwacz0t8],
    .warning-card[b-o0vwacz0t8] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Components/Pages/MesReservationsLocaux.razor.rz.scp.css */
.page-reservations[b-rjz6wzwgj6] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-entete h1[b-rjz6wzwgj6] {
    margin: 0.2rem 0 0.35rem;
    font-size: 2rem;
    font-weight: 750;
    color: #0f172a;
}

.page-entete p[b-rjz6wzwgj6] {
    margin: 0;
    color: #64748b;
}

.sur-titre[b-rjz6wzwgj6] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #64748b;
}


/* =========================================================
   CARTES
   ========================================================= */

.carte[b-rjz6wzwgj6] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.carte-entete[b-rjz6wzwgj6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.carte-entete h2[b-rjz6wzwgj6] {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 750;
    color: #0f172a;
}

.carte-entete p[b-rjz6wzwgj6] {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alerte[b-rjz6wzwgj6] {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.alerte-danger[b-rjz6wzwgj6] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerte-succes[b-rjz6wzwgj6] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}


/* =========================================================
   COMPTEUR
   ========================================================= */

.compteur[b-rjz6wzwgj6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 30px;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: #0f172a;
    color: white;
    font-size: 0.78rem;
    font-weight: 800;
}

.compteur-secondaire[b-rjz6wzwgj6] {
    background: #e2e8f0;
    color: #475569;
}


/* =========================================================
   LISTE DES RÉSERVATIONS
   ========================================================= */

.liste-reservations[b-rjz6wzwgj6] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.reservation-card[b-rjz6wzwgj6] {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.reservation-date[b-rjz6wzwgj6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    background: #0f172a;
    color: white;
}

.date-jour[b-rjz6wzwgj6] {
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 850;
}

.date-mois[b-rjz6wzwgj6] {
    margin-top: 0.3rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.reservation-contenu[b-rjz6wzwgj6] {
    padding: 1rem;
}

.reservation-ligne-principale[b-rjz6wzwgj6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.local[b-rjz6wzwgj6] {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.moment[b-rjz6wzwgj6] {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.8rem;
}

.badge-active[b-rjz6wzwgj6] {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 0.7rem;
    font-weight: 750;
}


/* =========================================================
   DÉTAILS
   ========================================================= */

.reservation-details[b-rjz6wzwgj6] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 0.8rem 1rem;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid #f1f5f9;
}

.detail[b-rjz6wzwgj6] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.detail-commentaire[b-rjz6wzwgj6] {
    grid-column: 1 / -1;
}

.detail-label[b-rjz6wzwgj6] {
    color: #94a3b8;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.detail-valeur[b-rjz6wzwgj6] {
    color: #334155;
    font-size: 0.85rem;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.reservation-actions[b-rjz6wzwgj6] {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.btn-annuler[b-rjz6wzwgj6],
.btn-secondaire[b-rjz6wzwgj6],
.btn-danger[b-rjz6wzwgj6] {
    border: 0;
    cursor: pointer;
    min-height: 38px;
    padding: 0.55rem 0.85rem;
    border-radius: 8px;
    font-weight: 700;
}

.btn-annuler[b-rjz6wzwgj6] {
    background: #fff1f2;
    color: #be123c;
}

.btn-annuler:hover:not(:disabled)[b-rjz6wzwgj6] {
    background: #ffe4e6;
}

.btn-secondaire[b-rjz6wzwgj6] {
    background: #f1f5f9;
    color: #334155;
}

.btn-danger[b-rjz6wzwgj6] {
    background: #be123c;
    color: white;
}

.btn-annuler:disabled[b-rjz6wzwgj6],
.btn-secondaire:disabled[b-rjz6wzwgj6],
.btn-danger:disabled[b-rjz6wzwgj6] {
    opacity: 0.55;
    cursor: default;
}


/* =========================================================
   CONFIRMATION
   ========================================================= */

.carte-confirmation[b-rjz6wzwgj6] {
    border-left: 4px solid #be123c;
    background: #fffafa;
}

.confirmation-contenu[b-rjz6wzwgj6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
}

.confirmation-contenu h2[b-rjz6wzwgj6] {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.confirmation-contenu p[b-rjz6wzwgj6] {
    margin: 0.35rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
}

.confirmation-actions[b-rjz6wzwgj6] {
    display: flex;
    gap: 0.6rem;
    flex-shrink: 0;
}


/* =========================================================
   HISTORIQUE
   ========================================================= */

.table-responsive[b-rjz6wzwgj6] {
    width: 100%;
    overflow-x: auto;
}

.table-historique[b-rjz6wzwgj6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.table-historique th[b-rjz6wzwgj6] {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid #cbd5e1;
    text-align: left;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.table-historique td[b-rjz6wzwgj6] {
    padding: 0.8rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    color: #334155;
}

.table-historique tbody tr:hover[b-rjz6wzwgj6] {
    background: #f8fafc;
}

.historique-date[b-rjz6wzwgj6] {
    color: #0f172a;
    font-weight: 700;
    white-space: nowrap;
}

.historique-jour[b-rjz6wzwgj6] {
    margin-top: 0.1rem;
    color: #94a3b8;
    font-size: 0.7rem;
}


/* =========================================================
   ÉTATS VIDES
   ========================================================= */

.etat-vide[b-rjz6wzwgj6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #64748b;
}

.etat-vide strong[b-rjz6wzwgj6] {
    color: #334155;
}

.etat-vide-compact[b-rjz6wzwgj6] {
    padding: 1.5rem 1rem;
}

.etat-icone[b-rjz6wzwgj6] {
    margin-bottom: 0.35rem;
    font-size: 1.5rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 750px) {

    .page-entete h1[b-rjz6wzwgj6] {
        font-size: 1.6rem;
    }

    .reservation-card[b-rjz6wzwgj6] {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .reservation-date[b-rjz6wzwgj6] {
        min-height: 170px;
    }

    .reservation-ligne-principale[b-rjz6wzwgj6] {
        flex-direction: column;
    }

    .reservation-details[b-rjz6wzwgj6] {
        grid-template-columns: 1fr;
    }

    .detail-commentaire[b-rjz6wzwgj6] {
        grid-column: auto;
    }

    .confirmation-contenu[b-rjz6wzwgj6] {
        flex-direction: column;
        align-items: stretch;
    }

    .confirmation-actions[b-rjz6wzwgj6] {
        justify-content: flex-end;
    }
}


@media (max-width: 500px) {

    .reservation-card[b-rjz6wzwgj6] {
        grid-template-columns: 1fr;
    }

    .reservation-date[b-rjz6wzwgj6] {
        flex-direction: row;
        gap: 0.4rem;
        min-height: 45px;
    }

    .date-jour[b-rjz6wzwgj6] {
        font-size: 1rem;
    }

    .date-mois[b-rjz6wzwgj6] {
        margin-top: 0;
    }

    .reservation-actions[b-rjz6wzwgj6] {
        justify-content: stretch;
    }

    .reservation-actions button[b-rjz6wzwgj6] {
        width: 100%;
    }

    .confirmation-actions[b-rjz6wzwgj6] {
        flex-direction: column;
    }

    .confirmation-actions button[b-rjz6wzwgj6] {
        width: 100%;
    }
}
/* /Components/Pages/ModifierEvenementAuditorium.razor.rz.scp.css */
.event-page[b-o8so05yibw] {
    max-width: 950px;
    margin: 0 auto;
    padding: 28px;
}

.page-header[b-o8so05yibw] {
    margin-bottom: 22px;
}

.eyebrow[b-o8so05yibw] {
    color: #FF6B1B;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.page-header h1[b-o8so05yibw] {
    margin: 6px 0;
    color: #09163F;
}

.page-header p[b-o8so05yibw] {
    color: #64748b;
}

.form-card[b-o8so05yibw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
}

.field[b-o8so05yibw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field.full[b-o8so05yibw] {
    grid-column: 1 / -1;
}

.field label[b-o8so05yibw] {
    color: #09163F;
    font-weight: 700;
}

.field input[b-o8so05yibw],
.field select[b-o8so05yibw],
.field textarea[b-o8so05yibw] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 10px 12px;
    font: inherit;
    box-sizing: border-box;
}

.checkbox-field label[b-o8so05yibw] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.checkbox-field input[b-o8so05yibw] {
    width: auto;
}

.actions[b-o8so05yibw] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
}

.action-spacer[b-o8so05yibw] {
    flex: 1;
}

.save-button[b-o8so05yibw],
.secondary-button[b-o8so05yibw],
.cancel-event-button[b-o8so05yibw] {
    border-radius: 9px;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 700;
}

.save-button[b-o8so05yibw] {
    border: 0;
    background: #09163F;
    color: white;
}

.secondary-button[b-o8so05yibw] {
    border: 1px solid #cbd5e1;
    background: white;
    color: #09163F;
}

.cancel-event-button[b-o8so05yibw] {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #9f1239;
}

.message[b-o8so05yibw] {
    margin-bottom: 16px;
    border-radius: 10px;
    padding: 12px 14px;
}

.message.error[b-o8so05yibw] {
    background: #fff1f2;
    color: #9f1239;
}

@media (max-width: 700px) {
    .form-card[b-o8so05yibw] {
        grid-template-columns: 1fr;
    }

    .field.full[b-o8so05yibw],
    .actions[b-o8so05yibw] {
        grid-column: 1;
    }
}
/* /Components/Pages/NouvelEvenementAuditorium.razor.rz.scp.css */
.event-page[b-60omj9b511] {
    max-width: 950px;
    margin: 0 auto;
    padding: 28px;
}

.page-header[b-60omj9b511] {
    margin-bottom: 22px;
}

.eyebrow[b-60omj9b511] {
    color: #FF6B1B;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.page-header h1[b-60omj9b511] {
    margin: 6px 0;
    color: #09163F;
}

.page-header p[b-60omj9b511] {
    margin: 0;
    color: #64748b;
}

.form-card[b-60omj9b511] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.field[b-60omj9b511] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field.full[b-60omj9b511] {
    grid-column: 1 / -1;
}

.field label[b-60omj9b511] {
    color: #09163F;
    font-weight: 700;
}

.field input[b-60omj9b511],
.field select[b-60omj9b511],
.field textarea[b-60omj9b511] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 10px 12px;
    font: inherit;
    box-sizing: border-box;
}

.checkbox-field label[b-60omj9b511] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.checkbox-field input[b-60omj9b511] {
    width: auto;
}

.actions[b-60omj9b511] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 10px;
}

.save-button[b-60omj9b511],
.secondary-button[b-60omj9b511] {
    border-radius: 9px;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 700;
}

.save-button[b-60omj9b511] {
    border: 0;
    background: #09163F;
    color: white;
}

.secondary-button[b-60omj9b511] {
    border: 1px solid #cbd5e1;
    background: white;
    color: #09163F;
}

.message[b-60omj9b511] {
    margin-bottom: 16px;
    border-radius: 10px;
    padding: 12px 14px;
}

.message.error[b-60omj9b511] {
    background: #fff1f2;
    color: #9f1239;
}

@media (max-width: 700px) {
    .form-card[b-60omj9b511] {
        grid-template-columns: 1fr;
    }

    .field.full[b-60omj9b511],
    .actions[b-60omj9b511] {
        grid-column: 1;
    }
}
/* /Components/Pages/NouvelleAbsence.razor.rz.scp.css */
/* =========================================================
   NOUVELLE ABSENCE — AGORA
   ========================================================= */


.page-header[b-6aont1zund] {
    margin-bottom: 24px;
}


.back-link[b-6aont1zund] {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--dlc-muted);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}


.back-link:hover[b-6aont1zund] {
    color: var(--dlc-navy);
}


.page-header h1[b-6aont1zund] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
}


.page-header p[b-6aont1zund] {
    margin: 6px 0 0;
    color: var(--dlc-muted);
}


/* =========================================================
   MESSAGE
   ========================================================= */


.alert-box[b-6aont1zund] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
    border-radius: var(--dlc-radius);
    font-size: .86rem;
    font-weight: 600;
}


.alert-box.error[b-6aont1zund] {
    color: var(--dlc-danger-dark);
    background: var(--dlc-danger-bg);
    border: 1px solid rgba(220, 53, 69, .16);
}


/* =========================================================
   CARTES
   ========================================================= */


.form-card[b-6aont1zund] {
    padding: 24px;
    margin-bottom: 18px;
    background: var(--dlc-surface);
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-lg);
    box-shadow: var(--dlc-shadow-sm);
}


.card-header[b-6aont1zund] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}


.step-number[b-6aont1zund] {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 50%;
    font-size: .85rem;
    font-weight: 800;
}


.card-header h2[b-6aont1zund] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1.05rem;
    font-weight: 800;
}


.card-header p[b-6aont1zund] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: .78rem;
}


/* =========================================================
   CHAMPS
   ========================================================= */


.form-grid[b-6aont1zund] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


.field[b-6aont1zund] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}


.field.full-width[b-6aont1zund] {
    grid-column: 1 / -1;
}


.field label[b-6aont1zund] {
    color: var(--dlc-text);
    font-size: .78rem;
    font-weight: 800;
}


.required[b-6aont1zund] {
    color: var(--dlc-danger);
}


.field input[b-6aont1zund],
.field select[b-6aont1zund],
.field textarea[b-6aont1zund],
.work-period textarea[b-6aont1zund] {
    width: 100%;
    padding: 11px 12px;
    color: var(--dlc-text);
    background: white;
    border: 1px solid var(--dlc-border-dark);
    border-radius: var(--dlc-radius-sm);
    font: inherit;
    font-size: .86rem;
    outline: none;
    transition: var(--dlc-transition);
}


.field input:focus[b-6aont1zund],
.field select:focus[b-6aont1zund],
.field textarea:focus[b-6aont1zund],
.work-period textarea:focus[b-6aont1zund] {
    border-color: var(--dlc-purple);
    box-shadow: 0 0 0 3px rgba(182, 123, 255, .12);
}


textarea[b-6aont1zund] {
    resize: vertical;
}


/* =========================================================
   PÉRIODES
   ========================================================= */


.period-grid[b-6aont1zund] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}


.period-card[b-6aont1zund] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 18px 12px;
    cursor: pointer;
    background: #F8F9FB;
    border: 2px solid var(--dlc-border);
    border-radius: var(--dlc-radius);
    transition: var(--dlc-transition);
}


.period-card:hover[b-6aont1zund] {
    border-color: rgba(182, 123, 255, .55);
}


.period-card.selected[b-6aont1zund] {
    background: rgba(182, 123, 255, .08);
    border-color: var(--dlc-purple);
}


.period-card input[b-6aont1zund] {
    position: absolute;
    opacity: 0;
}


.period-number[b-6aont1zund] {
    color: var(--dlc-navy);
    font-size: 1.3rem;
    font-weight: 900;
}


.period-label[b-6aont1zund] {
    color: var(--dlc-muted);
    font-size: .72rem;
    font-weight: 700;
}


/* =========================================================
   TRAVAIL
   ========================================================= */


.work-list[b-6aont1zund] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}


.work-period[b-6aont1zund] {
    padding: 16px;
    background: #FAFBFD;
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius);
}


.work-title[b-6aont1zund] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: var(--dlc-navy);
    font-size: .85rem;
}


.period-pill[b-6aont1zund] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    color: var(--dlc-navy);
    background: rgba(182, 123, 255, .15);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
}


/* =========================================================
   DURÉE PNE
   ========================================================= */


.duration-grid[b-6aont1zund] {
    display: grid;
    grid-template-columns: 150px 30px 150px;
    align-items: end;
    gap: 8px;
}


.duration-separator[b-6aont1zund] {
    padding-bottom: 10px;
    color: var(--dlc-muted);
    font-size: 1.4rem;
    font-weight: 800;
    text-align: center;
}


.duration-summary[b-6aont1zund] {
    display: inline-flex;
    gap: 6px;
    margin-top: 16px;
    padding: 9px 12px;
    color: var(--dlc-navy);
    background: var(--dlc-info-bg);
    border-radius: var(--dlc-radius-sm);
    font-size: .8rem;
}


/* =========================================================
   FICHIER
   ========================================================= */


.upload-zone[b-6aont1zund] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: #FAFBFD;
    border: 1px dashed var(--dlc-border-dark);
    border-radius: var(--dlc-radius);
}


.upload-icon[b-6aont1zund] {
    font-size: 1.6rem;
}


.upload-content[b-6aont1zund] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}


.upload-content strong[b-6aont1zund] {
    color: var(--dlc-navy);
    font-size: .86rem;
}


.upload-content span[b-6aont1zund] {
    color: var(--dlc-muted);
    font-size: .72rem;
}


.upload-content input[b-6aont1zund] {
    margin-top: 5px;
    font-size: .76rem;
}


.selected-file[b-6aont1zund] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin-top: 12px;
    background: var(--dlc-success-bg);
    border-radius: var(--dlc-radius-sm);
}


.selected-file div[b-6aont1zund] {
    display: flex;
    flex: 1;
    flex-direction: column;
}


.selected-file strong[b-6aont1zund] {
    color: var(--dlc-text);
    font-size: .8rem;
}


.selected-file small[b-6aont1zund] {
    color: var(--dlc-muted);
}


.remove-file[b-6aont1zund] {
    padding: 6px 9px;
    color: var(--dlc-danger);
    cursor: pointer;
    background: transparent;
    border: 0;
    font-size: .75rem;
    font-weight: 800;
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */


.summary-card[b-6aont1zund] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 22px;
    margin-top: 22px;
    background: var(--dlc-navy);
    border-radius: var(--dlc-radius-lg);
    box-shadow: var(--dlc-shadow);
}


.summary-card > div[b-6aont1zund] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.summary-label[b-6aont1zund] {
    color: rgba(255, 255, 255, .65);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}


.summary-card strong[b-6aont1zund] {
    color: white;
    font-size: .9rem;
}


/* =========================================================
   ACTIONS
   ========================================================= */


.actions[b-6aont1zund] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 22px 0 8px;
}


.primary-button[b-6aont1zund],
.secondary-button[b-6aont1zund] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: var(--dlc-radius);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--dlc-transition);
}


.primary-button[b-6aont1zund] {
    color: white;
    cursor: pointer;
    background: var(--dlc-navy);
    border: 0;
}


.primary-button:hover:not(:disabled)[b-6aont1zund] {
    background: var(--dlc-navy-light);
}


.primary-button:disabled[b-6aont1zund] {
    cursor: wait;
    opacity: .65;
}


.secondary-button[b-6aont1zund] {
    color: var(--dlc-navy);
    background: white;
    border: 1px solid var(--dlc-border-dark);
}


.secondary-button:hover[b-6aont1zund] {
    color: var(--dlc-navy);
    background: #F8F9FB;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */


@media (max-width: 750px) {

    .form-grid[b-6aont1zund] {
        grid-template-columns: 1fr;
    }


    .period-grid[b-6aont1zund] {
        grid-template-columns: repeat(2, 1fr);
    }


    .duration-grid[b-6aont1zund] {
        grid-template-columns: 1fr 24px 1fr;
    }


    .summary-card[b-6aont1zund] {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 480px) {

    .period-grid[b-6aont1zund] {
        grid-template-columns: 1fr 1fr;
    }


    .form-card[b-6aont1zund] {
        padding: 18px;
    }


    .actions[b-6aont1zund] {
        flex-direction: column-reverse;
    }


    .primary-button[b-6aont1zund],
    .secondary-button[b-6aont1zund] {
        width: 100%;
    }

}
/* /Components/Pages/NouvelleDemandeAchat.razor.rz.scp.css */
.page-header[b-0tngzj6671] {
    margin-bottom: 25px;
}

.back-link[b-0tngzj6671] {
    display: inline-block;
    margin-bottom: 12px;
    color: #687080;
    text-decoration: none;
}

.back-link:hover[b-0tngzj6671] {
    color: #09163F;
    text-decoration: none;
}

.page-header h1[b-0tngzj6671] {
    color: #09163F;
    font-weight: 700;
    margin: 0;
    font-size: 2.4rem;
}

.page-header p[b-0tngzj6671] {
    color: #687080;
    margin-top: 6px;
}


/* CONTENEUR PRINCIPAL */

.form-card[b-0tngzj6671] {
    background: white;
    border: 1px solid #e4e6eb;
    border-radius: 18px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}


/* SECTIONS */

.form-section[b-0tngzj6671] {
    padding: 28px;
    border-bottom: 1px solid #e8eaed;
}

.form-section h2[b-0tngzj6671] {
    color: #09163F;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.form-section p[b-0tngzj6671] {
    color: #687080;
    margin: 4px 0 0;
}


/* GRILLE INFORMATIONS GÉNÉRALES */

.form-grid[b-0tngzj6671] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}


/* CHAMPS */

.form-group[b-0tngzj6671] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.form-group label[b-0tngzj6671] {
    color: #343a40;
    font-weight: 600;
    font-size: 0.95rem;
}

.form-group input[b-0tngzj6671],
.form-group select[b-0tngzj6671],
.form-group textarea[b-0tngzj6671] {
    width: 100%;
    border: 1px solid #ccd1d8;
    border-radius: 9px;
    padding: 11px 12px;
    font-size: 1rem;
    background: white;
    color: #212529;
    box-sizing: border-box;
}

.form-group textarea[b-0tngzj6671] {
    resize: vertical;
}

.form-group input:focus[b-0tngzj6671],
.form-group select:focus[b-0tngzj6671],
.form-group textarea:focus[b-0tngzj6671] {
    outline: none;
    border-color: #09163F;
    box-shadow: 0 0 0 3px rgba(9, 22, 63, 0.08);
}

.full-width[b-0tngzj6671] {
    width: 100%;
}


/* EN-TÊTE DES SECTIONS */

.section-header[b-0tngzj6671] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.section-header h2[b-0tngzj6671] {
    margin-bottom: 0;
}


/* BOUTON AJOUTER */

.add-button[b-0tngzj6671] {
    border: 1px solid #09163F;
    background: white;
    color: #09163F;
    padding: 10px 16px;
    border-radius: 9px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
}

.add-button:hover[b-0tngzj6671] {
    background: #09163F;
    color: white;
}


/* CARTE ARTICLE */

.article-card[b-0tngzj6671] {
    border: 1px solid #dfe3e8;
    border-radius: 14px;
    padding: 22px;
    background: #fafbfc;
}

.article-card + .article-card[b-0tngzj6671] {
    margin-top: 20px;
}

.article-number[b-0tngzj6671] {
    font-weight: 700;
    color: #09163F;
    font-size: 1.05rem;
}


/* GRILLE DES ARTICLES */

.article-grid[b-0tngzj6671] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.span-2[b-0tngzj6671] {
    grid-column: span 2;
}

.span-3[b-0tngzj6671] {
    grid-column: span 3;
}


/* PRIX */

.money-input[b-0tngzj6671] {
    position: relative;
}

.money-input input[b-0tngzj6671] {
    padding-right: 35px;
}

.money-input span[b-0tngzj6671] {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: #687080;
    pointer-events: none;
}


/* SOUS-TOTAL */

.subtotal[b-0tngzj6671] {
    min-height: 47px;
    display: flex;
    align-items: center;
    padding: 11px 12px;
    background: #f1f3f5;
    border-radius: 9px;
    font-weight: 700;
    color: #09163F;
    box-sizing: border-box;
}


/* SUPPRIMER ARTICLE */

.remove-button[b-0tngzj6671] {
    border: none;
    background: transparent;
    color: #b42318;
    font-weight: 600;
    cursor: pointer;
    padding: 6px 10px;
}

.remove-button:hover[b-0tngzj6671] {
    text-decoration: underline;
}


/* PIED DU FORMULAIRE */

.form-footer[b-0tngzj6671] {
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: #fafbfc;
}


/* TOTAL */

.total[b-0tngzj6671] {
    display: flex;
    flex-direction: column;
}

.total span[b-0tngzj6671] {
    color: #687080;
    font-size: 0.9rem;
}

.total strong[b-0tngzj6671] {
    color: #09163F;
    font-size: 1.6rem;
}


/* ACTIONS */

.form-actions[b-0tngzj6671] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cancel-button[b-0tngzj6671] {
    color: #687080;
    text-decoration: none;
    padding: 11px 18px;
    border-radius: 9px;
}

.cancel-button:hover[b-0tngzj6671] {
    color: #09163F;
    background: #f1f3f5;
    text-decoration: none;
}

.submit-button[b-0tngzj6671] {
    border: none;
    background: #09163F;
    color: white;
    padding: 12px 20px;
    border-radius: 9px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
}

.submit-button:hover[b-0tngzj6671] {
    opacity: 0.9;
}


/* TABLETTE */

@media (max-width: 900px) {

    .form-grid[b-0tngzj6671] {
        grid-template-columns: 1fr;
    }

    .article-grid[b-0tngzj6671] {
        grid-template-columns: repeat(2, 1fr);
    }

    .span-2[b-0tngzj6671],
    .span-3[b-0tngzj6671] {
        grid-column: span 2;
    }

}


/* MOBILE */

@media (max-width: 600px) {

    .page-header h1[b-0tngzj6671] {
        font-size: 2rem;
    }

    .form-section[b-0tngzj6671] {
        padding: 20px;
    }

    .article-grid[b-0tngzj6671] {
        grid-template-columns: 1fr;
    }

    .span-2[b-0tngzj6671],
    .span-3[b-0tngzj6671] {
        grid-column: span 1;
    }

    .section-header[b-0tngzj6671] {
        flex-direction: column;
        align-items: flex-start;
    }

    .add-button[b-0tngzj6671] {
        width: 100%;
    }

    .form-footer[b-0tngzj6671] {
        flex-direction: column;
        align-items: stretch;
    }

    .form-actions[b-0tngzj6671] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .cancel-button[b-0tngzj6671],
    .submit-button[b-0tngzj6671] {
        width: 100%;
        text-align: center;
    }
}
/* /Components/Pages/NouvelleDemandeTempsCompense.razor.rz.scp.css */
/* =========================================================
   AGORA — DÉCLARATION / REPRISE DE TEMPS
   ========================================================= */

.time-page[b-952krnep77] {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 50px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.page-header[b-952krnep77] {
    margin-bottom: 24px;
}

.back-link[b-952krnep77] {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--dlc-muted);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 650;
    transition:
        color 150ms ease,
        transform 150ms ease;
}

.back-link:hover[b-952krnep77] {
    color: var(--dlc-navy);
    transform: translateX(-2px);
}

.page-header h1[b-952krnep77] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.page-header p[b-952krnep77] {
    margin: 5px 0 0;
    color: var(--dlc-muted);
    font-size: 0.88rem;
}

.page-header p strong[b-952krnep77] {
    color: var(--dlc-navy);
}


/* =========================================================
   MESSAGES
   ========================================================= */

.message[b-952krnep77] {
    margin-bottom: 20px;
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 0.87rem;
    font-weight: 650;
}

.message.success[b-952krnep77] {
    color: #25603B;
    background: #ECF7F0;
    border: 1px solid #C7E6D1;
}

.message.error[b-952krnep77] {
    color: #A3212D;
    background: #FDECEF;
    border: 1px solid #F1C4CA;
}


/* =========================================================
   SOLDES
   ========================================================= */

.balance-grid[b-952krnep77] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.balance-card[b-952krnep77] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 18px 19px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 13px;
    box-shadow: var(--dlc-shadow-sm);
}

.balance-card.bank[b-952krnep77] {
    border-top: 4px solid var(--dlc-navy);
}

.balance-card.pending[b-952krnep77] {
    border-top: 4px solid #D79A24;
}

.balance-card.available[b-952krnep77] {
    border-top: 4px solid var(--dlc-lime);
}

.balance-label[b-952krnep77] {
    color: var(--dlc-muted);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.balance-value[b-952krnep77] {
    margin-top: 5px;
    color: var(--dlc-navy);
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.balance-note[b-952krnep77] {
    margin-top: 3px;
    color: #8A919C;
    font-size: 0.72rem;
}


/* =========================================================
   CARTE
   ========================================================= */

.form-card[b-952krnep77] {
    margin-bottom: 18px;
    padding: 21px 22px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 14px;
    box-shadow: var(--dlc-shadow-sm);
}


/* =========================================================
   TITRES
   ========================================================= */

.section-heading[b-952krnep77] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.section-number[b-952krnep77] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 800;
}

.section-heading h2[b-952krnep77] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1.05rem;
    font-weight: 800;
}

.section-heading p[b-952krnep77] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.76rem;
}


/* =========================================================
   TYPE
   ========================================================= */

.type-selector[b-952krnep77] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.type-button[b-952krnep77] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 76px;
    padding: 14px 16px;
    color: var(--dlc-text);
    background: #FAFBFC;
    border: 1px solid #DDE1E7;
    border-radius: 11px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        box-shadow 150ms ease,
        transform 150ms ease;
}

.type-button:hover[b-952krnep77] {
    border-color: #BAC2CF;
    transform: translateY(-1px);
}

.type-button.selected[b-952krnep77] {
    color: var(--dlc-navy);
    background: #F1F3F8;
    border: 2px solid var(--dlc-navy);
    box-shadow: 0 0 0 3px rgba(9, 22, 63, 0.05);
}

.type-icon[b-952krnep77] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 10px;
    font-size: 1.4rem;
}

.type-content[b-952krnep77] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.type-content strong[b-952krnep77] {
    font-size: 0.9rem;
}

.type-content small[b-952krnep77] {
    color: var(--dlc-muted);
    font-size: 0.72rem;
}


/* =========================================================
   FORMULAIRE
   ========================================================= */

.form-grid[b-952krnep77] {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        minmax(110px, 0.5fr)
        minmax(110px, 0.5fr);
    gap: 14px;
}

.form-group[b-952krnep77] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.form-group label[b-952krnep77],
.mode-title[b-952krnep77] {
    color: #3F4753;
    font-size: 0.76rem;
    font-weight: 750;
}

.form-group input[b-952krnep77],
.form-group select[b-952krnep77],
.form-group textarea[b-952krnep77] {
    width: 100%;
    box-sizing: border-box;
    color: var(--dlc-text);
    background: white;
    border: 1px solid #CDD3DC;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.88rem;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

.form-group input[b-952krnep77],
.form-group select[b-952krnep77] {
    height: 42px;
    padding: 0 11px;
}

.form-group textarea[b-952krnep77] {
    min-height: 90px;
    padding: 10px 11px;
    line-height: 1.45;
    resize: vertical;
}

.form-group input:focus[b-952krnep77],
.form-group select:focus[b-952krnep77],
.form-group textarea:focus[b-952krnep77] {
    outline: none;
    border-color: var(--dlc-navy);
    box-shadow: 0 0 0 3px rgba(9, 22, 63, 0.08);
}


/* =========================================================
   APPROBATEUR
   ========================================================= */

.approver-section[b-952krnep77] {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--dlc-border);
}

.field-help[b-952krnep77] {
    margin-top: 1px;
    color: var(--dlc-muted);
    font-size: 0.7rem;
}


/* =========================================================
   MODE
   ========================================================= */

.mode-section[b-952krnep77] {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--dlc-border);
}

.mode-title[b-952krnep77] {
    display: block;
    margin-bottom: 9px;
}

.mode-selector[b-952krnep77] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.mode-button[b-952krnep77] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 68px;
    padding: 13px 14px;
    color: var(--dlc-text);
    background: #FAFBFC;
    border: 1px solid #DDE1E7;
    border-radius: 9px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.mode-button.selected[b-952krnep77] {
    background: #F2F5FA;
    border: 2px solid var(--dlc-navy);
}

.mode-dot[b-952krnep77] {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-top: 3px;
    background: white;
    border: 2px solid #A9B0BB;
    border-radius: 50%;
}

.mode-button.selected .mode-dot[b-952krnep77] {
    background: var(--dlc-navy);
    border: 3px solid white;
    box-shadow: 0 0 0 2px var(--dlc-navy);
}

.mode-button span:last-child[b-952krnep77] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mode-button strong[b-952krnep77] {
    color: var(--dlc-navy);
    font-size: 0.85rem;
}

.mode-button small[b-952krnep77] {
    color: var(--dlc-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}


/* =========================================================
   REPRISE
   ========================================================= */

.reprise-information[b-952krnep77] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 20px;
    padding: 13px 14px;
    color: #425068;
    background: #F1F5FB;
    border: 1px solid #D8E1F0;
    border-radius: 9px;
}

.reprise-information strong[b-952krnep77] {
    color: var(--dlc-navy);
    font-size: 0.8rem;
}

.reprise-information p[b-952krnep77] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.74rem;
}


/* =========================================================
   COMMENTAIRE
   ========================================================= */

.comment-section[b-952krnep77] {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--dlc-border);
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.summary-card[b-952krnep77] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 16px 18px;
    color: white;
    background: linear-gradient(
        135deg,
        var(--dlc-navy) 0%,
        var(--dlc-navy-light) 100%
    );
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(9, 22, 63, 0.12);
}

.summary-left[b-952krnep77] {
    display: flex;
    flex-direction: column;
}

.summary-label[b-952krnep77] {
    margin-bottom: 3px;
    color: rgba(255,255,255,0.65);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.summary-left strong[b-952krnep77] {
    font-size: 0.95rem;
}

.summary-left > span[b-952krnep77] {
    margin-top: 2px;
    color: rgba(255,255,255,0.72);
    font-size: 0.72rem;
}

.summary-approver[b-952krnep77] {
    margin-top: 5px !important;
}

.summary-time[b-952krnep77] {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    flex-shrink: 0;
}

.summary-time span[b-952krnep77] {
    color: rgba(255,255,255,0.65);
    font-size: 0.68rem;
}

.summary-time strong[b-952krnep77] {
    margin-top: 1px;
    font-size: 1.4rem;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.form-actions[b-952krnep77] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.cancel-button[b-952krnep77],
.submit-button[b-952krnep77] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 16px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 750;
    text-decoration: none;
}

.cancel-button[b-952krnep77] {
    color: var(--dlc-muted);
    background: white;
    border: 1px solid var(--dlc-border-dark);
}

.submit-button[b-952krnep77] {
    gap: 15px;
    min-width: 180px;
    color: white;
    background: var(--dlc-navy);
    border: 1px solid var(--dlc-navy);
    cursor: pointer;
}

.submit-button:disabled[b-952krnep77] {
    cursor: wait;
    opacity: 0.6;
}


/* =========================================================
   ACCÈS REFUSÉ
   ========================================================= */

.access-denied[b-952krnep77] {
    padding: 60px 20px;
    text-align: center;
}

.access-icon[b-952krnep77] {
    margin-bottom: 12px;
    font-size: 2.5rem;
}

.access-denied h2[b-952krnep77] {
    color: var(--dlc-navy);
}

.access-denied p[b-952krnep77] {
    color: var(--dlc-muted);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 850px) {

    .balance-grid[b-952krnep77] {
        grid-template-columns: 1fr;
    }

    .form-grid[b-952krnep77] {
        grid-template-columns: 1fr 1fr;
    }

    .form-grid .form-group:first-child[b-952krnep77] {
        grid-column: 1 / -1;
    }
}


@media (max-width: 600px) {

    .page-header h1[b-952krnep77] {
        font-size: 1.65rem;
    }

    .type-selector[b-952krnep77],
    .mode-selector[b-952krnep77],
    .form-grid[b-952krnep77] {
        grid-template-columns: 1fr;
    }

    .form-grid .form-group:first-child[b-952krnep77] {
        grid-column: auto;
    }

    .form-card[b-952krnep77] {
        padding: 18px 16px;
    }

    .summary-card[b-952krnep77] {
        align-items: flex-start;
        flex-direction: column;
    }

    .summary-time[b-952krnep77] {
        align-items: flex-start;
    }

    .form-actions[b-952krnep77] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .cancel-button[b-952krnep77],
    .submit-button[b-952krnep77] {
        width: 100%;
    }
}
/* /Components/Pages/Organisation.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — MES DEMANDES
   ========================================================= */

:deep(.container)[b-nesct9gi07] {
    max-width: 1500px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-nesct9gi07] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-nesct9gi07] {
    color: #64748b !important;
}


/* =========================================================
   BOUTON PRINCIPAL
   ========================================================= */

.btn-primary[b-nesct9gi07] {
    background-color: #0f172a;
    border-color: #0f172a;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.65rem 1.05rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-nesct9gi07],
.btn-primary:focus[b-nesct9gi07] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}


/* =========================================================
   CARTES
   ========================================================= */

.card[b-nesct9gi07] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-nesct9gi07] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-nesct9gi07] {
    padding: 1.5rem;
}


/* =========================================================
   TITRES DES BLOCS
   ========================================================= */

.card h2[b-nesct9gi07] {
    color: #0f172a;
    font-weight: 700;
}

.card h2[b-nesct9gi07]::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 20px;
    margin-right: 10px;
    border-radius: 4px;
    background: #0f172a;
    vertical-align: -3px;
}


/* =========================================================
   TABLEAUX
   ========================================================= */

.table[b-nesct9gi07] {
    --bs-table-bg: transparent;
    margin-bottom: 0;
}

.table thead th[b-nesct9gi07] {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e8f0;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}

.table tbody td[b-nesct9gi07] {
    color: #334155;
    border-color: #eef2f7;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.table tbody tr[b-nesct9gi07] {
    transition: background-color 0.15s ease;
}

.table tbody tr:hover[b-nesct9gi07] {
    background-color: #f8fafc;
}

.table strong[b-nesct9gi07] {
    color: #0f172a;
}


/* =========================================================
   STATUTS
   ========================================================= */

.badge.text-bg-light[b-nesct9gi07] {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
    font-weight: 600;
    padding: 0.5rem 0.7rem;
    border-radius: 999px;
}


/* =========================================================
   ÉTATS VIDES
   ========================================================= */

.card .text-muted.py-3[b-nesct9gi07] {
    background-color: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 1.25rem !important;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-nesct9gi07] {
    border-radius: 12px;
    border: 0;
}

.alert-warning[b-nesct9gi07] {
    background-color: #fff7ed;
    color: #9a3412;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .card-body[b-nesct9gi07] {
        padding: 1.1rem;
    }

    .btn-primary[b-nesct9gi07] {
        width: 100%;
    }

    .table thead[b-nesct9gi07] {
        font-size: 0.72rem;
    }
}
/* /Components/Pages/OrganisationApprobations.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — APPROBATIONS
   ========================================================= */

:deep(.container-fluid)[b-onzk4a9dld] {
    max-width: 1750px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-onzk4a9dld] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-onzk4a9dld] {
    color: #64748b !important;
}


/* =========================================================
   CARTES
   ========================================================= */

.card[b-onzk4a9dld] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-onzk4a9dld] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-onzk4a9dld] {
    padding: 1.5rem;
}

.card h2[b-onzk4a9dld] {
    color: #0f172a;
    font-weight: 700;
}

.card h3[b-onzk4a9dld] {
    color: #0f172a;
    font-weight: 700;
}


/* =========================================================
   FILTRES
   ========================================================= */

.form-label[b-onzk4a9dld] {
    color: #334155;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.form-control[b-onzk4a9dld],
.form-select[b-onzk4a9dld] {
    min-height: 44px;
    border-color: #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    background-color: #ffffff;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

textarea.form-control[b-onzk4a9dld] {
    min-height: auto;
}

.form-control:focus[b-onzk4a9dld],
.form-select:focus[b-onzk4a9dld] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-control[b-onzk4a9dld]::placeholder {
    color: #94a3b8;
}


/* =========================================================
   BADGES
   ========================================================= */

.badge[b-onzk4a9dld] {
    border-radius: 999px;
    font-weight: 600;
    padding: 0.45rem 0.7rem;
}

.badge.text-bg-light[b-onzk4a9dld] {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
}

.badge.text-bg-success[b-onzk4a9dld] {
    background-color: #dcfce7 !important;
    color: #166534 !important;
}

.badge.text-bg-warning[b-onzk4a9dld] {
    background-color: #fef3c7 !important;
    color: #92400e !important;
}

.badge.text-bg-secondary[b-onzk4a9dld] {
    background-color: #e2e8f0 !important;
    color: #475569 !important;
}


/* =========================================================
   RÉSUMÉ DE L'ACTIVITÉ
   ========================================================= */

.fw-semibold[b-onzk4a9dld] {
    color: #0f172a;
}

.alert-light[b-onzk4a9dld] {
    background-color: #f8fafc;
    color: #334155;
    border-color: #e2e8f0 !important;
    border-radius: 12px;
}


/* =========================================================
   BLOC COÛTS
   ========================================================= */

.border.rounded[b-onzk4a9dld] {
    border-color: #e2e8f0 !important;
    border-radius: 12px !important;
    background-color: #fbfdff;
}


/* =========================================================
   BLOCS D'ÉTAPES
   ========================================================= */

.row.g-4 > div > .border[b-onzk4a9dld] {
    border-color: #e2e8f0 !important;
    border-radius: 14px !important;
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
}

.row.g-4 > div > .border[b-onzk4a9dld]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-color: #0f172a;
}

.row.g-4 h3[b-onzk4a9dld] {
    padding-top: 0.2rem;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-primary[b-onzk4a9dld] {
    background-color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.65rem 1.05rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-onzk4a9dld],
.btn-primary:focus[b-onzk4a9dld] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}

.btn-outline-primary[b-onzk4a9dld] {
    color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-primary:hover[b-onzk4a9dld],
.btn-outline-primary:focus[b-onzk4a9dld] {
    color: #ffffff;
    background-color: #0f172a;
    border-color: #0f172a;
}

.btn-outline-secondary[b-onzk4a9dld] {
    color: #475569;
    border-color: #cbd5e1;
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-secondary:hover[b-onzk4a9dld],
.btn-outline-secondary:focus[b-onzk4a9dld] {
    color: #0f172a;
    background-color: #f8fafc;
    border-color: #94a3b8;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-onzk4a9dld] {
    border-radius: 12px;
}

.alert-success[b-onzk4a9dld] {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.alert-danger[b-onzk4a9dld] {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-warning[b-onzk4a9dld] {
    background-color: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}


/* =========================================================
   CARTES D'ACTIVITÉ
   ========================================================= */

.card.mb-4[b-onzk4a9dld] {
    position: relative;
}

.card.mb-4[b-onzk4a9dld]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: #0f172a;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    .card-body[b-onzk4a9dld] {
        padding: 1.3rem;
    }

    .row.g-4 > div > .border[b-onzk4a9dld] {
        min-height: auto;
    }
}


@media (max-width: 767.98px) {

    .card[b-onzk4a9dld] {
        border-radius: 14px;
    }

    .card-body[b-onzk4a9dld] {
        padding: 1.1rem;
    }

    .btn-primary[b-onzk4a9dld],
    .btn-outline-primary[b-onzk4a9dld],
    .btn-outline-secondary[b-onzk4a9dld] {
        width: 100%;
    }

    .d-flex.justify-content-between[b-onzk4a9dld] {
        align-items: stretch !important;
    }
}
/* /Components/Pages/OrganisationNouveauTransport.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — TRANSPORT SEULEMENT
   ========================================================= */

:deep(.container)[b-e22v82r4u8] {
    max-width: 1350px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-e22v82r4u8] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-e22v82r4u8] {
    color: #64748b !important;
}

.btn-link[b-e22v82r4u8] {
    color: #475569;
    font-weight: 600;
}

.btn-link:hover[b-e22v82r4u8],
.btn-link:focus[b-e22v82r4u8] {
    color: #0f172a;
}


/* =========================================================
   CARTES / SECTIONS
   ========================================================= */

.card[b-e22v82r4u8] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-e22v82r4u8] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-e22v82r4u8] {
    padding: 1.6rem !important;
}

.card h2[b-e22v82r4u8] {
    color: #0f172a;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.card h2[b-e22v82r4u8]::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 22px;
    border-radius: 999px;
    background-color: #0f172a;
    flex: 0 0 auto;
}


/* =========================================================
   FORMULAIRES
   ========================================================= */

.form-label[b-e22v82r4u8] {
    color: #334155;
    font-weight: 600;
    font-size: 0.92rem;
    margin-bottom: 0.4rem;
}

.form-control[b-e22v82r4u8],
.form-select[b-e22v82r4u8] {
    border-color: #cbd5e1;
    border-radius: 10px;
    min-height: 44px;
    color: #0f172a;
    background-color: #ffffff;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

textarea.form-control[b-e22v82r4u8] {
    min-height: auto;
}

.form-control:focus[b-e22v82r4u8],
.form-select:focus[b-e22v82r4u8] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-control[b-e22v82r4u8]::placeholder {
    color: #94a3b8;
}

.form-control:disabled[b-e22v82r4u8] {
    background-color: #f8fafc;
    color: #475569;
}

.form-text[b-e22v82r4u8] {
    color: #64748b;
    font-size: 0.8rem;
}


/* =========================================================
   BLOC PASSAGERS
   ========================================================= */

input[disabled][b-e22v82r4u8] {
    font-weight: 700;
}


/* =========================================================
   TYPE DE TRANSPORT
   ========================================================= */

.form-select[b-e22v82r4u8] {
    cursor: pointer;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-primary[b-e22v82r4u8] {
    background-color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.65rem 1.05rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-e22v82r4u8],
.btn-primary:focus[b-e22v82r4u8] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}

.btn-outline-secondary[b-e22v82r4u8] {
    border-radius: 10px;
    font-weight: 600;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-e22v82r4u8] {
    border-radius: 12px;
}

.alert-warning[b-e22v82r4u8] {
    background-color: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}

.alert-danger[b-e22v82r4u8] {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-info[b-e22v82r4u8] {
    background-color: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}


/* =========================================================
   PETITS DÉTAILS VISUELS
   ========================================================= */

.card:nth-of-type(5)[b-e22v82r4u8] {
    position: relative;
}

.card:nth-of-type(5)[b-e22v82r4u8]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background-color: #0f172a;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .card-body[b-e22v82r4u8] {
        padding: 1.3rem !important;
    }
}


@media (max-width: 767.98px) {

    .card[b-e22v82r4u8] {
        border-radius: 14px;
    }

    .card-body[b-e22v82r4u8] {
        padding: 1.1rem !important;
    }

    .d-flex.justify-content-end[b-e22v82r4u8] {
        flex-direction: column;
    }

    .d-flex.justify-content-end .btn[b-e22v82r4u8] {
        width: 100%;
    }
}
/* /Components/Pages/OrganisationNouvelle.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — NOUVELLE DEMANDE
   ========================================================= */

:deep(.container)[b-cxd9gmac76] {
    max-width: 1250px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-cxd9gmac76] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-cxd9gmac76] {
    color: #64748b !important;
}

.btn-link[b-cxd9gmac76] {
    color: #475569;
    font-weight: 600;
}

.btn-link:hover[b-cxd9gmac76],
.btn-link:focus[b-cxd9gmac76] {
    color: #0f172a;
}


/* =========================================================
   CARTES DE CHOIX
   ========================================================= */

.card[b-cxd9gmac76] {
    border-radius: 18px;
    overflow: hidden;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.card.shadow-sm[b-cxd9gmac76] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 10px 30px rgba(15, 23, 42, 0.07) !important;
}

.card:hover[b-cxd9gmac76] {
    transform: translateY(-3px);
    box-shadow:
        0 4px 8px rgba(15, 23, 42, 0.05),
        0 16px 36px rgba(15, 23, 42, 0.11) !important;
}

.card-body[b-cxd9gmac76] {
    padding: 2rem !important;
}


/* =========================================================
   ICÔNES
   ========================================================= */

.fs-1[b-cxd9gmac76] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background-color: #f1f5f9;
    margin-bottom: 1.25rem !important;
}


/* =========================================================
   TITRES
   ========================================================= */

.card h2[b-cxd9gmac76] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.01em;
}


/* =========================================================
   LISTES
   ========================================================= */

.card ul[b-cxd9gmac76] {
    padding-left: 1.2rem;
    color: #475569;
}

.card li[b-cxd9gmac76] {
    margin-bottom: 0.45rem;
}

.card li[b-cxd9gmac76]::marker {
    color: #0f172a;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-primary[b-cxd9gmac76] {
    background-color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.7rem 1.1rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-cxd9gmac76],
.btn-primary:focus[b-cxd9gmac76] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-cxd9gmac76] {
    border-radius: 12px;
    border: 0;
}

.alert-warning[b-cxd9gmac76] {
    background-color: #fff7ed;
    color: #9a3412;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .card-body[b-cxd9gmac76] {
        padding: 1.5rem !important;
    }
}


@media (max-width: 767.98px) {

    .fs-1[b-cxd9gmac76] {
        width: 56px;
        height: 56px;
        border-radius: 14px;
    }

    .btn-primary[b-cxd9gmac76] {
        width: 100%;
    }
}
/* /Components/Pages/OrganisationNouvelleActivite.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — NOUVELLE ACTIVITÉ
   ========================================================= */

:deep(.container)[b-zfz31teqqg] {
    max-width: 1450px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-zfz31teqqg] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-zfz31teqqg] {
    color: #64748b !important;
}

.btn-link[b-zfz31teqqg] {
    color: #475569;
    font-weight: 600;
}

.btn-link:hover[b-zfz31teqqg],
.btn-link:focus[b-zfz31teqqg] {
    color: #0f172a;
}


/* =========================================================
   CARTES / SECTIONS
   ========================================================= */

.card[b-zfz31teqqg] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-zfz31teqqg] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-zfz31teqqg] {
    padding: 1.6rem !important;
}

.card h2[b-zfz31teqqg] {
    color: #0f172a;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.card h2[b-zfz31teqqg]::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 22px;
    border-radius: 999px;
    background-color: #0f172a;
    flex: 0 0 auto;
}


/* =========================================================
   FORMULAIRES
   ========================================================= */

.form-label[b-zfz31teqqg] {
    color: #334155;
    font-weight: 600;
    font-size: 0.92rem;
    margin-bottom: 0.4rem;
}

.form-control[b-zfz31teqqg],
.form-select[b-zfz31teqqg] {
    border-color: #cbd5e1;
    border-radius: 10px;
    min-height: 44px;
    color: #0f172a;
    background-color: #ffffff;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

textarea.form-control[b-zfz31teqqg] {
    min-height: auto;
}

.form-control:focus[b-zfz31teqqg],
.form-select:focus[b-zfz31teqqg] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-control[b-zfz31teqqg]::placeholder {
    color: #94a3b8;
}

.form-text[b-zfz31teqqg] {
    color: #64748b;
    font-size: 0.8rem;
}


/* =========================================================
   CHECKBOX / SWITCH
   ========================================================= */

.form-check-input[b-zfz31teqqg] {
    border-color: #94a3b8;
}

.form-check-input:checked[b-zfz31teqqg] {
    background-color: #0f172a;
    border-color: #0f172a;
}

.form-check-input:focus[b-zfz31teqqg] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-switch .form-check-input[b-zfz31teqqg] {
    width: 2.75rem;
    height: 1.4rem;
    cursor: pointer;
}

.form-switch .form-check-label[b-zfz31teqqg] {
    color: #0f172a;
}


/* =========================================================
   ACCOMPAGNATEURS
   ========================================================= */

.table[b-zfz31teqqg] {
    --bs-table-bg: transparent;
    margin-bottom: 0;
}

.table thead th[b-zfz31teqqg] {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom-color: #e2e8f0;
    vertical-align: middle;
}

.table tbody td[b-zfz31teqqg] {
    border-color: #eef2f7;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    vertical-align: middle;
}

.table tbody tr:hover[b-zfz31teqqg] {
    background-color: #f8fafc;
}


/* =========================================================
   COÛTS
   ========================================================= */

.input-group-text[b-zfz31teqqg] {
    background-color: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
    font-weight: 600;
    border-radius: 0 10px 10px 0;
}

dl dt[b-zfz31teqqg] {
    color: #475569;
    font-weight: 600;
}

dl dd[b-zfz31teqqg] {
    color: #0f172a;
}


/* =========================================================
   TRANSPORT
   ========================================================= */

#transport-requis + .form-check-label[b-zfz31teqqg] {
    font-size: 1rem;
}

.alert-light[b-zfz31teqqg] {
    background-color: #f8fafc;
    color: #334155;
    border-color: #e2e8f0 !important;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-primary[b-zfz31teqqg] {
    background-color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.65rem 1.05rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-zfz31teqqg],
.btn-primary:focus[b-zfz31teqqg] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}

.btn-outline-primary[b-zfz31teqqg] {
    color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-primary:hover[b-zfz31teqqg],
.btn-outline-primary:focus[b-zfz31teqqg] {
    color: #ffffff;
    background-color: #0f172a;
    border-color: #0f172a;
}

.btn-outline-secondary[b-zfz31teqqg] {
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-danger[b-zfz31teqqg] {
    border-radius: 9px;
    font-weight: 600;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-zfz31teqqg] {
    border-radius: 12px;
}

.alert-danger[b-zfz31teqqg] {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-info[b-zfz31teqqg] {
    background-color: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}


/* =========================================================
   SÉPARATEURS
   ========================================================= */

hr[b-zfz31teqqg] {
    border-color: #e2e8f0;
    opacity: 1;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .card-body[b-zfz31teqqg] {
        padding: 1.3rem !important;
    }
}


@media (max-width: 767.98px) {

    .card[b-zfz31teqqg] {
        border-radius: 14px;
    }

    .card-body[b-zfz31teqqg] {
        padding: 1.1rem !important;
    }

    .d-flex.justify-content-end[b-zfz31teqqg] {
        flex-direction: column;
    }

    .d-flex.justify-content-end .btn[b-zfz31teqqg] {
        width: 100%;
    }

    .table-responsive[b-zfz31teqqg] {
        margin-left: -0.25rem;
        margin-right: -0.25rem;
    }
}
/* /Components/Pages/OrganisationSuivi.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — SUIVI ADMINISTRATIF
   ========================================================= */

:deep(.container-fluid)[b-sksh3kp0o6] {
    max-width: 1750px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-sksh3kp0o6] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-sksh3kp0o6] {
    color: #64748b !important;
}


/* =========================================================
   CARTES
   ========================================================= */

.card[b-sksh3kp0o6] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-sksh3kp0o6] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-sksh3kp0o6] {
    padding: 1.5rem;
}


/* =========================================================
   FILTRES
   ========================================================= */

.form-label[b-sksh3kp0o6] {
    color: #334155;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.form-control[b-sksh3kp0o6],
.form-select[b-sksh3kp0o6] {
    min-height: 44px;
    border-color: #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    background-color: #ffffff;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.form-control:focus[b-sksh3kp0o6],
.form-select:focus[b-sksh3kp0o6] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-control[b-sksh3kp0o6]::placeholder {
    color: #94a3b8;
}


/* =========================================================
   INDICATEURS
   ========================================================= */

.row.g-3.mb-4 .card[b-sksh3kp0o6] {
    position: relative;
}

.row.g-3.mb-4 .card[b-sksh3kp0o6]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-color: #0f172a;
}

.fs-3[b-sksh3kp0o6] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table[b-sksh3kp0o6] {
    --bs-table-bg: transparent;
    margin-bottom: 0;
}

.table thead th[b-sksh3kp0o6] {
    color: #475569;
    font-size: 0.77rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e8f0;
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
    white-space: nowrap;
}

.table tbody td[b-sksh3kp0o6] {
    color: #334155;
    border-color: #eef2f7;
    padding-top: 1rem;
    padding-bottom: 1rem;
    vertical-align: middle;
}

.table tbody tr[b-sksh3kp0o6] {
    transition: background-color 0.15s ease;
}

.table tbody tr:hover[b-sksh3kp0o6] {
    background-color: #f8fafc;
}

.table strong[b-sksh3kp0o6] {
    color: #0f172a;
}


/* =========================================================
   BADGES
   ========================================================= */

.badge[b-sksh3kp0o6] {
    border-radius: 999px;
    font-weight: 600;
    padding: 0.45rem 0.7rem;
}

.badge.text-bg-light[b-sksh3kp0o6] {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
}

.badge.text-bg-primary[b-sksh3kp0o6] {
    background-color: #0f172a !important;
    color: #ffffff !important;
}

.badge.text-bg-secondary[b-sksh3kp0o6] {
    background-color: #e2e8f0 !important;
    color: #334155 !important;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-outline-secondary[b-sksh3kp0o6] {
    color: #475569;
    border-color: #cbd5e1;
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-secondary:hover[b-sksh3kp0o6],
.btn-outline-secondary:focus[b-sksh3kp0o6] {
    color: #0f172a;
    background-color: #f8fafc;
    border-color: #94a3b8;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-sksh3kp0o6] {
    border-radius: 12px;
}

.alert-warning[b-sksh3kp0o6] {
    background-color: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.card .text-muted.py-4[b-sksh3kp0o6] {
    background-color: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 1.25rem !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    .card-body[b-sksh3kp0o6] {
        padding: 1.3rem;
    }
}


@media (max-width: 767.98px) {

    .card[b-sksh3kp0o6] {
        border-radius: 14px;
    }

    .card-body[b-sksh3kp0o6] {
        padding: 1.1rem;
    }

    .btn-outline-secondary[b-sksh3kp0o6] {
        width: 100%;
    }

    .table thead th[b-sksh3kp0o6] {
        font-size: 0.72rem;
    }
}
/* /Components/Pages/OrganisationTransports.razor.rz.scp.css */
/* =========================================================
   ORGANISATION D'ACTIVITÉS — TRAITEMENT DES TRANSPORTS
   ========================================================= */

:deep(.container-fluid)[b-gwpssljypy] {
    max-width: 1700px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

h1[b-gwpssljypy] {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.text-muted[b-gwpssljypy] {
    color: #64748b !important;
}


/* =========================================================
   CARTES
   ========================================================= */

.card[b-gwpssljypy] {
    border-radius: 16px;
    overflow: hidden;
}

.card.shadow-sm[b-gwpssljypy] {
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.card-body[b-gwpssljypy] {
    padding: 1.5rem;
}


/* =========================================================
   FILTRES
   ========================================================= */

.form-label[b-gwpssljypy] {
    color: #334155;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.form-control[b-gwpssljypy],
.form-select[b-gwpssljypy] {
    min-height: 44px;
    border-color: #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    background-color: #ffffff;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.form-control:focus[b-gwpssljypy],
.form-select:focus[b-gwpssljypy] {
    border-color: #0f172a;
    box-shadow: 0 0 0 0.18rem rgba(15, 23, 42, 0.10);
}

.form-control[b-gwpssljypy]::placeholder {
    color: #94a3b8;
}

.form-control:disabled[b-gwpssljypy],
.form-select:disabled[b-gwpssljypy] {
    background-color: #f8fafc;
    color: #64748b;
}


/* =========================================================
   CARTES DE DEMANDE
   ========================================================= */

.card h2[b-gwpssljypy] {
    color: #0f172a;
    font-weight: 700;
}

.card h3[b-gwpssljypy] {
    color: #0f172a;
    font-weight: 700;
}

.card > .card-body > .d-flex:first-child[b-gwpssljypy] {
    padding-bottom: 0.25rem;
}


/* =========================================================
   BADGES
   ========================================================= */

.badge[b-gwpssljypy] {
    border-radius: 999px;
    font-weight: 600;
    padding: 0.45rem 0.7rem;
}

.badge.text-bg-light[b-gwpssljypy] {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
}

.badge.text-bg-secondary[b-gwpssljypy] {
    background-color: #e2e8f0 !important;
    color: #334155 !important;
}

.badge.text-bg-info[b-gwpssljypy] {
    background-color: #e0f2fe !important;
    color: #075985 !important;
}


/* =========================================================
   INFORMATIONS DE LA DEMANDE
   ========================================================= */

.fw-semibold[b-gwpssljypy] {
    color: #0f172a;
}

.small.text-muted[b-gwpssljypy] {
    color: #64748b !important;
}


/* =========================================================
   CONSIGNES
   ========================================================= */

.alert-light[b-gwpssljypy] {
    background-color: #f8fafc;
    color: #334155;
    border-color: #e2e8f0 !important;
    border-radius: 12px;
}


/* =========================================================
   TRAITEMENT ADMINISTRATIF
   ========================================================= */

.border-top[b-gwpssljypy] {
    border-color: #e2e8f0 !important;
}

.border-top h3[b-gwpssljypy]::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 18px;
    margin-right: 8px;
    border-radius: 999px;
    background-color: #0f172a;
    vertical-align: -3px;
}


/* =========================================================
   COÛT
   ========================================================= */

.input-group-text[b-gwpssljypy] {
    background-color: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
    font-weight: 600;
    border-radius: 0 10px 10px 0;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.btn-primary[b-gwpssljypy] {
    background-color: #0f172a;
    border-color: #0f172a;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.65rem 1.05rem;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.btn-primary:hover[b-gwpssljypy],
.btn-primary:focus[b-gwpssljypy] {
    background-color: #1e293b;
    border-color: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}

.btn-outline-secondary[b-gwpssljypy] {
    color: #475569;
    border-color: #cbd5e1;
    border-radius: 10px;
    font-weight: 600;
}

.btn-outline-secondary:hover[b-gwpssljypy],
.btn-outline-secondary:focus[b-gwpssljypy] {
    color: #0f172a;
    background-color: #f8fafc;
    border-color: #94a3b8;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alert[b-gwpssljypy] {
    border-radius: 12px;
}

.alert-success[b-gwpssljypy] {
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.alert-danger[b-gwpssljypy] {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-warning[b-gwpssljypy] {
    background-color: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}


/* =========================================================
   SÉPARATEURS VISUELS ENTRE DEMANDES
   ========================================================= */

.card.mb-4[b-gwpssljypy] {
    position: relative;
}

.card.mb-4[b-gwpssljypy]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: #0f172a;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    .card-body[b-gwpssljypy] {
        padding: 1.3rem;
    }
}


@media (max-width: 767.98px) {

    .card[b-gwpssljypy] {
        border-radius: 14px;
    }

    .card-body[b-gwpssljypy] {
        padding: 1.1rem;
    }

    .btn-primary[b-gwpssljypy],
    .btn-outline-secondary[b-gwpssljypy] {
        width: 100%;
    }

    .d-flex.justify-content-between[b-gwpssljypy] {
        align-items: stretch !important;
    }
}
/* /Components/Pages/PaiementsTempsCompense.razor.rz.scp.css */
/* =========================================================
   AGORA — PAIEMENTS DU TEMPS COMPENSÉ
   ========================================================= */

.payment-page[b-r9gxvkwwpn] {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto 50px;
}


/* =========================================================
   EN-TÊTE
   ========================================================= */

.page-header[b-r9gxvkwwpn] {
    margin-bottom: 22px;
}

.back-link[b-r9gxvkwwpn] {
    display: inline-flex;
    margin-bottom: 11px;
    color: var(--dlc-muted);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 650;
}

.back-link:hover[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
}

.page-header h1[b-r9gxvkwwpn] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.page-header p[b-r9gxvkwwpn] {
    margin: 5px 0 0;
    color: var(--dlc-muted);
    font-size: 0.86rem;
}

.page-header p strong[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
}


/* =========================================================
   MESSAGE
   ========================================================= */

.message[b-r9gxvkwwpn] {
    margin-bottom: 18px;
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 650;
}

.message.success[b-r9gxvkwwpn] {
    color: #25603B;
    background: #ECF7F0;
    border: 1px solid #C7E6D1;
}

.message.error[b-r9gxvkwwpn] {
    color: #A3212D;
    background: #FDECEF;
    border: 1px solid #F1C4CA;
}


/* =========================================================
   STATISTIQUES
   ========================================================= */

.stats-grid[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 18px;
}

.stat-card[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
    padding: 18px 19px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 13px;
    box-shadow: var(--dlc-shadow-sm);
}

.stat-card.employees[b-r9gxvkwwpn] {
    border-top: 4px solid var(--dlc-navy);
}

.stat-card.payable[b-r9gxvkwwpn] {
    border-top: 4px solid var(--dlc-lime);
}

.stat-card.bank[b-r9gxvkwwpn] {
    border-top: 4px solid #6E82AE;
}

.stat-label[b-r9gxvkwwpn] {
    color: var(--dlc-muted);
    font-size: 0.7rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.stat-value[b-r9gxvkwwpn] {
    margin-top: 4px;
    color: var(--dlc-navy);
    font-size: 1.65rem;
    font-weight: 800;
}

.stat-note[b-r9gxvkwwpn] {
    margin-top: 2px;
    color: #8B929E;
    font-size: 0.7rem;
}


/* =========================================================
   CARTES
   ========================================================= */

.payment-card[b-r9gxvkwwpn],
.selected-employee-card[b-r9gxvkwwpn],
.history-card[b-r9gxvkwwpn] {
    margin-bottom: 18px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 14px;
    box-shadow: var(--dlc-shadow-sm);
}

.payment-card[b-r9gxvkwwpn] {
    padding: 21px 22px;
}


/* =========================================================
   TITRE DE SECTION
   ========================================================= */

.section-heading[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.section-number[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 800;
}

.section-heading h2[b-r9gxvkwwpn] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1.02rem;
    font-weight: 800;
}

.section-heading p[b-r9gxvkwwpn] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.74rem;
}


/* =========================================================
   SÉLECTEUR EMPLOYÉ
   ========================================================= */

.employee-selector[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.employee-selector label[b-r9gxvkwwpn] {
    color: #3F4753;
    font-size: 0.76rem;
    font-weight: 750;
}

.employee-selector select[b-r9gxvkwwpn] {
    width: 100%;
    height: 44px;
    padding: 0 11px;
    color: var(--dlc-text);
    background: white;
    border: 1px solid #CDD3DC;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.84rem;
}

.employee-selector select:focus[b-r9gxvkwwpn] {
    outline: none;
    border-color: var(--dlc-navy);
    box-shadow: 0 0 0 3px rgba(9,22,63,.08);
}


/* =========================================================
   EMPLOYÉ SÉLECTIONNÉ
   ========================================================= */

.selected-employee-card[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 25px;
    padding: 19px 21px;
}

.employee-header[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.employee-avatar[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 800;
}

.employee-header h2[b-r9gxvkwwpn] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 0.95rem;
    font-weight: 800;
}

.employee-header span[b-r9gxvkwwpn] {
    display: block;
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 0.7rem;
}

.employee-balances[b-r9gxvkwwpn] {
    display: flex;
    gap: 10px;
}

.employee-balance[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
    min-width: 130px;
    padding: 10px 13px;
    border-radius: 9px;
}

.employee-balance.bank[b-r9gxvkwwpn] {
    background: #F0F3F8;
}

.employee-balance.payable[b-r9gxvkwwpn] {
    background: #EAF6EF;
}

.employee-balance span[b-r9gxvkwwpn] {
    color: var(--dlc-muted);
    font-size: 0.65rem;
    font-weight: 700;
}

.employee-balance strong[b-r9gxvkwwpn] {
    margin-top: 2px;
    color: var(--dlc-navy);
    font-size: 1rem;
    font-weight: 800;
}


/* =========================================================
   MODE DE PAIEMENT
   ========================================================= */

.mode-selector[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.mode-button[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    padding: 13px 14px;
    color: var(--dlc-text);
    background: #FAFBFC;
    border: 1px solid #DDE1E7;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 150ms ease;
}

.mode-button:hover:not(:disabled)[b-r9gxvkwwpn] {
    border-color: #B9C1CC;
    transform: translateY(-1px);
}

.mode-button.selected[b-r9gxvkwwpn] {
    background: #F2F5FA;
    border: 2px solid var(--dlc-navy);
}

.mode-button:disabled[b-r9gxvkwwpn] {
    cursor: not-allowed;
    opacity: .4;
}

.mode-icon[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 9px;
    font-size: 1rem;
    font-weight: 800;
}

.mode-content[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
}

.mode-content strong[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
    font-size: 0.84rem;
}

.mode-content small[b-r9gxvkwwpn] {
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 0.7rem;
}


/* =========================================================
   FORMULAIRE
   ========================================================= */

.form-grid[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        minmax(100px, .5fr)
        minmax(100px, .5fr);
    gap: 14px;
}

.form-group[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label[b-r9gxvkwwpn] {
    color: #3F4753;
    font-size: 0.75rem;
    font-weight: 750;
}

.form-group input[b-r9gxvkwwpn],
.form-group textarea[b-r9gxvkwwpn] {
    width: 100%;
    box-sizing: border-box;
    color: var(--dlc-text);
    background: white;
    border: 1px solid #CDD3DC;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.84rem;
}

.form-group input[b-r9gxvkwwpn] {
    height: 42px;
    padding: 0 11px;
}

.form-group textarea[b-r9gxvkwwpn] {
    min-height: 80px;
    padding: 10px 11px;
    line-height: 1.4;
    resize: vertical;
}

.form-group input:focus[b-r9gxvkwwpn],
.form-group textarea:focus[b-r9gxvkwwpn] {
    outline: none;
    border-color: var(--dlc-navy);
    box-shadow: 0 0 0 3px rgba(9,22,63,.08);
}

.comment-section[b-r9gxvkwwpn] {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--dlc-border);
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.summary-card[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto auto;
    align-items: center;
    gap: 35px;
    margin-bottom: 18px;
    padding: 17px 19px;
    color: white;
    background:
        linear-gradient(
            135deg,
            var(--dlc-navy) 0%,
            var(--dlc-navy-light) 100%
        );
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(9,22,63,.12);
}

.summary-left[b-r9gxvkwwpn],
.summary-center[b-r9gxvkwwpn],
.summary-time[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
}

.summary-label[b-r9gxvkwwpn],
.summary-center span[b-r9gxvkwwpn],
.summary-time span[b-r9gxvkwwpn] {
    color: rgba(255,255,255,.65);
    font-size: 0.66rem;
    font-weight: 700;
}

.summary-left strong[b-r9gxvkwwpn] {
    margin-top: 2px;
    font-size: 0.9rem;
}

.summary-left > span:last-child[b-r9gxvkwwpn] {
    margin-top: 2px;
    color: rgba(255,255,255,.72);
    font-size: 0.7rem;
}

.summary-center[b-r9gxvkwwpn],
.summary-time[b-r9gxvkwwpn] {
    align-items: flex-end;
}

.summary-center strong[b-r9gxvkwwpn] {
    margin-top: 2px;
    font-size: 0.95rem;
}

.summary-time strong[b-r9gxvkwwpn] {
    margin-top: 2px;
    font-size: 1.35rem;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.form-actions[b-r9gxvkwwpn] {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-bottom: 20px;
}

.clear-button[b-r9gxvkwwpn],
.pay-button[b-r9gxvkwwpn] {
    min-height: 41px;
    padding: 0 15px;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 750;
}

.clear-button[b-r9gxvkwwpn] {
    color: var(--dlc-muted);
    background: white;
    border: 1px solid var(--dlc-border-dark);
}

.pay-button[b-r9gxvkwwpn] {
    min-width: 195px;
    color: white;
    background: var(--dlc-navy);
    border: 1px solid var(--dlc-navy);
}

.pay-button:hover:not(:disabled)[b-r9gxvkwwpn] {
    background: var(--dlc-navy-light);
}

.clear-button:disabled[b-r9gxvkwwpn],
.pay-button:disabled[b-r9gxvkwwpn] {
    cursor: wait;
    opacity: .55;
}


/* =========================================================
   HISTORIQUE
   ========================================================= */

.history-card[b-r9gxvkwwpn] {
    overflow: hidden;
}

.history-header[b-r9gxvkwwpn] {
    padding: 18px 20px;
    border-bottom: 1px solid var(--dlc-border);
}

.history-header h2[b-r9gxvkwwpn] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 1rem;
    font-weight: 800;
}

.history-header p[b-r9gxvkwwpn] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.72rem;
}

.history-list[b-r9gxvkwwpn] {
    padding: 0 20px;
}

.history-row[b-r9gxvkwwpn] {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.4fr)
        minmax(100px, .7fr)
        minmax(100px, .7fr)
        minmax(160px, 1fr);
    align-items: center;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid #EDF0F3;
}

.history-row:last-child[b-r9gxvkwwpn] {
    border-bottom: none;
}

.history-person[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.history-icon[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 31px;
    height: 31px;
    color: #267345;
    background: #EAF6EF;
    border-radius: 8px;
    font-weight: 800;
}

.history-person > div[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
}

.history-person strong[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
    font-size: 0.75rem;
}

.history-person span:last-child[b-r9gxvkwwpn] {
    margin-top: 1px;
    color: var(--dlc-muted);
    font-size: 0.65rem;
}

.history-detail[b-r9gxvkwwpn] {
    display: flex;
    flex-direction: column;
}

.history-detail span[b-r9gxvkwwpn] {
    color: #8C939E;
    font-size: 0.61rem;
    font-weight: 700;
    text-transform: uppercase;
}

.history-detail strong[b-r9gxvkwwpn] {
    margin-top: 2px;
    color: #444C57;
    font-size: 0.7rem;
}

.history-detail .paid-duration[b-r9gxvkwwpn] {
    color: #267345;
    font-size: 0.8rem;
}

.history-comment[b-r9gxvkwwpn] {
    grid-column: 1 / -1;
    margin-top: -4px;
    padding: 8px 10px;
    color: var(--dlc-muted);
    background: #F8F9FB;
    border-radius: 7px;
    font-size: 0.68rem;
}

.history-empty[b-r9gxvkwwpn] {
    padding: 32px 20px;
    color: var(--dlc-muted);
    text-align: center;
    font-size: 0.74rem;
}


/* =========================================================
   ÉTATS
   ========================================================= */

.loading-state[b-r9gxvkwwpn],
.empty-state[b-r9gxvkwwpn] {
    padding: 25px 10px;
    text-align: center;
}

.empty-icon[b-r9gxvkwwpn] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 auto 9px;
    color: #267345;
    background: #EAF6EF;
    border-radius: 11px;
    font-size: 1.2rem;
    font-weight: 800;
}

.empty-state h3[b-r9gxvkwwpn] {
    margin: 0 0 4px;
    color: var(--dlc-navy);
    font-size: .9rem;
}

.empty-state p[b-r9gxvkwwpn] {
    margin: 0;
    color: var(--dlc-muted);
    font-size: .72rem;
}


/* =========================================================
   ACCÈS REFUSÉ
   ========================================================= */

.access-denied[b-r9gxvkwwpn] {
    padding: 60px 20px;
    text-align: center;
}

.access-icon[b-r9gxvkwwpn] {
    margin-bottom: 12px;
    font-size: 2.5rem;
}

.access-denied h2[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
}

.access-denied p[b-r9gxvkwwpn] {
    color: var(--dlc-muted);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 850px) {

    .selected-employee-card[b-r9gxvkwwpn] {
        grid-template-columns: 1fr;
    }

    .employee-balances[b-r9gxvkwwpn] {
        width: 100%;
    }

    .employee-balance[b-r9gxvkwwpn] {
        flex: 1;
    }

    .summary-card[b-r9gxvkwwpn] {
        grid-template-columns: 1fr 1fr;
    }

    .summary-left[b-r9gxvkwwpn] {
        grid-column: 1 / -1;
    }

    .summary-center[b-r9gxvkwwpn],
    .summary-time[b-r9gxvkwwpn] {
        align-items: flex-start;
    }

    .history-row[b-r9gxvkwwpn] {
        grid-template-columns: 1fr 1fr;
    }
}


@media (max-width: 650px) {

    .stats-grid[b-r9gxvkwwpn],
    .mode-selector[b-r9gxvkwwpn],
    .form-grid[b-r9gxvkwwpn] {
        grid-template-columns: 1fr;
    }

    .employee-balances[b-r9gxvkwwpn] {
        flex-direction: column;
    }

    .summary-card[b-r9gxvkwwpn] {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .summary-left[b-r9gxvkwwpn] {
        grid-column: auto;
    }

    .summary-center[b-r9gxvkwwpn],
    .summary-time[b-r9gxvkwwpn] {
        align-items: flex-start;
    }

    .form-actions[b-r9gxvkwwpn] {
        flex-direction: column-reverse;
    }

    .clear-button[b-r9gxvkwwpn],
    .pay-button[b-r9gxvkwwpn] {
        width: 100%;
    }

    .history-row[b-r9gxvkwwpn] {
        grid-template-columns: 1fr;
    }
}

/* Paiement direct des déclarations : action par ligne et confirmation explicite. */
.history-detail .pay-button[b-r9gxvkwwpn] {
    min-width: 95px;
    min-height: 36px;
    padding: 7px 12px;
    font-size: .76rem;
}
.transaction-payment-confirmation[b-r9gxvkwwpn] {
    margin: 0 16px 14px;
    padding: 17px;
    border: 1px solid #b7cae1;
    border-radius: 10px;
    background: #f3f7fc;
}
.transaction-payment-confirmation > strong[b-r9gxvkwwpn] {
    color: var(--dlc-navy);
}
.transaction-payment-confirmation > p[b-r9gxvkwwpn] {
    color: var(--dlc-muted);
    margin-top: 8px;
    margin-bottom: 15px;
}
.transaction-payment-confirmation .form-grid[b-r9gxvkwwpn] {
    grid-template-columns: minmax(160px, 1fr) minmax(220px, 2fr);
}
.transaction-payment-confirmation .form-actions[b-r9gxvkwwpn] {
    margin-top: 15px;
}
@media(max-width:650px) {
    .transaction-payment-confirmation .form-grid[b-r9gxvkwwpn] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/RapportAchats.razor.rz.scp.css */
.report-page[b-9qvb7u5zzi] {
    padding: 1.25rem;
}

.report-toolbar[b-9qvb7u5zzi] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.report-toolbar h1[b-9qvb7u5zzi] {
    margin: 0 0 0.25rem 0;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
}

.report-toolbar p[b-9qvb7u5zzi] {
    margin: 0;
    color: #64748b;
}

.filters-card[b-9qvb7u5zzi] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
}

.filter-field[b-9qvb7u5zzi] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.employee-field[b-9qvb7u5zzi] {
    min-width: 260px;
    flex: 1;
}

.filter-field label[b-9qvb7u5zzi] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
}

.filter-field input[b-9qvb7u5zzi],
.filter-field select[b-9qvb7u5zzi] {
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
}

.print-button[b-9qvb7u5zzi],
.refresh-button[b-9qvb7u5zzi] {
    border: 0;
    border-radius: 9px;
    padding: 0.65rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-9qvb7u5zzi] {
    background: #0f172a;
    color: #ffffff;
}

.refresh-button[b-9qvb7u5zzi] {
    background: #e2e8f0;
    color: #0f172a;
}

.print-document[b-9qvb7u5zzi] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.print-header[b-9qvb7u5zzi] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-9qvb7u5zzi] {
    max-height: 78px;
    max-width: 190px;
    object-fit: contain;
}

.school-identity[b-9qvb7u5zzi] {
    flex: 1;
}

.school-name[b-9qvb7u5zzi] {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.report-name[b-9qvb7u5zzi] {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 900;
    margin-top: 0.15rem;
}

.report-period[b-9qvb7u5zzi] {
    margin-top: 0.2rem;
    color: #64748b;
    font-weight: 700;
}

.report-meta[b-9qvb7u5zzi] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.meta-box[b-9qvb7u5zzi] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem;
}

.meta-label[b-9qvb7u5zzi] {
    display: block;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}

.summary-grid[b-9qvb7u5zzi] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.summary-card[b-9qvb7u5zzi] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem;
    background: #f8fafc;
}

.summary-card span[b-9qvb7u5zzi] {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.summary-card strong[b-9qvb7u5zzi] {
    color: #0f172a;
    font-size: 1.15rem;
}

.report-section[b-9qvb7u5zzi] {
    margin-top: 1.25rem;
}

.section-title[b-9qvb7u5zzi] {
    margin-bottom: 0.5rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.report-table[b-9qvb7u5zzi] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.report-table th[b-9qvb7u5zzi],
.report-table td[b-9qvb7u5zzi] {
    border: 1px solid #dbe3ec;
    padding: 0.48rem 0.5rem;
    text-align: left;
    vertical-align: top;
}

.report-table thead th[b-9qvb7u5zzi] {
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
}

.report-table tfoot th[b-9qvb7u5zzi] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 900;
}

.compact-table[b-9qvb7u5zzi] {
    max-width: 760px;
}

.money-cell[b-9qvb7u5zzi] {
    white-space: nowrap;
    text-align: right !important;
}

.employee-name[b-9qvb7u5zzi] {
    font-weight: 700;
}

.nowrap[b-9qvb7u5zzi] {
    white-space: nowrap;
}

.empty-report[b-9qvb7u5zzi] {
    padding: 1.2rem;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.print-footer[b-9qvb7u5zzi] {
    display: flex;
    justify-content: space-between;
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: 0.72rem;
}

.report-loading[b-9qvb7u5zzi],
.report-error[b-9qvb7u5zzi] {
    margin: 2rem;
    padding: 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.report-loading-icon[b-9qvb7u5zzi] {
    font-size: 2rem;
}

.page-break-avoid[b-9qvb7u5zzi] {
    break-inside: avoid;
}

@media (max-width: 900px) {
    .summary-grid[b-9qvb7u5zzi],
    .report-meta[b-9qvb7u5zzi] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-9qvb7u5zzi] {
        flex-direction: column;
    }

    .print-document[b-9qvb7u5zzi] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 10mm;
    }

    .no-print[b-9qvb7u5zzi] {
        display: none !important;
    }

    .report-page[b-9qvb7u5zzi] {
        padding: 0;
    }

    .print-document[b-9qvb7u5zzi] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
    }

    .report-table[b-9qvb7u5zzi] {
        font-size: 8.5pt;
    }

    .report-table th[b-9qvb7u5zzi],
    .report-table td[b-9qvb7u5zzi] {
        padding: 4px 5px;
    }

    .summary-card[b-9qvb7u5zzi],
    .meta-box[b-9qvb7u5zzi] {
        break-inside: avoid;
    }

    .report-section[b-9qvb7u5zzi] {
        break-inside: auto;
    }

    .report-table tr[b-9qvb7u5zzi] {
        break-inside: avoid;
    }

    .print-footer[b-9qvb7u5zzi] {
        margin-top: 8mm;
    }
}


.report-actions[b-9qvb7u5zzi] {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.report-link[b-9qvb7u5zzi] {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.report-link:hover[b-9qvb7u5zzi] {
    text-decoration: none;
}
/* /Components/Pages/RapportAchatsAnnuel.razor.rz.scp.css */
.report-page[b-9cxyclxonc] {
    padding: 1.25rem;
}

.report-toolbar[b-9cxyclxonc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.report-toolbar h1[b-9cxyclxonc] {
    margin: 0.2rem 0 0.25rem 0;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
}

.report-toolbar p[b-9cxyclxonc] {
    margin: 0;
    color: #64748b;
}

.back-link[b-9cxyclxonc] {
    color: #475569;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.back-link:hover[b-9cxyclxonc] {
    color: #0f172a;
    text-decoration: underline;
}

.report-actions[b-9cxyclxonc] {
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.report-link[b-9cxyclxonc] {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.report-link:hover[b-9cxyclxonc] {
    text-decoration: none;
}

.filters-card[b-9cxyclxonc] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
}

.filter-field[b-9cxyclxonc] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.employee-field[b-9cxyclxonc] {
    min-width: 260px;
    flex: 1;
}

.filter-field label[b-9cxyclxonc],
.filter-summary span[b-9cxyclxonc] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
}

.filter-field select[b-9cxyclxonc] {
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
}

.filter-summary[b-9cxyclxonc] {
    min-width: 150px;
    padding: .45rem .75rem;
    border-left: 1px solid #e2e8f0;
}

.filter-summary span[b-9cxyclxonc],
.filter-summary strong[b-9cxyclxonc] {
    display: block;
}

.filter-summary strong[b-9cxyclxonc] {
    margin-top: .2rem;
    color: #0f172a;
}

.print-button[b-9cxyclxonc],
.refresh-button[b-9cxyclxonc] {
    border: 0;
    border-radius: 9px;
    padding: 0.65rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-9cxyclxonc] {
    background: #0f172a;
    color: #ffffff;
}

.refresh-button[b-9cxyclxonc] {
    background: #e2e8f0;
    color: #0f172a;
}

.print-document[b-9cxyclxonc] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.print-header[b-9cxyclxonc] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-9cxyclxonc] {
    max-height: 78px;
    max-width: 190px;
    object-fit: contain;
}

.school-identity[b-9cxyclxonc] { flex: 1; }
.school-name[b-9cxyclxonc] { color: #475569; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.08em; }
.report-name[b-9cxyclxonc] { color: #0f172a; font-size: 1.55rem; font-weight: 900; margin-top: 0.15rem; }
.report-period[b-9cxyclxonc] { margin-top: 0.2rem; color: #64748b; font-weight: 700; }

.report-meta[b-9cxyclxonc] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.meta-box[b-9cxyclxonc] { border: 1px solid #e2e8f0; border-radius: 10px; padding: 0.75rem; }
.meta-label[b-9cxyclxonc] { display: block; color: #64748b; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; margin-bottom: 0.2rem; }

.summary-grid[b-9cxyclxonc] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.summary-card[b-9cxyclxonc] { border: 1px solid #e2e8f0; border-radius: 10px; padding: 0.8rem; background: #f8fafc; }
.summary-card span[b-9cxyclxonc] { display: block; color: #64748b; font-size: 0.78rem; font-weight: 700; margin-bottom: 0.2rem; }
.summary-card strong[b-9cxyclxonc] { color: #0f172a; font-size: 1.15rem; }
.report-section[b-9cxyclxonc] { margin-top: 1.25rem; }
.section-title[b-9cxyclxonc] { margin-bottom: 0.5rem; color: #0f172a; font-size: 0.82rem; font-weight: 900; letter-spacing: 0.05em; }

.report-table[b-9cxyclxonc] { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.report-table th[b-9cxyclxonc], .report-table td[b-9cxyclxonc] { border: 1px solid #dbe3ec; padding: 0.48rem 0.5rem; text-align: left; vertical-align: top; }
.report-table thead th[b-9cxyclxonc] { background: #0f172a; color: #ffffff; font-weight: 800; }
.report-table tfoot th[b-9cxyclxonc] { background: #f1f5f9; color: #0f172a; font-weight: 900; }
.compact-table[b-9cxyclxonc] { max-width: 760px; }
.money-cell[b-9cxyclxonc] { white-space: nowrap; text-align: right !important; }
.employee-name[b-9cxyclxonc] { font-weight: 700; }
.nowrap[b-9cxyclxonc] { white-space: nowrap; }
.empty-report[b-9cxyclxonc] { padding: 1.2rem; border: 1px dashed #cbd5e1; border-radius: 10px; color: #64748b; text-align: center; }
.print-footer[b-9cxyclxonc] { display: flex; justify-content: space-between; margin-top: 1.25rem; padding-top: 0.6rem; border-top: 1px solid #e2e8f0; color: #94a3b8; font-size: 0.72rem; }
.report-loading[b-9cxyclxonc], .report-error[b-9cxyclxonc] { margin: 2rem; padding: 2rem; text-align: center; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px; }
.report-loading-icon[b-9cxyclxonc] { font-size: 2rem; }
.page-break-avoid[b-9cxyclxonc] { break-inside: avoid; }

@media (max-width: 900px) {
    .summary-grid[b-9cxyclxonc], .report-meta[b-9cxyclxonc] { grid-template-columns: 1fr; }
    .report-toolbar[b-9cxyclxonc] { flex-direction: column; }
    .print-document[b-9cxyclxonc] { overflow-x: auto; }
}

@media print {
    @page { size: landscape; margin: 10mm; }
    .no-print[b-9cxyclxonc] { display: none !important; }
    .report-page[b-9cxyclxonc] { padding: 0; }
    .print-document[b-9cxyclxonc] { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
    .report-table[b-9cxyclxonc] { font-size: 8.5pt; }
    .report-table th[b-9cxyclxonc], .report-table td[b-9cxyclxonc] { padding: 4px 5px; }
    .summary-card[b-9cxyclxonc], .meta-box[b-9cxyclxonc] { break-inside: avoid; }
    .report-section[b-9cxyclxonc] { break-inside: auto; }
    .report-table tr[b-9cxyclxonc] { break-inside: avoid; }
    .print-footer[b-9cxyclxonc] { margin-top: 8mm; }
}
/* /Components/Pages/RapportAchatsFiches.razor.rz.scp.css */
.report-page[b-o0oz0x5ukj] {
    max-width: 1500px;
    margin: 0 auto;
    padding: 24px;
}

.report-toolbar[b-o0oz0x5ukj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.report-toolbar h1[b-o0oz0x5ukj] {
    margin: 4px 0 6px;
    color: #0f172a;
    font-size: 1.8rem;
}

.report-toolbar p[b-o0oz0x5ukj] {
    margin: 0;
    color: #64748b;
}

.back-link[b-o0oz0x5ukj] {
    color: #475569;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.back-link:hover[b-o0oz0x5ukj] {
    color: #0f172a;
    text-decoration: underline;
}

.print-button[b-o0oz0x5ukj] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    background: #0f172a;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

.print-button:disabled[b-o0oz0x5ukj] {
    opacity: .45;
    cursor: not-allowed;
}

.filters-card[b-o0oz0x5ukj] {
    display: flex;
    align-items: end;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px;
    margin-bottom: 22px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.filter-field[b-o0oz0x5ukj] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.employee-field[b-o0oz0x5ukj] {
    min-width: 320px;
    flex: 1;
}

.filter-field label[b-o0oz0x5ukj],
.filter-summary span[b-o0oz0x5ukj] {
    font-size: .72rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.filter-field select[b-o0oz0x5ukj] {
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 8px 11px;
    background: white;
}

.filter-summary[b-o0oz0x5ukj] {
    min-width: 145px;
    padding: 7px 12px;
    border-left: 1px solid #e2e8f0;
}

.filter-summary span[b-o0oz0x5ukj],
.filter-summary strong[b-o0oz0x5ukj] {
    display: block;
}

.filter-summary strong[b-o0oz0x5ukj] {
    margin-top: 3px;
    color: #0f172a;
}

.print-document[b-o0oz0x5ukj] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.employee-sheet[b-o0oz0x5ukj] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
}

.print-header[b-o0oz0x5ukj] {
    display: flex;
    align-items: center;
    gap: 22px;
    padding-bottom: 18px;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-o0oz0x5ukj] {
    max-width: 180px;
    max-height: 82px;
    object-fit: contain;
}

.school-identity[b-o0oz0x5ukj] {
    flex: 1;
}

.school-name[b-o0oz0x5ukj] {
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .08em;
    color: #475569;
}

.report-name[b-o0oz0x5ukj] {
    margin-top: 4px;
    font-size: 1.5rem;
    font-weight: 900;
    color: #0f172a;
}

.report-period[b-o0oz0x5ukj] {
    margin-top: 4px;
    font-size: .95rem;
    font-weight: 700;
    color: #64748b;
}

.employee-meta[b-o0oz0x5ukj] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
    margin: 20px 0;
}

.employee-name-block[b-o0oz0x5ukj],
.meta-box[b-o0oz0x5ukj] {
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.employee-name-block span[b-o0oz0x5ukj],
.meta-label[b-o0oz0x5ukj] {
    display: block;
    margin-bottom: 4px;
    font-size: .7rem;
    font-weight: 800;
    color: #64748b;
    letter-spacing: .05em;
}

.employee-name-block strong[b-o0oz0x5ukj] {
    display: block;
    color: #0f172a;
    font-size: 1.12rem;
}

.employee-name-block small[b-o0oz0x5ukj] {
    display: block;
    margin-top: 3px;
    color: #64748b;
}

.summary-grid[b-o0oz0x5ukj] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}

.summary-card[b-o0oz0x5ukj] {
    padding: 13px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.summary-card span[b-o0oz0x5ukj] {
    display: block;
    margin-bottom: 5px;
    font-size: .72rem;
    color: #64748b;
    font-weight: 700;
}

.summary-card strong[b-o0oz0x5ukj] {
    color: #0f172a;
    font-size: 1.05rem;
}

.report-section[b-o0oz0x5ukj] {
    margin-top: 22px;
}

.section-title[b-o0oz0x5ukj] {
    margin-bottom: 9px;
    padding: 8px 10px;
    background: #0f172a;
    color: white;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .05em;
}

.report-table[b-o0oz0x5ukj] {
    width: 100%;
    border-collapse: collapse;
    font-size: .82rem;
}

.report-table th[b-o0oz0x5ukj],
.report-table td[b-o0oz0x5ukj] {
    padding: 8px 9px;
    border: 1px solid #cbd5e1;
    vertical-align: top;
}

.report-table th[b-o0oz0x5ukj] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 800;
    text-align: left;
}

.report-table tfoot th[b-o0oz0x5ukj] {
    background: #e2e8f0;
}

.date-cell[b-o0oz0x5ukj],
.nowrap[b-o0oz0x5ukj],
.money-cell[b-o0oz0x5ukj] {
    white-space: nowrap;
}

.money-cell[b-o0oz0x5ukj] {
    text-align: right;
    font-weight: 700;
}

.empty-report[b-o0oz0x5ukj] {
    padding: 22px;
    text-align: center;
    border: 1px dashed #cbd5e1;
    color: #64748b;
    background: white;
    border-radius: 12px;
}

.print-footer[b-o0oz0x5ukj] {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 10px;
    border-top: 1px solid #cbd5e1;
    color: #64748b;
    font-size: .75rem;
}

.report-loading[b-o0oz0x5ukj],
.report-error[b-o0oz0x5ukj] {
    max-width: 700px;
    margin: 50px auto;
    padding: 28px;
    text-align: center;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.report-loading-icon[b-o0oz0x5ukj] {
    font-size: 2rem;
    margin-bottom: 10px;
}

@media (max-width: 1000px) {
    .summary-grid[b-o0oz0x5ukj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .employee-meta[b-o0oz0x5ukj] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-o0oz0x5ukj] {
        flex-direction: column;
    }

    .employee-sheet[b-o0oz0x5ukj] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 9mm;
    }

    .no-print[b-o0oz0x5ukj] {
        display: none !important;
    }

    .report-page[b-o0oz0x5ukj] {
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .print-document[b-o0oz0x5ukj] {
        display: block;
    }

    .employee-sheet[b-o0oz0x5ukj] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        break-after: page;
        page-break-after: always;
    }

    .employee-sheet:last-child[b-o0oz0x5ukj] {
        break-after: auto;
        page-break-after: auto;
    }

    .print-header[b-o0oz0x5ukj],
    .employee-meta[b-o0oz0x5ukj],
    .summary-grid[b-o0oz0x5ukj],
    .print-footer[b-o0oz0x5ukj] {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .school-logo img[b-o0oz0x5ukj] {
        max-width: 145px;
        max-height: 62px;
    }

    .report-table[b-o0oz0x5ukj] {
        font-size: 8pt;
    }

    .report-table thead[b-o0oz0x5ukj] {
        display: table-header-group;
    }

    .report-table tr[b-o0oz0x5ukj] {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-table th[b-o0oz0x5ukj],
    .report-table td[b-o0oz0x5ukj] {
        padding: 4px 5px;
    }

    .summary-card[b-o0oz0x5ukj] {
        padding: 8px;
    }

    .summary-card strong[b-o0oz0x5ukj] {
        font-size: .95rem;
    }
}
/* /Components/Pages/RapportActivitesCE.razor.rz.scp.css */
.report-page[b-0exq8q6yhp] {
    padding: 1.25rem;
}

.report-toolbar[b-0exq8q6yhp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.report-toolbar h1[b-0exq8q6yhp] {
    margin: 0 0 0.25rem 0;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
}

.report-toolbar p[b-0exq8q6yhp] {
    margin: 0;
    color: #64748b;
}

.filters-card[b-0exq8q6yhp] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
}

.filter-field[b-0exq8q6yhp] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.filter-field label[b-0exq8q6yhp] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
}

.filter-field input[b-0exq8q6yhp],
.filter-field select[b-0exq8q6yhp] {
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
}

.employee-field[b-0exq8q6yhp] {
    min-width: 250px;
}

.print-button[b-0exq8q6yhp],
.refresh-button[b-0exq8q6yhp] {
    border: 0;
    border-radius: 9px;
    padding: 0.65rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-0exq8q6yhp] {
    background: #0f172a;
    color: #ffffff;
}

.refresh-button[b-0exq8q6yhp] {
    background: #e2e8f0;
    color: #0f172a;
}

.print-document[b-0exq8q6yhp] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.print-header[b-0exq8q6yhp] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-0exq8q6yhp] {
    max-height: 78px;
    max-width: 190px;
    object-fit: contain;
}

.school-identity[b-0exq8q6yhp] {
    flex: 1;
}

.school-name[b-0exq8q6yhp] {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.report-name[b-0exq8q6yhp] {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 900;
    margin-top: 0.15rem;
}

.report-period[b-0exq8q6yhp] {
    margin-top: 0.2rem;
    color: #64748b;
    font-weight: 700;
}

.report-meta[b-0exq8q6yhp] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.meta-box[b-0exq8q6yhp] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem;
}

.meta-label[b-0exq8q6yhp] {
    display: block;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}

.summary-grid[b-0exq8q6yhp] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.summary-card[b-0exq8q6yhp] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem;
    background: #f8fafc;
}

.summary-card span[b-0exq8q6yhp] {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.summary-card strong[b-0exq8q6yhp] {
    color: #0f172a;
    font-size: 1.15rem;
}

.report-section[b-0exq8q6yhp] {
    margin-top: 1.25rem;
}

.section-title[b-0exq8q6yhp] {
    margin-bottom: 0.5rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.report-table[b-0exq8q6yhp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.79rem;
}

.report-table th[b-0exq8q6yhp],
.report-table td[b-0exq8q6yhp] {
    border: 1px solid #dbe3ec;
    padding: 0.48rem 0.5rem;
    text-align: left;
    vertical-align: top;
}

.report-table thead th[b-0exq8q6yhp] {
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
}

.report-table tfoot th[b-0exq8q6yhp] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 900;
}

.nowrap[b-0exq8q6yhp] {
    white-space: nowrap;
}

.center[b-0exq8q6yhp] {
    text-align: center !important;
}

.empty-report[b-0exq8q6yhp] {
    padding: 1.2rem;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.print-footer[b-0exq8q6yhp] {
    display: flex;
    justify-content: space-between;
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: 0.72rem;
}

.report-loading[b-0exq8q6yhp],
.report-error[b-0exq8q6yhp] {
    margin: 2rem;
    padding: 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.report-loading-icon[b-0exq8q6yhp] {
    font-size: 2rem;
}

@media (max-width: 900px) {
    .summary-grid[b-0exq8q6yhp],
    .report-meta[b-0exq8q6yhp] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-0exq8q6yhp] {
        flex-direction: column;
    }

    .print-document[b-0exq8q6yhp] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 10mm;
    }

    .no-print[b-0exq8q6yhp] {
        display: none !important;
    }

    .report-page[b-0exq8q6yhp] {
        padding: 0;
    }

    .print-document[b-0exq8q6yhp] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
    }

    .report-table[b-0exq8q6yhp] {
        font-size: 8.5pt;
    }

    .report-table th[b-0exq8q6yhp],
    .report-table td[b-0exq8q6yhp] {
        padding: 4px 5px;
    }

    .report-table tr[b-0exq8q6yhp] {
        break-inside: avoid;
    }

    .summary-card[b-0exq8q6yhp],
    .meta-box[b-0exq8q6yhp] {
        break-inside: avoid;
    }

    .print-footer[b-0exq8q6yhp] {
        margin-top: 8mm;
    }
}
/* /Components/Pages/RapportActivitesCPE.razor.rz.scp.css */
.report-page[b-mtt07jjx8i] {
    padding: 1.25rem;
}

.report-toolbar[b-mtt07jjx8i] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.report-toolbar h1[b-mtt07jjx8i] {
    margin: 0 0 0.25rem 0;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
}

.report-toolbar p[b-mtt07jjx8i] {
    margin: 0;
    color: #64748b;
}

.filters-card[b-mtt07jjx8i] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
}

.filter-field[b-mtt07jjx8i] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.filter-field label[b-mtt07jjx8i] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
}

.filter-field input[b-mtt07jjx8i],
.filter-field select[b-mtt07jjx8i] {
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
}

.employee-field[b-mtt07jjx8i] {
    min-width: 250px;
}

.print-button[b-mtt07jjx8i],
.refresh-button[b-mtt07jjx8i] {
    border: 0;
    border-radius: 9px;
    padding: 0.65rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-mtt07jjx8i] {
    background: #0f172a;
    color: #ffffff;
}

.refresh-button[b-mtt07jjx8i] {
    background: #e2e8f0;
    color: #0f172a;
}

.print-document[b-mtt07jjx8i] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.print-header[b-mtt07jjx8i] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-mtt07jjx8i] {
    max-height: 78px;
    max-width: 190px;
    object-fit: contain;
}

.school-identity[b-mtt07jjx8i] {
    flex: 1;
}

.school-name[b-mtt07jjx8i] {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.report-name[b-mtt07jjx8i] {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 900;
    margin-top: 0.15rem;
}

.report-period[b-mtt07jjx8i] {
    margin-top: 0.2rem;
    color: #64748b;
    font-weight: 700;
}

.report-meta[b-mtt07jjx8i] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.meta-box[b-mtt07jjx8i] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem;
}

.meta-label[b-mtt07jjx8i] {
    display: block;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}

.summary-grid[b-mtt07jjx8i] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.summary-card[b-mtt07jjx8i] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem;
    background: #f8fafc;
}

.summary-card span[b-mtt07jjx8i] {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.summary-card strong[b-mtt07jjx8i] {
    color: #0f172a;
    font-size: 1.15rem;
}

.report-section[b-mtt07jjx8i] {
    margin-top: 1.25rem;
}

.section-title[b-mtt07jjx8i] {
    margin-bottom: 0.5rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.report-table[b-mtt07jjx8i] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.79rem;
}

.report-table th[b-mtt07jjx8i],
.report-table td[b-mtt07jjx8i] {
    border: 1px solid #dbe3ec;
    padding: 0.48rem 0.5rem;
    text-align: left;
    vertical-align: top;
}

.report-table thead th[b-mtt07jjx8i] {
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
}

.report-table tfoot th[b-mtt07jjx8i] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 900;
}

.nowrap[b-mtt07jjx8i] {
    white-space: nowrap;
}

.center[b-mtt07jjx8i] {
    text-align: center !important;
}

.empty-report[b-mtt07jjx8i] {
    padding: 1.2rem;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.print-footer[b-mtt07jjx8i] {
    display: flex;
    justify-content: space-between;
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: 0.72rem;
}

.report-loading[b-mtt07jjx8i],
.report-error[b-mtt07jjx8i] {
    margin: 2rem;
    padding: 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.report-loading-icon[b-mtt07jjx8i] {
    font-size: 2rem;
}

@media (max-width: 900px) {
    .summary-grid[b-mtt07jjx8i],
    .report-meta[b-mtt07jjx8i] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-mtt07jjx8i] {
        flex-direction: column;
    }

    .print-document[b-mtt07jjx8i] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 10mm;
    }

    .no-print[b-mtt07jjx8i] {
        display: none !important;
    }

    .report-page[b-mtt07jjx8i] {
        padding: 0;
    }

    .print-document[b-mtt07jjx8i] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
    }

    .report-table[b-mtt07jjx8i] {
        font-size: 8.5pt;
    }

    .report-table th[b-mtt07jjx8i],
    .report-table td[b-mtt07jjx8i] {
        padding: 4px 5px;
    }

    .report-table tr[b-mtt07jjx8i] {
        break-inside: avoid;
    }

    .summary-card[b-mtt07jjx8i],
    .meta-box[b-mtt07jjx8i] {
        break-inside: avoid;
    }

    .print-footer[b-mtt07jjx8i] {
        margin-top: 8mm;
    }
}
/* /Components/Pages/RapportRegistreActivites.razor.rz.scp.css */
.report-page[b-e0f0ro0p9t] {
    padding: 1.25rem;
}

.report-toolbar[b-e0f0ro0p9t] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.report-toolbar h1[b-e0f0ro0p9t] {
    margin: 0 0 0.25rem 0;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
}

.report-toolbar p[b-e0f0ro0p9t] {
    margin: 0;
    color: #64748b;
}

.filters-card[b-e0f0ro0p9t] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.05);
}

.filter-field[b-e0f0ro0p9t] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.filter-field label[b-e0f0ro0p9t] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #475569;
}

.filter-field input[b-e0f0ro0p9t],
.filter-field select[b-e0f0ro0p9t] {
    min-height: 42px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
}

.employee-field[b-e0f0ro0p9t] {
    min-width: 250px;
}

.print-button[b-e0f0ro0p9t],
.refresh-button[b-e0f0ro0p9t] {
    border: 0;
    border-radius: 9px;
    padding: 0.65rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-e0f0ro0p9t] {
    background: #0f172a;
    color: #ffffff;
}

.refresh-button[b-e0f0ro0p9t] {
    background: #e2e8f0;
    color: #0f172a;
}

.print-document[b-e0f0ro0p9t] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.print-header[b-e0f0ro0p9t] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-e0f0ro0p9t] {
    max-height: 78px;
    max-width: 190px;
    object-fit: contain;
}

.school-identity[b-e0f0ro0p9t] {
    flex: 1;
}

.school-name[b-e0f0ro0p9t] {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.report-name[b-e0f0ro0p9t] {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 900;
    margin-top: 0.15rem;
}

.report-period[b-e0f0ro0p9t] {
    margin-top: 0.2rem;
    color: #64748b;
    font-weight: 700;
}

.report-meta[b-e0f0ro0p9t] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.meta-box[b-e0f0ro0p9t] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem;
}

.meta-label[b-e0f0ro0p9t] {
    display: block;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}

.summary-grid[b-e0f0ro0p9t] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.summary-card[b-e0f0ro0p9t] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem;
    background: #f8fafc;
}

.summary-card span[b-e0f0ro0p9t] {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.summary-card strong[b-e0f0ro0p9t] {
    color: #0f172a;
    font-size: 1.15rem;
}

.report-section[b-e0f0ro0p9t] {
    margin-top: 1.25rem;
}

.section-title[b-e0f0ro0p9t] {
    margin-bottom: 0.5rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.report-table[b-e0f0ro0p9t] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.79rem;
}

.report-table th[b-e0f0ro0p9t],
.report-table td[b-e0f0ro0p9t] {
    border: 1px solid #dbe3ec;
    padding: 0.48rem 0.5rem;
    text-align: left;
    vertical-align: top;
}

.report-table thead th[b-e0f0ro0p9t] {
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
}

.report-table tfoot th[b-e0f0ro0p9t] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 900;
}

.nowrap[b-e0f0ro0p9t] {
    white-space: nowrap;
}

.center[b-e0f0ro0p9t] {
    text-align: center !important;
}

.empty-report[b-e0f0ro0p9t] {
    padding: 1.2rem;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.print-footer[b-e0f0ro0p9t] {
    display: flex;
    justify-content: space-between;
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid #e2e8f0;
    color: #94a3b8;
    font-size: 0.72rem;
}

.report-loading[b-e0f0ro0p9t],
.report-error[b-e0f0ro0p9t] {
    margin: 2rem;
    padding: 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.report-loading-icon[b-e0f0ro0p9t] {
    font-size: 2rem;
}

@media (max-width: 900px) {
    .summary-grid[b-e0f0ro0p9t],
    .report-meta[b-e0f0ro0p9t] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-e0f0ro0p9t] {
        flex-direction: column;
    }

    .print-document[b-e0f0ro0p9t] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 10mm;
    }

    .no-print[b-e0f0ro0p9t] {
        display: none !important;
    }

    .report-page[b-e0f0ro0p9t] {
        padding: 0;
    }

    .print-document[b-e0f0ro0p9t] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
    }

    .report-table[b-e0f0ro0p9t] {
        font-size: 8.5pt;
    }

    .report-table th[b-e0f0ro0p9t],
    .report-table td[b-e0f0ro0p9t] {
        padding: 4px 5px;
    }

    .report-table tr[b-e0f0ro0p9t] {
        break-inside: avoid;
    }

    .summary-card[b-e0f0ro0p9t],
    .meta-box[b-e0f0ro0p9t] {
        break-inside: avoid;
    }

    .print-footer[b-e0f0ro0p9t] {
        margin-top: 8mm;
    }
}
/* /Components/Pages/RapportTempsCompense.razor.rz.scp.css */
.report-page[b-byc6w9h6uy] {
    max-width: 1500px;
    margin: 0 auto;
    padding: 24px;
}

.report-toolbar[b-byc6w9h6uy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.report-toolbar h1[b-byc6w9h6uy] {
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 1.8rem;
}

.report-toolbar p[b-byc6w9h6uy] {
    margin: 0;
    color: #64748b;
}

.print-button[b-byc6w9h6uy],
.refresh-button[b-byc6w9h6uy] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    font-weight: 700;
    cursor: pointer;
}

.print-button[b-byc6w9h6uy] {
    background: #0f172a;
    color: white;
}

.refresh-button[b-byc6w9h6uy] {
    background: #e2e8f0;
    color: #0f172a;
}

.filters-card[b-byc6w9h6uy] {
    display: flex;
    align-items: end;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px;
    margin-bottom: 22px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.filter-field[b-byc6w9h6uy] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.employee-field[b-byc6w9h6uy] {
    min-width: 300px;
    flex: 1;
}

.filter-field label[b-byc6w9h6uy] {
    font-size: 0.82rem;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.filter-field input[b-byc6w9h6uy],
.filter-field select[b-byc6w9h6uy] {
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 8px 11px;
    background: white;
}

.print-document[b-byc6w9h6uy] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 28px;
}

.print-header[b-byc6w9h6uy] {
    display: flex;
    align-items: center;
    gap: 22px;
    padding-bottom: 18px;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-byc6w9h6uy] {
    max-width: 180px;
    max-height: 82px;
    object-fit: contain;
}

.school-identity[b-byc6w9h6uy] {
    flex: 1;
}

.school-name[b-byc6w9h6uy] {
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #475569;
}

.report-name[b-byc6w9h6uy] {
    margin-top: 4px;
    font-size: 1.55rem;
    font-weight: 900;
    color: #0f172a;
}

.report-period[b-byc6w9h6uy] {
    margin-top: 4px;
    font-size: 1rem;
    font-weight: 700;
    color: #64748b;
}

.report-meta[b-byc6w9h6uy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 20px 0;
}

.meta-box[b-byc6w9h6uy] {
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.meta-label[b-byc6w9h6uy] {
    display: block;
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 800;
    color: #64748b;
    letter-spacing: 0.05em;
}

.summary-grid[b-byc6w9h6uy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}

.summary-card[b-byc6w9h6uy] {
    padding: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.summary-card span[b-byc6w9h6uy] {
    display: block;
    margin-bottom: 5px;
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 700;
}

.summary-card strong[b-byc6w9h6uy] {
    color: #0f172a;
    font-size: 1.15rem;
}

.report-section[b-byc6w9h6uy] {
    margin-top: 24px;
}

.section-title[b-byc6w9h6uy] {
    margin-bottom: 9px;
    padding: 8px 10px;
    background: #0f172a;
    color: white;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.report-table[b-byc6w9h6uy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.report-table th[b-byc6w9h6uy],
.report-table td[b-byc6w9h6uy] {
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    vertical-align: top;
}

.report-table th[b-byc6w9h6uy] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 800;
    text-align: left;
}

.report-table tfoot th[b-byc6w9h6uy] {
    background: #e2e8f0;
}

.employee-name[b-byc6w9h6uy] {
    font-weight: 700;
}

.minutes-cell[b-byc6w9h6uy] {
    white-space: nowrap;
    font-weight: 700;
}

.empty-report[b-byc6w9h6uy] {
    padding: 22px;
    text-align: center;
    border: 1px dashed #cbd5e1;
    color: #64748b;
}

.print-footer[b-byc6w9h6uy] {
    display: flex;
    justify-content: space-between;
    margin-top: 26px;
    padding-top: 10px;
    border-top: 1px solid #cbd5e1;
    color: #64748b;
    font-size: 0.78rem;
}

.report-loading[b-byc6w9h6uy],
.report-error[b-byc6w9h6uy] {
    max-width: 700px;
    margin: 50px auto;
    padding: 28px;
    text-align: center;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.report-loading-icon[b-byc6w9h6uy] {
    font-size: 2rem;
    margin-bottom: 10px;
}


@media (max-width: 900px) {

    .report-meta[b-byc6w9h6uy],
    .summary-grid[b-byc6w9h6uy] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-byc6w9h6uy] {
        align-items: flex-start;
        flex-direction: column;
    }

    .print-document[b-byc6w9h6uy] {
        overflow-x: auto;
    }
}


@media print {

    @page {
        size: landscape;
        margin: 10mm;
    }

    .no-print[b-byc6w9h6uy] {
        display: none !important;
    }

    .report-page[b-byc6w9h6uy] {
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .print-document[b-byc6w9h6uy] {
        border: 0;
        border-radius: 0;
        padding: 0;
    }

    .print-header[b-byc6w9h6uy] {
        break-inside: avoid;
    }

    .school-logo img[b-byc6w9h6uy] {
        max-width: 150px;
        max-height: 65px;
    }

    .report-meta[b-byc6w9h6uy],
    .summary-grid[b-byc6w9h6uy] {
        break-inside: avoid;
    }

    .report-section[b-byc6w9h6uy] {
        break-inside: auto;
    }

    .report-table[b-byc6w9h6uy] {
        font-size: 8.5pt;
    }

    .report-table thead[b-byc6w9h6uy] {
        display: table-header-group;
    }

    .report-table tr[b-byc6w9h6uy] {
        break-inside: avoid;
    }

    .report-table th[b-byc6w9h6uy],
    .report-table td[b-byc6w9h6uy] {
        padding: 5px 6px;
    }

    .print-footer[b-byc6w9h6uy] {
        margin-top: 14px;
    }
}
/* /Components/Pages/RapportTempsCompenseFiches.razor.rz.scp.css */
.report-page[b-lh84e24565] {
    max-width: 1500px;
    margin: 0 auto;
    padding: 24px;
}

.report-toolbar[b-lh84e24565] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.report-toolbar h1[b-lh84e24565] {
    margin: 4px 0 6px;
    color: #0f172a;
    font-size: 1.8rem;
}

.report-toolbar p[b-lh84e24565] {
    margin: 0;
    color: #64748b;
}

.back-link[b-lh84e24565] {
    color: #475569;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.back-link:hover[b-lh84e24565] {
    color: #0f172a;
    text-decoration: underline;
}

.print-button[b-lh84e24565] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    background: #0f172a;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

.print-button:disabled[b-lh84e24565] {
    opacity: .45;
    cursor: not-allowed;
}

.filters-card[b-lh84e24565] {
    display: flex;
    align-items: end;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px;
    margin-bottom: 22px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
}

.filter-field[b-lh84e24565] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.employee-field[b-lh84e24565] {
    min-width: 320px;
    flex: 1;
}

.filter-field label[b-lh84e24565],
.filter-summary span[b-lh84e24565] {
    font-size: .72rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.filter-field select[b-lh84e24565] {
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    padding: 8px 11px;
    background: white;
}

.filter-summary[b-lh84e24565] {
    min-width: 145px;
    padding: 7px 12px;
    border-left: 1px solid #e2e8f0;
}

.filter-summary span[b-lh84e24565],
.filter-summary strong[b-lh84e24565] {
    display: block;
}

.filter-summary strong[b-lh84e24565] {
    margin-top: 3px;
    color: #0f172a;
}

.print-document[b-lh84e24565] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.employee-sheet[b-lh84e24565] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
}

.print-header[b-lh84e24565] {
    display: flex;
    align-items: center;
    gap: 22px;
    padding-bottom: 18px;
    border-bottom: 3px solid #0f172a;
}

.school-logo img[b-lh84e24565] {
    max-width: 180px;
    max-height: 82px;
    object-fit: contain;
}

.school-identity[b-lh84e24565] {
    flex: 1;
}

.school-name[b-lh84e24565] {
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .08em;
    color: #475569;
}

.report-name[b-lh84e24565] {
    margin-top: 4px;
    font-size: 1.5rem;
    font-weight: 900;
    color: #0f172a;
}

.report-period[b-lh84e24565] {
    margin-top: 4px;
    font-size: .95rem;
    font-weight: 700;
    color: #64748b;
}

.employee-meta[b-lh84e24565] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
    margin: 20px 0;
}

.employee-name-block[b-lh84e24565],
.meta-box[b-lh84e24565] {
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.employee-name-block span[b-lh84e24565],
.meta-label[b-lh84e24565] {
    display: block;
    margin-bottom: 4px;
    font-size: .7rem;
    font-weight: 800;
    color: #64748b;
    letter-spacing: .05em;
}

.employee-name-block strong[b-lh84e24565] {
    display: block;
    color: #0f172a;
    font-size: 1.12rem;
}

.employee-name-block small[b-lh84e24565] {
    display: block;
    margin-top: 3px;
    color: #64748b;
}

.summary-grid[b-lh84e24565] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}

.summary-card[b-lh84e24565] {
    padding: 13px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.summary-card span[b-lh84e24565] {
    display: block;
    margin-bottom: 5px;
    font-size: .72rem;
    color: #64748b;
    font-weight: 700;
}

.summary-card strong[b-lh84e24565] {
    color: #0f172a;
    font-size: 1.05rem;
}

.report-section[b-lh84e24565] {
    margin-top: 22px;
}

.section-title[b-lh84e24565] {
    margin-bottom: 9px;
    padding: 8px 10px;
    background: #0f172a;
    color: white;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .05em;
}

.report-table[b-lh84e24565] {
    width: 100%;
    border-collapse: collapse;
    font-size: .82rem;
}

.report-table th[b-lh84e24565],
.report-table td[b-lh84e24565] {
    padding: 8px 9px;
    border: 1px solid #cbd5e1;
    vertical-align: top;
}

.report-table th[b-lh84e24565] {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 800;
    text-align: left;
}

.report-table tfoot th[b-lh84e24565] {
    background: #e2e8f0;
}

.date-cell[b-lh84e24565],
.minutes-cell[b-lh84e24565] {
    white-space: nowrap;
}

.minutes-cell[b-lh84e24565] {
    font-weight: 700;
}

.reason-cell[b-lh84e24565] {
    min-width: 220px;
    white-space: normal;
}

.empty-report[b-lh84e24565] {
    padding: 22px;
    text-align: center;
    border: 1px dashed #cbd5e1;
    color: #64748b;
    background: white;
    border-radius: 12px;
}

.print-footer[b-lh84e24565] {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 10px;
    border-top: 1px solid #cbd5e1;
    color: #64748b;
    font-size: .75rem;
}

.report-loading[b-lh84e24565],
.report-error[b-lh84e24565] {
    max-width: 700px;
    margin: 50px auto;
    padding: 28px;
    text-align: center;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.report-loading-icon[b-lh84e24565] {
    font-size: 2rem;
    margin-bottom: 10px;
}

@media (max-width: 1000px) {
    .summary-grid[b-lh84e24565] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .employee-meta[b-lh84e24565] {
        grid-template-columns: 1fr;
    }

    .report-toolbar[b-lh84e24565] {
        flex-direction: column;
    }

    .employee-sheet[b-lh84e24565] {
        overflow-x: auto;
    }
}

@media print {
    @page {
        size: landscape;
        margin: 9mm;
    }

    .no-print[b-lh84e24565] {
        display: none !important;
    }

    .report-page[b-lh84e24565] {
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .print-document[b-lh84e24565] {
        display: block;
    }

    .employee-sheet[b-lh84e24565] {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        break-after: page;
        page-break-after: always;
    }

    .employee-sheet:last-child[b-lh84e24565] {
        break-after: auto;
        page-break-after: auto;
    }

    .print-header[b-lh84e24565],
    .employee-meta[b-lh84e24565],
    .summary-grid[b-lh84e24565],
    .print-footer[b-lh84e24565] {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .school-logo img[b-lh84e24565] {
        max-width: 145px;
        max-height: 62px;
    }

    .report-table[b-lh84e24565] {
        font-size: 8pt;
    }

    .report-table thead[b-lh84e24565] {
        display: table-header-group;
    }

    .report-table tr[b-lh84e24565] {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .report-table th[b-lh84e24565],
    .report-table td[b-lh84e24565] {
        padding: 4px 5px;
    }

    .summary-card[b-lh84e24565] {
        padding: 8px;
    }

    .summary-card strong[b-lh84e24565] {
        font-size: .95rem;
    }

    .print-footer[b-lh84e24565] {
        margin-top: 12px;
    }
}
/* /Components/Pages/ReservationLocal.razor.rz.scp.css */
.page-reservation[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-entete h1[b-ru0cbalcku] {
    margin: 0.2rem 0 0.35rem;
    font-size: 2rem;
    font-weight: 750;
    color: #0f172a;
}

.page-entete p[b-ru0cbalcku] {
    margin: 0;
    color: #64748b;
}

.sur-titre[b-ru0cbalcku] {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #64748b;
}


/* =========================================================
   CARTES
   ========================================================= */

.carte[b-ru0cbalcku] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.carte-entete[b-ru0cbalcku] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.carte-entete h2[b-ru0cbalcku] {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 750;
    color: #0f172a;
}

.carte-entete p[b-ru0cbalcku] {
    margin: 0.3rem 0 0;
    color: #64748b;
    font-size: 0.9rem;
}


/* =========================================================
   ALERTES
   ========================================================= */

.alerte[b-ru0cbalcku] {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.alerte-danger[b-ru0cbalcku] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerte-succes[b-ru0cbalcku] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}


/* =========================================================
   DATE / PÉRIODE
   ========================================================= */

.selection-moment[b-ru0cbalcku] {
    display: flex;
    align-items: end;
    gap: 1rem;
    flex-wrap: wrap;
}

.champ[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.champ label[b-ru0cbalcku] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.champ input[b-ru0cbalcku],
.champ select[b-ru0cbalcku],
.champ textarea[b-ru0cbalcku] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.6rem 0.7rem;
    background: white;
    color: #0f172a;
    outline: none;
}

.champ input[b-ru0cbalcku],
.champ select[b-ru0cbalcku] {
    min-height: 42px;
}

.champ textarea[b-ru0cbalcku] {
    resize: vertical;
}

.champ input:focus[b-ru0cbalcku],
.champ select:focus[b-ru0cbalcku],
.champ textarea:focus[b-ru0cbalcku] {
    border-color: #64748b;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, 0.12);
}

.jour-cycle-info[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 42px;
    padding: 0.45rem 0.8rem;
    border-radius: 9px;
    background: #f8fafc;
}

.jour-cycle-valeur[b-ru0cbalcku] {
    color: #0f172a;
    font-weight: 800;
}

.jour-cycle-libelle[b-ru0cbalcku] {
    color: #94a3b8;
    font-size: 0.72rem;
}

.jour-non-regulier[b-ru0cbalcku] {
    color: #b45309;
    font-weight: 750;
}


/* =========================================================
   LOCAUX
   ========================================================= */

.compteur-locaux[b-ru0cbalcku] {
    padding: 0.35rem 0.6rem;
    border-radius: 7px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}

.grille-locaux[b-ru0cbalcku] {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 0.75rem;
}

.carte-local[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-height: 110px;
    padding: 0.9rem;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #f8fafc;
    cursor: pointer;
    text-align: left;
}

.carte-local:hover[b-ru0cbalcku] {
    border-color: #94a3b8;
    background: #f1f5f9;
}

.carte-local-selectionnee[b-ru0cbalcku] {
    border-color: #0f172a;
    background: #eef2ff;
    box-shadow: 0 0 0 1px #0f172a;
}

.local-icone[b-ru0cbalcku] {
    font-size: 1rem;
}

.local-numero[b-ru0cbalcku] {
    margin-top: 0.15rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.local-selection[b-ru0cbalcku],
.local-selectionner[b-ru0cbalcku] {
    margin-top: auto;
    font-size: 0.72rem;
    font-weight: 700;
}

.local-selection[b-ru0cbalcku] {
    color: #166534;
}

.local-selectionner[b-ru0cbalcku] {
    color: #64748b;
}


/* =========================================================
   CALENDRIER DU LOCAL
   ========================================================= */

.carte-calendrier-local[b-ru0cbalcku] {
    border-left: 4px solid #0f172a;
}

.legende-calendrier[b-ru0cbalcku] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem 0.9rem;
}

.legende-item[b-ru0cbalcku] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
}

.legende-puce[b-ru0cbalcku] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
}

.etat-libre[b-ru0cbalcku] {
    background: #22c55e;
}

.etat-reserve[b-ru0cbalcku] {
    background: #ef4444;
}

.etat-indisponible[b-ru0cbalcku] {
    background: #cbd5e1;
}

.etat-sans-horaire[b-ru0cbalcku] {
    background: #f59e0b;
}


/* =========================================================
   TABLEAU CALENDRIER
   ========================================================= */

.calendrier-local-wrapper[b-ru0cbalcku] {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.calendrier-local-table[b-ru0cbalcku] {
    width: 100%;
    min-width: 1450px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.calendrier-local-table th[b-ru0cbalcku],
.calendrier-local-table td[b-ru0cbalcku] {
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.calendrier-local-table thead th[b-ru0cbalcku] {
    border-top: 1px solid #e2e8f0;
}

.calendrier-local-table th:first-child[b-ru0cbalcku],
.calendrier-local-table td:first-child[b-ru0cbalcku] {
    border-left: 1px solid #e2e8f0;
}


/* =========================================================
   ENTÊTES DES JOURS
   ========================================================= */

.colonne-periode[b-ru0cbalcku] {
    width: 120px;
    padding: 0.75rem;
    background: #0f172a;
    color: white;
    font-size: 0.72rem;
    font-weight: 800;
    text-align: left;
    vertical-align: middle;
}

.calendrier-entete-jour[b-ru0cbalcku] {
    min-width: 92px;
    padding: 0.65rem 0.45rem;
    background: #f8fafc;
    text-align: center;
    vertical-align: middle;
}

.calendrier-entete-selectionne[b-ru0cbalcku] {
    background: #e0e7ff;
    box-shadow: inset 0 3px 0 #0f172a;
}

.calendrier-jour-semaine[b-ru0cbalcku] {
    color: #64748b;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.calendrier-date[b-ru0cbalcku] {
    margin-top: 0.15rem;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 800;
}

.calendrier-cycle[b-ru0cbalcku] {
    margin-top: 0.15rem;
    color: #94a3b8;
    font-size: 0.65rem;
    font-weight: 700;
}


/* =========================================================
   LIGNES DE PÉRIODES
   ========================================================= */

.ligne-periode[b-ru0cbalcku] {
    width: 120px;
    padding: 0.7rem;
    background: #f8fafc;
    text-align: left;
    vertical-align: middle;
}

.ligne-periode strong[b-ru0cbalcku] {
    display: block;
    color: #0f172a;
    font-size: 0.8rem;
}

.ligne-periode span[b-ru0cbalcku] {
    display: block;
    margin-top: 0.15rem;
    color: #94a3b8;
    font-size: 0.64rem;
    line-height: 1.25;
}


/* =========================================================
   CASES DU CALENDRIER
   ========================================================= */

.calendrier-case[b-ru0cbalcku] {
    height: 76px;
    padding: 0.4rem;
    text-align: center;
    vertical-align: middle;
}

.case-calendrier-contenu[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 58px;
    border-radius: 7px;
    padding: 0.35rem;
}

.case-statut[b-ru0cbalcku] {
    font-size: 0.67rem;
    font-weight: 800;
    line-height: 1.15;
}

.case-choix[b-ru0cbalcku] {
    padding: 0.15rem 0.3rem;
    border-radius: 999px;
    background: #0f172a;
    color: white;
    font-size: 0.55rem;
    font-weight: 800;
    white-space: nowrap;
}


/* =========================================================
   ÉTAT : LIBRE
   ========================================================= */

.calendrier-case-libre[b-ru0cbalcku] {
    background: #f0fdf4;
}

.calendrier-case-libre .case-calendrier-contenu[b-ru0cbalcku] {
    background: #dcfce7;
}

.calendrier-case-libre .case-statut[b-ru0cbalcku] {
    color: #166534;
}


/* =========================================================
   ÉTAT : RÉSERVÉ
   ========================================================= */

.calendrier-case-reserve[b-ru0cbalcku] {
    background: #fef2f2;
}

.calendrier-case-reserve .case-calendrier-contenu[b-ru0cbalcku] {
    background: #fee2e2;
}

.calendrier-case-reserve .case-statut[b-ru0cbalcku] {
    color: #991b1b;
}


/* =========================================================
   ÉTAT : NON DISPONIBLE
   ========================================================= */

.calendrier-case-indisponible[b-ru0cbalcku] {
    background: #f8fafc;
}

.calendrier-case-indisponible .case-calendrier-contenu[b-ru0cbalcku] {
    background: #f1f5f9;
}

.calendrier-case-indisponible .case-statut[b-ru0cbalcku] {
    color: #94a3b8;
}


/* =========================================================
   ÉTAT : SANS HORAIRE
   ========================================================= */

.calendrier-case-sans-horaire[b-ru0cbalcku] {
    background: #fffbeb;
}

.calendrier-case-sans-horaire .case-calendrier-contenu[b-ru0cbalcku] {
    background: #fef3c7;
}

.calendrier-case-sans-horaire .case-statut[b-ru0cbalcku] {
    color: #92400e;
}


/* =========================================================
   FORMULAIRE
   ========================================================= */

.carte-confirmation[b-ru0cbalcku] {
    border-left: 4px solid #0f172a;
}

.local-selectionne-badge[b-ru0cbalcku] {
    padding: 0.45rem 0.75rem;
    border-radius: 8px;
    background: #0f172a;
    color: white;
    font-weight: 800;
}

.grille-formulaire[b-ru0cbalcku] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
}

.champ-large[b-ru0cbalcku] {
    min-width: 0;
}

.champ-commentaire[b-ru0cbalcku] {
    grid-column: 1 / -1;
}


/* =========================================================
   RÉSUMÉ
   ========================================================= */

.resume-reservation[b-ru0cbalcku] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border-radius: 10px;
    background: #f8fafc;
}

.resume-element[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.resume-libelle[b-ru0cbalcku] {
    color: #94a3b8;
    font-size: 0.72rem;
}

.resume-element strong[b-ru0cbalcku] {
    color: #0f172a;
    font-size: 0.88rem;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.actions[b-ru0cbalcku] {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 1rem;
}

.btn-principal[b-ru0cbalcku],
.btn-secondaire[b-ru0cbalcku] {
    border: 0;
    cursor: pointer;
    min-height: 42px;
    padding: 0.65rem 1rem;
    border-radius: 8px;
    font-weight: 700;
}

.btn-principal[b-ru0cbalcku] {
    background: #0f172a;
    color: white;
}

.btn-secondaire[b-ru0cbalcku] {
    background: #f1f5f9;
    color: #334155;
}

.btn-principal:disabled[b-ru0cbalcku],
.btn-secondaire:disabled[b-ru0cbalcku] {
    opacity: 0.55;
    cursor: default;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.etat-vide[b-ru0cbalcku] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2.5rem 1rem;
    text-align: center;
    color: #64748b;
}

.etat-vide strong[b-ru0cbalcku] {
    color: #334155;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .grille-locaux[b-ru0cbalcku] {
        grid-template-columns: repeat(4, 1fr);
    }

    .carte-calendrier-local .carte-entete[b-ru0cbalcku] {
        flex-direction: column;
    }

    .legende-calendrier[b-ru0cbalcku] {
        justify-content: flex-start;
    }
}


@media (max-width: 850px) {

    .grille-locaux[b-ru0cbalcku] {
        grid-template-columns: repeat(3, 1fr);
    }

    .resume-reservation[b-ru0cbalcku] {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 650px) {

    .page-entete h1[b-ru0cbalcku] {
        font-size: 1.6rem;
    }

    .selection-moment[b-ru0cbalcku] {
        flex-direction: column;
        align-items: stretch;
    }

    .grille-locaux[b-ru0cbalcku] {
        grid-template-columns: repeat(2, 1fr);
    }

    .grille-formulaire[b-ru0cbalcku] {
        grid-template-columns: 1fr;
    }

    .champ-commentaire[b-ru0cbalcku] {
        grid-column: auto;
    }

    .actions[b-ru0cbalcku] {
        flex-direction: column-reverse;
    }

    .actions button[b-ru0cbalcku] {
        width: 100%;
    }

    .calendrier-local-table[b-ru0cbalcku] {
        min-width: 1350px;
    }
}
/* /Components/Pages/SecuriteCompte.razor.rz.scp.css */
.security-page[b-0j44ayxkli] {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 40px;
}

.security-header[b-0j44ayxkli] {
    margin-bottom: 22px;
}

.eyebrow[b-0j44ayxkli] {
    display: block;
    margin-bottom: 5px;

    color: #6c4ccf;

    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.security-header h1[b-0j44ayxkli] {
    margin: 0 0 6px;
}

.security-header p[b-0j44ayxkli] {
    margin: 0;
    color: #69717d;
}

.security-card[b-0j44ayxkli] {
    padding: 28px;

    background: white;

    border: 1px solid #e0e4ea;
    border-radius: 16px;

    box-shadow:
        0 4px 18px
        rgba(0, 0, 0, .05);
}

.security-card h2[b-0j44ayxkli] {
    margin-top: 8px;
}

.security-icon[b-0j44ayxkli],
.status-icon[b-0j44ayxkli] {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 13px;

    font-size: 1.35rem;
}

.security-icon[b-0j44ayxkli] {
    background: #f1ecff;
}

.status-icon[b-0j44ayxkli] {
    flex-shrink: 0;

    background: #e9f8ee;

    color: #147a35;

    font-weight: 900;
}

.active-card[b-0j44ayxkli] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.activation-date[b-0j44ayxkli] {
    color: #69717d;
    font-size: .8rem;
}

.primary-button[b-0j44ayxkli] {
    padding: 10px 16px;

    background: #43218f;

    border: 0;
    border-radius: 9px;

    color: white;

    cursor: pointer;

    font-weight: 800;
}

.primary-button:disabled[b-0j44ayxkli] {
    opacity: .55;
    cursor: default;
}

.setup-card[b-0j44ayxkli] {
    text-align: center;
}

.step-number[b-0j44ayxkli] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    background: #43218f;
    border-radius: 50%;

    color: white;

    font-size: .8rem;
    font-weight: 900;
}

.qr-container[b-0j44ayxkli] {
    display: inline-flex;

    margin: 18px auto;

    padding: 16px;

    background: white;

    border: 1px solid #dde2e8;
    border-radius: 14px;
}

.qr-container[b-0j44ayxkli]  svg {
    width: 230px;
    height: 230px;
}

.manual-key[b-0j44ayxkli] {
    max-width: 520px;
    margin: 0 auto;

    text-align: left;
}

.manual-key summary[b-0j44ayxkli] {
    cursor: pointer;
    font-weight: 700;
}

.manual-key code[b-0j44ayxkli] {
    display: block;

    margin-top: 10px;
    padding: 12px;

    overflow-wrap: anywhere;

    background: #f5f6f8;

    border-radius: 8px;

    font-size: .8rem;
}

.step-divider[b-0j44ayxkli] {
    height: 1px;

    margin: 30px 0;

    background: #e3e6eb;
}

.code-row[b-0j44ayxkli] {
    display: flex;
    justify-content: center;
    gap: 10px;

    margin-top: 18px;
}

.code-row input[b-0j44ayxkli] {
    width: 150px;

    padding: 10px 12px;

    border: 1px solid #cbd2dc;
    border-radius: 9px;

    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .18em;

    text-align: center;
}

.security-message[b-0j44ayxkli] {
    margin-top: 15px;
    padding: 11px 13px;

    border-radius: 9px;

    font-size: .85rem;
}

.security-message.error[b-0j44ayxkli] {
    background: #fff1f1;
    border: 1px solid #f1c7c7;

    color: #922b2b;
}

@media (max-width: 640px) {
    .security-page[b-0j44ayxkli] {
        padding: 0 12px 30px;
    }

    .security-card[b-0j44ayxkli] {
        padding: 20px;
    }

    .code-row[b-0j44ayxkli] {
        flex-direction: column;
    }

    .code-row input[b-0j44ayxkli],
    .primary-button[b-0j44ayxkli] {
        width: 100%;
    }
}
/* /Components/Pages/TempsCompense.razor.rz.scp.css */
/* =========================================================
   AGORA — TEMPS COMPENSÉ
   ========================================================= */

.time-page[b-seohwh8txe] {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 50px;
}

.page-header[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.page-header h1[b-seohwh8txe] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.page-header p[b-seohwh8txe] {
    margin: 5px 0 0;
    color: var(--dlc-muted);
    font-size: 0.86rem;
}

.page-header p strong[b-seohwh8txe] {
    color: var(--dlc-navy);
}

.header-actions[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.secondary-header-button[b-seohwh8txe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 0 15px;
    color: var(--dlc-navy);
    background: white;
    border: 1px solid #D8DEE7;
    border-radius: 9px;
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 750;
}

.secondary-header-button:hover[b-seohwh8txe] {
    color: var(--dlc-navy);
    background: #F6F7F9;
}

.new-request-button[b-seohwh8txe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex-shrink: 0;
    min-height: 43px;
    padding: 0 17px;
    color: white;
    background: var(--dlc-navy);
    border-radius: 9px;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 750;
    box-shadow: 0 4px 12px rgba(9, 22, 63, 0.13);
    transition: background 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.new-request-button:hover[b-seohwh8txe] {
    color: white;
    background: var(--dlc-navy-light);
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(9, 22, 63, 0.17);
}

.button-plus[b-seohwh8txe] {
    font-size: 1.15rem;
    line-height: 1;
}

.balance-grid[b-seohwh8txe] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 18px;
}

.balance-card[b-seohwh8txe] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    min-height: 105px;
    padding: 17px;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 13px;
    box-shadow: var(--dlc-shadow-sm);
}

.balance-card.bank[b-seohwh8txe] { border-top: 4px solid var(--dlc-navy); }
.balance-card.payable[b-seohwh8txe] { border-top: 4px solid var(--dlc-lime); }
.balance-card.pending[b-seohwh8txe] { border-top: 4px solid #D99A22; }
.balance-card.paid[b-seohwh8txe] { border-top: 4px solid #51946B; }

.balance-icon[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    color: var(--dlc-navy);
    background: #F0F3F8;
    border-radius: 11px;
    font-size: 1rem;
    font-weight: 800;
}

.balance-card.payable .balance-icon[b-seohwh8txe],
.balance-card.paid .balance-icon[b-seohwh8txe] {
    color: #286443;
    background: #EAF6EF;
}

.balance-card.pending .balance-icon[b-seohwh8txe] {
    color: #936000;
    background: #FFF3DA;
}

.balance-content[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.balance-label[b-seohwh8txe] {
    color: var(--dlc-muted);
    font-size: 0.65rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.balance-value[b-seohwh8txe] {
    margin-top: 2px;
    color: var(--dlc-navy);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.balance-note[b-seohwh8txe] {
    margin-top: 3px;
    color: #8C939E;
    font-size: 0.64rem;
    line-height: 1.3;
}

.balance-note strong[b-seohwh8txe] { color: #555D68; }

.section-card[b-seohwh8txe],
.admin-card[b-seohwh8txe] {
    margin-bottom: 18px;
    overflow: hidden;
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 14px;
    box-shadow: var(--dlc-shadow-sm);
}

.section-header[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 20px;
    border-bottom: 1px solid var(--dlc-border);
}

.section-header h2[b-seohwh8txe] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 0.98rem;
    font-weight: 800;
}

.section-header p[b-seohwh8txe] {
    margin: 3px 0 0;
    color: var(--dlc-muted);
    font-size: 0.70rem;
}

.section-badge[b-seohwh8txe] {
    flex-shrink: 0;
    padding: 5px 9px;
    color: #936000;
    background: #FFF2D6;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 750;
}

.section-badge.neutral[b-seohwh8txe] {
    color: var(--dlc-navy);
    background: #EEF1F7;
}

.requests-list[b-seohwh8txe],
.payments-list[b-seohwh8txe] {
    width: 100%;
}

.request-row[b-seohwh8txe] {
    display: grid;
    grid-template-columns:
        minmax(230px, 1.6fr)
        minmax(90px, 0.55fr)
        minmax(100px, 0.65fr)
        minmax(170px, 1fr)
        minmax(105px, 0.65fr);
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-bottom: 1px solid #EDF0F3;
    transition: background 150ms ease;
}

.request-row:last-child[b-seohwh8txe],
.payment-row:last-child[b-seohwh8txe] { border-bottom: none; }

.request-row:hover[b-seohwh8txe],
.payment-row:hover[b-seohwh8txe] { background: #FBFCFD; }

.request-main[b-seohwh8txe],
.payment-main[b-seohwh8txe] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.request-main > div[b-seohwh8txe],
.payment-main > div[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.request-main strong[b-seohwh8txe],
.payment-main strong[b-seohwh8txe] {
    overflow: hidden;
    color: var(--dlc-navy);
    font-size: 0.76rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.request-main > div > span[b-seohwh8txe],
.payment-main span:last-child[b-seohwh8txe] {
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 0.65rem;
}

.request-icon[b-seohwh8txe],
.payment-icon[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-weight: 800;
}

.request-icon.declaration[b-seohwh8txe] {
    color: #267345;
    background: #EAF6EF;
}

.request-icon.reprise[b-seohwh8txe] {
    color: #956000;
    background: #FFF2D6;
}

.payment-icon[b-seohwh8txe] {
    color: #267345;
    background: #EAF6EF;
}

.request-info[b-seohwh8txe],
.payment-info[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.column-label[b-seohwh8txe] {
    color: #9299A4;
    font-size: 0.59rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.request-info strong[b-seohwh8txe],
.payment-info strong[b-seohwh8txe] {
    margin-top: 2px;
    overflow: hidden;
    color: #454D58;
    font-size: 0.70rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.request-status[b-seohwh8txe] { text-align: right; }

.status-pill[b-seohwh8txe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 750;
}

.status-pill.pending[b-seohwh8txe] { color: #956000; background: #FFF2D6; }
.status-pill.approved[b-seohwh8txe] { color: #267345; background: #E9F6EE; }
.status-pill.refused[b-seohwh8txe] { color: #A52732; background: #FCEAEC; }

.decision-comment[b-seohwh8txe],
.payment-comment[b-seohwh8txe] {
    grid-column: 1 / -1;
    margin-top: -2px;
    padding: 9px 11px;
    color: #535B66;
    background: #F8F9FB;
    border-radius: 7px;
    font-size: 0.68rem;
}

.decision-comment span[b-seohwh8txe] {
    display: block;
    margin-bottom: 2px;
    color: #888F99;
    font-size: 0.59rem;
    font-weight: 700;
    text-transform: uppercase;
}

.decision-comment p[b-seohwh8txe] { margin: 0; }

.payment-row[b-seohwh8txe] {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        minmax(100px, 0.7fr)
        minmax(100px, 0.7fr)
        minmax(180px, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-bottom: 1px solid #EDF0F3;
    transition: background 150ms ease;
}

.payment-duration[b-seohwh8txe] {
    color: #267345 !important;
    font-weight: 800 !important;
}

.admin-card[b-seohwh8txe] { padding: 19px 20px; }

.admin-header[b-seohwh8txe] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
}

.admin-header-icon[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: var(--dlc-navy);
    background: #EEF1F7;
    border-radius: 9px;
}

.admin-header h2[b-seohwh8txe] {
    margin: 0;
    color: var(--dlc-navy);
    font-size: 0.92rem;
    font-weight: 800;
}

.admin-header p[b-seohwh8txe] {
    margin: 2px 0 0;
    color: var(--dlc-muted);
    font-size: 0.68rem;
}

.admin-grid[b-seohwh8txe] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-action[b-seohwh8txe] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px;
    color: var(--dlc-text);
    border: 0;
    border-radius: 10px;
    text-align: left;
    text-decoration: none;
    font: inherit;
    cursor: pointer;
    transition: transform 150ms ease, box-shadow 150ms ease;
}

.admin-action:hover[b-seohwh8txe] {
    color: var(--dlc-text);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(9, 22, 63, 0.06);
}

.admin-action.approvals[b-seohwh8txe] { background: #FFF4DF; }
.admin-action.payments[b-seohwh8txe] { background: #EAF6EF; }
.admin-action.corrections[b-seohwh8txe] { background: #F2ECF8; }

.admin-action-icon[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 8px;
    font-weight: 800;
}

.admin-action-content[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-action-content strong[b-seohwh8txe] {
    color: var(--dlc-navy);
    font-size: 0.73rem;
}

.admin-action-content small[b-seohwh8txe] {
    margin-top: 2px;
    overflow: hidden;
    color: #6F7781;
    font-size: 0.63rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-arrow[b-seohwh8txe] {
    color: var(--dlc-navy);
    font-size: 0.9rem;
    font-weight: 700;
}

/* =========================================================
   VUE D'ENSEMBLE ET HISTORIQUE
   ========================================================= */

.overview-card[b-seohwh8txe],
.history-card[b-seohwh8txe],
.correction-card[b-seohwh8txe] {
    overflow: visible;
}

.table-scroll[b-seohwh8txe] {
    width: 100%;
    overflow-x: auto;
}

.overview-table[b-seohwh8txe],
.history-table[b-seohwh8txe] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
}

.overview-table th[b-seohwh8txe],
.history-table th[b-seohwh8txe] {
    padding: 11px 12px;
    color: #5D6672;
    background: #F7F8FA;
    border-bottom: 1px solid var(--dlc-border);
    text-align: left;
    font-size: 0.63rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

.overview-table td[b-seohwh8txe],
.history-table td[b-seohwh8txe] {
    padding: 11px 12px;
    color: #454D58;
    border-bottom: 1px solid #EDF0F3;
    vertical-align: middle;
}

.overview-table tbody tr:last-child td[b-seohwh8txe],
.history-table tbody tr:last-child td[b-seohwh8txe] {
    border-bottom: none;
}

.overview-table tbody tr:hover[b-seohwh8txe],
.history-table tbody tr:hover[b-seohwh8txe] {
    background: #FBFCFD;
}

.employee-cell[b-seohwh8txe] {
    color: var(--dlc-navy) !important;
    font-weight: 750;
}

.balance-cell[b-seohwh8txe] {
    color: var(--dlc-navy) !important;
    font-weight: 800;
    white-space: nowrap;
}

.overview-actions[b-seohwh8txe],
.history-actions[b-seohwh8txe] {
    width: 1%;
    text-align: right;
    white-space: nowrap;
}

.small-action-button[b-seohwh8txe] {
    padding: 5px 9px;
    color: var(--dlc-navy);
    background: #EEF1F7;
    border: 1px solid #D9DEE7;
    border-radius: 7px;
    font-size: 0.62rem;
    font-weight: 750;
    cursor: pointer;
}

.small-action-button:hover[b-seohwh8txe] {
    background: #E4E8F0;
}

.correction-button[b-seohwh8txe] {
    color: #6C3B8A;
    background: #F4EDF9;
    border-color: #E5D5EF;
}

.correction-button:hover[b-seohwh8txe] { background: #EDE1F5; }

.history-filters[b-seohwh8txe] {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 20px;
    background: #FCFCFD;
    border-bottom: 1px solid var(--dlc-border);
}

.history-filters label[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 190px;
}

.history-filters label span[b-seohwh8txe],
.form-field > span[b-seohwh8txe] {
    color: #69717C;
    font-size: 0.62rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.history-filters select[b-seohwh8txe],
.form-field select[b-seohwh8txe],
.form-field input[b-seohwh8txe],
.form-field textarea[b-seohwh8txe] {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    color: #3E4651;
    background: white;
    border: 1px solid #D8DEE7;
    border-radius: 8px;
    font-size: 0.72rem;
    outline: none;
}

.history-filters select:focus[b-seohwh8txe],
.form-field select:focus[b-seohwh8txe],
.form-field input:focus[b-seohwh8txe],
.form-field textarea:focus[b-seohwh8txe] {
    border-color: #A5B2C7;
    box-shadow: 0 0 0 3px rgba(9, 22, 63, 0.06);
}

.clear-filter-button[b-seohwh8txe] {
    min-height: 38px;
    padding: 0 12px;
    color: #66707C;
    background: white;
    border: 1px solid #D8DEE7;
    border-radius: 8px;
    font-size: 0.66rem;
    font-weight: 700;
    cursor: pointer;
}

.date-cell[b-seohwh8txe] {
    white-space: nowrap;
}

.date-cell small[b-seohwh8txe] {
    display: block;
    margin-top: 2px;
    color: #9299A4;
    font-size: 0.58rem;
}

.comment-cell[b-seohwh8txe] {
    min-width: 220px;
    max-width: 420px;
    line-height: 1.4;
}

.movement-type[b-seohwh8txe] {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    color: #5D6672;
    background: #F0F2F5;
    border-radius: 999px;
    font-size: 0.61rem;
    font-weight: 750;
    white-space: nowrap;
}

.movement-type.declaration[b-seohwh8txe] { color: #267345; background: #E9F6EE; }
.movement-type.reprise[b-seohwh8txe] { color: #956000; background: #FFF2D6; }
.movement-type.paiement[b-seohwh8txe] { color: #2A5F78; background: #E9F4F8; }
.movement-type.correction[b-seohwh8txe] { color: #6C3B8A; background: #F2EAF7; }

.variation-cell[b-seohwh8txe] {
    font-weight: 800;
    white-space: nowrap;
}

.variation-cell.positive[b-seohwh8txe] { color: #267345 !important; }
.variation-cell.negative[b-seohwh8txe] { color: #A52732 !important; }

.correction-row[b-seohwh8txe] { background: #FCF9FE; }

/* =========================================================
   FORMULAIRE DE CORRECTION
   ========================================================= */

.correction-form[b-seohwh8txe] {
    padding: 18px 20px 20px;
}

.close-correction-button[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #69717C;
    background: #F2F3F6;
    border: 0;
    border-radius: 8px;
    font-size: 1.15rem;
    cursor: pointer;
}

.correction-message[b-seohwh8txe] {
    margin-bottom: 14px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.72rem;
    font-weight: 650;
}

.correction-message.success[b-seohwh8txe] {
    color: #23613F;
    background: #EAF6EF;
    border: 1px solid #CDE9D7;
}

.correction-message.error[b-seohwh8txe] {
    color: #942630;
    background: #FCEAEC;
    border: 1px solid #F2C9CE;
}

.correction-origin[b-seohwh8txe] {
    margin-bottom: 14px;
    padding: 9px 11px;
    color: #6C3B8A;
    background: #F6F0FA;
    border-left: 3px solid #B67BFF;
    border-radius: 6px;
    font-size: 0.68rem;
}

.correction-grid[b-seohwh8txe] {
    display: grid;
    grid-template-columns: minmax(230px, 1.6fr) minmax(150px, 0.8fr) minmax(140px, 0.7fr) 100px 100px;
    gap: 12px;
    align-items: end;
}

.form-field[b-seohwh8txe] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.form-field textarea[b-seohwh8txe] {
    min-height: 82px;
    resize: vertical;
    line-height: 1.4;
}

.comment-field[b-seohwh8txe] {
    margin-top: 14px;
}

.comment-field > span strong[b-seohwh8txe] { color: #A52732; }

.current-balances[b-seohwh8txe] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 12px;
    padding: 9px 11px;
    color: #69717C;
    background: #F8F9FB;
    border-radius: 7px;
    font-size: 0.66rem;
}

.current-balances strong[b-seohwh8txe] { color: var(--dlc-navy); }

.correction-footer[b-seohwh8txe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
}

.trace-note[b-seohwh8txe] {
    color: #7B838D;
    font-size: 0.65rem;
}

.trace-note strong[b-seohwh8txe] { color: #555D68; }

.save-correction-button[b-seohwh8txe] {
    min-height: 40px;
    padding: 0 15px;
    color: white;
    background: var(--dlc-navy);
    border: 0;
    border-radius: 8px;
    font-size: 0.69rem;
    font-weight: 750;
    cursor: pointer;
}

.save-correction-button:disabled[b-seohwh8txe] {
    cursor: wait;
    opacity: 0.65;
}

/* =========================================================
   ÉTATS
   ========================================================= */

.empty-state[b-seohwh8txe] {
    padding: 42px 20px;
    text-align: center;
}

.empty-state.compact[b-seohwh8txe] { padding: 32px 20px; }

.empty-icon[b-seohwh8txe] {
    margin-bottom: 8px;
    font-size: 1.7rem;
}

.empty-state h3[b-seohwh8txe] {
    margin: 0 0 4px;
    color: var(--dlc-navy);
    font-size: 0.85rem;
}

.empty-state p[b-seohwh8txe] {
    margin: 0 auto;
    max-width: 540px;
    color: var(--dlc-muted);
    font-size: 0.71rem;
    line-height: 1.45;
}

.loading-card[b-seohwh8txe] {
    padding: 42px 20px;
    color: var(--dlc-muted);
    background: white;
    border: 1px solid var(--dlc-border);
    border-radius: 13px;
    text-align: center;
    font-size: 0.74rem;
    box-shadow: var(--dlc-shadow-sm);
}

.access-denied[b-seohwh8txe] {
    padding: 60px 20px;
    text-align: center;
}

.access-icon[b-seohwh8txe] {
    margin-bottom: 12px;
    font-size: 2.5rem;
}

.access-denied h2[b-seohwh8txe] {
    margin-bottom: 6px;
    color: var(--dlc-navy);
}

.access-denied p[b-seohwh8txe] { color: var(--dlc-muted); }

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {
    .correction-grid[b-seohwh8txe] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .employee-field[b-seohwh8txe] { grid-column: span 2; }
}

@media (max-width: 1050px) {
    .balance-grid[b-seohwh8txe] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .request-row[b-seohwh8txe] {
        grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(100px, 0.7fr));
    }

    .request-info.approver[b-seohwh8txe] { grid-column: 1 / 3; }
    .request-status[b-seohwh8txe] { text-align: left; }
}

@media (max-width: 800px) {
    .payment-row[b-seohwh8txe] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-grid[b-seohwh8txe] { grid-template-columns: 1fr; }

    .correction-grid[b-seohwh8txe] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .employee-field[b-seohwh8txe] { grid-column: 1 / -1; }

    .correction-footer[b-seohwh8txe] {
        align-items: stretch;
        flex-direction: column;
    }

    .save-correction-button[b-seohwh8txe] { width: 100%; }
}

@media (max-width: 650px) {
    .page-header[b-seohwh8txe] {
        align-items: stretch;
        flex-direction: column;
    }

    .page-header h1[b-seohwh8txe] { font-size: 1.65rem; }
    .header-actions[b-seohwh8txe] {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .new-request-button[b-seohwh8txe],
    .secondary-header-button[b-seohwh8txe] { width: 100%; }
    .balance-grid[b-seohwh8txe] { grid-template-columns: 1fr; }

    .request-row[b-seohwh8txe],
    .payment-row[b-seohwh8txe] {
        grid-template-columns: 1fr;
    }

    .request-info.approver[b-seohwh8txe],
    .decision-comment[b-seohwh8txe],
    .payment-comment[b-seohwh8txe] {
        grid-column: auto;
    }

    .request-status[b-seohwh8txe] { text-align: left; }

    .section-header[b-seohwh8txe] {
        align-items: flex-start;
        flex-direction: column;
    }

    .history-filters[b-seohwh8txe] {
        align-items: stretch;
        flex-direction: column;
    }

    .history-filters label[b-seohwh8txe] { min-width: 0; }

    .correction-grid[b-seohwh8txe] {
        grid-template-columns: 1fr;
    }

    .employee-field[b-seohwh8txe] { grid-column: auto; }
}
/* /Components/Pages/TraitementAbsences.razor.rz.scp.css */
/* =========================================================
   TRAITEMENT DES ABSENCES — AGORA
   ========================================================= */


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-header[b-1c93w3ijgd] {
    margin-bottom: 22px;
}


.page-header h1[b-1c93w3ijgd] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 2rem;
    font-weight: 800;
}


.page-header p[b-1c93w3ijgd] {
    margin: 6px 0 0;

    color: var(--dlc-muted);
}


/* =========================================================
   MESSAGES
   ========================================================= */

.alert-message[b-1c93w3ijgd] {
    padding: 12px 16px;

    margin-bottom: 18px;

    border-radius: var(--dlc-radius);

    font-size: .82rem;
    font-weight: 700;
}


.alert-message.success[b-1c93w3ijgd] {
    color: var(--dlc-success);

    background: var(--dlc-success-bg);
}


.alert-message.error[b-1c93w3ijgd] {
    color: var(--dlc-danger-dark);

    background: var(--dlc-danger-bg);
}


/* =========================================================
   ONGLETS
   ========================================================= */

.tabs[b-1c93w3ijgd] {
    display: flex;

    gap: 8px;

    margin-bottom: 16px;
}


.tab-button[b-1c93w3ijgd] {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    min-height: 42px;

    padding: 0 15px;

    color: var(--dlc-muted);

    cursor: pointer;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius);

    font-size: .8rem;
    font-weight: 800;
}


.tab-button:hover[b-1c93w3ijgd] {
    color: var(--dlc-navy);

    background: #F8F9FB;
}


.tab-button.active[b-1c93w3ijgd] {
    color: white;

    background: #0f172a;

    border-color: #0f172a;
}


.tab-button span[b-1c93w3ijgd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 22px;
    height: 22px;

    padding: 0 6px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .14);

    font-size: .66rem;
}


/* =========================================================
   FILTRES
   ========================================================= */

.filters-card[b-1c93w3ijgd] {
    display: grid;

    grid-template-columns:
        155px
        155px
        minmax(220px, 1fr)
        auto;

    align-items: end;

    gap: 14px;

    padding: 16px;

    margin-bottom: 18px;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow-sm);
}


.filter-field[b-1c93w3ijgd] {
    display: flex;

    flex-direction: column;

    gap: 6px;
}


.filter-field label[b-1c93w3ijgd] {
    color: var(--dlc-text);

    font-size: .72rem;
    font-weight: 800;
}


.filter-field input[b-1c93w3ijgd] {
    width: 100%;

    min-height: 40px;

    padding: 8px 10px;

    color: var(--dlc-text);

    background: white;

    border: 1px solid var(--dlc-border-dark);

    border-radius: var(--dlc-radius-sm);

    font: inherit;
    font-size: .8rem;
}


.filter-field input:focus[b-1c93w3ijgd] {
    outline: none;

    border-color: var(--dlc-purple);

    box-shadow:
        0 0 0 3px
        rgba(182, 123, 255, .10);
}


.secondary-button[b-1c93w3ijgd] {
    min-height: 40px;

    padding: 0 14px;

    color: var(--dlc-navy);

    cursor: pointer;

    background: white;

    border: 1px solid var(--dlc-border-dark);

    border-radius: var(--dlc-radius-sm);

    font-size: .76rem;
    font-weight: 800;
}


.secondary-button:hover[b-1c93w3ijgd] {
    background: #F8F9FB;
}


/* =========================================================
   CARTES
   ========================================================= */

.content-card[b-1c93w3ijgd] {
    overflow: hidden;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow);
}


.content-card-header[b-1c93w3ijgd] {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 22px;

    border-bottom: 1px solid var(--dlc-border);
}


.content-card-header h2[b-1c93w3ijgd] {
    margin: 0;

    color: var(--dlc-navy);

    font-size: 1.05rem;
    font-weight: 800;
}


.content-card-header p[b-1c93w3ijgd] {
    margin: 4px 0 0;

    color: var(--dlc-muted);

    font-size: .76rem;
}


/* =========================================================
   TABLEAUX
   ========================================================= */

.table-container[b-1c93w3ijgd] {
    width: 100%;

    overflow-x: auto;
}


.absence-table[b-1c93w3ijgd] {
    width: 100%;

    min-width: 850px;

    border-collapse: collapse;
}


.teacher-table[b-1c93w3ijgd] {
    min-width: 1350px;
}


.absence-table th[b-1c93w3ijgd] {
    padding: 11px 12px;

    color: var(--dlc-muted);

    background: #F8F9FB;

    border-bottom: 1px solid var(--dlc-border);

    font-size: .68rem;
    font-weight: 800;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: .025em;

    white-space: nowrap;
}


.absence-table td[b-1c93w3ijgd] {
    padding: 12px;

    color: var(--dlc-text);

    border-bottom: 1px solid var(--dlc-border);

    font-size: .78rem;

    vertical-align: middle;
}


.absence-table tbody tr:last-child td[b-1c93w3ijgd] {
    border-bottom: 0;
}


.absence-table tbody tr:hover[b-1c93w3ijgd] {
    background: #FAFBFD;
}


.date-column[b-1c93w3ijgd] {
    white-space: nowrap;
}


.employee-column[b-1c93w3ijgd] {
    min-width: 165px;
}


.reason-column[b-1c93w3ijgd] {
    min-width: 160px;
}


.work-column[b-1c93w3ijgd] {
    min-width: 250px;
}


.work-cell[b-1c93w3ijgd] {
    min-width: 250px;

    max-width: 380px;

    white-space: normal;

    line-height: 1.4;
}


.check-column[b-1c93w3ijgd] {
    width: 110px;

    text-align: center !important;
}


.check-cell[b-1c93w3ijgd] {
    text-align: center;
}


/* =========================================================
   TRI
   ========================================================= */

.sort-button[b-1c93w3ijgd] {
    padding: 0;

    color: inherit;

    cursor: pointer;

    background: transparent;

    border: 0;

    font: inherit;
    font-weight: inherit;

    text-transform: inherit;

    letter-spacing: inherit;
}


.sort-button:hover[b-1c93w3ijgd] {
    color: var(--dlc-navy);
}


/* =========================================================
   CHAMPS DU TABLEAU
   ========================================================= */

.table-input[b-1c93w3ijgd] {
    width: 150px;

    min-height: 34px;

    padding: 6px 8px;

    color: var(--dlc-text);

    background: white;

    border: 1px solid var(--dlc-border-dark);

    border-radius: 6px;

    font: inherit;

    font-size: .76rem;
}


.table-input:focus[b-1c93w3ijgd] {
    outline: none;

    border-color: var(--dlc-purple);

    box-shadow:
        0 0 0 2px
        rgba(182, 123, 255, .10);
}


.local-input[b-1c93w3ijgd] {
    width: 95px;
}


/* =========================================================
   PÉRIODE
   ========================================================= */

.period-badge[b-1c93w3ijgd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 32px;

    padding: 5px 8px;

    color: var(--dlc-navy);

    background: rgba(182, 123, 255, .14);

    border-radius: 999px;

    font-size: .7rem;
    font-weight: 900;
}


/* =========================================================
   PAIE
   ========================================================= */

.pay-checkbox[b-1c93w3ijgd] {
    width: 18px;
    height: 18px;

    cursor: pointer;

    accent-color: #0f172a;
}


.pay-checkbox:disabled[b-1c93w3ijgd] {
    cursor: not-allowed;

    opacity: .4;
}


.pay-status[b-1c93w3ijgd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    border-radius: 50%;

    font-size: .78rem;
    font-weight: 900;
}


.pay-status.done[b-1c93w3ijgd] {
    color: var(--dlc-success);

    background: var(--dlc-success-bg);
}


.pay-status.pending[b-1c93w3ijgd] {
    color: var(--dlc-muted);

    background: #F3F4F6;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.empty-state[b-1c93w3ijgd] {
    padding: 52px 24px;

    text-align: center;
}


.empty-icon[b-1c93w3ijgd] {
    margin-bottom: 10px;

    font-size: 1.8rem;
}


.empty-state h3[b-1c93w3ijgd] {
    margin: 0 0 7px;

    color: var(--dlc-navy);

    font-size: 1rem;
}


.empty-state p[b-1c93w3ijgd] {
    margin: 0;

    color: var(--dlc-muted);

    font-size: .8rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .filters-card[b-1c93w3ijgd] {
        grid-template-columns: 1fr 1fr;
    }


    .employee-filter[b-1c93w3ijgd] {
        grid-column: 1 / -1;
    }


    .filter-actions[b-1c93w3ijgd] {
        grid-column: 1 / -1;
    }
}


@media (max-width: 650px) {

    .tabs[b-1c93w3ijgd] {
        flex-direction: column;
    }


    .tab-button[b-1c93w3ijgd] {
        justify-content: space-between;

        width: 100%;
    }


    .filters-card[b-1c93w3ijgd] {
        grid-template-columns: 1fr;
    }


    .employee-filter[b-1c93w3ijgd],
    .filter-actions[b-1c93w3ijgd] {
        grid-column: auto;
    }


    .secondary-button[b-1c93w3ijgd] {
        width: 100%;
    }
}
/* /Components/Pages/ValidationPaieAbsences.razor.rz.scp.css */
/* =========================================================
   VALIDATION DE LA PAIE — AGORA
   ========================================================= */


/* =========================================================
   ENTÊTE
   ========================================================= */

.page-header[b-aezg8k8n5t] {
    margin-bottom: 22px;
}


.page-header h1[b-aezg8k8n5t] {
    margin: 0;

    color: #0f172a;

    font-size: 2rem;
    font-weight: 800;
}


.page-header p[b-aezg8k8n5t] {
    margin: 6px 0 0;

    color: var(--dlc-muted);
}


/* =========================================================
   STATISTIQUES
   ========================================================= */

.stats-grid[b-aezg8k8n5t] {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;

    margin-bottom: 18px;
}


.stat-card[b-aezg8k8n5t] {
    display: flex;
    flex-direction: column;

    gap: 4px;

    padding: 17px 18px;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow-sm);
}


.stat-label[b-aezg8k8n5t] {
    color: var(--dlc-muted);

    font-size: .7rem;
    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .035em;
}


.stat-card strong[b-aezg8k8n5t] {
    color: #0f172a;

    font-size: 1.45rem;
    font-weight: 900;
}


/* =========================================================
   FILTRES
   ========================================================= */

.filters-card[b-aezg8k8n5t] {
    display: grid;

    grid-template-columns:
        145px
        145px
        minmax(200px, 1fr)
        190px
        auto;

    align-items: end;

    gap: 14px;

    padding: 16px;

    margin-bottom: 18px;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow-sm);
}


.filter-field[b-aezg8k8n5t] {
    display: flex;
    flex-direction: column;

    gap: 6px;
}


.filter-field label[b-aezg8k8n5t] {
    color: var(--dlc-text);

    font-size: .72rem;
    font-weight: 800;
}


.filter-field input[b-aezg8k8n5t],
.filter-field select[b-aezg8k8n5t] {
    width: 100%;

    min-height: 40px;

    padding: 8px 10px;

    color: var(--dlc-text);

    background: white;

    border: 1px solid var(--dlc-border-dark);

    border-radius: var(--dlc-radius-sm);

    font: inherit;
    font-size: .8rem;
}


.filter-field input:focus[b-aezg8k8n5t],
.filter-field select:focus[b-aezg8k8n5t] {
    outline: none;

    border-color: var(--dlc-purple);

    box-shadow:
        0 0 0 3px
        rgba(182, 123, 255, .10);
}


.secondary-button[b-aezg8k8n5t] {
    min-height: 40px;

    padding: 0 14px;

    color: #0f172a;

    cursor: pointer;

    background: white;

    border: 1px solid var(--dlc-border-dark);

    border-radius: var(--dlc-radius-sm);

    font-size: .76rem;
    font-weight: 800;
}


.secondary-button:hover[b-aezg8k8n5t] {
    background: #F8F9FB;
}


/* =========================================================
   CARTE
   ========================================================= */

.content-card[b-aezg8k8n5t] {
    overflow: hidden;

    background: white;

    border: 1px solid var(--dlc-border);

    border-radius: var(--dlc-radius-lg);

    box-shadow: var(--dlc-shadow);
}


.content-card-header[b-aezg8k8n5t] {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 22px;

    border-bottom: 1px solid var(--dlc-border);
}


.content-card-header h2[b-aezg8k8n5t] {
    margin: 0;

    color: #0f172a;

    font-size: 1.05rem;
    font-weight: 800;
}


.content-card-header p[b-aezg8k8n5t] {
    margin: 4px 0 0;

    color: var(--dlc-muted);

    font-size: .76rem;
}


/* =========================================================
   TABLEAU
   ========================================================= */

.table-container[b-aezg8k8n5t] {
    width: 100%;

    overflow-x: auto;
}


.payroll-table[b-aezg8k8n5t] {
    width: 100%;

    min-width: 1180px;

    border-collapse: collapse;
}


.payroll-table th[b-aezg8k8n5t] {
    padding: 11px 12px;

    color: var(--dlc-muted);

    background: #F8F9FB;

    border-bottom: 1px solid var(--dlc-border);

    font-size: .68rem;
    font-weight: 800;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: .025em;

    white-space: nowrap;
}


.payroll-table td[b-aezg8k8n5t] {
    padding: 13px 12px;

    color: var(--dlc-text);

    border-bottom: 1px solid var(--dlc-border);

    font-size: .78rem;

    vertical-align: middle;
}


.payroll-table tbody tr:last-child td[b-aezg8k8n5t] {
    border-bottom: 0;
}


.payroll-table tbody tr:hover[b-aezg8k8n5t] {
    background: #FAFBFD;
}


.date-entry-column[b-aezg8k8n5t],
.absence-date-column[b-aezg8k8n5t],
.duration-column[b-aezg8k8n5t] {
    white-space: nowrap;
}


.employee-column[b-aezg8k8n5t] {
    min-width: 170px;
}


/* =========================================================
   TYPE DE TRANSACTION
   ========================================================= */

.transaction-badge[b-aezg8k8n5t] {
    display: inline-flex;
    align-items: center;

    padding:
        5px
        9px;

    border-radius: 999px;

    font-size: .67rem;
    font-weight: 800;

    white-space: nowrap;
}


.transaction-badge.absence[b-aezg8k8n5t] {
    color: #4338ca;

    background: #eef2ff;
}


.transaction-badge.replacement[b-aezg8k8n5t] {
    color: #9a3412;

    background: #fff7ed;
}


/* =========================================================
   ÉTAT VIDE
   ========================================================= */

.empty-state[b-aezg8k8n5t] {
    padding: 52px 24px;

    text-align: center;
}


.empty-icon[b-aezg8k8n5t] {
    margin-bottom: 10px;

    font-size: 1.8rem;
}


.empty-state h3[b-aezg8k8n5t] {
    margin: 0 0 7px;

    color: #0f172a;

    font-size: 1rem;
}


.empty-state p[b-aezg8k8n5t] {
    margin: 0;

    color: var(--dlc-muted);

    font-size: .8rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .filters-card[b-aezg8k8n5t] {
        grid-template-columns:
            1fr
            1fr;
    }


    .employee-filter[b-aezg8k8n5t] {
        grid-column:
            1 / -1;
    }


    .filter-actions[b-aezg8k8n5t] {
        grid-column:
            1 / -1;
    }
}


@media (max-width: 700px) {

    .stats-grid[b-aezg8k8n5t] {
        grid-template-columns:
            1fr;
    }


    .filters-card[b-aezg8k8n5t] {
        grid-template-columns:
            1fr;
    }


    .employee-filter[b-aezg8k8n5t],
    .filter-actions[b-aezg8k8n5t] {
        grid-column:
            auto;
    }


    .secondary-button[b-aezg8k8n5t] {
        width: 100%;
    }
}
/* /Components/Pages/ValidationTempsCompense.razor.rz.scp.css */
.validation-page[b-glwnc282oy] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px;
}

.page-header[b-glwnc282oy] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 24px;
}

.page-header h1[b-glwnc282oy] {
    margin: 8px 0 6px;
    color: #09163F;
}

.page-header p[b-glwnc282oy] {
    margin: 0;
    color: #64748b;
}

.back-link[b-glwnc282oy] {
    color: #172A63;
    text-decoration: none;
    font-weight: 600;
}

.counter-card[b-glwnc282oy] {
    min-width: 120px;
    padding: 14px 18px;
    border-radius: 14px;
    background: #09163F;
    color: white;
    text-align: center;
}

.counter-card span[b-glwnc282oy] {
    display: block;
    font-size: .8rem;
    opacity: .8;
}

.counter-card strong[b-glwnc282oy] {
    display: block;
    font-size: 1.7rem;
}

.validation-list[b-glwnc282oy] {
    display: grid;
    gap: 18px;
}

.validation-card[b-glwnc282oy] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}

.card-header[b-glwnc282oy] {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e2e8f0;
}

.card-header h2[b-glwnc282oy] {
    margin: 0 0 4px;
    color: #09163F;
    font-size: 1.15rem;
}

.request-type[b-glwnc282oy] {
    color: #64748b;
}

.duration[b-glwnc282oy] {
    color: #FF6B1B;
    font-size: 1.35rem;
    font-weight: 800;
    white-space: nowrap;
}

.details-grid[b-glwnc282oy] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.detail[b-glwnc282oy] {
    padding: 12px;
    border-radius: 10px;
    background: #F5F7FA;
}

.detail span[b-glwnc282oy] {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: .78rem;
}

.detail strong[b-glwnc282oy] {
    color: #172A63;
    font-size: .9rem;
}

.comment-box[b-glwnc282oy] {
    margin-top: 14px;
    padding: 12px 14px;
    border-left: 4px solid #B67BFF;
    background: #faf8ff;
    border-radius: 8px;
}

.comment-box span[b-glwnc282oy] {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}

.comment-box p[b-glwnc282oy] {
    margin: 5px 0 0;
}

.validation-info[b-glwnc282oy] {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f0f7e9;
    border-radius: 10px;
    color: #334155;
}

.card-actions[b-glwnc282oy] {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.validate-button[b-glwnc282oy] {
    border: 0;
    border-radius: 10px;
    padding: 11px 18px;
    background: #09163F;
    color: white;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.validate-button:hover:not(:disabled)[b-glwnc282oy] {
    background: #172A63;
}

.validate-button:disabled[b-glwnc282oy] {
    opacity: .55;
    cursor: wait;
}

.message[b-glwnc282oy] {
    margin-bottom: 18px;
    padding: 12px 16px;
    border-radius: 10px;
    font-weight: 600;
}

.message.success[b-glwnc282oy] {
    background: #eef7e8;
    color: #365314;
}

.message.error[b-glwnc282oy] {
    background: #fff1f2;
    color: #9f1239;
}

.empty-state[b-glwnc282oy],
.access-denied[b-glwnc282oy] {
    padding: 48px 24px;
    text-align: center;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.empty-icon[b-glwnc282oy],
.access-icon[b-glwnc282oy] {
    margin-bottom: 10px;
    font-size: 2rem;
}

@media (max-width: 850px) {
    .details-grid[b-glwnc282oy] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-header[b-glwnc282oy] {
        align-items: flex-start;
    }
}

@media (max-width: 600px) {
    .validation-page[b-glwnc282oy] {
        padding: 14px;
    }

    .page-header[b-glwnc282oy],
    .card-header[b-glwnc282oy] {
        flex-direction: column;
    }

    .details-grid[b-glwnc282oy] {
        grid-template-columns: 1fr;
    }
}

/* Correction de durée avant la validation administrative */
.duration-edit-section[b-glwnc282oy] {
    margin-top: 16px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}
.duration-edit-section p[b-glwnc282oy] { margin: 0 0 10px; }
.duration-edit-section small[b-glwnc282oy] { display: block; color: #64748b; margin-top: 8px; }
.duration-edit-fields[b-glwnc282oy] { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.duration-edit-fields label[b-glwnc282oy] { display: grid; gap: 5px; font-size: .85rem; color: #334155; font-weight: 600; }
.duration-edit-input[b-glwnc282oy] { width: 100px; padding: 8px; border: 1px solid #94a3b8; border-radius: 8px; font: inherit; }
.duration-edit-button[b-glwnc282oy], .duration-edit-cancel[b-glwnc282oy] {
    background: white;
    color: #172A63;
    border: 1px solid #a5b4fc;
    border-radius: 8px;
    padding: 8px 12px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.duration-edit-button:disabled[b-glwnc282oy] { opacity: .5; cursor: default; }
/* /Components/SelecteurProfil.razor.rz.scp.css */
/* =========================================================
   PORTAIL DLC
   UTILISATEUR CONNECTÉ
   ========================================================= */


/* =========================================================
   CONTENEUR
   ========================================================= */

.user-panel[b-2y9oqw0cdz] {
    margin:
        12px
        12px
        18px
        12px;

    padding: 13px;

    color: white;

    background:
        rgba(255, 255, 255, 0.09);

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 12px;
}


/* =========================================================
   IDENTITÉ
   ========================================================= */

.user-main[b-2y9oqw0cdz] {
    display: flex;

    align-items: center;

    gap: 10px;
}


/* =========================================================
   AVATAR
   ========================================================= */

.user-avatar[b-2y9oqw0cdz] {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    width: 39px;
    height: 39px;

    color: #09163F;

    background: white;

    border-radius: 50%;

    font-size: 0.82rem;

    font-weight: 800;

    letter-spacing: 0.02em;
}


/* =========================================================
   INFORMATION
   ========================================================= */

.user-information[b-2y9oqw0cdz] {
    flex: 1;

    min-width: 0;
}


.user-name[b-2y9oqw0cdz] {
    overflow: hidden;

    color: white;

    font-size: 0.83rem;

    font-weight: 700;

    line-height: 1.25;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.user-role[b-2y9oqw0cdz] {
    overflow: hidden;

    margin-top: 2px;

    color:
        rgba(255, 255, 255, 0.70);

    font-size: 0.68rem;

    font-weight: 500;

    line-height: 1.25;

    text-overflow: ellipsis;

    white-space: nowrap;
}


/* =========================================================
   COURRIEL
   ========================================================= */

.user-email[b-2y9oqw0cdz] {
    overflow: hidden;

    margin-top: 10px;

    padding-top: 9px;

    color:
        rgba(255, 255, 255, 0.60);

    border-top:
        1px solid
        rgba(255, 255, 255, 0.10);

    font-size: 0.65rem;

    text-overflow: ellipsis;

    white-space: nowrap;
}


/* =========================================================
   DÉCONNEXION
   ========================================================= */

.logout-button[b-2y9oqw0cdz] {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    width: 100%;

    min-height: 34px;

    margin-top: 10px;

    padding: 5px 10px;

    color:
        rgba(255, 255, 255, 0.82);

    background:
        rgba(255, 255, 255, 0.07);

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 7px;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.71rem;

    font-weight: 600;

    transition:
        background 150ms ease,
        color 150ms ease,
        border-color 150ms ease;
}


.logout-button:hover[b-2y9oqw0cdz] {
    color: white;

    background:
        rgba(255, 255, 255, 0.14);

    border-color:
        rgba(255, 255, 255, 0.20);
}


.logout-icon[b-2y9oqw0cdz] {
    font-size: 0.92rem;
}
