function ui::logs::fw_row() {
  local ts="${1:-}" client="${2:-}" dest_ip="${3:-}" dest_port="${4:-}" \
        proto="${5:-}" svc_name="${6:-}" count="${7:-1}" \
        w_client="${8:-20}" w_dest="${9:-30}" \
        src_endpoint="${10:-}" src_resolved="${11:-}"
        w_endpoint="${12:-0}" resolved_only="${13:-false}"

  local ts_pad client_pad
  ts_pad=$(printf "%-11s" "$ts")
  client_pad=$(printf "%-${w_client}s" "$client")

  # ── Source endpoint — always render at w_endpoint width ──
  local src_padded=""
  if [[ "$w_endpoint" -gt 0 ]]; then
    if [[ -n "$src_endpoint" ]]; then
      local src_colored="$src_endpoint"
      [[ -n "$src_resolved" ]] && \
        src_colored="${src_endpoint} \033[2m→ ${src_resolved}\033[0m"
      src_padded=$(ui::pad_mb "$src_colored" "$w_endpoint")
    else
      # No endpoint — use dim dash padded to w_endpoint
      src_padded=$(ui::pad_mb "\033[2m—\033[0m" "$w_endpoint")
    fi
  fi

  # ── Destination ──
  local svc_display=""
  local raw_suffix=""
  if [[ -n "$svc_name" ]]; then
    [[ -n "$dest_port" ]] && svc_display="${svc_name}/${proto}" \
                          || svc_display="${svc_name} (${proto})"
    [[ -n "$dest_port" ]] && raw_suffix=" \033[2m(${dest_ip}:${dest_port})\033[0m" \
                          || raw_suffix=" \033[2m(${dest_ip})\033[0m"
  else
    [[ -n "$dest_port" ]] && svc_display="${dest_ip}:${dest_port}/${proto}" \
                          || svc_display="${dest_ip} (${proto})"
  fi

  # Pad so count aligns — based on full dest (svc + raw_suffix plain length)
  local raw_plain=""
  [[ -n "$svc_name" && -n "$dest_port" ]] && raw_plain=" (${dest_ip}:${dest_port})"
  [[ -n "$svc_name" && -z "$dest_port" ]] && raw_plain=" (${dest_ip})"
  local full_dest_len=$(( ${#svc_display} + ${#raw_plain} ))
  local dest_pad_n=$(( w_dest - full_dest_len ))
  [[ $dest_pad_n -lt 0 ]] && dest_pad_n=0

  # ── Count ──
  local count_suffix=""
  [[ "$count" -gt 1 ]] && count_suffix=" \033[2m(x${count})\033[0m"

  # ── Render ──
  if [[ "$w_endpoint" -gt 0 ]]; then
    printf "  %s  %s  %b  \033[1;31m→\033[0m %s%b%*s%b\n" \
      "$ts_pad" "$client_pad" \
      "$src_padded" \
      "$svc_display" "$raw_suffix" \
      "$dest_pad_n" "" \
      "$count_suffix"
  else
    printf "  %s  %s  \033[1;31m→\033[0m %s%b%*s%b\n" \
      "$ts_pad" "$client_pad" \
      "$svc_display" "$raw_suffix" \
      "$dest_pad_n" "" \
      "$count_suffix"
  fi
}
