/* Shared client and coach conversation surfaces. */
.message-shell,.relationship-message-card{display:flex!important;flex-direction:column;min-height:0!important;height:min(740px,calc(100dvh - 190px));background:#0c0e12!important;border:1px solid var(--mere-border,rgba(255,255,255,.1))!important;border-radius:22px;padding:0!important;overflow:hidden;min-width:0}
.message-thread-header,.relationship-message-header{display:flex;align-items:center;gap:12px;padding:16px 20px!important;background:#14161c;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}
.message-thread-header h3{font-size:16px;margin:0!important;color:#f5f5f7}.message-thread-header small{display:block;color:#969ba8;font-size:12px;font-weight:400;margin-top:3px}
.message-contact-avatar{width:40px;height:40px;border-radius:50%;background:#2b2944;color:#ccc8ff;display:grid;place-items:center;font-size:14px;font-weight:700;flex-shrink:0}
.message-list,.apple-message-list{flex:1;min-height:0!important;max-height:none!important;padding:20px!important;gap:0;background:#0c0e12;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.message-date-separator{color:#969ba8;font-size:11px;font-weight:600;margin:18px 0;align-self:center;flex-shrink:0}
.message-row{display:flex;flex-direction:column;align-items:flex-start;margin:3px 0;flex-shrink:0}.message-row.mine{align-items:flex-end}.message-row.group-end{margin-bottom:13px}
.message-row .message-bubble{max-width:min(78%,580px);padding:10px 14px;border:0;line-height:1.45;border-radius:19px;background:#292c34;color:#f5f5f7;font-size:14px;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;box-shadow:none}
.message-row.mine .message-bubble{background:#625bff;border-bottom-right-radius:6px}.message-row.theirs .message-bubble{border-bottom-left-radius:6px}
.message-row .message-time{position:static;display:block;font-size:10px;line-height:1.5;color:#9298a5;margin:4px 6px 0}
.message-composer,.apple-message-composer,#clientMessagesView .message-composer{position:static!important;display:grid;grid-template-columns:minmax(0,1fr) 40px!important;align-items:end!important;gap:10px;padding:14px 18px!important;background:#14161c;flex:0 0 auto;border-top:1px solid rgba(255,255,255,.08)}
.message-composer textarea,#clientMessagesView .message-composer textarea{font:inherit;font-size:14px;line-height:1.4;box-sizing:border-box;min-width:0;min-height:40px!important;max-height:130px;padding:10px 15px!important;border-radius:22px!important;background:#20232b!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff;resize:none;overflow-y:auto}
.message-composer .message-send-button,#clientMessagesView .message-send-button{display:grid;place-items:center;width:40px;min-width:40px;height:40px;padding:0;border-radius:50%;background:#625bff;color:white;font-size:24px;box-shadow:none;border:0}
.message-send-button:disabled{opacity:.35;cursor:default}.message-send-button:focus-visible{outline:2px solid #a7a2ff;outline-offset:3px}
.message-empty{margin:auto;align-items:center;text-align:center;gap:7px;max-width:260px;font-size:13px}.message-empty strong{font-size:16px;color:#dddde5}.message-empty span{color:#969ba8}
.conversation-row{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;padding:16px 12px;gap:5px}.conversation-row:hover,.conversation-row.selected{background:rgba(98,91,255,.12)}
@media(max-width:760px){.message-shell,.relationship-message-card{height:calc(100dvh - 180px);min-height:320px!important;border-radius:18px}.message-thread-header{padding:13px 15px!important}.message-list{padding:15px!important}.message-composer{padding:12px!important}.message-row .message-bubble{max-width:86%}}
/* Override the older mobile keyboard rules with the shared flex thread. */
#clientMessagesView .message-list,.relationship-message-card .message-list,.coach-message-shell .message-list{min-height:0!important;height:auto!important;max-height:none!important;flex:1 1 0%;scroll-padding-bottom:16px}
