Applications running in the terminal, such as the shell, send escape sequences to the terminal to change the appearance of subsequent output. The escape sequence to change the character attributes is CSI Pm m
where CSI
stands for the two-character sequence ESC [
(which can be written in bash as $'\e['
) and Pm is a sequence that determines what to change.
Presumably your configuration uses the 8 standard colors, i.e. $COLOR_USER
is something like $'\e[31m'
to get red text. The appearance of standard colors can be chosen freely by the terminal. If you use a theme in Konsole, it may tweak the colors however it pleases. Good themes would just pick a decent shade but some Konsole themes completely change them.
You can use an escape sequence that specifies a color by its red-green-blue components: CSI 3 8 ; 2 ; Pr ; Pg ; Pb m
(where Pr, Pg and Pb are the red-green-blue components respectively, on a scale of 0 to 255). Konsole will respect that. For example, to get the user name in red:
COLOR_USER=$'\e[38;2;128;0;0m'
Alternatively, use a color theme that respects the colors that the application specified, instead of completely messing them up.