/* Inventario MDV - Custom Styles */

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #f3f4f6;
}
::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* Badge colors for caducidad */
.badge-verde { background-color: #dcfce7; color: #166534; }
.badge-amarillo { background-color: #fef9c3; color: #854d0e; }
.badge-rojo { background-color: #fee2e2; color: #991b1b; }
.badge-negro { background-color: #f3f4f6; color: #374151; }

/* Toast notifications */
.toast {
    animation: slideIn 0.3s ease-out, fadeOut 0.3s ease-in 2.7s;
}
@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Expand/collapse animation */
.expandable {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
.expandable.open {
    max-height: 2000px;
    transition: max-height 0.5s ease-in;
}

/* Modal backdrop */
.modal-backdrop {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
}

/* Mobile fixes */
@media (max-width: 640px) {
    table th, table td {
        white-space: nowrap;
    }
    .modal-backdrop + div {
        max-height: 90vh;
        overflow-y: auto;
    }
}

/* Loading spinner */
.spinner {
    border: 3px solid #e5e7eb;
    border-top: 3px solid #3b82f6;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 0.8s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}
