/* =============================================================================
 * Habillage TGR (même langage que MPE TGR et la caution) : chargé en dernier
 * dans les gabarits agent et entreprise.
 * Palette : marine #1E4E7C, bleu #2F6EA8, orange #e79010, or #7A5C00 / #EBDDAA.
 * ========================================================================== */
:root {
  --tgr-navy: #1E4E7C;
  --tgr-blue: #2F6EA8;
  --tgr-orange: #e79010;
  --tgr-orange-dark: #cf7f0a;
  --tgr-gold: #7A5C00;
  --tgr-gold-line: #EBDDAA;
  --tgr-text: #3F4254;
  --tgr-muted: #5E6278;
  --tgr-light: #A1A5B7;
  --tgr-border: #E6EAF0;
  --tgr-input: #C8CED8;
  --tgr-bg: #F4F6F9;
  --tgr-soft: #F7F9FC;
  --tgr-navy-soft: #EEF4FA;
  --bodyBackground: #F4F6F9;
}

/* root.css décale le body avec top:7rem : tout ce qui est positionné sur le body (calendriers) tombait 112px trop bas */
body { top: 0 !important; padding-top: 7rem; background: var(--tgr-bg) !important; color: var(--tgr-text); }

/* --- En-tête : motif zellige et logo TGR (remplace l'image bandeau) ------ */
/* L'en-tête défile avec la page : absolu en haut du body (root.css le fixait), la marge du body lui garde sa place ; overflow coupe l'ancienne image du bandeau (invisible, 1900px) qui élargirait la page. */
header#header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
  height: 112px;
  display: flex;
  align-items: center;
  padding: 0 32px;
  background:
    url("../images/tgr/logo-header.svg") no-repeat 32px center / auto 62px,
    url("../images/tgr/header-motif.png") repeat-x left top / auto 160px,
    #f7f7f7;
  border-bottom: 1px solid var(--tgr-border);
  box-shadow: 0 1px 3px rgba(16, 24, 40, .04);
}
header#header > .headerLogo { visibility: hidden; }

/* --- Menu latéral -------------------------------------------------------- */
#mySidebar.sidebar {
  background: #ffffff;
  border-right: 1px solid var(--tgr-border);
  padding: 20px 14px;
}
#mySidebar.sidebar > a {
  display: block;
  margin: 0 0 14px;
  padding: 0 10px 14px !important;
  border-bottom: 1px solid var(--tgr-border);
  color: var(--tgr-navy) !important;
  font-size: 15px !important;
  font-weight: 700;
  text-decoration: none;
}
#mySidebar .sidebar__links { padding: 0; background: none !important; }
#mySidebar .sidebar__achat {
  padding: 4px 10px 6px !important;
  background: none !important;
  color: var(--tgr-light) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#mySidebar .navbar-nav { padding: 0 !important; margin: 4px 0 0 !important; gap: 2px; }
#mySidebar .navbar-nav .nav-link {
  display: block;
  padding: 10px 12px !important;
  border-radius: 8px;
  color: var(--tgr-text) !important;
  font-size: 14px;
  font-weight: 500;
  transition: background-color .15s, color .15s;
}
#mySidebar .navbar-nav .nav-link:hover { background: var(--tgr-soft); color: var(--tgr-navy) !important; }
#mySidebar .navbar-nav .nav-link.active {
  background: #FFF4E5;
  color: var(--tgr-navy) !important;
  font-weight: 700;
  box-shadow: inset 3px 0 0 var(--tgr-orange);
}

/* --- Barre du haut : menu et utilisateur --------------------------------- */
/* Tablette et téléphone : la barre de la page (menu, profil) reste collée en haut une fois l'en-tête défilé. */
.content__head { top: 0 !important; }
.content__head {
  min-height: 64px;
  background: #ffffff;
  border-bottom: 1px solid var(--tgr-border);
}
.content__head #openSideBar,
.content__head #backButton {
  width: 38px;
  height: 38px;
  justify-content: center;
  padding: 0 !important;
  border: 1px solid var(--tgr-border);
  border-radius: 10px;
  background: #ffffff;
  color: var(--tgr-navy);
}
.content__head #openSideBar:hover { background: var(--tgr-soft); }
.content__head .content__profile {
  height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid #D5DBE4;
  border-radius: 999px;
  background: #ffffff;
  color: var(--tgr-navy);
  font-size: 13px;
  font-weight: 600;
}
.content__head .content__profile:hover { border-color: var(--tgr-navy); background: var(--tgr-soft); }
.content__head .content__profile i { color: var(--tgr-orange); }
.content__head .dropdown-menu { border: 1px solid var(--tgr-border); border-radius: 10px; box-shadow: 0 12px 28px rgba(16, 24, 40, .12); padding: 6px; }
.content__head .dropdown-item { border-radius: 6px; font-size: 13px; color: var(--tgr-text); }
.content__head .dropdown-item:hover { background: #FFF4E5; color: var(--tgr-navy); }

/* --- Contenu : titre et cartes ------------------------------------------- */
.content__box { padding: 24px 28px !important; }
.content__box > h4 {
  margin: 0 0 18px;
  color: var(--tgr-navy);
  font-size: 22px;
  font-weight: 700;
}
.content__subBox {
  margin-top: 0 !important;
  padding: 20px 22px !important;
  border: 1px solid var(--tgr-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .05);
}
/* Variante sans grand bloc blanc : les sections (déjà blanches et bordées) sont posées directement sur le fond gris */
.content__subBox--sans-fond { padding: 0 !important; border: 0; background: transparent; box-shadow: none; }
.content__subBox--sans-fond > .border.rounded-4,
.content__subBox--sans-fond > div > .border.rounded-4:not(.table-responsive),
.content__subBox--sans-fond > .custom-progress-wrapper,
.content__subBox--sans-fond .accordion-item { border-radius: 12px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }

/* --- Champs et boutons --------------------------------------------------- */
.content__box .form-control,
.content__box .form-select {
  min-height: 40px;
  border: 1px solid var(--tgr-input);
  border-radius: 8px;
  font-size: 14px;
  color: #1E2330;
  transition: border-color .15s, box-shadow .15s;
}
.content__box .form-control:focus,
.content__box .form-select:focus {
  border-color: var(--tgr-orange);
  box-shadow: 0 0 0 3px rgba(231, 144, 16, .18);
}
.content__box .searchLabel,
.content__box .form-label,
.content__box label { color: var(--tgr-text); font-size: 13px; font-weight: 600; }

/* --- Recherche : mot clé, filtres avancés, barre de résultats ------------- */
.content__subBox > form > .d-flex:first-child { gap: 10px !important; margin-bottom: 0 !important; }
.content__subBox > form > .d-flex:first-child .searchLabel { margin: 0 6px 0 0; color: var(--tgr-navy); font-size: 14px; font-weight: 700; }
.content__subBox > form > .d-flex:first-child .form-control {
  height: 44px;
  padding-left: 42px;
  border-radius: 10px;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23A1A5B7' d='M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7a32 32 0 0 1-45.3 45.3L330.7 376A207 207 0 0 1 208 416 208 208 0 1 1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") no-repeat 15px center / 15px;
}
.content__subBox > form > .d-flex:first-child > .btn {
  height: 44px;
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: none !important;
}
.content__subBox > form > .d-flex:first-child > .btn[type="submit"] { border: 1px solid var(--tgr-navy) !important; background: var(--tgr-navy) !important; color: #ffffff !important; }
.content__subBox > form > .d-flex:first-child > .btn[type="submit"]:hover { border-color: #163C61 !important; background: #163C61 !important; }
.content__subBox > form > .d-flex:first-child > .content-icon__settings { border: 1px solid #D5DBE4 !important; background: #ffffff !important; color: var(--tgr-navy) !important; }
.content__subBox > form > .d-flex:first-child > .content-icon__settings::after { content: "Filtres"; }
.content__subBox > form > .d-flex:first-child > .content-icon__settings i { color: var(--tgr-orange); }
.content__subBox > form > .d-flex:first-child > .content-icon__settings:hover,
.content__subBox > form > .d-flex:first-child > .content-icon__settings[aria-expanded="true"] { border-color: var(--tgr-orange) !important; background: #FFF4E5 !important; }

#searchFiltersDiv {
  margin-top: 16px;
  padding: 20px 22px 4px !important;
  border: 1px solid var(--tgr-border) !important;
  border-radius: 12px !important;
  background: var(--tgr-soft);
}
#searchFiltersDiv::before {
  content: "Recherche avancée";
  display: block;
  margin: 0 0 16px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--tgr-gold-line);
  color: var(--tgr-gold);
  font-size: 15px;
  font-weight: 700;
}
#searchFiltersDiv > .row { margin-bottom: 14px !important; row-gap: 14px; }
#searchFiltersDiv > .row:has(> label) { row-gap: 0; }
#searchFiltersDiv label { display: block; margin: 0 0 6px; color: var(--tgr-muted); font-size: 12.5px; font-weight: 600; }
#searchFiltersDiv .form-control,
#searchFiltersDiv .form-select { background-color: #ffffff; }
#searchFiltersDiv .dateTime .form-control { padding-right: 64px; }
#searchFiltersDiv .dateTime + span { flex: none; margin: 0 10px !important; color: var(--tgr-light); font-size: 13px; font-weight: 600; }
#searchFiltersDiv .dateTime__icons { top: 50% !important; right: 6px !important; display: flex; gap: 2px; transform: translateY(-50%); }
#searchFiltersDiv .position-relative > .dateTime__icons { right: 6px !important; }
#searchFiltersDiv .dateTime__icons > i {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 6px;
  color: var(--tgr-light);
  font-size: 14px;
}
#searchFiltersDiv .dateTime__icons > .opencalendar { color: var(--tgr-navy); }
#searchFiltersDiv .dateTime__icons > i:hover { background: var(--tgr-navy-soft); }
#searchFiltersDiv .dateTime__icons > [class*="reset"]:hover { background: #FEF3F2; color: #B42318; }
#searchFiltersDiv #autocomplete-dropdown {
  max-height: 220px;
  margin-top: 6px;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--tgr-border);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(16, 24, 40, .12);
}
#searchFiltersDiv .autocomplete-item { padding: 8px 10px; border-radius: 6px; color: var(--tgr-text); font-size: 13.5px; cursor: pointer; }
#searchFiltersDiv .autocomplete-item:hover { background: #FFF4E5; color: var(--tgr-navy); }
#searchFiltersDiv .block__filter { margin: 4px -22px 0 !important; padding: 14px 22px; border-top: 1px solid var(--tgr-border); }
#searchFiltersDiv .block__filter .btn {
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: none;
}
#searchFiltersDiv .block__filter .btn.text-danger { border: 1px solid #D5DBE4 !important; background: #ffffff !important; color: var(--tgr-muted) !important; }
#searchFiltersDiv .block__filter .btn.text-danger:hover { border-color: #F5C2BD !important; background: #FEF3F2 !important; color: #B42318 !important; }
#searchFiltersDiv .block__filter .sendform { border: 1px solid var(--tgr-orange); background: var(--tgr-orange); color: #ffffff; }
#searchFiltersDiv .block__filter .sendform:hover { border-color: var(--tgr-orange-dark); background: var(--tgr-orange-dark); }

