/* Custom Alert Styles */
.app-alert {
    position: relative;
    padding: 16px 20px;
    margin-bottom: 1rem;
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    font-family: 'Inter', sans-serif;
    animation: apeAlertSlideIn 0.3s ease-out;
    max-width: 500px;
    min-width: 100%;
}

@media (min-width: 768px) {
    .app-alert {
        min-width: 300px;
    }
}

.app-alert-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.app-alert-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 2px;
}

.app-alert-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.app-alert-body {
    flex: 1;
    min-width: 0;
}

.app-alert-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 4px;
}

.app-alert-message {
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

.app-alert-close {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    margin-top: -2px;
    margin-right: -4px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-alert-close:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.1);
}

.app-alert-close img {
    width: 16px;
    height: 16px;
    opacity: 0.6;
}

/* Success Alert */
.app-alert-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border-left: 4px solid #28a745;
    color: #155724;
}

.app-alert-success .app-alert-title {
    color: #155724;
}

.app-alert-success .app-alert-close:hover {
    background-color: rgba(21, 87, 36, 0.1);
}

/* Error Alert */
.app-alert-error {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    border-left: 4px solid #dc3545;
    color: #721c24;
}

.app-alert-error .app-alert-title {
    color: #721c24;
}

.app-alert-error .app-alert-close:hover {
    background-color: rgba(114, 28, 36, 0.1);
}

/* Warning Alert */
.app-alert-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border-left: 4px solid #ffc107;
    color: #856404;
}

.app-alert-warning .app-alert-title {
    color: #856404;
}

.app-alert-warning .app-alert-close:hover {
    background-color: rgba(133, 100, 4, 0.1);
}

/* Info Alert */
.app-alert-info {
    background: linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 100%);
    border-left: 4px solid #1AAA68;
    color: #000000;
}

.app-alert-info .app-alert-title {
    color: #0c5460;
}

.app-alert-info .app-alert-close:hover {
    background-color: rgba(12, 84, 96, 0.1);
}

/* Primary Theme Alert (using your brand color) */
.app-alert-primary {
    background: linear-gradient(135deg, #fef4f1 0%, #fed7cc 100%);
    border-left: 4px solid #1AAA68;
    color: #8b2c0a;
}

.app-alert-primary .app-alert-title {
    color: #8b2c0a;
}

.app-alert-primary .app-alert-close:hover {
    background-color: rgba(139, 44, 10, 0.1);
}

/* Dismissible Animation */
.app-alert-dismissible.app-alert-fade-out {
    animation: apeAlertSlideOut 0.3s ease-in forwards;
}

/* Animations */
@keyframes apeAlertSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes apeAlertSlideOut {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
}

/* Fixed Position Alerts */
.app-alert.position-fixed {
    z-index: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
  
    
    .app-alert.position-fixed {
        margin-left: 16px;
        margin-right: 16px;
        max-width: calc(100vw - 32px);
        transform: translateX(-50%) !important;
        left: 50% !important;
    }
    
    .app-alert-content {
        gap: 10px;
    }
    
    .app-alert {
        padding: 14px 16px;
    }
}

/* Multiple Alerts Stacking */
.app-alert + .app-alert {
    margin-top: -8px;
}

/* Dark Mode Support (optional) */
@media (prefers-color-scheme: dark) {
    .app-alert {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    }
}

/* Focus States for Accessibility */
.app-alert-close:focus {
    outline: 2px solid #1AAA68;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .app-alert {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}