/* 慕多 CRM V2 —— 宋式美学 */
:root{
  --bg:#FAF5EC; --bg2:#F1E8D8; --line:#E5DAC8; --ink:#3D3226; --ink2:#8A7A66;
  --primary:#6B4226; --accent:#C08A4E; --green:#2F7D5D; --red:#B5432E; --card:#FFFFFF;
  /* 2026-10-10 补：plan.js 一直引用 --amber 却没定义（浏览器静默失效），统一补上 */
  --amber:#B07D2B;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);font-size:14px}
.hidden{display:none!important}
b{font-weight:600}

/* 登录 */
.login-wrap{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,var(--bg),var(--bg2))}
.login-card{width:380px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:36px 32px;box-shadow:0 8px 30px rgba(107,66,38,.12)}
.login-brand{text-align:center;margin-bottom:26px}
.login-logo{width:56px;height:56px;border-radius:12px;background:var(--primary);color:#FAF5EC;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.login-brand h1{font-size:20px;color:var(--primary)}
.login-brand p{font-size:12px;color:var(--ink2);margin-top:4px}
.form-item{margin-bottom:14px}
.form-item label{display:block;font-size:12px;color:var(--ink2);margin-bottom:5px}
.form-item input,.form-item select,.form-item textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;background:#FFFDF8;color:var(--ink);outline:none}
.form-item input:focus,.form-item textarea:focus{border-color:var(--accent)}
.login-err{background:#FBEDE8;color:var(--red);border-radius:8px;padding:8px 12px;font-size:12.5px;margin-bottom:12px}

/* 按钮 */
.btn{border:none;border-radius:8px;padding:9px 16px;font-size:13.5px;cursor:pointer;background:var(--bg2);color:var(--ink)}
.btn:hover{filter:brightness(.97)}
.btn-primary{background:var(--primary);color:#FAF5EC}
.btn-accent{background:var(--accent);color:#fff}
.btn-green{background:var(--green);color:#fff}
.btn-danger{background:#FBEDE8;color:var(--red)}
.btn-ghost{background:transparent;border:1px solid var(--line)}
.btn-sm{padding:5px 10px;font-size:12.5px}
.btn-block{width:100%;padding:11px;font-size:15px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* 布局 */
.app{display:flex;height:100vh}
.sidebar{width:216px;background:var(--primary);color:#F3EADB;display:flex;flex-direction:column;flex-shrink:0}
.side-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid rgba(250,245,236,.15)}
.side-logo{width:36px;height:36px;border-radius:9px;background:#FAF5EC;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700}
.side-brand b{font-size:15px;display:block}
.side-brand span{font-size:10.5px;opacity:.65}
#nav{flex:1;padding:10px 8px;overflow:auto}
.nav-item{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;color:rgba(250,245,236,.85);margin-bottom:2px}
.nav-item:hover{background:rgba(250,245,236,.08)}
.nav-item.active{background:#FAF5EC;color:var(--primary);font-weight:600}
.nav-group{font-size:11px;color:rgba(250,245,236,.45);padding:12px 12px 4px}
.nav-item .ico{width:18px;text-align:center}
/* 侧栏待办红点（2026-10-14）：待处理数，靠右显示；打开「我的待办」页后清零 */
.nav-badge{margin-left:auto;min-width:17px;height:17px;line-height:17px;padding:0 5px;border-radius:9px;background:var(--red,#C0392B);color:#fff;font-size:10.5px;font-weight:600;text-align:center;flex-shrink:0}
.nav-item.active .nav-badge{background:var(--red,#C0392B);color:#fff}
.side-mini .nav-badge{position:absolute;top:4px;right:6px;min-width:8px;height:8px;padding:0;font-size:0;line-height:0}
.side-mini .nav-item{position:relative}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
/* 账号菜单（2026-10-15 阿祖）：头像从侧栏移到顶栏通知旁，点击弹出「修改密码 / 退出登录」；侧栏底部因此腾出空间 */
.user-wrap{position:relative;display:flex;align-items:center}
.user-btn{background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;border-radius:50%}
.user-btn .avatar{transition:box-shadow .15s ease}
.user-btn:hover .avatar,.user-btn[aria-expanded="true"] .avatar{box-shadow:0 0 0 3px rgba(192,138,78,.28)}
.user-menu{position:absolute;top:38px;right:0;width:min(232px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(61,50,38,.16);z-index:60;padding:6px}
.um-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.um-head b{display:block;font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.um-head span{font-size:11px;color:var(--ink2)}
.um-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;font-family:inherit;font-size:13px;color:var(--ink);padding:9px 10px;border-radius:8px;cursor:pointer;text-align:left}
.um-item:hover{background:var(--bg2)}
.um-item .ico{font-size:14px;line-height:1}
.um-item-danger{color:var(--red)}
.um-item-danger:hover{background:rgba(181,67,46,.09)}
/* 语言切换（2026-10-18 阿祖）：从侧栏底部移到顶栏通知按钮前面；侧栏底部因此整块腾空 */
.top-lang{display:flex;gap:2px;padding:2px;border-radius:8px;background:var(--bg2);border:1px solid var(--line)}
.top-lang .lang-btn{border:0;background:transparent;color:var(--ink2);font-size:11.5px;line-height:1;padding:5px 9px;border-radius:6px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s ease}
.top-lang .lang-btn:hover{color:var(--primary);background:rgba(107,66,38,.06)}
.top-lang .lang-btn.active{background:var(--card);color:var(--primary);font-weight:700;box-shadow:0 1px 3px rgba(61,50,38,.12)}

.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{height:52px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;flex-shrink:0}
.crumb{font-size:15px;font-weight:600;color:var(--primary)}
.topbar-right{display:flex;align-items:center;gap:12px}
.icon-btn{background:none;border:none;font-size:17px;cursor:pointer;position:relative}
.notif-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--red)}
.notif-panel{position:absolute;top:56px;right:16px;width:340px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(61,50,38,.15);z-index:50;padding:8px}
.notif-item{padding:10px;border-bottom:1px dashed var(--line)}
.notif-item:last-child{border:none}
.notif-item b{font-size:13px}
.notif-item p{font-size:12px;color:var(--ink2);margin-top:3px}
.notif-item.unread{background:#FDF9F1}
.page{flex:1;overflow:auto;padding:20px 22px}

/* 卡片与表格 */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.card h3{font-size:14.5px;color:var(--primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h3 .more{margin-left:auto;font-size:12px;color:var(--accent);cursor:pointer;font-weight:400}
.grid{display:grid;gap:14px}
.kpis{grid-template-columns:repeat(6,1fr)}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.kpi .t{font-size:12px;color:var(--ink2)}
.kpi .v{font-size:22px;font-weight:700;color:var(--primary);margin-top:6px}
.kpi .v small{font-size:12px;font-weight:400;color:var(--ink2)}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{background:var(--bg2);color:var(--primary);font-weight:600;text-align:left;padding:9px 10px;white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:hover td{background:#FDF9F1}
.tag{display:inline-block;border-radius:5px;padding:2px 8px;font-size:11.5px;font-weight:600}
.tag-brown{background:#F1E8D8;color:#6B4226}
.tag-gold{background:#F7E9D4;color:#9A6B2F}
.tag-green{background:#E4F1EA;color:#2F7D5D}
.tag-red{background:#FBEDE8;color:#B5432E}
.tag-gray{background:#EFECE6;color:#8A7A66}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px;background:#FFFDF8;color:var(--ink);outline:none}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;font-size:12.5px;color:var(--ink2)}
.empty{text-align:center;color:var(--ink2);padding:36px 0;font-size:13px}

/* 详情页 */
.detail-grid{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:14px;flex-wrap:wrap}
.tab{padding:9px 16px;cursor:pointer;font-size:13.5px;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-2px}
.tab.active{color:var(--primary);font-weight:600;border-color:var(--accent)}
.field{display:flex;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--line)}
.field label{width:76px;color:var(--ink2);flex-shrink:0}
.field span{flex:1;word-break:break-all}
.timeline{position:relative;padding-left:18px}
.timeline::before{content:'';position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 16px 12px}
.tl-item::before{content:'';position:absolute;left:-17px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid #fff}
.tl-item .h{font-size:13px;font-weight:600}
.tl-item .d{font-size:12px;color:var(--ink2);margin-top:2px;white-space:pre-wrap}
.flow-steps{display:flex;gap:6px;flex-wrap:wrap}
.flow-step{padding:5px 12px;border-radius:16px;font-size:12px;background:var(--bg2);color:var(--ink2)}
.flow-step.done{background:var(--green);color:#fff}
.flow-step.current{background:var(--accent);color:#fff;font-weight:700}

/* ============================================================
   客户详情「行动区」：商机阶段横条 / 当前阶段推荐话术 / 下一步行动 / 项目关键信息
   2026-10-14 阿祖第二轮拍板：商机阶段 + 推荐话术都提成整宽横排
   ============================================================ */
.cd-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px;align-items:start}
.cd-grid>.cd-main,.cd-grid>.cd-side{min-width:0}
.cd-side .card{margin-bottom:14px}
.cd-side .card:last-child{margin-bottom:0}
/* 整宽横条（商机阶段 / 推荐话术共用外壳） */
.stage-strip{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:12px}
.stage-strip .ss-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.stage-strip .ss-head h3{font-size:14px;color:var(--primary);font-weight:600}
.stage-strip .ss-prog{font-size:12px;color:var(--ink2);margin-left:auto}
/* 商机阶段：11 个阶段一行横排（窄屏横向滑动，不换行堆高） */
.stage-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto;margin:10px 0 8px;padding-bottom:2px}
.stage-row .pill{flex:none;display:flex;align-items:center;gap:3px;padding:5px 9px;border-radius:15px;font-size:11.5px;background:var(--bg2);color:var(--ink2);white-space:nowrap;border:1px solid transparent}
.stage-row .pill.done{background:#E4F1EA;color:var(--green)}
.stage-row .pill.cur{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 2px 6px rgba(192,138,78,.35)}
.stage-row .pill .ck{font-size:10px}
.stage-row .arrow{flex:none;color:var(--line);font-size:11px}
.stage-strip .ss-desc{font-size:12px;color:var(--ink2);line-height:1.6;background:var(--bg2);border-radius:8px;padding:7px 11px;margin-bottom:10px}
.stage-strip .ss-ops{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* 带说明文字的紧凑下拉（推进到 ▾） */
.inline-sel{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.inline-sel .lb{font-size:12px;color:var(--ink2);padding:0 9px;background:var(--bg2);display:flex;align-items:center;flex:none}
.inline-sel select{border:none;outline:none;background:#fff;font-size:12.5px;padding:7px 6px;color:var(--ink);font-family:inherit;max-width:230px}
/* 当前阶段推荐话术（默认 1 条） */
.script-one{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.script-one .so-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;margin-bottom:6px}
.script-one .so-body{margin:0;font-family:inherit;font-size:12px;line-height:1.7;color:var(--ink2);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;background:var(--bg2);border-radius:8px;padding:9px 12px}
.script-one .so-ops{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
.script-one .so-switch{margin-left:auto;font-size:12px;color:var(--ink2);display:inline-flex;align-items:center;gap:5px}
.script-one .so-switch select{border:1px solid var(--line);border-radius:7px;padding:4px 6px;font-size:12px;background:#FFFDF8;color:var(--ink);font-family:inherit;max-width:250px}
/* 下一步行动 */
.task-suggest{font-size:12px;color:var(--ink2);line-height:1.6;background:var(--bg2);border-left:3px solid var(--accent);border-radius:6px;padding:7px 10px;margin-bottom:8px}
.task-row{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line)}
.task-row:last-child{border-bottom:none}
.task-row.done .tt{text-decoration:line-through;color:var(--ink2)}
.task-chk{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:#fff;font-size:11px;line-height:1;cursor:pointer;padding:0}
.task-row.done .task-chk{background:var(--green);border-color:var(--green)}
.task-txt{flex:1;min-width:0;font-size:12.5px;line-height:1.5}
.task-txt .meta{font-size:11px;color:var(--ink2);margin-top:2px}
.task-del{flex:none;border:none;background:none;color:var(--ink2);font-size:15px;line-height:1;cursor:pointer;padding:0 2px}
.task-del:hover{color:var(--red)}
/* 项目关键信息 */
.key-grid{display:grid;grid-template-columns:1fr;gap:0}
.key-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:6px 0;border-bottom:1px dashed var(--line)}
.key-row:last-child{border-bottom:none}
.key-row span{color:var(--ink2);flex:none}
.key-row b{text-align:right;word-break:break-all}
/* 弹窗里的「什么时候弹提醒」快捷胶囊 */
.radio-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.radio-row label{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:12.5px;background:#fff;cursor:pointer;white-space:nowrap}
.radio-row label.on{border-color:var(--accent);background:#FBF3E7;color:var(--primary);font-weight:600}
.mini-date{border:1px solid var(--line);border-radius:8px;padding:4px 7px;font-size:12.5px;background:#FFFDF8;color:var(--ink);font-family:inherit}
@media(max-width:1080px){.cd-grid{grid-template-columns:1fr!important}}
@media(max-width:520px){
  .key-row{font-size:12px}
  .stage-strip{padding:10px 12px}
  .stage-row .pill{font-size:11px;padding:4px 7px}
  .inline-sel select{max-width:150px}
  .script-one .so-switch{margin-left:0;width:100%}
  .script-one .so-switch select{max-width:100%;flex:1}
}
.toast{position:fixed;bottom:34px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 20px;border-radius:9px;font-size:13.5px;z-index:99;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.modal-mask{position:fixed;inset:0;background:rgba(61,50,38,.4);z-index:80;display:flex;align-items:center;justify-content:center}
.modal{background:#fff;border-radius:14px;width:560px;max-height:86vh;overflow:auto;padding:22px 24px}
.modal h3{color:var(--primary);font-size:16px;margin-bottom:14px}
.modal .ops{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.section-title{font-size:13px;font-weight:600;color:var(--primary);margin:14px 0 8px}
.todo-item{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px dashed var(--line);font-size:13px}
.todo-item:last-child{border:none}
.todo-item .meta{color:var(--ink2);font-size:12px;margin-left:auto;white-space:nowrap}
a.link{color:var(--accent);text-decoration:none;cursor:pointer}
a.link:hover{text-decoration:underline}
.print-wrap{max-width:800px;margin:24px auto;background:#fff;padding:40px 48px;border:1px solid var(--line)}
@media print{.no-print{display:none!important}.print-wrap{border:none;margin:0}}

/* —— V2 新增组件 —— */
.kpi .sub{font-size:11.5px;color:var(--ink2);margin-top:4px}
.badge-red{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:var(--red,#C0392B);color:#fff;border-radius:9px;font-size:11px;padding:0 5px;margin-left:6px}
.prog{height:6px;background:#EFE6D6;border-radius:3px;overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,#C08A4E,#6B4226);border-radius:3px}
.hint{font-size:11.5px;color:var(--ink2);line-height:1.6;margin-top:8px}
.info-box{background:#F1E8D8;border-radius:8px;padding:9px 12px;font-size:12px;color:#6B4226;line-height:1.6;margin-top:10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:12px;font-size:11.5px;color:var(--ink2);cursor:pointer;background:#fff}
.chip.on{background:var(--primary);color:#FAF5EC;border-color:var(--primary)}
.cart-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px dashed var(--line)}
.upbox{margin-top:8px;border:1px dashed var(--line);border-radius:8px;padding:12px;text-align:center;font-size:12px;color:var(--ink2);cursor:pointer}
.upbox:hover{border-color:var(--primary);color:var(--primary)}
.kb-content,.kb-script{white-space:pre-wrap;font-family:inherit;font-size:12.5px;color:var(--ink2);line-height:1.65;margin:6px 0 0;background:#FAF5EC;border-radius:6px;padding:8px 10px}
.kb-script{margin-top:6px}
/* 知识库 · 文件卡片网格（2026-10-07 改版：参考 C 端图册页排版 —— 封面图 + 图上系列名 + 整条下载） */
.kb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.kb-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.kb-card:hover{box-shadow:0 6px 20px rgba(107,66,38,.13);transform:translateY(-1px)}
.kb-card-cover{position:relative;display:block;aspect-ratio:16/9;background:var(--bg2);overflow:hidden}
.kb-card-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.kb-card-badge{position:absolute;top:10px;left:10px;background:rgba(61,50,38,.62);color:#F3E6C8;font-size:11px;padding:2px 8px;border-radius:4px;letter-spacing:.4px}
.kb-card-foot{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;background:linear-gradient(to top,rgba(30,24,18,.78),rgba(30,24,18,.28) 55%,rgba(30,24,18,0));color:#fff}
.kb-card-name{font-size:14px;font-weight:600;line-height:1.35}
.kb-card-sub{font-size:11.5px;opacity:.82;margin-top:2px}
.kb-card-bar{display:flex;align-items:center;gap:8px;padding:8px 11px;border-top:1px solid var(--line);background:#FCF8F1}
.kb-card-dl{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-card-dl:hover{color:var(--accent)}
.kb-card-ops{display:flex;gap:10px;white-space:nowrap;font-size:12.5px}
.kb-card-meta{padding:0 11px 9px;font-size:11px;color:var(--ink2);background:#FCF8F1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1180px){.kb-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.kb-cards{grid-template-columns:1fr;gap:12px}}
.dict-row{padding:7px 0;border-bottom:1px dashed var(--line)}
.dict-row>b{display:block;font-size:12.5px;color:var(--primary);margin-bottom:5px}
.appr-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.appr-cat{background:#FAF5EC;border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;font-size:12.5px}
.appr-cat b{color:var(--primary)}
.hero-card{background:linear-gradient(160deg,#6B4226,#8A6238);border-radius:14px;padding:20px 22px;color:#FAF5EC;display:flex;flex-direction:column}
.hero-kpi{flex:1;background:rgba(250,245,236,.12);border-radius:10px;padding:9px 12px}
.hero-note{background:rgba(47,125,93,.55);border-radius:10px;padding:8px 12px;font-size:12px;color:#FAF5EC;line-height:1.5;margin-top:12px}
.funnel-mini{display:flex;gap:3px;flex-wrap:wrap}
.funnel-mini span{background:#F1E8D8;color:var(--primary);border-radius:4px;font-size:11px;padding:1px 6px}
.conv-mini{font-size:10.5px;color:var(--ink2);margin-top:3px;line-height:1.7;word-break:break-word}
.conv-mini .warn{color:var(--red,#C0392B);font-weight:bold}
.funnel{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.funnel-row{display:flex;align-items:center;gap:10px;width:100%}
.funnel-name{width:110px;font-size:12.5px;color:var(--ink2);flex:none}
.funnel-bar{background:linear-gradient(90deg,#8A6238,#6B4226);color:#FAF5EC;border-radius:6px;font-size:12px;padding:5px 10px;min-width:64px}
.funnel-conv{font-size:11.5px;color:var(--ink2)}
.bars{display:flex;flex-direction:column;gap:6px}
.bar-row{display:flex;align-items:center;gap:8px}
.bar-label{width:96px;font-size:12px;color:var(--ink2);flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:16px;background:#EFE6D6;border-radius:4px;overflow:hidden}
.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#C08A4E,#6B4226)}
.bar-val{width:92px;text-align:right;font-size:12px;flex:none}
.row-warn{background:#FDF3F0}
.timeline .tl-item .h{font-weight:bold;font-size:12.5px}
.timeline .tl-item .d{font-size:12.5px;color:var(--ink2);line-height:1.6;margin-top:2px}

/* 我的目标进度（版式沿用 V1 销售工作台） */
.tg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(218px,1fr));gap:12px}
.tg{background:#FFFDF9;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.tg .t-lab{font-size:12px;color:var(--ink2);display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.tg .t-lab b{color:var(--primary);font-size:12.5px}
.tg .t-lab .t-pct{font-weight:700;color:var(--accent);font-size:13px;flex:none;margin-left:8px}
.tg .pbar{height:10px;border-radius:6px;background:#F0E7DA;overflow:hidden}
.tg .pbar .fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .5s}
.tg .pbar .fill.over{background:linear-gradient(90deg,var(--green),#6DB98A)}
.tg .t-foot{font-size:11px;color:var(--ink2);margin-top:8px;display:flex;justify-content:space-between;gap:10px}
.tg .t-foot span{white-space:nowrap}
.kpi.danger{border-color:var(--red)}
.kpi.danger .v{color:var(--red)}

/* ==========================================================================
   AI 识图三件套（V1 内嵌板块移植 · CSS 变量已换 V2 口径）
   覆盖：图册报价查询 / 供应商图册识图 / 国外品牌款式识别
   ========================================================================== */

/* —— 通用小件（V1 有、V2 没有的） —— */
.badge{display:inline-block;background:var(--bg2);color:var(--primary);border-radius:999px;
  padding:2px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}
.pill{display:inline-block;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}
.pill.o{background:#FCEFE6;color:#B26A2B}
.m-sub{font-size:12.5px;color:var(--ink2);margin:-8px 0 14px;line-height:1.5}
.m-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}

/* —— 图册报价查询（内嵌板块） —— */
.qb-searchrow{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;align-items:stretch}
@media(max-width:820px){.qb-searchrow{grid-template-columns:1fr}}
.qb-drop{border:2px dashed var(--bg2);border-radius:12px;background:#FFFDF8;cursor:pointer;
  padding:18px 14px;text-align:center;transition:.18s}
.qb-drop:hover,.qb-drop.on{border-color:var(--accent);background:var(--bg2)}
.qb-drop .qb-ic{font-size:26px;line-height:1;margin-bottom:6px;opacity:.8}
.qb-drop .qb-t1{font-size:13.5px;font-weight:600;color:var(--ink)}
.qb-drop .qb-t2{font-size:11.5px;color:var(--ink2);margin-top:4px}
.qb-preview{display:none;position:relative;margin-top:10px}
.qb-preview img{max-height:150px;border-radius:10px;border:1px solid var(--line);background:#fff}
.qb-preview .qx{position:absolute;top:-8px;left:-8px;background:var(--ink);color:#fff;border:none;
  border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:12px;line-height:1}
.qb-side{display:flex;flex-direction:column;gap:8px;justify-content:center}
.qb-inp{display:flex;gap:8px}
.qb-inp input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;
  font-size:13.5px;background:#FFFDF8;color:var(--ink);outline:none;font-family:inherit}
.qb-inp input:focus{border-color:var(--accent)}
.qb-filters{display:flex;gap:8px}
.qb-filters select{flex:1;min-width:0;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;
  font-size:12.5px;background:#FFFDF8;color:var(--ink);outline:none;font-family:inherit}
.qb-tip{font-size:11.5px;color:var(--ink2)}
.qb-bar{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink2);margin:14px 2px 10px;flex-wrap:wrap}
.qb-legend{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:11.5px}
.qb-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:8px}
.qb-loading{display:none;text-align:center;padding:34px;color:var(--ink2);font-size:13px}
.qb-spin{width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;
  margin:0 auto 10px;animation:qbsp .8s linear infinite}
@keyframes qbsp{to{transform:rotate(360deg)}}
.qb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px}
.qb-item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;
  transition:.16s;display:flex;flex-direction:column}
.qb-item:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(107,66,38,.13)}
.qb-item .ph{position:relative;background:#FAF8F3;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.qb-item .ph img{width:100%;height:100%;object-fit:contain}
.qb-item .sc{position:absolute;top:7px;right:7px;background:rgba(61,50,38,.82);color:#fff;font-size:10.5px;
  padding:2px 7px;border-radius:999px;font-weight:600}
.qb-item .ni{position:absolute;top:7px;left:7px;background:rgba(255,255,255,.92);color:var(--ink2);font-size:10.5px;
  padding:2px 7px;border-radius:999px;font-weight:600}
.qb-item .bd{padding:9px 10px 11px;display:flex;flex-direction:column;gap:6px;flex:1}
.qb-item .mm{font-size:13px;font-weight:650;line-height:1.3;color:var(--ink);overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.qb-item .sup{font-size:11px;color:var(--ink2)}
.qb-prices{display:flex;flex-direction:column;gap:4px}
.qb-prow{display:flex;align-items:baseline;gap:6px;background:#FBF8F3;border-radius:7px;padding:5px 8px}
.qb-prow .plab{font-size:10.5px;color:var(--ink2);flex:1;min-width:0;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}
.qb-prow .nums{text-align:right;white-space:nowrap}
.qb-prow .retail{font-size:13.5px;font-weight:750;color:var(--red);letter-spacing:-.2px}
.qb-prow .fac{font-size:10px;color:var(--green);margin-left:5px;font-weight:600}
.qb-noprice{font-size:12px;color:var(--ink2);background:#F3EFE8;border-radius:7px;padding:6px 8px;text-align:center}
.qb-empty{padding:32px;text-align:center;color:var(--ink2);font-size:13px}
.qb-mwrap{display:grid;grid-template-columns:1.05fr 1fr;gap:18px}
@media(max-width:820px){.qb-mwrap{grid-template-columns:1fr}}
.qb-mwrap .left{background:#FAF8F3;border-radius:12px;display:flex;align-items:center;justify-content:center;
  padding:12px;min-height:220px}
.qb-mwrap .left img{max-width:100%;max-height:52vh;object-fit:contain;border-radius:8px}
.qb-thumbs{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.qb-thumbs img{width:46px;height:46px;object-fit:cover;border-radius:6px;border:1px solid var(--line);cursor:pointer}
.qb-thumbs img.on{border-color:var(--primary);border-width:2px}
.qb-ptable{margin-top:12px;border-top:1px solid var(--line)}
.qb-ptable .ph2,.qb-ptable .pr{display:grid;grid-template-columns:1fr auto auto;gap:6px 14px;align-items:baseline}
.qb-ptable .ph2{font-size:11px;color:var(--ink2);padding:8px 0 6px;border-bottom:1px solid var(--line)}
.qb-ptable .pr{padding:8px 0;border-bottom:1px dashed var(--line)}
.qb-ptable .pr .lab{font-size:12px;color:var(--ink)}
.qb-ptable .pr .r{font-size:15px;font-weight:750;color:var(--red);text-align:right;white-space:nowrap}
.qb-ptable .pr .f{font-size:12.5px;font-weight:700;color:var(--green);text-align:right;white-space:nowrap}
.qb-kv{display:grid;grid-template-columns:70px 1fr;gap:7px 12px;font-size:12.5px;line-height:1.5;
  border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.qb-kv .k{color:var(--ink2);font-size:12px}

/* 详情弹窗：V2 的 .modal 是 560px，这里按 V1 版式放到 920px（同名优先级，靠后覆盖） */
.qb-modalbox{width:min(920px,94vw);max-width:920px;border-top:3px solid var(--primary)}
.qb-modalbox h3{color:var(--primary)}

/* —— 供应商图册识图（仅授权账号可见 · 内部机密） —— */
.sc-price{font-size:13.5px;font-weight:750;color:var(--red);letter-spacing:-.2px}
.sc-price small{font-size:10px;font-weight:600;color:var(--ink2);margin-left:5px}
.sc-sup{font-size:11px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-tag{position:absolute;bottom:7px;left:7px;max-width:calc(100% - 14px);background:rgba(61,50,38,.82);color:#fff;
  font-size:10.5px;padding:2px 7px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-modalbox{width:min(920px,94vw);max-width:920px;border-top:3px solid var(--red)}
.sc-modalbox h3{color:var(--red)}

/* ===== ERP V2 产品查询复刻（做单查询页 · #erpq 作用域，类名照 ERP style.css） ===== */
#erpq .page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
#erpq .page-title{font-size:19px;font-weight:700;color:var(--ink)}
#erpq .head-btns{display:flex;gap:10px}
#erpq .btn-blue{background:#2E6BE6;color:#fff}
#erpq .btn-brown{background:#8A5A3B;color:#fff}
#erpq .btn-ghost{border-color:#E5E6EB;background:#fff;color:#1F2329}
#erpq .cnt{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#86909C;margin-bottom:10px}
#erpq .legend{font-size:12px;color:#86909C}
#erpq .filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 20px;align-items:end}
#erpq .f-item label{display:block;font-size:12.5px;color:#1F2329;margin-bottom:6px}
#erpq .f-item input,#erpq .f-item select{width:100%;height:36px;border:none;background:#F5F7FA;border-radius:8px;padding:0 12px;font-size:13px;color:#1F2329;outline:none}
#erpq .f-item input::placeholder{color:#A9AEB8}
#erpq .f-btns{display:flex;gap:10px;justify-content:flex-end}
#erpq table{width:100%;border-collapse:collapse}
#erpq th{text-align:left;font-size:12px;color:#86909C;font-weight:500;padding:9px 10px;border-bottom:1px solid #F0F1F3;white-space:nowrap}
#erpq td{padding:9px 10px;border-bottom:1px solid #F7F8FA;font-size:12.5px;vertical-align:middle;color:#1F2329}
#erpq tr:hover td{background:#FAFBFC}
#erpq .link{color:#2E6BE6;cursor:pointer;text-decoration:none}
#erpq .c-red{color:#E5484D}#erpq .c-gray{color:#86909C}
#erpq .pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;line-height:18px;white-space:nowrap}
#erpq .p-green{background:#E8F7EF;color:#22A45D}
#erpq .p-gray{background:#F2F3F5;color:#86909C}
#erpq .img-ph{width:44px;height:44px;border-radius:8px;background:#F2F3F5;color:#C9CDD4;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;overflow:hidden}
#erpq .img-ph img{width:100%;height:100%;object-fit:cover}
#erpq .checkbox{width:15px;height:15px;accent-color:#8A5A3B;cursor:pointer}
#erpq .pager{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding-top:12px;font-size:12.5px;color:#4E5969}
#erpq .pager button{min-width:30px;height:28px;border:1px solid #E5E6EB;background:#fff;border-radius:6px;font-size:12px;cursor:pointer}
#erpq .pager button.on{background:#8A5A3B;color:#fff;border-color:#8A5A3B}
#erpq .placeholder-box{text-align:center;color:#C9CDD4;padding:60px 0;font-size:13px}
#erpq td.mat-cell{max-width:340px;font-size:11.5px;color:#4E5969;line-height:1.5}

/* —— 侧边栏隐藏模式（mini · 2026-10-04）：开关收起为纯图标 —— */
.side-mode{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid rgba(250,245,236,.15);font-size:11.5px;color:rgba(250,245,236,.6);margin-top:auto}
.switch{position:relative;display:inline-block;width:34px;height:19px;flex:none;cursor:pointer}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:rgba(250,245,236,.25);border-radius:999px;transition:.2s}
.slider::before{content:'';position:absolute;width:15px;height:15px;left:2px;top:2px;background:#FAF5EC;border-radius:50%;transition:.2s}
.switch input:checked + .slider{background:#7FB069}
.switch input:checked + .slider::before{transform:translateX(15px)}
.app.side-mini .sidebar{width:60px}
.app.side-mini .side-brand{padding:16px 0;justify-content:center}
.app.side-mini .side-brand > div:not(.side-logo){display:none}
.app.side-mini .nav-group{display:none}
.app.side-mini .nav-item{justify-content:center;padding:10px 0;gap:0}
.app.side-mini .nav-item .lbl{display:none}
.app.side-mini .nav-item .todo-p{display:none}
.app.side-mini .side-mode{justify-content:center;padding:10px 0}
.app.side-mini .side-mode .lbl{display:none}
.sidebar,.side-brand,.nav-item,.side-mode{transition:all .18s ease}

/* 试用期考核看板（2026-10-05） */
.pb-tbl th.c{text-align:center}
.pb-th2{font-size:11px!important;font-weight:400!important;color:var(--ink2)}
.pb-cell{text-align:center;font-size:13px;white-space:nowrap}
.pb-cell b{font-size:14.5px;font-weight:700}
.pb-t{color:var(--ink2);font-size:11.5px}
.pb-x{font-size:10.5px;color:var(--ink2);margin-top:1px}
.pb-cell.ok b{color:var(--green)}
.pb-cell.mid b{color:var(--accent)}
.pb-cell.low b{color:var(--red)}
.pb-sub{font-size:11px;color:var(--ink2);margin-top:3px}
.pb-warn{font-size:10.5px;color:var(--red);margin-top:3px}
.pb-tbl .pill{white-space:nowrap}
.row-dim{opacity:.55}

/* 日报汇总看板（2026-10-05，总经理） */
.pb-grp{margin-bottom:8px}
.pb-grp-t{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
.pb-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.pb-name{width:56px;font-size:12px;color:var(--ink2);text-align:right;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-track{flex:1;height:14px;background:var(--bg);border-radius:7px;overflow:hidden}
.pb-fill{height:100%;border-radius:7px;min-width:2px}
.pb-val{width:36px;font-size:12px;font-weight:600;flex:none}
.tr-wrap{padding:4px 0}
.tr-chart{display:flex;align-items:flex-end;gap:10px;height:130px;padding:0 4px}
.tr-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.tr-bar{display:flex;flex-direction:column;justify-content:flex-end;width:60%;max-width:34px;height:100%;border-radius:4px 4px 0 0;overflow:hidden}
.tr-seg{width:100%}
.tr-lab{font-size:10.5px;color:var(--ink2);margin-top:4px}
.tr-tot{font-size:11px;font-weight:700;color:var(--ink)}
.tr-legend{display:flex;gap:14px;justify-content:center;margin-top:8px;font-size:11.5px;color:var(--ink2)}
.tr-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.dcell{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:10.5px;font-weight:600}
.dcell.ok{background:#E4EFE0;color:#2E7D32}
.dcell.miss{background:#F6E3E0;color:#C0392B}
.dcell.pend{background:#F7EDD3;color:#B8860B;box-shadow:inset 0 0 0 1px var(--accent)}
.hint .dcell{vertical-align:-4px;margin-right:2px}

/* ===== AI 场景出图（2026-10-06） ===== */
.sc-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}
@media(max-width:1100px){.sc-grid{grid-template-columns:1fr}}
.sc-h{font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:8px}
.sc-opt{font-size:11.5px;color:var(--ink2);font-weight:400}
.sc-drop{min-height:130px}
/* 产品图上传（2026-10-07）：右侧列紧凑版上传条 + 缩略图删除 */
.sc-drop.sc-drop-sm{min-height:86px;padding:12px 10px}
.sc-drop.sc-drop-sm .qb-ic{font-size:20px;margin-bottom:3px}
.sc-drop.sc-drop-sm .qb-t1{font-size:13px}
.sc-up-wrap{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 2px}
.sc-up-item{position:relative;width:66px;height:66px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.sc-up-item img{width:100%;height:100%;object-fit:cover;display:block}
.sc-up-item .qx{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.6);color:#fff;border:none;
  border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:12px;line-height:1;padding:0}
.sc-or-line{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink2);margin:8px 0 6px}
.sc-or-line::before,.sc-or-line::after{content:'';flex:1;height:1px;background:var(--line)}
.sc-cust-list{margin-top:6px}
.sc-cust-item{padding:7px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:5px;font-size:13px;cursor:pointer;background:#fff}
.sc-cust-item:hover{border-color:var(--accent);background:var(--bg)}
.sc-results{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}
.sc-prow{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:9px;cursor:pointer;transition:.15s;border:1px solid transparent}
.sc-prow:hover{background:var(--bg)}
.sc-prow.on{background:#F6EEE1;border-color:#E5D5B8}
.sc-prow img{width:52px;height:52px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:#fff;flex-shrink:0}
.sc-pinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sc-pinfo b{font-size:12.5px;color:var(--primary)}
.sc-pinfo span{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-pinfo i{font-size:11px;color:var(--ink2);font-style:normal}
.sc-add{flex-shrink:0;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink2)}
.sc-prow.on .sc-add{background:var(--green);color:#fff;border-color:var(--green)}
.sc-selected{max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px;min-height:44px}
.sc-empty{color:var(--ink2);font-size:12.5px;padding:10px 12px;text-align:center}
.sc-gen-row{display:flex;align-items:flex-end;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sc-note{margin-top:8px;width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;background:#FFFDF8;font-size:13.5px;outline:none}
.sc-note:focus{border-color:var(--accent)}
.sc-gen-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.sc-quota{font-size:12.5px;color:var(--ink2);white-space:nowrap}
.sc-wait{display:flex;align-items:center;gap:14px;margin-top:16px;padding:16px;background:var(--bg);border-radius:12px;font-size:13.5px;color:var(--ink2)}
.sc-result-head{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:var(--green);margin-bottom:10px}
.sc-bigimg{width:100%;max-height:560px;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:zoom-in}
.sc-hist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.sc-hrow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}
.sc-hrow img{width:64px;height:52px;object-fit:cover;border-radius:8px;cursor:zoom-in;flex-shrink:0}
.sc-hist-st{width:64px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11.5px;flex-shrink:0}
.sc-hist-st.pending{background:var(--bg2);color:var(--ink2)}
.sc-hist-st.fail{background:#FBEDE8;color:var(--red)}
.sc-hinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sc-hinfo b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-hinfo span{font-size:11.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-hinfo i{font-size:10.5px;color:var(--ink2);font-style:normal}
.sc-gm-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}
.sc-gm-row label{color:var(--ink2);font-size:12.5px}
.sc-gm-row select,.sc-gm-row input{padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:#FFFDF8;font-size:13px}

/* ===== AI 场景出图 · 二级入口（2026-10-14：「一键白底图」收进本页）===== */
.sc-subentry{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;background:var(--bg2);
  border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.sc-subentry:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(61,50,38,.06)}
.sc-subentry-ic{font-size:22px;line-height:1}
.sc-subentry-tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sc-subentry-tx b{font-size:13.5px;color:var(--primary)}
.sc-subentry-tx i{font-size:12px;color:var(--ink2);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-subentry-go{font-size:12.5px;color:var(--accent);white-space:nowrap}
.sc-back{font-size:12.5px;color:var(--ink2);text-decoration:none;margin-right:10px}
.sc-back:hover{color:var(--primary)}

@media (max-width:860px){
  .sc-subentry-tx i{white-space:normal}
  .sc-subentry-go{display:none}
  /* 引擎下拉的 option 文案长（引擎名 · 单价 · 件数），390px 下按内容宽度撑出屏幕。
     手机上改成竖排、每个控件独占一行，否则 select 与 API Key 输入框会互相挤压。 */
  .sc-gm-row{flex-direction:column;align-items:stretch;gap:7px}
  .sc-gm-row label{margin-top:5px}
  .sc-gm-row select,.sc-gm-row input{flex:none!important;width:100%;min-width:0;max-width:100%}
  .sc-gm-row .btn{width:100%!important}
}

/* ===== AI 场景出图 · 细节补充（2026-10-06 二期） ===== */
.scn-prompt-area{margin-top:18px;padding:14px;background:var(--bg);border-radius:12px}
.scn-h-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.sc-cnt{font-size:11px;color:var(--ink2)}
.sc-cust-input{width:100%;border:1.5px solid var(--line);border-radius:10px;background:#FFFDF8;padding:10px 12px;
  font-size:13.5px;line-height:1.6;resize:vertical;min-height:64px;outline:none;font-family:inherit}
.sc-cust-input:focus{border-color:var(--accent)}
.scn-chips{margin-top:8px}
.chip-cmd{background:#fff}
.chip-cmd:hover{border-color:var(--accent);color:var(--primary)}

/* ===== AI 场景出图 · 页内 Tab + 一键白底图（2026-10-07 四期） ===== */
.sc-tabs{display:flex;gap:6px;margin-left:14px;background:var(--bg2);padding:3px;border-radius:9px}
.sc-tab{border:none;background:transparent;padding:5px 14px;border-radius:7px;font-size:13px;font-weight:600;
  color:var(--ink2);cursor:pointer;font-family:inherit;transition:.15s}
.sc-tab:hover{color:var(--primary)}
.sc-tab.on{background:#fff;color:var(--primary);box-shadow:0 1px 4px rgba(61,50,38,.12)}
.sc-sub-hint{font-size:12px;color:var(--ink2);margin:0 0 12px 2px}
.wb-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}
.wb-result{border:1px solid var(--line);border-radius:12px;background:#FFFDF8;min-height:230px;
  display:flex;align-items:center;justify-content:center;padding:12px}
.wb-out{width:100%;display:flex;flex-direction:column;gap:10px;align-items:center}
.wb-out img{max-width:100%;max-height:330px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:zoom-in}
.wb-out-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.wb-loading{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink2);font-size:13px}
.wb-actions{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.wb2-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.wb2-image{min-height:280px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:var(--ink2);font-size:13px}
.wb2-image img{display:block;max-width:100%;max-height:480px;object-fit:contain}
.wb2-image.wb2-result{background:#fff}
.wb2-drop{min-height:280px}
.wb2-replace{position:absolute;right:10px;bottom:10px;background:#fff}
.wb2-prompt-box{margin-top:18px}
.wb2-prompt-box label{display:block;font-weight:700;color:var(--ink);margin-bottom:8px}
.wb2-prompt-box label span{font-size:12px;font-weight:400;color:var(--ink2)}
.wb2-prompt-box textarea{box-sizing:border-box;width:100%;min-height:86px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;resize:vertical}
.wb2-prompt-box textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.wb2-prompt-hint{margin-top:7px;color:var(--ink2);font-size:12px;line-height:1.6}
.wb2-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.wb2-actions #wb2-status{margin-right:auto;color:var(--ink2);font-size:13px}
.wb2-actions #wb2-download{width:auto;text-decoration:none;color:#fff}
@media(max-width:900px){.wb2-grid{grid-template-columns:1fr}}
@media(max-width:900px){.wb-grid{grid-template-columns:1fr}}

/* ==========================================================================
   响应式增强（2026-10-07）：PC 宽屏 + 手机端自适应
   ≤860px：侧栏转抽屉 + 顶栏汉堡；网格双列/单列；表格横向滚动；触达加大
   ========================================================================== */
.m-burger{display:none}
.side-mask{display:none}
@media (min-width:1600px){
  .page{padding:24px 32px}
}
@media (max-width:860px){
  /* —— 顶栏汉堡 + 抽屉侧栏 —— */
  .m-burger{display:block;font-size:20px;line-height:1;padding:6px 8px;margin-left:-6px}
  .topbar{padding:0 14px}
  .crumb{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  /* 顶栏右侧（2026-10-18）：语言切换 + 通知 + 头像，窄屏收紧间距与字号，crumb 超长自动省略 */
  .topbar-right{gap:8px;flex:none}
  .top-lang .lang-btn{padding:5px 7px;font-size:11px}
  .sidebar{
    position:fixed;top:0;bottom:0;left:0;width:264px;z-index:90;
    transform:translateX(-105%);transition:transform .28s ease;
    box-shadow:none;overflow-y:auto;
  }
  .sidebar.open{transform:translateX(0);box-shadow:14px 0 40px rgba(61,50,38,.28)}
  .side-mask{
    display:block;position:fixed;inset:0;z-index:85;background:rgba(61,50,38,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;
  }
  .side-mask.show{opacity:1;pointer-events:auto}
  /* 手机上禁用 mini 模式（抽屉里图标化没法点），还原被 .side-mini 隐藏的元素 */
  .side-mode{display:none}
  .app.side-mini .sidebar{width:264px}
  .app.side-mini .side-brand{padding:18px 16px;justify-content:flex-start}
  .app.side-mini .side-brand > div:not(.side-logo){display:block}
  .app.side-mini .nav-group{display:block}
  .app.side-mini .nav-item{justify-content:flex-start;padding:10px 12px;gap:9px}
  .app.side-mini .nav-item .lbl{display:inline}
  .app.side-mini .nav-item .todo-p{display:inline}

  /* —— 网格降列（页面 JS 常写内联 grid-template-columns，必须 !important 才压得住） —— */
  .kpis{grid-template-columns:repeat(2,1fr)!important}
  .detail-grid{grid-template-columns:1fr!important}
  .login-card{width:92%;max-width:380px}
  .notif-panel{left:8px;right:8px;width:auto}

  /* —— 表格横向滚动（卡片内滚，不动结构） —— */
  .card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tbl{min-width:560px}

  /* —— 间距与触达 —— */
  .page{padding:14px 12px}
  .btn{padding:11px 16px}
  .btn-sm{padding:8px 12px}
  .nav-item{padding:12px}
  .modal{width:94vw;max-width:560px}
  .modal .ops .btn{flex:1}
  .qb-modalbox,.sc-modalbox{width:96vw}
  .sc-gen-row{flex-direction:column;align-items:stretch;gap:10px}
  .sc-gen-right{justify-content:space-between}
  .field label{width:88px}
}
@media (max-width:680px){
  /* 面板类 grid（内联 1fr 1fr 的双栏卡片）单列化；KPI 保持双列 */
  .grid:not(.kpis){grid-template-columns:1fr!important}
}

/* ==========================================================================
   移动端表格卡片化（2026-10-07 二次优化）：
   ≤860px 表格不再横滚 —— 每行转一张卡片，首列做标题，
   其余 td 用 ::before 显示 thead 列名（data-label 由脚本自动注入）
   ========================================================================== */
@media (max-width:860px){
  .tbl{min-width:0!important;display:block;border:none!important}
  .tbl thead{display:none}
  .tbl tbody{display:block}
  .tbl tr{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:10px;box-shadow:0 1px 4px rgba(61,50,38,.05)}
  .tbl tr:hover td{background:transparent}
  .tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border-bottom:none;font-size:12.5px}
  .tbl td::before{content:attr(data-label);color:var(--ink2);font-size:11.5px;flex-shrink:0;text-align:left}
  /* 首列 = 卡片标题 */
  .tbl td:first-child{font-weight:600;font-size:13.5px;color:var(--primary);padding-bottom:7px;border-bottom:1px dashed var(--line)}
  .tbl td:first-child::before{display:none}
  /* 首列若是复选框/图片列，退回普通标签行 */
  .tbl td:first-child:has(.checkbox)::before{display:inline}
  .tbl td:first-child:has(.checkbox){font-weight:400;font-size:12.5px;color:var(--ink);border-bottom:none;padding-bottom:0}
  .tbl td:has(.img-ph){display:flex}
  .tbl td .img-ph{width:52px;height:52px}
  /* 空单元格（占位列）不撑卡片 */
  .tbl td:empty{display:none}
}

/* ===== AI 软装方案（2026-10-09 立项）：≤860px 降列 ===== */
@media (max-width:860px){
  .plan-cards{grid-template-columns:1fr !important}
  .plan-form{grid-template-columns:1fr !important}
  .plan-lib{grid-template-columns:repeat(2,1fr) !important}
  .plan-manual{grid-template-columns:1fr !important}
  .plan-pages{grid-template-columns:1fr !important}
  .plan-usage{grid-template-columns:1fr !important}
}

/* ===== AI 软装方案 · STEP4 用料面板（2026-10-10） ===== */
/* 逐件卡片：左图右料表。auto-fill 自适应，窄屏由上面的断点降成 1 列 */
.plan-usage{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.plan-usage .pu-part{display:flex;gap:7px;align-items:center;margin:5px 0}
.plan-usage .pu-part .nm{width:78px;flex:none;font-size:11.5px;color:var(--ink2)}
.plan-usage .pu-part select{flex:1;min-width:0;font-size:11.5px;padding:3px 6px}
.plan-usage .pu-dot{width:14px;height:14px;border-radius:4px;flex:none;border:0.5px solid rgba(0,0,0,.16)}
.plan-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.plan-toolbar .sp{flex:1;min-width:8px}
@media (max-width:860px){
  .plan-toolbar .btn{flex:1}
  .plan-toolbar .sp{display:none}
}
/* 建议页色板 */
.plan-swatch{text-align:center}
.plan-swatch .c{width:38px;height:38px;border-radius:8px;border:0.5px solid var(--line)}
.plan-swatch .t{font-size:10px;color:var(--ink2);margin-top:2px}
.plan-sw-row{display:flex;gap:8px;flex-wrap:wrap}

/* ===== 知识库：客户分析 / 公司战略 分区上传功能栏（2026-10-10 新增，admin 专属） ===== */
.kb-upbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border:1.5px dashed var(--line);border-radius:10px;
  background:var(--bg2);padding:11px 14px;margin:2px 0 14px;
}
.kb-upbar-txt{flex:1;font-size:12.5px;color:var(--ink2);min-width:200px;line-height:1.5}
.kb-upbar .btn{white-space:nowrap}
@media (max-width:860px){
  .kb-upbar{padding:10px 12px}
  .kb-upbar .btn{width:100%}
}

/* ===== 材料库（2026-10-10，10 天冲刺计划 D1）===== */
/* 7 大类录入进度条 */
.mt-bars{display:flex;flex-direction:column;gap:7px}
.mt-bar{display:grid;grid-template-columns:72px 1fr 44px 84px;align-items:center;gap:9px;font-size:12px}
.mt-bar .nm{color:var(--ink2)}
.mt-bar .tr{height:8px;background:var(--bg);border-radius:99px;overflow:hidden}
.mt-bar .tr i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--primary))}
.mt-bar .n{text-align:right;font-weight:600;color:var(--primary)}
.mt-bar .tag{justify-self:start}

/* 色卡卡片墙 */
.mt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:12px;padding:14px}
.mt-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#FFFDF8;display:flex;flex-direction:column}
.mt-card .im{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mt-card .im img{width:100%;height:100%;object-fit:cover;display:block}
.mt-card .im .ph{font-size:11.5px;color:var(--ink2)}
.mt-card .bd{padding:9px 11px 11px;display:flex;flex-direction:column;gap:3px}
.mt-card .hd{display:flex;justify-content:space-between;align-items:center;gap:6px}
.mt-card .hd b{font-size:13px;color:var(--primary)}
.mt-card .nm{font-size:12.5px;color:var(--ink);margin-bottom:3px;line-height:1.4}
.mt-card .kv{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink2)}
.mt-card .kv b{color:var(--ink);font-weight:500;text-align:right;word-break:break-all}
.mt-card .ops{display:flex;gap:6px;margin-top:9px}
.mt-card .ops .btn{flex:1}

/* 通用输入框（本模块专用，避免与其它页面撞名） */
.mtin{border:1.5px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px;background:#FFFDF8;color:var(--ink);outline:none;font-family:inherit}
.mtin:focus{border-color:var(--accent)}

/* 弹窗表单：2 列 → 移动端 1 列 */
.mtf{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.mtf-cell{display:grid;gap:5px;font-size:12px;color:var(--ink2)}
.mtf-cell > span > i{font-style:normal;color:var(--red)}
.mtf-cell input,.mtf-cell select,.mtf-cell textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:#FFFDF8;color:var(--ink);outline:none;font-family:inherit}
.mtf-cell input:focus,.mtf-cell select:focus,.mtf-cell textarea:focus{border-color:var(--accent)}

@media (max-width:860px){
  .mtf{grid-template-columns:1fr}
  .mt-grid{grid-template-columns:repeat(2,1fr);padding:10px;gap:10px}
  .mt-bar{grid-template-columns:60px 1fr 36px;gap:7px}
  .mt-bar .tag{display:none}
  /* 手机上改成「左图右文」的紧凑行，避免每张卡占掉整屏 */
  .mt-card{flex-direction:row}
  .mt-card .im{width:88px;flex:none;height:88px;aspect-ratio:1;align-self:flex-start}
  .mt-card .bd{flex:1;min-width:0;padding:8px 10px}
  .mt-card .ops{margin-top:6px}
}
@media (max-width:520px){
  .mt-grid{grid-template-columns:1fr}
}
.mt-dot{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid rgba(0,0,0,.14);margin-right:5px;vertical-align:-1px}

/* ===== AI 软装方案 · STEP4 页签 / 软装搭配图 Mood Board（2026-10-11，按《AI软装方案页面设计V1》页面⑥复刻） ===== */
.plan-tabbar{display:flex;gap:2px;border-bottom:2px solid var(--line);flex-wrap:wrap}
.plan-tabbar .tab{padding:9px 16px;cursor:pointer;font-size:13.5px;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-2px}
.plan-tabbar .tab.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}
/* 卡片容器：米白纸张底 */
.moodboard{position:relative;display:grid;grid-template-columns:18.5% 1.5px 1fr;grid-template-rows:auto 1fr;
  background:linear-gradient(160deg,#F6F0E4,#F1EADB);border:1px solid #E4D7C0;border-radius:13px;overflow:hidden;
  aspect-ratio:2.08/1;box-shadow:0 8px 30px rgba(107,66,38,.13)}
.mb-title{grid-column:1/-1;grid-row:1;padding:15px 22px 11px}
.mb-title h3{margin:0;font-family:"Songti SC","SimSun",serif;font-size:clamp(13px,1.7vw,20px);color:var(--ink);font-weight:700;letter-spacing:.02em}
.mb-title-sep{color:var(--accent);margin:0 2px}
.mb-title p{margin:2px 0 0;font-size:clamp(9px,1vw,12px);color:var(--ink2);letter-spacing:.14em}
.mat-column{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(4,1fr);gap:7px;padding:4px 12px 14px;min-height:0}
.mat-swatch{display:flex;flex-direction:column;gap:4px;min-height:0}
.sw-color{flex:1;border-radius:5px;border:1px solid rgba(0,0,0,.08);min-height:26px}
.mat-swatch p{margin:0;font-size:clamp(7px,.78vw,10.5px);line-height:1.35;color:var(--ink2)}
.mat-swatch p b{color:var(--primary)}
.mat-divider{grid-column:2;grid-row:2;background:#3D3226;opacity:.7;margin:2px 0 12px}
.mb-stage{grid-column:3;grid-row:2;position:relative;padding:0;min-height:0}
/* 产品白底图：multiply 把白底溶进纸张底色 */
.mbp-wrap{position:absolute}
.mbp-wrap img{width:100%;display:block;mix-blend-mode:multiply;filter:drop-shadow(0 4px 5px rgba(61,50,38,.22))}
.mbp-cap{font-family:"KaiTi","STKaiti","Kaiti SC",cursive;font-size:clamp(9px,1.05vw,13.5px);color:var(--ink);font-weight:600;line-height:1.25;text-align:center}
.mbp-cap small{display:block;font-size:.82em;color:var(--ink2);font-weight:400}
.mbp-wrap.hero .mbp-cap{font-size:clamp(11px,1.3vw,16px)}
.mbp-opt{position:absolute;border:1.6px dashed #B7A483;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--ink2);background:rgba(255,255,255,.25)}
.mbp-opt span{font-size:clamp(7px,.85vw,11px);text-align:center;line-height:1.4;padding:0 4px}
.mini-palette{position:absolute;right:14px;bottom:11px;display:flex;gap:4px;background:rgba(255,255,255,.6);padding:4px 6px;border-radius:7px;border:1px solid #E4D7C0}
.mini-palette i{width:clamp(9px,1.3vw,16px);height:clamp(9px,1.3vw,16px);border-radius:3px;border:1px solid rgba(0,0,0,.1);display:block}
/* PPT 页面结构缩略 */
.ppt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ppt-slide p{font-size:12px;color:var(--ink2);margin:8px 0 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ppt-slide p em{font-style:normal;color:var(--accent);font-family:"Songti SC","SimSun",serif;font-size:11px}
.ps-thumb{position:relative;height:150px;border-radius:8px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;background:#FFFDF8;text-align:center}
.ppt-slide.key .ps-thumb{border-color:#AECFBE;box-shadow:0 0 0 2px rgba(47,125,93,.12)}
.ps-thumb.cover{background:linear-gradient(150deg,#4E2F1A,#6B4226 70%,#7C5230);color:#F7EAD8}
.ps-thumb.cover b{font-family:"Songti SC","SimSun",serif;font-size:12.5px;line-height:1.4}
.ps-thumb.cover span{font-size:9px;opacity:.75}
.ps-no{position:absolute;top:6px;left:8px;font-size:10px;color:var(--accent);font-family:"Songti SC","SimSun",serif}
@media (max-width:860px){
  .ppt-grid{grid-template-columns:repeat(2,1fr)}
  .moodboard{aspect-ratio:1.05/1;grid-template-columns:1fr;grid-template-rows:auto 30% 1fr}
  .mat-column{grid-row:2;grid-column:1;grid-template-rows:1fr;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 14px}
  .mat-swatch p{display:none}
  .mat-divider{grid-row:2;grid-column:1;height:1.5px;width:auto;margin:6px 14px}
  .mb-stage{grid-row:3;grid-column:1}
}

/* —— 日报「内容效果」填报（2026-10-12 阿祖拍板：新媒体运营团队在日报里补效果数据） —— */
.cdst-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cdst-tbl input{width:100%;min-width:70px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:#FFFDF8;color:var(--ink);font-size:13px;text-align:right}
.cdst-tbl input:focus{outline:none;border-color:var(--accent);background:#fff}
.cdst-tbl td{padding:4px 6px}
/* 平台名不许换行（「小红书」「视频号」「公众号」在窄列里会被挤成两行） */
.cdst-tbl td:first-child{white-space:nowrap;padding-right:12px}
.cdst-tbl + .hint,.cdst-wrap + .hint{margin-top:7px}
/* 移动端：双栏降单栏 + 输入框吃掉剩余宽度（标签由 data-label 的 ::before 渲染） */
@media (max-width:860px){
  .cdst-cols{grid-template-columns:1fr}
  .cdst-tbl input{min-width:0;width:auto;flex:1;text-align:right}
}

/* —— AI 排版搭配图（2026-10-12 阿祖拍板：真实产品参考图 + AI 只做排版氛围） —— */
.moodai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.moodai-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.moodai-card.picked{outline:2px solid var(--green)}
.moodai-img{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:var(--bg)}
.moodai-wm{position:absolute;right:6px;bottom:6px;font-size:10px;background:rgba(0,0,0,.45);color:#fff;padding:2px 6px;border-radius:4px;pointer-events:none}
@media (max-width:860px){
  .moodai-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* —— 搭配图「贴纸化」升级（2026-10-13 阿祖参考图效果：白描边+投影+挂画背景+手写箭头+FF&E 标题条） —— */
.mb-title{position:relative}
.mb-title .mbt-r1{display:flex;align-items:baseline;gap:10px;border-top:1.5px solid var(--ink);padding-top:8px}
.mb-title .mbt-r1 h3{font-size:clamp(14px,1.9vw,22px)}
.mb-title .mbt-en{font-family:Georgia,"Times New Roman",serif;font-size:clamp(8px,.9vw,11.5px);color:var(--primary);font-weight:600;letter-spacing:.08em}
.mb-title .mbt-r2{font-size:clamp(9px,1.05vw,13px);color:var(--ink);margin-top:2px}
.mb-title .mbt-r2 i{font-style:normal;font-family:Georgia,serif;color:#B0A28C;font-size:.85em;letter-spacing:.04em}
.mb-title .mbt-page{position:absolute;right:22px;top:14px;font-family:Georgia,serif;font-size:clamp(8px,.9vw,11.5px);color:var(--ink2);letter-spacing:.08em}
.mb-prop{position:absolute;object-fit:cover;filter:drop-shadow(0 5px 9px rgba(70,52,32,.20));pointer-events:none}
.mb-prop-fg{height:auto!important}
.mb-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
/* 贴纸滤镜：4 层白 drop-shadow 拼出描边 + 1 层深色投影（透明 PNG 上生效） */
.mbp-wrap img{mix-blend-mode:normal;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 6px 10px rgba(70,52,32,.30))}

/* —— 公海池「勾选多条批量标无效」（2026-10-14 阿祖要求；导出 Excel 已按 10-15 要求移除） —— */
.bulk-bar{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:0 0 8px;background:var(--bg2);
  border:1px solid var(--line);border-radius:8px;font-size:12.5px;flex-wrap:wrap}
.bulk-bar .bulk-n{font-weight:600;color:var(--primary)}
.bulk-bar .btn[disabled]{opacity:.45;cursor:not-allowed}
.tbl input[type=checkbox]{width:15px;height:15px;margin:0;cursor:pointer;vertical-align:middle;accent-color:var(--primary)}
.tbl th.c>input[type=checkbox],.tbl td.c>input[type=checkbox]{display:block;margin:0 auto}
@media (max-width:860px){
  .bulk-bar{gap:6px}
  .bulk-bar .hint{width:100%;margin:0}
}

/* —— 我的待办（2026-10-14 阿祖）：窄屏行内换行，避免标签被挤成竖排 —— */
#td-body .todo-item .meta{max-width:420px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:860px){
  #td-body .todo-item{flex-wrap:wrap;align-items:flex-start;row-gap:6px}
  #td-body .todo-item .meta{margin-left:0;white-space:normal;flex:1 1 100%;max-width:none;overflow:visible}
  #td-body .todo-item .tag{white-space:nowrap}
  #td-body .todo-item .btn{margin-left:auto}
}

/* —— 话术库「按场景 / 按阶段」分段切换（2026-10-14 阿祖） —— */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-left:10px;vertical-align:middle}
.seg .seg-b{border:0;background:transparent;padding:5px 11px;font-size:12.5px;color:var(--ink2);cursor:pointer;font-family:inherit;line-height:1.4}
.seg .seg-b+.seg-b{border-left:1px solid var(--line)}
.seg .seg-b.active{background:var(--primary);color:#fff;font-weight:600}
.seg .seg-b:hover:not(.active){background:var(--bg2)}

/* —— 知识库话术库卡头：窄屏换行（2026-10-14，标题行加了「按场景/按阶段」切换后必须补） —— */
@media (max-width:860px){
  #kb-scripts-card h3{flex-wrap:wrap;row-gap:6px;align-items:center}
  #kb-scripts-card h3 .more{margin-left:0;flex:1 1 100%;order:9;white-space:normal;line-height:1.5}
  #kb-scripts-card h3 .seg{margin-left:0;order:3}
  #kb-scripts-card h3 input{flex:1 1 140px;width:auto!important;order:4}
  #kb-scripts-card h3>.btn{order:5}
}

.wb2-fast-badge{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;background:rgba(17,24,39,.72);color:#fff;font-size:12px;text-align:center;pointer-events:none}
