/* SD ONE · lot 121 (25/10/2026, Hassan 08h01-08h03) : greeter lié à la course (sous-ligne ↳) et équipe en tête de dossier.
   Couleurs maison : bleu nuit, bleu, argent. Jamais de doré. Boutons d'au moins 44 px sur téléphone.
   Tout ce qui est ici ne vise que des classes sd121-* posées par v2-lot121-greeter.js : rien ne change sur les autres lignes. */
:root { --sd121-nuit: #0B1B3A; --sd121-bleu: #1F6FD1; --sd121-argent: #C9D2DE; --sd121-argent-clair: #EEF2F7; --sd121-fond-sous: #F5F8FC; --sd121-fond-tete: #EAF1FB; }

/* ---------- bouton « + Ajouter un greeter » (même gabarit que les pastilles de la ligne d'itinéraire) ---------- */
html body #v2-contenu tr.lg td.c-iti .sd121-ajout {
  display: inline-flex; align-items: center; gap: 4px; min-height: 22px; padding: 2px 10px; margin-left: 6px;
  border: 1px dashed var(--sd121-bleu); border-radius: 12px; background: #fff; color: var(--sd121-bleu);
  font: 700 11px/1.2 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; cursor: pointer; white-space: nowrap;
  transition: background .15s, color .15s, box-shadow .15s;
}
html body #v2-contenu tr.lg td.c-iti .sd121-ajout:hover,
html body #v2-contenu tr.lg td.c-iti .sd121-ajout:focus-visible { background: var(--sd121-bleu); color: #fff; border-style: solid; box-shadow: 0 0 0 3px rgba(31,111,209,.18); outline: none; }

/* ---------- sous-ligne greeter (compacte, rattachée à la course du dessus) ---------- */
html body #v2-contenu tr.lg.sd121-sous > td { background: var(--sd121-fond-sous) !important; padding-top: 3px !important; padding-bottom: 3px !important; border-top: 0 !important; }
html body #v2-contenu tr.lg.sd121-sous > td.c-sel { box-shadow: inset 4px 0 0 var(--sd121-argent) !important; }
/* le lien visuel : la case Type de la sous-ligne devient une flèche ↳ (la flèche texte posée par le script reste pour les lecteurs d'écran) */
html body #v2-contenu tr.lg.sd121-sous > td.c-type { position: relative; background: #E3E9F2 !important; color: transparent !important; filter: none !important; }
html body #v2-contenu tr.lg.sd121-sous > td.c-type::after { content: "↳"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--sd121-bleu); font: 800 22px/1 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; }
html body #v2-contenu tr.lg.sd121-sous .sd121-fl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* la date, le client et les passagers sont ceux de la course : on les allège pour que la sous-ligne ne ressemble pas à une 2e course */
html body #v2-contenu tr.lg.sd121-sous > td.c-date,
html body #v2-contenu tr.lg.sd121-sous > td.c-cli,
html body #v2-contenu tr.lg.sd121-sous > td.c-h { opacity: .45; }
html body #v2-contenu tr.lg.sd121-sous > td.c-iti .iti1 { opacity: .55; }
/* sous-ligne compacte : on ne répète pas ce qui est déjà sur la course (vol vérifié, passagers, téléphone) */
html body #v2-contenu tr.lg.sd121-sous > td.c-iti .iti2,
html body #v2-contenu tr.lg.sd121-sous > td.c-cli .cli > span,
html body #v2-contenu tr.lg.sd121-sous > td.c-cli .cpt,
html body #v2-contenu tr.lg.sd121-sous > td.c-h .hrs ~ * { display: none !important; }
/* état : on montre l'état du greeter (il suit la course) à la place du bouton d'état, MÊME TAILLE que les autres boutons d'état */
/* (le bouton d'état d'origine est masqué par le script, style en ligne : voir cacheEtat) */
html body #v2-contenu tr.lg.sd121-sous > td.c-st > .sd121-etb { cursor: default; }
html body #v2-contenu tr.lg.sd121-sous > td.c-st > .sd121-etb.l-gris { background: #7C8590; color: #fff; }

/* ---------- boutons de suivi grisés (sous-ligne greeter et lignes d'équipe) ---------- */
html body #v2-contenu tr.lg .sd121-gris { opacity: .32 !important; filter: grayscale(1) !important; cursor: not-allowed !important; }
html body #v2-contenu tr.lg .sd121-gris * { pointer-events: none !important; }

