.client { width: 100%; max-width: 640px; margin: 0 auto; padding: 32px 16px 48px; display: grid; gap: 18px; }
.client .tete { text-align: center; display: grid; gap: 6px; }
.client .tete h1 { font-size: 2rem; }
.client .signe { font-size: 2rem; color: var(--or); line-height: 1; }
.etapes-client { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.etapes-client span { text-align: center; padding: 6px; border-radius: 8px; border: 1px solid var(--trait); color: var(--texte-3); font-size: 0.85rem; }
.etapes-client span.actif { color: var(--or-clair); border-color: var(--or-sombre); background: rgba(201,166,107,0.08); }
.etapes-client span.fait { color: var(--texte-2); }
.client label { display: grid; gap: 6px; }
.client .etiquette { margin: 0; }
.puces { display: flex; flex-wrap: wrap; gap: 8px; }
.puce { border: 1px solid var(--trait); border-radius: 999px; padding: 6px 14px; background: none; color: var(--texte-2); font: inherit; cursor: pointer; }
.puce.actif { border-color: var(--or); color: var(--or-clair); }
.code-grand { font: 600 2rem/1 ui-monospace, Menlo, monospace; letter-spacing: 0.16em; color: var(--or-clair); text-align: center; padding: 10px 0; }
.chiffres-bilan { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.chiffres-bilan div { border: 1px solid var(--trait); border-radius: 12px; padding: 12px; text-align: center; }
.chiffres-bilan strong { display: block; font-family: var(--titre); font-size: 1.6rem; color: var(--or-clair); }
.chiffres-bilan span { color: var(--texte-2); font-size: 0.85rem; }
.etoiles { display: flex; gap: 6px; }
.etoiles button { background: none; border: none; font-size: 2rem; line-height: 1; color: var(--texte-3); cursor: pointer; padding: 4px; }
.etoiles button.actif { color: var(--or); }
.alerte { position: fixed; inset: 12px 12px auto; z-index: 10; max-width: 560px; margin: 0 auto; }
.case { display: flex !important; gap: 10px; align-items: flex-start; grid-template-columns: none; }
