:root {
    --app-swal-shadow: 0 18px 45px rgba(17, 24, 39, 0.18);
    --app-swal-border: rgba(255, 255, 255, 0.22);
}

.swal2-container {
    z-index: 2000;
}

.swal2-container.swal2-top-end {
    padding-top: 1.25rem;
    padding-right: 1.25rem;
}

.swal2-popup.app-toast {
    width: 24rem;
    max-width: 100%;
    border: 1px solid var(--app-swal-border);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.98));
    box-shadow: var(--app-swal-shadow);
    padding: 0.95rem 1rem;
    font-family: 'Poppins', sans-serif;
}

.swal2-popup.app-toast .swal2-title {
    margin: 0 0 0.15rem;
    color: #1f2937;
    font-size: 0.98rem;
    font-weight: 600;
}

.swal2-popup.app-toast .swal2-html-container,
.swal2-popup.app-toast .swal2-content {
    margin: 0;
    color: #6b7280;
    font-size: 0.86rem;
    font-weight: 400;
    line-height: 1.45;
    text-align: left;
}

.swal2-popup.app-toast .swal2-icon {
    margin: 0 0.75rem 0 0;
    transform: scale(0.82);
}

.swal2-popup.app-toast .swal2-timer-progress-bar {
    background: linear-gradient(90deg, var(--bs-primary), #6a8dff);
    height: 0.25rem;
}

.swal2-popup.app-toast.swal2-icon-success {
    border-left: 4px solid #2ca87f;
}

.swal2-popup.app-toast.swal2-icon-error {
    border-left: 4px solid #e74c3c;
}

.swal2-popup.app-toast.swal2-icon-warning {
    border-left: 4px solid #f1c40f;
}

.swal2-popup.app-toast.swal2-icon-info,
.swal2-popup.app-toast.swal2-icon-question {
    border-left: 4px solid var(--bs-primary);
}

.swal2-popup.app-modal {
    border-radius: 1.25rem;
    box-shadow: 0 26px 70px rgba(17, 24, 39, 0.24);
    padding: 1.5rem;
    font-family: 'Poppins', sans-serif;
}

.swal2-popup.app-modal .swal2-title {
    color: #111827;
    font-size: 1.45rem;
    font-weight: 600;
}

.swal2-popup.app-modal .swal2-html-container {
    color: #6b7280;
    font-size: 0.98rem;
    line-height: 1.6;
}

.swal2-popup.app-modal .swal2-actions {
    margin-top: 1.5rem;
}

.swal2-popup.app-modal .swal2-confirm,
.swal2-popup.app-modal .swal2-cancel {
    border-radius: 0.75rem;
    box-shadow: none;
    padding: 0.7rem 1.2rem;
    font-weight: 500;
}

.app-toast-show {
    animation-duration: 0.28s;
}

.app-toast-hide {
    animation-duration: 0.2s;
}
