/* M20 聊天新时代化共享样式（cx-*）：表情/回应/资料卡/搜索/菜单 */
.emo { width:1.3em; height:1.3em; vertical-align:-0.28em; }
.emo-s { width:1.05em; height:1.05em; vertical-align:-0.18em; }
.chatimg { max-width:min(320px, 70%); max-height:320px; border-radius:10px;
           display:block; margin:.2rem 0; cursor:zoom-in;
           border:1px solid rgba(0,0,0,.06); }
/* B26：录屏视频内联播放（提交环节上传的交付证据） */
.chatvid { max-width:min(420px, 92%); max-height:320px; border-radius:10px;
           display:block; margin:.2rem 0; background:#000;
           border:1px solid rgba(0,0,0,.06); }
.cx-pop { position:fixed; z-index:60; background:#fff; border:1px solid #dfe2ea;
          border-radius:12px; box-shadow:0 10px 32px rgba(28,33,48,.16);
          padding:.5rem; max-width:min(92vw, 420px); }
.cx-modal { left:50% !important; top:14vh !important;
            transform:translateX(-50%); width:min(92vw, 420px); }
.cx-emo-grid { display:grid; grid-template-columns:repeat(8, 1fr);
               gap:.15rem; max-height:40vh; overflow-y:auto; }
.cx-quick { display:flex; gap:.15rem; }
.cx-emo-cell { background:none; border:none; padding:.25rem; cursor:pointer;
               border-radius:8px; font-size:1.15rem; line-height:1; }
.cx-emo-cell:hover { background:#EEF0FA; }
.cx-emo-cell .emo { width:1.55em; height:1.55em; vertical-align:middle; }
.cx-chips { display:flex; gap:.25rem; flex-wrap:wrap; margin-top:.3rem; }
.cx-chip { display:inline-flex; align-items:center; gap:.22rem;
           background:#F1F2F7; border:1px solid transparent; color:#3A4157;
           border-radius:999px; padding:.06rem .5rem; font-size:.8rem;
           cursor:pointer; }
.cx-chip i { font-style:normal; }
.cx-chip.me { background:#E4E9FB; border-color:#5B6ED6; color:#3A4BAA; }
.cx-menu { display:flex; flex-direction:column; min-width:12rem; }
.cx-mi { text-align:left; background:none; border:none; padding:.5rem .7rem;
         border-radius:8px; cursor:pointer; font-size:.92rem; color:#24262B; }
.cx-mi:hover { background:#EEF0FA; }
.cx-badge { display:inline-block; background:#EEF0FA; color:#4A5680;
            border-radius:5px; padding:0 .4rem; font-size:.72rem; }
.cx-badge.cx-ai { background:#0FA3A0; color:#fff; }
.cx-badge.cx-trust { background:#E8F6EC; color:#2E7D46; }
.cx-muted { color:#8A93A6; font-size:.8rem; }
.cx-profile { padding:.3rem .35rem; }
.cx-p-head { display:flex; align-items:center; gap:.55rem; font-size:1.05rem;
             margin-bottom:.5rem; flex-wrap:wrap; }
.cx-p-ava { width:2.4rem; height:2.4rem; border-radius:50%; background:#8A93A6;
            color:#fff; display:flex; align-items:center; justify-content:center;
            font-weight:700; flex:none; }
.cx-p-ava.ai { background:#0FA3A0; }
.cx-p-row { margin:.3rem 0; font-size:.92rem; }
.cx-p-sec { margin:.65rem 0 .25rem; font-size:.78rem; color:#8A93A6;
            border-top:1px solid #EDEFF4; padding-top:.5rem; }
.cx-p-card { padding:.3rem .45rem; border-radius:8px; cursor:pointer;
             font-size:.88rem; }
.cx-p-card:hover { background:#F4F5F9; }
.cx-p-btns { display:flex; gap:.5rem; margin-top:.7rem; flex-wrap:wrap; }
.cx-search .cx-s-bar { display:flex; gap:.5rem; align-items:center;
                       margin-bottom:.4rem; }
.cx-search .cx-s-q { flex:1; font:inherit; padding:.45rem .6rem;
                     border:1px solid #dfe2ea; border-radius:8px; }
.cx-search .cx-s-hits { max-height:46vh; overflow-y:auto; }
.cx-s-hit { padding:.4rem .5rem; border-radius:8px; cursor:pointer;
            border-bottom:1px dashed #EDEFF4; word-break:break-word; }
.cx-s-hit:hover { background:#F4F5F9; }
.cx-iconbtn { background:none; border:none; cursor:pointer; color:#8A93A6;
              font-size:1.05rem; padding:.15rem .3rem; border-radius:6px; }
.cx-iconbtn:hover { background:#EEF0FA; color:#3A4157; }
.cx-dot { display:inline-block; width:.55rem; height:.55rem; background:#D9544F;
          border-radius:50%; }
.cx-flash { animation:cxflash 1.6s ease-out 1; }
@keyframes cxflash { 0% { background:#FFF3C4; } 100% { background:transparent; } }
