/* Digilancer Freeio — page preloader (admin page_loader gated) */

.preloader.dl-preloader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 24px;
    overflow: hidden;
    background-color: #fff;
    background-image: none;
    font-family: var(--title-font-family, "DM Sans", sans-serif);
}

.preloader.dl-preloader .dl-preloader-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--main-color-one, #5BBB7B) 11%, transparent) 0%, transparent 52%),
        linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
}

.preloader.dl-preloader .dl-preloader-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    animation: dl-preloader-enter 0.35s ease-out both;
}

.preloader.dl-preloader .dl-preloader-spinner {
    position: relative;
    width: 48px;
    height: 48px;
}

.preloader.dl-preloader .dl-preloader-track {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid color-mix(in srgb, var(--main-color-one, #5BBB7B) 14%, #eceff1);
    box-sizing: border-box;
}

.preloader.dl-preloader .dl-preloader-arc {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--main-color-one, #5BBB7B);
    border-right-color: color-mix(in srgb, var(--main-color-one, #5BBB7B) 45%, #fff);
    box-sizing: border-box;
    animation: dl-preloader-spin 0.7s linear infinite;
}

.preloader.dl-preloader .dl-preloader-text {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6b7177;
    animation: dl-preloader-text 1.35s ease-in-out infinite;
}

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

@keyframes dl-preloader-text {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

@keyframes dl-preloader-enter {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
