.permissions-tabs { display:flex; gap:8px; padding:12px 20px; border-bottom:1px solid var(--line); }
.permissions-tabs { flex-wrap:wrap; }
.permission-user-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.permission-admin-panel { padding:20px; min-width:0; }
.bulk-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:24px; }
.bulk-columns > section { border:1px solid var(--line); border-radius:10px; padding:16px; min-width:0; }
.bulk-filters { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.bulk-filters label { flex:1; min-width:160px; }
#bulkUsers { max-height:440px; overflow:auto; }
.bulk-user, .permission-picker-option { display:flex; align-items:flex-start; gap:10px; padding:10px; margin:0; border-bottom:1px solid var(--line); font-weight:400; }
.bulk-user input, .permission-picker-option input { width:18px; height:18px; flex-shrink:0; margin-top:3px; }
.bulk-user small { display:block; color:var(--muted); margin-top:4px; }
.permission-picker-scroll { max-height:380px; overflow:auto; margin-top:12px; }
.permission-picker summary, .bulk-preview-user summary, .profile-list summary, #permissionHistoryContent summary { padding:12px; cursor:pointer; font-weight:600; }
.permission-picker [hidden] { display:none !important; }
.permission-admin-dialog { width:min(850px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:24px; }
.permission-admin-dialog .dialog-actions { position:sticky; bottom:0; background:var(--panel); padding:14px 0; border-top:1px solid var(--line); }
.bulk-preview-user { border:1px solid var(--line); border-radius:8px; margin:10px 0; padding:0 12px; }
.bulk-rule-note { background:var(--accent-soft); border-left:3px solid var(--accent); padding:12px; margin:12px 0; }
.profile-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.profile-list article { padding:16px; border:1px solid var(--line); border-radius:10px; min-width:0; }
#bulkError, #profileError, #bulkCommitError { color:var(--red); }
@media(max-width:800px) { .bulk-columns { grid-template-columns:minmax(0,1fr); } .permission-admin-panel { padding:12px; } .permission-admin-dialog { padding:16px; } }
.permissions-tabs button, #permissionModuleNav button { background:transparent; color:var(--text); border:1px solid transparent; border-radius:8px; padding:10px 14px; text-align:left; cursor:pointer; }
.permissions-tabs button[aria-pressed=true], #permissionModuleNav button[aria-pressed=true] { background:var(--accent-soft); border-color:var(--accent); color:var(--text); font-weight:700; }
#permissionUsersPanel .permission-toolbar { grid-template-columns:minmax(230px,360px) 1fr; align-items:center; }
#permissionUserSummary { margin:0 0 8px; color:var(--text); }
.permissions-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:16px 20px; border-bottom:1px solid var(--line); }
.permissions-filters label { margin:0; display:grid; gap:6px; }
.permissions-filters label:first-child { flex:1; min-width:220px; }
.permissions-layout { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:340px; align-items:start; }
#permissionModuleNav { display:grid; gap:3px; padding:12px; max-height:60vh; overflow:auto; border-right:1px solid var(--line); position:sticky; top:0; }
#permissionModuleNav button { display:flex; flex-direction:column; gap:4px; width:100%; }
#permissionModuleNav small { color:var(--muted); font-size:11px; font-weight:400; }
#permissionSaveScope .permission-row { grid-template-columns:145px minmax(0,1fr); }
#permissionSaveScope .permission-actions { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; gap:12px; }
#permissionSaveScope .permission-resource { text-align:left; justify-content:flex-start; }
#permissionSaveScope .permission-check { align-items:flex-start; padding:10px; border:1px solid transparent; border-radius:7px; min-width:0; }
#permissionSaveScope .permission-check input { flex-shrink:0; margin-top:2px; }
#permissionSaveScope .permission-changed { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--panel)); }
#permissionSaveScope .permission-sensitive { flex-wrap:wrap; border-color:var(--red); }
.permission-sensitive span { flex:1; }
.permission-sensitive small { flex-basis:100%; color:var(--muted); line-height:1.5; }
.permissions-savebar { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:14px 20px; position:sticky; bottom:0; z-index:5; background:var(--panel); border-top:1px solid var(--line); box-shadow:0 -4px 16px #0000000d; flex-wrap:wrap; }
#permissionPending { margin-right:auto; font-weight:600; }
.permissions-savebar [data-save-status] { display:none; }
.permission-mobile-picker { display:none; }
#permissionEmpty { padding:24px; color:var(--muted); }
#permissionUserDialog { width:min(760px,calc(100vw - 32px)); }
#permissionUserDialog .selected-user-editor { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; }
#permissionUserDialog .dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
#permissionSwitchDialog { max-width:560px; }
#permissionSwitchError { color:var(--red); }
@media(max-width:800px) {
  .permissions-layout { grid-template-columns:minmax(0,1fr); }
  #permissionModuleNav { display:none; }
  .permission-mobile-picker { display:grid; gap:6px; padding:12px 20px; margin:0; }
  #permissionUsersPanel .permission-toolbar { grid-template-columns:minmax(0,1fr); }
  #permissionSaveScope .permission-row { grid-template-columns:minmax(0,1fr); }
  #permissionSaveScope .permission-resource { padding-bottom:0; }
  #permissionSaveScope .permission-actions { grid-template-columns:minmax(0,1fr); }
  #permissionUserDialog .selected-user-editor { grid-template-columns:minmax(0,1fr); }
  .permissions-savebar { gap:8px; padding:12px; }
  #permissionPending { flex-basis:100%; }
}
