diff --git a/dashboard/src/ui/widgets/services.rs b/dashboard/src/ui/widgets/services.rs index be9eb06..13f3d5f 100644 --- a/dashboard/src/ui/widgets/services.rs +++ b/dashboard/src/ui/widgets/services.rs @@ -519,11 +519,19 @@ impl ServicesWidget { StatusIcons::create_status_spans(*line_status, line_text) }; - // Apply selection highlighting to parent services only, preserving status colors - if is_selected && !*is_sub { - for span in spans.iter_mut() { - // Keep the original foreground color (status color) but add background highlight - span.style = span.style.bg(Theme::highlight()); + // Apply selection highlighting to parent services only, preserving status icon color + // Only show selection when Services panel is focused + if is_selected && !*is_sub && is_focused { + for (i, span) in spans.iter_mut().enumerate() { + if i == 0 { + // First span is the status icon - preserve its color + span.style = span.style.bg(Theme::highlight()); + } else { + // Other spans (text) get full selection highlighting + span.style = span.style + .bg(Theme::highlight()) + .fg(Theme::background()); + } } }