/* admin.css - 权限管理页面样式 (2026-08-30) */

.user-row {
  background: #fff; border-radius: 6px; padding: 10px 12px; margin-bottom: 8px;
  display: flex; align-items: center; gap: 8px;
}
.user-row .info { flex: 1; min-width: 0; }
.user-row .name { font-weight: 500; font-size: 14px; }
.user-row .sub { font-size: 11px; color: #888; margin-top: 2px; }
.user-row .sub .role-pill {
  display: inline-block; background: var(--color-bg); color: var(--color-text-secondary);
  border-radius: 3px; padding: 1px 5px; font-size: 10px; margin-right: 4px;
}
.user-row .sub .role-pill.primary { background: #e6f7e6; color: #1aad19; }
.user-row .sub .role-pill.builtin { background: #e6f4ff; color: #0066cc; }
.user-row .actions { display: flex; gap: 6px; }
.user-row .act-btn {
  background: var(--color-bg); color: var(--color-text);
  border: 0; border-radius: 4px; padding: 4px 8px; font-size: 12px; cursor: pointer;
}
.user-row .act-btn.danger { color: var(--color-warn); }
.user-row .act-btn:active { background: #d8d8d8; }

.role-row {
  background: #fff; border-radius: 6px; padding: 12px; margin-bottom: 8px;
}
.role-row .head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 6px;
}
.role-row .name { font-weight: 500; font-size: 15px; }
.role-row .name .builtin-tag {
  display: inline-block; font-size: 10px; background: #e6f4ff; color: #0066cc;
  border-radius: 3px; padding: 0 4px; margin-left: 4px;
}
.role-row .scope {
  font-size: 11px; color: #888; padding: 1px 5px; background: var(--color-bg);
  border-radius: 3px;
}
.role-row .desc { font-size: 12px; color: #666; margin: 4px 0; }
.role-row .perms { font-size: 11px; color: #888; }
.role-row .actions { margin-top: 8px; display: flex; gap: 6px; justify-content: flex-end; }
.role-row .actions button {
  background: var(--color-bg); border: 0; padding: 4px 10px; border-radius: 4px;
  font-size: 12px; cursor: pointer;
}
.role-row .actions button.danger { color: var(--color-warn); }
.role-row .actions button.primary { background: var(--color-primary); color: #fff; }

.audit-row {
  background: #fff; border-radius: 6px; padding: 10px 12px; margin-bottom: 6px;
  font-size: 13px;
}
.audit-row .action { color: var(--color-primary); font-weight: 500; }
.audit-row .meta { font-size: 11px; color: #888; margin-top: 2px; }

.form-input {
  width: 100%; padding: 8px 10px; border: 1px solid var(--color-border);
  border-radius: 4px; font-size: 14px; background: #fff;
}

.perm-group {
  margin-bottom: 12px;
  border: 1px solid var(--color-border); border-radius: 6px;
  overflow: hidden;
}
.perm-group .head {
  background: var(--color-bg); padding: 8px 12px; font-size: 13px; font-weight: 500;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center;
}
.perm-group .items { padding: 8px 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.perm-group .item {
  font-size: 12px; padding: 4px 8px; background: #fff; border: 1px solid var(--color-border);
  border-radius: 4px; cursor: pointer; user-select: none;
}
.perm-group .item.checked { background: #e6f7e6; border-color: #1aad19; color: #1aad19; }
.perm-group .item.wildcard { background: #fffbe6; border-color: #fde26a; }

.search-input {
  flex: 1; padding: 6px 10px; border: 1px solid var(--color-border);
  border-radius: 4px; font-size: 13px; background: #fff;
}

.summary .stat .n.warn { color: var(--color-warn); }
