/**
 * NProgress - Custom Styles for Observatório ABNeuro
 * Barra de progresso ao navegar entre páginas
 */

/* Main progress bar */
#nprogress {
    pointer-events: none;
}

#nprogress .bar {
    background: linear-gradient(90deg, #004080 0%, #0066cc 50%, #5ba3e6 100%);
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    box-shadow: 0 0 10px #0066cc, 0 0 5px #0066cc;
}

/* Peg - brilho na ponta */
#nprogress .peg {
    display: block;
    position: absolute;
    right: 0;
    width: 100px;
    height: 100%;
    box-shadow: 0 0 15px #5ba3e6, 0 0 8px #5ba3e6;
    opacity: 1.0;
    transform: rotate(3deg) translate(0px, -4px);
}

/* Spinner - centralizado */
#nprogress .spinner {
    display: block;
    position: fixed;
    z-index: 99999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#nprogress .spinner-icon {
    width: 44px;
    height: 44px;
    box-sizing: border-box;
    border: 4px solid transparent;
    border-top-color: #004080;
    border-left-color: #0066cc;
    border-radius: 50%;
    animation: nprogress-spinner 600ms linear infinite;
}

@keyframes nprogress-spinner {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Parent positioning */
.nprogress-custom-parent {
    overflow: hidden;
    position: relative;
}

.nprogress-custom-parent #nprogress .bar,
.nprogress-custom-parent #nprogress .spinner {
    position: absolute;
}

/* Pulse shimmer na barra */
#nprogress .bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    animation: nprogress-pulse 1.5s ease-in-out infinite;
}

@keyframes nprogress-pulse {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
