/* Correction définitive de la barre de progression.
   Le Sprint 38 avait width:0!important sur le span ; ici on garde la priorité pour permettre au JS de changer width inline!important. */
.s38-progress {
  height: 12px !important;
  background: rgba(2,9,21,.92) !important;
  border: 1px solid rgba(116,178,230,.32) !important;
}

.s38-progress span,
[data-sync-progress-bar] {
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2a83e9 0%, #37f5d1 48%, #55e37e 100%) !important;
  box-shadow: 0 0 14px rgba(55,245,209,.45) !important;
  transition: width .28s ease !important;
}

/* Notice si le dashboard global ne contient encore que des données SEP. */
.s40-global-notice {
  margin: 10px 0 12px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,211,77,.28) !important;
  background: rgba(255,211,77,.08) !important;
  color: #ffd34d !important;
  font-weight: 800 !important;
  font-size: .88rem !important;
}

/* Bouton Réinitialiser : plus de dépassement. */
.s38-reset {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  overflow: hidden !important;
  padding: 0 4px !important;
}

.s38-reset span {
  display: block !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.s38-reset small {
  display: block !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  margin-top: 2px !important;
}

/* Checkbox stable : ne fait plus bouger les filtres. */
.s38-compact-check {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

.s38-compact-check input {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  min-height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
  transform: none !important;
}

/* Table stable lorsque les filtres changent. */
.s06-table-wrap {
  overflow-x: auto !important;
}

.s06-table {
  table-layout: fixed !important;
  min-width: 1040px !important;
  width: 100% !important;
}

.s06-table th,
.s06-table td {
  vertical-align: top !important;
  overflow-wrap: anywhere !important;
}

.s06-table th:nth-child(1),
.s06-table td:nth-child(1) { width: 150px !important; }

.s06-table th:nth-child(2),
.s06-table td:nth-child(2) { width: 210px !important; }

.s06-table th:nth-child(3),
.s06-table td:nth-child(3) { width: 120px !important; }

.s06-table th:nth-child(4),
.s06-table td:nth-child(4) { width: 145px !important; }

.s06-table th:nth-child(5),
.s06-table td:nth-child(5) { width: 150px !important; }

/* Timeline : la ligne doit aller jusqu'au dernier point et les points doivent rester visibles. */
.s40-timeline-card {
  overflow: hidden !important;
}

.s40-timeline-grid {
  grid-template-columns: repeat(var(--count), minmax(110px, 1fr)) !important;
  overflow-x: auto !important;
}

.s40-timeline-grid::before {
  left: 34px !important;
  right: 34px !important;
}

/* Sur écran large, garder les filtres sur une ligne autant que possible. */
@media(min-width: 1451px) {
  .s38-filters.has-sep {
    grid-template-columns: minmax(150px,.8fr) minmax(140px,.75fr) minmax(150px,.9fr) minmax(118px,.65fr) minmax(118px,.65fr) minmax(132px,.75fr) 112px 88px !important;
  }

  .s38-filters.has-disease {
    grid-template-columns: minmax(150px,.9fr) minmax(150px,1fr) minmax(120px,.72fr) minmax(120px,.72fr) minmax(135px,.8fr) 112px 88px !important;
  }
}
