    #pageLoadingOverlay {
        position: fixed;
        inset: 0;
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 2147483647;
        pointer-events: none;
        backdrop-filter: none;
        background: rgba(0, 0, 0, 0.25);
    }

    #pageLoadingOverlay.active {
        display: flex;
        pointer-events: all;
    }

    #pageLoadingOverlay .loading-card {
        min-width: 220px;
        max-width: 320px;
        padding: 18px 20px;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
        display: flex;
        align-items: center;
        gap: 14px;
        border: 1px solid rgba(0, 0, 0, 0.08);
    }

    html[data-bs-theme='dark'] #pageLoadingOverlay .loading-card {
        background: #1f2937;
        color: #e5e7eb;
        border-color: rgba(255, 255, 255, 0.06);
    }

    html[data-bs-theme='light'] #pageLoadingOverlay .loading-card {
        background: #ffffff;
        color: #111827;
        border-color: rgba(0, 0, 0, 0.06);
    }

    .loading-spinner {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        border: 3px solid currentColor;
        border-top-color: transparent;
        animation: spin 0.7s linear infinite;
        opacity: 0.9;
    }

    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }

    .loading-text {
        font-weight: 600;
        letter-spacing: .3px;
    }

    a.no-loading-overlay, form.no-loading-overlay {
        pointer-events: auto !important;
    }
