/* L'écran « Ma tournée ». Feuille à part, comme avisSuivi.css et
   planification.css : main.css est encodé en Windows-1252 et toute réécriture
   en modifierait tous les octets non ASCII.

   Rien ici ne redéfinit une classe de main.css. Les compteurs, la barre de
   filtres, les sous-onglets, le tableau, les pastilles d'état, les boutons et
   les blocs repliables en viennent tous — .stats-strip, .stat-card,
   .filters-bar, .sous-onglets, .table, .pastille-etape, .btn,
   .bloc-repliable. Ne restent que les choses que main.css ne connaît pas, et
    10|   elles tiennent toutes au même sujet : faire voir CE QUE L'ÉCRAN NE SAIT PAS.

   Pourquoi ce sujet a besoin de styles à lui : un contrôleur part sur la
   route avec cette page. Un éloignement à vol d'oiseau pris pour un
   kilométrage routier, un ordre d'arrêts cru fiable alors que les horaires se
   chevauchent, une liste tronquée prise pour un planning vide — chacune de ces
   trois méprises coûte une journée. Elles ne se distinguent pas par le texte
   seul : il faut qu'elles se voient avant d'être lues. */

/* ── Le bandeau de portée ─────────────────────────────────────────────────── */
    20|
/* JAMAIS replié, JAMAIS masqué, et en tête de page. C'est la seule chose qui
   empêche de conclure « je n'ai rien de prévu » devant une liste courte. Le
   filet de gauche le rattache visuellement au reste sans en faire une alerte :
   une fenêtre bornée est le fonctionnement normal, pas un incident. */
.mt-portee {
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary);
  border-radius: 6px;
  padding: 12px 14px;
    30|  margin-bottom: 14px;
  background: var(--color-surface, #fff);
}
.mt-portee strong { display: block; font-size: 14px; margin-bottom: 4px; }
.mt-portee-raison { margin: 0 0 6px; font-size: 12px; line-height: 1.4; }
.mt-portee .stat-note { display: block; line-height: 1.45; }

/* ── Les trous de la feuille de route ─────────────────────────────────────── */

/* Replié, parce qu'on ne le relit pas tous les jours. Marqué, parce que c'est
    40|   lui qui dit qu'aucun kilométrage routier n'est en base. */
