/* La carte doit prendre toute la fen�tre */
    html, body, #map { height: 100%; margin: 0; }

    /* Petit panneau d�UI en haut � gauche */
    .panel{
      position:absolute; top:10px; left:10px; z-index:999;
      background:#fff; padding:14px; border-radius:14px;
      box-shadow:0 6px 22px rgba(0,0,0,.25);
      font-family:system-ui, sans-serif;
      width: 440px;
    }

    button{
      padding:9px 11px; border:0; border-radius:10px;
      cursor:pointer;
    }

    .row{ display:flex; gap:8px; margin:8px 0; align-items:center; }
    .kv{ display:flex; justify-content:space-between; font-size:14px; margin-top:6px; }

    /* Mise en forme des valeurs num�riques (vitesse...) */
    .badge{ font-weight:800; font-variant-numeric: tabular-nums; }

    .small{ font-size:12px; opacity:.78; margin-top:8px; line-height:1.35; }
    label{ user-select:none; }

    .pill{
      display:inline-block; padding:2px 8px; border-radius:999px;
      background:#f2f2f2; font-size:12px; margin-left:6px;
    }

    /* Petit tableau 2 colonnes pour afficher les param�tres du train */
    .grid2{
      display:grid; grid-template-columns: 1fr 1fr; gap:6px 12px; margin-top:8px;
      font-size:12px; opacity:.85;
    }
    .grid2 div{ display:flex; justify-content:space-between; }
#map { position: absolute; inset: 0; }

.train-icon {
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.35));
  transition: transform 0.15s linear;
}
.train-icon .car-body {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}
