.zm-inbox { display:grid; grid-template-columns:300px 1fr; height:640px; max-height:75vh; border:1px solid #e8e8e8; border-radius:10px; overflow:hidden; background:#fff; }

.zm-inbox__list { border-right:1px solid #eee; overflow-y:auto; }
.zm-list-empty { padding:24px; color:#999; font-size:13.5px; text-align:center; }

.zm-conv-row { display:flex; gap:10px; padding:14px 16px; text-decoration:none; color:inherit; border-bottom:1px solid #f3f3f3; position:relative; }
.zm-conv-row:hover { background:#fafafa; }
.zm-conv-row.is-active { background:var(--z-green-light,#e8f4ec); }
.zm-conv-row__thumb { width:44px; height:44px; border-radius:8px; object-fit:cover; flex-shrink:0; background:#eee; }
.zm-conv-row__thumb--placeholder { background:#e5e5e5; }
.zm-conv-row__body { min-width:0; flex:1; }
.zm-conv-row__top { display:flex; justify-content:space-between; gap:8px; }
.zm-conv-row__name { font-weight:700; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zm-conv-row.is-unread .zm-conv-row__name { color:#111; }
.zm-conv-row__time { font-size:11px; color:#999; flex-shrink:0; }
.zm-conv-row__listing { font-size:12px; color:var(--z-green,#207943); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zm-conv-row__preview { font-size:12.5px; color:#888; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zm-conv-row.is-unread .zm-conv-row__preview { color:#333; font-weight:600; }
.zm-conv-row__badge { position:absolute; top:14px; right:14px; background:var(--z-green,#207943); color:#fff; font-size:11px; font-weight:700; min-width:18px; height:18px; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:0 5px; }

.zm-inbox__thread { display:flex; flex-direction:column; min-width:0; }
.zm-empty-thread { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#999; text-align:center; padding:40px; }
.zm-empty-thread p { max-width:280px; font-size:13.5px; margin:0; }

.zm-thread { display:flex; flex-direction:column; height:100%; min-height:0; }
.zm-thread__head { padding:14px 20px; border-bottom:1px solid #eee; display:flex; justify-content:space-between; align-items:center; }
.zm-thread__head strong { display:block; font-size:14px; }
.zm-thread__listing { font-size:12.5px; color:var(--z-green,#207943); text-decoration:none; }
.zm-thread__listing:hover { text-decoration:underline; }

.zm-thread__messages { flex:1; overflow-y:auto; padding:18px 20px; display:flex; flex-direction:column; gap:12px; min-height:0; }
.zm-msg { max-width:70%; display:flex; flex-direction:column; }
.zm-msg--mine { align-self:flex-end; align-items:flex-end; }
.zm-msg--theirs { align-self:flex-start; align-items:flex-start; }
.zm-msg__bubble { padding:9px 13px; border-radius:14px; font-size:13.5px; line-height:1.5; white-space:pre-wrap; word-break:break-word; }
.zm-msg--mine .zm-msg__bubble { background:var(--z-green,#207943); color:#fff; border-bottom-right-radius:3px; }
.zm-msg--theirs .zm-msg__bubble { background:#f0f0f0; color:#222; border-bottom-left-radius:3px; }
.zm-msg__image { max-width:220px; border-radius:10px; margin-bottom:4px; display:block; }
.zm-msg__time { font-size:10.5px; color:#aaa; margin-top:3px; padding:0 4px; }

.zm-composer { display:flex; align-items:flex-end; gap:8px; padding:12px 16px; border-top:1px solid #eee; }
.zm-composer__attach { background:none; border:none; color:#888; cursor:pointer; padding:8px; flex-shrink:0; }
.zm-composer__attach:hover { color:var(--z-green,#207943); }
.zm-composer textarea { flex:1; border:1px solid #ddd; border-radius:18px; padding:9px 16px; font:inherit; font-size:13.5px; resize:none; max-height:100px; }
.zm-composer__send { background:var(--z-green,#207943); color:#fff; border:none; border-radius:18px; padding:9px 20px; font-size:13px; font-weight:700; cursor:pointer; flex-shrink:0; }
.zm-composer__preview { padding:0 16px 12px; }
.zm-composer__preview img { max-height:60px; border-radius:6px; vertical-align:middle; }
.zm-composer__preview button { border:none; background:#eee; border-radius:50%; width:20px; height:20px; margin-left:6px; cursor:pointer; }

.zm-unread-badge { display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; padding:0 4px; border-radius:8px; background:#c0392b; color:#fff; font-size:10px; font-weight:700; position:absolute; top:-4px; right:-4px; }

@media (max-width: 720px) {
	.zm-inbox { grid-template-columns:1fr; height:70vh; }
	.zm-inbox[data-active-id="0"] .zm-inbox__thread { display:none; }
	.zm-inbox:not([data-active-id="0"]) .zm-inbox__list { display:none; }
}

.zm-msg__sender { font-size:11px; font-weight:700; color:#999; margin-bottom:2px; padding:0 4px; }
.zm-msg--mine .zm-msg__sender { color:var(--z-green,#207943); }
