/* /Components/Layout/EmptyLayout.razor.rz.scp.css */
.page[b-9w5msw6lb4] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-9w5msw6lb4] {
    flex: 1;
}

.sidebar[b-9w5msw6lb4] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-9w5msw6lb4] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-9w5msw6lb4]  a, .top-row[b-9w5msw6lb4]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-9w5msw6lb4]  a:hover, .top-row[b-9w5msw6lb4]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-9w5msw6lb4]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-9w5msw6lb4] {
        justify-content: space-between;
    }

    .top-row[b-9w5msw6lb4]  a, .top-row[b-9w5msw6lb4]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-9w5msw6lb4] {
        flex-direction: row;
    }

    .sidebar[b-9w5msw6lb4] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-9w5msw6lb4] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-9w5msw6lb4]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-9w5msw6lb4], article[b-9w5msw6lb4] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-9w5msw6lb4] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-9w5msw6lb4] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ==========================================
   1. GLOBAL (Mobile First)
   ========================================== */

.page[b-yypp5x0jp2] {
    position: relative;
    display: flex;
    flex-direction: column;
}

/* SUR MOBILE : La "sidebar" est en fait le bandeau du haut 
   qui contient le NavMenu (Logo + Burger) 
*/
.sidebar[b-yypp5x0jp2] {
    width: 100%;
    height: auto; /* Laisse la place au contenu (Header mobile) */
    /* On garde le dégradé pour que le header soit joli */
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
    z-index: 1050; /* Doit être au-dessus du contenu pour que le menu s'ouvre */
}

main[b-yypp5x0jp2] {
    flex: 1;
}

/* La barre "About" */
.top-row[b-yypp5x0jp2] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-yypp5x0jp2]  a, .top-row[b-yypp5x0jp2]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: #052767;
    }

        .top-row[b-yypp5x0jp2]  a:hover, .top-row[b-yypp5x0jp2]  .btn-link:hover {
            text-decoration: underline;
        }

/* ==========================================
   2. VERSION DESKTOP (> 641px)
   ========================================== */
@media (min-width: 641px) {
    .page[b-yypp5x0jp2] {
        flex-direction: row; /* On passe en horizontal */
    }

    /* La sidebar redevient une vraie barre latérale */
    .sidebar[b-yypp5x0jp2] {
        width: 250px; /* Largeur fixe */
        height: 100vh; /* Toute la hauteur */
        position: sticky; /* Reste collée quand on scroll le contenu */
        top: 0;
        /* Le NavMenu s'occupera du scroll interne si besoin */
    }

    .top-row[b-yypp5x0jp2] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-yypp5x0jp2], article[b-yypp5x0jp2] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* ==========================================
   3. GESTION DES ERREURS
   ========================================== */
#blazor-error-ui[b-yypp5x0jp2] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2000;
}

    #blazor-error-ui .dismiss[b-yypp5x0jp2] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* =========================================
   1. STYLE DE BASE (Mobile First)
   ========================================= */

/* Le fond global du menu */
.nav-scrollable[b-n7qrsshje2] {
    background: linear-gradient(180deg, #052767 0%, #3a0647 100%);
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden; /* Empêche la barre horizontale */
    display: none; /* CACHÉ par défaut sur mobile */
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.3) transparent;
}

/* Header Mobile */
.menu-header[b-n7qrsshje2] {
    background-color: #052767;
    min-height: 4rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 1050;
}

.logo-img[b-n7qrsshje2] {
    max-height: 110px;
    width: auto;
}

/* =========================================
   2. LE BURGER (CSS Pur - Visible à 100%)
   ========================================= */

/* La checkbox invisible */
.nav-checkbox[b-n7qrsshje2] {
    display: none;
}

/* Le bouton Burger visible */
.nav-burger[b-n7qrsshje2] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.05);
    transition: background 0.2s;
}

    .nav-burger:hover[b-n7qrsshje2] {
        background: rgba(255,255,255,0.1);
    }

/* Les lignes du burger (CSS pur, pas d'image) */
.burger-lines[b-n7qrsshje2] {
    display: block;
    position: relative;
    width: 24px;
    height: 2px;
    background-color: white; /* Ligne du milieu */
    transition: all 0.2s;
}

    .burger-lines[b-n7qrsshje2]::before,
    .burger-lines[b-n7qrsshje2]::after {
        content: '';
        position: absolute;
        width: 24px;
        height: 2px;
        background-color: white;
        left: 0;
        transition: all 0.2s;
    }

    .burger-lines[b-n7qrsshje2]::before {
        top: -8px;
    }
    /* Ligne du haut */
    .burger-lines[b-n7qrsshje2]::after {
        top: 8px;
    }
/* Ligne du bas */

/* --- LOGIQUE D'OUVERTURE MOBILE --- */

