@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css';

/* /Modules/Users/Pages/EditUser.razor.rz.scp.css */
.mobile-section-select[b-layvpnhhs5] {
    display: none;
}

@media (max-width: 768px) {
    .mobile-section-select[b-layvpnhhs5] {
        display: block;
        flex-shrink: 0;
    }

    [b-layvpnhhs5] .edit-user-tabs [role="tablist"] {
        display: none !important;
    }
}
/* /Shared/NavigationMenu/Components/AccountMenu.razor.rz.scp.css */
/* Positioning handled globally in app.css via .account-menu fluent-menu-list */
/* /Shared/NavigationMenu/Components/NavMenu.razor.rz.scp.css */

/* /Shared/ReconnectModal.razor.rz.scp.css */
/* ── Default: hide all state-specific content ── */
.components-reconnect-first-attempt-visible[b-vfhx72udo0],
.components-reconnect-repeated-attempt-visible[b-vfhx72udo0],
.components-reconnect-failed-visible[b-vfhx72udo0],
.components-pause-visible[b-vfhx72udo0],
.components-resume-failed-visible[b-vfhx72udo0],
.components-rejoining-animation[b-vfhx72udo0] {
    display: none;
}

/* ── show: initial attempt ── */
#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-vfhx72udo0],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-vfhx72udo0] {
    display: block;
}

/* ── retrying: subsequent attempts ── */
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-vfhx72udo0],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-vfhx72udo0] {
    display: block;
}

/* ── failed: all attempts exhausted ── */
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-vfhx72udo0] {
    display: block;
}

/* ── paused: server paused the circuit ── */
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-vfhx72udo0] {
    display: block;
}

/* ── resume-failed: resume attempt failed ── */
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-vfhx72udo0] {
    display: block;
}

/* ── Dialog chrome ── */
#components-reconnect-modal[b-vfhx72udo0] {
    background-color: var(--colorNeutralBackground1);
    color: var(--colorNeutralForeground1);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: display 0.4s allow-discrete, overlay 0.4s allow-discrete;
    animation: reconnect-fade-out-b-vfhx72udo0 0.4s both;

    &[open] {
        animation: reconnect-slide-up-b-vfhx72udo0 1.2s cubic-bezier(.05, .89, .25, 1.02) 0.2s,
                   reconnect-fade-in-b-vfhx72udo0 0.4s ease-in-out 0.2s;
        animation-fill-mode: both;
    }
}

#components-reconnect-modal[b-vfhx72udo0]::backdrop {
    background-color: rgba(0, 0, 0, 0.3);
    animation: reconnect-fade-in-b-vfhx72udo0 0.4s ease-in-out;
    opacity: 1;
}

/* ── Layout ── */
.components-reconnect-container[b-vfhx72udo0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-vfhx72udo0] {
    margin: 0;
    text-align: center;
}

/* ── Buttons ── */
#components-reconnect-modal button[b-vfhx72udo0] {
    border: 0;
    background-color: var(--colorBrandBackground);
    color: var(--colorNeutralForegroundOnBrand);
    padding: 4px 24px;
    border-radius: 4px;
    cursor: pointer;
}

#components-reconnect-modal button:hover[b-vfhx72udo0] {
    background-color: var(--colorBrandBackgroundHover);
}

#components-reconnect-modal button:active[b-vfhx72udo0] {
    background-color: var(--colorBrandBackgroundPressed);
}

/* ── Spinner animation ── */
.components-rejoining-animation[b-vfhx72udo0] {
    position: relative;
    width: 80px;
    height: 80px;
}

.components-rejoining-animation div[b-vfhx72udo0] {
    position: absolute;
    border: 3px solid var(--colorBrandBackground);
    opacity: 1;
    border-radius: 50%;
    animation: reconnect-spinner-b-vfhx72udo0 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-vfhx72udo0] {
    animation-delay: -0.5s;
}

/* ── Keyframes ── */
@keyframes reconnect-slide-up-b-vfhx72udo0 {
    0%   { transform: translateY(30px) scale(0.95); }
    100% { transform: translateY(0); }
}

@keyframes reconnect-fade-in-b-vfhx72udo0 {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes reconnect-fade-out-b-vfhx72udo0 {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes reconnect-spinner-b-vfhx72udo0 {
    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: 0;    left: 0;    width: 80px; height: 80px; opacity: 0; }
}
