.messenger-team,.messenger-board,.public-messenger{
 --msg-ink:#244b45;
 --msg-muted:#50655d;
 --msg-rule:#dbe4da;
 --msg-tint:#e0eddf;
 --msg-wall:#f0f2e9;
 min-width:0;
}
.messenger-team{display:flex;flex-direction:column;width:100%;max-width:1080px;overflow:hidden}
.messenger-team [hidden],.messenger-board [hidden],.public-messenger [hidden]{display:none!important}
.messenger-heading{
 display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 16px;
 background:#fff;border-bottom:1px solid var(--msg-rule);color:var(--msg-ink)
}
.messenger-heading>div{min-width:0;flex:1}
.messenger-heading h1,.messenger-heading h2,.messenger-list-tools h1{
 margin:0;color:var(--msg-ink);font:750 18px/1.2 system-ui,sans-serif;overflow-wrap:anywhere
}
.messenger-heading p,#patientChatStatus,.conversation-head #chatStatus{
 margin:3px 0 0;color:var(--msg-muted);font:400 12px/1.4 system-ui,sans-serif;overflow-wrap:anywhere
}
.messenger-avatar{
 width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;
 border-radius:50%;background:var(--msg-tint);color:var(--msg-ink);font:700 16px/1 system-ui,sans-serif
}
.messenger-team .chat-presence{padding:8px 16px;min-height:34px;max-height:96px;overflow:auto;gap:6px 12px}
.messenger-team .chat-presence-title{width:auto}
.messenger-team .chat-presence-list{width:auto}
.messenger-team .chat-sync{padding:8px 16px}
.messenger-team .chat-older,.messenger-board .patient-chat-older,.public-messenger #older{
 align-self:center;width:auto;margin:5px auto;padding:5px 10px;min-height:32px;font-size:12px
}
.messenger-timeline{
 display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;
 padding:12px clamp(8px,2.5vw,22px);background-color:var(--msg-wall);
 background-image:radial-gradient(#6c876c20 .85px,transparent .85px);background-size:14px 14px;
}
.messenger-team .messenger-timeline{height:clamp(255px,calc(100dvh - 315px),640px)}
.messenger-day{
 align-self:center;max-width:100%;padding:4px 10px;border:1px solid var(--msg-rule);border-radius:14px;
 background:#fdfefa;color:var(--msg-muted);font:600 11px/1.3 system-ui,sans-serif;text-align:center
}
.messenger-timeline .messenger-bubble{
 align-self:flex-start;min-width:0;max-width:min(86%,540px);padding:7px 10px;
 border:1px solid var(--msg-rule);border-radius:4px 14px 14px 14px;background:white;
 color:#243731;box-shadow:0 1px 2px #253f3520;overflow-wrap:anywhere
}
.messenger-timeline .messenger-bubble.mine{
 align-self:flex-end;border-color:#d3e3d3;border-radius:14px 4px 14px 14px;background:#e4f0e1
}
.messenger-bubble .messenger-author{
 display:block;color:var(--msg-ink);font:700 12px/1.35 system-ui,sans-serif
}
.messenger-timeline .messenger-bubble p{
 margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 15px/1.45 system-ui,sans-serif
}
.messenger-bubble .messenger-time{
 display:block;margin-top:3px;text-align:right;color:var(--msg-muted);font:400 11px/1.4 system-ui,sans-serif
}
.messenger-message-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.messenger-message-tools .chat-reply{min-height:34px;margin:0;padding:4px 2px;font-size:12px;color:var(--msg-ink)}
.messenger-bubble .chat-quote{margin-top:5px}
.messenger-compose{padding:9px 12px;background:#fff}
.messenger-entry{display:flex;align-items:flex-end;gap:7px;min-width:0}
.messenger-entry textarea{
 flex:1;min-width:0;width:100%;min-height:44px;max-height:145px;margin:0;padding:9px 12px;
 resize:vertical;border:1px solid #b8c8bb;border-radius:16px;background:#fff;color:#243731;
 font:400 16px/1.3 system-ui,sans-serif
}
.messenger-entry .messenger-emoji-toggle{
 display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;
 border:1px solid var(--msg-rule);border-radius:50%;background:#f6f8f2;color:var(--msg-ink);cursor:pointer
}
.messenger-emoji-toggle svg{width:23px;height:23px}
.messenger-emoji-panel{
 display:flex;flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;margin:0 0 7px;padding:4px;
 border:1px solid var(--msg-rule);border-radius:14px;background:#f6f8f2
}
.messenger-emoji-panel button{
 display:grid;place-items:center;width:44px;min-height:44px;flex:0 0 44px;padding:0;
 border:0;border-radius:10px;background:transparent;font:23px/1 system-ui,sans-serif;cursor:pointer
}
.messenger-emoji-toggle[aria-expanded="true"],.messenger-emoji-panel button:hover{background:var(--msg-tint)}
.messenger-emoji-panel button:focus-visible{outline:2px solid var(--msg-ink);outline-offset:-2px}
.messenger-entry .messenger-send{
 display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;
 border:1px solid var(--msg-ink);border-radius:50%;background:var(--msg-ink);color:white;cursor:pointer
}
.messenger-send:hover:enabled{background:#316559}
.messenger-send:disabled{opacity:.55;cursor:default}
.messenger-send svg{width:22px;height:22px}
.messenger-entry :focus-visible,.messenger-list-tools :focus-visible,.patient-thread:focus-visible{
 outline:2px solid var(--msg-ink);outline-offset:-2px
}
.messenger-hint{margin:5px 0 0;color:var(--msg-muted);font:400 11px/1.35 system-ui,sans-serif}
.messenger-compose .form-error:empty{display:none}

:is(#patientChatBoard,#directChatBoard){grid-template-columns:minmax(230px,31%) minmax(0,1fr);min-height:0}
.messenger-board .patient-chat-index{display:flex;flex-direction:column;background:#fff;min-height:0}
.messenger-list-tools{display:grid;gap:9px;padding:14px 12px 8px;border-bottom:1px solid var(--msg-rule)}
.messenger-list-tools input{
 width:100%;min-width:0;min-height:40px;padding:8px 11px;border:1px solid var(--msg-rule);
 border-radius:10px;background:#f6f8f2;color:var(--msg-ink);font:400 16px/1.25 system-ui,sans-serif
}
.messenger-list-tools>.segmented{display:flex;max-width:100%;width:max-content}
.messenger-list-tools .segmented button{padding:7px 9px;min-height:36px}
.messenger-share{font-size:12px;color:var(--msg-muted)}
.messenger-share summary{cursor:pointer;min-height:28px;padding:5px 0}
.messenger-share a,.messenger-share button{color:var(--msg-ink);margin-right:8px}
.messenger-board :is(#patientChatList,#directChatContacts){
 max-height:clamp(255px,calc(100dvh - 350px),590px);overflow:auto;overscroll-behavior:contain;background:white
}
:is(#patientChatList,#directChatContacts) .patient-thread{
 display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;
 min-width:0;padding:10px 11px;border-bottom:1px solid var(--msg-rule);cursor:pointer;color:var(--msg-ink)
}
:is(#patientChatList,#directChatContacts) .patient-thread:hover,:is(#patientChatList,#directChatContacts) .patient-thread.selected{background:#edf4e9}
.messenger-thread-content{display:grid;min-width:0;gap:2px}
.messenger-thread-name{display:flex;justify-content:space-between;align-items:baseline;gap:6px;min-width:0}
:is(#patientChatList,#directChatContacts) .messenger-thread-name b{
 min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:750 14px/1.4 system-ui,sans-serif
}
.messenger-thread-name time{flex:none;font-size:11px;color:var(--msg-muted)}
.messenger-thread-preview{
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--msg-muted);font:400 13px/1.4 system-ui,sans-serif
}
:is(#patientChatList,#directChatContacts) .patient-chat-label{margin-top:0;font:400 11px/1.35 system-ui,sans-serif}
:is(#patientChatList,#directChatContacts) .patient-chat-label[data-state=waiting]::before{
 content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#39704f
}
.messenger-board :is(#patientChatDetail,#directChatDetail){display:flex;flex-direction:column;min-width:0;background:#f9faf6}
.messenger-board :is(#patientChatDetail,#directChatDetail) .inbox-empty{margin:auto}
.messenger-board :is(#patientChatMessages,#directChatMessages){height:clamp(220px,calc(100dvh - 328px),605px)}
.messenger-board .patient-chat-back{
 align-items:center;justify-content:center;min-width:40px;min-height:42px;margin:0;padding:0;
 color:var(--msg-ink);font-size:23px;border:0;background:transparent;cursor:pointer
}
.messenger-close{font-size:12px;min-height:36px}
#directChatBoard{overflow:hidden}
#directChatContacts .direct-contact-role{display:flex;align-items:center;gap:5px;color:var(--msg-muted);font-size:12px}
.direct-unread{min-width:18px;padding:1px 5px;border-radius:12px;background:var(--msg-ink);color:white;text-align:center;font-weight:700}
.direct-empty{margin:12px}
.direct-quote{margin:5px 0;padding:5px 7px;border-left:3px solid #789873;border-radius:4px;background:#f0f4eb;color:var(--msg-muted);font-size:12px;white-space:pre-wrap}
.direct-message .chat-reply{display:block;margin-left:auto;min-height:34px;padding:4px 0;font-size:12px;color:var(--msg-ink)}

.public-messenger .messenger-input-label{margin-bottom:5px}
.public-messenger:not(.is-active) .messenger-compose{padding:0}
.public-messenger.is-active{
 padding:0;display:flex;flex-direction:column;overflow:hidden;
 height:clamp(320px,calc(100dvh - 48px),830px)
}
.public-messenger.is-active .messenger-welcome,.public-messenger.is-active .messenger-hint{display:none}
.public-messenger.is-active .messenger-input-label{
 position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)
}
.public-messenger.is-active #conversation{
 display:flex;flex-direction:column;flex:1;min-height:0;margin:0;border:0;border-radius:0
}
.public-messenger #messages{flex:1;max-height:none;min-height:0}
.public-messenger.is-active footer{margin:0;padding:4px 12px 8px;font-size:12px}
.public-messenger #notice{margin:4px 0 0}

@media(max-width:800px){
 :is(#patientChatBoard,#directChatBoard){grid-template-columns:minmax(0,1fr)}
 .messenger-board .patient-chat-index{border-right:0}
 :is(#patientChatBoard,#directChatBoard).has-chat .patient-chat-index,:is(#patientChatBoard,#directChatBoard):not(.has-chat) :is(#patientChatDetail,#directChatDetail){display:none}
 .messenger-board .patient-chat-back{display:inline-flex}
 .messenger-board :is(#patientChatDetail,#directChatDetail) .messenger-heading{padding:8px}
 .messenger-board .messenger-close{min-width:0;padding:5px;white-space:normal}
 .messenger-focus main{padding:10px 8px 16px}
}
@media(max-width:480px){
 .messenger-focus .sidebar{width:64px;padding-inline:3px}
 .messenger-focus .workspace{width:calc(100% - 64px)}
 .messenger-focus .sidebar .nav-item>span{font-size:9px}
 .messenger-heading{padding:9px 10px;gap:6px}
 .messenger-timeline .messenger-bubble{max-width:95%}
 .messenger-board :is(#patientChatDetail,#directChatDetail) .messenger-heading{flex-wrap:wrap}
 .messenger-board .messenger-heading .messenger-avatar{display:none}
 .messenger-board .messenger-close{margin-left:auto}
 .public-messenger.is-active{margin:6px auto;width:calc(100% - 12px);height:clamp(260px,calc(100dvh - 12px),830px)}
}
