.roles-layout{grid-template-columns:minmax(0,2.4fr) minmax(230px,1fr)}
.roles-layout>section{min-width:0}
.permission-editor{margin:26px 0}
.permission-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.permission-toolbar h2{font-size:18px;margin:0 0 6px}
.permission-toolbar p{font-size:12px;margin:0}
.permission-tools{display:flex;gap:8px;flex-wrap:wrap}
.permission-tools[hidden]{display:none}
.permission-tools button{border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--green);font-size:12px;padding:7px 10px}
.permission-tools button:hover{background:#e5ecdb}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.permission-module{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;min-width:0}
.permission-module summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;padding:15px 38px 15px 16px;position:relative;gap:3px}
.permission-module summary::-webkit-details-marker{display:none}
.permission-module summary::after{content:'+';position:absolute;right:16px;top:18px;font-size:18px;color:var(--green)}
.permission-module[open] summary::after{content:'−'}
.permission-module[open] summary{background:#f0f3eb;border-bottom:1px solid var(--line)}
.permission-module summary:focus-visible{outline:3px solid #a78b3d;outline-offset:-3px}
.permission-module-title{font-weight:650;font-size:14px}
.permission-count{font-size:11px;color:var(--muted)}
.permission-module fieldset{border:0;margin:0;padding:16px;min-width:0}
.permission-module .check{font-size:12px;line-height:1.5;gap:9px;margin:0 0 13px}
.permission-module .check:last-child{margin-bottom:0}
.permission-module input[type=checkbox]{flex-shrink:0;margin:1px 0 0}
.permission-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.roles-layout{grid-template-columns:1fr}}
@media(max-width:600px){.permission-grid{grid-template-columns:1fr}.permission-toolbar{gap:12px}}

/* Catálogo completo, mantendo os cartões por módulo. */
.permission-editor [hidden]{display:none!important}
.permission-grid{grid-template-columns:1fr}
.permission-function-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
.permission-function-list .check{margin:0;padding:10px;border:1px solid #e7e8e1;border-radius:6px;background:#fafbf8;align-items:flex-start;min-height:52px}
.permission-module summary{flex-direction:row;justify-content:space-between;align-items:center;padding:17px 42px 17px 18px}
.permission-module-title{font-size:15px}.permission-count{white-space:nowrap}
.permission-module fieldset{padding:16px 18px 20px}
.permission-module .permission-select-all{padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:15px;font-weight:600}
.permission-search{margin:8px 0 20px}.permission-search input{max-width:100%}
.permission-function input[type=checkbox],.permission-select-all input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}
.permission-empty{padding:14px;border:1px solid var(--line);border-radius:7px}
@media(max-width:600px){.permission-function-list{grid-template-columns:1fr}.permission-module summary{align-items:flex-start;flex-direction:column}.permission-count{white-space:normal}}
