.auth-wrap { display: flex; justify-content: center; padding: 48px 24px; }
.auth-card {
  background: #fff; border: 1px solid var(--bord); border-radius: 16px;
  padding: 28px; width: 100%; max-width: 420px;
}
.onglets { display: flex; gap: 8px; margin-bottom: 20px; }
.onglet {
  flex: 1; padding: 10px; border: 0; background: var(--gris); border-radius: 10px;
  cursor: pointer; font-weight: 700;
}
.onglet.actif { background: var(--orange); color: #000; }
.form-auth { display: flex; flex-direction: column; gap: 10px; }
.form-auth input {
  padding: 12px; border: 1px solid var(--bord); border-radius: 10px; font-size: .95rem;
}
.hint { font-size: .82rem; color: #71717a; text-align: center; }

.dashboard { max-width: 1000px; margin: 32px auto; padding: 0 24px; }
.bandeau { margin-bottom: 24px; }
.bandeau h1 { font-size: 1.6rem; }
.muted { color: #71717a; }
.bloc {
  background: #fff; border: 1px solid var(--bord); border-radius: 14px;
  padding: 24px; margin-bottom: 24px;
}
.bloc h2 { font-size: 1.15rem; margin-bottom: 16px; }
.grille-form {
  display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.grille-form input, .grille-form select {
  padding: 12px; border: 1px solid var(--bord); border-radius: 10px; font-size: .95rem;
}
.pleine-largeur { grid-column: 1 / -1; }
.actions-form { display: flex; gap: 10px; }
.cancel-btn {
  background: var(--gris); border: 0; padding: 14px 20px; border-radius: 10px;
  font-weight: 700; cursor: pointer;
}

.article {
  display: flex; align-items: center; gap: 14px; padding: 14px 0;
  border-bottom: 1px solid var(--bord);
}
.article:last-child { border-bottom: 0; }
.article .em { font-size: 2rem; }
.article .a-info { flex: 1; }
.article .a-info small { color: #71717a; }
.badge {
  font-size: .7rem; font-weight: 700; padding: 2px 8px; border-radius: 999px;
  background: var(--gris); margin-left: 6px;
}
.badge.service { background: #fde68a; }
.badge.inactif { background: #fecaca; }
.a-actions { display: flex; gap: 8px; }
.a-actions button {
  border: 1px solid var(--bord); background: #fff; padding: 6px 12px;
  border-radius: 8px; cursor: pointer; font-size: .85rem; font-weight: 600;
}
.a-actions .sup { color: #dc2626; border-color: #fecaca; }

.cmd {
  padding: 12px; border: 1px solid var(--bord); border-radius: 10px; margin-bottom: 10px;
}
.cmd .cmd-tete { display: flex; justify-content: space-between; font-weight: 600; }
.cmd .statut { font-size: .78rem; padding: 2px 10px; border-radius: 999px; background: var(--gris); }
.cmd .statut.PAYEE { background: #bbf7d0; }
.cmd .statut.EN_ATTENTE { background: #fde68a; }
.cmd .statut.ANNULEE, .cmd .statut.ECHEC { background: #fecaca; }
.cmd small { color: #71717a; }
