/* Lot TDC (24/10, RTE-002) : la Tour de contrôle de la V1 (`/tour-de-controle`), recadrage visuel du 21/10 :
   jetons --ap-…, texte de base 13 px, lignes dès qu'on compare, l'essentiel sans défiler à 1 440 × 900. */
.tdc{display:flex;flex-direction:column;gap:var(--ap-e3);max-width:1800px;margin:0 auto;padding:var(--ap-e3) var(--ap-e4) var(--ap-e5);font-size:var(--ap-t-m);line-height:var(--ap-li);color:hsl(var(--ap-encre));min-width:0}
.tdc *{min-width:0}
.tdc a{color:inherit;text-decoration:none}
.tdc-tete{display:flex;align-items:baseline;gap:var(--ap-e3);flex-wrap:wrap}
.tdc-tete h1{margin:0;font-size:var(--ap-t-titre);font-weight:var(--ap-g-chiffre);line-height:var(--ap-li-serre)}
.tdc-date{color:hsl(var(--ap-doux));font-size:var(--ap-t-s)}
.tdc-voir{margin-left:auto;display:flex;align-items:center;gap:var(--ap-e2);font-weight:var(--ap-g-moyen)}
.tdc-voir select{height:var(--ap-h-ctrl);border:1px solid hsl(var(--ap-trait-fort));border-radius:var(--ap-r-s);background:hsl(var(--ap-carte));padding:0 var(--ap-e2);font:inherit;max-width:60vw}

/* La phrase du jour : une bande, pas une affiche. */
.tdc-phrase{display:flex;align-items:center;gap:var(--ap-e3);flex-wrap:wrap;background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-l);padding:var(--ap-e3) var(--ap-e4);box-shadow:var(--ap-ombre-1)}
.tdc-phrase p{margin:0;flex:1 1 420px;font-size:var(--ap-t-l);font-weight:var(--ap-g-moyen)}
.tdc-phrase small{display:block;font-size:var(--ap-t-xs);font-weight:var(--ap-g-titre);letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--ap-doux))}
.tdc-souligne{border-bottom:2px solid currentColor;padding-bottom:1px}
.tdc-souligne.rouge{border-color:hsl(var(--ap-rouge))}.tdc-souligne.ambre{border-color:hsl(var(--ap-ambre-vif))}.tdc-souligne.gris{border-color:hsl(var(--ap-trait-fort))}
.tdc-questions{display:flex;gap:var(--ap-e2);flex-wrap:wrap}
.tdc-question,.tdc-filtre{display:inline-flex;align-items:center;height:var(--ap-h-ctrl);padding:0 var(--ap-e3);border:1px solid hsl(var(--ap-trait-fort));border-radius:999px;background:hsl(var(--ap-carte));font-size:var(--ap-t-s);font-weight:var(--ap-g-moyen);white-space:nowrap}
.tdc-question:hover,.tdc-filtre:hover{background:hsl(var(--ap-gris-doux))}
.tdc-filtre.choisi{border-color:hsl(var(--ap-action));color:hsl(var(--ap-action-fort));background:hsl(var(--ap-action-doux))}

