/* Espace client (accueil, compte) — styles ISOLÉS, préfixe « esp- », uniquement les jetons du thème existant
   (--color-*, --radius-*, --spacing). Remplaçable en bloc lors de la refonte design sans toucher au reste de /app/. */
.esp-accueil { display: grid; gap: calc(var(--spacing) * 4); max-width: var(--container-5xl, 64rem); margin: 0 auto; }
.esp-haut { display: grid; gap: calc(var(--spacing) * 4); grid-template-columns: 1fr 1.6fr 1fr; }
@media (max-width: 900px) { .esp-haut { grid-template-columns: 1fr; } }
.esp-bloc { background: var(--color-card); border: 1px solid var(--color-border); border-radius: var(--radius-2xl);
  padding: calc(var(--spacing) * 5); min-width: 0; }
.esp-titre { font-size: var(--text-sm); font-weight: var(--font-weight-medium); color: var(--color-muted-foreground);
  text-transform: uppercase; letter-spacing: .04em; margin: 0 0 calc(var(--spacing) * 3); }
.esp-montant { font-size: 2.6rem; line-height: 1.05; font-weight: var(--font-weight-semibold); letter-spacing: -.02em; margin: 0; font-variant-numeric: tabular-nums; }
.esp-minutes { font-size: var(--text-lg); margin: calc(var(--spacing) * 1) 0 calc(var(--spacing) * 2); }
.esp-detail, .esp-petit { font-size: var(--text-sm); color: var(--color-muted-foreground); margin: 2px 0; }
.esp-alerte { font-size: var(--text-sm); color: var(--color-danger); margin-top: calc(var(--spacing) * 2); }
.esp-recharges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--spacing) * 2); margin-bottom: calc(var(--spacing) * 2); }
.esp-recharge { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; text-align: left;
  height: auto; white-space: normal; line-height: 1.3; font-weight: var(--font-weight-normal); box-shadow: none; margin: 0;
  padding: calc(var(--spacing) * 3); border-radius: var(--radius-xl); border: 1px solid var(--color-border);
  background: var(--color-background); color: var(--color-foreground); cursor: pointer; }
.esp-recharge strong { font-size: var(--text-lg); }
.esp-recharge:hover:not(:disabled) { border-color: var(--color-primary); }
.esp-recharge:disabled { opacity: .5; cursor: not-allowed; }
.esp-ligne-active { color: var(--color-ok); }
.esp-ligne-veille { color: var(--color-danger); }
.esp-appels { list-style: none; padding: 0; margin: 0 0 calc(var(--spacing) * 3); display: grid; gap: calc(var(--spacing) * 3); }
.esp-appel { border-bottom: 1px solid var(--color-border); padding-bottom: calc(var(--spacing) * 3); }
.esp-appel-tete { display: flex; justify-content: space-between; gap: calc(var(--spacing) * 3); align-items: baseline; }
.esp-appel-objectif { font-weight: var(--font-weight-medium); color: var(--color-foreground); text-decoration: none; overflow-wrap: anywhere; }
.esp-appel-objectif:hover { text-decoration: underline; }
.esp-resume { margin: calc(var(--spacing) * 1) 0; }
.esp-transcription summary { cursor: pointer; font-size: var(--text-sm); color: var(--color-muted-foreground); }
.esp-transcription .fil { max-height: 14rem; }
.esp-factures td { vertical-align: middle; }
.esp-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.esp-avoir { margin-left: calc(var(--spacing) * 2); }
.esp-bandeau { margin: 0; }
.esp-compte { max-width: var(--container-xl, 36rem); margin: 0 auto; }
.esp-compte fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: calc(var(--spacing) * 2); }
.esp-defile { overflow-x: auto; }
.esp-factures { width: 100%; }
@media (max-width: 640px) {
  .esp-factures .esp-libelle { display: none; }
  .esp-factures td { padding-inline: calc(var(--spacing) * 1); }
}

/* Consentements de recharge (une paire de cases par recharge) */
.esp-consentements { display: grid; gap: 6px; margin: 0 0 10px; }
.esp-consentement { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; }
.esp-consentement input { margin-top: 3px; flex: none; }

/* Voix et conversation (04/11/2026) : réglages classiques puis section avancée repliée ; détail d'un appel */
#rv .rv-ligne { display: grid; gap: 4px; }
#rv .rv-ligne label { flex-direction: row; justify-content: space-between; align-items: baseline; }
#rv .rv-valeur { font-variant-numeric: tabular-nums; color: var(--color-foreground); font-size: 13px; }
#rv input[type="range"] { padding: 0; border: 0; background: transparent; accent-color: var(--color-accent); box-shadow: none; }
#rv details { border-top: 1px solid var(--color-border); padding-top: 10px; display: grid; gap: 10px; }
#rv details > summary { cursor: pointer; font-size: var(--text-sm); color: var(--color-foreground); font-weight: 500; }
#rv #rv-flash { display: grid; gap: 10px; }
#rv #rv-flash[hidden] { display: none; }
.qualite { margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--color-border); border-radius: var(--radius-2xl); }
.qualite h2 { font-size: var(--text-sm); margin: 0 0 6px; }
.qualite ul { margin: 0; padding-left: 18px; list-style: disc; font-size: var(--text-sm); color: var(--color-muted-foreground); display: grid; gap: 2px; }
