﻿/* ============================================================
   Chat — MUJI light skin (team chat page only)
   Loaded AFTER admin-skin.css. Scoped under body.muji-chat.
   Pure CSS override; no JS changes. Near-right angles, hairline
   lines instead of shadows, warm paper + deep wood accent.

   Priority note: admin-skin.css has MULTIPLE chat override blocks
   (~966 / 7083 / 7613 / 8487 / 10335). This file loads last and
   uses `body.onsites-desk.muji-chat .cw-chat-workspace …`
   selectors (higher specificity) plus a --cw-* token remap on
   .cw-chat-workspace so every var(--cw-*) reference falls into
   the MUJI palette.
   ============================================================ */

body.onsites-desk.muji-chat {
  /* 底色：更亮米白 */
  --mj-canvas: #FAF8F5;
  --mj-surface: #FFFFFF;
  --mj-sunken: #F1EEE9;
  --mj-hover: #EDE9E3;

  /* 文字：更深炭灰 */
  --mj-ink: #0F0E0C;
  --mj-ink-2: #2A2622;
  --mj-ink-3: #4A453F;

  /* 线条 */
  --mj-line: #E6E2DB;
  --mj-line-hard: #D8D2C9;

  /* 主强调：深木色 */
  --mj-wood: #7A6A55;
  --mj-wood-deep: #65574A;
  --mj-wood-soft: rgba(122, 106, 85, 0.10);

  /* 次强调：灰石青 */
  --mj-stone: #5F7A72;
  --mj-stone-deep: #4A625B;
  --mj-stone-soft: rgba(95, 122, 114, 0.12);

  /* 功能色 */
  --mj-live: #6E7F61;
  --mj-note-bg: #F4EFE4;
  --mj-note-ink: #7A6B4A;
  --mj-danger: #A05A4A;

  /* 形态 */
  --mj-radius: 4px;
  --mj-radius-lg: 6px;
  --mj-shadow: none;

  --mj-duration: 0.12s;
  --mj-ease: cubic-bezier(0.25, 0.6, 0.35, 1);

  /* —— 关键：把 admin-skin 顶层（body.onsites-desk）的近白 --cw-* 重映射成 MUJI 墨色，
        这样 rail / mobile-nav / toast / ws-switcher 等 .cw-chat-workspace 之外的组件
        读 var(--cw-text) 时也拿到暖墨色，而不是暗桌面的近白。 —— */
  --cw-text: var(--mj-ink);
  --cw-text-2: var(--mj-ink-2);
  --cw-text-3: var(--mj-ink-3);
  --cw-hairline: var(--mj-line);
  --cw-border: var(--mj-line);
  --cw-border-strong: var(--mj-line-hard);
  --cw-elev-1: var(--mj-surface);
  --cw-elev-2: var(--mj-sunken);
  --cw-surface-1: var(--mj-surface);
  --cw-surface-2: var(--mj-sunken);
  --cw-inset: none;
  --admin-accent: var(--mj-wood);
  --admin-glow: var(--mj-wood);
  --admin-live: var(--mj-wood);
  --cw-danger: var(--mj-danger);
  --cw-bg: var(--mj-canvas);
  --cw-paper-0: var(--mj-canvas);
  --cw-paper-1: var(--mj-sunken);
  --cw-paper-2: var(--mj-surface);
  --cw-ink: var(--mj-ink);
  --cw-ink-2: var(--mj-ink-2);
  --cw-steel: var(--mj-wood);
  --cw-steel-hi: var(--mj-wood-deep);
  --cw-glass-ink: var(--mj-canvas);
  --cw-glass-paper: var(--mj-surface);
  --slack-rail-bg: var(--mj-sunken);
  --slack-rail-text: var(--mj-ink);
  --slack-rail-muted: var(--mj-ink-2);
  --slack-rail-icon: var(--mj-ink-2);
  --slack-rail-hover: var(--mj-hover);
  --slack-rail-active: var(--mj-wood-soft);
  --slack-canvas: var(--mj-canvas);
}

/* ---------- T2 骨架换底 ---------- */
body.onsites-desk.muji-chat,
body.onsites-desk.muji-chat .cw-chat-workspace {
  color-scheme: light;
  background: var(--mj-canvas);
  color: var(--mj-ink);
}

