html, body {
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
}

#blazor-error-ui {
    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 {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Page-navigation loading indicator (see nav-loading.js) */
.nav-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 2000;
    overflow: hidden;
    background: rgba(13, 110, 253, 0.2);
}

.nav-progress[hidden] {
    display: none;
}

.nav-progress::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40%;
    background: var(--bs-primary, #0d6efd);
    animation: nav-progress-slide 1s ease-in-out infinite;
}

@keyframes nav-progress-slide {
    from { left: -40%; }
    to { left: 100%; }
}

.nav-loading {
    pointer-events: none;
    opacity: 0.75;
}

.nav-loading-spinner {
    margin-right: 0.4rem;
    vertical-align: -0.125em;
}

@media (prefers-reduced-motion: reduce) {
    .nav-progress::before {
        animation: none;
        left: 0;
        width: 100%;
    }
}
