.mz-messages { --msg-ink:#5f2733; --msg-rose:#f5e7ea; --msg-border:#e8dce0; color:#30262a; }
.mz-messages button, .mz-messages textarea, .mz-messages input { font:inherit; }
.mz-messages button { cursor:pointer; min-height:44px; }
.mz-messages button:disabled { opacity:.5; cursor:wait; }
.mz-messages :focus-visible { outline:3px solid #a34f66; outline-offset:3px; }
.mz-inbox { display:grid; grid-template-columns:minmax(220px, .8fr) minmax(0,1.6fr); border:1px solid var(--msg-border); border-radius:22px; overflow:hidden; background:white; }
.mz-sidebar { padding:18px; border-right:1px solid var(--msg-border); min-width:0; }
.mz-search { width:100%; padding:12px; border:1px solid var(--msg-border); border-radius:12px; margin-bottom:12px; background:#fff; }
.mz-thread-list { max-height:520px; overflow:auto; }
.mz-thread { display:block; width:100%; text-align:left; padding:14px 12px; border-radius:12px; background:transparent; border:0; margin-bottom:5px; }
.mz-thread:hover, .mz-thread[aria-pressed=true] { background:var(--msg-rose); }
.mz-thread strong { display:block; }
.mz-preview { display:block; font-size:.88rem; color:#71626a; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.mz-unread { display:inline-block; border-radius:20px; background:var(--msg-ink,#5f2733); color:white; padding:2px 8px; font-size:12px; margin-left:8px; }
.mz-conversation { min-width:0; background:#fff; border:1px solid var(--msg-border); border-radius:20px; overflow:hidden; }
.mz-inbox .mz-conversation { border:0; border-radius:0; }
.mz-chat-head { padding:20px 22px; border-bottom:1px solid var(--msg-border); background:#fcf8f9; }
.mz-chat-head h3 { margin:0; font-size:1.3rem; }
.mz-chat-head p, .mz-hint { font-size:.86rem; color:#71626a; margin:5px 0 0; }
.mz-log { height:360px; overflow:auto; padding:20px; display:flex; flex-direction:column; gap:14px; overscroll-behavior:contain; }
.mz-bubble { align-self:flex-start; max-width:88%; border-radius:16px 16px 16px 4px; background:#f2eef0; padding:12px 15px; overflow-wrap:anywhere; }
.mz-bubble.mine { align-self:flex-end; background:var(--msg-rose); border-radius:16px 16px 4px 16px; }
.mz-bubble p { white-space:pre-wrap; margin:3px 0 6px; }
.mz-bubble small { color:#71626a; font-size:.72rem; }
.mz-bubble b { color:var(--msg-ink); font-size:.8rem; }
.mz-compose { padding:16px 20px; border-top:1px solid var(--msg-border); }
.mz-compose textarea { display:block; width:100%; resize:vertical; min-height:80px; max-height:180px; padding:12px; border:1px solid var(--msg-border); border-radius:12px; background:white; font-size:16px; }
.mz-compose-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; }
.mz-send { background:var(--msg-ink); color:white; padding:10px 22px; border:0; border-radius:24px; }
.mz-error { color:#a32939; font-size:.88rem; padding:0 20px; }
.mz-empty { padding:26px 12px; text-align:center; color:#71626a; }
.mz-older { color:var(--msg-ink); background:transparent; border:0; padding:8px 20px; text-decoration:underline; }
.mz-messages details > summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 22px; background:#f5e7ea; border-radius:20px; font-weight:600; }
.mz-messages details[open] > summary { margin-bottom:14px; }
.mz-back { display:none; border:0; background:transparent; color:var(--msg-ink); }
@media(max-width:640px) {
  .mz-inbox { grid-template-columns:1fr; }
  .mz-sidebar { border-right:0; }
  .mz-inbox:not(.chat-open) .mz-conversation { display:none; }
  .mz-inbox.chat-open .mz-sidebar { display:none; }
  .mz-inbox.chat-open .mz-back { display:block; }
  .mz-log { height:min(44dvh,400px); padding:14px; }
  .mz-chat-head, .mz-compose { padding:16px; }
  .mz-bubble { max-width:94%; }
}

.mz-messages [hidden], [data-owner-unread][hidden] { display:none !important; }
