.access-table { width: 100%; }
.access-table th,.access-table td { text-align: center; vertical-align: middle; }
.access-table td { max-width: 270px; white-space: normal; overflow-wrap: anywhere; }
.access-table strong { font-size: 13px; color: #34706a; font-weight: 500; }
.access-id { display: block; direction: ltr; color: #5e8d88; font-size: 11px; margin-top: 5px; }
.access-actions { display: flex; gap: 8px; justify-content: center; }
.access-actions .access-action { width: 40px; height: 40px; border: 1px solid #dff0ee; color: #39a298; background: #f8fcfb; flex-shrink: 0; }
.access-actions .delete { color: #aa3447; background: #fff6f7; border-color: #edc3c9; }
.access-dialog { width: min(820px,calc(100% - 28px)); max-height: 90vh; overflow-y: auto; }
.access-dialog textarea { min-height: 92px; }
.access-dialog form > .dialog-actions { position: sticky; bottom: -28px; z-index: 2; background: #ffffff; padding-block: 14px; box-shadow: 0 -8px 12px #ffffffeb; }
#permission-groups { max-height: min(44vh,420px); overflow-y: auto; overscroll-behavior: contain; padding-inline-end: 5px; }
.access-empty { padding: 24px; text-align: center; color: #5e8d88; font-size: 13px; }
.access-error { color: #a72c42; background: #fff2f4; border-radius: 6px; padding: 12px; margin-top: 16px; font-size: 13px; }
.access-error[hidden] { display: none; }
.access-flags { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; }
.access-flags label { align-items: flex-start; line-height: 1.8; }
.access-flags input { margin-top: 6px; }
.access-role-options { display: grid; gap: 10px; }
.access-role-option { display: flex; gap: 12px; align-items: flex-start; border: 1px solid #dff0ee; padding: 14px; border-radius: 8px; cursor: pointer; }
.access-role-option input { margin-top: 5px; accent-color: #0f766e; }
.access-role-option strong,.access-role-option small { display: block; }
.access-role-option strong { font-size: 13px; color: #34706a; }
.access-role-option small { margin-top: 5px; font-size: 12px; color: #5e8d88; }
.access-permissions>.search-field { width: 100%; margin-top: 14px; }
.access-permission-group { border: 1px solid #dff0ee; border-radius: 8px; margin-top: 10px; }
.access-permission-group summary { cursor: pointer; padding: 14px; color: #34706a; font-size: 13px; }
.access-permission-group summary small { float: left; font: 12px var(--font-ui); color: #5e8d88; direction: ltr; unicode-bidi: isolate; }
.access-permission-options { padding: 4px 16px 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 16px; border-top: 1px solid #eef7f6; }
.access-permission-options>.legacy-check:first-child { grid-column: 1/-1; border-bottom: 1px solid #eef7f6; padding-bottom: 8px; }
.access-permission-options .legacy-check { margin-bottom: 0; cursor: pointer; }
.access-description { font-size: 13px; color: #55958f; line-height: 1.9; overflow-wrap: anywhere; }
@media(max-width:760px){.access-flags,.access-permission-options{grid-template-columns:1fr}.access-dialog{padding:20px 16px}.access-dialog form>.dialog-actions{bottom:-20px}.access-actions .access-action{width:44px;height:44px}.access-table{min-width:700px}}
