/* Canonical chat interaction/accessibility layer, shared by both presentations. */
#pcPanel[inert] { visibility:hidden; }
#pcPanel .pc-header::after { background:rgba(255,255,255,.08); }
.pc-contact-item, .bsf-ca-item { width:100%; border:0; background:none; color:inherit; font:inherit; text-align:start; }
#pcPanel :focus-visible, #caWrap :focus-visible, #caModalOv :focus-visible {
  outline:3px solid var(--bsf-brand-accent,#2f8dce); outline-offset:2px;
}
#pcSearch, #pcComposeInput, #caSearch, #caInput, #caNewEmail { font-size:16px; min-width:0; }
#pcComposeInput, #caInput { unicode-bidi:plaintext; }
.pc-contact-name, .bsf-ca-item-name { unicode-bidi:plaintext; }
#caWrap { height:var(--bsf-chat-available,calc(100dvh - var(--ca-topbar))); }
[dir="rtl"] .pc-thread-back svg, [dir="rtl"] .bsf-ca-back svg { transform:scaleX(-1); }
[dir="rtl"] .pc-contacts-panel, [dir="rtl"] .bsf-ca-sb { border-right:0; border-inline-end:1px solid var(--ca-border,var(--bsf-border-default,#ccc)); }
@media (max-width:720px) {
  #caWrap { height:var(--bsf-chat-available,calc(100dvh - var(--ca-topbar) - var(--ca-mobnav))); }
  #caWrap button, #caModalOv button { min-height:44px; }
  [dir="rtl"] .bsf-ca-sb.hidden { transform:translateX(100%); }
  [dir="rtl"] .bsf-ca-main:not(.active) { transform:translateX(-100%); }
  #caInpArea { padding-bottom:env(safe-area-inset-bottom,0px); }
}
@media (max-width:640px) {
  #pcPanel { top:var(--bsf-chat-vtop,0px); height:var(--bsf-chat-vh,100dvh); max-height:var(--bsf-chat-vh,100dvh); }
  #pcPanel button { min-width:44px; min-height:44px; }
}
@media (max-width:500px) {
  /* Keep the searchable list usable; no avatar-only horizontal strip. */
  #pcBody:not(.thread-open) .pc-contacts-panel { width:100%; height:100%; flex:1; flex-direction:column; }
  #pcBody:not(.thread-open) .pc-search-wrap, #pcBody:not(.thread-open) .pc-contacts-label { display:block; }
  #pcBody:not(.thread-open) .pc-contacts-list { display:block; overflow-y:auto; overflow-x:hidden; }
  #pcBody:not(.thread-open) .pc-contact-item { display:flex; flex-direction:row; text-align:start; }
  #pcBody:not(.thread-open) .pc-contact-info { display:block; }
  #pcBody:not(.thread-open) #pcMessagesPanel { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  #pcPanel, #pcPanel *, #caWrap *, #caModalOv * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
