.messaging-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:22px; }
.messaging-heading .btn { flex:none; }
.messaging-heading .dash-sub { max-width:700px; margin-bottom:0; }
.messaging-workspace { display:grid; grid-template-columns:310px minmax(0,1fr); min-height:640px; height:min(760px,calc(100dvh - 215px)); border:1px solid #e5e7eb; border-radius:16px; background:white; overflow:hidden; box-shadow:0 3px 18px #1f293704; }
.conversation-sidebar { display:flex; flex-direction:column; min-height:0; border-right:1px solid #e5e7eb; background:#fafbfc; }
.conversation-search { margin:18px 16px 12px; display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid #e2e5ea; border-radius:9px; background:#fff; }
.conversation-search svg { width:18px; height:18px; color:#8993a5; flex:none; }
.conversation-search input { min-width:0; width:100%; border:0; outline:0; background:transparent; color:#172033; font:inherit; font-size:13px; }
.conversation-search:focus-within { outline:2px solid var(--primary); }
.conversation-filters { display:grid; grid-template-columns:1fr 1fr; padding:0 12px 14px; gap:5px; }
.conversation-filters button { display:flex; justify-content:space-between; gap:6px; border:0; border-radius:7px; padding:8px; background:none; color:#526074; font-size:12px; text-align:left; }
.conversation-filters button[aria-pressed=true] { background:#fff0e8; color:#b7400c; font-weight:700; }
.conversation-filters [data-count] { min-width:18px; text-align:right; font-variant-numeric:tabular-nums; }
.conversation-list { min-height:0; overflow:auto; flex:1; }
.conversation-row { display:block; width:100%; border:0; border-bottom:1px solid #edf0f3; background:transparent; text-align:left; padding:17px 18px; border-left:3px solid transparent; color:#172033; }
.conversation-row:hover { background:#f3f5f7; }
.conversation-row.selected { background:#fff4ee; border-left-color:var(--primary); }
.conversation-row-head { display:flex; align-items:center; gap:7px; margin-bottom:5px; }
.conversation-row-head strong { flex:1; font-weight:500; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.conversation-row.unread strong,.conversation-row.unread .conversation-row-subject { font-weight:700; }
.conversation-unread-dot { width:8px; height:8px; border-radius:50%; background:var(--primary); flex:none; }
.conversation-row-subject,.conversation-preview { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.conversation-preview { color:#738093; margin:4px 0 8px; }
.conversation-row-meta { display:flex; justify-content:space-between; gap:5px; font-size:10px; color:#738093; }
.conversation-pagination,.recipient-pages { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px; font-size:12px; }
.conversation-pagination:empty,.recipient-pages:empty { display:none; }
.conversation-pagination button,.recipient-pages button { border:1px solid #ddd; background:white; border-radius:5px; padding:5px 8px; }
.conversation-detail { min-width:0; min-height:0; display:flex; flex-direction:column; background:#fff; }
.conversation-placeholder { display:grid; align-content:center; justify-items:center; gap:14px; flex:1; padding:28px; text-align:center; color:#7a8695; }
.conversation-placeholder svg { width:54px; height:54px; color:#e1a887; }
.conversation-placeholder h2 { font-size:20px; color:#29354a; }
.conversation-header { padding:20px 24px 16px; border-bottom:1px solid #edf0f3; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.conversation-counterpart { display:block; font-size:12px; font-weight:700; color:var(--primary); margin-bottom:6px; }
.conversation-header h2 { font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.conversation-header p { margin:5px 0 0; color:#7a8695; font-size:12px; }
.conversation-tools { display:flex; align-items:center; gap:6px; }
.conversation-tools select { max-width:122px; border:1px solid #ddd; background:white; border-radius:7px; padding:8px; font-size:12px; }
.conversation-star { border:0; background:none; color:#c98318; font-size:27px; padding:0 5px; }
.conversation-older { align-self:center; border:0; background:#fff; padding:10px; color:#b84312; font-size:12px; text-decoration:underline; }
.conversation-older[hidden] { display:none; }
.conversation-stream { flex:1; min-height:130px; overflow:auto; padding:22px 24px; display:flex; flex-direction:column; gap:18px; overscroll-behavior:contain; }
.conversation-bubble { width:fit-content; max-width:min(78%,720px); align-self:flex-start; padding:14px 16px 10px; border-radius:0 16px 16px 16px; background:#f3f5f8; border:1px solid #dfe5ec; box-shadow:0 2px 8px rgba(31,41,55,.04); }
.conversation-bubble.outgoing { align-self:flex-end; border-radius:16px 0 16px 16px; background:#fff0e5; border-color:#efb58e; box-shadow:0 2px 10px rgba(180,71,23,.10); }
.conversation-author { font-size:11px; font-weight:700; color:#526074; margin-bottom:8px; }
.conversation-bubble.outgoing .conversation-author { color:#a7451c; }
.conversation-bubble p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; font-size:14px; color:#263449; margin:0; }
.conversation-bubble footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; font-size:10px; color:#687589; margin-top:10px; }
.conversation-reply { border-top:1px solid #edf0f3; padding:16px 24px; }
.conversation-reply label,.conversation-compose label { display:block; color:#526074; font-size:12px; font-weight:600; margin-bottom:7px; }
.conversation-reply textarea,.conversation-compose input,.conversation-compose textarea,.conversation-compose select { width:100%; border:1px solid #dfe4ea; padding:11px 13px; background:#fff; color:#172033; font:inherit; font-size:14px; border-radius:9px; }
.conversation-reply textarea { resize:vertical; min-height:75px; max-height:200px; }
.conversation-reply-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:9px; }
.conversation-reply-footer small { color:#8791a1; font-size:11px; }
.conversation-reply-footer .btn { padding:8px 22px; font-size:13px; }
.conversation-compose { padding:24px; overflow:auto; }
.conversation-compose-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.conversation-compose-heading h2 { font-size:21px; }
.conversation-compose-heading button { border:0; background:none; font-size:28px; color:#8791a1; }
.conversation-compose input,.conversation-compose select,.conversation-compose textarea { margin-bottom:17px; }
.conversation-compose textarea { resize:vertical; }
.conversation-compose-actions { display:flex; justify-content:flex-end; gap:10px; }
.conversation-compose .recipient-help { color:#7a8695; font-size:12px; margin:0 0 18px; }
.conversation-fixed-recipient { color:#b44717; background:#fff4ee; border-radius:9px; padding:12px; margin:0 0 18px; font-size:14px; }
.conversation-send-status,.messaging-global-status { font-size:12px; color:#a7451c; margin:9px 0 0; }
.conversation-send-status:empty,.messaging-global-status:empty { display:none; }
.conversation-empty { padding:24px; color:#7a8695; font-size:13px; text-align:center; }
.messaging-center .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.messaging-center :focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.messaging-center button:disabled { opacity:.5; cursor:wait; }
.messaging-notice { width:100%; text-align:left; border:0; font:inherit; background:white; display:flex; flex-direction:column; gap:4px; }
.messaging-notice.unread,.fmp-message-notification.unread { background:#fff5ee; }
.messaging-notice-main { width:100%; text-align:left; border:0; padding:0; font:inherit; background:transparent; display:flex; flex-direction:column; gap:4px; cursor:pointer; }
.messaging-notice-main:hover { background:#fffaf7; }
.messaging-notice-main strong,.messaging-notice-main span,.messaging-notice-main small { overflow-wrap:anywhere; }
.messaging-notice small { color:#7a8695; font-size:11px; }
.messaging-notice-read { align-self:flex-start; border:0; padding:2px 0; background:transparent; color:#b44717; font-size:11px; cursor:pointer; }
.messaging-notice-read:hover { text-decoration:underline; }
.messaging-notice-read:disabled,.messaging-notice-main:disabled { opacity:.5; cursor:wait; }
@media(max-width:1050px) { .messaging-workspace { grid-template-columns:260px minmax(0,1fr); } .conversation-header { flex-direction:column; } }
@media(max-width:760px) {
  .messaging-heading { flex-direction:column; }
  .messaging-workspace { grid-template-columns:1fr; height:auto; overflow:visible; }
  .conversation-sidebar { max-height:380px; border-right:0; border-bottom:1px solid #e5e7eb; }
  .conversation-detail { min-height:530px; height:75dvh; max-height:850px; }
  .conversation-header,.conversation-stream,.conversation-reply,.conversation-compose { padding:16px; }
  .conversation-bubble { max-width:92%; }
  .conversation-reply-footer small { max-width:60%; }
}
