/* GestiConnect V91.2 — lisibilité globale et prévention des chevauchements */
.grid > *,
.grid-2 > *,
.grid-3 > *,
.grid-4 > *,
.grid-5 > *,
.grid-6 > *,
.card,
.card-header > *,
.page-head > *,
.actions > *,
.topbar-actions > *,
.platform-kpi,
.lead-card,
.lead-card-grid > *,
.tracking-journey-card,
.tracking-call-card {
  min-width: 0;
}

/* Les anciens blocs stat-card n'avaient pas de disposition verticale globale. */
.stat-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  min-height: 108px;
  padding: 16px 18px;
  overflow: hidden;
  border: 1px solid var(--line, #dfe6ef);
  border-radius: 15px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 7px 20px rgba(29, 49, 73, .04);
}

.stat-card > span,
.stat-card > strong,
.stat-card > small {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.stat-card > span {
  color: var(--muted, #68778a);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.stat-card > strong {
  color: var(--navy, #17263a);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.stat-card > small {
  margin-top: 1px;
  color: var(--muted, #68778a);
  font-size: 11px;
  line-height: 1.45;
}

/* Protection générale contre les longues valeurs, e-mails, URL et libellés. */
.card h1,
.card h2,
.card h3,
.card h4,
.card p,
.card span,
.card strong,
.card small,
.platform-kpi span,
.platform-kpi strong,
.platform-kpi small,
.lead-card span,
.lead-card strong,
.lead-card small,
.tracking-journey-card span,
.tracking-journey-card strong,
.tracking-journey-card small,
.tracking-call-card span,
.tracking-call-card strong,
.tracking-call-card small {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.card-header,
.page-head,
.actions,
.topbar-actions {
  flex-wrap: wrap;
}

.badge,
.platform-status,
.tracking-device {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

table th,
table td {
  overflow-wrap: anywhere;
  word-break: normal;
}

pre,
.raw-json {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .stat-card {
    min-height: 100px;
    padding: 14px 15px;
  }
}

@media (max-width: 720px) {
  .stat-card {
    min-height: auto;
  }

  .stat-card > strong {
    font-size: 22px;
  }
}