.content__subBox .content__table { align-items: center; margin-top: 18px !important; }
.content__subBox .content__table .page-size { width: auto; min-width: 84px; height: 38px; min-height: 38px; font-weight: 600; color: var(--tgr-navy); }
.content__subBox .content__resultat {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-muted);
  font-size: 13px;
  font-weight: 600;
}

/* --- Calendriers (flatpickr) --------------------------------------------- */
.flatpickr-calendar {
  border: 1px solid var(--tgr-border);
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, .14);
  font-family: inherit;
}
.flatpickr-calendar.arrowTop::before { border-bottom-color: var(--tgr-border); }
.flatpickr-calendar.arrowBottom::before { border-top-color: var(--tgr-border); }
.flatpickr-months { padding: 6px 4px 0; }
.flatpickr-current-month { font-size: 15px; font-weight: 700; color: var(--tgr-navy); }
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year { font-weight: 700; color: var(--tgr-navy); }
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { top: 6px; color: var(--tgr-navy); fill: var(--tgr-navy); }
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg { fill: var(--tgr-orange); }
span.flatpickr-weekday { color: var(--tgr-light); font-size: 12px; font-weight: 600; }
.flatpickr-day { border-radius: 8px; color: #1E2330; font-weight: 500; }
.flatpickr-day:hover,
.flatpickr-day:focus { border-color: var(--tgr-navy-soft); background: var(--tgr-navy-soft); }
.flatpickr-day.today { border-color: var(--tgr-navy); color: var(--tgr-navy); font-weight: 700; }
.flatpickr-day.today:hover { border-color: var(--tgr-navy); background: var(--tgr-navy-soft); color: var(--tgr-navy); }
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange { border-color: var(--tgr-orange); background: var(--tgr-orange); color: #ffffff; }
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.flatpickr-disabled { color: #C9CDD6; }
.flatpickr-time { border-top: 1px solid var(--tgr-border) !important; }
.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm { color: var(--tgr-navy); font-weight: 600; }
.flatpickr-time input:hover,
.flatpickr-time input:focus { background: var(--tgr-navy-soft); }

/* --- Liste des avis d'achat : cartes ------------------------------------- */
.entreprise__card {
  margin-top: 14px !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--tgr-border) !important;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .05);
  transition: box-shadow .15s, transform .15s;
}
.entreprise__card:hover { box-shadow: 0 8px 22px rgba(16, 24, 40, .09); transform: translateY(-1px); }
/* Accent de carte selon le statut : orange en cours, vert attribué, rouge infructueux / annulé */
.entreprise__card { --card-accent: var(--tgr-orange); --card-soft: #FFF4E5; --card-ink: #B86E00; }
.entreprise__card:has(.entreprise__rightSubCard > .bg-success),
.entreprise__card:has(.entreprise__middleSubCard .badge.bg-success) { --card-accent: #1F8A4C; --card-soft: #ECF8F1; --card-ink: #14532D; }
.entreprise__card:has(.entreprise__rightSubCard > .bg-danger),
.entreprise__card:has(.entreprise__middleSubCard .badge.bg-danger) { --card-accent: #D92D20; --card-soft: #FEF3F2; --card-ink: #B42318; }
.entreprise__card:has(.entreprise__middleSubCard .badge.bg-info),
.entreprise__card:has(.entreprise__middleSubCard .badge.bg-primary) { --card-accent: var(--tgr-blue); --card-soft: var(--tgr-navy-soft); --card-ink: var(--tgr-navy); }
.entreprise__card:has(.entreprise__middleSubCard .badge.bg-secondary) { --card-accent: #98A2B3; --card-soft: #F2F4F7; --card-ink: #475467; }
.entreprise__leftSubCard {
  align-self: stretch;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 88px;
  min-width: 88px;
  background: #ffffff !important;
  border-right: 1px solid #EEF0F4;
  box-shadow: inset 4px 0 0 var(--card-accent);
}
.entreprise__leftSubCard--icon {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: var(--card-soft) !important;
}
.entreprise__leftSubCard--icon i { color: var(--card-ink) !important; font-size: 19px !important; }
.entreprise__leftSubCard--text {
  transform: none !important;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--card-soft);
  color: var(--card-ink) !important;
  font-size: 11px;
  letter-spacing: .08em;
}
.entreprise__middleSubCard { flex: 1 1 auto; width: auto !important; min-width: 0; padding: 18px 24px; row-gap: 6px !important; }
.entreprise__middleSubCard .table__links { color: var(--tgr-text) !important; text-decoration: none; }
.entreprise__middleSubCard > div > a.table__links { color: var(--tgr-navy) !important; font-size: 16px; }
.entreprise__middleSubCard > div > a.table__links:hover { color: var(--tgr-orange) !important; }
.entreprise__middleSubCard .font-bold.text-small { color: var(--tgr-muted); font-weight: 600; }

/* Colonne droite : bloc d'informations clair, aligné à gauche */
.entreprise__rightSubCard {
  flex: none;
  align-self: stretch;
  width: 290px;
  border-left: 1px solid #EEF0F4;
  background: #ffffff !important;
  color: var(--tgr-text) !important;
  text-decoration: none;
}
.entreprise__rightSubCard--top {
  height: 100%;
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-content: center;
  justify-items: start;
  gap: 6px 8px;
  padding: 18px 22px !important;
  background: none !important;
  font-size: 13px;
  text-align: left;
}
.entreprise__rightSubCard--top > span { grid-column: 1 / -1; text-align: left !important; }
.entreprise__rightSubCard--top > span:not(.font-bold) { color: var(--tgr-light) !important; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.entreprise__rightSubCard--top > span:nth-child(4) { margin-top: 8px; }
.entreprise__rightSubCard--top > span:nth-child(2),
.entreprise__rightSubCard--top > span:nth-child(3) {
  grid-column: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-navy) !important;
  font-size: 13px;
}
.entreprise__rightSubCard--top > span:nth-child(5) { padding: 0 !important; color: var(--tgr-navy) !important; font-size: 13.5px; line-height: 1.4; }
.entreprise__rightSubCard--top i { color: var(--tgr-orange); }
.entreprise__card:hover .entreprise__rightSubCard--top > span:nth-child(2),
.entreprise__card:hover .entreprise__rightSubCard--top > span:nth-child(3) { background: #FFF4E5; }

/* Résultats : pastille de statut puis chiffres clés */
.entreprise__rightSubCard > .bg-success,
.entreprise__rightSubCard > .bg-danger { display: flex !important; align-items: flex-start !important; gap: 6px; }
.entreprise__rightSubCard > .bg-success > span,
.entreprise__rightSubCard > .bg-danger > span:not(.font-bold) { display: block; padding: 0; background: none !important; color: var(--tgr-muted) !important; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.entreprise__rightSubCard > .bg-success .font-bold,
.entreprise__rightSubCard > .bg-danger span .font-bold { color: var(--tgr-navy) !important; font-size: 13.5px; }
.entreprise__rightSubCard > .bg-success::before,
.entreprise__rightSubCard > .bg-danger > span.font-bold {
  order: -1;
  margin-bottom: 4px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 12px !important;
  font-weight: 700;
}
.entreprise__rightSubCard > .bg-success::before { content: "Bon de commande attribué"; background: #ECF8F1; color: #14532D; box-shadow: inset 0 0 0 1px #B7E2C8; }
.entreprise__rightSubCard > .bg-danger > span.font-bold { background: #FEF3F2; color: #B42318 !important; box-shadow: inset 0 0 0 1px #F5C2BD; }

/* --- Pied de page -------------------------------------------------------- */
.footer { background: #ffffff; border-top: 1px solid var(--tgr-border); color: var(--tgr-muted); font-size: 13px; }
.footer .font-bold { color: var(--tgr-navy); }

/* --- Détail d'un avis d'achat (entreprise et agent) ---------------------- */
.backButtonHeight { margin: 18px 28px 0 !important; gap: 10px; color: var(--tgr-muted); font-size: 13px; }
.backButtonHeight > div { margin: 0 !important; }
.content__backAction {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid #D5DBE4;
  border-radius: 999px;
  background: #ffffff;
  color: var(--tgr-navy) !important;
  font-size: 13px;
  font-weight: 600;
}
.content__backAction > div { padding: 0 !important; }
.content__backAction i { color: var(--tgr-orange); }
.content__backAction:hover { border-color: var(--tgr-navy); background: var(--tgr-soft); }
.devisAccordionStyle > .d-flex > h4 { color: var(--tgr-navy); font-size: 22px; font-weight: 700; }
.devisAccordionStyle > .border.rounded-4 {
  padding: 18px 20px !important;
  border: 1px solid var(--tgr-border) !important;
  border-radius: 12px !important;
  background: #ffffff;
}
.devisAccordionStyle > .border.rounded-4 > span.text-uppercase {
  display: block;
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--tgr-gold-line);
  color: var(--tgr-gold);
  font-size: 15px;
  font-weight: 700;
  text-transform: none !important;
}
.devisAccordionStyle > .border.rounded-4 .row > .col-12.mt-3 { margin-top: 0 !important; }
.devisAccordionStyle .text-black { color: #1E2330 !important; font-size: 14.5px; }
.devisAccordionStyle .warningFlashMessage {
  border: 1px solid #F5D9A8;
  border-left: 4px solid var(--tgr-orange);
  border-radius: 10px !important;
  background: #FFF8EC !important;
  color: #5E4A1E !important;
}
.devisAccordionStyle .warningFlashMessage * { color: #5E4A1E !important; }
.devisAccordionStyle .accordion-item { border: 0; background: none; }
.devisAccordionStyle .content__article--card {
  width: 100%;
  padding: 14px 20px !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  background: var(--tgr-navy) !important;
  color: #ffffff !important;
  font-size: 15px;
  text-align: left;
}
.devisAccordionStyle .accordion-body {
  padding: 18px !important;
  border: 1px solid var(--tgr-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 12px 12px;
  background: #ffffff;
}
.devisAccordionStyle .accordion-body table.table { border-color: var(--tgr-border); box-shadow: none !important; overflow: hidden; border-radius: 10px; }
.devisAccordionStyle .accordion-body table.table > thead th {
  padding: 12px 10px;
  border-color: rgba(255, 255, 255, .15);
  background: var(--tgr-navy);
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 600;
  vertical-align: middle;
}
.devisAccordionStyle .accordion-body table.table > tbody td { border-color: var(--tgr-border); color: #1E2330; font-size: 13px; }
.devisAccordionStyle .accordion-body table.table > tbody tr:nth-child(even) > td { background: var(--tgr-soft); }
.devisAccordionStyle .accordion-body table.table u { color: var(--tgr-navy); text-decoration-color: var(--tgr-gold-line); }
.content__generateDevisButton {
  height: 40px;
  padding: 0 22px !important;
  border-radius: 8px !important;
  font-size: 14px;
  box-shadow: none !important;
}
#button-enregistrer.content__generateDevisButton { border: 1px solid var(--tgr-orange) !important; background: #ffffff !important; color: var(--tgr-orange) !important; }
#button-enregistrer.content__generateDevisButton:hover { background: #FFF4E5 !important; }
#button-generer.content__generateDevisButton { border: 1px solid var(--tgr-orange) !important; background: var(--tgr-orange) !important; color: #ffffff !important; }
#button-generer.content__generateDevisButton:hover { border-color: var(--tgr-orange-dark) !important; background: var(--tgr-orange-dark) !important; }

/* --- Résultats et réponses : statuts ------------------------------------- */
.entreprise__middleSubCard > div:first-child > .font-bold,
.entreprise__middleSubCard > div:first-child > span.font-bold { color: var(--tgr-navy) !important; font-size: 16px; }
.entreprise__middleSubCard .badge { padding: 4px 10px; border-radius: 999px; font-size: 11.5px !important; font-weight: 600; letter-spacing: .01em; }
.entreprise__middleSubCard > .font-bold:first-child,.entreprise__middleSubCard > span:first-child { color: var(--tgr-navy) !important; font-size: 16px; }

/* --- Agent : menu replié, titres, bandeau d'information ------------------- */
#mySidebar.sidebar[style*="width: 0"] { padding: 0 !important; border-right: 0 !important; }
.content__box h4 { color: var(--tgr-navy); font-weight: 700; }
.content__box > .d-flex > h4 { margin: 0; font-size: 22px; }
.content__box h4.mt-5 { margin-top: 28px !important; font-size: 18px; }
.infoFlashMessage {
  border: 1px solid #DCE7F3 !important;
  border-left: 4px solid var(--tgr-blue) !important;
  border-radius: 10px !important;
  background: var(--tgr-navy-soft) !important;
  box-shadow: none !important;
}
.infoFlashMessage .card-body { padding: 14px 18px; }
.infoFlashMessage, .infoFlashMessage .infoFlashMessageText { color: var(--tgr-navy) !important; font-size: 14px; }
.infoFlashMessage a { color: var(--tgr-orange) !important; font-weight: 700; }

/* --- Agent : formulaire de création / modification ------------------------ */
.content__box .d-flex > a.btn.btn-primary,
.content__box a.btn[href*="create"] {
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid var(--tgr-orange) !important;
  border-radius: 8px;
  background: var(--tgr-orange) !important;
  color: #ffffff !important;
  font-weight: 600;
}
.content__box a.btn[href*="create"]:hover { background: var(--tgr-orange-dark) !important; }
.content__box label.switch {
  height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border: 1px solid #D5DBE4 !important;
  background: #ffffff !important;
  color: var(--tgr-text) !important;
  font-size: 13px;
  font-weight: 600;
}
.content__box input[type="radio"]:checked + label.switch { border-color: var(--tgr-navy) !important; background: var(--tgr-navy) !important; color: #ffffff !important; }
.content__box .button__execution {
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #DCE7F3 !important;
  border-radius: 8px;
  background: var(--tgr-navy-soft) !important;
  color: var(--tgr-navy) !important;
  font-weight: 600;
}
.content__box .button__execution i { color: var(--tgr-orange); }
.content__box .content__article--button {
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px dashed #B9C4D3 !important;
  border-radius: 8px;
  background: var(--tgr-soft) !important;
  color: var(--tgr-navy) !important;
  font-weight: 600;
}
.content__box .content__article--button:hover { border-color: var(--tgr-navy) !important; background: var(--tgr-navy-soft) !important; }
.content__box .content__article--button i { color: var(--tgr-orange); }
#submitGlobalForm {
  height: 40px;
  padding: 0 22px;
  border: 1px solid var(--tgr-orange) !important;
  border-radius: 8px;
  background: var(--tgr-orange) !important;
  color: #ffffff !important;
  font-weight: 600;
}
#submitGlobalForm:hover { background: var(--tgr-orange-dark) !important; }
#submitGlobalForm ~ a.btn, a.btn:has(+ #submitGlobalForm) {
  height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  border: 1px solid var(--tgr-orange) !important;
  border-radius: 8px;
  background: #ffffff !important;
  color: var(--tgr-orange) !important;
  font-weight: 600;
}
.content__box > .d-flex.justify-content-between:has(> h4) { margin-bottom: 16px; align-items: center; }

/* --- Agent : tableau des avis d'achat ------------------------------------ */
.content__box .table-responsive > table.table {
  margin-top: 18px !important;
  border: 1px solid var(--tgr-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
}
.content__box .table-responsive > table.table > thead th {
  padding: 12px 14px;
  border: 0;
  background: var(--tgr-navy);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  vertical-align: middle;
}
.content__box .table-responsive > table.table > thead th a.sortable { color: #ffffff !important; text-decoration: none; }
.content__box .table-responsive > table.table > thead th a.sortable i { color: rgba(255, 255, 255, .55); }
.content__box .table-responsive > table.table > tbody td {
  padding: 12px 14px;
  border-color: #EEF0F4;
  color: #1E2330;
  font-size: 13.5px;
}
.content__box .table-responsive > table.table > tbody tr:hover > td { background: var(--tgr-soft); }
.content__box .table-responsive > table.table > tbody td:first-child a.table__links { color: var(--tgr-navy) !important; font-weight: 700; }
.content__box .table-responsive > table.table > tbody td a.table__links { color: inherit; text-decoration: none; }
.content__box .table-responsive > table.table > tbody td:last-child .btn.border {
  padding: 5px 10px;
  border: 1px solid #DCE7F3 !important;
  border-radius: 999px;
  background: var(--tgr-navy-soft);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}
.content__box .table-responsive > table.table > tbody td:last-child .btn.border a { color: var(--tgr-navy) !important; }
.content__box .table-responsive > table.table > tbody td:last-child .btn.border:hover { border-color: var(--tgr-navy) !important; }
.content__box .pagination { gap: 4px; margin-top: 16px; }
.content__box .pagination .page-link {
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tgr-border);
  border-radius: 8px !important;
  background: #ffffff;
  color: var(--tgr-navy);
  font-size: 13px;
  font-weight: 600;
}
.content__box .pagination .page-item.active .page-link { border-color: var(--tgr-orange); background: var(--tgr-orange); color: #ffffff; }
.content__box .pagination .page-item.disabled .page-link { color: var(--tgr-light); background: var(--tgr-soft); }
.content__box .pagination .page-link:hover { border-color: var(--tgr-navy); background: var(--tgr-soft); }

/* --- Messages (succès, erreur, alerte) ----------------------------------- */
.successFlashMessage, .dangerFlashMessage, .warningFlashMessage {
  border: 1px solid transparent !important;
  border-left-width: 4px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.successFlashMessage { border-color: #B7E2C8 !important; border-left-color: #1F8A4C !important; background: #ECF8F1 !important; }
.dangerFlashMessage { border-color: #F5C2BD !important; border-left-color: #D92D20 !important; background: #FEF3F2 !important; }
.warningFlashMessage { border-color: #F5D9A8 !important; border-left-color: var(--tgr-orange) !important; background: #FFF8EC !important; }
.successFlashMessage .card-body, .dangerFlashMessage .card-body, .warningFlashMessage .card-body { padding: 14px 18px; }
.successFlashMessageText { margin: 0; color: #14532D !important; font-size: 14px; }
.dangerFlashMessageText { margin: 0; color: #912018 !important; font-size: 14px; }
.warningFlashMessageText { margin: 0; color: #5E4A1E !important; font-size: 14px; }

/* --- Agent : détail d'un avis d'achat ------------------------------------ */
.content__head__actions .content__actions {
  height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 18px 28px 0;
  padding: 0 18px;
  border: 1px solid var(--tgr-orange);
  border-radius: 8px;
  background: var(--tgr-orange);
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
}
.content__head__actions .content__actions:hover,
.content__head__actions .content__actions.show { border-color: var(--tgr-orange-dark); background: var(--tgr-orange-dark); color: #ffffff; }
.content__head__actions .dropdown-menu { padding: 6px; border: 1px solid var(--tgr-border); border-radius: 10px; box-shadow: 0 12px 28px rgba(16, 24, 40, .12); }
.content__head__actions .dropdown-item { padding: 8px 12px; border-radius: 6px; color: var(--tgr-text); font-size: 13.5px; }
.content__head__actions .dropdown-item:hover { background: #FFF4E5; color: var(--tgr-navy); }
.content__subBox > h4 .badge.bg-danger { padding: 5px 10px; border-radius: 999px; background: #FEF3F2 !important; color: #B42318; font-size: 12px; }
.content__subBox > h4 .btn-danger { height: 34px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 8px; font-size: 13px; font-weight: 600; }

/* Blocs Objet, Détails, Pièces jointes */
.content__subBox > .border.rounded-4,
.content__subBox > div > .border.rounded-4:not(.table-responsive) {
  padding: 18px 20px !important;
  border: 1px solid var(--tgr-border) !important;
  border-radius: 12px !important;
  background: #ffffff;
}
.content__subBox > .border.rounded-4 > span.text-uppercase {
  display: block;
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--tgr-gold-line);
  color: var(--tgr-gold);
  font-size: 15px;
  font-weight: 700;
  text-transform: none !important;
}
.content__subBox > .border.rounded-4 .row > .col-12.mt-3 { margin-top: 0 !important; }
.content__subBox > .border.rounded-4 .text-black { color: #1E2330 !important; font-size: 14.5px; }
.content__subBox > .border.rounded-4 .text-orange { color: var(--tgr-orange) !important; }

/* Titres de section et boutons « Tout afficher / Tout réduire » */
.content__subBox > .d-flex > h4,
.content__subBox > div > h4,
.content__subBox > h4.mt-4 { color: var(--tgr-navy); font-size: 19px; font-weight: 700; }
.content__subBox .btn.btn-sm.bg-secondary.bg-opacity-10 {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #D5DBE4 !important;
  border-radius: 999px;
  background: #ffffff !important;
  color: var(--tgr-navy) !important;
  font-size: 12.5px;
  font-weight: 600;
}
.content__subBox .btn.btn-sm.bg-secondary.bg-opacity-10:hover { border-color: var(--tgr-navy) !important; background: var(--tgr-navy-soft) !important; }

/* Articles : en-tête marine, fiche technique en carte claire */
.content__article--card {
  padding: 14px 20px !important;
  border-radius: 10px !important;
  background: var(--tgr-navy) !important;
  color: #ffffff !important;
  font-size: 15px;
}
.content__article--card.accordion-button:not(.collapsed) { border-radius: 10px 10px 0 0 !important; box-shadow: none; }
.content__article--card.accordion-button::after { filter: brightness(0) invert(1); }
.content__article--card .font-bold { color: var(--tgr-gold-line); }
.accordion-item:has(> .accordion-header .content__article--card) { margin-bottom: 10px; border: 0; background: none; }
.accordion-item:has(> .accordion-header .content__article--card) .accordion-body {
  border: 1px solid var(--tgr-border);
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #ffffff;
}
.accordion-body__flex .text-gray { color: var(--tgr-muted) !important; font-size: 13px; }
.content__article__miniCard { padding: 12px 14px !important; border: 1px solid var(--tgr-border); border-radius: 10px !important; background: var(--tgr-soft) !important; }
.content__article__miniCard > .d-flex { color: var(--tgr-muted); font-size: 13px; font-weight: 600; }
.content__article--subMiniCard {
  padding: 3px 10px !important;
  border: 1px solid var(--tgr-border);
  border-radius: 6px;
  background: #ffffff;
  color: #1E2330;
  font-weight: 600;
}
.content__subBox > .border.rounded-4:has(> .accordion) { padding: 14px !important; }

/* Bon de commande : bandeau marine, fichier, actions */
.content__subBox .accordion-header > .content__article--card.d-flex { border-radius: 10px 10px 0 0 !important; }
.content__subBox .accordion-header > .content__article--card .btn.bg-dark {
  height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 8px;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
}
.content__subBox .accordion-header > .content__article--card .btn.bg-dark:hover { background: rgba(255, 255, 255, .12) !important; }
.content__subBox .border.p-3.rounded-bottom-4 { border-color: var(--tgr-border) !important; border-radius: 0 0 12px 12px !important; background: #ffffff; }
.content__subBox .fa-file-pdf.text-secondary { color: #C0392B !important; font-size: 2.6rem !important; }
.content__subBox .text-black-50 { color: var(--tgr-muted) !important; }
.content__subBox .btn.bg-opacity-25 {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
}
.content__subBox .btn.bg-primary.bg-opacity-25 { border-color: #DCE7F3; background: var(--tgr-navy-soft) !important; color: var(--tgr-navy) !important; }
.content__subBox .btn.bg-success.bg-opacity-25 { border-color: #B7E2C8; background: #ECF8F1 !important; color: #1F8A4C !important; }
.content__subBox .btn.bg-danger.bg-opacity-25 { border-color: #F5C2BD; background: #FEF3F2 !important; color: #D92D20 !important; }
.content__subBox .btn.bg-opacity-25:hover { filter: brightness(.96); }

/* Devis reçus : compteur, invitations, comparatif */
.content__subBox > div > h4 + span.d-block,
.content__subBox > h4 + span.d-block {
  display: inline-flex !important;
  margin: 6px 0 14px !important;
  padding: 3px 12px;
  border-radius: 999px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-navy) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.custom-progress-wrapper { margin-bottom: 16px; padding: 14px 18px; border: 1px solid var(--tgr-border); border-radius: 12px; background: #ffffff; }
.custom-progress-wrapper .progress-header { color: var(--tgr-muted); font-size: 13px; font-weight: 600; }
.custom-progress-wrapper .progress-stats { color: var(--tgr-navy); font-weight: 700; }
.custom-progress-wrapper .progress-track { height: 8px; border-radius: 999px; background: var(--tgr-border); }
.custom-progress-wrapper .progress-fill { border-radius: 999px; }
.content__subBox .table-responsive.border.rounded-4 { padding: 0 !important; border-color: var(--tgr-border) !important; border-radius: 12px !important; background: #ffffff; }
.content__subBox .table-responsive > table.tg { margin: 0 !important; border: 0; border-radius: 0; }
.content__subBox table.tg > thead th { padding: 14px 10px !important; border-color: rgba(255, 255, 255, .12) !important; }
.content__subBox table.tg > thead th .tg-c3ow { color: rgba(255, 255, 255, .78); font-size: 12px; font-weight: 500; }
.content__subBox table.tg td { border-color: #EEF0F4 !important; }
.content__subBox table.tg .tg-yz93,
.content__subBox table.tg .tg-rv0r { background: var(--tgr-soft); color: var(--tgr-muted); }
.content__subBox table.tg .tg-yz93 { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; }
.content__subBox table.tg .accordion-body__articleCardPrice { color: var(--tgr-navy); }
.content__subBox table.tg .tg-rv0r .text-black { color: #1E2330 !important; }
.content__subBox table.tg td[style*="#f0f1f2"] { background: var(--tgr-soft) !important; }
.content__subBox table.tg .text-orange { color: var(--tgr-orange) !important; text-decoration: none; font-weight: 600; }
.content__subBox table.tg .text-orange:hover { text-decoration: underline; }
.content__subBox table.tg .badge,
.devis__badges .badge {
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11.5px !important;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
}
.content__subBox table.tg > thead .badge.bg-info { border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .14) !important; color: #ffffff !important; }
.content__subBox table.tg > thead .badge.bg-success { border-color: #B7E2C8; background: #ECF8F1 !important; color: #14532D !important; }
.content__subBox table.tg > tbody .badge.bg-success { border-color: #B7E2C8; background: #ECF8F1 !important; color: #14532D !important; }
.content__subBox table.tg > tbody .badge.bg-danger { border-color: #F5C2BD; background: #FEF3F2 !important; color: #B42318 !important; }
.content__subBox table.tg > tbody .badge.bg-primary { border-color: #DCE7F3; background: var(--tgr-navy-soft) !important; color: var(--tgr-navy) !important; }
.content__subBox table.tg > tbody .badge.bg-warning { border-color: #F5D9A8; background: #FFF8EC !important; color: #8A5300 !important; }
.content__subBox > div > .d-flex.justify-content-end > .content__article--button { margin-top: 16px !important; }
.content__subBox h5.border.rounded-3 { border-color: var(--tgr-border) !important; background: var(--tgr-soft); color: var(--tgr-muted); font-size: 15px; }

/* Attente d'ouverture : bouton principal */
.content__subBox > .border.rounded-4 .btn.btn-success {
  height: 40px;
  padding: 0 20px;
  border: 1px solid var(--tgr-orange);
  border-radius: 8px;
  background: var(--tgr-orange);
  color: #ffffff;
  font-weight: 600;
}
.content__subBox > .border.rounded-4 .btn.btn-success:hover { border-color: var(--tgr-orange-dark); background: var(--tgr-orange-dark); }

/* Pastilles de statut dans les cartes (réponses, annulation) */
.entreprise__middleSubCard .badge { border: 1px solid transparent; }
.entreprise__middleSubCard .badge.bg-success { border-color: #B7E2C8; background: #ECF8F1 !important; color: #14532D !important; }
.entreprise__middleSubCard .badge.bg-danger { border-color: #F5C2BD; background: #FEF3F2 !important; color: #B42318 !important; }
.entreprise__middleSubCard .badge.bg-warning { border-color: #F5D9A8; background: #FFF8EC !important; color: #8A5300 !important; }
.entreprise__middleSubCard .badge.bg-info,
.entreprise__middleSubCard .badge.bg-primary { border-color: #DCE7F3; background: var(--tgr-navy-soft) !important; color: var(--tgr-navy) !important; }
.entreprise__middleSubCard .badge.bg-secondary { border-color: #E4E7EC; background: #F2F4F7 !important; color: #475467 !important; }

/* --- Agent : pièces jointes et boutons des fenêtres d'article ------------ */
.content__article-pieceJointe {
  padding: 22px 16px !important;
  border: 1px dashed #B9C4D3 !important;
  border-radius: 12px !important;
  background: var(--tgr-soft);
  color: var(--tgr-muted);
  font-size: 14px;
  transition: border-color .15s, background-color .15s;
}
.content__article-pieceJointe:hover { border-color: var(--tgr-orange) !important; background: #FFF8EC; }
.content__article-pieceJointe > .fa-cloud-arrow-up { color: var(--tgr-orange); font-size: 26px; }
.content__fileUpload label { color: var(--tgr-navy) !important; font-weight: 700; text-decoration: underline; text-decoration-color: var(--tgr-gold-line); text-underline-offset: 3px; }

/* --- Menu mobile (aside #sidebar, affiché par le bouton menu) ------------- */
#sidebar {
  width: 290px !important;
  flex-direction: column;
  padding: 22px 16px;
  border-right: 1px solid var(--tgr-border);
  background: #ffffff !important;
  box-shadow: 18px 0 40px rgba(16, 24, 40, .18);
}
#sidebar .sidebar__infos { position: relative; width: 100%; }
#sidebar .sidebar__infos > h5 { margin: 0 0 14px; padding: 0 44px 14px 10px; border-bottom: 1px solid var(--tgr-border); color: var(--tgr-navy); font-size: 17px; font-weight: 700; }
#sidebar .closeButton { position: absolute; top: -2px; right: 0; width: 34px; height: 34px; padding: 0; border: 1px solid var(--tgr-border); border-radius: 8px; background-size: 11px; opacity: .8; }
#sidebar .sidebar__achat { height: auto; padding: 4px 10px 6px !important; background: none !important; color: var(--tgr-light) !important; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: default; }
#sidebar .sidebar__achat:hover { background: none; }
#sidebar .sidebar__achat i { display: none; }
#sidebar .sidebar__menu { gap: 2px; padding: 4px 0 0; }
#sidebar .radio-form { padding: 0; background: none; list-style: none; }
#sidebar .radio-form > li { list-style: none; }
#sidebar .nav-link { display: block; padding: 11px 12px !important; border-radius: 8px; color: var(--tgr-text) !important; font-size: 14px; font-weight: 500; }
#sidebar .nav-link:hover { background: var(--tgr-soft); color: var(--tgr-navy) !important; }
#sidebar .nav-link.active { background: #FFF4E5; color: var(--tgr-navy) !important; font-weight: 700; box-shadow: inset 3px 0 0 var(--tgr-orange); }

/* --- Téléphone et petite tablette --------------------------------------- */
@media (max-width: 768px) {
  header#header { height: 84px; padding: 0 16px; background-position: 16px center, left top, 0 0; background-size: auto 46px, auto 120px, auto; }
  body { padding-top: 84px; }
  .content__head { min-height: 56px; padding: 0 16px; }
  .content__head #backButton { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; border: 1px solid var(--tgr-border); border-radius: 10px; background: #ffffff; color: var(--tgr-navy); }
  .content__box { padding: 18px 16px !important; }
  .content__box > h4 { font-size: 19px; }
  .content__subBox { padding: 14px !important; }
  .content__subBox > form > .d-flex:first-child { gap: 8px !important; }
  .content__subBox > form > .d-flex:first-child > .btn { padding: 0 14px !important; }
  .content__subBox > form > .d-flex:first-child > .content-icon__settings::after { content: none; }
  #searchFiltersDiv { padding: 16px 14px 4px !important; }
  #searchFiltersDiv .block__filter { margin: 4px -14px 0 !important; padding: 14px; }
  #searchFiltersDiv .block__filter > .btn { width: 100%; justify-content: center; }
  .entreprise__card { align-items: stretch !important; }
  .entreprise__leftSubCard {
    width: 100%;
    min-width: 0;
    height: auto;
    flex-direction: row !important;
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 16px;
    border-right: 0;
    border-bottom: 1px solid #EEF0F4;
    box-shadow: inset 0 4px 0 var(--card-accent);
  }
  .entreprise__leftSubCard--icon { width: 36px !important; height: 36px !important; border-radius: 10px !important; }
  .entreprise__leftSubCard--icon i { font-size: 16px !important; }
  .entreprise__middleSubCard { padding: 14px 16px; }
  .entreprise__rightSubCard { width: 100%; border-left: 0; border-top: 1px solid #EEF0F4; }
  .entreprise__rightSubCard--top { padding: 14px 16px !important; }
  .content__head__actions .content__actions { margin: 12px 16px 0; }
  .backButtonHeight { margin: 14px 16px 0 !important; }
}

/* --- Entreprise : « Mes informations d'entreprise » : présentation d'origine du BDC (pastilles rondes colorées), en quatre colonnes égales alignées d'une ligne à l'autre --- */
.entreprise__infos { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 28px; margin: 8px 0 !important; }
.entreprise__infos > div { display: flex !important; flex: none !important; align-items: center; gap: 14px !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.entreprise__infos > div > div { min-width: 0; }
.entreprise__infos i[class*="entreprise__infos-"] { display: inline-flex !important; flex: none; align-items: center; justify-content: center; width: 46px !important; height: 46px !important; margin: 0 !important; padding: 0 !important; border-radius: 50% !important; }
.entreprise__infos:has(.entreprise__infos-location) > div:has(.entreprise__infos-location) { grid-column: span 2; }
@media (max-width: 1199px) { .entreprise__infos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .entreprise__infos > div:has(.entreprise__infos-location) { grid-column: auto; } }
@media (max-width: 575px) { .entreprise__infos { grid-template-columns: minmax(0, 1fr); } }

/* Devis et lettre : pastilles de date et de statut */
.devis__badges { gap: 6px !important; }
.devis__badges .badge { border: 1px solid transparent; }
.devis__badges .badge.bg-primary { border-color: #DCE7F3; background: var(--tgr-navy-soft) !important; color: var(--tgr-navy) !important; }
.devis__badges .badge.bg-success { border-color: #B7E2C8; background: #ECF8F1 !important; color: #14532D !important; }
.devis__badges .badge.bg-danger { border-color: #F5C2BD; background: #FEF3F2 !important; color: #B42318 !important; }
.devis__badges .badge.bg-warning,
.devis__badges .badge.bg-orange { border-color: #F5D9A8; background: #FFF8EC !important; color: #8A5300 !important; }
.devis__badges .badge.bg-info { border-color: #CDE6F3; background: #EEF7FC !important; color: #14556F !important; }
.devis__badges .badge.bg-secondary { border-color: #E4E7EC; background: #F2F4F7 !important; color: #475467 !important; }

/* =============================================================================
 * Boutons : un seul jeu d'états (survol, appui, focus clavier) via les variables
 * Bootstrap 5.3, pour les boutons principaux, secondaires, danger et icônes.
 * ========================================================================== */
.content__box .btn,
.modal .btn { transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s; }
.content__box .btn:focus-visible,
.modal .btn:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(231, 144, 16, .3) !important; }

/* Principal orange */
.content__button, .modal__save, .modal__update, #submitGlobalForm, #button-generer.content__generateDevisButton,
#searchFiltersDiv .block__filter .sendform, .content__subBox > .border.rounded-4 .btn.btn-success {
  --bs-btn-color: #ffffff; --bs-btn-bg: var(--tgr-orange); --bs-btn-border-color: var(--tgr-orange);
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--tgr-orange-dark); --bs-btn-hover-border-color: var(--tgr-orange-dark);
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #B86E00; --bs-btn-active-border-color: #B86E00;
  --bs-btn-disabled-bg: #F2C27A; --bs-btn-disabled-border-color: #F2C27A; --bs-btn-disabled-color: #ffffff;
}
.content__button:hover, .modal__save:hover, .modal__update:hover, #submitGlobalForm:hover, #button-generer.content__generateDevisButton:hover,
#searchFiltersDiv .block__filter .sendform:hover, .content__subBox > .border.rounded-4 .btn.btn-success:hover,
a.btn[href*="create"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(231, 144, 16, .28) !important;
}
.content__button:active, .modal__save:active, .modal__update:active, #submitGlobalForm:active { transform: none; box-shadow: none !important; }

/* Secondaire neutre */
.modal .btn-secondary, .modal__dimiss {
  --bs-btn-color: var(--tgr-text); --bs-btn-bg: #ffffff; --bs-btn-border-color: #D5DBE4;
  --bs-btn-hover-color: var(--tgr-navy); --bs-btn-hover-bg: var(--tgr-navy-soft); --bs-btn-hover-border-color: var(--tgr-navy);
  --bs-btn-active-color: var(--tgr-navy); --bs-btn-active-bg: #DCE7F3; --bs-btn-active-border-color: var(--tgr-navy);
}
/* Secondaire orange (brouillon, annuler un formulaire, jeton) */
#button-enregistrer.content__generateDevisButton:hover, #submitGlobalForm ~ a.btn:hover, a.btn:has(+ #submitGlobalForm):hover { background: #FFF4E5 !important; transform: translateY(-1px); }
.modal .modal-body .btn.btn-sm.btn-success {
  --bs-btn-color: #ffffff; --bs-btn-bg: var(--tgr-orange); --bs-btn-border-color: var(--tgr-orange);
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--tgr-orange-dark); --bs-btn-hover-border-color: var(--tgr-orange-dark);
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #B86E00; --bs-btn-active-border-color: #B86E00;
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
  color: var(--bs-btn-color);
}
.modal .modal-body .btn.btn-sm.btn-success:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(231, 144, 16, .28); }
/* Danger */
.btn-danger {
  --bs-btn-bg: #D92D20; --bs-btn-border-color: #D92D20;
  --bs-btn-hover-bg: #B42318; --bs-btn-hover-border-color: #B42318;
  --bs-btn-active-bg: #912018; --bs-btn-active-border-color: #912018;
}
.content__box .btn-danger:hover, .modal .btn-danger:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(217, 45, 32, .25); }
/* Boutons icônes (télécharger, signer, inviter, écarter) */
.content__subBox .btn.bg-opacity-25:hover { filter: none; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16, 24, 40, .1); }
.content__subBox .btn.bg-primary.bg-opacity-25:hover { border-color: var(--tgr-navy); background: #DCE7F3 !important; }
.content__subBox .btn.bg-success.bg-opacity-25:hover { border-color: #1F8A4C; background: #D5F0E0 !important; }
.content__subBox .btn.bg-danger.bg-opacity-25:hover { border-color: #D92D20; background: #FDE2DF !important; }
/* Pilules et contours */
.content__subBox .btn.btn-sm.bg-secondary.bg-opacity-10:active { background: #DCE7F3 !important; }
.content__head__actions .content__actions:active { transform: none; }
.content__subBox > form > .d-flex:first-child > .btn[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(30, 78, 124, .25) !important; }

/* =============================================================================
 * Fenêtres modales
 * ========================================================================== */
/* Couleur et flou sur le voile lui-même : à la fermeture Bootstrap retire .show avant le fondu (sinon flash noir) */
.modal-backdrop { --bs-backdrop-bg: #0C1E34; --bs-backdrop-opacity: .52; backdrop-filter: blur(4px); }
.modal.fade .modal-dialog { transform: translateY(18px) scale(.97); transition: transform .24s cubic-bezier(.2, .8, .2, 1); }
.modal.show .modal-dialog { transform: none; }
.modal-content {
  border: 0;
  border-radius: 16px;
  background: #ffffff linear-gradient(90deg, var(--tgr-navy), var(--tgr-blue) 55%, var(--tgr-orange)) no-repeat top / 100% 4px;
  box-shadow: 0 32px 80px rgba(12, 30, 52, .32), 0 2px 6px rgba(12, 30, 52, .08);
  color: var(--tgr-text);
}

/* En-tête : tuile pictogramme + titre */
.modal-header {
  justify-content: flex-start;
  gap: 14px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid var(--tgr-border);
}
.modal-header::before {
  content: "\f15c";
  width: 42px;
  height: 42px;
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-navy);
  font: 900 17px/1 "Font Awesome 6 Free";
}
#articlesModal .modal-header::before { content: "\f49e"; }
#exampleModal .modal-header::before { content: "\f0cb"; }
#annuler-aa .modal-header::before { content: "\f05e"; background: #FEF3F2; color: #D92D20; }
.modal-header .modal-title,
.modal-header > span { margin: 0; color: var(--tgr-navy); font-size: 18px !important; font-weight: 700; line-height: 1.3; }
.modal-header .btn-close {
  width: 34px;
  height: 34px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 1px solid var(--tgr-border);
  border-radius: 10px;
  background-size: 11px;
  opacity: .7;
  transition: background-color .15s, opacity .15s;
}
.modal-header .btn-close:hover { background-color: var(--tgr-soft); opacity: 1; }

/* Corps : champs */
.modal-body { padding: 20px 24px !important; }
.modal-body label,
.modal-body .form-label { display: inline-block; margin: 0 0 6px; color: var(--tgr-text); font-size: 13px; font-weight: 600 !important; }
.modal-body label.required::after,
.modal-body label.required:not(.hide-required):after { color: #D92D20; }
.modal-body .row.mt-3 { margin-top: 14px !important; }
.modal-body > form > .row.mt-3:first-of-type,
.modal-body > .row.mt-3:first-child { margin-top: 0 !important; }
.modal-body .col-12.mt-1 { margin-top: 14px !important; }
.modal .form-control,
.modal .form-select {
  min-height: 42px;
  border: 1px solid var(--tgr-input) !important;
  border-radius: 10px;
  background-color: #ffffff;
  color: #1E2330;
  font-size: 14px;
  transition: border-color .15s, box-shadow .15s;
}
.modal textarea.form-control { min-height: 104px; padding-top: 10px; resize: vertical; }
.modal .form-control:hover,
.modal .form-select:hover { border-color: #9AA6B8 !important; }
.modal .form-control:focus,
.modal .form-select:focus { border-color: var(--tgr-orange) !important; box-shadow: 0 0 0 3px rgba(231, 144, 16, .18); }
.modal .error-list,
.modal .invalid-feedback { color: #B42318; font-size: 12.5px; }
.modal .dateTime__icons_dateDecision { top: 37px; right: 22px; gap: 4px; }
.modal .dateTime__icons_dateDecision i { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; color: var(--tgr-navy); font-size: 14px; }
.modal .dateTime__icons_dateDecision i:hover { background: var(--tgr-navy-soft); }
.modal .dateTime__icons_dateDecision .resetcalendar { color: var(--tgr-light); }
.modal .dateTime__icons_dateDecision .resetcalendar:hover { background: #FEF3F2; color: #B42318; }
.modal .content__article-pieceJointe { padding: 18px 16px !important; }
.modal .fst-italic { padding: 10px 12px; border-radius: 8px; background: #FFF8EC; color: #5E4A1E; font-size: 12.5px; font-style: normal !important; }

/* Pied : bandeau clair pleine largeur, actions à droite (aussi pour les rangées placées dans le corps) */
.modal-footer,
.modal-body > form > .d-flex.justify-content-between:has(> .btn),
.modal-body > .text-end.mt-3:has(> .btn),
.modal-body > .d-flex.justify-content-end:has(> .btn) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end !important;
  gap: 10px;
  margin: 22px -24px -20px !important;
  padding: 14px 24px !important;
  border-top: 1px solid var(--tgr-border);
  border-radius: 0 0 16px 16px;
  background: var(--tgr-soft);
}
.modal-footer { margin: 0 !important; }
.modal-footer > * { margin: 0; }
.modal-footer:has(> a > .excel) { justify-content: space-between !important; }
.modal-footer a:has(> .excel) { display: inline-flex; padding: 4px 6px !important; border: 1px solid var(--tgr-border) !important; border-radius: 10px !important; background: #ffffff; transition: border-color .15s, box-shadow .15s; }
.modal-footer a:has(> .excel):hover { border-color: #1F8A4C !important; box-shadow: 0 4px 12px rgba(31, 138, 76, .18); }
.modal .btn-sm,
.modal-footer .btn {
  height: 40px;
  min-width: 104px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}
.modal .modal-body .btn-sm.btn-success { height: 36px !important; min-width: 0; }

/* Messages d'alerte (corps seul) : pictogramme centré, texte, bouton */
.modal-body:has(> p.text-dark + .btn.float-end) { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 30px 28px 24px !important; text-align: center; }
.modal-body:has(> p.text-dark + .btn.float-end)::before {
  content: "\f071";
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #FFF4E5;
  color: var(--tgr-orange);
  font: 900 21px/1 "Font Awesome 6 Free";
}
.modal-body > p.text-dark { margin: 0; color: #1E2330 !important; font-size: 15px; line-height: 1.55; }
.modal-body > p.text-dark + .btn.float-end {
  --bs-btn-color: #ffffff; --bs-btn-bg: var(--tgr-navy); --bs-btn-border-color: var(--tgr-navy);
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #163C61; --bs-btn-hover-border-color: #163C61;
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #102E4B; --bs-btn-active-border-color: #102E4B;
  float: none !important;
  min-width: 140px;
}

/* Signatures électroniques : titre en en-tête, cartes de certificat */
.modal-body > .d-flex.justify-content-between.align-items-center:first-child,
.modal-body > span.text-center.fw-bold:first-child {
  width: auto !important;
  gap: 14px;
  margin: -20px -24px 18px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid var(--tgr-border);
}
.modal-body > .d-flex.justify-content-between.align-items-center:first-child > div:first-child { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; align-items: center; }
.modal-body > .d-flex.justify-content-between.align-items-center:first-child > div:first-child::before {
  content: "\f573";
  grid-row: span 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-navy);
  font: 900 17px/1 "Font Awesome 6 Free";
}
.modal-body > .d-flex:first-child .fw-bold.fs-6 { margin: 0 !important; color: var(--tgr-navy) !important; font-size: 18px !important; text-align: left !important; }
.modal-body > span.text-center.fw-bold:first-child {
  display: flex !important;
  align-items: center;
  margin: -20px -24px 18px !important;
  color: var(--tgr-navy) !important;
  font-size: 18px !important;
  text-align: left !important;
}
.modal-body > span.text-center.fw-bold:first-child::before {
  content: "\f573";
  width: 42px;
  height: 42px;
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--tgr-navy-soft);
  color: var(--tgr-navy);
  font: 900 17px/1 "Font Awesome 6 Free";
}
.modal-body > .d-flex:first-child .text-black-50 { margin: 0 !important; color: var(--tgr-muted) !important; font-size: 13px !important; }
.modal .rounded-2.bg-dark.bg-opacity-10 {
  margin: 0 0 12px !important;
  padding: 14px 6px !important;
  border: 1px solid var(--tgr-border);
  border-radius: 12px !important;
  background: var(--tgr-soft) !important;
  row-gap: 10px;
}
.modal .rounded-2.bg-dark.bg-opacity-10 strong { color: var(--tgr-muted); font-size: 12.5px !important; font-weight: 600; }
.modal .rounded-2.bg-dark.bg-opacity-10 span { color: #1E2330; font-size: 13px !important; line-height: 1.55; }
.modal .rounded-2.bg-dark.bg-opacity-10 .text-darkgreen { color: #1F8A4C !important; }
.modal .rounded-2.bg-dark.bg-opacity-10 .text-red { color: #D92D20 !important; }

/* Tableaux dans les modales (liste des devis) */
.modal .table-bordered { overflow: hidden; border: 1px solid var(--tgr-border); border-collapse: separate; border-spacing: 0; border-radius: 10px; }
.modal .table-bordered > :not(caption) > * > * { border-color: #EEF0F4; }
.modal .table-bordered > thead th { padding: 11px 14px; background: var(--tgr-navy); color: #ffffff; font-size: 12.5px; font-weight: 600; }
.modal .table-bordered > tbody td { padding: 11px 14px; color: #1E2330; font-size: 13.5px; }
.modal .table-bordered > tbody tr:first-child td { background: #FFF8EC; font-weight: 700; }
.modal .table-bordered > tbody tr:hover td { background: var(--tgr-soft); }

@media (max-width: 576px) {
  .modal-dialog { margin: 12px; }
  .modal-footer > .btn, .modal-body > form > .d-flex.justify-content-between:has(> .btn) > .btn { flex: 1 1 0; }
}

/* style.css force .btn:hover { color: white; background: #ffa502 } et grise .btn-secondary:hover (!important) :
   les boutons à variante reprennent leurs propres couleurs de survol */
.modal__save, .modal__update, .modal__dimiss, .content__button {
  border: 1px solid var(--bs-btn-border-color);
  background-color: var(--bs-btn-bg);
  color: var(--bs-btn-color);
}
.btn:is(.btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-light, .btn-dark):hover,
.modal__save:hover, .modal__update:hover, .modal__dimiss:hover, .content__button:hover {
  border-color: var(--bs-btn-hover-border-color);
  background-color: var(--bs-btn-hover-bg) !important;
  color: var(--bs-btn-hover-color);
}
.content__box label.switch:hover { border-color: var(--tgr-navy) !important; color: var(--tgr-navy) !important; }
.content__box input[type="radio"]:checked + label.switch:hover { color: #ffffff !important; }

/* Écarter un devis : le libellé du motif sert d'en-tête */
.modal-body > form > .text-start > label[for="motif"] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: -20px -24px 18px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid var(--tgr-border);
  color: var(--tgr-navy);
  font-size: 18px;
  font-weight: 700 !important;
}
.modal-body > form > .text-start > label[for="motif"]::before {
  content: "\f05e";
  width: 42px;
  height: 42px;
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #FEF3F2;
  color: #D92D20;
  font: 900 17px/1 "Font Awesome 6 Free";
}
.modal-body > form > .text-start > label[for="motif"].required::after { content: none; }

/* --- Détail d'un avis : moins de bleu --- */
/* Articles : en-têtes clairs (étiquette dorée pour le numéro) au lieu de bandeaux marine ; teinte chaude quand l'article est ouvert. */
.devisAccordionStyle .content__article--card,
.content__subBox .content__article--card {
  border: 1px solid var(--tgr-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #1E2330 !important;
  font-weight: 600;
  box-shadow: none !important;
}
.devisAccordionStyle .content__article--card:hover,
.content__subBox .content__article--card:hover { background: #FAFBFC !important; }
.devisAccordionStyle .content__article--card.accordion-button:not(.collapsed),
.content__subBox .content__article--card.accordion-button:not(.collapsed) {
  border-color: #F5DDB3 !important;
  border-radius: 10px 10px 0 0 !important;
  background: #FFF8EC !important;
  color: #1E2330 !important;
}
.devisAccordionStyle .content__article--card .font-bold,
.content__subBox .content__article--card .font-bold {
  display: inline-flex; align-items: center; padding: 2px 8px; border: 1px solid var(--tgr-gold-line); border-radius: 6px;
  background: #FBF6E6; color: var(--tgr-gold) !important; font-size: 12.5px; font-weight: 800;
}
.devisAccordionStyle .content__article--card.accordion-button::after,
.content__subBox .content__article--card.accordion-button::after {
  filter: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23e79010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
}
.accordion-item:has(> .accordion-header .content__article--card.accordion-button:not(.collapsed)) .accordion-body { border-color: #F5DDB3; }
/* Bandeau « vous devez d'abord vous connecter » : doré au lieu de bleu. */
.content__subBox .infoFlashMessage {
  border: 1px solid var(--tgr-gold-line) !important;
  border-left: 4px solid var(--tgr-orange) !important;
  background: #FBF6E6 !important;
}
.content__subBox .infoFlashMessage, .content__subBox .infoFlashMessage .infoFlashMessageText { color: #5C4600 !important; }
.content__subBox .infoFlashMessage a { color: var(--tgr-orange-dark) !important; }
/* Référence de l'avis : étiquette dorée comme dans la liste ; titre « Articles » en encre neutre. */
.devisAccordionStyle .d-flex.gap-3.mb-3 > h4.mb-0:first-child {
  display: inline-flex; align-items: center; padding: 5px 12px; border: 1px solid var(--tgr-gold-line); border-radius: 8px;
  background: #FBF6E6; color: var(--tgr-gold) !important; font-size: 16px; font-weight: 800; letter-spacing: .02em;
}
.devisAccordionStyle > .d-flex > h4 { color: #1E2330 !important; }

/* --- Bloc « Détails » d'un avis : présentation d'origine du BDC (pastilles rondes colorées), en trois colonnes égales alignées d'une ligne à l'autre (agent et entreprise) --- */
.content__subBox .content__icons { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; margin: 8px 0 !important; }
.content__subBox .content__icons > div { flex: none !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.content__subBox .content__icons > div > .d-flex { min-width: 0; }
.content__subBox .content__icons > div { display: flex !important; align-items: center; gap: 14px; }
.content__subBox .content__icons > div > span:first-child { display: inline-flex !important; flex: none; align-items: center; justify-content: center; width: 46px !important; height: 46px !important; margin: 0 !important; padding: 0 !important; border-radius: 50% !important; }
.content__subBox .border.rounded-4 > .row + .row,
.content__subBox .border.rounded-4 > .row + .accordion-collapse + .row { margin-top: 8px; }
@media (max-width: 991px) { .content__subBox .content__icons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .content__subBox .content__icons { grid-template-columns: minmax(0, 1fr); } }

/* --- Bloc « Devis » (réponse entreprise) : statut et historique dans l'en-tête, vignette PDF, actions libellées, étapes --- */
.dv-head { display: block !important; padding: 14px 20px !important; border: 1px solid var(--tgr-border) !important; border-bottom-color: var(--tgr-gold-line) !important; border-radius: 10px 10px 0 0 !important; background: #ffffff !important; cursor: default; }
.dv-head:hover { background: #ffffff !important; }
.dv-head__title { color: var(--tgr-gold) !important; font-size: 16px; font-weight: 700; }
.dv-head__right { display: flex; align-items: center; gap: 10px; margin-left: auto; }
/* Statut : une teinte par étape (généré clair, signé moyen, déposé plein), orange en attente, rouge pour les issues négatives. */
.dv-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; background: #F2F4F7; color: #475467; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.dv-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.dv-status--2 { background: #EEF8F2; color: #3D8B5E; }
.dv-status--3 { background: #D6F0E1; color: #1F7A45; }
.dv-status--4 { background: #1F8A4C; color: #ffffff; }
.dv-status--5 { background: #FFF8EC; color: #B86E00; }
.dv-status--6 { background: #146C3A; color: #ffffff; }
.dv-status--7, .dv-status--8, .dv-status--9 { background: #FEF3F2; color: #B42318; }
.dv-status i { color: inherit !important; }
/* Boutons */
.dv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid transparent; border-radius: 8px; font-size: 13.5px; font-weight: 700; line-height: 1; white-space: nowrap; text-decoration: none !important; cursor: pointer; transition: background-color .15s, border-color .15s; }
.dv-btn i { font-size: 13px; }
.dv-btn--sm { height: 32px; padding: 0 12px; font-size: 12.5px; }
.dv-btn--primary { background: var(--tgr-orange); color: #ffffff !important; }
.dv-btn--primary:hover { background: var(--tgr-orange-dark); }
.dv-btn--ghost { border-color: var(--tgr-border); background: #ffffff; color: var(--tgr-navy) !important; }
.dv-btn--ghost:hover { border-color: var(--tgr-navy); background: var(--tgr-navy-soft); }
.dv-btn--success { border-color: #A7DCC0; background: #ECF8F1; color: #1F8A4C !important; }
.dv-btn--success:hover { border-color: #1F8A4C; }
.dv-btn--danger { border-color: #FECDCA; background: #ffffff; color: #B42318 !important; }
.dv-btn--danger:hover { border-color: #F04438; background: #FEF3F2; }
.dv-btn--icon { width: 38px; padding: 0; }
.dv-btn:focus-visible { outline: 2px solid var(--tgr-orange); outline-offset: 2px; }
/* Ligne du document : vignette PDF + nom + date, actions à droite */
.dv-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px 24px; margin: 0 !important; }
.dv-row > [class*="col-"] { flex: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.dv-row > [class*="col-"]:first-child { flex-direction: row !important; align-items: center !important; gap: 14px; }
.dv-row > [class*="col-"]:first-child > .me-3 { margin: 0 !important; }
.dv-row--lettre { padding-top: 16px !important; border-top: 1px dashed var(--tgr-border); }
.dv-pdf { position: relative; display: block; flex: none; width: 44px; height: 54px; border: 1px solid #FECDCA; border-radius: 7px; background: #FEF3F2; clip-path: polygon(0 0, 70% 0, 100% 22%, 100% 100%, 0 100%); }
.dv-pdf::before { content: ""; position: absolute; top: 0; right: 0; width: 30%; height: 22%; border-bottom-left-radius: 4px; background: #FECDCA; }
.dv-pdf::after { content: "PDF"; position: absolute; left: 0; right: 0; bottom: 7px; color: #D92D20; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-align: center; }
.dv-file__name { display: block; color: #1E2330; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.dv-file__sub { display: block; margin-top: 2px; color: var(--tgr-muted); font-size: 12.5px; }
.dv-file__sub--alerte { color: #B86E00; font-weight: 600; }
.dv-actions { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-end !important; gap: 8px; }
/* Étapes avant le dépôt : fait (vert), en cours (orange), à venir (gris) */
.dv-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 18px; margin: 0; padding: 14px 16px; border: 1px solid var(--tgr-border); border-radius: 12px; background: var(--tgr-soft); list-style: none; }
.dv-step { display: flex; align-items: center; gap: 10px; min-width: 0; }
.dv-step > div { display: flex; flex-direction: column; min-width: 0; }
.dv-step b { color: #1E2330; font-size: 13.5px; }
.dv-step small { color: var(--tgr-muted); font-size: 12px; }
.dv-step__dot { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 30px; height: 30px; border: 2px solid #CBD5E1; border-radius: 50%; background: #ffffff; color: #94A3B8; font-size: 12.5px; font-weight: 800; }
.dv-step--done .dv-step__dot { border-color: #1F8A4C; background: #1F8A4C; color: #ffffff; }
.dv-step--now .dv-step__dot { border-color: var(--tgr-orange); color: #B86E00; box-shadow: 0 0 0 4px #FCE9C8; }
.dv-step--now b { color: #B86E00; }
.dv-step--ko .dv-step__dot { border-color: #F04438; color: #B42318; box-shadow: none; }
.dv-step--ko b, .dv-step--ko small { color: #B42318; }
/* Fenêtre « Historique du devis » */
.dv-histo { overflow: hidden; border: 0; border-radius: 12px; }
.dv-histo .modal-header { padding: 16px 20px; border-bottom: 1px solid var(--tgr-gold-line); }
.dv-histo .modal-title { color: var(--tgr-gold); font-size: 17px; font-weight: 700; }
.dv-histo .modal-body { padding: 16px 20px 6px; }
.dv-histo .modal-footer { padding: 12px 20px; border-top: 1px solid var(--tgr-border); background: #FAFBFC; }
.dv-histo__now { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--tgr-muted); font-size: 13px; font-weight: 600; }
.dv-tl { margin: 0; padding: 0; list-style: none; }
.dv-tl__item { position: relative; display: flex; gap: 12px; padding: 0 0 16px; }
.dv-tl__item:not(:last-child)::before { content: ""; position: absolute; top: 18px; bottom: 0; left: 6px; border-left: 2px solid #E3E8EF; }
.dv-tl__dot { position: relative; flex: none; width: 14px; height: 14px; margin-top: 3px; border-radius: 50%; background: #1F8A4C; box-shadow: 0 0 0 3px #E7F5EE; }
.dv-tl__item--info .dv-tl__dot { background: var(--tgr-blue); box-shadow: 0 0 0 3px #EAF2FB; }
.dv-tl__item--ko .dv-tl__dot { background: #D92D20; box-shadow: 0 0 0 3px #FEE4E2; }
.dv-tl__item > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dv-tl__item b { color: #1E2330; font-size: 14px; }
.dv-tl__item small { color: var(--tgr-muted); font-size: 12.5px; }
.dv-tl__motif { margin-top: 4px; padding: 6px 10px; border-radius: 8px; background: #FEF3F2; color: #B42318 !important; }
@media (max-width: 768px) {
  .dv-row { grid-template-columns: minmax(0, 1fr); }
  .dv-actions { justify-content: flex-start !important; }
  .dv-head__right { width: 100%; margin-left: 0; justify-content: space-between; }
}
.accordion-item:has(> .accordion-header > .dv-head) .accordion-body { border-top: 0 !important; border-radius: 0 0 10px 10px; }
.accordion-header:has(> .dv-head) { margin: 0; }
@media (max-width: 768px) { .dv-steps { grid-template-columns: minmax(0, 1fr); } }

/* --- Blocs « Devis » (tableau des prix et devis généré) : une seule carte comme « Objet » et « Détails », titre doré souligné à l'intérieur --- */
.accordion-item:has(> .accordion-header > .content__article--card:not(.accordion-button)) {
  overflow: hidden; border: 1px solid var(--tgr-border) !important; border-radius: 12px !important; background: #ffffff !important; box-shadow: none !important;
}
.accordion-header > .content__article--card:not(.accordion-button) {
  display: block !important; width: calc(100% - 40px) !important; margin: 0 20px !important; padding: 18px 0 10px !important;
  border: 0 !important; border-bottom: 1px solid var(--tgr-gold-line) !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important; color: var(--tgr-gold) !important; font-size: 15px; font-weight: 700; text-align: left;
}
.accordion-header > .content__article--card:not(.accordion-button):hover { background: transparent !important; }
.dv-head__title { font-size: 15px; }
.accordion-item:has(> .accordion-header > .content__article--card:not(.accordion-button)) .accordion-body {
  border: 0 !important; border-radius: 0 !important; padding: 16px 20px 20px !important; background: transparent !important;
}

/* --- Listes entreprise (Consultations, Résultats, Mes réponses) : une même carte avec un volet de statut à gauche ; chiffres clés empilés pour les résultats --- */
.bdc-card {
  position: relative; display: grid; grid-template-columns: 160px minmax(0, 1fr) auto auto; align-items: stretch; margin-top: 12px; overflow: hidden;
  border: 1px solid var(--tgr-border); border-radius: 12px; background: #ffffff; box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  transition: box-shadow .15s, border-color .15s;
}
.bdc-card:hover { box-shadow: 0 8px 22px rgba(16, 24, 40, .09); }
/* Carte menant à l'avis (Consultations, Mes réponses) : le titre est le lien et couvre toute la carte, quel que soit l'état de l'avis ;
   la flèche n'est qu'un repère visuel. Le lieu reste au-dessus du lien pour garder son infobulle. */
.bdc-card--lien:hover { border-color: #C9D6E6; }
.bdc-card--lien .bdc-card__title::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bdc-card--lien:hover .bdc-card__title { text-decoration: underline; text-underline-offset: 3px; }
.bdc-card--lien .bdc-card__lieu { position: relative; z-index: 2; }
.bdc-card--lien:hover .bdc-card__go { border-color: var(--tgr-navy); background: var(--tgr-navy-soft); }
.bdc-card--lien:has(.bdc-card__title:focus-visible) { outline: 2px solid var(--tgr-orange); outline-offset: 2px; }
.bdc-card__side {
  --side-ink: var(--tgr-navy); --side-bg: var(--tgr-navy-soft); --side-line: #DCE7F3;
  display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 14px 16px;
  border-right: 1px solid var(--side-line); background: var(--side-bg); color: var(--side-ink);
}
.bdc-card__side > i { font-size: 18px; margin-bottom: 2px; }
.bdc-card__side--ok, .bdc-card__side--success { --side-ink: #1F8A4C; --side-bg: #ECF8F1; --side-line: #CDEBD9; }
.bdc-card__side--ko, .bdc-card__side--danger { --side-ink: #B42318; --side-bg: #FEF3F2; --side-line: #FECDCA; }
.bdc-card__side--info, .bdc-card__side--warning { --side-ink: #B86E00; --side-bg: #FFF8EC; --side-line: #F5DDB3; }
.bdc-card__side--secondary { --side-ink: #475467; --side-bg: #F2F4F7; --side-line: #E4E7EC; }
.bdc-card__k { color: var(--tgr-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bdc-card__v { color: var(--side-ink); font-size: 15px; font-weight: 800; line-height: 1.25; font-variant-numeric: tabular-nums; }
.bdc-card__s { color: var(--tgr-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.bdc-card__body { display: flex; flex-direction: column; justify-content: center; gap: 7px; min-width: 0; padding: 14px 18px; }
.bdc-card__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bdc-card__ref {
  display: inline-flex; align-items: center; padding: 3px 9px; border: 1px solid var(--tgr-gold-line); border-radius: 6px;
  background: #FBF6E6; color: var(--tgr-gold); font-size: 12px; font-weight: 700; letter-spacing: .02em;
}
/* Objet : trois lignes au plus dans la liste (certains acheteurs y collent tout le cahier des charges) ; le texte complet est sur la fiche. */
.bdc-card__title { display: -webkit-box; overflow: hidden; color: var(--tgr-navy) !important; font-size: 16px; font-weight: 700; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
a.bdc-card__title:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Objet complet sur la fiche : une suite de caractères sans espace (lignes de « * ») se coupe au lieu d'élargir la page. */
.bdc-objet { overflow-wrap: anywhere; }
.bdc-card__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--tgr-muted); font-size: 13px; }
.bdc-card__meta > span { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.bdc-card__meta i { color: var(--tgr-blue); font-size: 13px; }
.bdc-card__lieu { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Résultats : chiffres clés (devis reçus, attributaire, montant) ; libellé et valeur sur la même ligne, sauf l'attributaire, dont le nom passe sous son libellé */
.bdc-card__facts { display: flex; flex-direction: column; justify-content: center; gap: 8px; width: 260px; margin: 12px 16px 12px 0; padding: 12px 16px; border: 1px solid var(--tgr-border); border-radius: 10px; background: var(--tgr-soft); }
.bdc-card__facts > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; }
.bdc-card__facts > .bdc-card__fact--bloc { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 1px; }
.bdc-card__facts dt { color: var(--tgr-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.bdc-card__facts dd { margin: 0; color: #1E2330; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
/* Nom de l'attributaire : jusqu'à deux lignes (nom complet en infobulle au-delà), place de deux lignes réservée partout pour garder des cartes de même hauteur. */
.bdc-card__winner { display: -webkit-box; min-height: 2.7em; overflow: hidden; line-height: 1.35; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bdc-card__none { color: var(--tgr-light) !important; }
.bdc-card__money { color: var(--tgr-navy) !important; }
.bdc-card__go {
  display: inline-flex; align-self: center; align-items: center; justify-content: center; width: 40px; height: 40px; margin-right: 16px;
  border: 1px solid var(--tgr-border); border-radius: 10px; background: #ffffff; color: var(--tgr-navy) !important; text-decoration: none;
}
.bdc-card__go:hover { border-color: var(--tgr-navy); background: var(--tgr-navy-soft); }
.bdc-card__go:focus-visible { outline: 2px solid var(--tgr-orange); outline-offset: 2px; }
.bdc-card--lien .bdc-card__title:focus-visible { outline: 0; }
@media (max-width: 768px) {
  .bdc-card { grid-template-columns: minmax(0, 1fr) auto; }
  .bdc-card__side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; border-right: 0; border-bottom: 1px solid var(--side-line); }
  .bdc-card__body { grid-column: 1; }
  .bdc-card__facts { grid-column: 1 / -1; min-width: 0; margin: 0 16px 14px; }
  .bdc-card__go { grid-column: 2; grid-row: 2; align-self: start; margin: 14px 16px 0 0; }
}

/* --- Messages : pastille d'icône (erreur, alerte, info, succès), comme sur MPE et Caution --- */
:is(.successFlashMessage, .dangerFlashMessage, .warningFlashMessage, .infoFlashMessage) { position: relative; }
:is(.successFlashMessage, .dangerFlashMessage, .warningFlashMessage, .infoFlashMessage).card { padding-left: 40px !important; }
:is(.successFlashMessage, .dangerFlashMessage, .warningFlashMessage, .infoFlashMessage):not(.card) { padding-left: 58px !important; }
:is(.content__subBox, .devisAccordionStyle) .border.rounded-4:is(.successFlashMessage, .dangerFlashMessage, .warningFlashMessage, .infoFlashMessage) { padding-left: 58px !important; }
:is(.successFlashMessage, .dangerFlashMessage, .warningFlashMessage, .infoFlashMessage)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 18px;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  border-radius: 50%;
  background: no-repeat center / 16px 16px;
}
.dangerFlashMessage::before { background-color: #D92D20; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E"); }
.warningFlashMessage::before { background-color: var(--tgr-orange); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18h.01'/%3E%3C/svg%3E"); }
.infoFlashMessage::before { background-color: var(--tgr-blue); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v7M12 6h.01'/%3E%3C/svg%3E"); }
.content__subBox .infoFlashMessage::before { background-color: var(--tgr-orange); }
.successFlashMessage::before { background-color: #1F8A4C; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
