/* SuppDoc Notification System - Minimal Custom Styles */
/* Using Tailwind classes wherever possible, custom only where needed */

/* Custom animation keyframes (not available in Tailwind) */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.95);
    }
}

.notification-enter {
    animation: slideInUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.notification-exit {
    animation: fadeOut 0.2s ease-out forwards;
}

/* Responsive positioning for mobile devices */
@media (max-width: 640px) {
    #notification-container {
        bottom: 60px !important; /* 60px on mobile for better thumb reach */
        max-width: 95vw !important; /* Slightly wider on mobile */
    }
    
    #delete-confirm-toast {
        bottom: 60px !important; /* Match notification container on mobile */
    }
}

/* Desktop positioning */
@media (min-width: 641px) {
    #notification-container {
        bottom: 80px !important; /* 80px on desktop (~10% of typical viewport) */
    }
    
    #delete-confirm-toast {
        bottom: 80px !important; /* Match notification container on desktop */
    }
}

/* Validation Error Styles - Ultra Simple */
.validation-error {
    border: 2px solid #ef4444 !important;
    animation: shake 0.3s ease-in-out;
    position: relative;
}

.error-text {
    color: #ef4444;
    font-size: 14px;
    margin-top: 8px;
    font-weight: 500;
    padding: 4px 8px;
    background: #fef2f2;
    border-radius: 4px;
    display: inline-block;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}