/* Conversation refinements; colors and controls inherit the student portal. */
.member-messenger .mm-layout { height: min(690px, max(560px, calc(100dvh - 220px))); min-height: 0; }
.member-messenger .mm-sidebar { display: flex; flex-direction: column; min-height: 0; }
.member-messenger .mm-sidebar ol { flex: 1; overflow-y: auto; }
.member-messenger .mm-inbox-search { display: block; padding: 0 14px 14px; }
.member-messenger .mm-inbox-search input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--control-border); border-radius: 12px; background: #fff; color: var(--ink); font: inherit; }
.member-messenger .mm-thread { grid-template-rows: auto auto minmax(0, 1fr) auto; min-height: 0; }
.member-messenger .mm-thread-head { min-width: 0; }
.member-messenger .mm-thread-head { background: #fff; }
.member-messenger .mm-thread-head > div { min-width: 0; flex: 1; }
.member-messenger .mm-thread-head h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-messenger .mm-thread-head p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-messenger .mm-thread-head .sp-button { flex: none; }
.member-messenger .mm-message-list { min-height: 0; max-height: none; overscroll-behavior: contain; background: var(--surface-muted); }
.member-messenger .mm-message-list li > div { width: fit-content; max-width: min(76%, 62ch); }
.member-messenger .mm-message-list p { font-size: 14px; line-height: 1.5; }
.member-messenger .mm-message-list time { font-size: 11px; }
.member-messenger .mm-message-list li.mine > div { background: var(--accent-soft); color: var(--ink); border: 1px solid color-mix(in srgb, var(--accent) 24%, white); box-shadow: none; }
.member-messenger .mm-message-list li.mine time { color: var(--muted); }
.member-messenger .mm-hide-message { display: block; margin-top: 8px; padding: 3px 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 11px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.member-messenger .mm-compose { position: relative; z-index: 1; background: #fff; }
.member-messenger .mm-compose-safety { display: none; }
.member-messenger .mm-compose textarea { min-height: 76px; max-height: 210px; }
.member-messenger .mm-back { display: none; }
.member-messenger .mm-preview-note { margin: 0; padding: 12px 18px; border-bottom: 1px solid var(--line); background: var(--surface-muted); color: var(--muted); font-size: 13px; }
.member-messenger .mm-compose-preview { margin: -4px 0 0; color: var(--muted); font-size: 12px; }
.member-messenger .mm-hide-message:disabled { opacity: .55; cursor: not-allowed; text-decoration: none; }
.member-messenger .mm-detail-pending { grid-row: 1 / -1; display: flex; flex-direction: column; min-height: 0; }
.member-messenger .mm-detail-pending .mm-empty { flex: 1; }
.member-messenger .mm-removal { padding: 14px 18px; border-bottom: 1px solid var(--line); background: var(--surface-muted); }
.member-messenger .mm-removal p { margin: 0 0 10px; }
.member-messenger .mm-removal > div { display: flex; gap: 8px; }
.member-messenger :is(.mm-inbox-search input, .mm-back, .mm-hide-message, .mm-thread-link, .mm-compose textarea):focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
@media (max-width: 660px) {
  .member-messenger .mm-layout { height: auto; min-height: 0; }
  .member-messenger .mm-workspace:not(.mm-show-detail) .mm-thread { display: none; }
  .member-messenger .mm-workspace.mm-show-detail .mm-toolbar,
  .member-messenger .mm-workspace.mm-show-detail .mm-sidebar { display: none; }
  .member-messenger .mm-workspace.mm-show-detail { position: fixed; z-index: 45; inset: calc(var(--rwt-preview-height, 0px) + 8px) 12px calc(100px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; }
  .member-messenger .mm-workspace.mm-show-detail .mm-layout { flex: 1; min-height: 0; }
  body:has(.member-messenger .mm-show-detail) .rwt-help-trigger { display: none; }
  .member-messenger .mm-sidebar { max-height: none; overflow: hidden; }
  .member-messenger:has(.mm-show-detail) .mm-announcements { display: none; }
  .member-messenger .mm-thread { display: flex; flex-direction: column; height: 100%; min-height: 0; border-top: 0; }
  .member-messenger .mm-thread-head { flex-wrap: wrap; gap: 8px 12px; padding: 12px 16px; }
  .member-messenger .mm-back { display: block; width: 100%; padding: 3px 0; border: 0; background: transparent; color: var(--accent); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
  .member-messenger .mm-message-list { flex: 1; min-height: 0; padding: 16px; }
  .member-messenger .mm-message-list li > div { max-width: 88%; }
  .member-messenger .mm-compose { flex: none; gap: 8px; padding: 10px 16px 14px; }
  .member-messenger .mm-compose textarea { min-height: 68px; max-height: 120px; }
  .member-messenger .mm-compose-safety { display: block; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.35; }
  .member-messenger .mm-compose-actions { flex-direction: row; align-items: center; }
  .member-messenger .mm-compose-actions .sp-button { flex: none; }
  .member-messenger .mm-thread:has(.mm-compose fieldset) .mm-compose { flex: 1; min-height: 0; align-content: start; overflow-y: auto; }
}
