/* P3KPI - tema popup SweetAlert2 (CMS & portal anggota). Pasangan: assets/js/components/confirm.js */
.swal2-container { padding: 1rem; }
.swal2-container.swal2-backdrop-show { background: rgba(15, 42, 79, .45) !important; }
.swal2-popup {
    width: min(30rem, 100%) !important;
    padding: 1.75rem 1.5rem 1.5rem !important;
    border: 1px solid #d5dde8 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(15, 42, 79, .22) !important;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
/* Ikon: ukuran diatur lewat font-size (semua bagian ikon SweetAlert berbasis em) agar animasi centang tetap utuh */
.swal2-icon { font-size: .82rem !important; margin: .25rem auto 1.1rem !important; }
.swal2-icon.swal2-success { border-color: #1e8e5a !important; color: #1e8e5a !important; }
.swal2-icon.swal2-success [class^="swal2-success-line"] { background-color: #1e8e5a !important; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(30, 142, 90, .3) !important; }
.swal2-icon.swal2-error { border-color: #c0392b !important; color: #c0392b !important; }
.swal2-icon.swal2-error [class^="swal2-x-mark-line"] { background-color: #c0392b !important; }
.swal2-icon.swal2-warning { border-color: #e0a526 !important; color: #c27c00 !important; }
.swal2-icon.swal2-info, .swal2-icon.swal2-question { border-color: #6cb4ff !important; color: #0059ad !important; }

.swal2-title { font-family: inherit !important; padding: 0 !important; margin: 0 0 .5rem !important; font-size: 1.2rem !important; font-weight: 700 !important; color: #142033 !important; line-height: 1.35 !important; }
.swal2-html-container { margin: 0 !important; padding: 0 .25rem !important; font-size: .9rem !important; line-height: 1.55 !important; color: #4a5568 !important; }
.swal2-close { width: 2.25rem !important; height: 2.25rem !important; margin: .5rem .5rem 0 0 !important; border-radius: 8px !important; font-size: 1.6rem !important; color: #8f9bad !important; }
.swal2-close:hover { background: #f1f4f8 !important; color: #142033 !important; }
.swal2-close:focus { box-shadow: 0 0 0 3px rgba(0, 89, 173, .25) !important; }

.swal2-actions { margin: 1.4rem 0 0 !important; gap: .6rem; width: 100%; flex-wrap: wrap; }
.swal2-styled {
    margin: 0 !important;
    min-height: 2.75rem;
    min-width: 7.5rem;
    padding: 0 1.4rem !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    border: 1.5px solid transparent !important;
    box-shadow: none !important;
}
.swal2-styled:focus { box-shadow: 0 0 0 3px rgba(0, 89, 173, .28) !important; }
.swal2-styled.swal2-confirm { background: #0059ad !important; border-color: #0059ad !important; color: #fff !important; }
.swal2-styled.swal2-confirm:hover { background: #004a90 !important; border-color: #004a90 !important; }
.swal2-styled.swal2-confirm.swal-danger { background: #c0392b !important; border-color: #c0392b !important; }
.swal2-styled.swal2-confirm.swal-danger:hover { background: #a93226 !important; }
.swal2-styled.swal2-confirm.swal-success { background: #1e8e5a !important; border-color: #1e8e5a !important; }
.swal2-styled.swal2-confirm.swal-success:hover { background: #17754a !important; }
.swal2-styled.swal2-cancel { background: #fff !important; border-color: #c5cfdc !important; color: #3c4a5e !important; }
.swal2-styled.swal2-cancel:hover { background: #f1f4f8 !important; }
.swal2-styled.swal2-cancel.swal-danger { color: #c0392b !important; border-color: #f2cbc6 !important; }
.swal2-styled.swal2-deny { background: #fff !important; border-color: #f2cbc6 !important; color: #c0392b !important; }

.swal2-input, .swal2-textarea, .swal2-select, .swal2-file {
    margin: 1rem 0 0 !important;
    width: 100% !important;
    border: 1.5px solid #b9c5d5 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: .9rem !important;
}
.swal2-input:focus, .swal2-textarea:focus { border-color: #0059ad !important; box-shadow: 0 0 0 3px rgba(0, 89, 173, .18) !important; }
.swal2-validation-message { margin: .75rem 0 0 !important; border-radius: 8px; background: #fbeceb !important; color: #8a261c !important; font-size: .82rem !important; }
.swal2-timer-progress-bar { background: rgba(0, 89, 173, .35) !important; }
.swal2-loader { border-color: #0059ad transparent #0059ad transparent !important; }

@media (max-width: 575.98px) {
    .swal2-actions { flex-direction: column-reverse; }
    .swal2-styled { width: 100%; }
}
