    .navbar-brand img {
        height: 21px;
        border-radius: 11px; /* ← coins arrondis */
    }

    .division-title {
        border: none !important;
        background: transparent !important;
        font-size: 1.3rem !important;
        font-weight: 600 !important;
        padding-left: 0 !important;
        box-shadow: none !important;
        outline: none !important;
        color: #333;
    }

    .division-title:focus {
        border-bottom: 2px solid #007bff !important;
        background: transparent !important;
    }
    
    /* ============================
   VUE MOBILE INDEX PROJETS
   ============================ */
@media (max-width: 576px) {

    /* Masquer toutes les colonnes sauf le Nom et les Actions */
    table.projects-table th:not(:first-child):not(:last-child),
    table.projects-table td:not(:first-child):not(:last-child) {
        display: none !important;
    }

    /* Le nom du projet doit prendre toute la largeur, aller à la ligne */
    table.projects-table td:first-child a {
        display: block;
        white-space: normal !important;
        word-break: break-word;
        font-size: 1rem;
        line-height: 1.2rem;
        padding: 0.4rem 0;
    }

    /* Actions en ligne (Dupliquer) */
    table.projects-table td:last-child {
        text-align: right;
        white-space: nowrap;
        padding-right: .75rem;
    }
}

/* ============================
   VUE MOBILE INDEX ITEMS
   ============================ */
@media (max-width: 576px) {

    /* Cacher toutes les colonnes par défaut */
    table.items-table th,
    table.items-table td {
        display: none !important;
    }

    /* Ré-afficher seulement la 1ère colonne (Nom) et la 5e (Prix) */
    table.items-table th:nth-child(1),
    table.items-table td:nth-child(1),
    table.items-table th:nth-child(5),
    table.items-table td:nth-child(5) {
        display: table-cell !important;
    }

    /* Le nom de l'item doit pouvoir aller à la ligne */
    table.items-table td:nth-child(1) a {
        display: block;
        white-space: normal !important;
        word-break: break-word;
        font-size: 1rem;
        line-height: 1.2rem;
        padding: .4rem 0;
    }

    /* Prix aligné à droite */
    table.items-table td:nth-child(5) {
        text-align: right;
        white-space: nowrap;
        padding-right: .75rem;
        font-weight: 600;
    }

    /* Empêcher le débordement horizontal */
    .table-responsive {
        overflow-x: hidden !important;
    }
    .opacity-65 {
	    opacity: 0.65;
	}
} 

/* Mobile detail rows (table) */
@media (max-width: 576px) {
  tr.mobile-detail {
    background-color: #f8f9fa;
  }
  tr.mobile-detail td {
    font-size: 0.85rem;
    padding: .45rem .75rem;
  }
}

/* =============================
   GRILLE d'AJOUT d'ITEMS / ASSEMBLAGES
============================== */

/* Modale picker */
.modal-content.modal-picker {
  background: #f9f9f9;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.12);
  overflow: hidden;
  margin: 8px;
}

@media (min-width: 768px) {
  .modal-content.modal-picker { margin: 24px; }
}
@media (min-width: 1200px) {
  .modal-content.modal-picker { margin: 40px; }
}

.picker-sep {
  margin: 18px 0;
}

/* Grille responsive */
.picker-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
}

@media (min-width: 992px) {
  .picker-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }
}

/* Cartes */
.picker-card {
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  text-align: center;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,.08);

  display: flex;
  flex-direction: column;
  gap: 8px;
}

.picker-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

.picker-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  object-fit: cover;
  background: #e5e5e5;
  display: block;
}

.picker-title {
  margin-top: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  line-height: 1.2;
  word-break: break-word;
}


/* =============================
   BOUTON AJOUT DIVISION
============================== */

.btn-add-division {
    width: 50%;
    min-width: 300px;
    max-width: 600px;

    background-color: #343a40; /* gris foncé Bootstrap */
    color: #ffffff;

    font-size: 1.1rem;
    font-weight: 700;

    padding: 14px 20px;
    border-radius: 12px;
    border: none;

    text-align: center;
}

.btn-add-division:hover {
    background-color: #23272b; /* gris encore plus foncé */
    color: #ffffff;
}

.etat-badge {
    cursor: pointer;
}

.etat-popover {
    position: absolute;
    top: 120%;
    left: 0;
    z-index: 1000;

    background: #fff;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px;

    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

.etat-option {
    cursor: pointer;
}

.badge-orange {
  background-color: var(--bs-orange);
  color: #fff;
}

/* =============================
   EDIT ASSEMBLAGE – ITEMS
============================== */

.ass-item-thumb {
    width: 65px;
    height: 65px;
    object-fit: cover;
    border-radius: 6px;
    background: #f1f1f1;
    display: block;
    margin: 0 auto;
}

.ass-item-thumb--placeholder {
    width: 65px;
    height: 65px;
    border-radius: 6px;
    background: #e9ecef;
    margin: 0 auto;
}

.item-thumb-65 {
    width: 65px;
    height: 65px;
    object-fit: cover;
    border-radius: 8px;
    background: #f1f1f1;
    display: block;
}

.item-thumb-placeholder {
    background: #e9ecef;
}

/* =============================
   RÉSUMÉ FINANCIER – VISUEL FINAL
============================== */

#resume-financier .card {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.08);
}

/* bouton pleine largeur : STRICTEMENT neutre */
.resume-financier-bar {
    background: transparent;
    border: 0;
    border-radius: 0;
    width: 100%;
    padding: 0.75rem 1rem;

    display: flex;
    justify-content: space-between;
    align-items: center;

    cursor: pointer;
    text-align: left;
    user-select: none;
}

/* hover léger, sans créer de ligne */
.resume-financier-bar:hover {
    background-color: rgba(0,0,0,0.03);
}

/* contenu repliable */
.resume-financier-content {
    overflow: hidden;
    transition: height 0.3s ease, opacity 0.2s ease;
}

/* fermé */
.resume-financier:not(.is-open) .resume-financier-content {
    height: 0;
    opacity: 0;
}

/* ouvert */
.resume-financier.is-open .resume-financier-content {
    opacity: 1;
}

/* flèche */
.resume-financier-chevron {
    transition: transform 0.25s ease;
}

.resume-financier:not(.is-open) .resume-financier-chevron {
    transform: rotate(-90deg);
}

/* =============================
   RECHERCHE CLIENT – DROPDOWN
============================== */

[data-projet-client-results] {
    margin-top: 4px;
    border-radius: 8px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    border: 1px solid rgba(0,0,0,0.12);
    background: #ffffff;
}

.client-search-item {
    font-size: 0.9rem;
    padding: 8px 12px;
    cursor: pointer;
}

.client-search-item:hover,
.client-search-item:focus {
    background-color: #f1f3f5;
}

/* =============================
   ALIGNEMENT BADGE / NOM LIGNE
============================== */

.line-label-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Badge générique */
.line-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;            /* largeur FIXE */
    height: 20px;
    font-size: 0.7rem;
    line-height: 1;
    text-transform: lowercase;
    border-radius: 10px;
    flex-shrink: 0;
}

/* =============================
   PICKER – RECHERCHE TEXTE
============================== */

#picker-search-results {
    margin-bottom: 1rem;
}

/* Curseur cliquable clair */
#picker-search-results .picker-card {
    cursor: pointer;
}

/* Badge produit / assemblage dans la recherche */
#picker-search-results .badge {
    font-size: 0.65rem;
    vertical-align: middle;
}


/* =============================
   DESIGN LIGNES PROJET
============================== */

/* Enlever les flèches des inputs type=number */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}



