.sidebar-backdrop { display:none; }
.chat-panel,.conversation-active { grid-template-rows:65px minmax(0,1fr) auto; }
.message-list { background:#f3f3f3; gap:14px; min-height:0; }
.chat-time,.chat-recalled { display:block; align-self:center; color:#929292; font-size:11px; line-height:1.5; text-align:center; }
.chat-time { margin:6px 0; }
.chat-row { display:flex; align-items:flex-start; gap:9px; max-width:88%; align-self:flex-start; }
.chat-row.mine { flex-direction:row-reverse; align-self:flex-end; }
.bubble-avatar { display:grid; place-items:center; width:33px; height:33px; flex:0 0 33px; border-radius:6px; background:#dde5e2; color:#38574c; font-size:13px; }
.bubble-wrap { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.mine .bubble-wrap { align-items:flex-end; }
.chat-bubble { border-radius:5px; padding:9px 12px; background:#fff; color:#202124; font-size:14px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.mine .chat-bubble { background:#b8e8aa; }
.chat-bubble.picture-bubble { padding:0; overflow:hidden; background:transparent; }
.chat-picture { display:block; border:0; padding:0; background:transparent; }
.chat-picture img { display:block; max-width:min(230px,48vw); max-height:260px; border-radius:5px; }
.recall-action { border:0; padding:3px 0; color:#909792; background:none; font-size:10px; }
#message-form,#admin-message-form { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
#message-form [type=submit],#admin-message-form [type=submit] { min-height:40px; }
#message-form .attach-image,#admin-message-form .attach-image { padding:0; width:36px; height:40px; color:#65736b; background:none; font-size:27px; }
.chat-image-dialog { max-width:90vw; padding:16px; border:0; border-radius:12px; }
.chat-image-dialog::backdrop { background:#0009; }
.chat-image-dialog>img { display:block; max-width:80vw; max-height:70dvh; object-fit:contain; }
.chat-image-dialog>div { display:flex; justify-content:flex-end; gap:12px; margin-top:12px; }
.chat-image-dialog button { border:0; border-radius:6px; padding:8px 18px; }
.chat-image-dialog p { color:#b3261e; font-size:12px; }
.field-error { display:block; margin:6px 2px 0; color:#d93025; font-size:11px; }
.field-error:empty { display:none; }
.auth-field input[aria-invalid=true] { border-color:#d93025; }
.conversation-swipe { position:relative; overflow:hidden; touch-action:pan-y; }
.conversation-swipe>.conversation-item { position:relative; z-index:1; transition:transform .18s; }
.conversation-swipe.swiped>.conversation-item { transform:translateX(-72px); }
.conversation-delete { position:absolute; right:0; top:0; bottom:0; width:72px; border:0; background:#df4d49; color:white; }
.conversation-more { position:absolute; z-index:2; right:2px; top:4px; border:0; padding:3px 7px; color:#7c8781; background:transparent; }
.conversation-item { padding-right:26px; }
.conversation-swipe.swiped .conversation-more { display:none; }
@media(max-width:760px) {
 body.menu-open .sidebar-backdrop { display:block; position:fixed; inset:0; z-index:29; border:0; padding:0; background:#0004; }
 body.menu-open { overflow:hidden; }
 .chat-row { max-width:94%; }
 .message-list { padding:14px 10px; }
}
