/* gestão de acesso (aba Usuários do painel, js/acesso.js) — usa os tokens de cor do base.css */
#gestao-acesso [hidden]{display:none !important}
.ac-abas{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}
.ac-abas button{background:none;border:1px solid transparent;color:var(--t3);padding:7px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.ac-abas button.on{background:var(--v10);color:var(--violet);border-color:var(--v20)}
.ac-btn{background:var(--violet);color:#fff;border:none;border-radius:8px;padding:8px 14px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.ac-btn.sec{background:var(--s3);color:var(--t2);border:1px solid var(--bd)}
.ac-btn.perigo{background:var(--r5);color:var(--red);border:1px solid var(--r20)}
.ac-btn:disabled{opacity:.5;cursor:default}
.ac-roles{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}
.ac-lista-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ac-role{padding:10px;border-radius:8px;cursor:pointer;border:1px solid transparent;margin-bottom:4px}
.ac-role:hover{background:var(--s3)}
.ac-role.on{background:var(--v10);border-color:var(--v20)}
.ac-role b{display:block;font-size:13px}
.ac-role small{color:var(--t4);font-size:11px}
.ac-grupo{margin-top:16px}
.ac-grupo-topo{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bd);padding-bottom:6px;margin-bottom:8px}
.ac-grupo-topo .cl{margin:0}
.ac-grupo-topo a{font-size:11px;color:var(--violet);cursor:pointer}
.ac-perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px}
.ac-perm{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--t2);text-transform:none;letter-spacing:0;font-weight:500;margin:0;padding:5px 0;cursor:pointer}
.ac-perm input{width:auto;margin-top:2px;accent-color:var(--violet)}
.ac-perm code{display:block;font-size:10px;color:var(--t4)}
.ac-acoes{display:flex;gap:8px;margin-top:20px;justify-content:flex-end;flex-wrap:wrap}
.ac-aviso{background:var(--v5);border:1px solid var(--v20);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--t2);margin-top:12px}
.ac-linha{display:flex;gap:8px;margin-top:8px}
.ac-linha input,.ac-linha select{flex:1}
.ac-link{margin-top:14px;font-size:12.5px;color:var(--t2)}
td select{min-width:140px}
@media (max-width:760px){ .ac-roles{grid-template-columns:1fr} .ac-linha{flex-direction:column} }
