/* F14.9 Role Management polish — presentation only; permission semantics unchanged. */
#page-users .role-position-explainer{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px;padding:10px 12px;border:1px solid rgba(13,148,136,.16);border-radius:12px;background:rgba(13,148,136,.045);font-size:9px}
#page-users .role-position-explainer strong{color:var(--text)}
#page-users .role-position-explainer span{color:var(--muted)}
#page-users .users-layout{align-items:start;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:16px}
#page-users .role-list-section+.role-list-section{margin-top:14px}
#page-users .role-list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 7px;padding:0 2px;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900;color:var(--muted)}
#page-users .role-list-heading small{font-size:8px;font-weight:700;text-transform:none;letter-spacing:0}
#page-users .role-card{padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--panel);box-shadow:0 3px 12px rgba(15,23,42,.035);transition:.16s ease}
#page-users .role-card+.role-card{margin-top:8px}
#page-users .role-card:hover{border-color:rgba(13,148,136,.28);box-shadow:0 6px 18px rgba(15,23,42,.055)}
#page-users .role-card.inactive{opacity:.72}
#page-users .role-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#page-users .role-card-copy{min-width:0}
#page-users .role-card-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#page-users .role-card-title-row>strong{font-size:10px;color:var(--text)}
#page-users .role-card-copy>span,#page-users .role-card-copy>small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}
#page-users .role-card-copy>small{font-size:7.5px}
#page-users .role-type-badge,#page-users .role-risk-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;font-size:6.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
#page-users .role-type-badge.system{background:rgba(13,148,136,.09);color:#0f766e}
#page-users .role-type-badge.custom{background:rgba(59,130,246,.09);color:#2563eb}
#page-users .role-risk-badge{background:rgba(245,158,11,.11);color:#b45309}
#page-users .role-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}
#page-users .role-card-button{min-height:28px;padding:5px 9px;font-size:7.5px}
#page-users .role-protected-note{margin-left:auto;color:var(--muted);font-size:7.5px;font-weight:800}
#page-users .role-empty{padding:18px 12px;border:1px dashed var(--border);border-radius:12px}
#page-users .role-editor-panel{position:sticky;top:74px;max-height:calc(100vh - 100px);overflow:auto}
#page-users .role-editor-heading{padding-bottom:10px;border-bottom:1px solid var(--border)}
#page-users .role-editor-heading h3{margin:3px 0 0;font-size:15px}
#page-users .role-editor-heading p{margin:5px 0 0;color:var(--muted);font-size:8px;line-height:1.45}
#page-users .role-permissions-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
#page-users .role-permissions-heading>span{font-weight:800}
#page-users .role-permissions-heading>small{color:var(--muted);font-size:7px}
#page-users .role-permission-grid{display:block;max-height:none;overflow:visible;padding:0;border:0;background:transparent}
#page-users .role-permission-section{border:1px solid var(--border);border-radius:11px;background:rgba(248,250,252,.48);overflow:hidden}
#page-users .role-permission-section+.role-permission-section{margin-top:7px}
#page-users .role-permission-section summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;cursor:pointer;list-style:none;font-size:8px;font-weight:900;color:var(--text)}
#page-users .role-permission-section summary::-webkit-details-marker{display:none}
#page-users .role-permission-section summary:after{content:'+';font-size:12px;color:var(--muted)}
#page-users .role-permission-section[open] summary:after{content:'−'}
#page-users .role-permission-section summary small{margin-left:auto;color:var(--muted);font-size:7px;font-weight:700}
#page-users .role-permission-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 8px 8px}
#page-users .role-permission-item{min-height:46px;margin:0;padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}
#page-users .role-permission-item.elevated{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.025)}
#page-users .role-permission-item strong{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#page-users .role-risk-tag{padding:2px 4px;border-radius:999px;background:rgba(245,158,11,.12);color:#b45309;font-size:5.5px;font-style:normal;text-transform:uppercase;letter-spacing:.05em}
#page-users .role-permission-grid.is-readonly .role-permission-item{cursor:default}
#page-users .role-permission-grid.is-readonly input{opacity:.7}
#page-users .role-editor-panel[data-mode="view"] #customRoleName{background:rgba(148,163,184,.06);color:var(--muted)}
@media(max-width:1180px){#page-users .users-layout{grid-template-columns:1fr}#page-users .role-editor-panel{position:static;max-height:none}}
@media(max-width:700px){#page-users .role-permission-section-grid{grid-template-columns:1fr}#page-users .role-card-top{flex-direction:column}#page-users .role-protected-note{margin-left:0}}

/* F15.0 Granular RBAC refinements. */
#page-users .role-editor-panel{padding-bottom:18px}
#page-users .role-editor-panel .settings-form-actions{position:sticky;bottom:-1px;z-index:4;margin:10px -2px -10px;padding:10px 2px 2px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%,#fff 100%)}
#page-users .role-editor-panel .role-permission-section:last-child{margin-bottom:12px}
#page-users .role-card-actions [data-edit-builtin-role]{font-weight:800}
#page-users .role-permission-item input:checked+span strong{color:#0f766e}
#page-users .role-permission-section summary small{white-space:nowrap}
