pub fn parse_duration(s: &str) -> Result<Duration, String>
Parse a duration string (e.g., “5s”, “500ms”, “2m”)