select { width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid #cbd7e6; border-radius: 7px; color: #233a59; background: #fff; }
.page-buttons { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.page-buttons .primary, .page-buttons .secondary { margin: 5px 0 0; white-space: nowrap; }
.danger-button { background: #b34a4d; border-color: #a63f42; }
.role-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.role-card { padding: 16px; }
.role-history-card { grid-column: 1 / -1; padding: 16px; }
.card-head, .assignment-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.card-head h3 { margin: 0; }
.assignment-list { display: grid; gap: 8px; margin-top: 12px; }
.assignment-row { padding: 10px; border: 1px solid #e5ebf3; border-radius: 7px; background: #fbfcfe; }
.history-row { padding: 10px; border: 1px solid #e5ebf3; border-radius: 7px; background: #fbfcfe; }
.assignment-row b { display: block; color: #345273; font-size: 12px; }
.assignment-row span, .history-row span { display: block; margin-top: 4px; color: #6c7e95; font-size: 12px; line-height: 1.45; }
.history-row b { display: block; color: #345273; font-size: 12px; }
.assignment-row.inactive { opacity: .6; background: #f6f7f9; }
.technical-code { display: inline-block; margin: 5px 0 0; color: #6c7e95; font-size: 12px; }
.technical-code summary { cursor: pointer; color: #53749a; }
.technical-code code { display: inline-block; margin-top: 4px; overflow-wrap: anywhere; color: #405a78; }
.history-filters { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; }
.history-filters label { display: grid; gap: 3px; color: #6c7e95; font-size: 12px; }
.history-filters select, .history-filters input { margin-top: 0; min-width: 126px; padding: 7px 8px; }
.audit-full-view { padding: 16px; }
.audit-history-filters { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; margin-top: 16px; }
.audit-history-filters label { display: grid; gap: 3px; color: #6c7e95; font-size: 12px; }
.audit-history-filters select, .audit-history-filters input { margin-top: 0; min-width: 150px; padding: 7px 8px; }
.history-pager { display: flex; gap: 8px; align-items: center; justify-content: flex-end; margin-top: 12px; color: #6c7e95; font-size: 12px; }
.history-pager button:disabled { cursor: not-allowed; opacity: .5; }
@media (max-width: 760px) { .role-detail-grid { grid-template-columns: 1fr; } .role-history-card { grid-column: auto; } .card-head { align-items: flex-start; flex-direction: column; } }
/* Scoped controls must not inherit the full-width text-input rule. */
.account-role-editor { display:grid; grid-template-columns:minmax(190px,240px) minmax(0,1fr); gap:14px; margin-top:12px; }
.account-role-editor > section { min-width:0; border:1px solid #dce6f1; border-radius:8px; padding:12px; }
.account-role-choices { align-self:start; }
.account-permission-detail { max-height:560px; overflow:auto; scrollbar-gutter:stable; }
.account-role-editor h4,.permission-region h4 { margin:0 0 8px; color:#294766; }
.role-choice { display:flex; align-items:flex-start; gap:8px; padding:8px 0; border-bottom:1px solid #eaf0f5; }
.account-role-editor input[type="checkbox"],.permission-region input[type="checkbox"] { width:16px; height:16px; min-width:16px; max-width:16px; flex:0 0 16px; margin:2px 0 0; padding:0; vertical-align:middle; }
.role-choice button { min-width:0; flex:1; border:0; background:none; color:#244b73; cursor:pointer; text-align:left; font:inherit; line-height:1.5; padding:0; overflow-wrap:anywhere; }
.role-choice button[aria-current="true"] { font-weight:700; text-decoration:underline; }
.role-choice button small { display:block; color:#966000; font-size:12px; }
.role-choice.inactive { opacity:.55; }
.role-selection-status { color:#61738c; font-size:12px; margin:4px 0 8px; }
.account-role-choices > button { margin-top:12px; }
.permission-preview-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.permission-preview-tabs [aria-pressed="true"] { background:#eaf3ff; color:#185fae; border-color:#83b1ea; }
.permission-region { min-width:0; border:1px solid #dce6f1; border-radius:8px; padding:10px; margin:10px 0; }
.permission-region h4 { font-size:14px; }
.permission-module { border-top:1px solid #edf1f6; padding:7px 0; }
.permission-module > summary { cursor:pointer; font-weight:650; color:#345273; }
.permission-region .permission-group-label { display:inline-flex; align-items:flex-start; gap:8px; margin:0; padding:0; font:inherit; color:inherit; max-width:100%; }
.permission-feature { display:grid; grid-template-columns:minmax(90px,120px) minmax(0,1fr); gap:8px; align-items:start; padding:7px 0 3px 18px; }
.permission-feature-title { font-size:12px; color:#5c7289; font-weight:650; }
.permission-actions { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; }
.permission-action { display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap; max-width:100%; min-width:0; }
.permission-region .permission-actions label { display:inline-flex; align-items:flex-start; gap:8px; margin:0; padding:0; font-size:13px; font-weight:400; line-height:1.5; min-width:0; max-width:100%; }
.permission-actions label > span { max-width:32em; overflow-wrap:anywhere; }
.permission-action[hidden],.permission-feature[hidden],.permission-module[hidden] { display:none!important; }
.permission-source { display:block; color:#617992; font-size:12px; line-height:1.5; }
.permission-meta { font-size:12px; color:#617992; min-width:0; max-width:100%; }
.permission-meta > summary { font-size:12px; font-weight:400; color:#617992; }
.permission-meta code { display:block; overflow-wrap:anywhere; }
.permission-derived { font-size:12px; margin-top:12px; }
#dialog:has(.permission-matrix-dialog) .dialog { width:min(94vw,980px); max-height:90dvh; display:flex; flex-direction:column; overflow:hidden; }
#dialog:has(.permission-matrix-dialog) .dialog-head { flex:none; }
#dialog:has(.permission-matrix-dialog) #action-form { display:flex; flex-direction:column; min-height:0; padding:0; }
#dialog:has(.permission-matrix-dialog) #dialog-fields { overflow:auto; padding:16px 20px; min-height:0; overscroll-behavior:contain; }
#dialog:has(.permission-matrix-dialog) .dialog-actions { flex:none; padding:12px 20px; margin:0; border-top:1px solid #dce6f1; background:#fff; }
#dialog:has(.permission-matrix-dialog) #dialog-message { margin:0; padding:0 20px; min-height:0; }
#dialog:has(.permission-matrix-dialog) textarea { min-height:64px; }
#user-access-page .module-access-tree { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:10px; margin-top:10px; }
#user-access-page .module-access-group { padding:10px; margin:0; }
#user-access-page .module-access-pages { grid-template-columns:minmax(0,1fr); }
#user-access-page .module-access-explanation { margin-top:8px; color:#617992; font-size:12px; }
#user-access-page .account-direct-card summary { cursor:pointer; color:#345273; }
#user-access-page .account-direct-card #grant-direct-permission-button { margin-top:12px; }
@media(max-width:760px) { .account-role-editor { grid-template-columns:minmax(0,1fr); } .account-permission-detail { max-height:none; } .permission-feature,.permission-actions { padding-left:10px; } }

@media(max-width:600px) { .permission-feature { grid-template-columns:minmax(0,1fr); gap:4px; } }
