/* /Components/Layout/AdminNav.razor.rz.scp.css */
/* Sidebar header logo */
.rz-sidebar .rz-icon[b-r2474k7p4v] {
    font-size: 1.25rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-7cdbc97bc9] {
    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-7cdbc97bc9] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-awftmwevnq],
.components-reconnect-repeated-attempt-visible[b-awftmwevnq],
.components-reconnect-failed-visible[b-awftmwevnq],
.components-pause-visible[b-awftmwevnq],
.components-resume-failed-visible[b-awftmwevnq],
.components-rejoining-animation[b-awftmwevnq] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-retrying[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-failed[b-awftmwevnq],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-awftmwevnq] {
    display: block;
}


#components-reconnect-modal[b-awftmwevnq] {
    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-awftmwevnq 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-awftmwevnq 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-awftmwevnq 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-awftmwevnq]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-awftmwevnq 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-awftmwevnq {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-awftmwevnq {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-awftmwevnq {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-awftmwevnq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-awftmwevnq] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-awftmwevnq] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-awftmwevnq] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-awftmwevnq] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-awftmwevnq] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-awftmwevnq] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-awftmwevnq 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-awftmwevnq] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-awftmwevnq {
    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/Paroisse/Celebrations.razor.rz.scp.css */
.pdf-viewer-frame[b-fqfymovixx] {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: var(--rz-base-200, #e9e9e9);
    padding: 1rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.pdf-viewer-frame[b-fqfymovixx]  .pdf-viewer-page {
    max-width: 100%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    background: #fff;
}

.pdf-viewer-frame[b-fqfymovixx]  .pdf-viewer-message {
    margin: auto;
    color: var(--rz-text-secondary-color);
}

.pdf-viewer-frame[b-fqfymovixx]  .pdf-viewer-spinner {
    margin: auto;
    width: 48px;
    height: 48px;
    border: 4px solid var(--rz-base-300, #ddd);
    border-top-color: var(--rz-primary, #2196f3);
    border-radius: 50%;
    animation: pdf-viewer-spin-b-fqfymovixx 0.8s linear infinite;
}

@keyframes pdf-viewer-spin-b-fqfymovixx {
    to { transform: rotate(360deg); }
}

.pdf-viewer-frame.pdf-viewer-error[b-fqfymovixx] {
    align-items: center;
    justify-content: center;
    color: var(--rz-danger);
}

@media (max-width: 768px) {
    /* Volet de détail (Diaporama/Déroulé/Simplifié) : sur desktop il partage la largeur avec la
       liste via RadzenSplitter (55%/45%) ; sur mobile il recouvre tout l'écran comme une fenêtre
       plein écran - fermeture via le bouton "close" déjà présent dans l'en-tête du volet.
       PAS de ::deep ici : .lx-detail-pane est un <div> littéral de ce fichier (voir Celebrations.razor),
       il porte donc déjà directement l'attribut d'isolation CSS - ::deep exigerait au contraire un
       ANCÊTRE portant cet attribut, qui n'existe pas ici (tous les parents sont des composants
       Radzen), et la règle ne matcherait jamais (piège vécu, voir la même correction dans
       SelectionnerChantPriereDialog.razor/.css). */
    .lx-detail-pane[b-fqfymovixx] {
        position: fixed;
        inset: 0;
        z-index: 1200;
        background: var(--rz-base-background-color, #fff);
    }
}
/* /Components/Pages/Paroisse/Dialogs/ChantPriereDialog.razor.rz.scp.css */
/* Styles gérés globalement dans radzen-theme.css via .rz-dialog :has(.rz-tabview) */
/* /Components/Pages/Paroisse/Dialogs/PageTexteChampsEditeur.razor.rz.scp.css */
/* En-tête de fermeture du panneau de sélection (chant/prière) : visible uniquement sur mobile, où
   .lx-popup-panel (wwwroot/css/mobile.css) passe en plein écran et perd son calque transparent
   "clic en dehors". Caché par défaut : desktop inchangé. */
.lx-popup-mobile-header[b-nbipbbhl47] {
    display: none;
}

@media (max-width: 768px) {
    /* .lx-popup-panel devient une colonne flex plein écran : l'en-tête reste fixe en haut, le
       reste (filtres/liste/aperçu/boutons de SelectionnerChantPriereDialog, composant enfant) se
       répartit en dessous - voir SelectionnerChantPriereDialog.razor.css pour le détail (liste
       extensible avec défilement propre, filtres et boutons de taille fixe). */
    .lx-popup-panel[b-nbipbbhl47] {
        display: flex;
        flex-direction: column;
    }

    .lx-popup-mobile-header[b-nbipbbhl47] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        flex-shrink: 0;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        border-bottom: 1px solid var(--rz-border-disabled-color);
    }
}
/* /Components/Pages/Paroisse/Dialogs/SelectionnerChantPriereDialog.razor.rz.scp.css */
@media (max-width: 768px) {
    /* Barre de recherche + filtres : toujours visible en haut, même quand la liste défile en
       dessous (voir .lx-selection-body). RadzenStack étant un composant, ::deep est nécessaire
       pour atteindre son élément racine depuis ce fichier. */
    [b-zr33y0o6j3] .lx-selection-filters {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--rz-base-background-color, #fff);
        padding-top: 0.25rem;
        padding-bottom: 0.5rem;
    }

    /* Liste + aperçu : côte à côte à hauteur fixe (320px) sur desktop -> empilés en une seule
       colonne, hauteur libre, sur mobile (une seule zone de défilement, celle de la liste). */
    [b-zr33y0o6j3] .lx-selection-body {
        flex-direction: column !important;
        height: auto !important;
        flex: 1;
        min-height: 0;
    }

    .lx-selection-list[b-zr33y0o6j3] {
        flex: 1 1 auto;
        min-height: 40vh;
    }

    [b-zr33y0o6j3] .lx-selection-preview {
        flex: 0 0 28vh !important;
        min-height: 0;
    }
}
/* /Components/Shared/ThemeDialog.razor.rz.scp.css */
.tp-grid[b-8m7s2mtkp7] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.tp-item[b-8m7s2mtkp7] {
    cursor: pointer;
    border-radius: 8px;
    border: 2px solid transparent;
    padding: 2px;
    transition: border-color 0.15s ease;
}

.tp-item:hover[b-8m7s2mtkp7] {
    border-color: var(--rz-primary-light);
}

.tp-item--active[b-8m7s2mtkp7] {
    border-color: var(--rz-primary);
}

.tp-name[b-8m7s2mtkp7] {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rz-text-color);
    margin-bottom: 4px;
    padding: 0 2px;
}

.tp-card[b-8m7s2mtkp7] {
    border-radius: 6px;
    overflow: hidden;
    padding: 10px 10px 8px;
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 86px;
}

/* Typography section */
.tp-typo[b-8m7s2mtkp7] {
    flex: 0 0 52px;
}

.tp-aa[b-8m7s2mtkp7] {
    font-size: 22px;
    font-weight: bold;
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1;
}

/* Lines / table section */
.tp-lines[b-8m7s2mtkp7] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 2px;
}

.tp-line-row[b-8m7s2mtkp7] {
    display: flex;
    gap: 4px;
    align-items: center;
}

/* Donut chart section */
.tp-chart[b-8m7s2mtkp7] {
    flex: 0 0 46px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.tp-donut[b-8m7s2mtkp7] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: relative;
}

.tp-donut-hole[b-8m7s2mtkp7] {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
}

.tp-dots[b-8m7s2mtkp7] {
    display: flex;
    gap: 4px;
}

.tp-dot[b-8m7s2mtkp7] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
