/* Match the existing form's footprint while its uncached response arrives. */
.qed-login-loading { padding-top: 1em; padding-bottom: 2em; }
.qed-login-loading-label { font-size: 1rem; line-height: 1.5; margin-bottom: .25em; }
.qed-login-loading-label > span { color: #e5007d; }
.qed-login-loading-field {
    height: 3em;
    margin-bottom: 1em;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    background: linear-gradient(100deg, #f5f5f5 25%, #fff 45%, #f5f5f5 65%);
    background-size: 200% 100%;
    animation: qed-login-shimmer 1.4s ease-in-out infinite;
}
.qed-login-loading-remember { display: flex; align-items: center; gap: .4em; margin-bottom: .75em; }
.qed-login-loading-remember > span { width: 1.3em; height: 1.3em; border: 1px solid #ccc; border-radius: 2px; background: #fff; }
.qed-login-loading-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6em;
    min-height: 2.75em;
    border-radius: 4px;
    background: #75588d;
    color: #fff;
    text-transform: uppercase;
    font-size: .875rem;
}
.qed-login-loading-button > span { width: 1em; height: 1em; border: 2px solid #ffffff60; border-top-color: #fff; border-radius: 50%; animation: qed-login-spin .8s linear infinite; }
@keyframes qed-login-shimmer { to { background-position: -200% 0; } }
@keyframes qed-login-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .qed-login-loading-field, .qed-login-loading-button > span { animation: none; }
}
