/* SweetAlert Mobile Theme */
.swal-overlay {
    background: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.swal-modal {
    width: calc(100% - 40px) !important;
    max-width: 320px !important;
    background: #0e121d !important;
    border: 1px solid rgba(130, 160, 255, 0.17) !important;
    border-radius: 24px !important;
    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.54),
        0 0 40px rgba(31, 107, 255, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
    padding: 10px !important;
}

.swal-title {
    color: #ccd6ee !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    margin-bottom: 5px !important;
    font-family: 'Poppins', sans-serif !important;
}

.swal-text {
    color: #b2b0ca !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    font-family: 'Poppins', sans-serif !important;
    margin-bottom: 10px !important;
}

/* Success Icon */
.swal-icon--success {
    width: 70px !important;
    height: 70px !important;
    border: 4px solid #5aa8ff !important;
    margin: 15px auto 25px !important;
}

.swal-icon--success::before,
.swal-icon--success::after {
    background: transparent !important;
}

.swal-icon--success__line {
    background-color: #5aa8ff !important;
    height: 5px !important;
}

.swal-icon--success__line--tip {
    width: 20px !important;
    left: 10px !important;
    top: 38px !important;
}

.swal-icon--success__line--long {
    width: 38px !important;
    right: 6px !important;
    top: 33px !important;
}

.swal-icon--success__ring {
    width: 70px !important;
    height: 70px !important;
    border: 4px solid rgba(90, 168, 255, 0.3) !important;
    left: -4px !important;
    top: -4px !important;
}

.swal-icon--success__hide-corners {
    display: none !important;
}

/* Error Icon */
.swal-icon--error {
    width: 70px !important;
    height: 70px !important;
    border: 4px solid #f5576c !important;
    margin: 15px auto 25px !important;
}

.swal-icon--error__x-mark {
    position: relative !important;
    display: block !important;
}

.swal-icon--error__line {
    background-color: #f5576c !important;
    width: 40px !important;
    height: 5px !important;
    border-radius: 3px !important;
    position: absolute !important;
    top: 32px !important;
    left: 15px !important;
}

.swal-icon--error__line--left {
    transform: rotate(45deg) !important;
}

.swal-icon--error__line--right {
    transform: rotate(-45deg) !important;
}

/* Warning Icon */
.swal-icon--warning {
    width: 70px !important;
    height: 70px !important;
    border: 4px solid #ffc107 !important;
    margin: 15px auto 25px !important;
}

.swal-icon--warning__body {
    background-color: #ffc107 !important;
    width: 5px !important;
    height: 30px !important;
    top: 12px !important;
    left: 50% !important;
    margin-left: -2.5px !important;
}

.swal-icon--warning__dot {
    background-color: #ffc107 !important;
    width: 7px !important;
    height: 7px !important;
    bottom: 12px !important;
    left: 50% !important;
    margin-left: -3.5px !important;
}

/* Info Icon */
.swal-icon--info {
    width: 70px !important;
    height: 70px !important;
    border: 4px solid #4facfe !important;
    margin: 15px auto 25px !important;
}

.swal-icon--info::before {
    background-color: #4facfe !important;
    width: 5px !important;
    height: 25px !important;
    top: 18px !important;
}

.swal-icon--info::after {
    background-color: #4facfe !important;
    width: 7px !important;
    height: 7px !important;
    top: 8px !important;
}

/* Buttons */
.swal-button-container {
    margin: 10px 5px 0 !important;
}

.swal-button {
     background-color: #1f6bff !important;
    color: #ffffff;
    border-radius: 5px;
    font-weight: bold;
    font-size: 12px;
    padding: 7px 74px;
    margin: 0;
    cursor: pointer;
    border: none;
}

.swal-button:not([disabled]):hover {
    transform: translateY(-3px) !important;
    box-shadow:
        0 12px 35px rgba(31, 107, 255, 0.5),
        0 6px 15px rgba(0, 0, 0, 0.60) !important;
}

.swal-button:active {
    transform: translateY(-1px) !important;
}

.swal-button:focus {
    outline: none !important;
    box-shadow:
        0 8px 25px rgba(31, 107, 255, 0.35),
        0 0 0 3px rgba(31, 107, 255, 0.3) !important;
}

.swal-button--confirm {
    background: linear-gradient(135deg, #1f6bff 0%, #1350d6 100%) !important;
}

.swal-button--cancel {
    background: linear-gradient(135deg, #f5576c 0%, #f093fb 100%) !important;
    box-shadow:
        0 8px 25px rgba(245, 87, 108, 0.35),
        0 4px 10px rgba(0, 0, 0, 0.60) !important;
}

.swal-button--cancel:not([disabled]):hover {
    box-shadow:
        0 12px 35px rgba(245, 87, 108, 0.5),
        0 6px 15px rgba(0, 0, 0, 0.60) !important;
}

.swal-button--danger {
    background: linear-gradient(135deg, #f5576c 0%, #f093fb 100%) !important;
}

/* Footer */
.swal-footer {
    background: transparent !important;
    border: none !important;
    margin-top: 15px !important;
    padding-top: 0 !important;
    text-align: center !important;
}

/* Content wrapper */
.swal-content {
    padding: 0 10px !important;
}

/* Animation */
.swal-overlay--show-modal .swal-modal {
    animation: swalMobileSlideUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

@keyframes swalMobileSlideUp {
    0% {
        transform: translateY(50px) scale(0.9);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Icon pulse animation */
.swal-icon--success,
.swal-icon--error,
.swal-icon--warning,
.swal-icon--info {
    animation: swalIconPulse 0.5s ease-out 0.3s !important;
}

@keyframes swalIconPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* Mobile responsive */
@media (max-width: 380px) {
    .swal-modal {
        width: calc(100% - 30px) !important;
        padding: 25px 15px !important;
    }

    .swal-title {
        font-size: 18px !important;
    }

    .swal-text {
        font-size: 14px !important;
    }

    .swal-button {
        padding: 12px 24px !important;
        font-size: 14px !important;
        min-width: 100px !important;
    }

    .swal-icon--success,
    .swal-icon--error,
    .swal-icon--warning,
    .swal-icon--info {
        width: 60px !important;
        height: 60px !important;
    }
}

/* Glassmorphism effect for modal */
@supports (backdrop-filter: blur(10px)) {
    .swal-modal {
        background: rgba(14, 18, 29, 0.97) !important;
    }
}
