I've been working on a hard surface model and using smooth shading quite extensively. I also have auto smoothing enabled. The issue is that flat surfaces with complex geometry stop looking flat when I enable smooth shading. Here is an example:

Flat shading:
[![flat shading](https://i.stack.imgur.com/KALJP.png)](https://i.stack.imgur.com/KALJP.png)

Smooth shading:
[![smooth shading](https://i.stack.imgur.com/cJXDa.png)](https://i.stack.imgur.com/cJXDa.png)
It's not very noticeable, but you can see that some reflections appear on the smooth shaded model that make the surface look curved (e.g. lower left corner). This is how the geometry of the surface looks like:
[![geometry](https://i.stack.imgur.com/zZtQ0.png)](https://i.stack.imgur.com/zZtQ0.png)
I've tried changing it multiple times, but no matter what I do the surface doesn't look completely flat. What should I do?