/* Администрирование · Роли и права (NIPI-055): страница роли на всю ширину и матрица прав */
.role-page { display: flex; flex-direction: column; gap: 14px; width: 100%; }
.role-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.role-matrix-title { margin: 22px 0 6px; }
.role-matrix { width: 100%; border-collapse: collapse; }
.role-matrix th, .role-matrix td { padding: 8px 10px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.role-matrix thead th { position: sticky; top: 0; background: var(--surface); z-index: 1; white-space: nowrap; }
.role-matrix tbody th { font-weight: 600; font-size: 14px; text-transform: none; letter-spacing: normal; color: var(--text);
  background: none; border-radius: 0; min-width: 240px; max-width: 360px; }
.role-matrix tbody th small { display: block; margin: 3px 0 0; font-size: 12px; font-weight: 400; color: var(--muted); }
.role-matrix .matrix-extra th { padding-left: 28px; }
.role-matrix .matrix-sub { color: var(--muted); font-weight: 400; }
.role-matrix select.level-select { min-width: 150px; color: var(--muted); }
.role-matrix select.level-select.is-set { color: var(--text); border-color: var(--primary); background-color: var(--primary-soft); }
.role-matrix tbody tr:hover { background: var(--primary-soft); }
.role-page .form-actions { justify-content: flex-end; }
#role-delete { margin-right: auto; }
