/* TsQualy V1761.67 — Permissões por tela */
#main [data-perm-oculto]{display:none!important}
#main .tq-perm-aviso{margin:0 0 14px;padding:10px 14px;border:1px solid #f3d29b;border-left:4px solid #e8a317;border-radius:10px;background:#fff8ea;color:#7a4b00;font-size:13px;font-weight:500}

/* Tela Gerenciar acesso › Permissões por tela */
#side-panel .perm{display:flex;flex-direction:column;gap:12px}
#side-panel .perm-intro{display:flex;flex-direction:column;gap:10px}
#side-panel .perm-intro p{margin:0;font-size:13px;color:#4f5f75;line-height:1.5}
#side-panel .perm-intro-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#side-panel .perm-resumo{margin-right:auto;font-size:12.5px;font-weight:600;color:#17385f}
#side-panel .perm-mod{border:1px solid #dde7f2;border-radius:12px;background:#fff;overflow:hidden}
#side-panel .perm-mod-restrito{border-color:#f0c98a}
#side-panel .perm-mod-off{opacity:.75}
#side-panel .perm-mod-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:4px 12px;padding:10px 14px;background:#f5f9fd;border-bottom:1px solid #e3ebf4}
#side-panel .perm-mod-head > .perm-cols:not(.perm-cols-todos){grid-column:2;grid-row:1}
#side-panel .perm-mod-head > .perm-cols-todos{grid-column:2;grid-row:2}
#side-panel .perm-mod-toggle{grid-column:1;grid-row:1 / span 2;display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;text-align:left;cursor:pointer}
#side-panel .perm-mod-toggle strong{font-size:14px;color:#17385f}
#side-panel .perm-mod-toggle small{font-size:11.5px;color:#6a7f97;font-weight:400}
#side-panel .perm-mod-toggle::before{content:"▸";position:absolute;margin-left:-12px;color:#9aa9bb;font-size:11px}
#side-panel .perm-mod-toggle[aria-expanded="true"]::before{content:"▾"}
#side-panel .perm-mod-head{position:relative;padding-left:24px}
#side-panel .perm-cols{display:grid;grid-template-columns:repeat(3,80px);justify-items:center;align-items:center}
#side-panel .perm-mod-head > .perm-cols:not(.perm-cols-todos) span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5d7088}
#side-panel .perm-mod-body[hidden]{display:none!important}
#side-panel .perm-row{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:12px;padding:8px 14px 8px 24px;border-bottom:1px solid #f0f4f8}
#side-panel .perm-row:last-child{border-bottom:0}
#side-panel .perm-nome{font-size:13px;color:#28445f}
#side-panel .perm-row-bloq .perm-nome{color:#9aa9bb;text-decoration:line-through}
#side-panel .perm-row-parcial .perm-nome::after{content:"restrita";margin-left:8px;padding:1px 7px;border-radius:999px;background:#fff1e3;color:#9f4f0c;font-size:10.5px;font-weight:700}
/* chave liga/desliga */
#side-panel .perm-sw{position:relative;display:inline-block!important;width:36px;height:20px;margin:0!important;cursor:pointer}
#side-panel .perm-sw input{position:absolute;opacity:0;width:0;height:0}
#side-panel .perm-sw span{position:absolute;inset:0;border-radius:999px;background:#cfd8e3;transition:background .15s}
#side-panel .perm-sw span::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
#side-panel .perm-sw input:checked + span{background:#1f8a52}
#side-panel .perm-sw input:checked + span::after{transform:translateX(16px)}
#side-panel .perm-sw input:indeterminate + span{background:#e8a317}
#side-panel .perm-sw input:indeterminate + span::after{transform:translateX(8px)}
#side-panel .perm-sw input:disabled + span{opacity:.45;cursor:not-allowed}
#side-panel .perm-sw input:focus-visible + span{outline:2px solid #8db8f6;outline-offset:2px}
#side-panel .perm-rodape{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 30%)}
#side-panel .perm-sujo{font-size:12.5px;font-weight:600;color:#c4620d}
#side-panel .perm-sujo[hidden]{display:none!important}
@media (max-width:640px){
  #side-panel .perm-mod-head,#side-panel .perm-row{grid-template-columns:1fr}
  #side-panel .perm-mod-head > .perm-cols{grid-column:1!important}
  #side-panel .perm-mod-toggle{grid-row:auto!important}
  #side-panel .perm-cols{grid-template-columns:repeat(3,1fr)}
}