/* La route : quatre blocs, neuf étapes. */
.tdc-route{background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-l);padding:var(--ap-e3) var(--ap-e4);box-shadow:var(--ap-ombre-1)}
.tdc h2{margin:0 0 var(--ap-e2);font-size:var(--ap-t-l);font-weight:var(--ap-g-titre)}
.tdc h2 small{font-size:var(--ap-t-s);font-weight:var(--ap-g-texte);color:hsl(var(--ap-doux))}
.tdc h3{margin:var(--ap-e2) 0 var(--ap-e1);font-size:var(--ap-t-xs);font-weight:var(--ap-g-titre);letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--ap-doux))}
.tdc-blocs{display:grid;grid-template-columns:2fr 4fr 2fr 1fr;gap:var(--ap-e4)}
.tdc-bloc{display:flex;flex-direction:column;gap:var(--ap-e2)}
.tdc-bloc-t{display:flex;flex-direction:column;border-bottom:3px solid hsl(var(--ap-trait-fort));padding-bottom:var(--ap-e1)}
.tdc-bloc-t b{font-size:var(--ap-t-l);font-weight:var(--ap-g-titre)}
.tdc-bloc-t small{font-size:var(--ap-t-s);color:hsl(var(--ap-doux))}
.b-arrivage .tdc-bloc-t{border-color:hsl(var(--ap-doux))}.b-parc .tdc-bloc-t{border-color:hsl(var(--ap-action))}
.b-a_livrer .tdc-bloc-t{border-color:hsl(var(--ap-ambre-vif))}.b-livrees .tdc-bloc-t{border-color:hsl(var(--ap-vert))}
.tdc-etapes{list-style:none;margin:0;padding:0;display:grid;gap:var(--ap-e2)}
.tdc-etapes.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.tdc-etapes.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.tdc-etapes.n1{grid-template-columns:1fr}
.tdc-etape{display:flex;flex-direction:column;gap:var(--ap-e1);text-align:center}
.tdc-etape>a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--ap-e2) var(--ap-e1);border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-m);background:hsl(var(--ap-carte))}
.tdc-etape>a:hover{background:hsl(var(--ap-gris-doux))}
.tdc-etape.alerte>a{border-color:hsl(var(--ap-rouge)/.55)}
.tdc-etape.vide>a,.tdc-etape.non-suivie>a{border-style:dashed;color:hsl(var(--ap-doux))}
.tdc-n{font-size:var(--ap-t-chiffre);font-weight:var(--ap-g-chiffre);line-height:var(--ap-li-serre)}
.tdc-et{font-weight:var(--ap-g-titre);font-size:var(--ap-t-m);line-height:var(--ap-li-serre)}
.tdc-etape small{font-size:var(--ap-t-xs);color:hsl(var(--ap-doux));line-height:var(--ap-li-serre)}
.tdc-pastilles{display:flex;flex-direction:column;align-items:center;gap:2px}
.tdc-ton{display:inline-flex;align-items:center;gap:var(--ap-e1);padding:1px var(--ap-e2);border-radius:999px;font-size:var(--ap-t-xs);font-weight:var(--ap-g-titre);line-height:1.5;background:hsl(var(--ap-gris-doux));color:hsl(var(--ap-doux));white-space:normal;text-align:left}
.tdc-ton.rouge{background:hsl(var(--ap-rouge-doux));color:hsl(var(--ap-rouge))}
.tdc-ton.ambre{background:hsl(var(--ap-ambre-doux));color:hsl(var(--ap-ambre))}
.tdc-ton.ok{background:hsl(var(--ap-vert-doux));color:hsl(var(--ap-vert))}
.tdc-ton.info{background:hsl(var(--ap-action-doux));color:hsl(var(--ap-action-fort))}
.tdc-legende{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ap-e1) var(--ap-e3);margin:var(--ap-e3) 0 0;font-size:var(--ap-t-xs);color:hsl(var(--ap-doux))}
.tdc-point{display:inline-block;width:var(--ap-e2);height:var(--ap-e2);border-radius:50%;margin-right:calc(-1 * var(--ap-e2));background:hsl(var(--ap-doux))}
.tdc-point.rouge{background:hsl(var(--ap-rouge))}.tdc-point.ambre{background:hsl(var(--ap-ambre-vif))}

/* Ce qui coince · Aujourd'hui · Notes des métiers. */
.tdc-trois{display:grid;grid-template-columns:1.35fr 1fr 1.15fr;gap:var(--ap-e3);align-items:start}
.tdc-carte{background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-l);padding:var(--ap-e3) var(--ap-e4);box-shadow:var(--ap-ombre-1)}
.tdc-compte{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:hsl(var(--ap-rouge-doux));color:hsl(var(--ap-rouge));font-size:var(--ap-t-s);text-align:center}
.tdc-tout{float:right;font-size:var(--ap-t-s);font-weight:var(--ap-g-moyen);color:hsl(var(--ap-action-fort))!important}
.tdc-l{list-style:none;margin:0;padding:0}
.tdc-l>li+li{border-top:1px solid hsl(var(--ap-trait))}
.tdc-l:not(.tdc-notes)>li>a{display:flex;align-items:center;gap:var(--ap-e3);min-height:var(--ap-h-ligne);padding:var(--ap-e1) 0}
.tdc-l:not(.tdc-notes)>li>a:hover{background:hsl(var(--ap-gris-doux))}
.tdc-v{display:flex;flex-direction:column;flex:1;overflow:hidden}
.tdc-v b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdc-v small{font-size:var(--ap-t-s);color:hsl(var(--ap-doux));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdc-phr{font-size:var(--ap-t-s);font-weight:var(--ap-g-moyen);line-height:var(--ap-li-serre)}
.tdc-phr.rouge{color:hsl(var(--ap-rouge))}.tdc-phr.ambre{color:hsl(var(--ap-ambre))}.tdc-phr.gris{color:hsl(var(--ap-doux))}
.tdc-ou{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--ap-t-s);color:hsl(var(--ap-doux));white-space:nowrap}
.tdc-ou b{color:hsl(var(--ap-encre))}
.tdc-heure{flex:none;white-space:nowrap;min-width:var(--ap-h-ligne);font-weight:var(--ap-g-titre)}
.tdc-notes>li{padding:var(--ap-e2) 0}
.tdc-note-t{margin:0;font-size:var(--ap-t-s);color:hsl(var(--ap-doux))}
.tdc-note-t b{color:hsl(var(--ap-encre))}
.tdc-note-t .tdc-ton{margin-left:var(--ap-e2)}
.tdc-note-x{margin:2px 0 var(--ap-e1)}

