/* Custom styles to complement Tailwind */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    min-width: 300px;
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.offline-indicator {
    background: linear-gradient(45deg, #ff6b6b, #ee5a24);
}

.online-indicator {
    background: linear-gradient(45deg, #00d2d3, #54a0ff);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .container {
        padding: 0.5rem;
    }

    table {
        font-size: 0.875rem;
    }

    .notification {
        right: 10px;
        left: 10px;
        min-width: auto;
    }
}

.tab-button {
    transition: all 0.2s ease;
}

.tab-button.active {
    background-color: #f8fafc;
}

.tab-content {
    animation: fadeIn 0.3s ease-in;
}

/* Image upload styles */
.image-upload-area {
    transition: border-color 0.2s ease;
}

.image-upload-area:hover {
    border-color: #3b82f6;
}

/* Modal improvements */
.modal-content {
    max-height: 90vh;
    overflow-y: auto;
}

/* Purchase cart specific styles */
#inv-cart-items .bg-green-50 {
    background-color: #f0fdf4;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .modal-content {
        margin: 1rem;
        max-height: 85vh;
    }
}
