.admin-search { max-width: 440px; margin-bottom: 14px; }
.access-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--line); padding:8px 0 20px; margin-bottom:20px; gap:16px; }
.access-summary > div { display:flex; align-items:center; gap:12px; min-width:0; }
.access-summary small { display:block; color:#607080; font-size:12px; }
.access-summary strong { display:block; font-size:24px; line-height:1.4; }
.access-icon { display:grid; place-items:center; width:40px; height:40px; background:#faf4e9; color:#a67713; border-radius:6px; flex-shrink:0; }
.access-summary > div:nth-child(2) .access-icon { background:#eaf6ee; color:#188547; }
.access-summary > div:nth-child(3) .access-icon { background:#faf0f3; color:#882647; }
.access-summary > div:nth-child(4) .access-icon { background:#edf2fa; color:#37618b; }
.access-icon svg { width:22px; height:22px; }
.access-toolbar { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.access-toolbar .admin-search { flex:1; margin:0; max-width:none; min-width:180px; }
.access-toolbar .select { width:auto; max-width:210px; }
.access-toolbar .catalog-export { margin-left:auto; }
.access-toolbar .catalog-export-menu button { width:100%; }
.access-muted { display:block; color:#738092; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.access-workspace td { font-size:13px; }
.access-workspace td strong { font-weight:600; }
.access-workspace td .pill { width:fit-content; }
.access-row-actions { display:flex; gap:6px; }
.access-row-actions .icon-button { padding:7px; width:34px; height:34px; display:grid; place-items:center; }
.access-footer { border-top:1px solid var(--line); color:#607080; padding:14px 0; font-size:12px; }
.access-section-title { margin:4px 0 0; padding-bottom:8px; border-bottom:1px solid var(--line); font-size:14px; }
.access-role-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.modal-panel .button-row.field.full { display:flex; flex-wrap:wrap; justify-content:flex-end; }
.access-form-actions { border-top:1px solid var(--line); padding-top:12px; }
.access-user-form { gap:9px; }
.access-user-form .field > label { display:grid; gap:4px; text-transform:none; font-weight:500; color:#344452; font-size:13px; }
.access-user-form .input,.access-user-form .select { min-height:38px; padding:8px 10px; font-size:13px; font-weight:400; }
.access-role-options { background:#fff; }
.access-role-options .permission-check { text-transform:none; font-size:13px; font-weight:500; padding:4px 0; border:0; }
.access-role-options .permission-check small { font-weight:400; }
.permission-matrix .permission-group { background:#fff; }
.permission-matrix .permission-group legend { text-transform:none; letter-spacing:0; }
.permission-matrix .permission-check { text-transform:none; letter-spacing:0; font-size:13px; font-weight:400; }
.permission-matrix .permission-select-all { font-weight:600; }
.permission-matrix .permission-check small { font-size:11px; font-weight:400; }
.permission-select-all { border-bottom:1px solid var(--line); padding-bottom:8px; font-weight:600; }
.role-details summary > svg { width:20px; color:#a67713; }
.role-detail-body .permission-matrix { margin:14px 0; }
.access-workspace button:disabled,.role-details button:disabled { opacity:.45; cursor:not-allowed; }
@media(max-width:900px) { .access-toolbar { flex-wrap:wrap; } .access-toolbar .admin-search { flex-basis:100%; } }
@media(max-width:600px) { .access-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .access-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .access-toolbar .admin-search { grid-column:1/-1; min-width:0; } .access-toolbar .select { width:100%; min-width:0; max-width:none; } .access-role-options { grid-template-columns:1fr; } }
.field label, .metric label, .nav-group-toggle, .nav-button small, .login h1, th { letter-spacing: 0; }
.role-details { border-bottom: 1px solid var(--line); }
.role-details summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0; cursor: pointer; }
.role-details summary strong { min-width: 140px; }
.role-detail-body { padding: 0 0 20px; }
.permission-matrix { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.reference-items { display: grid; gap: 8px; }
.reference-items .inline-form { grid-template-columns: minmax(0, 1fr) auto auto; }
.modal-error { color: var(--danger); font-weight: 700; margin-bottom: 12px; }
.modal-error:empty { display: none; }
.field, .permission-check, .login-card { min-width: 0; }
.role-detail-body p, .audit-item span { overflow-wrap: anywhere; }
.login .form-grid { margin-top: 16px; }
.notice { margin-bottom: 12px; }
.icon-button svg, .nav-button svg { width: 20px; height: 20px; flex-shrink: 0; }
.nav-button > span { display: grid; place-items: center; }
@media (max-width: 759px) {
  .sidebar-collapsed .sidebar { display: none; }
  .sidebar-collapsed .main { padding-bottom: 24px; }
}
@media (max-width: 700px) {
  .panel-head { flex-wrap: wrap; }
  .sidebar { max-height: 35vh; overflow-y: auto; }
  .reference-items .inline-form { grid-template-columns: minmax(0, 1fr) auto; }
  .reference-items .inline-form button:last-child { grid-column: 2; }
}
