Returns a summary string for display.
Example: "3/10 selected" or "none selected"
String summary(int totalCount) { if (_selected.isEmpty) return 'none selected'; return '${_selected.length}/$totalCount selected'; }