#online-indicator{font-size:.9rem;color:#28a745;display:none;margin-left:.5rem}#typing-indicator{font-size:.85rem;color:#666;display:none;margin-bottom:.5rem;margin-top:-.5rem!important}#last-seen{font-size:.85rem;color:#666;margin-left:.5rem}.chat-search-toolbar{min-width:min(100%,320px)}.chat-search-toolbar .input-group{direction:ltr}.chat-search-toolbar input{direction:rtl}.chat-search-toolbar .input-group-sm>:not(:first-child):not(:last-child){border-radius:0!important}.chat-search-toolbar .input-group-sm>:first-child{border-start-start-radius:.25rem!important;border-end-start-radius:.25rem!important;border-start-end-radius:0!important;border-end-end-radius:0!important}.chat-search-toolbar .input-group-sm>:last-child{border-start-end-radius:.25rem!important;border-end-end-radius:.25rem!important;border-start-start-radius:0!important;border-end-start-radius:0!important}.reminder-notice-swal .swal2-cancel{display:none!important}.chat-composer-row{position:relative}.chat-message-input{min-height:44px;max-height:180px;resize:none;overflow-y:auto;white-space:pre-wrap}.composer-icon-btn,.composer-send-btn{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.reply-composer{margin-bottom:.75rem;border:1px solid rgba(0,0,0,.08);border-radius:.75rem;background:#0d6efd0f}.reply-composer-content{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem}.reply-composer-title{font-size:.85rem;font-weight:700;color:#0d6efd}.reply-composer-text{font-size:.85rem;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(70vw,500px)}.emoji-picker{position:fixed;top:var(--emoji-picker-top, auto);left:var(--emoji-picker-left, 12px);width:var(--emoji-picker-width, min(420px, calc(100vw - 24px) ));max-height:var(--emoji-picker-max-height, min(520px, calc(100vh - 24px) ));background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 32px #18274b2e;z-index:1080;transform:none}.emoji-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .9rem .65rem;border-bottom:1px solid rgba(15,23,42,.06);background:linear-gradient(180deg,#fff,#fafbff)}.emoji-picker-title{font-size:.95rem;font-weight:800;color:#0f172a}.emoji-picker-subtitle{margin-top:.15rem;font-size:.78rem;color:#64748b}.emoji-picker-close{border:0;background:#0f172a0f;color:#334155;width:2rem;height:2rem;border-radius:.65rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.emoji-picker-close:hover{background:#0f172a1a}.emoji-picker-tabs{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;padding:.7rem .85rem .65rem;border-bottom:1px solid rgba(15,23,42,.06);background:#fbfcfe}.emoji-category-tab{border:1px solid rgba(15,23,42,.08);background:#fff;color:#334155;font-size:.95rem;font-weight:700;width:2.45rem;height:2.45rem;border-radius:.8rem;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex:0 0 auto}.emoji-category-tab i,.emoji-section-tab i{pointer-events:none}.emoji-category-tab:hover,.emoji-category-tab.is-active{background:#0d6efd;border-color:#0d6efd;color:#fff}.emoji-picker-content{overflow-y:auto;padding:.85rem}.emoji-picker-section+.emoji-picker-section{margin-top:1rem}.emoji-picker-section-header{margin-bottom:.55rem;display:flex;align-items:center;justify-content:flex-start}.emoji-section-tab{border:1px solid rgba(15,23,42,.08);background:#fff;color:#334155;width:2.1rem;height:2.1rem;border-radius:.7rem;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;box-shadow:0 1px 2px #0f172a0f}.emoji-section-tab:hover{background:#0d6efd14;border-color:#0d6efd2e}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem}.emoji-btn{border:0;background:transparent;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.25rem;line-height:1;border-radius:.65rem;padding:.42rem 0;min-height:2.35rem;transition:background .15s ease,transform .15s ease}.emoji-btn:hover{background:#0d6efd14;transform:translateY(-1px)}.emoji-empty{grid-column:1 / -1;padding:.25rem 0;font-size:.8rem;color:#64748b}.msg-wrapper{position:relative;max-width:min(100%,540px)}.msg-bubble{position:relative;display:inline-block;transition:transform .18s ease;touch-action:pan-y}.msg-bubble.is-swiping-reply{transform:translate(var(--reply-swipe-x, 0));transition:none}.msg-bubble.is-swiping-reply:after{content:"↩";position:absolute;top:50%;inset-inline-start:calc(100% + .45rem);width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0d6efd1f;color:#0d6efd;font-size:1.2rem;font-weight:700;opacity:.75;transform:translateY(-50%) scale(.9);transition:opacity .12s ease,transform .12s ease,background .12s ease,color .12s ease;pointer-events:none}.msg-bubble.is-swipe-reply-ready:after{opacity:1;transform:translateY(-50%) scale(1);background:#0d6efd;color:#fff}.msg-content{position:relative;z-index:1;word-break:break-word;line-height:1.5}.message-text{white-space:pre-wrap}.msg-content-single-emoji{background:transparent!important;box-shadow:none;padding:.15rem .25rem!important}.message-text-single-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:clamp(2.6rem,7vw,4.2rem);line-height:1;display:inline-block;transform-origin:center bottom;animation:singleEmojiPop .42s cubic-bezier(.2,1.4,.35,1);filter:drop-shadow(0 8px 12px rgba(15,23,42,.14))}@keyframes singleEmojiPop{0%{opacity:0;transform:translateY(8px) scale(.72) rotate(-4deg)}70%{opacity:1;transform:translateY(-2px) scale(1.08) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@media (max-width: 576px){.emoji-picker{right:12px;left:12px;width:auto;max-height:min(70vh,520px);border-radius:.9rem}}@media (prefers-reduced-motion: reduce){.message-text-single-emoji{animation:none}}.bg-user{background:#f1f0f0;color:#000}.bg-expert{background:#08c;color:#fff}.msg-avatar{width:32px;height:32px;flex-shrink:0}.msg-actions{position:absolute;top:-10px;inset-inline-end:-8px;display:flex;gap:.2rem;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;z-index:2}.msg-actions .btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border-radius:.5rem;background:#ffffffeb;border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 2px #0f172a14}.msg-actions .btn:hover{background:#fff;box-shadow:0 2px 6px #0f172a1f}.msg-bubble:hover .msg-actions,.msg-bubble.is-actions-visible .msg-actions{opacity:1;transform:translateY(0)}.reply-preview{display:block;width:100%;border:0;text-align:right;background:#ffffff2e;border-inline-start:3px solid rgba(255,255,255,.75);border-radius:.6rem;padding:.45rem .65rem;margin-bottom:.6rem;color:inherit}.bg-user .reply-preview{background:#0d6efd14;border-inline-start-color:#0d6efd}.reply-preview-author{display:block;font-size:.78rem;font-weight:700}.reply-preview-text{display:block;font-size:.8rem;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-status{margin-inline-start:.35rem;font-size:.9rem;letter-spacing:-.08em;color:#9aa4b2}.message-status.is-read{color:#0d6efd}.chat-search-mark{background:#fff3a3;color:#000;border-radius:.2rem;padding:0 .05rem}.chat-search-match-active .msg-content{box-shadow:0 0 0 2px #ffc1078c}.message-flash .msg-content{animation:messageFlash 1.4s ease}@keyframes messageFlash{0%{box-shadow:0 0 #0d6efd73}40%{box-shadow:0 0 0 6px #0d6efd2e}to{box-shadow:0 0 #0d6efd00}}.remover_item{height:fit-content;margin-top:auto;margin-bottom:auto}.image-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}.enlarged-image{max-width:90%;max-height:90%;box-shadow:0 0 20px #00000080;border-radius:4px}.lazy-media{opacity:0;transition:opacity .3s ease}.lazy-media.loaded{opacity:1}.custom-audio-player{display:flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #ddd;border-radius:12px;padding:.5rem .75rem;max-width:260px;box-shadow:0 2px 4px #0000000f;direction:ltr;transition:background .3s}.custom-audio-player:hover{background:linear-gradient(135deg,#f1f3f5,#dee2e6)}.custom-audio-player button{border:none;background:none;font-size:1.3rem;color:#495057;padding:.2rem;cursor:pointer;transition:color .2s,transform .2s}.custom-audio-player button:hover{color:#0d6efd;transform:scale(1.1)}.custom-audio-player button:focus{outline:none}.custom-video-wrapper{position:relative;display:inline-block;max-width:200px;border-radius:8px;overflow:hidden;cursor:pointer}.custom-video-thumbnail{position:relative;width:100%}.preview-video{display:block;width:100%;height:auto;border-radius:8px;pointer-events:none;filter:brightness(.85)}.play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:#0000004d;transition:background .3s ease}.play-icon{font-size:2.2rem;color:#fff;background:#0009;padding:.6rem .7rem;border-radius:50%}#video-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;justify-content:center;align-items:center}#video-modal-content{max-width:90vw;max-height:90vh;background:#000;border-radius:8px;overflow:hidden}#video-modal-player{width:100%;height:auto;display:block}#video-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}@media (max-width: 767.98px){.chat-search-toolbar{width:100%}.msg-wrapper{max-width:calc(100vw - 120px)}}
