I have looked at your project and I believe I see what the issue is. Each of your textures are made at a scale of 256x256. This is an acceptable scale for textures. However, it is also the smallest acceptable scale that is typically seen within a game. This will yield the smallest texture resolution possible. As a result, the further you move from the texture itself, the quicker you will lose resolution. Even when increasing resolution you can only fit so many pixels into a finite space.
Unfortunately this also means that increasing the scale from 256 to something higher on your original texture will not solve this issue either. This is because you are taking a texture that was made in a certain space with a certain pixel density and stretching across a much larger space. This will stretch and blur your image because now everything is called with more pixels.
This is the way that pixels work on screen and is a rule that must be considered when making your textures. Making larger textures and then shrinking them down is a proper workflow. The only fix for this is to remake these textures at a higher scale.
At a certain distance, no matter what texture size you have, the image will start to blur due to buffering and is expected. This does not happen until very extreme distances such as tens of thousands of meters. The textures themselves do not look unacceptable to me at 3 meters, but as you stated this is unacceptable to a client and you are looking for a crisper image. The only way for you to achieve better resolution at a greater distance, now that all other options have been considered, is to remake these textures at a resolution higher than 256. My suggestion if you want crispness across the room is using 1024x1024. This will decrease your fps as you will be drawing a higher resolution texture, however, changing the LOD of your material so that when you are further than 3 meters the LOD will change a lower resolution should help with this.
Let me know if you have any further questions.
