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

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


/* Hotfix 25-9: niet-modale balk onderin (zichtbaar, blokkeert de pagina niet), thema-kleuren van MudBlazor.
   Geen geneste CSS (&[open]) meer: zo kan de balk nooit onzichtbaar (opacity 0) blijven. */
#components-reconnect-modal[b-omuo8lomdq] {
    position: fixed;
    inset: auto 16px calc(16px + env(safe-area-inset-bottom, 0px)) 16px;
    z-index: 2000;
    max-width: 28rem;
    width: auto;
    margin: 0 auto;
    padding: 12px 16px;
    border: 1px solid var(--mud-palette-lines-default, rgba(0, 0, 0, .12));
    border-radius: 8px;
    background-color: var(--mud-palette-surface, #fff);
    color: var(--mud-palette-text-primary, rgba(0, 0, 0, .87));
    box-shadow: var(--oh-elev3, 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23));
}

/* Alleen een verschuiving, geen fade: een gepauzeerde animatie (achtergrondtab) laat de balk zo nooit onzichtbaar. */
#components-reconnect-modal[open][b-omuo8lomdq] {
    animation: components-reconnect-modal-slideUp-b-omuo8lomdq 0.3s ease-out;
}

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-omuo8lomdq] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

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

#components-reconnect-modal button[b-omuo8lomdq] {
    border: 0;
    background-color: var(--mud-palette-primary, #1E4E79);
    color: var(--mud-palette-primary-text, #fff);
    padding: 6px 16px;
    border-radius: 4px;
    font: inherit;
    cursor: pointer;
}

    #components-reconnect-modal button:hover[b-omuo8lomdq] {
        background-color: var(--mud-palette-primary-darken, #193650);
    }

.components-rejoining-animation[b-omuo8lomdq] {
    position: relative;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
}

    .components-rejoining-animation div[b-omuo8lomdq] {
        position: absolute;
        border: 2px solid var(--mud-palette-primary, #1E4E79);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-omuo8lomdq 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

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

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

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

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

    100% {
        top: 0px;
        left: 0px;
        width: 24px;
        height: 24px;
        opacity: 0;
    }
}

#blazor-error-ui[b-omuo8lomdq] {
    display: none;
    position: fixed;
    inset: auto 0 0 0;
    z-index: 2001;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: var(--mud-palette-error, #C62828);
    color: var(--mud-palette-error-text, #fff);
    font-size: .9rem;
}

    #blazor-error-ui .reload[b-omuo8lomdq] {
        color: inherit;
        font-weight: 500;
        margin-left: 8px;
    }

/* Compacte balk: animatie links, één tekstregel per toestand (bij opnieuw proberen niet ook de eerste tekst). */
#components-reconnect-modal:focus[b-omuo8lomdq],
#components-reconnect-modal:focus-visible[b-omuo8lomdq] {
    outline: none;
}

#components-reconnect-modal.components-reconnect-retrying .components-reconnect-first-attempt-visible[b-omuo8lomdq] {
    display: none;
}

.components-reconnect-container[b-omuo8lomdq] {
    flex-wrap: nowrap;
    justify-content: flex-start;
}

    .components-reconnect-container p[b-omuo8lomdq] {
        flex: 1 1 auto;
        min-width: 0;
    }

#components-reconnect-modal p[b-omuo8lomdq] {
    text-align: left;
}
