.navbar-brand {
    font-weight: bold;
    font-size: 1.2rem;
}

.alert {
    font-size: 0.95rem;
}

.toast-container {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 1080;
}

table.table thead {
    border-bottom: 1px solid;
}

@media(max-width: 576px) {

    /* Masquer l'en-tête */
    table.table.compact thead {
        display: none;
    }

    /* Chaque ligne devient une carte */
    table.table.compact tbody tr {
        display: block;
        margin-bottom: 1rem;
        /* un peu moins d'espacement */
        border: 1px solid #adadad;
        border-radius: 0.5rem;
        padding: 0.4rem 0.6rem;
        font-size: 0.9rem;
        /* texte un peu plus petit */
    }

    /* Colonnes en ligne : label + valeur sur la même ligne */
    table.table.compact tbody tr td {
        display: flex;
        align-items: center;
        padding: 0.25rem 0;
        /* moins de padding vertical */
        border: none;
        border-bottom: 1px solid #f1f1f1;
    }

    table.table.compact tbody tr td:last-child {
        border-bottom: none;
    }

    /* Affichage des labels (via data-label) */
    table.table.compact tbody tr td::before {
        content: attr(data-label) " : ";
        font-weight: 200;
        min-width: 100px;
        /* réduit un peu la largeur du label */
        margin-right: 0.4rem;
        flex-shrink: 0;
    }

    #filterForm {
        overflow-x: auto;
        white-space: nowrap;
    }

    #filterForm>div {
        display: inline-block !important;
        vertical-align: bottom;
        min-width: auto !important;
    }

    /* Animation d'apparition des cartes */
    @keyframes fadeSlideIn {
        from {
            opacity: 0;
            transform: translateY(10px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    table.table tbody tr {
        animation: fadeSlideIn 0.3s ease-in-out;
    }
}