/* Chat Habib v75 — hard guarantee that every user chat has a visible typing area. */
body.user-admin-compose-active .shell,
body.user-group-compose-active .shell,
body.user-peer-compose-active .shell{
  height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;
}

/* User -> Admin */
body.user-admin-compose-active #content.chat{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
  padding-bottom:166px!important;
}
body.user-admin-compose-active .composer-wrap{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  position:fixed!important;left:50%!important;right:auto!important;bottom:70px!important;
  transform:translateX(-50%)!important;width:min(860px,100%)!important;z-index:1000!important;
  padding:6px 10px 8px!important;background:linear-gradient(180deg,rgba(244,247,246,0),#f4f7f6 30%)!important;
}
body.user-admin-compose-active .composer{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;
  width:100%!important;align-items:flex-end!important;gap:8px!important;background:#fff!important;
  border:1px solid #dfe7e4!important;border-radius:20px!important;padding:8px!important;
  box-shadow:0 4px 18px rgba(15,45,36,.12)!important;
}
body.user-admin-compose-active #msg{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  min-width:0!important;flex:1 1 auto!important;min-height:46px!important;max-height:120px!important;
  font-size:18px!important;line-height:1.4!important;background:#fff!important;color:#17201d!important;
}
body.user-admin-compose-active #attach,
body.user-admin-compose-active #send{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  flex:0 0 48px!important;width:48px!important;height:48px!important;align-items:center!important;justify-content:center!important;
}
body.user-admin-compose-active #send{background:#147a73!important;color:#fff!important}
body.user-admin-compose-active #send:disabled{opacity:.55!important}
body.user-admin-compose-active .user-admin-send-status{
  min-height:18px!important;padding:0 12px 4px!important;text-align:right!important;font-size:12px!important;font-weight:700!important;color:#54706a!important;
}

/* User -> Group */
body.user-group-compose-active #content.group-user-page{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 0 70px!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
body.user-group-compose-active .group-user-chat{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
body.user-group-compose-active .group-user-head{flex:0 0 auto!important}
body.user-group-compose-active .group-messages{
  flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
body.user-group-compose-active .group-compose-wrap{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  flex:0 0 auto!important;position:relative!important;inset:auto!important;z-index:120!important;width:100%!important;
  background:#fff!important;border-top:1px solid #dce6e3!important;padding:8px 10px max(9px,env(safe-area-inset-bottom))!important;
  box-shadow:0 -4px 16px rgba(15,45,36,.08)!important;
}
body.user-group-compose-active .group-compose{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:flex-end!important;gap:8px!important;width:100%!important;
}
body.user-group-compose-active #userGroupMsg{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  min-width:0!important;flex:1 1 auto!important;min-height:46px!important;max-height:120px!important;font-size:18px!important;line-height:1.4!important;
}
body.user-group-compose-active #userGroupAttach,
body.user-group-compose-active #userGroupSend{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  flex:0 0 48px!important;width:48px!important;height:48px!important;align-items:center!important;justify-content:center!important;
}
body.user-group-compose-active #userGroupSend{background:#147a73!important;color:#fff!important}

/* User -> User */
body.user-peer-compose-active #content.peer-user-page{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 0 70px!important;padding:0!important;overflow:hidden!important;display:flex!important;
}
body.user-peer-compose-active .peer-pane,
body.user-peer-compose-active .peer-chat{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
body.user-peer-compose-active .peer-chat-head{flex:0 0 auto!important}
body.user-peer-compose-active .peer-messages{
  flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
body.user-peer-compose-active .peer-compose-wrap{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  flex:0 0 auto!important;position:relative!important;inset:auto!important;z-index:120!important;width:100%!important;
  background:#fff!important;border-top:1px solid #dce6e3!important;padding:8px 10px max(9px,env(safe-area-inset-bottom))!important;
  box-shadow:0 -4px 16px rgba(15,45,36,.08)!important;
}
body.user-peer-compose-active .peer-compose{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:flex-end!important;gap:8px!important;width:100%!important;
}
body.user-peer-compose-active #peerMsg{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  min-width:0!important;flex:1 1 auto!important;min-height:46px!important;max-height:120px!important;font-size:18px!important;line-height:1.4!important;
}
body.user-peer-compose-active #peerAttach,
body.user-peer-compose-active #peerSend{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  flex:0 0 48px!important;width:48px!important;height:48px!important;align-items:center!important;justify-content:center!important;
}
body.user-peer-compose-active #peerSend{background:#147a73!important;color:#fff!important}

@media(max-width:520px){
  body.user-admin-compose-active .composer-wrap{padding-left:8px!important;padding-right:8px!important}
  body.user-group-compose-active .group-compose-wrap,
  body.user-peer-compose-active .peer-compose-wrap{padding-left:8px!important;padding-right:8px!important}
}
