/* SD ONE · lot 32 (23/10/2026, Hassan) : une couleur par état, la même dans les flèches du haut, les lignes et le menu. */
.tr-et[data-st="devis"] { --c: #6B7785 !important; }
.tr-et[data-st="tarifst"] { --c: #5E6B7D !important; }
.tr-et[data-st="accst"] { --c: #4A6FA5 !important; }
.tr-et[data-st="devenv"] { --c: #5B6B8C !important; }
.tr-et[data-st="accepte"] { --c: #0F2A4A !important; }
.tr-et[data-st="att"] { --c: #C62828 !important; }
.tr-et[data-st="env"] { --c: #B04600 !important; }
.tr-et[data-st="ok"] { --c: #1F6FD1 !important; }
.tr-et[data-st="route"] { --c: #1E5AA8 !important; }
.tr-et[data-st="place"] { --c: #0B7A70 !important; }
.tr-et[data-st="fin"] { --c: #1D6F42 !important; }
.tr-et[data-st="retour"] { --c: #5B4BC4 !important; }
.tr-et[data-st="verif"] { --c: #3E6E96 !important; }
.tr-et[data-st="factu"] { --c: #8E5BA6 !important; }
.tr-et[data-st="fact"] { --c: #7D3C98 !important; }
.tr-et[data-st="noshow"] { --c: #66727A !important; }
.tr-et[data-st="annul"] { --c: #A93226 !important; }
/* menu « État de la course » */
.sd19-et.sd32-menu { width: 260px; max-height: calc(100vh - 16px); overflow-y: auto; }
.sd32-g { padding: 8px 10px 2px; font: 700 11px Montserrat, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #5B6B80; }
.sd19-et .sd32-m { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; color: #fff; flex: 0 0 auto; opacity: .5; }
.sd19-et .sd32-m svg { width: 15px; height: 15px; }
.sd19-et .sd19-et-i.fait .sd32-m, .sd19-et .sd19-et-i.ici .sd32-m, .sd19-et .sd19-et-i[data-st] .sd32-m { opacity: 1; }
.sd19-et .sd19-et-i.ici { background: color-mix(in srgb, var(--c, #1E5AA8) 12%, #fff); box-shadow: inset 3px 0 0 var(--c, #1E5AA8); }
.sd19-et .sd19-et-i.fait { color: #0F2A4A; }
@media (max-width: 760px) { .sd19-et.sd32-menu { width: min(300px, calc(100vw - 16px)); } .sd19-et .sd19-et-i { min-height: 44px; } }
/* flèches du haut (23/10, Hassan : « sur une seule ligne, d'une autre façon ») : une pastille de couleur par état,
   logo + nombre, nom au survol ou avec « Légende ». Mêmes boutons, mêmes filtres au clic. */
@media (min-width: 761px) {
  #sdx-plan.v2-sdx .fr-l.fr-b.sd-traits { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important; gap: 5px !important; height: auto !important; padding: 0 !important; }
  #sdx-plan.v2-sdx .fr-b .tr-et.tr-b { position: relative; flex: 1 1 0 !important; width: auto !important; min-width: 40px; max-width: 62px; gap: 3px !important; }
  #sdx-plan.v2-sdx .fr-b .tr-seg, #sdx-plan.v2-sdx .fr-b .tr-et.tr-b:first-child .tr-seg { height: 44px !important; border-radius: 12px; clip-path: none !important; background: var(--c) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 3px 8px rgba(0, 0, 0, .3); gap: 4px !important; }
  #sdx-plan.v2-sdx .fr-b .tr-seg::before { border-radius: 12px; }
  #sdx-plan.v2-sdx .fr-b .tr-seg b { font-size: 14px !important; }
  #sdx-plan.v2-sdx .fr-b .tr-seg svg { width: 13px; height: 13px; }
  #sdx-plan.v2-sdx .fr-b .tr-et.tr-b.zero .tr-seg { filter: none; opacity: .45; }
  #sdx-plan.v2-sdx .fr-b .tr-et.tr-b.on { outline: 2px solid #fff; outline-offset: 2px; border-radius: 13px; }
  #sdx-plan.v2-sdx .fr-b:not(.legende) .tr-nom { position: absolute; top: calc(100% + 6px); left: 50%; z-index: 6; width: max-content; max-width: 280px; padding: 5px 9px; border-radius: 8px; background: #0F2A4A; color: #fff; font-size: 12px; white-space: normal; box-shadow: 0 6px 16px rgba(0, 0, 0, .35); transform: translate(-50%, -4px); pointer-events: none; opacity: 0; max-height: none; }
  #sdx-plan.v2-sdx .fr-b:not(.legende) .tr-et.tr-b:hover .tr-nom, #sdx-plan.v2-sdx .fr-b:not(.legende) .tr-et.tr-b:focus-visible .tr-nom { transform: translate(-50%, 0); opacity: 1; }
  #sdx-plan.v2-sdx .fr-b:not(.legende) .tr-et.tr-b.vu:not(:hover) .tr-nom { max-height: 0; opacity: 0; }
  #sdx-plan.v2-sdx .fr-b.legende .tr-nom { font-size: 9.5px; line-height: 1.1; white-space: normal; max-height: 48px; overflow: hidden; }
  #sdx-plan.v2-sdx .fr-b .tr-leg { flex: 0 0 auto; align-self: flex-start; margin-left: 6px; padding: 0 12px; }
}
/* paiement à bord sur une course qui ne l'est pas : bouton présent mais grisé */
.sd19-et .sd19-et-i.sd32-off { cursor: not-allowed; color: #6B7785; }
.sd19-et .sd19-et-i.sd32-off .sd32-m { opacity: .45; }
.sd19-et .sd19-et-i.sd32-off .sd32-pab { display: inline; margin-left: 4px; font-size: 10.5px; font-weight: 600; opacity: 1; }
