.rs-dashboard .rs-dash-loading-overlay {
    background: radial-gradient(ellipse at 50% 38%, #e8ddfc 0, #f8f5fd 38%, #fcfbfe 75%);
    color: #241737;
}
.rs-dashboard .rs-dash-loader-content { position: relative; max-width: 420px; width: 90%; padding: 40px 24px; }
.rs-dashboard .rs-dash-loader-brand { display: block; width: 160px; height: auto; margin: 0 auto 10px; }
.rs-dashboard .rs-dash-loader-spinner {
    width: 70px; height: 70px; margin: 0 auto 32px; border: 1px solid #b391e72e;
    border-top-color: #9060ed; box-shadow: 0 0 0 12px #9f73eb09,0 0 0 25px #9f73eb06;
    position: relative; animation: rs-loading-orbit 2s linear infinite;
}
.rs-dashboard .rs-dash-loader-spinner::before {
    content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%;
    background: #9760ef; left: 4px; top: 7px; box-shadow: 0 0 16px #9662ef80;
}
.rs-dashboard .rs-dash-loader-spinner::after {
    content: '✦'; position: absolute; inset: 0; display: grid; place-items: center; font-size: 30px;
    color: #8e58e5; animation: rs-loading-orbit 2s linear infinite reverse;
}
.rs-dashboard .rs-dash-loader-text { font-size: 23px; line-height: 1.3; color: #241737; font-weight: 600; letter-spacing: -.045em; }
.rs-dashboard .rs-dash-loader-subtext { color: #8b7a9a; font-size: 12px; margin-top: 12px; line-height: 1.7; }
.rs-dashboard .rs-dash-loader-rail { margin: 25px auto 0; width: 130px; height: 2px; border-radius: 4px; background: #e8dff3; overflow: hidden; }
.rs-dashboard .rs-dash-loader-rail::after { content: ''; display: block; width: 45%; height: 100%; background: #9a6be7; animation: rs-loading-sweep 1.8s ease-in-out infinite; }
.rs-dashboard .rs-dash-loader-caption { font-size: 8px; letter-spacing: .2em; color: #a696b6; margin-top: 22px; }
.rs-dashboard .rs-dash-loader-retry { display: block; margin: 18px auto 0; border: 1px solid #b498d8; border-radius: 50px; background: #fff; color: #7543ac; padding: 10px 18px; cursor: pointer; font: inherit; font-size: 12px; }
:is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .rs-loading {
    position: relative; display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 12px; min-height: 130px; padding: 35px 25px; margin: 12px 0;
    border: 1px solid #9870d617; border-radius: 20px; overflow: hidden;
    color: #857592; font-size: 13px; line-height: 1.6; background: #fbf9fe;
}
:is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .rs-loading::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(105deg,transparent 20%,#bda1ee10 45%,transparent 70%);
    animation: rs-loading-shimmer 2.8s ease-in-out infinite;
}
:is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .rs-loading > .fa-spinner {
    font-size: 19px; color: #9663e5; animation-duration: 1.6s;
}
:is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .rs-loading > .fa-spinner::before { content: '✦'; font-family: sans-serif; }
:is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) :is(button,.rs-btn) .fa-spinner {
    animation-duration: 1.4s;
    filter: drop-shadow(0 0 4px currentColor);
}
@keyframes rs-loading-orbit { to { transform: rotate(360deg); } }
@keyframes rs-loading-sweep { from { transform: translateX(-110%); } to { transform: translateX(330%); } }
@keyframes rs-loading-shimmer { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
    .rs-dashboard .rs-dash-loader-spinner,.rs-dashboard .rs-dash-loader-spinner::after,
    .rs-dashboard .rs-dash-loader-rail::after,
    :is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .rs-loading::after,
    :is(.rs-dashboard,.rs-store,.rs-marketing,.rs-modal) .fa-spin { animation: none !important; }
    .rs-dashboard .rs-dash-loading-overlay { transition: none; }
}
