body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.fpmapp-header {
    align-items: center;
    background: var(--fpm-lightgray-dark);
    display: flex;
    flex: 0 0 3.75rem;
    flex-direction: row;
}

.fpmapp-content {
    background: var(--fpm-lightgray-dark);
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: .5rem;
}

.fpmreveal-host {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: opacity .2s cubic-bezier(.2,.0,.2,1);
    will-change: opacity;
}

.fpmreveal-host-hidden {
    opacity: 0;
}

.fpmreveal-host-visible {
    opacity: 1;
}

.fpmreconnect-panel {
    align-items: center;
    background: var(--bs-body-bg, white);
    border-radius: .5rem;
    /* ReSharper disable once InvalidValue */
    box-shadow: 0 .5rem 1rem rgb(0 0 0 / 25%);
    color: var(--bs-body-color, #212529);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /* ReSharper disable once CssNotResolved */
    /* ReSharper disable once InvalidValue */
    max-width: min(28rem, calc(100vw - 2rem));
    padding: 2rem;
    text-align: center;
}

.fpmreconnect-panel p {
    margin: 0;
}

.fpmreconnect-spinner {
    animation: fpm-reconnect-spin .8s linear infinite;
    border: .25rem solid var(--bs-border-color, #dee2e6);
    border-radius: 50%;
    border-top-color: var(--bs-primary, #0d6efd);
    height: 2.5rem;
    width: 2.5rem;
}

#components-reconnect-modal {
    display: none !important;
}

[data-reconnect-state] {
    display: none;
}

@keyframes fpmreconnect-spin {
    to {
        transform: rotate(360deg);
    }
}