/* ---------- équipe en tête du dossier (Coordinateur 1, Staffeur 1, Greeter 1…) ---------- */
html body #v2-contenu tr.lg.sd121-tete > td:not(.c-type) { background: var(--sd121-fond-tete) !important; }
html body #v2-contenu tr.lg.sd121-virt > td.c-type { background: var(--sd121-nuit) !important; color: #fff !important; text-align: center; font-weight: 800; }
html body #v2-contenu tr.lg.sd121-virt .sd121-prix { display: block; margin-top: 3px; font-size: 11px; font-weight: 700; color: var(--sd121-nuit); text-align: center; }
html body #v2-contenu tr.lg.sd121-tete > td.c-sel { box-shadow: inset 4px 0 0 var(--sd121-nuit) !important; }
html body #v2-contenu tr.lg.sd121-tete + tr.lg:not(.sd121-tete) > td { border-top: 2px solid var(--sd121-argent) !important; }
html body #v2-contenu tr.lg.sd121-tete .sd121-titre { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 2px; }
html body #v2-contenu tr.lg.sd121-tete .sd121-titre > b {
  display: inline-flex; align-items: center; min-height: 22px; padding: 1px 10px; border-radius: 12px; background: var(--sd121-nuit); color: #fff;
  font: 800 11px/1.2 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; letter-spacing: .02em; white-space: nowrap;
}
html body #v2-contenu tr.lg.sd121-tete .sd121-lib { font-weight: 700; color: var(--sd121-nuit); }
html body #v2-contenu tr.lg.sd121-tete .sd121-lib.vide { font-weight: 600; color: #7C8590; font-style: italic; }
html body #v2-contenu tr.lg.sd121-tete .sd121-crayon {
  display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 1px solid var(--sd121-argent);
  border-radius: 8px; background: #fff; color: var(--sd121-bleu); font-size: 13px; cursor: pointer;
}
html body #v2-contenu tr.lg.sd121-tete .sd121-crayon:hover { background: var(--sd121-bleu); color: #fff; border-color: var(--sd121-bleu); }
html body #v2-contenu tr.lg.sd121-tete.sd121-sans-adr td.c-iti .iti1 { display: none !important; }

/* ---------- page Dossier : « + Ajouter un coordinateur » à côté de « + Ajouter une mission à ce dossier » ---------- */
html body #v2-contenu .sd121-ajout-equipe {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 40px; margin: 8px 0 0; padding: 8px 14px; box-sizing: border-box;
  border: 1.5px dashed var(--sd121-bleu); border-radius: 12px; background: #fff; color: var(--sd121-nuit);
  font: 800 13px/1.2 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; cursor: pointer; transition: background .15s, color .15s;
}
html body #v2-contenu .sd121-ajout-equipe:hover, html body #v2-contenu .sd121-ajout-equipe:focus-visible { background: var(--sd121-nuit); color: #fff; border-style: solid; outline: none; }

