.role-assign-btn-cancel{padding:6px 16px;border-radius:4px;font-size:12px;cursor:pointer;background:rgba(255,255,255,0.08);color:var(--color-text-secondary);border:1px solid rgba(255,255,255,0.1);margin:0;}
.role-assign-btn-submit{padding:6px 16px;border-radius:4px;font-size:12px;cursor:pointer;background:var(--color-accent);color:#fff;border:1px solid rgba(160,48,48,0.6);margin:0;}
.role-assign-btn-submit:hover{background:#a00;}
.role-matrix{width:100%;border-collapse:collapse;border:1px solid var(--color-tertiary);table-layout:fixed;}
.role-matrix th{font-size:10px;color:#fff;font-weight:600;padding:8px 4px;text-align:center;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.25);word-wrap:break-word;overflow-wrap:break-word;}
.role-matrix th:first-child{text-align:left;color:var(--color-component-minitext);font-weight:bold;width:auto;}
.role-matrix td{padding:10px 4px;text-align:center;border:1px solid rgba(255,255,255,0.25);vertical-align:middle;height:36px;}
.role-matrix td:first-child{text-align:left;font-size:11px;color:var(--color-text-secondary);font-weight:bold;background:rgba(255,255,255,0.02);white-space:nowrap;width:auto;}
.role-matrix tbody tr{background:transparent;}
.role-matrix tr:hover td{background:rgba(255,255,255,0.06);}
input.role-radio{cursor:pointer;margin:0;padding:0;vertical-align:middle;flex-shrink:0;accent-color:var(--color-accent);width:18px;height:18px;}
.role-provider-unavailable input.role-radio{display:none;}
.role-provider-unavailable::after{content:'—';color:rgba(255,255,255,0.15);font-size:14px;}
.role-assign-note{margin-top:12px;font-size:10px;color:#888;}
.role-assign-trigger{font-size:11px;padding:1px 6px;margin-left:auto;color:var(--color-component-minitext);border:1px solid rgba(160,48,48,0.4);background:rgba(129,0,0,0.2);border-radius:4px;cursor:pointer;white-space:nowrap;}
.role-assign-trigger:hover{background:rgba(129,0,0,0.4);border-color:rgba(160,48,48,0.6);color:#fff;}
