/* ---------- Tableau de bord (stats) — feuille PARTAGEE admin + espace client ----------
   Extrait de styles.css (aucune regle modifiee). Charge par admin.html ET app.html.
   S'appuie sur les variables de theme (--brand, --ink, --line, --accent-2, --green,
   --brand-strong, --radius, --brand-soft, --ink-2, --line-2, --muted). */
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 6px; }
.kpi { background: var(--brand-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; }
.kpi-val { font-size: 26px; font-weight: 750; color: var(--ink); letter-spacing: -.02em; line-height: 1.1; }
.kpi-label { font-size: 12px; color: var(--ink-2); margin-top: 3px; }
.kpi-sub { font-size: 11px; color: var(--muted); margin-top: 2px; }
.stat-pills { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 0; }
.stat-h { font-size: 14px; margin: 24px 0 10px; color: var(--ink); font-weight: 700; }
.bars { display: flex; flex-direction: column; gap: 7px; }
.bar-row { display: grid; grid-template-columns: minmax(120px, 240px) 1fr auto; gap: 12px; align-items: center; }
.bar-label { font-size: 13px; color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { background: var(--brand-soft); border-radius: 6px; height: 18px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--brand), var(--accent-2)); border-radius: 6px; min-width: 3px; }
.bar-val { font-size: 13px; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.stat-table { width: 100%; }

/* Repondants / non-repondants (deux colonnes) */
.resp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.resp-col { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.resp-head { display: flex; align-items: center; gap: 8px; padding: 9px 14px; font-size: 13px; font-weight: 700; border-bottom: 1px solid var(--line); }
.resp-head.ok { background: #e1f5ee; color: var(--green); }
.resp-head.wait { background: #fef3c7; color: #b45309; }
.resp-head .resp-n { margin-left: auto; background: rgba(0, 0, 0, .08); border-radius: 999px; padding: 1px 9px; font-size: 12px; }
.resp-list { list-style: none; margin: 0; padding: 0; max-height: 280px; overflow-y: auto; }
.resp-item { display: flex; align-items: center; gap: 8px; padding: 8px 14px; font-size: 13px; border-bottom: 1px solid var(--line); }
.resp-item:last-child { border-bottom: 0; }
.resp-link { flex: 1; min-width: 0; text-align: left; appearance: none; border: 0; background: none; cursor: pointer; font: inherit; color: var(--ink); padding: 0; border-radius: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resp-link:hover { color: var(--brand-strong); text-decoration: underline; }
.resp-badge { margin-left: auto; background: var(--brand-soft); color: var(--brand-strong); border-radius: 999px; padding: 1px 9px; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.resp-export { margin-left: 10px; font-size: 12px; font-weight: 600; color: var(--brand-strong); text-decoration: none; padding: 2px 9px; border: 1px solid var(--line-2); border-radius: 7px; background: #fff; white-space: nowrap; }
.resp-export:hover { background: var(--brand-soft); border-color: var(--brand); }

@media (max-width: 720px) {
  .bar-row { grid-template-columns: minmax(90px, 140px) 1fr auto; gap: 8px; }
  .bar-val .muted { display: none; }
  .resp-cols { grid-template-columns: 1fr; }
}
