/* SD ONE · lot 120 (25/10/2026 08h00, Hassan) :
   1) tous les boutons d'état de la course (colonne « État de la course ») ont exactement la même largeur et la même hauteur,
      centrés de la même façon, sur toutes les lignes (planning, dossiers, listes, anciens dossiers) ; « Annulée » en gris ardoise ;
   2) « Non facturable » à côté de « Facturable » ; 3) colonne Chauffeur : « Facturable au client » / « Non facturable » au lieu de « À affecter ».
   Les fichiers des autres lots (103 : min-width 138 px ; 30, 33, 34, 65, tableau-lisible, dossier-fin : largeurs et polices) ne sont pas
   modifiés : ces règles passent après eux avec une spécificité plus forte. Le préfixe « html:is(html, #sd120-z) body » compte comme un
   identifiant (il touche toujours la page : #sd120-z n'existe pas, html suffit). */
:root { --sd120-w: 156px; --sd120-h: 24px; --sd120-gris: #5E6B7B; --sd120-gris-bord: #8A96A6; }

/* ---------- 1. même taille pour tous les boutons d'état (ordinateur) ---------- */
@media (min-width: 761px) {
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb,
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb {
    width: var(--sd120-w) !important; min-width: var(--sd120-w) !important; max-width: var(--sd120-w) !important;
    height: var(--sd120-h) !important; min-height: var(--sd120-h) !important; max-height: var(--sd120-h) !important;
    box-sizing: border-box !important; padding: 0 8px !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important;
    margin-left: auto !important; margin-right: auto !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: clip !important;
    font-size: 11px !important; line-height: 1 !important; word-break: keep-all !important; hyphens: none !important;
  }
  /* libellés longs : police un peu plus petite (calculée par le script, jamais de « … », jamais de mot coupé) */
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="1"],
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb[data-sd120t="1"] { font-size: 10.5px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="2"],
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb[data-sd120t="2"] { font-size: 10px !important; gap: 4px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="3"],
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb[data-sd120t="3"] { font-size: 9.5px !important; gap: 3px !important; padding: 0 6px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="4"],
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb[data-sd120t="4"] { font-size: 9px !important; gap: 3px !important; padding: 0 5px !important; letter-spacing: -.1px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb > .sd29-i { flex: 0 0 auto !important; }
  /* le greeter (lot 103) : centré sous le bouton, même largeur */
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .sd103-g.sd103-g.sd103-g {
    width: var(--sd120-w) !important; min-width: var(--sd120-w) !important; max-width: var(--sd120-w) !important;
    margin-left: auto !important; margin-right: auto !important; text-align: center !important; box-sizing: border-box !important; overflow: hidden !important;
  }
  /* la case est centrée de la même façon sur toutes les lignes */
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st { text-align: center !important; }
}
/* téléphone : même taille partout aussi, bouton d'au moins 44 px de haut */
@media (max-width: 760px) {
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb,
  html:is(html, #sd120-z) body .wp9h-pan-st.wp9h-pan-st.wp9h-pan-st.wp9h-pan-st > .etb.etb.etb.etb.etb.etb.etb.etb.etb.etb {
    width: 172px !important; min-width: 172px !important; max-width: 100% !important;
    height: 44px !important; min-height: 44px !important; max-height: 44px !important; box-sizing: border-box !important; padding: 0 8px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: clip !important; word-break: keep-all !important; hyphens: none !important;
    font-size: 11px !important; line-height: 1 !important;
  }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="1"] { font-size: 10.5px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="2"] { font-size: 10px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="3"] { font-size: 9.5px !important; padding: 0 6px !important; }
  html:is(html, #sd120-z) body tr.lg.lg.lg.lg > td.c-st.c-st.c-st.c-st > .etb.etb.etb.etb.etb.etb[data-sd120t="4"] { font-size: 9px !important; padding: 0 5px !important; }
}

/* ---------- 1 bis. « Annulée » : gris ardoise (le fond est posé par le script, comme les lots 29 / 32) ---------- */
html:is(html, #sd120-z) body .etb.etb.etb.etb[data-sd120g="1"] { border-color: var(--sd120-gris-bord) !important; color: #fff !important; }

/* ---------- 2. étiquettes Facturable / Non facturable sous l'état ---------- */
html:is(html, #sd120-z) body td.c-st > small.sd120-et { display: block !important; margin: 3px auto 0 !important; text-align: center !important; white-space: nowrap !important; font-weight: 800; pointer-events: none; }
html:is(html, #sd120-z) body td.c-st > small.sd120-et.sd120-non { color: var(--sd120-gris) !important; }
html:is(html, #sd120-z) body td.c-st > small.sd120-et.sd120-oui { color: #1E4B81 !important; }

/* menu « État de la course » : bouton « Non facturable » */
.sd19-et .sd120-x { cursor: pointer; }
.sd19-et .sd120-x[disabled] { cursor: not-allowed; opacity: .55; }
.sd19-et .sd120-x .sd120-m { background: var(--sd120-gris) !important; }
@media (max-width: 760px) { .sd19-et .sd120-x { min-height: 44px; } }

/* ---------- 3. colonne Chauffeur sans chauffeur ---------- */
html:is(html, #sd120-z) body td.c-chf.c-chf.c-chf[data-sd120c] > :not(.sd120-chf) { display: none !important; }
html:is(html, #sd120-z) body td.c-chf.c-chf.c-chf > .sd120-chf { display: inline-block !important; font-weight: 800; font-size: 11px; line-height: 1.25; white-space: nowrap !important; text-align: center; padding: 3px 8px; border-radius: 10px; pointer-events: none; }
html:is(html, #sd120-z) body td.c-chf.c-chf.c-chf > .sd120-chf.sd120-oui { color: #fff !important; background: #1E4B81 !important; }
html:is(html, #sd120-z) body td.c-chf.c-chf.c-chf > .sd120-chf.sd120-non { color: #fff !important; background: var(--sd120-gris) !important; }
/* rien n'est dû au chauffeur : pas de « Manque prix chauffeur » sur ces lignes */
html:is(html, #sd120-z) body tr[data-sd120c] > td.c-st .sd105-h { display: none !important; }
