/* ==================== 07-access-control — styles ==================== */

/* Boutons radio dans la grille de permissions */
.perm-radio {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-family: inherit;
  transition: background .12s, border-color .12s, transform .1s;
  opacity: .4;
}
.perm-radio:hover {
  background: var(--bg-panel-2);
  border-color: var(--border-strong, #363b44);
  opacity: .8;
  transform: scale(1.08);
}
.perm-radio.active {
  opacity: 1;
  border-color: currentColor;
  background: rgba(255,255,255,.06);
  font-weight: 700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.04);
}

/* Tableau de permissions — zebra + hover */
.access-table tr:hover td {
  background: rgba(255,255,255,.02);
}

/* Badge rôle dans la liste des utilisateurs */
.role-badge-founder  { background: var(--red);    color: #fff; }
.role-badge-admin    { background: var(--violet); color: #fff; }
.role-badge-cp       { background: var(--blue);   color: #fff; }
.role-badge-tech     { background: var(--teal);   color: #fff; }
.role-badge-ventes   { background: var(--green);  color: #fff; }
.role-badge-custom   { background: var(--amber);  color: #1a1206; }

/* Panneau d'accès déroulant — animation d'entrée */
@keyframes accessSlideIn {
  from { opacity: 0; max-height: 0; transform: translateY(-8px); }
  to   { opacity: 1; max-height: 3000px; transform: translateY(0); }
}
.access-panel-enter {
  animation: accessSlideIn .3s cubic-bezier(.2,.7,.2,1) both;
}
