:root {
    --swal-surface: linear-gradient(180deg, rgba(19, 26, 40, 0.96) 0%, rgba(9, 12, 20, 0.96) 100%);
    --swal-border: rgba(255, 255, 255, 0.08);
    --swal-text: rgba(226, 232, 240, 0.92);
    --swal-muted: rgba(148, 163, 184, 0.8);
    --swal-success: #34d399;
    --swal-error: #f87171;
    --swal-warning: #facc15;
    --swal-accent: linear-gradient(135deg, #ff6b8a 0%, #ff3355 100%);
}

.swal2-container {
    z-index: 3200 !important;
}

.swal2-popup {
    background: var(--swal-surface);
    border: 1px solid var(--swal-border);
    border-radius: 18px !important;
    box-shadow: 0 28px 60px rgba(3, 7, 18, 0.55);
    padding: 2.2rem 2.4rem !important;
    color: var(--swal-text);
    backdrop-filter: blur(14px);
    display: flex !important;
    flex-direction: column;
    gap: 1.1rem;
    max-height: min(88vh, 680px);
}

.swal2-title,
.m2-swal__title {
    color: #fff !important;
    font-weight: 700;
    font-size: 1.45rem !important;
    letter-spacing: 0.01em;
    margin-bottom: 0.75rem !important;
}

.swal2-html-container,
.m2-swal__text {
    color: var(--swal-muted) !important;
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-y: auto;
    max-height: min(48vh, 360px);
    padding-right: 0.35rem;
}

.swal2-html-container::-webkit-scrollbar,
.m2-swal__text::-webkit-scrollbar {
    width: 8px;
}

.swal2-html-container::-webkit-scrollbar-track,
.m2-swal__text::-webkit-scrollbar-track {
    background: transparent;
}

.swal2-html-container::-webkit-scrollbar-thumb,
.m2-swal__text::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.35);
    border-radius: 999px;
}

.swal2-html-container::-webkit-scrollbar-thumb:hover,
.m2-swal__text::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.55);
}

.swal2-html-container {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

.swal2-icon {
    border-width: 3px !important;
    margin-bottom: 1rem !important;
}

.swal2-icon.swal2-success {
    border-color: rgba(52, 211, 153, 0.25) !important;
    color: var(--swal-success) !important;
}

.swal2-icon.swal2-error {
    border-color: rgba(248, 113, 113, 0.25) !important;
    color: var(--swal-error) !important;
}

.swal2-icon.swal2-warning {
    border-color: rgba(250, 204, 21, 0.25) !important;
    color: var(--swal-warning) !important;
}

.swal2-actions {
    margin-top: 1.6rem !important;
    gap: 0.85rem !important;
}

.swal2-confirm,
.m2-swal__confirm {
    border-radius: 999px !important;
    background: var(--swal-accent) !important;
    border: none !important;
    padding: 0.55rem 1.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 18px 32px rgba(255, 59, 92, 0.4) !important;
}

.swal2-confirm:focus-visible,
.m2-swal__confirm:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 59, 92, 0.35), 0 18px 32px rgba(255, 59, 92, 0.4) !important;
}

.m2-swal-show {
    animation: m2-swal-slide-up 220ms ease-out;
}

.m2-swal-hide {
    animation: m2-swal-fade-out 180ms ease-in forwards;
}

@keyframes m2-swal-slide-up {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes m2-swal-fade-out {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-8px) scale(0.94);
    }
}
