Верстка это всегда два этапа: разбить на блоки, затем написать стили
Вот разбиение на блоки (как я его вижу):
При написании стилей используйте flexbox'ы и grid'ы (в этом случае можно обойтись только флексами)
Если есть вопрос по какому-то конкретному моменту в стилях (например правый нижний угол сообщения) - пишите в коменты к ответу место по которому вопрос
P.S. и еще, пожалуйста, не используйте для текста div. Для этого больше подходят теги p, span и т.п. Лучше привыкать использовать правильные теги, это сильно поможет в семантической верстке потом