.permission-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.permission-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.permission-table thead{background:var(--color-primary)}.permission-table thead th{text-align:center;font-weight:600;font-size:var(--text-xs);color:var(--color-white);letter-spacing:.03em;white-space:nowrap;border-right:1px solid rgba(255,255,255,.15);padding:10px 14px}.permission-table thead th:first-child{text-align:left;padding-left:16px}.permission-table thead th:last-child{border-right:none}.permission-table .perm-module-cell{color:var(--color-text);border-bottom:1px solid var(--color-border-light);background:var(--color-bg);white-space:nowrap;width:140px;padding:10px 16px;font-weight:550}.permission-table .perm-check-cell{text-align:center;border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:8px 4px}.permission-table tbody tr{transition:background var(--transition-fast)}.permission-table tbody tr:hover,.permission-table tbody tr:hover .perm-module-cell{background:var(--color-primary-bg)}.permission-table tbody tr.row-disabled{opacity:.55;pointer-events:none}.permission-table tbody tr.row-disabled .perm-module-cell{color:var(--color-text-tertiary)}.perm-check-cell .custom-checkbox{justify-content:center;gap:0}.perm-check-cell .custom-checkbox .checkbox-box{margin:0 auto}.permission-table thead th .perm-col-icon{opacity:.8;margin-bottom:1px;font-size:13px;display:block}.perm-group-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:4px 0;display:flex}.perm-group-row.indented{padding-left:20px}.perm-group-label{color:var(--color-primary);font-weight:600}.perm-quick-btns{gap:var(--space-1);display:flex}.perm-quick-btns .btn{padding:1px 6px;font-size:11px}.perm-parent-label{color:var(--color-text);font-weight:700;font-size:var(--text-sm);padding:8px 0}.permission-legend{gap:var(--space-4);padding:var(--space-3) 0;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-wrap:wrap;display:flex}.permission-legend span{align-items:center;gap:4px;display:inline-flex}.permission-legend .legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.permission-legend .legend-dot.read{background:var(--color-info)}.permission-legend .legend-dot.create{background:var(--color-success)}.permission-legend .legend-dot.update{background:var(--color-warning)}.permission-legend .legend-dot.delete{background:var(--color-danger)}.permission-legend .legend-dot.manage{background:var(--color-primary)}.perm-quick-actions{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.role-summary-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.role-summary-item{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}.role-summary-item .summary-label{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:2px}.role-summary-item .summary-value{font-size:var(--text-base);color:var(--color-text);font-weight:600}