/* Niveau 2 : un bloc, une ligne = une voiture. */
.tdc-ariane{font-size:var(--ap-t-s);color:hsl(var(--ap-doux))}
.tdc-ariane a{color:hsl(var(--ap-action-fort))!important;font-weight:var(--ap-g-moyen)}
.tdc-n2{display:flex;flex-direction:column;gap:var(--ap-e3)}
.tdc-n2-tete{background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-l);padding:var(--ap-e3) var(--ap-e4)}
.tdc-n2-tete h2 small{display:inline;margin-left:var(--ap-e2)}
.tdc-neuf{list-style:none;margin:var(--ap-e2) 0 0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--ap-e2)}
.tdc-neuf li>*{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding:var(--ap-e2) var(--ap-e1);border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-m)}
.tdc-neuf li b{font-size:var(--ap-t-xl);font-weight:var(--ap-g-chiffre)}
.tdc-neuf li span{font-size:var(--ap-t-s);font-weight:var(--ap-g-moyen);line-height:var(--ap-li-serre)}
.tdc-neuf li small{font-size:var(--ap-t-xs);color:hsl(var(--ap-rouge));font-weight:var(--ap-g-titre)}
.tdc-neuf li.hors{opacity:.5}
.tdc-neuf li.choisie>a{border-color:hsl(var(--ap-action));background:hsl(var(--ap-action-doux))}
.tdc-filtres{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ap-e2)}
.tdc-aide{margin-left:auto;font-size:var(--ap-t-s);color:hsl(var(--ap-doux))}
.tdc-entetes,.tdc-ligne{display:grid;gap:var(--ap-e2) var(--ap-e4);align-items:center}
.tdc-entetes{padding:0 var(--ap-e4);font-size:var(--ap-t-xs);font-weight:var(--ap-g-titre);letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--ap-doux))}
.tdc-lignes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ap-e2)}
.tdc-ligne{background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-left:3px solid hsl(var(--ap-trait));border-radius:var(--ap-r-m);padding:var(--ap-e2) var(--ap-e4);min-height:var(--ap-h-ligne)}
.tdc-ligne[data-gravite="rouge"]{border-left-color:hsl(var(--ap-rouge))}.tdc-ligne[data-gravite="ambre"]{border-left-color:hsl(var(--ap-ambre-vif))}.tdc-ligne[data-gravite="gris"]{border-left-color:hsl(var(--ap-doux))}
.c-arrivage{grid-template-columns:minmax(0,2.2fr) minmax(0,1.5fr) minmax(0,1.3fr) minmax(0,1.6fr) auto}
.c-parc{grid-template-columns:minmax(0,2.2fr) minmax(0,1.3fr) minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr) auto}
.c-a_livrer{grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,2.4fr) auto}
.c-a_livrer.sans-argent{grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,2.4fr) auto}
.c-livrees{grid-template-columns:minmax(0,2.2fr) minmax(0,1.5fr) minmax(0,2fr) auto}
.tdc-c{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:var(--ap-t-s)}
.tdc-c>b{font-size:var(--ap-t-m);font-weight:var(--ap-g-titre)}
.tdc-c>b.muted{color:hsl(var(--ap-doux));font-weight:var(--ap-g-texte)}
.tdc-c>small{color:hsl(var(--ap-doux))}
.tdc-voiture>b{font-size:var(--ap-t-m)}
.tdc-manques{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--ap-e1)}
.tdc-dossier{font-size:var(--ap-t-xs);color:hsl(var(--ap-action-fort))!important;text-decoration:underline!important}
.tdc-jauge{display:block;height:var(--ap-e1);border-radius:var(--ap-e1);background:hsl(var(--ap-gris-doux));overflow:hidden;max-width:140px}
.tdc-jauge-v{display:block;height:100%;background:hsl(var(--ap-action))}
.tdc-jauge-v.rouge{background:hsl(var(--ap-rouge))}.tdc-jauge-v.ambre{background:hsl(var(--ap-ambre-vif))}
.tdc-ouvrir{justify-self:end;white-space:nowrap}
.tdc-vide{background:hsl(var(--ap-carte));border:1px solid hsl(var(--ap-trait));border-radius:var(--ap-r-m);padding:var(--ap-e4)}

@media (max-width:1100px){
  .tdc-blocs{grid-template-columns:1fr 1fr}
  .tdc-trois{grid-template-columns:1fr}
}
/* Téléphone (390 px, web app) : une colonne, les lignes deviennent des fiches courtes, rien ne déborde. */
@media (max-width:700px){
  .tdc{padding:var(--ap-e2) var(--ap-e3) calc(var(--ap-e5) + env(safe-area-inset-bottom))}
  .tdc-voir{margin-left:0;width:100%}
  .tdc-voir select{flex:1;max-width:none}
  .tdc-blocs{grid-template-columns:1fr}
  .tdc-etapes.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tdc-neuf{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tdc-entetes{display:none}
  .tdc-ligne,.c-arrivage,.c-parc,.c-a_livrer,.c-a_livrer.sans-argent,.c-livrees{grid-template-columns:minmax(0,1fr)}
  .tdc-ouvrir{justify-self:start}
  .tdc-aide{margin-left:0;width:100%}
  .tdc-phrase p{flex-basis:100%}
}
