/* ===== 手机外壳(2026-11-03,js/mobile-shell.js):全部挂在 body.m-shell 下,只在 ≤768px 生效 ===== */
.ms-bar, .ms-tabs { display: none; }

/* ---- 顶栏:返回 + 居中标题,原来的汉堡/徽标/今日要事/AI 助手/头像都收起(入口挪到底栏和「全部」页) ---- */
body.m-shell .topbar { height: 48px; padding: 0 !important; background: #fff; border-bottom: 1px solid #efeaf4; }
body.m-shell .topbar > :not(.ms-bar) { display: none !important; }
body.m-shell .ms-bar { display: flex; align-items: center; width: 100%; height: 100%; padding: 0 4px; }
.ms-back, .ms-side { flex: none; width: 44px; height: 44px; }
.ms-back { border: 0; background: none; color: #36313e; font-size: 30px; line-height: 40px; cursor: pointer; }
.ms-back[hidden] { display: block !important; visibility: hidden; }
.ms-title { flex: 1; min-width: 0; text-align: center; font-size: 17px; font-weight: 600; color: #26222c;
            overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- 左侧图标栏/菜单抽屉不要了;内容铺满,不再是「卡片套在灰底上」 ---- */
body.m-shell .side-rail, body.m-shell .menu-panel, body.m-shell .m-nav-backdrop { display: none !important; }
body.m-shell .main-wrap { padding: 0 0 calc(56px + env(safe-area-inset-bottom, 0px)) !important; gap: 0 !important; }
body.m-shell .content { border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }

/* ---- 底栏 ---- */
body.m-shell .ms-tabs {
  display: grid; grid-template-columns: repeat(5, 1fr);
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 120;   /* 详情(150)/表单(180)/弹窗(200)盖在它上面 */
  height: calc(56px + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px);
  background: #fff; border-top: 1px solid #efeaf4; box-shadow: 0 -2px 12px rgba(60, 40, 90, .05);
}
.ms-tabs a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
             gap: 3px; color: #8d8597; font-size: 11px; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.ms-tabs a svg { width: 23px; height: 23px; }
.ms-tabs a.on { color: var(--green, #aa7cce); font-weight: 600; }
.ms-badge { position: absolute; top: 5px; left: calc(50% + 6px); min-width: 16px; height: 16px; padding: 0 4px;
            border-radius: 8px; background: #f04a3a; color: #fff; font: 600 10px/16px sans-serif; font-style: normal; text-align: center; }
.ms-badge[hidden] { display: none; }

/* 钉钉群面板(#ding/group):群里点开的半屏/侧边栏,不要底栏 */
body.m-shell.ms-panel .ms-tabs { display: none; }
body.m-shell.ms-panel .main-wrap { padding-bottom: 0 !important; }

/* 右下角 AI 浮动按钮手机上不要(2026-11-03 用户定):底栏有「AI」、详情页有「✦ AI 助手」,
   那两个入口直接调 CRMAIWidget.open(),不依赖这颗按钮 */
body.m-shell .aiw-fab { display: none !important; }

/* iPhone 上输入框字号 <16px 一点就整页放大,放大后还缩不回去 */
body.m-shell input:not([type=checkbox]):not([type=radio]), body.m-shell select, body.m-shell textarea { font-size: 16px !important; }

/* ---- 「全部」页 ---- */
/* .content 是 overflow:hidden 的 flex 列(各页自己管滚动)—— 「全部」页得自己滚,不然手机上划不动 */
.ma-page { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
           padding: 12px 14px 20px; background: #f6f3f9; }
.ma-hero { margin: -12px -14px 0; padding: 22px 18px 44px;
           background: url(../assets/mobile-icons/banner-all.jpg?v=1) right top / cover no-repeat,
                       linear-gradient(160deg, #f5eefc 0%, #e7dbf6 100%); }
.ma-me { display: flex; align-items: center; gap: 12px; }
.ma-avatar { flex: none; width: 52px; height: 52px; border-radius: 50%; color: #fff; font-size: 21px; font-weight: 600;
             display: grid; place-items: center; border: 3px solid rgba(255,255,255,.85);
             background: linear-gradient(135deg, #c39ae8, #9363c9); box-shadow: 0 6px 16px rgba(120, 70, 170, .25); }
.ma-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ma-who b { font-size: 19px; color: #2a2232; }
.ma-who small { font-size: 12.5px; color: #6f6479; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ma-acts { display: flex; gap: 8px; margin-top: 14px; }
.ma-btn { flex: none; border: 0; background: rgba(255,255,255,.78); border-radius: 15px; padding: 6px 13px;
          font-size: 12.5px; color: #5d4f6b; backdrop-filter: blur(6px); }
.ma-search { position: relative; display: flex; align-items: center; gap: 8px; margin: -22px 0 4px; padding: 0 14px; height: 44px;
             border-radius: 22px; background: #fff; color: #9a92a4; box-shadow: 0 6px 18px rgba(90, 60, 130, .10); }
.ma-search svg { width: 17px; height: 17px; flex: none; }
.ma-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; }
.ma-sec { margin-top: 12px; padding: 14px 6px 6px; border-radius: 16px; background: #fff; box-shadow: 0 2px 10px rgba(90, 60, 130, .04); }
.ma-sec[hidden] { display: none; }
.ma-sec h2 { display: flex; align-items: center; gap: 7px; margin: 0 10px 6px; font-size: 15px; font-weight: 600; color: #2f2836; }
.ma-sec h2::before { content: ''; width: 4px; height: 14px; border-radius: 2px; background: linear-gradient(#c39ae8, #9363c9); }
.ma-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ma-tile { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 2px; border-radius: 10px;
           color: #3d3645; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.ma-tile[hidden] { display: none; }
.ma-tile:active { background: #f4edfb; }
.ma-ico { width: 40px; height: 40px; border-radius: 12px; background: #f4edfb; color: var(--green, #aa7cce);
          display: grid; place-items: center; }
.ma-ico svg { width: 22px; height: 22px; }
.ma-ico .m-ico { display: grid; place-items: center; margin: 0; }
.ma-ico-img { width: 48px; height: 48px; background: none; border-radius: 0; }
.ma-ico-img img { width: 48px; height: 48px; display: block; object-fit: cover; border-radius: 13px;
                  box-shadow: 0 4px 10px rgba(80, 60, 120, .16); }   /* 图是铺满的直角方图,圆角在这里切 */
.ma-fallback { display: none; }
.ma-lbl { font-size: 12px; line-height: 1.3; text-align: center; overflow-wrap: anywhere; }
.ma-none { margin: 30px 0; text-align: center; color: #9a92a4; font-size: 13px; }

/* ---- 详情页顶栏(手机):原来名字一行、AI 助手一行、十个按钮折成三行,还挤着锁/上一条/下一条/刷新/全屏 ----
   改成:第一行「客户」+ 名字(可两行)+ 右上角 ✕;第二行 AI 助手 + 全部操作按钮一行左右滑。
   锁、翻页、刷新、全屏在手机上收起(锁定/解锁按钮还在操作条里)。 */
body.m-shell .fx-detail .fd-head { position: relative; height: auto; display: grid; grid-template-columns: auto minmax(0, 1fr) 40px;
  align-items: center; gap: 8px; padding: 10px 12px 8px; overflow: visible; }
body.m-shell .fx-detail .fd-obj { grid-row: 1; grid-column: 1; justify-self: start; }
body.m-shell .fx-detail .fd-name { grid-row: 1; grid-column: 2; min-width: 0; font-size: 17px; line-height: 1.3;
  white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; text-align: left; }
body.m-shell .fx-detail .fd-lock, body.m-shell .fx-detail .fd-nav { display: none; }
/* 手机上不要的三个(2026-11-03 用户定):AI 助手(底栏已有「AI」)、业务群(还没接群,点了只有提示)、开收据;电脑上照旧 */
body.m-shell .fx-detail .fd-agent,
body.m-shell .fx-detail [data-detail-action="业务群"],
body.m-shell .fx-detail [data-detail-action="开收据"] { display: none !important; }
body.m-shell .fx-detail .fd-m-only { display: inline-flex; align-items: center; }
/* justify-content 必须从左排:桌面是靠右排的,横滑时左边溢出的按钮滑不回来 */
body.m-shell .fx-detail .fd-btns { grid-row: 2; grid-column: 1 / 4; position: static; margin-left: 0; min-width: 0; flex-wrap: nowrap; justify-content: flex-start;
  overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; }
body.m-shell .fx-detail .fd-btns::-webkit-scrollbar { display: none; }
body.m-shell .fx-detail .fd-btns .crm-btn { flex: none; height: 32px; border-radius: 16px; padding: 0 13px; white-space: nowrap; }
body.m-shell .fx-detail .fd-btns .fd-ico { display: none; }
body.m-shell .fx-detail .fd-btns .fd-close { display: grid; place-items: center; position: absolute; top: 8px; right: 8px;
  width: 36px; height: 36px; font-size: 18px; }
/* 服务阶段推进器:五个箭头一行左右滑,不折成 3+2 */
body.m-shell .fx-detail .fd-stage-bar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
body.m-shell .fx-detail .fd-stage-bar::-webkit-scrollbar { display: none; }
body.m-shell .fx-detail .fd-stage-step { flex: none; min-width: 88px; padding: 0 18px 0 14px; }

/* ===== 手机:客户列表 / 今日要事 / 事项台账(2026-11-03 用户要求「布局更合理,处理更方便」)===== */
/* -- 列表页(客户等所有对象列表):搜索占一整行在最上;业务类型 + 筛选一行;
      收起:数据分析面板(看业绩用「业绩」页)、在线小绿点、视图切换六个图标、列设置、智能表单 / 导入 / ···、底部「当前页」合计 */
body.m-shell .li-panel, body.m-shell .live-dot, body.m-shell .view-icons, body.m-shell .f-tools, body.m-shell .f-space,
body.m-shell .lc-btns [data-btn="智能表单"], body.m-shell .lc-btns [data-btn="导入"], body.m-shell .lc-btns .icon-btn,
body.m-shell .lc-foot .sum-item { display: none !important; }
body.m-shell .lc-head { padding: 10px 12px 0; flex-wrap: nowrap; }
body.m-shell .lc-head .view-tabs { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
body.m-shell .lc-btns [data-btn="新建"] { height: 32px; border-radius: 16px; padding: 0 14px; }
body.m-shell .lc-filter { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
body.m-shell .lc-filter .f-search { order: -1; flex: 1 1 100%; width: auto; min-width: 0; height: 40px; border-radius: 20px; }
body.m-shell .lc-filter .f-search input { min-width: 0; }
body.m-shell .lc-filter .f-select { flex: 1 1 0; min-width: 0; height: 34px; border-radius: 17px; }
body.m-shell .lc-filter .f-btn { flex: none; height: 34px; border-radius: 17px; }
body.m-shell .lc-foot { justify-content: center; }

/* -- 今日要事:标题和顶栏重复,收起;八个计数一行左右滑;团队逾期的长说明只露两行 */
body.m-shell .td-top h2 { display: none; }
body.m-shell .td-top { align-items: center; margin-bottom: 10px; }
body.m-shell .td-top p { font-size: 12.5px; }
body.m-shell .td-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -14px 12px; padding: 0 14px 2px; }
body.m-shell .td-chips::-webkit-scrollbar, body.m-shell .td-seg::-webkit-scrollbar,
body.m-shell .ml-buckets::-webkit-scrollbar, body.m-shell .ml-cats::-webkit-scrollbar { display: none; }
body.m-shell .td-chip { flex: none; white-space: nowrap; }
body.m-shell .td-thead .td-hint { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.m-shell .td-seg { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
body.m-shell .td-seg button { flex: none; white-space: nowrap; }

/* -- 事项台账:标题和长说明收起;「我所在的群 / 我负责的」+ 搜索各占一行;状态、分类各一行左右滑;
      勾选后的批量操作条浮在底栏上面(原来在列表上方,勾完要滑回顶上才能点) */
body.m-shell .ml-top h2, body.m-shell .ml-top > div > p { display: none; }
body.m-shell .ml-top { display: block; margin-bottom: 8px; }
body.m-shell .ml-tools { display: flex; flex-direction: column; gap: 8px; }
body.m-shell .ml-mode { display: grid; grid-template-columns: 1fr 1fr; }
body.m-shell .ml-search { display: flex; }
body.m-shell .ml-search input { flex: 1; min-width: 0; }
body.m-shell .ml-buckets, body.m-shell .ml-cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-bottom: 8px; }
body.m-shell .ml-buckets button, body.m-shell .ml-cats button { flex: none; white-space: nowrap; }
body.m-shell .ml-batch:not([hidden]) { position: fixed; top: auto; left: 8px; right: 8px; bottom: calc(64px + env(safe-area-inset-bottom, 0px)); z-index: 130;
  margin: 0; align-content: flex-start; gap: 6px; box-shadow: 0 -4px 20px rgba(40, 60, 110, .18); }   /* top:auto —— 桌面是 sticky top:0,不清掉会上下撑满 */
body.m-shell .ml-batch input { flex: 1 1 100%; min-width: 0; }
body.m-shell .ml-batch button { padding: 6px 10px; }
body.m-shell .td-card-empty { display: none; }               /* 空的分类不占一屏:顶上计数已经写着 0 */
body.m-shell .td-card .td-hint { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ===== 手机 AI 首页(参照钉钉 AI 助理):问候 + 技能宫格 4×2 + 输入框上方快捷问;输入框贴底 ===== */
.ws-skills, .ws-quick { display: none; }
body.m-shell .ws-agent.ws-empty .aiw-page-panel { justify-content: flex-start; padding: 8px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
body.m-shell .ws-agent.ws-empty .ws-hero { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 10px 0 18px; }
body.m-shell .ws-agent.ws-empty .ws-hero .ws-mascot { width: 64px; height: 70px; }
body.m-shell .ws-agent.ws-empty .ws-hero h1 { font-size: 20px; text-align: center; }
body.m-shell .ws-agent.ws-empty .ws-skills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.m-shell .ws-skills button { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 4px 12px; border: 0; border-radius: 14px;
  background: #fff; box-shadow: 0 2px 10px rgba(110, 70, 170, .06); color: #2f2836; font-size: 13px; cursor: pointer; }
body.m-shell .ws-skills i { display: grid; place-items: center; color: #8a5cd0; }
body.m-shell .ws-skills svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.m-shell .ws-agent.ws-empty .ws-quick { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: auto -14px 10px; padding: 0 14px; }
body.m-shell .ws-quick::-webkit-scrollbar { display: none; }
body.m-shell .ws-quick button { flex: none; padding: 8px 14px; border: 0; border-radius: 12px; background: #fff; color: #3d3645; font-size: 13.5px;
  box-shadow: 0 2px 8px rgba(110, 70, 170, .06); white-space: nowrap; }
body.m-shell .ws-agent.ws-empty .aip-input { border-radius: 18px; }

/* AI 首页松一点(2026-11-03 用户:「太紧了,不像钉钉的有间距」):浅灰底衬白卡片、宫格间距和内边距加大、
   小机器人缩小、侧栏开关收起、快捷问和输入框白底浮起 */
body.m-shell .ws-agent.ws-empty, body.m-shell .ws-agent.ws-empty .aiw-page-panel { background: #f4f3f8; }
body.m-shell .ws-agent .ws-agent-top [data-ws-side] { display: none; }
body.m-shell .ws-agent.ws-empty .aiw-page-panel { padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); }
body.m-shell .ws-agent.ws-empty .ws-hero { gap: 4px; margin: 18px 0 26px; }
body.m-shell .ws-agent.ws-empty .ws-hero .ws-mascot { width: 46px; height: 50px; }
body.m-shell .ws-agent.ws-empty .ws-hero h1 { font-size: 21px; letter-spacing: .5px; }
body.m-shell .ws-agent.ws-empty .ws-skills { gap: 14px 12px; }
body.m-shell .ws-skills button { gap: 10px; padding: 20px 4px 16px; border-radius: 18px; box-shadow: 0 1px 2px rgba(60, 40, 90, .04); font-size: 14px; }
body.m-shell .ws-skills svg { width: 28px; height: 28px; }
body.m-shell .ws-agent.ws-empty .ws-quick { gap: 10px; margin-bottom: 12px; }
body.m-shell .ws-quick button { padding: 10px 16px; border-radius: 14px; box-shadow: 0 1px 2px rgba(60, 40, 90, .05); }
body.m-shell .ws-agent.ws-empty .aip-input { background: #fff; border-radius: 22px; box-shadow: 0 4px 16px rgba(60, 40, 90, .06); }

/* 再紧凑一点(2026-11-03 用户:「框框还是大」「机器人去掉」「整体上移」) */
body.m-shell .ws-agent.ws-empty .ws-hero .ws-mascot { display: none; }
body.m-shell .ws-agent.ws-empty .ws-hero { margin: 6px 0 16px; }
body.m-shell .ws-agent.ws-empty .ws-hero h1 { font-size: 19px; }
body.m-shell .ws-agent.ws-empty .ws-skills { gap: 10px; }
body.m-shell .ws-skills button { gap: 7px; padding: 13px 2px 11px; border-radius: 14px; font-size: 13px; }
body.m-shell .ws-skills svg { width: 23px; height: 23px; }
body.m-shell .ws-agent.ws-empty .ws-agent-top { display: none; }   /* 空首页这一条只剩空白(侧栏/纠错按钮都不显示),收掉让内容上移 */

/* 今日要事(手机):每件事一张白卡片、卡片之间留 10px,不再只靠一条细线分隔(2026-11-03 用户:「分不清第一个和第二个」) */
body.m-shell .td-group ul, body.m-shell .td-card ul { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; }
body.m-shell .td-group ul { padding: 10px; background: #f5f3f9; }
body.m-shell .td-group .td-item, body.m-shell .td-card .td-item { margin: 0; padding: 12px; border: 0 !important; border-radius: 12px;
  background: #fff; box-shadow: 0 1px 4px rgba(60, 40, 90, .07); }
body.m-shell .td-card ul { padding: 0; }
body.m-shell .td-card .td-item { background: #faf8fd; box-shadow: none; }
body.m-shell .td-line { align-items: flex-start; gap: 6px; }
body.m-shell .td-line b { line-height: 1.45; }
body.m-shell .td-acts { margin-top: 10px; }

/* ===== 客户详情(手机)第二版:照 Codex 效果图 ~/fxxk-private/mobile-detail-design/out/mock-detail.png ===== */
/* 顶栏:‹ 返回 / 「客户详情」/ 编辑;原来的名字、标签、AI 助手、那排按钮都收起(名字进头卡,按钮进「更多」) */
body.m-shell .fx-detail .fd-head { display: flex; justify-content: space-between; align-items: center; height: 48px; padding: 0 4px; gap: 0; }
body.m-shell .fx-detail .fd-head > :not(.fd-m-only) { display: none !important; }
body.m-shell .fx-detail .fd-m-back { width: 44px; height: 44px; border: 0; background: none; color: #7d4fc0; font-size: 30px; line-height: 1; justify-content: center; }
body.m-shell .fx-detail .fd-m-title { font-size: 16.5px; font-weight: 600; color: #26222c; }
body.m-shell .fx-detail .fd-m-edit { border: 0; background: none; color: #7d4fc0; font-size: 15px; padding: 0 12px; height: 44px; }
body.m-shell .fx-detail .fd-m-edit-sp { width: 44px; }
body.m-shell .fx-detail .fd-chips, body.m-shell .fx-detail .fd-keycard { display: none !important; }
body.m-shell .fx-detail .fd-body { background: #f6f3f9; padding: 12px 12px 24px; }
/* 头卡 */
body.m-shell .fx-detail .fd-mhero { display: block; padding: 16px; margin-bottom: 14px; border-radius: 16px; background: #fff; box-shadow: 0 2px 12px rgba(110, 70, 170, .07); }
body.m-shell .fd-mh-name { font-size: 21px; font-weight: 800; line-height: 1.35; color: #26222c; overflow-wrap: anywhere; }
body.m-shell .fd-mh-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
body.m-shell .fd-mh-tag { padding: 2px 10px; border-radius: 12px; background: #f1edf5; color: #5d5566; font-size: 12.5px; line-height: 20px; }
body.m-shell .fd-mh-tag.fd-mh-ok { background: #e7f6ee; color: #1b8a4b; font-weight: 600; }
body.m-shell .fd-mh-tag.fd-mh-deal { border: 0; background: #fff3e0; color: #a35a00; font: inherit; font-size: 12.5px; }
body.m-shell .fx-detail .fd-head .fd-deal-tag { display: none; }
body.m-shell .fd-mh-line { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; color: #3d3645; }
body.m-shell .fd-mh-av { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #b58ae6, #8a5cd0); color: #fff; font-size: 13px; font-style: normal; font-weight: 600; }
body.m-shell .fd-mh-follow::before { content: '·'; margin-right: 8px; color: #c9c2d1; }
body.m-shell .fd-mh-follow.lcc-cold { color: #d64545; font-weight: 600; }
/* 四个快捷按钮 */
body.m-shell .fx-detail .fd-mquick { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 14px; }
body.m-shell .fd-mq { display: flex; flex-direction: column; align-items: center; gap: 6px; border: 0; background: none; color: #3d3645; font-size: 13px; cursor: pointer; }
body.m-shell .fd-mq i { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: #efe9fb; color: #7d4fc0; }
body.m-shell .fd-mq.fd-mq-main i { background: linear-gradient(135deg, #a57ddc, #8a5cd0); color: #fff; box-shadow: 0 4px 12px rgba(138, 92, 208, .3); }
body.m-shell .fd-mq svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* 服务分工 2×2 */
body.m-shell .fx-detail .fd-mteam { display: block; }
body.m-shell .fd-mteam-grid { display: grid; grid-template-columns: 1fr 1fr; }
body.m-shell .fd-mteam-grid div { display: flex; flex-direction: column; gap: 3px; padding: 10px 4px; border-top: 1px solid #f1edf5; }
body.m-shell .fd-mteam-grid div:nth-child(-n+2) { border-top: 0; }
body.m-shell .fd-mteam-grid div:nth-child(odd) { border-right: 1px solid #f1edf5; padding-right: 12px; }
body.m-shell .fd-mteam-grid div:nth-child(even) { padding-left: 14px; }
body.m-shell .fd-mteam-grid span { font-size: 12.5px; color: #8d8597; }
body.m-shell .fd-mteam-grid b { font-size: 15px; color: #26222c; font-weight: 600; }
/* 卡片统一:白底 16px 圆角 */
body.m-shell .fx-detail .fd-card { border: 0; border-radius: 16px; box-shadow: 0 2px 10px rgba(110, 70, 170, .05); margin-bottom: 12px; }
body.m-shell .fx-detail .fd-stage .fd-card-tit small { display: none; }
/* 页签吸顶;字段分组各自一张卡,只看有值的(手机默认关掉「显示全部信息」) */
body.m-shell .fx-detail .fd-tabs-card { background: transparent; box-shadow: none; padding: 0; }
body.m-shell .fx-detail .fd-tabs { position: sticky; top: -12px; z-index: 3; margin: 0 -12px; padding: 0 12px; background: #f6f3f9; }
body.m-shell .fx-detail .fd-switch { justify-content: flex-end; padding: 8px 4px; }
body.m-shell .fx-detail .fd-group { margin-bottom: 12px; padding: 12px 14px; border-radius: 16px; background: #fff; box-shadow: 0 2px 10px rgba(110, 70, 170, .05); }
body.m-shell .fx-detail .fd-gtit { font-size: 15px; font-weight: 700; color: #26222c; }
body.m-shell .fx-detail .fd-f { display: flex; gap: 10px; padding: 9px 0; border-top: 1px solid #f3f0f6; }
body.m-shell .fx-detail .fd-f .fk { flex: none; width: 96px; color: #8d8597; }
body.m-shell .fx-detail .fd-f .fv { flex: 1; min-width: 0; color: #26222c; }
body.m-shell .fd-msheet { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 12px; }
body.m-shell .fd-msheet button { height: 44px; border: 0; border-radius: 12px; background: #f4f2f7; color: #3d3645; font-size: 14.5px; }
body.m-shell .fx-detail .fd-mteam ~ .fd-tabs-card .fd-group[data-gname="服务分工"] { display: none; }   /* 头部已有服务分工卡,字段区不再列一遍 */

/* ===== 今日要事(手机)第三版:照事项台账的样子 —— 筛选在上、下面一件一张卡、点开才露处理按钮(2026-11-03) ===== */
body.m-shell .td-fold .td-chips { position: sticky; top: 0; z-index: 4; padding: 8px 14px; margin: 0 -14px 6px; background: #f6f3f9; }
body.m-shell .td-fold .td-chip[aria-pressed="true"] { background: #8a5cd0; border-color: #8a5cd0; color: #fff; }
body.m-shell .td-fold .td-chip[aria-pressed="true"] b { color: #fff; }
body.m-shell .td-fold .td-card, body.m-shell .td-fold .td-team { background: transparent; border: 0; box-shadow: none; padding: 0; margin-bottom: 14px; }
body.m-shell .td-fold .td-card > h3 { margin: 4px 2px 8px; font-size: 14px; color: #5d5566; }
body.m-shell .td-fold .td-card > .td-hint { display: none; }
body.m-shell .td-fold .td-card .td-item { background: #fff; padding: 12px 12px 10px; border-left: 4px solid #c9c2d1 !important; box-shadow: 0 1px 4px rgba(60, 40, 90, .07); }
body.m-shell .td-fold [data-card="urgent"] .td-item { border-left-color: #d64545 !important; }
body.m-shell .td-fold [data-card="promised"] .td-item, body.m-shell .td-fold [data-card="warnings"] .td-item { border-left-color: #f0a020 !important; }
body.m-shell .td-fold [data-card="nudged"] .td-item { border-left-color: #8a5cd0 !important; }
body.m-shell .td-fold [data-card="todos"] .td-item { border-left-color: #3d7cf2 !important; }
body.m-shell .td-fold .td-item.td-late { border-left-color: #d64545 !important; }
/* 收起时只看事;点开露出按钮和表单 */
body.m-shell .td-fold .td-item:not(.td-open) .td-acts, body.m-shell .td-fold .td-item:not(.td-open) .td-form { display: none !important; }
body.m-shell .td-fold .td-item:not(.td-open)::after { content: '点开处理 ›'; display: block; margin-top: 6px; font-size: 12px; color: #8a5cd0; }
body.m-shell .td-fold .td-item.td-open { box-shadow: 0 4px 16px rgba(110, 70, 170, .14); }

/* ===== AI 对话(手机):顶栏「新对话」回技能首页;回答下的「接着问」替掉输入框上那排重复的建议(2026-11-04) ===== */
body.m-shell .ws-agent:not(.ws-empty) .ws-agent-top .ws-m-new { display: inline-flex; align-items: center; gap: 4px; flex: none; margin-left: auto; height: 32px; padding: 0 12px; border: 1px solid #e6defa; border-radius: 16px; background: #f7f4fe; color: #6b4fd0; font-size: 13px; }
body.m-shell .ws-agent .ws-m-new svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body.m-shell .ws-agent .ws-m-new + .ws-top-right { margin-left: 4px; }
body.m-shell .ws-agent .aiw-page-panel [data-aiw-tasks] { display: none !important; }
body.m-shell .ws-agent .ws-follow { margin-top: 12px; }
body.m-shell .ws-agent .ws-follow .aiw-chip { padding: 7px 13px; font-size: 13.5px; }
/* 对话中的输入框收成一行(📎 + 发送在右边),底部「内容由 AI 生成」挪进输入框提示里;顶栏右边的纠错反馈记录员工用不上,手机上不放 */
body.m-shell .ws-agent:not(.ws-empty) .aiw-page-panel .aip-input { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 4px; width: calc(100% - 20px); margin-bottom: 8px; padding: 5px 6px 5px 14px; border-radius: 22px; box-shadow: 0 2px 10px rgba(92, 64, 140, .08); }
body.m-shell .ws-agent:not(.ws-empty) .aip-input [data-aiw-files] { flex: 1 1 100%; }
body.m-shell .ws-agent:not(.ws-empty) .aip-input textarea { flex: 1; min-width: 0; height: 40px; min-height: 40px; max-height: 96px; padding: 10px 0 8px; font-size: 15px; line-height: 1.4; }
body.m-shell .ws-agent:not(.ws-empty) .aip-input .aip-tools { flex: none; gap: 2px; padding-bottom: 1px; }
body.m-shell .ws-agent:not(.ws-empty) .aip-input .ws-agent-pick, body.m-shell .ws-agent:not(.ws-empty) .aip-input .ws-split { display: none; }
body.m-shell .ws-agent:not(.ws-empty) .aip-input .aip-send { width: 36px; height: 36px; }
body.m-shell .ws-agent .aiw-page-panel .aip-foot { display: none; }
body.m-shell .ws-agent .ws-agent-top .ws-top-right { display: none; }
/* 系统报警卡片(js/api.js showSysAlerts,2026-11-04):手机上浮在标题栏下面 —— 放底下会盖住 AI 的输入框和底栏 */
body.m-shell #sysAlerts { left: 12px !important; right: 12px !important; max-width: none !important;
  top: calc(56px + env(safe-area-inset-top, 0px)) !important; }
