/* EV v311 — chat list scrolling, explicit opening feedback, and cross-device swipe support. */

/* The document owns chat-list scrolling. The list itself must never become a trapped gesture surface. */
body.ev-chat-list-page-body{
  min-height:100dvh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
body.ev-chat-list-page-body #ev-app-main,
body.ev-chat-list-page-body #ev-app-main>.ev-user-main-inner,
body.ev-chat-list-page-body #ev-app-main>.max-w-5xl,
body.ev-chat-list-page-body .ev-chat-list-page{
  position:relative!important;
  inset:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
body.ev-admin-chat-list-page{
  min-height:100dvh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
body.ev-admin-chat-list-page .ev-admin-shell,
body.ev-admin-chat-list-page .ev-main,
body.ev-admin-chat-list-page .ev-content,
body.ev-admin-chat-list-page .hsc-chat-page{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
body.ev-chat-list-page-body [data-chat-row],
body.ev-admin-chat-list-page [data-chat-row]{
  touch-action:pan-y!important;
}

/* A clear, stable response when a conversation is selected. */
[data-chat-row].is-opening-chat{
  position:relative!important;
  isolation:isolate!important;
  border-color:#0ea5e9!important;
  background:linear-gradient(90deg,rgba(14,165,233,.20),rgba(14,165,233,.07),var(--ev-card,#fff))!important;
  box-shadow:0 0 0 3px rgba(14,165,233,.18),0 16px 38px rgba(14,165,233,.18)!important;
  animation:ev311ChatOpeningPulse .72s ease-in-out infinite alternate!important;
}
[data-chat-row].is-opening-chat::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.42) 48%,transparent 76%);
  transform:translateX(-115%);
  animation:ev311ChatOpeningSheen 1s linear infinite;
}
.ev-opening-chat-status{
  position:absolute!important;
  right:38px!important;
  bottom:8px!important;
  z-index:6!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#0ea5e9!important;
  color:#fff!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  box-shadow:0 7px 18px rgba(14,165,233,.26)!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}
html.dark .ev-opening-chat-status{background:#38bdf8!important;color:#082f49!important}
@keyframes ev311ChatOpeningPulse{from{transform:scale(1)}to{transform:scale(.992)}}
@keyframes ev311ChatOpeningSheen{to{transform:translateX(115%)}}

/* Keep the conversation vertical while a message itself follows a left-swipe. */
body.ev-private-clean-page .evdm-msgs,
body.ev-admin-direct-clean-page .evdm-msgs,
body.ev-escrow-private-layout #chatBox,
body.ev-escrow-admin-chat-page #chatBox{
  overflow-x:hidden!important;
  overscroll-behavior-x:none!important;
  touch-action:pan-y!important;
}
body.ev-private-clean-page .evdm-row[data-id],
body.ev-admin-direct-clean-page .evdm-row[data-id],
body.ev-escrow-private-layout [data-escrow-mid],
body.ev-escrow-admin-chat-page [data-escrow-mid]{
  max-width:100%!important;
  touch-action:pan-y!important;
  -webkit-user-select:none;
  user-select:none;
}
body.ev-private-clean-page .evdm-row[data-id] .evdm-text,
body.ev-admin-direct-clean-page .evdm-row[data-id] .evdm-text,
body.ev-escrow-private-layout [data-escrow-mid] .evdm-text,
body.ev-escrow-admin-chat-page [data-escrow-mid] .evdm-text{
  -webkit-user-select:text;
  user-select:text;
}


/* EV v312 — iPhone Safari/PWA private chat visibility and viewport hardening. */
html{min-height:100%;}
body.ev-private-clean-page,body.ev-admin-direct-clean-page{
  min-height:100vh!important;
  min-height:-webkit-fill-available!important;
  overflow:hidden!important;
}
body.ev-private-clean-page #ev-app-main,
body.ev-admin-direct-clean-page #ev-app-main,
body.ev-admin-direct-clean-page .ev-admin-shell,
body.ev-admin-direct-clean-page .ev-main,
body.ev-admin-direct-clean-page .ev-content,
body.ev-private-clean-page .evdm-shell,
body.ev-admin-direct-clean-page .evdm-shell{
  visibility:visible!important;
  opacity:1!important;
  height:100vh!important;
  height:100svh!important;
  height:100dvh!important;
  min-height:-webkit-fill-available!important;
  min-width:0!important;
  overflow:hidden!important;
}
body.ev-private-clean-page .evdm-msgs,body.ev-admin-direct-clean-page .evdm-msgs{
  visibility:visible!important;opacity:1!important;min-height:80px!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
}
@supports (-webkit-touch-callout:none){
  body.ev-private-clean-page,body.ev-admin-direct-clean-page{height:-webkit-fill-available!important;}
  body.ev-private-clean-page #ev-app-main,body.ev-admin-direct-clean-page #ev-app-main,
  body.ev-private-clean-page .evdm-shell,body.ev-admin-direct-clean-page .evdm-shell{height:-webkit-fill-available!important;}
}
