#conversationList .avatar, .contact-photo-control .avatar, .contact-photo-preview .avatar,
.conversation-contact-preview > .avatar { overflow: hidden; flex-shrink: 0; }
#conversationList .avatar img, .contact-photo-control .avatar img, .contact-photo-preview .avatar img,
.conversation-contact-preview > .avatar img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.contact-photo-control { display: inline-flex; gap: 8px; align-items: center; margin-top: 8px; padding: 4px; }
.contact-photo-control .avatar { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #254741; color: #fff; }
dialog.contact-photo-dialog { width: min(440px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 20px; overflow-y: auto; box-sizing: border-box; border: 1px solid #3c6158; border-radius: 14px; background: #172822; color: #edf5f2; }
.contact-photo-dialog::backdrop { background: #0009; }
.contact-photo-dialog form { display: grid; gap: 14px; }
.contact-photo-dialog h2, .contact-photo-dialog p { margin: 0; }
.contact-photo-dialog p, .contact-photo-dialog small { overflow-wrap: anywhere; }
.contact-photo-dialog label { display: grid; gap: 8px; }
.contact-photo-dialog input { max-width: 100%; min-width: 0; }
.contact-photo-preview { display: flex; justify-content: center; }
.contact-photo-preview .avatar { width: 120px; height: 120px; border-radius: 50%; background: #254741; display: flex; justify-content: center; align-items: center; font-size: 36px; }
.contact-photo-dialog small { color: #c2d6cf; }
.contact-photo-dialog .contact-photo-error { color: #ffb9b3; }
.contact-photo-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.contact-photo-actions button { min-height: 44px; }
