String? stringOrNull(String key) { final value = this[key]; if (value == null) return null; final result = value.toString().trim(); return result.isEmpty ? null : result; }