pub fn visual_col_to_byte_offset(text: &str, visual_col: usize) -> usize
Convert a visual column position to a byte offset in the given text. Handles ANSI escape codes and wide characters correctly.