/* Tableau des départs (19/10/2026, v16 lot escales) : style tableau d'aéroport à palettes.
   Clair : panneau bleu marine AGL, palettes bleues, texte blanc. Sombre : palettes nuit, texte or (ni bleu ni turquoise). */
:root,
:root[data-theme="light"] {
  --dep-fond: var(--agl-marine);
  --dep-palette: #14467c;
  --dep-palette-ligne: #0a2240;
  --dep-encre: #ffffff;
  --dep-titre: #ffffff;
  --dep-mut: #c9d6e6;
  --dep-ok: #7ee29a;
  --dep-warn: #ffd166;
  --dep-bad: #ff8a95;
}
:root[data-theme="dark"] {
  --dep-fond: #050d16;
  --dep-palette: #102030;
  --dep-palette-ligne: #050d16;
  --dep-encre: var(--agl-or);
  --dep-titre: var(--agl-or);
  --dep-mut: #8da1b4;
  --dep-ok: var(--ok);
  --dep-warn: var(--warn);
  --dep-bad: var(--bad);
}

.departs {
  background: var(--dep-fond);
  color: var(--dep-encre);
  border-radius: var(--radius);
  padding: 14px;
  overflow-x: auto;
  font-family: "Courier New", Courier, monospace;
}
.departs:fullscreen { padding: 3vh 3vw; border-radius: 0; overflow: auto; }
.departs-tete { display: flex; align-items: center; gap: 16px; margin-bottom: 10px; color: var(--dep-titre); }
.departs-titre { display: inline-flex; align-items: center; gap: 8px; font-weight: bold; letter-spacing: .12em; font-size: 1.15rem; flex: 1; }
.departs-titre svg { width: 22px; height: 22px; }
.departs-horloge { font-size: 1.3rem; font-weight: bold; letter-spacing: .08em; }
.departs-page { color: var(--dep-mut); font-size: .85rem; }
.depart-ligne {
  display: grid;
  grid-template-columns: 5.6em 5.6em minmax(12em, 2.2fr) 8.6em minmax(10em, 1.8fr) 4.6em 9em;
  gap: 10px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid var(--dep-palette-ligne);
  cursor: pointer;
}
.depart-ligne:focus-visible { outline: 2px solid var(--dep-encre); outline-offset: 2px; }
/* classe propre : « .entete » est le bandeau global de l’app (app.css : sticky, fond gris) */
.depart-ligne.depart-entete { cursor: default; font-weight: bold; color: var(--dep-mut); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.palettes { display: inline-flex; gap: 2px; white-space: pre; }
.palette {
  display: inline-block;
  min-width: .95em;
  padding: 2px 1px;
  text-align: center;
  font-weight: bold;
  background: var(--dep-palette);
  border-radius: 2px;
  box-shadow: inset 0 -1px 0 var(--dep-palette-ligne);
  background-image: linear-gradient(transparent 49%, var(--dep-palette-ligne) 49%, var(--dep-palette-ligne) 52%, transparent 52%);
  animation: dep-bascule .45s ease-out both;
  transform-origin: 50% 50%;
}
@keyframes dep-bascule {
  0% { transform: rotateX(90deg); opacity: .2; }
  100% { transform: rotateX(0); opacity: 1; }
}
.depart-statut { display: inline-block; padding: 3px 8px; border-radius: 3px; font-weight: bold; letter-spacing: .06em; text-transform: uppercase; font-size: .8rem; border: 1px solid currentColor; }
.depart-statut.ok { color: var(--dep-ok); }
.depart-statut.attention { color: var(--dep-warn); }
.depart-statut.critique { color: var(--dep-bad); animation: dep-clignote 1.6s steps(2) infinite; }
.depart-statut.info { color: var(--dep-encre); }
.depart-statut.neutre { color: var(--dep-mut); }
.depart-heure-type { display: block; margin-top: 2px; color: var(--dep-mut); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
@keyframes dep-clignote { 50% { opacity: .45; } }
.departs-vide { padding: 24px 0; color: var(--dep-mut); text-align: center; }
.liste-simple { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }

@media (max-width: 720px) {
  .depart-ligne { grid-template-columns: 5.6em minmax(10em, 1fr) 7em; }
  .depart-ligne .c-date, .depart-ligne .c-voyage, .depart-ligne .c-dest, .depart-ligne .c-tc,
  .depart-ligne.depart-entete span:nth-child(2), .depart-ligne.depart-entete span:nth-child(4),
  .depart-ligne.depart-entete span:nth-child(5), .depart-ligne.depart-entete span:nth-child(6) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .palette, .depart-statut.critique { animation: none; }
}
