/* Critical preloader theme: this file is loaded before AdminLTE's competing dark-mode rule. */
html body.dark-mode .wrapper .preloader {
    align-items: center;
    background-color: #101317 !important;
    background-image: radial-gradient(ellipse at center, rgba(36, 197, 217, .08), transparent 58%) !important;
    color: #e8f0f3;
    display: flex;
    height: 100vh;
    inset: 0;
    justify-content: center;
    opacity: 1;
    position: fixed;
    transition: opacity .24s ease, visibility .24s ease;
    visibility: visible;
    width: 100%;
    z-index: 9999;
    animation: pc-preloader-failsafe 0s 4s forwards;
}

html body.dark-mode .wrapper .preloader.pc-loader-hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.pc-preloader-mark {
    filter: drop-shadow(0 0 20px rgba(36, 197, 217, .2));
    height: 60px;
    object-fit: contain;
    width: auto;
    animation: pc-preloader-breathe 1.8s ease-in-out infinite;
}

@keyframes pc-preloader-breathe {
    0%, 100% { opacity: .88; transform: scale(.985); }
    50% { opacity: 1; transform: scale(1); }
}

@keyframes pc-preloader-failsafe {
    to { opacity: 0; pointer-events: none; visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
    .pc-preloader-mark { animation: none; }
}
