body {
    background-color: #f5f6f8;
}

.nav-pills .nav-link.active {
    background-color: #0d6efd;
}

.table-low-stock {
    background-color: #fff3cd !important;
}

.table-expiring {
    background-color: #f8d7da !important;
}

/* Ogni tabella scorre nel proprio riquadro (altezza massima = viewport meno lo spazio
   tipico occupato da navbar/titolo/filtri sopra), con l'intestazione ancorata in cima
   a QUEL riquadro (top: 0), non alla pagina intera — evita di dover calcolare offset
   dinamici legati all'altezza della navbar (approccio precedente, rivelatosi fragile:
   margini/overlap sbagliati quando la navbar andava a capo su schermi stretti). */
.table-responsive {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #fff;
}

@media print {
    nav.navbar, .offcanvas-lg, .btn, .no-print {
        display: none !important;
    }
    main {
        padding: 0 !important;
    }
}