/* 重定义 admin-skin 作用在 .cw-chat-workspace 上的 --cw-* 令牌为 MUJI 值，
   让内部所有 var(--cw-text) / var(--cw-elev-1) 等引用全部落到暖纸体系。 */
body.onsites-desk.muji-chat .cw-chat-workspace {
  --cw-text: var(--mj-ink);
  --cw-text-2: var(--mj-ink-2);
  --cw-text-3: var(--mj-ink-3);
  --cw-hairline: var(--mj-line);
  --cw-border: var(--mj-line);
  --cw-border-strong: var(--mj-line-hard);
  --cw-elev-1: var(--mj-surface);
  --cw-elev-2: var(--mj-sunken);
  --cw-surface-1: var(--mj-surface);
  --cw-surface-2: var(--mj-sunken);
  --cw-inset: none;
  --admin-accent: var(--mj-wood);
  --admin-glow: var(--mj-wood);
  --admin-live: var(--mj-wood);
  --cw-danger: var(--mj-danger);
  --cw-bg: var(--mj-canvas);
  --cw-paper-0: var(--mj-canvas);
  --cw-paper-1: var(--mj-sunken);
  --cw-paper-2: var(--mj-surface);
  --cw-ink: var(--mj-ink);
  --cw-ink-2: var(--mj-ink-2);
  --cw-steel: var(--mj-wood);
  --cw-steel-hi: var(--mj-wood-deep);
  --cw-glass-ink: var(--mj-canvas);
  --cw-glass-paper: var(--mj-surface);
}

