.chores-group-title { 
	text-align: center; 
	margin-bottom: 12px; 
	font-size: 1.2rem; 
	font-weight: 600; 
	}
	
.chores-avatars-row { 
	display: flex; 
	flex-wrap: wrap; 
	gap: 10px; 
	justify-content: center; 
	margin-bottom: 30px;
}

.chores-avatar { 
	flex: 0 0 60px; 
	text-align: center; 
	cursor: pointer; 
	transition: transform 0.2s; 
	}
	
.chores-avatar img, .chores-avatar .chores-avatar-fallback { 
	width: 60px; 
	height: 60px; 
	border-radius: 50%; 
	margin: 0 auto; 
	border: 2px solid transparent; 
	object-fit: cover; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	font-size: 1.8rem; 
	color: #fff; 
	background-color: #ccc; 
	transition: border-color 0.2s, transform 0.2s; 
	}
	
.chores-avatar img.hidden, .chores-avatar .chores-avatar-fallback.hidden { 
	display: none; 
	}
	
.chores-avatar .group-name { 
	display: block; 
	width: 100%; 
	white-space: nowrap; 
	overflow: hidden; 
	text-overflow: ellipsis; 
	margin-bottom: 2px; 
	}
	
.chores-avatar .group points { 
	display: block; 
	white-space: nowrap; 
	}
	
.chores-avatar.selected img, .chores-avatar.selected .chores-avatar-fallback { 
	border-color: #12B367; 
	}
	
.chores-avatar.selected { 
	transform: scale(1.1); 
	}

.chores-error { 
	margin: 8px 0; 
	padding: 6px; 
	background: #f8d7da; 
	color: #721c24; 
	border: 1px solid #f5c6cb; 
	border-radius: 4px; 
	font-size: 0.9rem; 
	}
	
.chores-avatar.highlight img, .chores-avatar.highlight .chores-avatar-fallback { 
	border-color: orange; 
	animation: pulse 1s ease-in-out infinite; 
	}
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.15); } 100% { transform: scale(1); } }
	
	