#permissionChecklist { display: block; min-width: 0; }
.permission-group { border-bottom: 1px solid #d4d8dd; }
.permission-group summary { display: flex; align-items: center; gap: 12px; padding: 14px 4px; cursor: pointer; list-style: none; }
.permission-group summary::after { content: "+"; font-size: 20px; width: 20px; text-align: center; }
.permission-group[open] summary::after { content: "−"; }
.permission-group summary label { display: flex; align-items: center; gap: 8px; margin: 0; min-width: 0; cursor: pointer; }
.permission-group summary strong { flex: 1; min-width: 0; font-size: 15px; overflow-wrap: anywhere; }
.permission-group [data-permission-count], .permission-full-label { font-size: 12px; color: #555; white-space: nowrap; }
#permissionChecklist input[type="checkbox"] { width: 19px; height: 19px; min-width: 19px; margin: 0; accent-color: #e86a17; cursor: pointer; }
.permission-module-row, .permission-column-head { display: grid; grid-template-columns: minmax(0, 1fr) 64px 64px; align-items: center; gap: 12px; padding: 10px 12px 10px 35px; }
.permission-column-head { border-block: 1px solid #e6e6e6; background: #f7f8f9; font-size: 12px; color: #555; }
.permission-module-row { font-size: 14px; }
.permission-module-row > :not(:first-child), .permission-column-head > :not(:first-child) { justify-self: center; }
.permission-module-row > span:first-child { overflow-wrap: anywhere; }
.permission-module-row:has(input:checked) { background: #fff6ef; }
.permission-special { margin: 20px 0 0; padding: 12px 0; border: 0; border-top: 1px solid #d4d8dd; }
.permission-special label { display: flex; align-items: center; gap: 12px; padding: 10px 4px; font-size: 14px; }
@media (max-width: 600px) {
  .permission-full-label { display: none; }
  .permission-module-row, .permission-column-head { grid-template-columns: minmax(0, 1fr) 45px 55px; gap: 6px; padding-left: 10px; padding-right: 0; }
}