.mt-lacunes { margin-bottom: 14px; }
.mt-lacunes summary { color: #6b5415; }
.mt-lacunes li { line-height: 1.5; font-size: 12px; }

/* ── La journée ───────────────────────────────────────────────────────────── */

.mt-journee {
  border: 1px solid var(--color-border);
  border-radius: 6px;
    50|  margin-bottom: 10px;
  background: var(--color-surface, #fff);
}

/* Une journée dont l'absence est déclarée : filet rouge sur toute la hauteur.
   Être planifié un jour de congé est la contradiction la plus coûteuse de
   l'écran, et aucun déclencheur ne l'empêche en base. */
.mt-journee--alerte { border-left: 4px solid var(--color-danger); }

.mt-journee-tete {
    60|  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  padding: 10px 14px; cursor: pointer;
}
.mt-journee-tete::-webkit-details-marker { display: none; }

/* La date en premier et en gros : c'est par elle qu'on cherche une journée. */
.mt-journee-date {
  font-weight: 600; font-size: 14px;
  text-transform: capitalize;
  min-width: 11em;
    70|}
.mt-journee-resume { font-size: 12px; color: var(--color-text-secondary, #666); }
.mt-journee-corps { padding: 0 14px 14px; }

/* ── Les marques de l'en-tête ─────────────────────────────────────────────── */

/* Trois niveaux, et jamais la couleur seule : chaque marque porte son libellé
   en toutes lettres, de sorte qu'elle se lit en noir et blanc comme à
   l'impression — un contrôleur imprime sa feuille de route. */
.mt-marque {
    80|  display: inline-block;
  padding: 1px 7px; border-radius: 10px;
  font-size: 11px; font-weight: 600; white-space: nowrap;
}
.mt-marque--jour      { background: #e8f0fe; color: #1a4b8c; }
.mt-marque--attention { background: #fdf9ef; color: #6b5415; }
.mt-marque--alerte    { background: #fdf3f3; color: var(--color-danger); }

/* ── Le départ ────────────────────────────────────────────────────────────── */

    90|.mt-depart {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
  padding: 8px 10px; margin-bottom: 10px;
  border-radius: 4px; background: #f6f7f9;
  font-size: 12px;
}
.mt-depart strong { font-size: 12px; }
.mt-depart .stat-note { flex-basis: 100%; }

/* Le point de départ absent n'est pas une case vide : c'est une donnée qui
   100|   manque et qu'on peut aller saisir. Il se signale donc, sans crier — une
   feuille de route sans point de départ reste utilisable. */
.mt-depart--trou { background: #fdf9ef; color: #6b5415; }

.mt-transport {
  padding: 1px 7px; border-radius: 10px;
  background: #e8f0fe; color: #1a4b8c;
  font-size: 11px; font-weight: 600;
}

   110|/* ── L'arrêt ──────────────────────────────────────────────────────────────── */

.mt-arret {
  border-top: 1px solid var(--color-border);
  padding: 10px 0;
}
.mt-arret:first-of-type { border-top: 0; }

/* Un déplacement entièrement annulé ou reporté reste affiché — il faut savoir
   qu'il a été vidé — mais il s'efface à l'œil pour ne pas se lire comme du
   120|   travail à faire. */
.mt-arret--hors { opacity: .55; }

.mt-arret-tete {
  display: flex; align-items: flex-start; gap: 10px;
}
.mt-arret-titre { flex: 1 1 auto; min-width: 0; }
.mt-arret-horaire { text-align: right; font-size: 12px; white-space: nowrap; }

/* Le numéro d'arrêt. Rond et net : c'est le « 1, 2, 3 » qu'on suit du doigt
   130|   sur une feuille imprimée. Il dit l'ORDRE AFFICHÉ, qui est celui des
   horaires — et non un ordre figé, aucune table ne le portant. */
.mt-rang {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--color-primary); color: #fff;
  font-size: 12px; font-weight: 700;
}

   140|/* L'éloignement entre deux arrêts. Discret à dessein : c'est une estimation
   géométrique, et elle ne doit pas peser autant à l'œil qu'une heure de
   rendez-vous, qui elle est une donnée. */
.mt-segment {
  margin: 6px 0 0 32px;
  font-size: 11px; color: var(--color-text-secondary, #666);
  font-style: italic;
}

.mt-arret-infos {
   150|  display: flex; flex-wrap: wrap; gap: 16px;
  margin: 8px 0 0 32px;
}
.mt-info { flex: 1 1 220px; min-width: 0; font-size: 12px; }
.mt-info .stat-label { display: block; margin-bottom: 2px; }

/* ── Le tableau des appareils ─────────────────────────────────────────────── */

.mt-table { margin-top: 8px; }
.mt-table td { vertical-align: top; }
   160|
/* Même traitement que le déplacement vidé, à la ligne près. */
.mt-ligne--hors td { opacity: .55; text-decoration: line-through; }

/* La référence s'épelle au téléphone : chasse fixe, sinon on confond le 0 et
   le O en la dictant à un service d'imagerie. */
.mt-reference {
  font-family: var(--font-mono, ui-monospace, "Cascadia Mono", Consolas, monospace);
  font-size: 11px;
}

   170|/* Un appareil hors accréditation COFRAC : le contrôleur doit le savoir AVANT
   de partir, le rapport n'étant alors pas couvert par le 3-0584. */
.mt-hors-accred { color: var(--color-danger); font-weight: 600; }

/* ── Les réserves et les alertes dans le corps d'une journée ──────────────── */

.mt-alerte, .mt-reserve {
  margin: 0 0 10px; padding: 8px 10px;
  border-radius: 4px; font-size: 12px; line-height: 1.45;
}
   180|.mt-alerte  { background: #fdf3f3; color: var(--color-danger); }
.mt-reserve { background: #fdf9ef; color: #6b5415; }

/* ── Le vide, et la panne ─────────────────────────────────────────────────── */

/* Une page blanche se lirait « rien de prévu ». Le texte explicatif occupe
   donc la place, encadré, pour qu'on comprenne qu'il est la réponse et non un
   écran qui n'a pas fini de charger. */
.mt-vide {
  border: 1px dashed var(--color-border);
   190|  border-radius: 6px; padding: 16px;
  font-size: 13px; line-height: 1.55;
  color: var(--color-text-secondary, #666);
}

.mt-avertissement {
  border: 1px solid var(--color-danger);
  border-radius: 6px; padding: 14px;
  background: #fdf3f3;
}
   200|.mt-avertissement strong { display: block; margin-bottom: 6px; }
.mt-avertissement p { margin: 0 0 6px; font-size: 13px; line-height: 1.5; }

/* ── Impression ───────────────────────────────────────────────────────────── */

/* Un contrôleur imprime sa feuille de route, ou l'enregistre en PDF sur son
   téléphone : le réseau n'est pas acquis dans un sous-sol d'imagerie. Tout ce
   qui ne sert qu'à l'écran disparaît, et les journées s'ouvrent toutes — une
   journée repliée ne s'imprimerait pas. */
@media print {
   210|  .mt-strip, .filters-bar, .sous-onglets, .mt-lacunes,
  .mt-journee-tete .btn, .mt-arret .btn { display: none !important; }
  .mt-journee { break-inside: avoid; border-color: #000; }
  .mt-journee[open] .mt-journee-corps,
  .mt-journee .mt-journee-corps { display: block !important; }
  /* La portée s'imprime, et c'est le plus important de la page : une feuille
     de route sur papier ne dit pas d'elle-même qu'elle est tronquée. */
  .mt-portee { border-color: #000; }
}
