/* Page loader — same as the DFS application (resources/views/components/page-loader.blade.php + public/assets/js/page-loader.js). */
.page-loader {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(246, 247, 251, 0.92);
    backdrop-filter: blur(2px);
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.page-loader__box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.page-loader__ring {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
}
.page-loader__ring::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 4px solid #e3e6f0;
    border-top-color: #323B7B;
    border-right-color: #d92d35;
    animation: pageLoaderSpin 0.9s linear infinite;
}
.page-loader__logo {
    width: 38px;
    height: 38px;
    object-fit: contain;
}
.page-loader__text {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #323B7B;
}
@keyframes pageLoaderSpin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .page-loader__ring::before { animation-duration: 2.5s; }
}
