Separate triage from reply
A good inbox keeps unread state, preview text, and timestamps in the sidebar while the active message gets the main space.

Messaging interfaces need a different rhythm than normal tables. The list is for triage, the conversation pane is for context, and the reply box should always stay within reach.
A good inbox keeps unread state, preview text, and timestamps in the sidebar while the active message gets the main space.
Inbox screens often start empty. Helpful states make the interface feel intentional before the first real message arrives.