/* Estado nativo do SweetAlert2: preserva textos, callbacks e controles existentes. */
.swal2-container:has(.swal2-popup[data-loading="true"]:not(.swal2-toast)) {
    background: rgb(15 23 42 / 36%) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) {
    width: 420px;
    max-width: calc(100vw - 32px);
    padding: 28px 24px 24px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 80%);
    border-radius: 20px;
    background: #fff;
    color: #17202b;
    box-shadow: 0 24px 64px rgb(15 23 42 / 22%), 0 4px 12px rgb(15 23 42 / 6%);
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #fbba00, transparent);
    animation: portal-loading-sweep 1.8s ease-in-out infinite;
    pointer-events: none;
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-title {
    padding: 0;
    color: #17202b;
    font-size: 19px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: -.02em;
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-html-container {
    margin: 8px 0 0;
    padding: 0;
    color: #647080;
    font-size: 13px;
    line-height: 1.6;
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-icon { display: none; }
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-actions {
    gap: 12px;
    margin: 22px auto 0;
    padding: 0;
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-loader {
    position: relative;
    width: 38px;
    height: 38px;
    margin: 0;
    border: 3px solid #f6edce;
    border-top-color: #e9a900;
    border-right-color: #fbba00;
    border-radius: 50%;
    animation: portal-loading-spin .85s linear infinite;
}
.swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-loader::after {
    content: '';
    position: absolute;
    inset: 11px;
    border-radius: 50%;
    background: #fff4ce;
}
@keyframes portal-loading-spin { to { transform: rotate(360deg); } }
@keyframes portal-loading-sweep {
    from { transform: translateX(-110%); }
    to { transform: translateX(370%); }
}
@media (max-width: 479px) {
    .swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) { padding: 24px 20px 22px; border-radius: 16px; }
    .swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast)::after,
    .swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast) .swal2-loader { animation: none; }
    .swal2-container .swal2-popup[data-loading="true"]:not(.swal2-toast)::after { width: 100%; }
}
