.alert-box {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffffcc; /* semi-transparent white for depth */
    color: #222; /* dark readable text */
    border: 1px solid #b2f5b2; /* soft green border by default */
    padding: 0.9rem 1.4rem;
    border-radius: 12px;
    font-weight: 500;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* subtle shadow */
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 1rem;
    animation: slideUp 0.35s ease-out;
    max-width: 90vw;
    backdrop-filter: blur(10px);
    user-select: none;
}

/* Success */
.alert-box.success {
    border-color: #4ade80; /* modern green */
    background: #f0fff4; /* very light green */
    color: #166534; /* readable deep green text */
}

/* Error */
.alert-box.error {
    border-color: #f87171; /* soft modern red */
    background: #fff5f5; /* light pinkish white */
    color: #7f1d1d; /* deep readable red */
}

/* Close button */
.close-alert {
    background: none;
    border: none;
    color: #333;
    font-size: 20px;
    cursor: pointer;
    transition: opacity 0.2s ease, color 0.2s ease;
    opacity: 0.6;
}

.close-alert:hover {
    opacity: 1;
    color: #16a34a; /* green hover */
}

@keyframes slideUp {
    from {
        transform: translateX(-50%) translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }
}
