/* Styles for usercontrols/PageBusyIndicator.ascx. */
.page-busy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 80px 0;
    color: #555;
    font-size: 14px;
}

.page-busy[hidden] {
    display: none;
}

/* While loading, hide the content after the indicator so there is no flash of empty filters and charts. */
.page-busy.page-busy-hides-content:not([hidden]) ~ * {
    display: none !important;
}

.page-busy-spinner {
    width: 36px;
    height: 36px;
    border: 4px solid #d6e4ec;
    border-top-color: #006DA0;
    border-radius: 50%;
    animation: page-busy-spin 0.8s linear infinite;
}

/* Data request failed or timed out (PageBusy.error): no spinner, just the message. */
.page-busy-error .page-busy-spinner {
    display: none;
}

.page-busy-error .page-busy-text {
    max-width: 420px;
    text-align: center;
    color: #8a1c1c;
    font-weight: 600;
}

@keyframes page-busy-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-busy-spinner {
        animation-duration: 2.4s;
    }
}
