/* /Components/AnalyticsConsent.razor.rz.scp.css */
.analytics-consent[b-pzkens7ue0] {
    position: fixed;
    left: 16px;
    bottom: 16px;
    z-index: 1040;
    max-width: 340px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--f-border);
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(32, 31, 46, 0.10);
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--f-text);
}

.analytics-consent[hidden][b-pzkens7ue0] {
    display: none;
}

.analytics-consent p[b-pzkens7ue0] {
    margin: 0 0 10px;
}

.analytics-consent-actions[b-pzkens7ue0] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.analytics-consent button[b-pzkens7ue0] {
    font: inherit;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 6px;
    cursor: pointer;
}

.analytics-consent-decline[b-pzkens7ue0] {
    background: transparent;
    border: 1px solid transparent;
    color: var(--f-muted);
}

.analytics-consent-decline:hover[b-pzkens7ue0] {
    color: var(--f-text);
}

.analytics-consent-accept[b-pzkens7ue0] {
    background: var(--f-purple);
    border: 1px solid var(--f-purple);
    color: #fff;
}

.analytics-consent-accept:hover[b-pzkens7ue0] {
    background: var(--f-purple-dark);
    border-color: var(--f-purple-dark);
}

@media (max-width: 480px) {
    .analytics-consent[b-pzkens7ue0] {
        left: 16px;
        right: 16px;
        max-width: none;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-lxg4zzgv71] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-lxg4zzgv71] {
    flex: 1;
}

#blazor-error-ui[b-lxg4zzgv71] {
    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: 1000;
}

    #blazor-error-ui .dismiss[b-lxg4zzgv71] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* Small status pill, bottom-centre. Never blocks the page: no backdrop, no focus
   trap, and pointer events only on the pill itself. */
.reconnect-toast[b-1hlgd2seo4] {
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    z-index: 1050;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    max-width: calc(100vw - 2rem);
    padding: 0.55rem 1rem;
    border: 1px solid var(--f-border, #E2DCF2);
    border-radius: 999px;
    background: #fff;
    color: var(--f-text, #201F2E);
    font-size: 0.875rem;
    line-height: 1.2;
    box-shadow: 0 6px 20px rgba(32, 31, 46, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 0.75rem);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}

.reconnect-toast.is-visible[b-1hlgd2seo4] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
}

/* Message per state (data-state is set by ReconnectModal.razor.js). */
.reconnect-text[b-1hlgd2seo4],
.reconnect-text-failed[b-1hlgd2seo4],
.reconnect-spinner[b-1hlgd2seo4] {
    display: none;
}

.reconnect-toast[data-state="connecting"] .reconnect-text-connecting[b-1hlgd2seo4],
.reconnect-toast[data-state="connecting"] .reconnect-spinner[b-1hlgd2seo4],
.reconnect-toast[data-state="failed"] .reconnect-text-failed[b-1hlgd2seo4] {
    display: inline-block;
}

.reconnect-spinner[b-1hlgd2seo4] {
    flex: none;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid var(--f-purple-soft, #F3EDFD);
    border-top-color: var(--f-purple, #6C22E1);
    border-radius: 50%;
    animation: reconnect-spin-b-1hlgd2seo4 0.8s linear infinite;
}

.reconnect-action[b-1hlgd2seo4] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--f-purple, #6C22E1);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

    .reconnect-action:hover[b-1hlgd2seo4],
    .reconnect-action:focus-visible[b-1hlgd2seo4] {
        color: var(--f-purple-dark, #5615C4);
        text-decoration: underline;
    }

@keyframes reconnect-spin-b-1hlgd2seo4 {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reconnect-toast[b-1hlgd2seo4],
    .reconnect-toast.is-visible[b-1hlgd2seo4] {
        transition: none;
    }

    .reconnect-spinner[b-1hlgd2seo4] {
        animation-duration: 2.4s;
    }
}