/* ---------- fenêtres (même fenêtre centrée que le reste de SD ONE : V2.fenetre) ---------- */
.sd121-rappel { padding: 10px 12px; margin: 0 0 12px; border-radius: 10px; background: var(--sd121-argent-clair); border-left: 4px solid var(--sd121-bleu); color: var(--sd121-nuit); font-size: 13px; line-height: 1.45; }
.sd121-rappel small { color: #4A5A70; }
.sd121-vol { display: inline-block; padding: 0 8px; border-radius: 10px; background: var(--sd121-bleu); color: #fff; font-weight: 700; font-size: 12px; }
.sd121-choix { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.sd121-carte { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; padding: 10px 12px; border: 1.5px solid var(--sd121-argent); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s, background .15s; }
.sd121-carte:has(input:checked) { border-color: var(--sd121-bleu); background: #F2F7FE; box-shadow: 0 0 0 3px rgba(31,111,209,.14); }
.sd121-carte input { margin-top: 3px; accent-color: var(--sd121-bleu); width: 18px; height: 18px; flex: none; }
.sd121-carte b { display: block; color: var(--sd121-nuit); font-size: 14px; }
.sd121-carte small { display: block; margin-top: 2px; color: #4A5A70; font-size: 12px; line-height: 1.35; }
.sd121-ch { display: flex; flex-direction: column; gap: 4px; margin: 0 0 10px; font-size: 12px; font-weight: 700; color: var(--sd121-nuit); }
.sd121-ch input, .sd121-ch select { min-height: 40px; padding: 8px 10px; border: 1px solid var(--sd121-argent); border-radius: 10px; font: 600 14px Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--sd121-nuit); background: #fff; box-sizing: border-box; width: 100%; }
.sd121-ch input:focus, .sd121-ch select:focus { outline: none; border-color: var(--sd121-bleu); box-shadow: 0 0 0 3px rgba(31,111,209,.15); }
.sd121-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sd121-note { margin: 4px 0 0; font-size: 12px; color: #4A5A70; line-height: 1.45; }

/* ---------- téléphone ---------- */
@media (max-width: 760px) {
  html body #v2-contenu tr.lg td.c-iti .sd121-ajout { min-height: 44px; padding: 8px 14px; margin: 6px 0 0; font-size: 13px; }
  html body #v2-contenu tr.lg.sd121-tete .sd121-crayon { width: 44px; height: 44px; font-size: 16px; }
  html body #v2-contenu .sd121-ajout-equipe { min-height: 44px; }
  .sd121-choix, .sd121-2 { grid-template-columns: 1fr; }
  .sd121-ch input, .sd121-ch select { min-height: 44px; }
}

/* ======================= v3 (25/10/2026 09h, Hassan 08h57-09h00) =======================
   - « + Ajouter un greeter » : dans la rangée du panneau déplié (classe dfs-b existante, même style que « Dupliquer ») : rien à ajouter ici.
   - UNE ligne d'équipe par dossier et par jour (tr.sd121-equipe), style différent des courses, pastilles cliquables. */
html body #v2-contenu tr.lg.sd121-equipe > td { background: linear-gradient(180deg, #F4F7FB 0%, #E9EFF7 100%) !important; border-top: 2px solid var(--sd121-nuit) !important; border-bottom: 2px solid var(--sd121-argent) !important; vertical-align: middle !important; }
html body #v2-contenu tr.lg.sd121-equipe > td.c-type { background: var(--sd121-nuit) !important; color: #fff !important; text-align: center; font-weight: 800; letter-spacing: .04em; }
html body #v2-contenu tr.lg.sd121-equipe > td.c-num .num { display: block; font-weight: 800; color: var(--sd121-nuit); }
html body #v2-contenu tr.lg.sd121-equipe .sd121-eq-t { display: inline-block; margin-top: 3px; padding: 1px 8px; border-radius: 10px; background: var(--sd121-nuit); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-horaires { min-height: 32px; padding: 4px 10px; border: 1px solid var(--sd121-argent); border-radius: 10px; background: #fff; color: var(--sd121-nuit); font: 800 12px/1.25 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; cursor: pointer; text-align: left; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-horaires:hover { border-color: var(--sd121-bleu); color: var(--sd121-bleu); }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastilles { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 4px 0; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 3px 10px 3px 4px; border: 1px solid var(--sd121-argent); border-radius: 18px;
  background: #fff; color: var(--sd121-nuit); font: 600 12px/1.2 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; cursor: pointer; white-space: nowrap;
  box-shadow: 0 1px 2px rgba(11,27,58,.08); transition: border-color .15s, box-shadow .15s, transform .15s;
}
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille:hover, html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille:focus-visible { border-color: var(--sd121-bleu); box-shadow: 0 0 0 3px rgba(31,111,209,.15); transform: translateY(-1px); outline: none; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > b { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 14px; background: var(--sd121-nuit); color: #fff; font-size: 11px; font-weight: 800; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > span { font-weight: 700; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > i { font-style: normal; font-size: 11px; color: #4A5A70; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > em { font-style: normal; font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 8px; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > em.f { background: #EDE3F5; color: #5B2C83; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille > em.p { background: #E2F3EA; color: #1D6F42; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille.vide { border-style: dashed; border-color: var(--sd121-bleu); }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille.vide > span { color: var(--sd121-bleu); font-style: italic; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille.annulee { opacity: .55; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille.annulee > span { text-decoration: line-through; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille.annulee > b { background: #7C8590; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-plus { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 1.5px dashed var(--sd121-bleu); border-radius: 50%; background: #fff; color: var(--sd121-bleu); font: 800 18px/1 Manrope, -apple-system, "Helvetica Neue", Arial, sans-serif; cursor: pointer; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-plus:hover { background: var(--sd121-bleu); color: #fff; border-style: solid; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-tot { display: block; margin-top: 4px; font-size: 10px; font-weight: 600; color: #4A5A70; text-align: center; white-space: normal !important; overflow: visible !important; }
html body #v2-contenu tr.lg.sd121-equipe .sd121-horaires { white-space: nowrap; }
.sd121-alerte { margin: 0 0 10px; padding: 8px 10px; border-radius: 8px; background: #FDECEC; color: #9B1C1C; font-size: 12px; font-weight: 700; }
@media (max-width: 760px) {
  html body #v2-contenu tr.lg.sd121-equipe .sd121-pastille, html body #v2-contenu tr.lg.sd121-equipe .sd121-horaires { min-height: 44px; }
  html body #v2-contenu tr.lg.sd121-equipe .sd121-plus { width: 44px; height: 44px; }
}
