.mdt-rbac[data-v-d5c2e690]{height:100%;display:flex;flex-direction:column;background:#f9fafb;overflow:hidden}.dark .mdt-rbac[data-v-d5c2e690]{background:#000}.rbac-header[data-v-d5c2e690]{flex-shrink:0;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}.rbac-title[data-v-d5c2e690]{font-size:1rem;font-weight:500;color:var(--f7-text-color);letter-spacing:-.5px}.rbac-subtitle[data-v-d5c2e690]{font-size:.875rem;color:var(--f7-text-color);opacity:.6;margin-top:2px}.stats-row[data-v-d5c2e690]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 15px 15px}.stat-card[data-v-d5c2e690]{background:#fff;border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px;border:1px solid rgba(0,0,0,.04)}.dark .stat-card[data-v-d5c2e690]{background:#1c1c1e;border-color:#ffffff0f}.stat-icon[data-v-d5c2e690]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon i[data-v-d5c2e690]{font-size:18px}.stat-card.color-blue .stat-icon[data-v-d5c2e690]{background:#007aff1a;color:#007aff}.stat-card.color-green .stat-icon[data-v-d5c2e690]{background:#34c7591a;color:#34c759}.stat-card.color-orange .stat-icon[data-v-d5c2e690]{background:#ff95001a;color:#ff9500}.stat-card.color-red .stat-icon[data-v-d5c2e690]{background:#ff3b301a;color:#ff3b30}.stat-card.color-gray .stat-icon[data-v-d5c2e690]{background:#8e8e931a;color:#8e8e93}.stat-content[data-v-d5c2e690]{display:flex;flex-direction:column}.stat-value[data-v-d5c2e690]{font-size:18px;font-weight:700;line-height:1.2}.stat-label[data-v-d5c2e690]{font-size:11px;opacity:.6;margin-top:2px}.rbac-controls[data-v-d5c2e690]{flex-shrink:0;padding:0 15px 15px;display:flex;gap:12px;align-items:center}.search-wrapper[data-v-d5c2e690]{flex:1;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:0 12px;height:36px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 4px #00000005}.dark .search-wrapper[data-v-d5c2e690]{background:#1c1c1e;border-color:#ffffff14}.search-wrapper i[data-v-d5c2e690]{font-size:16px;opacity:.4}.search-wrapper input[data-v-d5c2e690]{background:transparent;border:none;outline:none;width:100%;font-size:14px;color:var(--f7-text-color)}.search-wrapper-placeholder .placeholder-text[data-v-d5c2e690]{font-size:14px;opacity:.4;-webkit-user-select:none;user-select:none}.clear-btn[data-v-d5c2e690]{cursor:pointer;font-size:16px!important;opacity:.4!important;transition:opacity .2s}.clear-btn[data-v-d5c2e690]:hover{opacity:.7!important}.control-actions[data-v-d5c2e690]{display:flex;align-items:center;gap:10px}.section-tabs[data-v-d5c2e690]{display:flex;background:#7676801f;border-radius:10px;padding:3px;gap:2px}.dark .section-tabs[data-v-d5c2e690]{background:#ffffff1a}.section-tab[data-v-d5c2e690]{display:flex;align-items:center;gap:5px;padding:7px 14px;border:none;background:transparent;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--f7-text-color);opacity:.6}.section-tab i[data-v-d5c2e690]{font-size:14px}.section-tab.active[data-v-d5c2e690]{background:#fff;opacity:1;box-shadow:0 2px 8px #0000001a;color:var(--f7-theme-color)}.dark .section-tab.active[data-v-d5c2e690]{background:#636366;color:#fff}.rbac-content[data-v-d5c2e690]{flex:1;overflow-y:auto;padding:0 15px 20px}.loading-state[data-v-d5c2e690],.empty-state[data-v-d5c2e690]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;opacity:.5}.loading-state.compact[data-v-d5c2e690]{height:auto;padding:32px}.empty-state i[data-v-d5c2e690]{font-size:48px}.job-grade-group[data-v-d5c2e690]{margin-bottom:20px}.job-group-header[data-v-d5c2e690]{display:flex;align-items:center;gap:8px;margin:0 0 10px 4px}.job-group-name[data-v-d5c2e690]{font-size:13px;font-weight:700;text-transform:uppercase;color:var(--f7-theme-color)}.job-group-count[data-v-d5c2e690]{min-width:22px;height:22px;padding:0 8px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#007aff1f;color:var(--f7-theme-color);font-size:12px;font-weight:700}.grade-section[data-v-d5c2e690]{background:#fff;border-radius:16px;margin-bottom:16px;border:1px solid rgba(0,0,0,.06);overflow:hidden;box-shadow:0 4px 6px -1px #00000003}.dark .grade-section[data-v-d5c2e690]{background:#1c1c1e;border-color:#ffffff14}.grade-header[data-v-d5c2e690]{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.grade-header[data-v-d5c2e690]:hover{background:#00000005}.dark .grade-header[data-v-d5c2e690]:hover{background:#ffffff05}.grade-identity[data-v-d5c2e690]{display:flex;align-items:center;gap:12px}.grade-badge[data-v-d5c2e690]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.grade-badge.dept-police[data-v-d5c2e690]{background:#007aff}.grade-badge.dept-ambulance[data-v-d5c2e690]{background:#ff3b30}.grade-name[data-v-d5c2e690]{font-size:15px;font-weight:600}.grade-count[data-v-d5c2e690]{background:#0000000f;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.dark .grade-count[data-v-d5c2e690]{background:#ffffff1a}.grade-state[data-v-d5c2e690]{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.grade-state.custom[data-v-d5c2e690]{background:#34c75924;color:#1f9d4d}.grade-state.inherited[data-v-d5c2e690]{background:#ff950024;color:#b86600}.grade-actions[data-v-d5c2e690]{display:flex;align-items:center;gap:10px}.perm-summary[data-v-d5c2e690]{font-size:12px;opacity:.5;font-weight:500}.chevron-icon[data-v-d5c2e690]{font-size:18px;opacity:.4;transition:transform .3s}.grade-section.collapsed .chevron-icon[data-v-d5c2e690],.officer-section.collapsed .chevron-icon[data-v-d5c2e690]{transform:rotate(-90deg)}.grade-body[data-v-d5c2e690]{padding:0 16px 16px;max-height:3000px;overflow:visible;transition:max-height .3s,padding .3s}.grade-section.collapsed .grade-body[data-v-d5c2e690]{max-height:0;padding-top:0;padding-bottom:0}.perm-editor-area[data-v-d5c2e690]{border-top:1px solid rgba(0,0,0,.06);padding-top:16px}.dark .perm-editor-area[data-v-d5c2e690]{border-top-color:#ffffff0f}.perm-grid[data-v-d5c2e690]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.perm-grid.compact[data-v-d5c2e690]{gap:10px}.perm-category-card[data-v-d5c2e690]{background:#f3f4f6;border-radius:12px;overflow:hidden;border:1px solid transparent;transition:border-color .2s}.dark .perm-category-card[data-v-d5c2e690]{background:#2c2c2e}.perm-category-card[data-v-d5c2e690]:hover{border-color:#00000014}.dark .perm-category-card[data-v-d5c2e690]:hover{border-color:#ffffff1a}.perm-cat-header[data-v-d5c2e690]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#00000005;border-bottom:1px solid rgba(0,0,0,.04)}.dark .perm-cat-header[data-v-d5c2e690]{background:#ffffff05;border-bottom-color:#ffffff0a}.perm-cat-name[data-v-d5c2e690]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.6}.toggle-all-btn[data-v-d5c2e690]{font-size:10px;padding:2px 10px;border:1px solid rgba(0,0,0,.1);background:transparent;border-radius:6px;cursor:pointer;color:var(--f7-theme-color);font-weight:600;transition:all .15s;width:auto}.toggle-all-btn[data-v-d5c2e690]:hover{background:rgba(var(--f7-theme-color-rgb),.1)}.perm-cat-body[data-v-d5c2e690]{padding:8px 12px;display:flex;flex-direction:column;gap:2px}.perm-item[data-v-d5c2e690]{display:flex;align-items:center;gap:8px;padding:5px 4px;cursor:pointer;border-radius:6px;transition:background .15s}.perm-item[data-v-d5c2e690]:hover{background:#00000008}.dark .perm-item[data-v-d5c2e690]:hover{background:#ffffff0a}.perm-item input[type=checkbox][data-v-d5c2e690]{margin:0;width:16px;height:16px;accent-color:var(--f7-theme-color);flex-shrink:0;cursor:pointer}.perm-item.denied input[type=checkbox][data-v-d5c2e690]{accent-color:#ff3b30}.perm-label[data-v-d5c2e690]{font-size:12px;font-weight:500;flex:1}.perm-key-tag[data-v-d5c2e690]{font-size:10px;font-family:monospace;opacity:.35;padding:1px 6px;background:#0000000a;border-radius:4px}.dark .perm-key-tag[data-v-d5c2e690]{background:#ffffff0f}.perm-actions[data-v-d5c2e690]{display:flex;justify-content:flex-end;gap:10px;padding-top:16px}.perm-actions .button[data-v-d5c2e690]{font-size:13px;font-weight:600;text-transform:none}.officer-section[data-v-d5c2e690]{background:#fff;border-radius:16px;margin-bottom:12px;border:1px solid rgba(0,0,0,.06);overflow:hidden;box-shadow:0 4px 6px -1px #00000003}.dark .officer-section[data-v-d5c2e690]{background:#1c1c1e;border-color:#ffffff14}.officer-header[data-v-d5c2e690]{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.officer-header[data-v-d5c2e690]:hover{background:#00000005}.dark .officer-header[data-v-d5c2e690]:hover{background:#ffffff05}.officer-identity[data-v-d5c2e690]{display:flex;align-items:center;gap:12px}.officer-avatar-small[data-v-d5c2e690]{width:36px;height:36px;border-radius:50%;background:#007aff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.officer-avatar-small i[data-v-d5c2e690]{font-size:24px;color:#007aff}.officer-meta[data-v-d5c2e690]{display:flex;flex-direction:column;gap:2px}.officer-name[data-v-d5c2e690]{font-size:14px;font-weight:600}.officer-job[data-v-d5c2e690]{font-size:12px;opacity:.5}.officer-actions[data-v-d5c2e690]{display:flex;align-items:center;gap:10px}.officer-body[data-v-d5c2e690]{padding:0 16px 16px;max-height:3000px;overflow:visible;transition:max-height .3s,padding .3s}.officer-section.collapsed .officer-body[data-v-d5c2e690]{max-height:0;padding-top:0;padding-bottom:0}.override-block[data-v-d5c2e690]{border-top:1px solid rgba(0,0,0,.06);padding-top:16px;margin-bottom:16px}.dark .override-block[data-v-d5c2e690]{border-top-color:#ffffff0f}.override-block-header[data-v-d5c2e690]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:4px}.override-block.extra .override-block-header[data-v-d5c2e690],.override-block.extra .override-block-header i[data-v-d5c2e690]{color:#34c759}.override-block.denied .override-block-header[data-v-d5c2e690],.override-block.denied .override-block-header i[data-v-d5c2e690]{color:#ff3b30}.override-hint[data-v-d5c2e690]{font-size:12px;opacity:.5;margin:0 0 12px}.log-list[data-v-d5c2e690]{display:flex;flex-direction:column;gap:8px}.log-card[data-v-d5c2e690]{background:#fff;border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:14px;border:1px solid rgba(0,0,0,.06);transition:box-shadow .2s}.dark .log-card[data-v-d5c2e690]{background:#1c1c1e;border-color:#ffffff0f}.log-card[data-v-d5c2e690]:hover{box-shadow:0 4px 12px #0000000f}.log-icon[data-v-d5c2e690]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.log-icon i[data-v-d5c2e690]{font-size:18px}.log-icon.color-orange[data-v-d5c2e690]{background:#ff95001a;color:#ff9500}.log-icon.color-blue[data-v-d5c2e690]{background:#007aff1a;color:#007aff}.log-icon.color-green[data-v-d5c2e690]{background:#34c7591a;color:#34c759}.log-icon.color-red[data-v-d5c2e690]{background:#ff3b301a;color:#ff3b30}.log-icon.color-gray[data-v-d5c2e690]{background:#8e8e931a;color:#8e8e93}.log-card-body[data-v-d5c2e690]{flex:1;min-width:0}.log-card-title[data-v-d5c2e690]{font-size:13px;font-weight:700}.log-card-target[data-v-d5c2e690]{font-size:13px;font-weight:500;margin-top:2px}.log-card-details[data-v-d5c2e690]{font-size:12px;opacity:.6;margin-top:4px}.log-card-right[data-v-d5c2e690]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.log-actor[data-v-d5c2e690]{font-size:12px;font-weight:600;opacity:.7}.log-time[data-v-d5c2e690]{font-size:11px;opacity:.4}.log-pagination[data-v-d5c2e690]{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 0}.page-indicator[data-v-d5c2e690]{font-size:13px;font-weight:600;opacity:.6}.rbac-content[data-v-d5c2e690]::-webkit-scrollbar{width:6px}.rbac-content[data-v-d5c2e690]::-webkit-scrollbar-track{background:transparent}.rbac-content[data-v-d5c2e690]::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.dark .rbac-content[data-v-d5c2e690]::-webkit-scrollbar-thumb{background:#ffffff26}
