/* Alert Container */
.alert-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1090;
    width: auto;
    max-width: 400px;
}

/* Alert Styling */
.alert {
    position: relative;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 0.375rem;
}

/* Alert Content */
.alert .d-flex {
    align-items: center;
}

/* Alert Icons */
.alert .bi {
    font-size: 1.25rem;
    margin-right: 0.5rem;
}

/* Alert Close Button */
.alert .btn-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.5rem;
    background-size: 0.875em;
    opacity: 0.5;
    transition: opacity 0.15s ease-in-out;
}

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

/* Alert Types */
.alert-success {
    background-color: #d1e7dd;
    color: #0f5132;
}

.alert-info {
    background-color: #cff4fc;
    color: #055160;
}

.alert-warning {
    background-color: #fff3cd;
    color: #664d03;
}

.alert-danger {
    background-color: #f8d7da;
    color: #842029;
}