/* Quand coché : on transforme le burger en croix (optionnel) */
.nav-checkbox:checked ~ .menu-header .burger-lines[b-n7qrsshje2] {
    background-color: transparent;
}

    .nav-checkbox:checked ~ .menu-header .burger-lines[b-n7qrsshje2]::before {
        transform: rotate(45deg);
        top: 0;
    }

    .nav-checkbox:checked ~ .menu-header .burger-lines[b-n7qrsshje2]::after {
        transform: rotate(-45deg);
        top: 0;
    }

/* Quand coché : on AFFICHE le menu */
.nav-checkbox:checked ~ .nav-scrollable[b-n7qrsshje2] {
    display: block;
    position: fixed;
    top: 4rem; /* Hauteur du header */
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
}

/* =========================================
   3. STYLE DES LIENS & TEXTE
   ========================================= */

.nav-item[b-n7qrsshje2]  .nav-link {
    color: #e0e0e0 !important;
    font-size: 0.95rem;
    border-radius: 8px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    padding-left: 1rem;
    padding-right: 1rem;
}

    .nav-item[b-n7qrsshje2]  .nav-link:hover {
        color: white !important;
        background-color: rgba(255, 255, 255, 0.1);
        transform: translateX(4px);
    }

    .nav-item[b-n7qrsshje2]  .nav-link.active {
        background: linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
        color: white !important;
        border-left: 4px solid #ffd700;
        font-weight: 700;
    }

.nav-group-header[b-n7qrsshje2] {
    color: #ffd700;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 1px;
    opacity: 0.9;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.logout-btn[b-n7qrsshje2] {
    color: #ff8fa3 !important;
}

    .logout-btn:hover[b-n7qrsshje2] {
        background-color: #dc3545 !important;
        color: white !important;
    }

/* Icones blanches */
.bi[b-n7qrsshje2] {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    background-size: cover;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

/* =========================================
   4. VERSION DESKTOP (> 641px)
   ========================================= */
@media (min-width: 641px) {

    /* On cache le burger et la checkbox */
    .nav-burger[b-n7qrsshje2], .nav-checkbox[b-n7qrsshje2] {
        display: none !important;
    }

    /* On force l'affichage du menu QUELQUE SOIT l'état de la checkbox */
    .nav-scrollable[b-n7qrsshje2] {
        display: block !important; /* Force l'affichage */
        position: static !important; /* Pas de position fixed */
        height: calc(100vh - 4rem); /* Hauteur moins header */
        background: transparent; /* Hérite du parent */
    }

    /* Le header devient transparent ou disparaît selon votre goût */
    .menu-header[b-n7qrsshje2] {
        background-color: transparent;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }
}

/* --- ICONES SVG --- */
.bi-house-door-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-person-circle-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-person-circle' viewBox='0 0 16 16'%3E%3Cpath d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/%3E%3C/svg%3E");
}

.bi-briefcase-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-briefcase-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616L8.129 7.948a.5.5 0 0 1-.258 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-sliders-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-sliders' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3h9.05zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8h2.05zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1h9.05z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-people-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3Cpath fill-rule='evenodd' d='M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z'/%3E%3Cpath d='M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.bi-shield-lock-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-shield-lock-fill' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z'/%3E%3C/svg%3E");
}

.bi-geo-alt-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-geo-alt-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E");
}

.bi-calendar-event-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-calendar-event-fill' viewBox='0 0 16 16'%3E%3Cpath d='M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-box-arrow-left-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-box-arrow-left' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z'/%3E%3C/svg%3E");
}

.bi-person-plus-fill-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-person-plus-fill' viewBox='0 0 16 16'%3E%3Cpath d='M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3Cpath fill-rule='evenodd' d='M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-box-arrow-in-right-nav-menu[b-n7qrsshje2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-box-arrow-in-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z'/%3E%3Cpath fill-rule='evenodd' d='M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-e1sqpi4vgd],
.components-reconnect-repeated-attempt-visible[b-e1sqpi4vgd],
.components-reconnect-failed-visible[b-e1sqpi4vgd],
.components-pause-visible[b-e1sqpi4vgd],
.components-resume-failed-visible[b-e1sqpi4vgd],
.components-rejoining-animation[b-e1sqpi4vgd] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-retrying[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-failed[b-e1sqpi4vgd],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-e1sqpi4vgd] {
    display: block;
}


#components-reconnect-modal[b-e1sqpi4vgd] {
    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-e1sqpi4vgd 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-e1sqpi4vgd 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-e1sqpi4vgd 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-e1sqpi4vgd]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-e1sqpi4vgd 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-e1sqpi4vgd {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-e1sqpi4vgd {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-e1sqpi4vgd {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-e1sqpi4vgd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-e1sqpi4vgd] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-e1sqpi4vgd] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-e1sqpi4vgd] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-e1sqpi4vgd] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-e1sqpi4vgd] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-e1sqpi4vgd] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-e1sqpi4vgd 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-e1sqpi4vgd] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-e1sqpi4vgd {
    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;
    }
}
