/* Message Styling */
.alert {
    border: none;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    animation: slideInDown 0.3s ease-out;
}

.alert-success {
    background: linear-gradient(310deg, #17ad37 0%, #98ec2d 100%);
    box-shadow: 0 4px 20px 0 rgba(23, 173, 55, 0.15);
}

.alert-danger {
    background: linear-gradient(310deg, #ea0606 0%, #ff667c 100%);
    box-shadow: 0 4px 20px 0 rgba(234, 6, 6, 0.15);
}

.alert-warning {
    background: linear-gradient(310deg, #f53939 0%, #c5376d 100%);
    box-shadow: 0 4px 20px 0 rgba(245, 57, 57, 0.15);
}

.alert-info {
    background: linear-gradient(310deg, #2152ff 0%, #21d4fd 100%);
    box-shadow: 0 4px 20px 0 rgba(33, 82, 255, 0.15);
}

.alert .btn-close {
    background: none;
    border: none;
    color: white;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.alert .btn-close:hover {
    opacity: 1;
}

.alert .btn-close i {
    font-size: 0.875rem;
}

.alert-text {
    font-weight: 500;
    font-size: 0.875rem;
}

.alert-text ul {
    list-style: none;
    padding-left: 0;
}

.alert-text li {
    margin-bottom: 0.25rem;
}

.alert-text li:last-child {
    margin-bottom: 0;
}

/* Animation */
@keyframes slideInDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideOutUp {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}

.alert.fade-out {
    animation: slideOutUp 0.3s ease-in forwards;
}

/* Auto-dismiss functionality */
.alert-auto-dismiss {
    transition: opacity 0.5s ease-out;
}

.alert-auto-dismiss.fade-out {
    opacity: 0;
}
