/* ====== Compactage global ====== */
:root{
  --plot-height-lg: 240px;  /* hauteur desktop */
  --plot-height-sm: 200px;  /* hauteur mobile */
}

/* Nav très compacte */
.small-navbar .navbar-brand { font-size: .95rem; }
.small-navbar .btn { padding: .25rem .5rem; }

/* Cartes compactes */
.compact-card { border-radius: .75rem; }
.compact-card .card-body { padding: .75rem  .75rem; }

/* Labels et champs compacts */
.form-label-sm { font-size: .8rem; margin-bottom: .15rem; }
.form-text.small { font-size: .75rem; }

/* Très petits boutons pour les exemples (pills) */
.btn-xxs{
  --bs-btn-padding-y: .1rem;
  --bs-btn-padding-x: .35rem;
  --bs-btn-font-size: .72rem;
  --bs-btn-border-radius: 999px;
}

/* Grille des tracés : empilé (gagne en hauteur) */
.plots-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

/* Zones Plotly : hauteur réduite */
.plot-area {
  width: 100%;
  height: var(--plot-height-sm);
}
@media (min-width: 992px) {
  .plot-area { height: var(--plot-height-lg); }
}

/* Monospace pour l’expression */
#fexpr{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Texte d’état compact */
.status { font-size: .8rem; }

/* Réduction des gaps globaux */
.row.g-2 > [class^="col"] { padding-right: .35rem; padding-left: .35rem; }

/* Optionnel : éviter que la page dépasse l’écran sur la plupart des laptops */
@media (min-height: 700px) {
  main.container-xxl { margin-top: .5rem; }
}


/* Limite la largeur du panneau de paramètres */
section.col-12.col-lg-4 {
  max-width: 400px;
  flex: 0 0 400px; /* empêche Bootstrap d’élargir la colonne au-delà */
}
