.dyfusy-loading {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    visibility: hidden;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    background: rgba(244, 247, 249, .88);
    backdrop-filter: blur(5px);
    transition: opacity .16s ease, visibility .16s ease;
}
.dyfusy-loading.is-visible { visibility: visible; opacity: 1; }
.dyfusy-loading__card {
    display: flex;
    width: min(100%, 380px);
    align-items: center;
    flex-direction: column;
    padding: 38px 32px;
    text-align: center;
    background: #fff;
    border: 1px solid #e4e7ec;
    border-radius: 20px;
    box-shadow: 0 28px 70px rgba(16, 24, 40, .18);
}
.dyfusy-loading__icon {
    width: 68px;
    height: 68px;
    margin-bottom: 20px;
    background: transparent;
    object-fit: contain;
}
.dyfusy-loading__spinner {
    width: 52px;
    height: 52px;
    margin-bottom: 24px;
    border: 6px solid #dce8e7;
    border-top-color: #0f766e;
    border-radius: 50%;
    animation: dyfusy-spin .72s linear infinite;
}
.dyfusy-loading__card strong { margin-bottom: 8px; color: #172033; font-size: 21px; font-weight: 600; }
.dyfusy-loading__card span { color: #667085; font-size: 15px; }
.overlay-cargando,
.overlay-cargando-local,
.overlay-cargando-modal,
#cargando-modal,
.loading-state,
i.fa-spinner.fa-spin,
.spinner-border { display: none !important; }
@keyframes dyfusy-spin { to { transform: rotate(360deg); } }
@media (max-width: 575.98px) {
    .dyfusy-loading__card { width: min(100%, 320px); padding: 30px 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .dyfusy-loading__spinner { animation-duration: 1.4s; }
}
