.admin-page-loader {
    --page-loader-overlay: rgba(244, 248, 245, .82);
    --page-loader-text: #164a35;
    --page-loader-accent: #087b55;
    --page-loader-track: rgba(8, 123, 85, .16);
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--page-loader-overlay);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 0s linear 180ms;
}
html[data-admin-theme="dark"] .admin-page-loader {
    --page-loader-overlay: rgba(9, 31, 24, .84);
    --page-loader-text: #e5f4eb;
    --page-loader-accent: #83dfb3;
    --page-loader-track: rgba(131, 223, 179, .18);
}
html.admin-page-loading .admin-page-loader {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}
.admin-page-loader__content {
    display: grid;
    justify-items: center;
    gap: 20px;
    max-width: 100%;
    text-align: center;
    /* Keep the logo and label readable at the admin's selected zoom level. */
    zoom: var(--admin-zoom-control-scale, 1);
}
.admin-page-loader__ring {
    position: relative;
    display: grid;
    place-items: center;
    width: 120px;
    height: 120px;
}
.admin-page-loader__ring svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.admin-page-loader__track { stroke: var(--page-loader-track); }
.admin-page-loader__arc { stroke: var(--page-loader-accent); }
html.admin-page-loading .admin-page-loader__ring svg {
    animation: admin-logo-ring 1s linear infinite;
}
.admin-page-loader .admin-page-loader__logo {
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(8, 123, 85, .12);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 5px 18px rgba(5, 35, 22, .1);
}
.admin-page-loader__logo img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 50%;
}
.admin-page-loader .admin-page-loader__label {
    margin: 0;
    color: var(--page-loader-text);
    font: 500 15px/1.6 "Poppins", sans-serif;
    overflow-wrap: anywhere;
}
@keyframes admin-logo-ring {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .admin-page-loader { transition: none; }
    html.admin-page-loading .admin-page-loader__ring svg { animation: none; }
}
@media print {
    .admin-page-loader { display: none !important; }
}
