/* Chat bubbles: used by the candidate portal and the HR appointment page. */
.chat-box{display:flex;flex-direction:column;gap:10px;height:min(420px,55vh);overflow-y:auto;padding:14px;margin-bottom:12px;background:#f7f9fd;border:1px solid var(--line);border-radius:var(--radius-sm)}
.chat-empty{margin:auto;color:var(--muted);font-size:.86rem}
.chat-msg{display:flex;flex-direction:column;max-width:82%}
.chat-msg.mine{align-self:flex-end;align-items:flex-end}
.chat-msg.theirs{align-self:flex-start}
.chat-bubble{padding:9px 13px;border-radius:14px;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line)}
.chat-msg.mine .chat-bubble{background:var(--brand);border-color:var(--brand);color:#fff}
.chat-meta{margin-top:3px;font-size:.7rem;color:var(--muted)}
.chat-form{display:flex;gap:10px;align-items:flex-end}
.chat-form textarea{flex:1;resize:none;min-height:46px}
.chat-form .btn-main{flex:none}
.chat-err{margin:8px 0 0;min-height:1em;font-size:.8rem;color:var(--danger)}