/* 覆盖 admin-skin 8487 块里 scoped 的 a / .cw-btn 颜色 */
body.onsites-desk.muji-chat .cw-chat-workspace a {
  color: var(--mj-wood);
}
body.onsites-desk.muji-chat .cw-chat-workspace a:hover {
  color: var(--mj-wood-deep);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn {
  background: var(--mj-wood);
  color: #F6F1E8;
  box-shadow: none;
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn:hover {
  background: var(--mj-wood-deep);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn-ghost {
  background: var(--mj-surface);
  color: var(--mj-ink-2);
  border-color: var(--mj-line-hard);
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn-ghost:hover {
  background: var(--mj-hover);
  color: var(--mj-ink);
  border-color: var(--mj-line-hard);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn-danger {
  background: var(--mj-surface);
  color: var(--mj-danger);
  border: 1px solid var(--mj-line-hard);
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-btn-danger:hover {
  background: var(--mj-note-bg);
  color: var(--mj-danger);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-input,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-textarea {
  background: var(--mj-surface);
  border-color: var(--mj-line-hard);
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-input:focus,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-textarea:focus {
  border-color: var(--mj-wood);
  box-shadow: none;
}

/* 两栏：靠色块分区，不用黑线 */
body.onsites-desk.muji-chat .cw-chat-workspace > .cw-list-pane,
body.onsites-desk.muji-chat .cw-list-pane {
  background: var(--mj-sunken);
  border-right: 1px solid var(--mj-line);
}
body.onsites-desk.muji-chat .cw-chat-workspace > .cw-thread,
body.onsites-desk.muji-chat .cw-thread {
  background: var(--mj-surface);
  border-right: 0;
}

/* 消息流背景（覆盖 admin-skin 的冷白渐变） */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-messages {
  background: var(--mj-surface);
  color: var(--mj-ink);
}

/* 滚动条：暖灰 */
body.onsites-desk.muji-chat ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
body.onsites-desk.muji-chat ::-webkit-scrollbar-track {
  background: transparent;
}
body.onsites-desk.muji-chat ::-webkit-scrollbar-thumb {
  background: rgba(51, 48, 43, 0.14);
  border-radius: 4px;
}
body.onsites-desk.muji-chat ::-webkit-scrollbar-thumb:hover {
  background: rgba(51, 48, 43, 0.28);
}

/* ---------- T3 频道列表 ---------- */
body.onsites-desk.muji-chat .cw-list-head {
  background: transparent;
  border-bottom: 1px solid var(--mj-line);
  backdrop-filter: none;
}
body.onsites-desk.muji-chat .cw-list-eyebrow {
  color: var(--mj-ink-3);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.onsites-desk.muji-chat .cw-list-head h2 {
  color: var(--mj-ink);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* 计数：无底色数字徽章，只描边 */
body.onsites-desk.muji-chat .cw-count {
  background: transparent;
  color: var(--mj-ink-2);
  border: 1px solid var(--mj-line-hard);
  border-radius: 3px;
  font-variant-numeric: tabular-nums;
}

/* 频道卡片三态 */
body.onsites-desk.muji-chat .cw-conv-card {
  border-bottom: 0;
  border-left: 2px solid transparent;
  border-radius: var(--mj-radius);
  margin: 0 8px;
  padding: 8px 10px;
  background: transparent;
  transition: background var(--mj-duration) var(--mj-ease);
}
body.onsites-desk.muji-chat .cw-conv-card:hover {
  background: var(--mj-hover);
}
body.onsites-desk.muji-chat .cw-conv-card.active {
  background: var(--mj-wood-soft) !important;
  border-left-color: var(--mj-wood) !important;
  box-shadow: none !important;
}
body.onsites-desk.muji-chat .cw-conv-card.unread:not(.active) {
  border-left-color: var(--mj-wood) !important;
}
body.onsites-desk.muji-chat .cw-conv-card .name {
  color: var(--mj-ink);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
body.onsites-desk.muji-chat .cw-conv-card .preview {
  color: var(--mj-ink-3);
  font-size: 12.5px;
}

/* 新建频道 */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-room-create {
  background: var(--mj-sunken);
  border-top: 1px solid var(--mj-line);
  padding: 10px 14px 12px;
}
body.onsites-desk.muji-chat .cw-room-create .cw-input {
  background: var(--mj-surface);
  border: 1px solid var(--mj-line-hard);
  color: var(--mj-ink);
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-room-create .cw-input:focus {
  border-color: var(--mj-wood);
  box-shadow: none;
  outline: none;
}
body.onsites-desk.muji-chat .cw-room-create .cw-btn {
  background: var(--mj-surface);
  border: 1px solid var(--mj-wood);
  color: var(--mj-wood);
  border-radius: var(--mj-radius);
  font-weight: 600;
}
body.onsites-desk.muji-chat .cw-room-create .cw-btn:hover {
  background: var(--mj-wood-soft);
}

/* ---------- T4 会话头部 ---------- */
body.onsites-desk.muji-chat .cw-thread-head {
  background: transparent;
  border-bottom: 1px solid var(--mj-line);
  backdrop-filter: none;
}
body.onsites-desk.muji-chat .cw-thread-head .title {
  color: var(--mj-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.onsites-desk.muji-chat .cw-thread-head .sub {
  color: var(--mj-ink-3);
  font-size: 12px;
}
body.onsites-desk.muji-chat .cw-thread-back {
  color: var(--mj-ink-2);
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-thread-back:hover {
  background: var(--mj-hover);
  color: var(--mj-ink);
}

/* ---------- T5 消息行（气泡布局） ---------- */
body.onsites-desk.muji-chat .cw-post {
  transition: background var(--mj-duration) var(--mj-ease);
}
body.onsites-desk.muji-chat .cw-post:hover {
  background: var(--mj-hover);
}
body.onsites-desk.muji-chat .cw-post--note:hover {
  background: var(--mj-note-bg);
}

/* 头像：莫兰迪色板 + 白首字母（方形微圆角，无描边无光泽） */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post-face {
  border-radius: var(--mj-radius);
  background: var(--mj-wood-soft);
  border: 0;
  color: var(--mj-wood);
  font-size: 12px;
  font-weight: 600;
  box-shadow: none;
}
/* 有头像照片时保持方形微圆角 */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post-face--photo {
  background: transparent;
  border: 1px solid var(--mj-line);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post-face--photo .cw-avatar-img {
  border-radius: var(--mj-radius);
}

/* 用户名 / 时间戳 */
body.onsites-desk.muji-chat .cw-post-who {
  color: var(--mj-ink);
  font-size: 14px;
  font-weight: 600;
}
body.onsites-desk.muji-chat .cw-post--me .cw-post-who {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-time {
  color: var(--mj-ink-3);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
body.onsites-desk.muji-chat .cw-post-meta {
  color: var(--mj-ink-3);
}

/* 「You」/「AI」徽章 */
body.onsites-desk.muji-chat .cw-ai-badge {
  background: transparent;
  border: 1px solid var(--mj-line-hard);
  color: var(--mj-ink-2);
  border-radius: 3px;
  font-weight: 600;
}

/* 已读/送达：纯文字，不变绿 */
body.onsites-desk.muji-chat .cw-receipt {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-receipt.is-read {
  color: var(--mj-ink-3);
}

/* 撤回按钮 */
body.onsites-desk.muji-chat .cw-post-recall {
  color: var(--mj-danger);
  background: transparent;
  border: 0;
  font-size: 12px;
  cursor: pointer;
}
body.onsites-desk.muji-chat .cw-post-recall:hover {
  text-decoration: underline;
}

/* 气泡：近直角、无投影，线分区 */
body.onsites-desk.muji-chat .cw-post-bubble {
  border-radius: var(--mj-radius);
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--them .cw-post-bubble,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post:not(.cw-post--me) .cw-post-bubble {
  background: var(--mj-surface);
  border: 1px solid var(--mj-line);
  color: var(--mj-ink);
  border-bottom-left-radius: 2px;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--me .cw-post-bubble {
  background: #F2EEE8;
  border: 1px solid var(--mj-line);
  color: var(--mj-ink);
  border-bottom-right-radius: 2px;
}
/* AI：描边暖纸，不发光 */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--ai .cw-post-bubble,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--me.cw-post--ai .cw-post-bubble {
  background: var(--mj-sunken);
  border: 1px solid var(--mj-line-hard);
  color: var(--mj-ink);
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-post--ai .cw-post-bubble::before {
  content: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-ai-badge {
  background: transparent;
  border: 1px solid var(--mj-line-hard);
  color: var(--mj-ink-2);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post-face--ai-mark {
  background: var(--mj-wood-soft) !important;
  color: var(--mj-wood) !important;
  border: 1px solid var(--mj-line-hard) !important;
}

/* ---------- T6 特殊消息 ---------- */
/* 私密备注：米纸黄 */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--note {
  background: var(--mj-note-bg);
  border: 1px solid var(--mj-line);
  border-left: 2px solid var(--mj-note-ink);
  border-radius: var(--mj-radius);
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-post--note .cw-post-name,
body.onsites-desk.muji-chat .cw-post--note .cw-post-time {
  color: var(--mj-note-ink);
}
body.onsites-desk.muji-chat .cw-post--note .cw-post-body {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-note-icon {
  background: transparent;
  color: var(--mj-note-ink);
}

/* 删除态 */
body.onsites-desk.muji-chat .cw-post-body--deleted {
  color: var(--mj-ink-3);
  font-style: italic;
}

/* 流式光标：木色纯闪烁 */
body.onsites-desk.muji-chat .cw-stream-cursor {
  background: var(--mj-wood);
}

/* markdown */
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-code {
  background: var(--mj-sunken);
  color: var(--mj-ink);
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-pre {
  background: var(--mj-sunken);
  border: 1px solid var(--mj-line);
  border-radius: var(--mj-radius);
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-a {
  color: var(--mj-stone-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-blockquote,
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-quote {
  border-left: 3px solid var(--mj-line-hard);
  color: var(--mj-ink-2);
}

/* ---------- T7 日期分隔条 + 空状态 ---------- */
body.onsites-desk.muji-chat .cw-day-sep span {
  color: var(--mj-ink-3);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body.onsites-desk.muji-chat .cw-day-sep::before,
body.onsites-desk.muji-chat .cw-day-sep::after {
  background: var(--mj-line);
  height: 1px;
}

body.onsites-desk.muji-chat .cw-chat-workspace .cw-empty strong {
  color: var(--mj-ink-2);
  font-weight: 600;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-empty span {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-empty {
  color: var(--mj-ink-2);
}

/* ---------- T8 输入区 ---------- */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-composer-wrap {
  background: var(--mj-canvas);
  padding: 8px 14px 12px;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-reply-box {
  background: var(--mj-surface);
  border: 1px solid var(--mj-line-hard);
  border-radius: var(--mj-radius-lg);
  box-shadow: none;
  transition: border-color var(--mj-duration) var(--mj-ease);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-reply-box:focus-within {
  border-color: var(--mj-wood);
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-reply-box.is-note {
  background: var(--mj-note-bg);
  border-color: var(--mj-note-ink);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-reply-editor {
  color: var(--mj-ink);
  background: transparent;
}
body.onsites-desk.muji-chat .cw-reply-editor::placeholder {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-reply-hint {
  color: var(--mj-ink-3);
  font-size: 11px;
}
/* 发送按钮：全页唯一实心色块 */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-send-icon {
  background: var(--mj-wood);
  color: #F6F1E8;
  border-radius: var(--mj-radius);
  border: 0;
  box-shadow: none;
}
body.onsites-desk.muji-chat .cw-chat-workspace .cw-send-icon:hover {
  background: var(--mj-wood-deep);
  filter: none;
}
body.onsites-desk.muji-chat .cw-send-icon:disabled {
  opacity: 0.4;
}

/* ---------- T9 图片查看器 + 附件 ---------- */
body.onsites-desk.muji-chat .cw-img-viewer {
  background: rgba(51, 48, 43, 0.82);
}
body.onsites-desk.muji-chat .cw-img-viewer-btn,
body.onsites-desk.muji-chat .cw-img-viewer-nav {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
body.onsites-desk.muji-chat .cw-img-viewer-btn:hover,
body.onsites-desk.muji-chat .cw-img-viewer-nav:hover {
  background: rgba(255, 255, 255, 0.12);
}
body.onsites-desk.muji-chat .cw-attach {
  color: var(--mj-wood);
  border: 1px solid var(--mj-line);
  border-radius: var(--mj-radius);
  background: var(--mj-surface);
}

/* ---------- T10 最左 rail（压过 Slack 暗色 token + shell::before） ---------- */
body.onsites-desk.muji-chat {
  --slack-rail-bg: var(--mj-sunken);
  --slack-rail-text: var(--mj-ink);
  --slack-rail-muted: var(--mj-ink-2);
  --slack-rail-icon: var(--mj-ink-2);
  --slack-rail-hover: var(--mj-hover);
  --slack-rail-active: var(--mj-wood-soft);
  --slack-canvas: var(--mj-canvas);
}

/* 去掉壳层左侧近黑渐变条，改成暖纸连续底（admin 用了 !important） */
body.onsites-desk.muji-chat.has-cw-rail .cw-shell::before {
  background: linear-gradient(
    90deg,
    var(--mj-sunken) 0,
    var(--mj-sunken) calc(var(--cw-rail-w) - 1px),
    var(--mj-canvas) var(--cw-rail-w),
    var(--mj-canvas) 100%
  ) !important;
}

body.onsites-desk.muji-chat .cw-rail {
  background: var(--mj-sunken);
  border-right: 1px solid var(--mj-line);
  color: var(--mj-ink-2);
}

body.onsites-desk.muji-chat .cw-rail-brand {
  color: var(--mj-wood);
}
body.onsites-desk.muji-chat .cw-rail-brand:hover {
  color: var(--mj-wood-deep);
}

body.onsites-desk.muji-chat .cw-rail-btn {
  color: var(--mj-ink-2);
  background: transparent;
}
body.onsites-desk.muji-chat .cw-rail-btn .cw-rail-icon {
  border-radius: var(--mj-radius);
  background: transparent;
}
body.onsites-desk.muji-chat .cw-rail-btn:hover,
body.onsites-desk.muji-chat .cw-rail-btn:focus-visible {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-rail-btn:hover .cw-rail-icon,
body.onsites-desk.muji-chat .cw-rail-btn:focus-visible .cw-rail-icon {
  background: var(--mj-hover);
}
body.onsites-desk.muji-chat .cw-rail-btn.is-on {
  color: var(--mj-wood);
}
body.onsites-desk.muji-chat .cw-rail-btn.is-on .cw-rail-icon {
  background: var(--mj-wood-soft);
  color: var(--mj-wood);
}
body.onsites-desk.muji-chat .cw-rail-label {
  color: inherit;
  font-weight: 600;
  letter-spacing: 0.01em;
}

body.onsites-desk.muji-chat .cw-rail-foot {
  border-top: 1px solid var(--mj-line);
  margin-top: auto;
  padding-top: 12px;
}
body.onsites-desk.muji-chat .cw-rail-foot .cw-avatar {
  border-radius: var(--mj-radius);
  background: var(--mj-wood-soft);
  color: var(--mj-wood);
  border: 1px solid var(--mj-line);
}
body.onsites-desk.muji-chat .cw-rail-avatar-wrap {
  border-radius: var(--mj-radius);
}
body.onsites-desk.muji-chat .cw-rail-status {
  background: var(--mj-sunken);
  border: 1px solid var(--mj-line);
}
body.onsites-desk.muji-chat .cw-rail-status::after {
  background: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-rail-status.is-on::after {
  background: var(--mj-live);
}
body.onsites-desk.muji-chat .cw-rail-status.is-off::after {
  background: var(--mj-ink-3);
}

/* 工作区切换器 */
body.onsites-desk.muji-chat .cw-ws-switch-label {
  color: var(--mj-ink-3) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-btn {
  color: var(--mj-ink) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-btn:hover,
body.onsites-desk.muji-chat .cw-ws-switch-btn[aria-expanded='true'] {
  background: var(--mj-hover) !important;
  color: var(--mj-ink) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-menu,
body.onsites-desk.muji-chat .cw-ws-switch-menu.cw-ws-switch-menu--v13 {
  background: var(--mj-surface) !important;
  border: 1px solid var(--mj-line-hard) !important;
  color: var(--mj-ink) !important;
  box-shadow: 0 12px 28px rgba(15, 14, 12, 0.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-foot {
  border-top: 1px solid var(--mj-line) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-item,
body.onsites-desk.muji-chat .cw-ws-switch-action {
  color: var(--mj-ink-2) !important;
  background: transparent !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-item:hover,
body.onsites-desk.muji-chat .cw-ws-switch-action:hover {
  background: var(--mj-hover) !important;
  color: var(--mj-ink) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-item.on {
  color: var(--mj-ink) !important;
  background: var(--mj-wood-soft) !important;
}
body.onsites-desk.muji-chat .cw-ws-check {
  color: var(--mj-wood-deep) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-action {
  color: var(--mj-ink-3) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-action.danger {
  color: var(--mj-danger) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-action.danger:hover {
  background: var(--mj-danger-soft) !important;
  color: var(--mj-danger) !important;
}
body.onsites-desk.muji-chat .cw-ws-switch-name,
body.onsites-desk.muji-chat .cw-ws-switch-item-name {
  color: inherit !important;
}

/* 收信 toast / 桌面提醒：暖纸底 */
body.onsites-desk.muji-chat .cw-incoming-toast {
  background: var(--mj-surface);
  border: 1px solid var(--mj-line-hard);
  box-shadow: none;
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-incoming-toast-title {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-incoming-toast-text {
  color: var(--mj-ink-2);
}
body.onsites-desk.muji-chat .cw-incoming-toast-x {
  color: var(--mj-ink-3);
}

/* 接收状态面板 */
body.onsites-desk.muji-chat #cwAcceptPanel {
  background: transparent;
  color: var(--mj-ink-2);
}
body.onsites-desk.muji-chat #cwAcceptPanel .cw-nav-accept-switch {
  background: var(--mj-line-hard);
}
body.onsites-desk.muji-chat #cwAcceptPanel.is-on .cw-nav-accept-switch {
  background: var(--mj-live);
}

/* 移动端底部导航 */
body.onsites-desk.muji-chat .cw-mobile-nav {
  background: var(--mj-surface);
  border-top: 1px solid var(--mj-line);
  backdrop-filter: none;
}
body.onsites-desk.muji-chat .cw-mobile-nav-item {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-mobile-nav-item.on,
body.onsites-desk.muji-chat .cw-mobile-nav-item:hover {
  color: var(--mj-wood);
}

/* 右下角 avatar / nav foot */
body.onsites-desk.muji-chat .cw-nav-foot .name {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-nav-foot .role {
  color: var(--mj-ink-3);
}

/* ---------- T11 微交互统一：去发光/渐变/大投影 ---------- */
body.onsites-desk.muji-chat * {
  box-shadow: none !important;
}
body.onsites-desk.muji-chat .cw-avatar {
  background: var(--mj-wood-soft);
  color: var(--mj-wood);
  box-shadow: none !important;
}
body.onsites-desk.muji-chat .cw-input,
body.onsites-desk.muji-chat .cw-textarea,
body.onsites-desk.muji-chat select.cw-input {
  background: var(--mj-surface);
  border: 1px solid var(--mj-line-hard);
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-input:focus,
body.onsites-desk.muji-chat .cw-textarea:focus,
body.onsites-desk.muji-chat select.cw-input:focus {
  border-color: var(--mj-wood);
  box-shadow: none !important;
  outline: none;
}
body.onsites-desk.muji-chat .cw-btn {
  border-radius: var(--mj-radius);
}

/* ---------- T12 文字可读性：压掉 admin-skin 里 chat 相关的 rgba(255,…) 硬编码白字 ----------
   admin-skin 在 body 顶层定义近白 --cw-text，并在一批组件上直接写了 rgba(255,…) 文字色。
   亮底上这些会发灰/发白/看不见。这里统一覆盖成 MUJI 墨色。
   注意用更高的 specificity（body.onsites-desk.muji-chat）压过 body.onsites-desk。 */

/* 消息区：气泡正文 / 用户名 / 时间 / 归档时间 */
body.onsites-desk.muji-chat .cw-post-body {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-name {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-time,
body.onsites-desk.muji-chat .cw-post-gutter-time {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-post--note .cw-post-name,
body.onsites-desk.muji-chat .cw-post--note .cw-post-body {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-post-you {
  background: var(--mj-wood-soft);
  color: var(--mj-wood);
  border: 1px solid var(--mj-line);
}

/* 气泡本身的文字色（防止任何其它 rule 把气泡内文本设成白） */
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--them .cw-post-bubble,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--me .cw-post-bubble,
body.onsites-desk.muji-chat .cw-chat-workspace .cw-post--ai .cw-post-bubble {
  color: var(--mj-ink);
}

/* 频道列表：名称 / 预览 / 时间 / 计数 */
body.onsites-desk.muji-chat .cw-conv-card .time {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-conv-card .name,
body.onsites-desk.muji-chat .cw-conv-card .preview {
  color: var(--mj-ink);
}

/* 会话头部标题/副标题 */
body.onsites-desk.muji-chat .cw-thread-head .title {
  color: var(--mj-ink);
}
body.onsites-desk.muji-chat .cw-thread-head .sub {
  color: var(--mj-ink-3);
}

/* 输入区提示 / placeholder / 行内提示 */
body.onsites-desk.muji-chat .cw-reply-editor::placeholder {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-reply-hint,
body.onsites-desk.muji-chat .cw-composer-bar .cw-composer-hint {
  color: var(--mj-ink-3);
}

/* rail 品牌 hover / 标签 */
body.onsites-desk.muji-chat .cw-rail-brand:hover {
  color: var(--mj-wood-deep);
}
body.onsites-desk.muji-chat .cw-rail-btn.is-on .cw-rail-label {
  color: var(--mj-wood);
}

/* 接收状态面板文字 */
body.onsites-desk.muji-chat #cwAcceptPanel .cw-nav-accept-status,
body.onsites-desk.muji-chat #cwAcceptPanel .cw-nav-accept-hint {
  color: var(--mj-ink-2);
}

/* toast 文字 */
body.onsites-desk.muji-chat .cw-incoming-toast-title,
body.onsites-desk.muji-chat .cw-incoming-toast-text {
  color: var(--mj-ink);
}

/* 空状态 / 加载态文字 */
body.onsites-desk.muji-chat .cw-empty strong {
  color: var(--mj-ink-2);
}
body.onsites-desk.muji-chat .cw-empty span {
  color: var(--mj-ink-3);
}
body.onsites-desk.muji-chat .cw-list-loading,
body.onsites-desk.muji-chat .cw-thread-loading {
  color: var(--mj-ink-3);
}

/* markdown 行内链接文字（气泡内已经 var(--mj-ink) 兜底） */
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-a {
  color: var(--mj-stone-deep);
}
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-pre,
body.onsites-desk.muji-chat .cw-post-bubble.cw-md .cw-md-code {
  color: var(--mj-ink);
}

