/* 用户确认的后续视觉收口：居中 Dock、横排独立环节卡、底部进度日志监听。 */
:root{--mc-task-height:260px}
@media(min-width:761px){
  .功能顶栏{top:82px}
  .功能顶栏 p{display:none}
}

.系统Dock nav button.已选中{
  border-color:rgba(255,255,255,.96);
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 28px rgba(42,76,119,.14),inset 0 1px #fff;
}
.系统Dock nav button.已选中 small{color:#435b76}
body[data-current-page="xiaohongshu"]{--mc-task-height:230px}
body[data-current-page="xiaohongshu"] .环节画布{
  padding-top:138px;
  padding-bottom:calc(var(--mc-task-height) + 24px);
}
.独立环节组{
  width:min(var(--环节组宽度),100%);
  display:grid;
  grid-template-columns:repeat(var(--环节数量),minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.独立环节组>.环节卡{
  min-height:304px;
  padding:18px 16px 0;
  grid-template-rows:auto auto minmax(68px,1fr) auto 48px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.94);
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(239,246,253,.8));
  box-shadow:0 20px 48px rgba(47,77,116,.14),inset 0 1px #fff;
  backdrop-filter:blur(24px) saturate(1.2);
}
.独立环节组>.环节卡,
.独立环节组>.环节卡 *{
  writing-mode:horizontal-tb;
  text-orientation:mixed;
}
.独立环节组 .环节内部顶部 small{font-size:11px;line-height:1.35}
.独立环节组 .环节状态{font-size:10px;line-height:1.3}
.独立环节组 .环节主标题 strong{font-size:17px;line-height:1.3}
.独立环节组>.环节卡>p{font-size:12px;line-height:1.55;word-break:normal;overflow-wrap:break-word}
.独立环节组 .环节操作{font-size:11px}
.独立环节组>.环节卡+.环节卡{
  border-left:1px solid rgba(255,255,255,.94);
}
.独立环节组>.环节卡+.环节卡::before{
  left:-19px;
  top:50%;
  z-index:4;
}
.独立环节组>.环节卡.当前{
  border:1px solid rgba(84,143,226,.54);
  background:linear-gradient(180deg,rgba(233,243,255,.94),rgba(255,255,255,.78));
  box-shadow:0 22px 52px rgba(47,96,165,.2),inset 0 3px #347ff2;
}
body[data-current-page="xiaohongshu"] .主环节卡组{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body[data-current-page="xiaohongshu"] .独立环节组>.主环节卡{
  min-width:0;
  min-height:304px;
  padding:13px 13px 0;
  grid-template-rows:auto auto auto minmax(112px,1fr) 38px;
  border-radius:var(--workbench-action-radius);
  overflow:hidden;
  cursor:pointer;
}
body[data-current-page="xiaohongshu"] .独立环节组>.环节卡+.环节卡::before{display:none}
body[data-current-page="xiaohongshu"] .主环节卡 .环节内部顶部{gap:5px}
body[data-current-page="xiaohongshu"] .环节内部顶部 small{
  min-width:0;
  overflow:hidden;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-current-page="xiaohongshu"] .环节状态{padding:4px 7px;font-size:10px}
body[data-current-page="xiaohongshu"] .主环节卡 .环节主标题{padding:8px 0 4px;gap:7px}
body[data-current-page="xiaohongshu"] .主环节卡 .环节主标题 img{width:30px;height:30px;padding:7px;border-radius:var(--workbench-action-radius)}
body[data-current-page="xiaohongshu"] .主环节卡 .环节主标题 strong{font-size:17px}
body[data-current-page="xiaohongshu"] .主环节卡>p{
  display:-webkit-box;
  overflow:hidden;
  min-height:24px;
  margin-top:1px;
  font-size:11px;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.卡内子环节列表{
  min-width:0;
  margin-top:5px;
  display:grid;
  align-content:start;
  gap:3px;
}
.卡内子环节{
  min-width:0;
  min-height:50px;
  height:auto;
  padding:6px 8px;
  display:grid;
  gap:2px;
  text-align:left;
  color:#334b67;
  border:1px solid rgba(123,153,188,.15);
  border-radius:var(--workbench-action-radius);
  background:rgba(255,255,255,.46);
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.卡内子环节:hover,.卡内子环节:focus-visible,.卡内子环节.当前{
  border-color:rgba(69,130,215,.38);
  background:rgba(232,242,255,.92);
  outline:none;
  transform:translateY(-1px);
}
.卡内子环节>span:first-child{
  min-width:0;
  display:grid;
  grid-template-columns:5px minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
}
.卡内子环节>span:first-child>i{width:5px;height:5px;border-radius:50%;background:#42b979}
.卡内子环节.等待>span:first-child>i{background:#dfa33e}
.卡内子环节.受阻>span:first-child>i{background:#df7a64}
.卡内子环节 strong{overflow:hidden;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.卡内子环节 em{color:#74879d;font-size:10px;font-style:normal;white-space:nowrap}
.卡内子环节>small{
  overflow:hidden;
  color:#8292a5;
  font-size:9.5px;
  line-height:1.45;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.卡内子环节指标{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.卡内子环节指标 .环节值{min-width:0;margin:0;overflow:hidden;color:#2767b9;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.卡内子环节指标 u{color:#3677c7;font-size:9.5px;text-decoration:none;white-space:nowrap}
body[data-current-page="xiaohongshu"] [data-main-stage="generation"] .卡内子环节{height:37px;min-height:37px;padding:3px 8px}
body[data-current-page="xiaohongshu"] [data-main-stage="generation"] .卡内子环节>small{display:none}
body[data-current-page="xiaohongshu"] .主环节卡>.环节操作{height:38px;margin:0 -13px;padding:0 12px;font-size:10px}
body[data-current-page="xiaohongshu"] .主环节卡.当前>.环节操作{height:32px;margin:3px -7px 3px;padding:0 8px}
.任务进程{
  grid-template-columns:1fr;
  grid-template-rows:44px 64px minmax(0,1fr);
  justify-content:stretch;
}
.类型数据库摘要{display:grid;gap:6px;margin:10px 0}.类型数据库摘要 p{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--workbench-action-radius);background:rgba(236,243,250,.8)}.类型数据库摘要 b{color:#27445f}.类型数据库摘要 span{color:#64809b;text-align:right}.当前类型数据库{margin-bottom:14px;padding:12px;border-radius:var(--workbench-action-radius);background:rgba(233,243,255,.82)}.类型实例列表{display:grid;gap:10px;margin-top:16px}.类型实例行{padding:12px;border:1px solid rgba(141,159,181,.24);border-radius:var(--workbench-action-radius)}.类型操作{display:flex;flex-wrap:wrap;gap:8px}.类型操作 button{min-height:34px;padding:0 11px;border-radius:var(--workbench-action-radius);background:#eaf2fb;color:#2468b5}.类型操作 .危险操作{background:#fff0ed;color:#a34636}
.画布控制{position:absolute;z-index:8;left:132px;bottom:calc(var(--mc-task-height) + 42px);height:38px;padding:4px;display:flex;align-items:center;gap:3px;border:1px solid rgba(135,158,183,.34);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(44,76,113,.14);backdrop-filter:blur(18px)}
.画布控制[hidden]{display:none}.画布控制 button{height:29px;min-width:30px;padding:0 9px;border-radius:var(--workbench-action-radius);background:transparent;color:#37658f;font-size:11px;font-weight:700}.画布控制 button:hover,.画布控制 button:focus-visible{background:#eaf3fc;outline:2px solid rgba(10,132,255,.16)}.画布控制 output{min-width:46px;color:#5f7890;font-size:10px;text-align:center}
body[data-current-page="xiaohongshu"] .环节画布{align-items:flex-start;justify-content:flex-start;cursor:grab;overscroll-behavior:contain;touch-action:none}
body[data-current-page="xiaohongshu"] .环节画布.正在拖动画布{cursor:grabbing;user-select:none}
body[data-current-page="xiaohongshu"] .环节轨道 {
  width:max-content;
  min-width:100%;
  align-items:flex-start;
  justify-content:flex-start;
  transform-origin:0 0;
}
.小红书树状画布{flex:0 0 1660px;width:1660px;display:grid;gap:54px;margin:0;padding:24px 0 180px;color:#173b5d;filter:none}
.小红书树状画布>.主环节卡组{margin-left:240px}
.类型链路树区{width:1660px;display:grid;gap:24px;scroll-margin:190px 30px 30px;outline:none}
.链路树主体{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:stretch;gap:60px;padding:10px 0 20px}
.树根节点{position:relative;align-self:center;min-height:190px;padding:22px 18px;display:flex;flex-direction:column;border:1px solid rgba(10,132,255,.38);border-radius:var(--workbench-action-radius);background:linear-gradient(150deg,#fff,#eaf5ff);box-shadow:0 18px 42px rgba(44,92,145,.14);z-index:2}.树根节点::after{content:"";position:absolute;top:50%;right:-31px;width:30px;height:2px;background:#80b5e8}.树根节点 small{color:#6487a8;font-size:10px}.树根节点 strong{margin-top:24px;color:#173f65;font-size:18px}.树根节点 p{margin-top:9px;color:#607b94;font-size:11px;line-height:1.6}.树根节点 span{margin-top:auto;align-self:flex-start;padding:5px 8px;border-radius:var(--workbench-action-radius);background:#e5f2ff;color:#286da9;font-size:10px;font-weight:700}
.树分支列表{position:relative;display:grid;gap:22px}.树分支列表::before{content:"";position:absolute;z-index:0;left:-31px;top:105px;bottom:105px;width:2px;background:#80b5e8}
.树分支行{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:stretch;gap:18px;min-height:210px;scroll-margin:150px 30px 30px}.树分支行::before{content:"";position:absolute;z-index:0;left:-30px;top:104px;width:30px;height:2px;background:#80b5e8}.树分支行::after{content:"";position:absolute;z-index:1;left:-34px;top:100px;width:10px;height:10px;border:2px solid #dbeeff;border-radius:50%;background:#3188db}
.树类型节点{position:relative;z-index:2;min-width:0;min-height:210px;padding:16px 14px;display:flex;flex-direction:column;border:1px solid rgba(126,153,184,.24);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.95);box-shadow:0 14px 32px rgba(44,76,113,.09)}.树类型节点::after{content:"";position:absolute;right:-19px;top:50%;width:18px;height:2px;background:#9bc2e7}.原子分支 .树类型节点{border-color:rgba(10,132,255,.3);background:linear-gradient(150deg,#fff,#edf7ff)}.树类型节点 small{color:#7890a6;font-size:10px}.树类型节点 h3{margin:14px 0 6px;color:#24435f;font-size:16px}.树类型节点 p{color:#6a8198;font-size:10px;line-height:1.55}.树类型节点>span{margin-top:10px;align-self:flex-start;padding:5px 8px;border-radius:var(--workbench-action-radius);background:#eef3f8;color:#697f94;font-size:9px}.树类型节点>span.已启用{background:#e7f6ef;color:#19724f}.树类型节点>span.未启用{background:#fff2dd;color:#965b1b}
.类型链路操作{display:flex;justify-content:flex-end;margin-top:auto;padding-top:12px}.类型链路操作 button{min-height:32px;width:100%;padding:0 9px;border-radius:var(--workbench-action-radius);background:#eaf3fc;color:#2468b5;font-size:10px;font-weight:700}.类型链路操作 .主操作{background:#0a84ff;color:#fff}
.类型链路横排{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.类型链路卡{position:relative;z-index:2;min-width:0;min-height:210px;padding:16px 14px;display:flex;flex-direction:column;border:1px solid rgba(126,153,184,.22);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.94);box-shadow:0 14px 32px rgba(44,76,113,.09)}.类型链路卡:not(:last-child)::after{content:"→";position:absolute;z-index:3;right:-12px;top:50%;width:10px;color:#75a5d5;font-size:16px}.链路卡序号{color:#7b91a6;font-size:10px}.类型链路卡>strong{margin-top:16px;font-size:16px}.类型链路卡>p{margin-top:7px;color:#637c93;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.类型链路卡>small{margin-top:8px;color:#8495a6;font-size:10px;line-height:1.45}.类型链路卡>button,.链路只读标记{margin-top:auto;min-height:34px;padding:0 10px;display:flex;align-items:center;justify-content:center;border-radius:var(--workbench-action-radius);background:#eaf3fc;color:#2468b5;font-size:11px;font-weight:700}.链路只读标记{background:#f0f3f6;color:#718397}.画布关键词{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;max-height:58px;overflow:hidden}.画布关键词 span{padding:4px 6px;border-radius:var(--workbench-action-radius);background:#eef6ff;color:#3474b6;font-size:9px}
@media(max-width:760px){.画布控制{left:14px;bottom:calc(var(--mc-task-height) + 166px);max-width:calc(100vw - 28px)}.画布控制 button{padding-inline:7px}.小红书树状画布{width:100%;min-width:0;gap:36px;padding-bottom:120px}.小红书树状画布>.主环节卡组{margin-left:0}.类型链路树区{width:100%}.链路树主体{grid-template-columns:1fr;gap:42px}.树根节点{width:calc(100% - 42px);min-height:160px}.树根节点::after{top:auto;right:50%;bottom:-43px;width:2px;height:42px}.树分支列表{padding-left:42px}.树分支列表::before{left:20px;top:80px;bottom:80px}.树分支行{grid-template-columns:1fr;gap:28px}.树分支行::before{left:-22px;top:79px;width:22px}.树分支行::after{left:-26px;top:75px}.树类型节点{min-height:160px}.树类型节点::after{top:auto;right:50%;bottom:-29px;width:2px;height:28px}.类型链路横排{grid-template-columns:1fr}.类型链路卡{min-height:180px}.类型链路卡:not(:last-child)::after{right:50%;top:auto;bottom:-18px;transform:translateX(50%) rotate(90deg)}.配置验证过程{grid-template-columns:1fr}}
.任务启动按钮{
  min-width:126px;
  height:36px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:var(--workbench-action-radius);
  background:#347ff2;
  color:#fff;
  font-size:12px;
  font-weight:700;
  box-shadow:0 12px 28px rgba(43,111,214,.28),inset 0 1px rgba(255,255,255,.35);
}
.任务启动按钮:hover,.任务启动按钮:focus-visible{background:#266fdf;outline:3px solid rgba(52,127,242,.2);outline-offset:2px}
.任务启动按钮[hidden]{display:none}
.任务诊断日志{margin:8px 0;padding:8px 9px;border:1px solid rgba(104,139,180,.16);border-radius:var(--workbench-action-radius);background:rgba(238,245,253,.72);color:#5f748c;font-size:9px}
.任务诊断日志 header{display:grid;gap:3px}.任务诊断日志 header>b{color:#2c527d}.任务诊断日志 header>strong{color:#a94e40}.任务诊断日志 header>span{line-height:1.35}.任务诊断日志 header>em{color:#a55245;font-style:normal;font-weight:700;overflow-wrap:anywhere}
.任务诊断日志>div{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 10px}.任务诊断日志>div span{white-space:nowrap}.任务诊断日志>div b{color:#355d89;font-weight:700}
.任务诊断日志.紧凑{grid-column:1/-1;margin:3px 0 0;padding:4px 0 0;border:0;border-top:1px solid rgba(104,139,180,.16);border-radius:0;background:transparent;overflow:hidden}
.任务诊断日志.紧凑 header{display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}.任务诊断日志.紧凑 header>span{overflow:hidden;text-overflow:ellipsis}.任务诊断日志.紧凑>div{margin-top:3px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.任务诊断日志.紧凑>div::-webkit-scrollbar{display:none}
.日志入口{min-width:58px;height:28px;padding:0 16px;border:1px solid rgba(93,145,213,.24);border-radius:var(--workbench-action-radius);background:rgba(232,242,255,.88);color:#2c6fc8;font-size:11px;font-weight:700;box-shadow:inset 0 1px rgba(255,255,255,.8)}
.日志入口:hover,.日志入口:focus-visible{background:#347ff2;color:#fff;outline:3px solid rgba(52,127,242,.18);outline-offset:2px}
.日志遮罩{position:fixed;z-index:80;inset:0;background:rgba(44,68,98,.22);backdrop-filter:blur(4px)}
.日志遮罩[hidden],.日志弹层[hidden]{display:none}
.日志弹层{position:fixed;z-index:90;left:50%;top:50%;width:min(720px,calc(100vw - 48px));max-height:min(680px,calc(100vh - 48px));transform:translate(-50%,-50%);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:var(--workbench-action-radius);background:rgba(247,251,255,.96);box-shadow:0 30px 90px rgba(35,67,104,.3),inset 0 1px #fff;backdrop-filter:blur(28px) saturate(1.2)}
.日志弹层>header{min-height:84px;padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(122,152,187,.18)}
.日志弹层>header h2{margin:4px 0 0;color:#1d3558;font-size:20px}
.日志弹层>header>button{width:36px;height:36px;border-radius:var(--workbench-action-radius);background:#eaf1f7;color:#4d6179;font-size:23px}
.日志弹层>header>button:hover,.日志弹层>header>button:focus-visible{background:#dceaff;outline:3px solid rgba(52,127,242,.18)}
.日志内容{min-height:0;padding:18px 20px 22px;overflow:auto;scrollbar-width:thin}
.日志任务摘要{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.日志任务摘要>div{min-width:0;padding:11px 12px;border:1px solid rgba(122,152,187,.14);border-radius:var(--workbench-action-radius);background:rgba(235,243,252,.78)}
.日志任务摘要 span{display:block;color:#73869d;font-size:10px}.日志任务摘要 strong{display:block;margin-top:5px;overflow:hidden;color:#2b527f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.日志任务摘要>p{grid-column:1/-1;overflow-wrap:anywhere;color:#60748c;font-size:11px;line-height:1.5}
.日志内容>.任务诊断日志{margin:13px 0 0;padding:12px 13px;font-size:11px}.日志内容>.任务诊断日志 header{gap:6px}.日志内容>.任务诊断日志>div{gap:7px 14px}
.日志事件区{margin-top:16px}.日志事件区>header{display:flex;align-items:center;justify-content:space-between}.日志事件区 h3{margin:0;color:#263f60;font-size:14px}.日志事件区>header span{color:#73869d;font-size:11px}
.日志明细列表{margin:10px 0 0;padding:0;display:grid;gap:8px;list-style:none}
.日志明细项{padding:12px 13px;border:1px solid rgba(122,152,187,.16);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.72)}
.日志明细项>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.日志明细项>header>span{min-width:0;display:flex;align-items:center;gap:8px}.日志明细项>header i{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#dfa33e}.日志明细项.completed>header i{background:#35b874}.日志明细项.running>header i{background:#347ff2}.日志明细项.failed>header i{background:#d66a55}
.日志明细项>header strong{overflow:hidden;color:#2c4d73;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.日志明细项>header b{flex:0 0 auto;color:#6c8199;font-size:10px}.日志明细项.failed>header b{color:#ad4d3d}.日志明细项.running>header b{color:#276fd0}.日志明细项.completed>header b{color:#19724f}
.日志明细项>p{margin-top:7px;color:#5f748c;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.日志明细项>footer{margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8998aa;font-size:10px}.日志明细项>footer em{color:#ad4d3d;font-style:normal;font-weight:700;overflow-wrap:anywhere}
.日志空状态{padding:26px;text-align:center;color:#7d8ea3;font-size:12px}
body[data-current-page="xiaohongshu"] .环节状态.运行中{color:#246bc8;background:#e5f0ff}
body[data-current-page="xiaohongshu"] .环节状态.已完成{color:#19724f;background:#e8f6ef}
body[data-current-page="xiaohongshu"] .环节状态.失败{color:#ad4d3d;background:#fff0ed}
@media(max-height:800px) and (min-width:1101px){
  body[data-current-page="xiaohongshu"] .环节画布{align-items:flex-start;padding-top:118px}
  body[data-current-page="xiaohongshu"] .独立环节组>.主环节卡{height:312px;min-height:312px}
  body[data-current-page="xiaohongshu"] .主环节卡>p{min-height:24px;visibility:visible}
}
.采集结果网格{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.采集结果网格 div{padding:10px;border-radius:var(--workbench-action-radius);background:#edf4fa}
.采集结果网格 span{display:block;color:#71839a;font-size:10px}
.采集结果网格 b{display:block;margin-top:4px;color:#235fae;font-size:15px}
.任务中心栏,.任务中心表头,.任务进程轨道{
  width:100%;
}
.进程节点{height:32px}
.进程节点>.任务环节,
.进程节点>.任务状态显示,
.进程节点>.任务可视进度,
.进程节点>b,
.进程节点>u{
  grid-area:auto;
}
.任务状态显示>i,
.任务可视进度>div>i{
  grid-area:auto;
  align-self:auto;
  border:0;
  box-shadow:none;
}
.任务可视进度>em{
  grid-area:auto;
  margin-top:0;
}
.任务可视进度>div{
  height:5px;
  overflow:hidden;
  border-radius:var(--workbench-action-radius);
  background:#dfe8f3;
}
.任务可视进度>div>i{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:#4a89ec;
}
.任务可视进度.等待>div>i{width:42%;background:#e3a94d}
.任务可视进度.受阻>div>i{width:0}
body[data-current-page="xiaohongshu"] .任务进程{
  padding:0 10px 10px;
  grid-template-rows:44px 64px minmax(0,1fr);
}
.任务中心标题 strong{font-size:16px}
.任务中心栏 small{font-size:10px}
.进度监听摘要{min-width:0;padding:7px 9px;display:grid;align-content:center;gap:4px;border-bottom:1px solid rgba(122,152,187,.16);color:#5f748c}
.进度监听摘要.空,.进度监听摘要.版本{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.进度监听摘要.空 strong,.进度监听摘要.版本 strong{color:#315d8c;font-size:12px}
.进度监听摘要.空 span,.进度监听摘要.版本 span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.进度监听状态{display:flex;align-items:center;justify-content:space-between;gap:12px}
.进度监听状态>span{min-width:0;display:flex;align-items:center;gap:7px}
.进度监听状态 i{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#dfa33e}
.进度监听摘要.running .进度监听状态 i{background:#347ff2;animation:进程运行呼吸 1.45s ease-in-out infinite}
.进度监听摘要.completed .进度监听状态 i{background:#35b874}
.进度监听摘要.failed .进度监听状态 i{background:#d66a55}
.进度监听状态 strong{overflow:hidden;color:#2c527d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.进度监听状态>b{color:#2670d8;font-size:15px}
.后端进度条{height:5px;overflow:hidden;border-radius:var(--workbench-action-radius);background:#dfe8f3}
.后端进度条 i{display:block;width:var(--后端进度);height:100%;border-radius:inherit;background:linear-gradient(90deg,#347ff2,#65a7f5)}
.进度监听摘要>small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.独立功能事件列表{min-width:0;margin:0;padding:4px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:5px;overflow-x:auto;list-style:none;scrollbar-width:thin}
.功能日志监听分类{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:7px;overflow-x:auto;scrollbar-width:thin}
.小红书任务分类{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  overflow:hidden;
}
.任务环节列{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(123,153,188,.16);
  border-radius:var(--workbench-action-radius);
  background:rgba(255,255,255,.42);
}
.任务环节列>header{
  min-height:32px;
  padding:4px 7px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:6px!important;
  border-bottom:1px solid rgba(123,153,188,.13);
}
.任务环节列>header img{width:22px;height:22px;padding:5px;object-fit:contain;border-radius:var(--workbench-action-radius);background:#fff1f3}
.任务环节列>header span{min-width:0;display:grid}
.任务环节列>header small{color:#8192a7;font-size:9px}
.任务环节列>header strong{overflow:hidden;color:#29415f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.任务环节列>header>i{min-width:16px;height:16px;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:#eaf2fc;color:#3475ca;font-size:7px;font-style:normal}
.任务环节列>ol{height:calc(100% - 32px);margin:0;padding:3px;display:grid;align-content:start;gap:2px;overflow:auto;list-style:none;scrollbar-width:none}
.任务环节列>ol::-webkit-scrollbar{display:none}
.进程事件状态{position:relative;min-width:0;min-height:31px;padding:3px 38px 3px 6px;display:grid;gap:2px;border:1px solid rgba(123,153,188,.13);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.48)}
.进程事件状态>span{min-width:0;display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:5px}
.进程事件状态>span>i{width:6px;height:6px;border-radius:50%;background:#9aa9ba}
.进程事件状态 strong{overflow:hidden;color:#334b67;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.进程事件状态 em{color:#75879c;font-size:9px;font-style:normal;white-space:nowrap}
.进程事件状态 small{overflow:hidden;color:#8292a5;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.进程事件状态 time{position:absolute;right:5px;top:4px;color:#8a99ab;font-size:8px}
.进程事件状态.completed>span>i{background:#35b874}
.进程事件状态.running{border-color:rgba(52,127,242,.25);background:rgba(232,242,255,.78)}
.进程事件状态.running>span>i{background:#347ff2;animation:进程运行呼吸 1.45s ease-in-out infinite}
.进程事件状态.failed{border-color:rgba(214,106,85,.24);background:rgba(255,240,237,.72)}
.进程事件状态.failed>span>i{background:#d66a55}.进程事件状态.failed em{color:#ad4d3d}
.进程事件状态.waiting>span>i{background:#dfa33e}
.进程事件空{padding:9px 6px;color:#8a99ab;font-size:8px}
@keyframes 进程运行呼吸{0%,100%{box-shadow:0 0 0 2px rgba(52,127,242,.08);opacity:.65}50%{box-shadow:0 0 0 6px rgba(52,127,242,.18);opacity:1}}
@media(prefers-reduced-motion:reduce){.进程事件状态.running>span>i{animation:none;box-shadow:0 0 0 4px rgba(52,127,242,.13)}}
@media(max-width:760px){
  :root{--mc-task-height:228px}
  .独立环节组{width:100%;grid-template-columns:1fr;gap:14px}
  .独立环节组>.环节卡{width:100%;min-height:250px}
  .独立环节组>.环节卡+.环节卡::before{left:50%;top:-18px;transform:translateX(-50%) rotate(90deg)}
  .任务进程{grid-template-columns:1fr}
  body[data-current-page="xiaohongshu"]{--mc-task-height:228px}
  body[data-current-page="xiaohongshu"] .环节画布{padding:150px 12px 306px}
  body[data-current-page="xiaohongshu"] .主环节卡组{grid-template-columns:1fr;gap:12px}
  body[data-current-page="xiaohongshu"] .独立环节组>.主环节卡{min-height:0;padding:16px 16px 0;grid-template-rows:auto auto auto auto 42px}
  body[data-current-page="xiaohongshu"] .主环节卡>.环节操作{margin-inline:-16px}
  body[data-current-page="xiaohongshu"] .主环节卡.当前>.环节操作{margin-inline:-10px}
  .卡内子环节{padding:9px 10px}
  .卡内子环节 strong{font-size:12px}
  .卡内子环节>small{font-size:10px}
  .卡内子环节指标 .环节值{font-size:12px}
  body[data-current-page="xiaohongshu"] .任务进程{grid-template-rows:40px 58px minmax(0,1fr)}
  .日志弹层{top:auto;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:calc(100vh - 16px);transform:none;border-radius:var(--workbench-action-radius)}
  .日志弹层>header{min-height:72px;padding:14px 16px}.日志内容{padding:14px 16px 18px}.日志任务摘要{grid-template-columns:repeat(2,minmax(0,1fr))}
  .小红书任务分类{grid-template-columns:repeat(4,180px);overflow-x:auto;scrollbar-width:none}
  .小红书任务分类::-webkit-scrollbar{display:none}
}

/* IM 任务输入：栏目与小红书参数共用一个紧凑板块，只靠层级和留白区分。 */
body[data-current-page="im"] .IM任务配置板块{
  grid-column:1/-1;
  min-width:0;
  padding:8px 10px 9px;
  display:grid;
  gap:7px;
  border:1px solid rgba(130,169,207,.22);
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(145deg,rgba(255,255,255,.4),rgba(213,235,251,.22));
  box-shadow:inset 0 1px rgba(255,255,255,.58);
  backdrop-filter:blur(18px) saturate(1.16);
  -webkit-backdrop-filter:blur(18px) saturate(1.16);
}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{
  min-height:28px;
  padding:0 2px 6px;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  border:0;
  border-bottom:1px solid rgba(126,158,190,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 span{color:#73879c;font-size:9px;font-weight:650}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 select{color:#315b86;font-size:11px;font-weight:680;text-align:right}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项{
  grid-column:auto;
  padding:0;
  gap:7px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项>.配置提示{
  padding:3px 2px 0;
  border-radius:0;
  background:transparent;
  color:#74879a;
  font-size:10px;
  line-height:1.45;
}
@media(max-width:760px){
  body[data-current-page="im"] .IM任务配置板块{padding:7px 9px 8px;gap:6px}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{grid-column:auto;min-height:27px;padding-bottom:5px}
}

.方向搜索列表{display:grid;gap:12px;margin-top:14px}
.方向搜索条目{padding:14px;border:1px solid #dce7f0;border-radius:var(--workbench-action-radius);background:#f8fbff}
.方向搜索条目>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.方向搜索条目>header div strong,.方向搜索条目>header div span{display:block}
.方向搜索条目>header div strong{font-size:13px}
.方向搜索条目>header div span{margin-top:3px;color:#70839a;font-size:11px}
.方向搜索条目 dl{display:grid;gap:9px;margin:12px 0}
.方向搜索条目 dl>div{display:grid;gap:5px}
.方向搜索条目 dt{color:#52677e;font-size:11px;font-weight:700}
.方向搜索条目 dd{display:flex;flex-wrap:wrap;gap:5px;margin:0}
.方向搜索条目 dd span,.方向搜索条目 dd em{padding:4px 7px;border-radius:var(--workbench-action-radius);background:#e8f2fc;color:#315f8f;font-size:10px;font-style:normal;line-height:1.35}
.方向搜索条目 .实际搜索词{padding-top:8px;border-top:1px solid #dce7f0}
.方向搜索条目 .实际搜索词 dd span{background:#dff4ed;color:#286552}

/* 移动端 IM 首页只保留聊天窗和当前任务窗；桌面端与其他功能页继续使用完整工作台骨架。 */
@media(max-width:760px){
  body[data-current-page="im"] .系统顶栏,
  body[data-current-page="im"] .系统Dock,
  body[data-current-page="im"] .IM顶栏{display:none}
  body[data-current-page="im"] .IM页面:not([hidden]){
    inset:0;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    overflow-x:hidden;
    overflow-y:auto;
  }
  body[data-current-page="im"] .IM窗口{
    position:relative;
    inset:auto;
    width:100%;
    height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));
    margin:0;
    transform:none;
  }
  body[data-current-page="im"] .IM任务面板{
    display:grid;
    width:100%;
    margin:8px 0 0;
  }
  body[data-current-page="im"] .IM消息区{padding:18px 14px 10px}
  body[data-current-page="im"] .快捷入口{display:none}
  body[data-current-page="im"] .聊天任务进度{
    max-width:none;
    max-height:310px;
    margin:0;
    padding:10px 4px 4px;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:transparent;
  }
  body[data-current-page="im"] .聊天过程头{padding:0 2px}
  body[data-current-page="im"] .聊天任务编号{padding:0 2px;color:#8090a3}
  body[data-current-page="im"] .聊天过程消息流{
    position:relative;
    max-height:232px;
    margin-top:10px;
    padding:0 2px 2px;
    display:grid;
    gap:0;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#bfd3e6 transparent;
  }
  body[data-current-page="im"] .聊天过程消息流::before{
    content:"";
    position:absolute;
    left:45px;
    top:5px;
    bottom:10px;
    width:1px;
    display:block;
    background:#cbdced;
  }
  body[data-current-page="im"] .过程消息{
    position:relative;
    min-width:0;
    padding:0 0 13px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:14px;
    align-items:start;
  }
  body[data-current-page="im"] .过程消息 time{padding-top:1px;color:#8191a4;font-size:9px;line-height:1.4}
  body[data-current-page="im"] .过程消息>div{
    position:relative;
    min-width:0;
    padding:0 4px 0 8px;
    display:block;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  body[data-current-page="im"] .过程消息>div::before{
    content:"";
    position:absolute;
    left:-11px;
    top:2px;
    width:6px;
    height:6px;
    display:block;
    border:2px solid #f7fbff;
    border-radius:50%;
    background:#7b8ea3;
    box-shadow:0 0 0 1px #c2d4e4;
  }
  body[data-current-page="im"] .过程消息>div>span{display:inline-flex;float:right;margin:0 0 2px 8px;font-size:8px}
  body[data-current-page="im"] .过程消息 strong{display:block;color:#294964;font-size:11px;line-height:1.35;white-space:normal}
  body[data-current-page="im"] .过程消息 p{margin-top:3px;color:#60768b;font-size:10px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip}
  body[data-current-page="im"] .过程消息.running>div::before{background:#176be5;box-shadow:0 0 0 1px #8ebcf0,0 0 0 4px #dfeefd}
  body[data-current-page="im"] .过程消息.completed>div::before{background:#20a06b}
  body[data-current-page="im"] .过程消息.failed>div::before{background:#bd604b}
  body[data-current-page="im"] .IM输入区{
    gap:8px;
    padding:10px;
    border-top-color:rgba(152,179,207,.34);
    background:linear-gradient(180deg,rgba(240,246,252,.9),rgba(231,240,249,.96));
  }
  body[data-current-page="im"] .IM栏目选择{
    min-height:40px;
    padding:5px 11px;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:10px;
    border-color:rgba(146,177,210,.32);
    background:rgba(255,255,255,.72);
  }
  body[data-current-page="im"] .IM栏目选择 span{font-weight:700;white-space:nowrap}
  body[data-current-page="im"] .IM栏目选择 select{text-align:right}
  body[data-current-page="im"] .IM小红书选项{
    padding:10px;
    gap:7px;
    border-color:rgba(116,163,218,.28);
    border-radius:var(--workbench-action-radius);
    background:linear-gradient(150deg,rgba(255,255,255,.93),rgba(239,247,255,.86));
    box-shadow:0 10px 26px rgba(48,92,143,.1),inset 0 1px #fff;
  }
  body[data-current-page="im"] .IM小红书选项 legend{
    width:100%;
    padding:0 2px 6px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#385d88;
  }
  body[data-current-page="im"] .IM小红书选项 legend span{
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
    border-radius:var(--workbench-action-radius);
    background:#e7f1ff;
    color:#2670d8;
    font-size:9px;
  }
  body[data-current-page="im"] .IM小红书选项 legend strong{font-size:11px}
  body[data-current-page="im"] .IM小红书选项 legend em{margin-left:auto;color:#7a8da3;font-size:8px;font-style:normal;font-weight:500}
  body[data-current-page="im"] .IM小红书选项 label{
    padding:7px 8px 6px;
    gap:2px;
    border:1px solid rgba(146,177,210,.24);
    border-radius:var(--workbench-action-radius);
    background:rgba(255,255,255,.68);
  }
  body[data-current-page="im"] .IM小红书选项 label>span{font-weight:650}
  body[data-current-page="im"] .IM小红书选项 select,
  body[data-current-page="im"] .IM小红书选项 input{
    height:30px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    font-size:12px;
  }
  body[data-current-page="im"] .IM小红书选项 input{text-align:center;color:#1d63ba;font-size:16px;font-weight:760;font-variant-numeric:tabular-nums}
  body[data-current-page="im"] #IM提交按钮{
    grid-column:1/-1;
    width:100%;
    height:48px;
    border-radius:var(--workbench-action-radius);
    background:linear-gradient(135deg,#2679ed,#1766d5);
    font-size:15px;
    font-weight:760;
    box-shadow:0 10px 22px rgba(31,105,214,.25),inset 0 1px rgba(255,255,255,.3);
  }
}

/* 全页面响应式收口：平板及桌面保持单行横排，手机单列，页面本身不横向溢出。 */
@media(max-width:1100px) and (min-width:761px){
  :root{--mc-task-height:250px}
  body[data-current-page="xiaohongshu"]{--mc-task-height:230px}
  .环节画布{
    bottom:calc(var(--mc-task-height) + 28px);
    padding:132px 24px 12px calc(var(--mc-dock-width) + 46px);
    align-items:flex-start;
    justify-content:flex-start;
    overflow-x:auto;
  }
  body[data-current-page="xiaohongshu"] .环节画布{
    bottom:calc(var(--mc-task-height) + 74px);
    padding-top:132px;
    padding-bottom:8px;
  }
  .独立环节组{
    width:max(100%,var(--环节组宽度));
    grid-template-columns:repeat(var(--环节数量),minmax(190px,1fr));
    gap:12px;
    align-items:stretch;
  }
  body[data-current-page="xiaohongshu"] .主环节卡组{
    width:max(100%,920px);
    grid-template-columns:repeat(4,minmax(218px,1fr));
    gap:12px;
  }
  .独立环节组>.环节卡{min-height:270px}
  body[data-current-page="xiaohongshu"] .独立环节组>.主环节卡{min-height:300px}
  .独立环节组>.环节卡+.环节卡::before{display:none}
  .任务进程{height:var(--mc-task-height)}
}

@media(max-width:900px) and (min-width:761px){
  .系统顶栏{grid-template-columns:minmax(210px,1fr) auto;gap:12px}
  .当前运行{justify-self:end;min-width:230px}
  .全局搜索,.通知按钮,.员工身份{display:none}
  .任务中心栏 small{display:none}
  .任务中心表头,.进程节点{
    grid-template-columns:minmax(180px,1fr) 86px minmax(140px,.8fr);
  }
  .任务中心表头 span:nth-child(4),.任务中心表头 span:nth-child(5),
  .进程节点>b,.进程节点>u{display:none}
  .任务可视进度{grid-template-columns:minmax(72px,1fr) 44px;gap:6px}
  .小红书任务分类{
    grid-template-columns:repeat(4,minmax(180px,1fr));
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .任务环节列{scroll-snap-align:start}
  .IM页面:not([hidden]){
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:start;
    gap:14px;
    padding:96px 20px 20px calc(var(--mc-dock-width) + 40px);
    overflow-x:hidden;
    overflow-y:auto;
  }
  .IM页面 .IM顶栏{right:30px}
  .IM页面 .IM窗口{
    width:100%;
    height:min(620px,calc(100dvh - 116px));
    min-height:560px;
  }
  .IM任务面板{
    width:100%;
    height:auto;
    min-height:520px;
  }
  .IM输入区{grid-template-columns:140px minmax(0,1fr) auto}
}

@media(max-width:760px){
  :root{--mc-task-height:228px}
  body[data-current-page="xiaohongshu"]{--mc-task-height:228px}
  .环节画布{
    bottom:calc(var(--mc-task-height) + 100px);
    padding:146px 12px 12px;
    align-items:flex-start;
    justify-content:flex-start;
  }
  body[data-current-page="xiaohongshu"] .环节画布{
    bottom:calc(var(--mc-task-height) + 156px);
    padding:136px 12px 10px;
  }
  .任务进程{height:var(--mc-task-height)}
  .独立环节组>.环节卡+.环节卡::before{display:none}
  body[data-current-page="im"] .聊天过程消息流::before{left:46px;width:2px}
  body[data-current-page="im"] .过程消息{
    padding-bottom:10px;
    grid-template-columns:38px minmax(0,1fr);
    gap:18px;
  }
  body[data-current-page="im"] .过程消息::after{left:42px;top:2px}
  body[data-current-page="im"] .过程消息>div::before{display:none}
}
.次操作{min-height:34px;padding:0 12px;border:1px solid #cbddea;border-radius:var(--workbench-action-radius);background:#eef5fb;color:#275f9e;font-size:11px;white-space:nowrap}
.关键词列表{margin:16px 0 0;padding:0;display:grid;gap:8px;list-style:none}
.关键词条目{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #dce7f0;border-radius:var(--workbench-action-radius);background:#f8fbff}
.关键词条目>div{min-width:0}.关键词条目 strong,.关键词条目 span{display:block}.关键词条目 strong{font-size:11px;word-break:break-word}.关键词条目 div span{margin-top:4px;color:#70839a;font-size:9px;line-height:1.45}
.关键词条目>span{display:flex;gap:6px}.关键词条目 button{padding:6px 9px;border-radius:var(--workbench-action-radius);background:#e8f2fc;color:#2764a7;font-size:9px}.关键词条目 button[data-delete-keyword]{background:#fff0ed;color:#a24c3c}
.配置表单 input[readonly]{background:#eef3f7;color:#566b82}

/* IM 顶栏与销售回复：任务切换由输入框上方的单行标签承载。 */
body[data-current-page="im"] .IM顶栏{justify-content:flex-end}
body[data-current-page="im"] .系统顶栏 .当前运行{visibility:hidden;pointer-events:none}
body[data-current-page="im"] .IM窗口顶栏{
  min-height:80px;
  padding:0 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:20px;
  border-bottom:1px solid rgba(122,152,187,.18);
  background:rgba(246,250,255,.54);
}
body[data-current-page="im"] .IM导航左侧{min-width:0;display:grid;align-content:center;gap:3px}
body[data-current-page="im"] .IM窗口标题{min-width:0}
body[data-current-page="im"] .IM窗口标题 h1{margin-top:4px;font-size:22px;letter-spacing:-.02em}
body[data-current-page="im"] .IM当前运行{min-width:0;display:flex;align-items:center;gap:6px;color:#6b7c94;font-size:10px;white-space:nowrap}
body[data-current-page="im"] .IM当前运行 i{width:7px;height:7px;border-radius:50%;background:#36c77b;box-shadow:0 0 0 4px rgba(54,199,123,.11)}
body[data-current-page="im"] .IM当前运行 em{color:#52667f;font-size:10px;font-style:normal}
body[data-current-page="im"] .IM当前运行 b{color:#9aabc0;font-size:9px;font-weight:500}
body[data-current-page="im"] .IM服务状态{color:#16835a;font-size:10px}
body[data-current-page="im"] .IM服务状态.受阻{color:#a36a25}
body[data-current-page="im"] .IM当前运行.受阻 i{background:#dd8a41;box-shadow:0 0 0 4px rgba(221,138,65,.12)}
body[data-current-page="im"] .聊天切换{
  display:grid;
  grid-template-columns:repeat(2,minmax(90px,110px));
  align-items:center;
  justify-content:center;
  justify-self:center;
  padding:4px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(228,239,252,.5));
  box-shadow:inset 0 1px rgba(255,255,255,.96),0 12px 30px rgba(54,88,120,.12);
  backdrop-filter:blur(22px) saturate(1.28);
}
body[data-current-page="im"] .聊天切换 button{min-height:38px;padding:0 18px;border:1px solid transparent;border-radius:var(--workbench-action-radius);background:transparent;color:#63768e}
body[data-current-page="im"] .聊天切换 button.已选中{border-color:rgba(203,221,240,.84);background:rgba(255,255,255,.86);color:#176be5;box-shadow:inset 0 1px #fff,0 8px 20px rgba(54,88,120,.12)}
body[data-current-page="im"] #IM任务消息{display:grid;gap:0}
body[data-current-page="im"] .IM任务消息组{min-width:0;display:grid}
body[data-current-page="im"] .销售任务错误,
body[data-current-page="im"] .销售回复未回读{margin:8px 2px 0;color:#a84e3c;font-size:10px}
body[data-current-page="im"] .销售回复消息{max-width:620px;margin:12px 0 0;padding:0 2px;align-items:flex-start}
body[data-current-page="im"] .销售回复消息>div{min-width:0;flex:1;padding:13px 15px;border:1px solid rgba(181,208,235,.72);border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(49,83,116,.09)}
body[data-current-page="im"] .销售回复消息 strong{color:#254b74;font-size:12px}
body[data-current-page="im"] .销售内容类型{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
body[data-current-page="im"] .销售内容类型 span{padding:3px 8px;border-radius:var(--workbench-action-radius);background:#edf5ff;color:#176be5;font-size:10px;font-weight:700}
body[data-current-page="im"] .销售回复消息 p{margin-top:7px;color:#405b76;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
body[data-current-page="im"] .销售回复消息 footer{margin-top:10px;display:flex;align-items:center;gap:9px}
body[data-current-page="im"] .销售回复消息 footer button{min-height:32px;padding:0 13px;border:1px solid rgba(58,126,215,.34);border-radius:var(--workbench-action-radius);background:#edf5ff;color:#176be5;font-size:11px;font-weight:700}
body[data-current-page="im"] .销售回复消息 footer button:hover,
body[data-current-page="im"] .销售回复消息 footer button:focus-visible{border-color:#176be5;background:#e2efff;outline:none}
body[data-current-page="im"] .销售回复消息 footer button:disabled{cursor:default;opacity:.78}
body[data-current-page="im"] .销售回复消息 footer span{color:#16835a;font-size:10px}
.销售案例入库弹窗{width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid #dbe5ef;border-radius:var(--workbench-action-radius);background:#fff;color:#1f3448;box-shadow:0 24px 70px rgba(33,57,78,.2)}
.销售案例入库弹窗::backdrop{background:rgba(22,36,49,.38);backdrop-filter:blur(3px)}
.销售案例入库弹窗 form{display:grid;gap:16px;padding:22px}
.销售案例入库弹窗 header,.销售案例入库弹窗 footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.销售案例入库弹窗 header span{color:#6c8194;font-size:12px}.销售案例入库弹窗 h2{margin:3px 0 0;font-size:20px}
.销售案例入库弹窗 header button{border:0;background:transparent;color:#63778a;font-size:25px}
.销售案例隐私说明{margin:0;padding:10px 12px;border-radius:var(--workbench-action-radius);background:#f4f8fc;color:#4b647a;font-size:12px;line-height:1.6}
.销售案例表单网格{display:grid;grid-template-columns:1fr 1fr;gap:13px}.销售案例表单网格 label{display:grid;gap:6px;color:#435b70;font-size:12px;font-weight:700}.销售案例表单网格 .跨列{grid-column:1/-1}
.销售案例表单网格 input,.销售案例表单网格 select,.销售案例表单网格 textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid #ccd9e5;border-radius:var(--workbench-action-radius);background:#fff;color:#243b50;font:inherit;font-weight:400}.销售案例表单网格 textarea{min-height:72px;resize:vertical}
.销售案例入库弹窗 footer{justify-content:flex-end}.销售案例入库弹窗 footer button{min-height:38px;padding:0 16px;border:1px solid #cbd8e4;border-radius:var(--workbench-action-radius);background:#fff;color:#40596f;font-weight:700}.销售案例入库弹窗 footer button[type="submit"]{border-color:#176be5;background:#176be5;color:#fff}
@media(max-width:600px){.销售案例表单网格{grid-template-columns:1fr}.销售案例表单网格 .跨列{grid-column:auto}.销售案例入库弹窗 form{padding:17px}.销售案例入库弹窗{max-height:calc(100vh - 12px)}}
body[data-current-page="im"] .销售完整流程 .IM进度列表 li{align-items:start}
body[data-current-page="im"] .销售完整流程 .IM进度列表 li span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
body[data-current-page="im"] .销售完整流程 .销售环节来源{display:block;margin-top:4px;color:#4d7298;font-size:9px;line-height:1.4;white-space:normal;word-break:break-word}

@media(max-width:760px){
  body[data-current-page="im"] .IM窗口顶栏{
    min-height:72px;
    padding:0 12px;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  body[data-current-page="im"] .IM导航左侧{gap:2px}
  body[data-current-page="im"] .IM窗口标题 .眉题{display:none}
  body[data-current-page="im"] .IM窗口标题 h1{margin-top:0;font-size:15px;white-space:nowrap}
  body[data-current-page="im"] .IM当前运行{gap:4px;font-size:0}
  body[data-current-page="im"] .IM当前运行 i{width:6px;height:6px;box-shadow:0 0 0 3px rgba(54,199,123,.11)}
  body[data-current-page="im"] .IM当前运行 em,
  body[data-current-page="im"] .IM当前运行 b,
  body[data-current-page="im"] .IM服务状态{display:none}
  body[data-current-page="im"] .聊天切换{
    grid-template-columns:repeat(2,minmax(64px,1fr));
    gap:5px;
  }
  body[data-current-page="im"] .聊天切换 button{min-width:0;min-height:34px;padding-inline:9px}
  body[data-current-page="im"] .IM任务面板{display:none}
  body[data-current-page="im"] .销售回复消息{max-width:none;margin-left:0}
}

/* IM 液态玻璃任务标签：仅外层玻璃保留柔和边缘，内容靠字号、留白、明暗和状态点分层。 */
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(221,237,250,.22));
  box-shadow:0 26px 76px rgba(44,75,106,.16),inset 0 1px rgba(255,255,255,.72);
  backdrop-filter:blur(34px) saturate(1.32);
  -webkit-backdrop-filter:blur(34px) saturate(1.32);
}
body[data-current-page="im"] .IM窗口{grid-template-rows:auto minmax(0,1fr) auto auto}
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header{
  border:0;
  background:transparent;
}
body[data-current-page="im"] .IM窗口顶栏{min-height:76px}
body[data-current-page="im"] .聊天切换{
  border:0;
  background:rgba(255,255,255,.2);
  box-shadow:inset 0 1px rgba(255,255,255,.5),0 8px 26px rgba(54,88,120,.08);
}
body[data-current-page="im"] .聊天切换 button.已选中{
  border:0;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(216,235,252,.34));
  box-shadow:0 8px 22px rgba(45,85,126,.12),inset 0 1px rgba(255,255,255,.72);
}
body[data-current-page="im"] .IM消息区{padding:28px 30px 16px}
body[data-current-page="im"] .IM消息区>.消息.系统消息:first-child>div{opacity:.72}
body[data-current-page="im"] .消息头像{
  background:linear-gradient(145deg,rgba(62,132,222,.62),rgba(131,189,240,.4));
  color:rgba(255,255,255,.94);
  box-shadow:0 9px 24px rgba(39,104,181,.2),inset 0 1px rgba(255,255,255,.4);
  backdrop-filter:blur(16px);
}
body[data-current-page="im"] .消息.用户消息 div{
  max-width:620px;
  color:#214664;
  border:0;
  background:linear-gradient(140deg,rgba(126,187,238,.3),rgba(255,255,255,.26));
  box-shadow:0 12px 32px rgba(54,88,120,.1),inset 0 1px rgba(255,255,255,.54);
  backdrop-filter:blur(22px) saturate(1.22);
  -webkit-backdrop-filter:blur(22px) saturate(1.22);
}
body[data-current-page="im"] .消息.用户消息 div strong{color:#4c7292;letter-spacing:.05em}
body[data-current-page="im"] .消息.用户消息 div p{color:#244b69;font-size:14px;line-height:1.65}
body[data-current-page="im"] .销售任务反馈{max-width:620px;margin:12px 0 0 52px}
body[data-current-page="im"] .销售任务单行状态,
body[data-current-page="im"] .任务单行状态{
  margin:12px 0 0;
  display:flex;
  align-items:center;
  gap:10px;
  color:#456681;
  font-size:11px;
}
body[data-current-page="im"] .销售任务单行状态::before,
body[data-current-page="im"] .任务单行状态::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:rgba(44,123,214,.82);
  box-shadow:0 0 0 5px rgba(60,138,222,.1);
}
body[data-current-page="im"] .任务单行状态{max-width:620px;margin-left:52px}
body[data-current-page="im"] .销售任务单行状态 strong,
body[data-current-page="im"] .任务单行状态 strong{color:#234964;font-size:12px}
body[data-current-page="im"] .销售任务单行状态 span,
body[data-current-page="im"] .任务单行状态 span{color:#708399}
body[data-current-page="im"] .任务单行错误{margin-left:auto;color:#a65c4a}
body[data-current-page="im"] .销售任务错误,
body[data-current-page="im"] .销售回复未回读{margin:10px 0 0;color:#a65c4a}
body[data-current-page="im"] .销售回复消息{margin:0;padding:0}
body[data-current-page="im"] .销售回复消息>div{
  padding:17px 19px;
  border:0;
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(211,233,250,.24));
  box-shadow:0 18px 42px rgba(47,79,111,.12),inset 0 1px rgba(255,255,255,.65);
  backdrop-filter:blur(24px) saturate(1.25);
  -webkit-backdrop-filter:blur(24px) saturate(1.25);
}
body[data-current-page="im"] .销售回复消息 strong{color:#234964;font-size:13px}
body[data-current-page="im"] .销售回复消息 p{color:#354f68;font-size:14px;line-height:1.8}
body[data-current-page="im"] .销售回复消息 footer button,
body[data-current-page="im"] .快捷入口 button{
  border:0;
  background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(180,216,248,.28));
  color:#1763b8;
  box-shadow:0 8px 22px rgba(43,94,150,.11),inset 0 1px rgba(255,255,255,.66);
  backdrop-filter:blur(18px);
}
body[data-current-page="im"] .销售回复消息 footer button:hover,
body[data-current-page="im"] .销售回复消息 footer button:focus-visible{
  border:0;
  background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(174,214,250,.36));
}
body[data-current-page="im"] .IM任务标签{
  min-width:0;
  padding:8px 14px 6px;
  display:flex;
  align-items:center;
  gap:5px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(221,238,251,.18));
  backdrop-filter:blur(20px) saturate(1.22);
  -webkit-backdrop-filter:blur(20px) saturate(1.22);
}
body[data-current-page="im"] .IM任务标签[hidden]{display:none}
body[data-current-page="im"] .IM任务标签::-webkit-scrollbar{display:none}
body[data-current-page="im"] .IM任务标签 button{
  min-height:34px;
  padding:0 12px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
  border:0;
  border-radius:var(--workbench-action-radius);
  background:transparent;
  color:#6b7e92;
  white-space:nowrap;
}
body[data-current-page="im"] .IM任务标签 button span{font-size:11px;font-weight:720}
body[data-current-page="im"] .IM任务标签 button em{font-size:9px;font-style:normal;opacity:.68}
body[data-current-page="im"] .IM任务标签 button.已选中{
  background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(191,221,248,.3));
  color:#185ea9;
  box-shadow:0 8px 22px rgba(45,85,126,.11),inset 0 1px rgba(255,255,255,.7);
}
body[data-current-page="im"] .IM输入区{
  padding:10px 12px 12px;
  border:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(213,233,248,.2));
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
}
body[data-current-page="im"] .IM栏目选择,
body[data-current-page="im"] .IM输入区 textarea{
  border:0;
  background:rgba(255,255,255,.3);
  box-shadow:inset 0 1px rgba(255,255,255,.56),0 8px 26px rgba(54,88,120,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
body[data-current-page="im"] .IM输入区 textarea:focus{
  border:0;
  box-shadow:inset 0 1px rgba(255,255,255,.66),0 10px 30px rgba(35,102,177,.13);
}
body[data-current-page="im"] #IM提交按钮{
  border:0;
  background:linear-gradient(140deg,rgba(29,107,209,.72),rgba(82,156,229,.55));
  color:rgba(255,255,255,.96);
  box-shadow:0 11px 28px rgba(35,103,184,.2),inset 0 1px rgba(255,255,255,.34);
  backdrop-filter:blur(18px);
}
body[data-current-page="im"] .IM任务面板>header{padding:24px 22px 11px}
body[data-current-page="im"] .IM任务内容{padding:8px 22px 22px}
body[data-current-page="im"] .IM任务概览{
  padding:8px 0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .IM任务概览>b{font-size:34px;letter-spacing:-.04em}
body[data-current-page="im"] .IM任务概览 p{opacity:.78}
body[data-current-page="im"] .IM进度条{height:5px;background:rgba(126,157,186,.14)}
body[data-current-page="im"] .IM进度条 i{background:linear-gradient(90deg,rgba(28,105,202,.78),rgba(83,164,233,.6))}
body[data-current-page="im"] .IM当前阶段{
  margin-top:14px;
  padding:10px 0 0;
  border-radius:0;
  background:transparent;
}
body[data-current-page="im"] .IM当前阶段 strong{font-size:14px}
body[data-current-page="im"] .IM完整流程{margin-top:18px}
body[data-current-page="im"] .IM完整流程 h3{color:#385873;font-size:12px;font-weight:760}
body[data-current-page="im"] .IM完整流程 .IM进度列表{margin-top:10px;gap:0}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li,
body[data-current-page="im"] .销售完整流程 .IM进度列表 li{
  min-height:58px;
  padding:7px 0;
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:9px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li i{
  width:22px;
  height:22px;
  border:0;
  background:rgba(115,139,162,.12);
  box-shadow:none;
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.completed i{background:rgba(42,171,117,.14);color:#16835a}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running i{background:rgba(42,119,213,.14);color:#176be5;box-shadow:0 0 0 5px rgba(58,133,220,.07)}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.failed i{background:rgba(195,94,69,.13);color:#a84e3c}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li strong{font-size:12px}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li span{color:#708297;font-size:10px;line-height:1.45}
body[data-current-page="im"] .销售完整流程 .销售环节来源{margin-top:5px;color:#4a7195;font-size:9px;opacity:.9}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li em{padding-top:3px;color:#6a7e93}

@media(max-width:760px){
  body[data-current-page="im"] .IM页面:not([hidden]){display:block;padding:8px;overflow:hidden}
  body[data-current-page="im"] .IM窗口{height:calc(100dvh - 16px);border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM任务面板{display:none}
  body[data-current-page="im"] .IM窗口顶栏{min-height:68px;padding:0 12px}
  body[data-current-page="im"] .IM消息区{padding:18px 14px 10px}
  body[data-current-page="im"] .消息.用户消息 div{max-width:calc(100vw - 54px)}
  body[data-current-page="im"] .销售任务反馈,
  body[data-current-page="im"] .任务单行状态{max-width:none;margin-left:0}
  body[data-current-page="im"] .销售回复消息{max-width:none}
  body[data-current-page="im"] .IM任务标签{padding:7px 10px 5px}
  body[data-current-page="im"] .IM任务标签 button{min-height:32px;padding-inline:10px}
  body[data-current-page="im"] .IM输入区{grid-template-columns:1fr auto;gap:7px;padding:8px}
  body[data-current-page="im"] .IM栏目选择{grid-column:1/-1}
  body[data-current-page="im"] #IM提交按钮{grid-column:auto;width:auto;min-width:68px;height:48px;font-size:13px}
}

/* IM 内部日常工作模式：优先信息密度，保留同源任务结构和液态玻璃层级。 */
@media(min-width:761px){
  body[data-current-page="im"]{--mc-top-height:52px}
  body[data-current-page="im"] .系统顶栏{left:14px;right:14px;top:10px;grid-template-columns:minmax(190px,1fr) minmax(220px,1.25fr) 36px 124px;gap:10px}
  body[data-current-page="im"] .系统顶栏 .当前运行{display:none}
  body[data-current-page="im"] .产品标识{gap:9px}
  body[data-current-page="im"] .产品标识 img{width:36px;height:36px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .产品标识 strong{font-size:16px}
  body[data-current-page="im"] .产品标识 span{font-size:9px}
  body[data-current-page="im"] .全局搜索{height:36px;padding-inline:11px}
  body[data-current-page="im"] .通知按钮{width:36px;height:36px}
  body[data-current-page="im"] .通知按钮::before{left:12px;top:9px}
  body[data-current-page="im"] .通知按钮 span{right:5px;top:3px}
  body[data-current-page="im"] .员工身份{height:40px;padding:0 9px 0 6px;grid-template-columns:28px 1fr 6px;gap:6px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .员工身份>b{width:28px;height:28px}
  body[data-current-page="im"] .品牌按钮{width:58px;height:54px;margin-bottom:6px}
  body[data-current-page="im"] .品牌按钮 img{width:34px;height:34px}
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM窗口顶栏{min-height:56px;padding:0 14px;grid-template-columns:minmax(0,1fr);gap:10px}
  body[data-current-page="im"] .IM导航左侧{gap:1px}
  body[data-current-page="im"] .IM窗口标题 h1{margin-top:0;font-size:18px}
  body[data-current-page="im"] .IM当前运行{gap:4px;font-size:9px}
  body[data-current-page="im"] .IM当前运行 em,
  body[data-current-page="im"] .IM服务状态{font-size:9px}
  body[data-current-page="im"] .聊天切换{grid-template-columns:repeat(2,minmax(74px,88px));padding:3px}
  body[data-current-page="im"] .聊天切换 button{min-height:30px;padding:0 10px;font-size:12px}
  body[data-current-page="im"] .IM消息区{padding:15px 18px 8px}
  body[data-current-page="im"] .消息{gap:10px}
  body[data-current-page="im"] .消息头像{flex-basis:32px;height:32px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .消息 strong{font-size:13px}
  body[data-current-page="im"] .消息 p{margin-top:4px;font-size:12px;line-height:1.55}
  body[data-current-page="im"] .消息.用户消息{margin-top:12px}
  body[data-current-page="im"] .消息.用户消息 div{padding:8px 11px}
  body[data-current-page="im"] .销售任务反馈{margin:8px 0 0 42px}
  body[data-current-page="im"] .任务单行状态{margin-left:42px}
  body[data-current-page="im"] .销售任务单行状态,
  body[data-current-page="im"] .任务单行状态{margin-top:7px;gap:7px}
  body[data-current-page="im"] .IM任务标签{padding:4px 8px 3px;gap:3px}
  body[data-current-page="im"] .IM任务标签 button{min-height:28px;padding:0 9px;gap:5px}
  body[data-current-page="im"] .IM输入区{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px 8px 8px}
  body[data-current-page="im"] .IM任务配置板块{padding:5px 7px 6px;gap:4px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{min-height:23px;padding-bottom:3px;gap:8px}
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项{gap:5px}
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项>.配置提示{padding-top:1px;font-size:9px;line-height:1.35}
  body[data-current-page="im"] .IM小红书选项 label{gap:2px}
  body[data-current-page="im"] .IM小红书选项 select,
  body[data-current-page="im"] .IM小红书选项 input{height:30px}
  body[data-current-page="im"] .IM输入区 textarea{min-height:38px;padding:9px 11px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] #IM提交按钮{height:38px;min-width:76px;padding:0 16px;border-radius:var(--workbench-action-radius);font-size:12px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) #IM提交按钮{grid-column:1/-1;width:max-content;min-width:148px}
  body[data-current-page="im"] .IM任务面板>header{padding:14px 14px 6px}
  body[data-current-page="im"] .IM任务面板 h2{margin-top:3px;font-size:17px}
  body[data-current-page="im"] .IM任务内容{padding:5px 14px 14px}
  body[data-current-page="im"] .IM任务概览{padding:5px 0 8px}
  body[data-current-page="im"] .IM任务概览>b{margin-top:6px;font-size:24px}
  body[data-current-page="im"] .IM任务概览 small{margin-top:5px;line-height:1.35}
  body[data-current-page="im"] .IM进度条{height:4px;margin-top:6px}
  body[data-current-page="im"] .IM当前阶段{margin-top:7px;padding-top:5px}
  body[data-current-page="im"] .IM当前阶段 strong{margin-top:2px;font-size:12px}
  body[data-current-page="im"] .IM完整流程{margin-top:8px}
  body[data-current-page="im"] .IM完整流程 h3{font-size:11px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表{margin-top:5px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li,
  body[data-current-page="im"] .销售完整流程 .IM进度列表 li{min-height:42px;padding:4px 0;grid-template-columns:22px minmax(0,1fr) auto;gap:7px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li i{width:18px;height:18px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li strong{font-size:11px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li span{margin-top:1px;font-size:9px;line-height:1.3}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li em{padding-top:1px;font-size:8px}
}

@media(min-width:901px){
  body[data-current-page="im"] .IM页面:not([hidden]){grid-template-columns:minmax(0,1fr) 320px;justify-content:stretch;align-items:stretch;gap:12px;padding:60px 14px 14px calc(var(--mc-dock-width) + 28px)}
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{height:calc(100dvh - 74px)}
  body[data-current-page="im"] .IM窗口{width:100%;max-width:none}
  body[data-current-page="im"] .IM消息区{width:min(100%,1200px);justify-self:center}
  body[data-current-page="im"] .IM消息区>#IM任务消息,
  body[data-current-page="im"] .IM消息区 .IM任务消息组{width:100%}
  body[data-current-page="im"] .IM消息区 .IM任务消息组>.用户消息{margin-left:auto;margin-right:0}
}

@media(max-width:900px) and (min-width:761px){
  body[data-current-page="im"] .IM页面:not([hidden]){gap:10px;padding:70px 14px 14px calc(var(--mc-dock-width) + 28px)}
  body[data-current-page="im"] .IM页面 .IM窗口{height:min(600px,calc(100dvh - 84px));min-height:460px}
  body[data-current-page="im"] .IM任务面板{min-height:420px}
}

@media(max-width:760px){
  body[data-current-page="im"] .IM页面:not([hidden]){padding:6px}
  body[data-current-page="im"] .IM窗口{height:calc(100dvh - 12px);border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM窗口顶栏{min-height:56px;padding:0 10px;gap:6px}
  body[data-current-page="im"] .聊天切换{padding:3px;gap:3px}
  body[data-current-page="im"] .聊天切换 button{min-height:30px;padding-inline:7px;font-size:11px}
  body[data-current-page="im"] .IM消息区{padding:12px 11px 7px}
  body[data-current-page="im"] .IM任务标签{padding:4px 7px 3px}
  body[data-current-page="im"] .IM任务标签 button{min-height:28px;padding-inline:8px}
  body[data-current-page="im"] .IM输入区{gap:5px;padding:6px}
  body[data-current-page="im"] .IM任务配置板块{padding:5px 7px 6px;gap:4px;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{min-height:24px;padding-bottom:3px}
  body[data-current-page="im"] .IM小红书选项 label{padding:4px 6px 3px}
  body[data-current-page="im"] .IM小红书选项 select,
  body[data-current-page="im"] .IM小红书选项 input{height:26px}
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项>.配置提示{padding-top:1px;font-size:9px;line-height:1.35}
  body[data-current-page="im"] #IM提交按钮{min-width:64px;height:40px;border-radius:var(--workbench-action-radius);font-size:12px}
}

/* IM 小红书最终层级：一个紧凑液态玻璃配置板块。 */
body[data-current-page="im"] .IM任务配置板块{
  grid-column:1/-1;
  min-width:0;
  padding:8px 10px 9px;
  display:grid;
  gap:7px;
  border:1px solid rgba(134,170,205,.2);
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(205,230,249,.2));
  box-shadow:0 10px 28px rgba(49,87,125,.06),inset 0 1px rgba(255,255,255,.62);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{
  min-height:27px;
  padding:0 2px 6px;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 span{color:#7a8ca0;font-size:9px;font-weight:650}
body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 select{
  min-width:0;
  height:28px;
  padding:0 9px;
  border:1px solid rgba(132,169,205,.18);
  border-radius:var(--workbench-action-radius);
  background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(210,234,251,.2));
  color:#315b86;
  font-size:11px;
  font-weight:680;
  box-shadow:inset 0 1px rgba(255,255,255,.6);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
body[data-current-page="im"] .IM销售截图工具{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
}
body[data-current-page="im"] .IM销售截图工具[hidden]{display:none}
body[data-current-page="im"] .IM销售截图工具 button{
  width:max-content;
  height:30px;
  padding:0 11px;
  border:1px solid rgba(110,155,199,.22);
  border-radius:var(--workbench-action-radius);
  background:rgba(255,255,255,.58);
  color:#315b86;
  font-size:10px;
}
body[data-current-page="im"] .IM销售截图工具 small{
  min-width:0;
  color:#74879a;
  font-size:9px;
  line-height:1.35;
}
body[data-current-page="im"] .IM销售截图列表{
  grid-column:1/-1;
  display:grid;
  gap:5px;
  min-width:0;
}
body[data-current-page="im"] .IM销售截图列表:empty{display:none}
body[data-current-page="im"] .IM销售截图附件{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 22px;
  align-items:center;
  gap:7px;
  min-width:0;
  margin:0;
  padding:5px;
  border:1px solid rgba(110,155,199,.16);
  border-radius:var(--workbench-action-radius);
  background:rgba(255,255,255,.5);
}
body[data-current-page="im"] .IM销售截图附件 img{
  width:34px;
  height:34px;
  border-radius:var(--workbench-action-radius);
  object-fit:cover;
  background:#edf3f8;
}
body[data-current-page="im"] .IM销售截图附件 figcaption{display:grid;min-width:0;gap:2px}
body[data-current-page="im"] .IM销售截图附件 figcaption strong,
body[data-current-page="im"] .IM销售截图附件 figcaption small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM销售截图附件 figcaption strong{color:#315b86;font-size:9px}
body[data-current-page="im"] .IM销售截图附件 figcaption small{font-size:8px}
body[data-current-page="im"] .IM销售截图附件.failed figcaption small{color:#b75b66}
body[data-current-page="im"] .IM销售截图附件>button{
  width:22px;
  height:22px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(49,91,134,.08);
  color:#6d8095;
  font-size:14px;
}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项{
  grid-column:auto;
  min-width:0;
  margin:0;
  padding:0;
  gap:7px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 legend{padding:0 2px;color:#5f7894;font-size:9px;opacity:.76}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 label{gap:3px;color:#6e8196;font-size:9px}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 select{
  height:32px;
  border:1px solid rgba(132,169,205,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.4),rgba(210,234,251,.22));
  box-shadow:inset 0 1px rgba(255,255,255,.62),0 6px 16px rgba(51,91,130,.04);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项>.配置提示{
  min-height:0;
  padding:1px 2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#74869a;
  font-size:9px;
  line-height:1.45;
  box-shadow:none;
}
@media(max-width:760px){
  body[data-current-page="im"] .IM任务配置板块{padding:7px 8px;gap:6px}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择{grid-template-columns:1fr;padding-bottom:4px;gap:3px}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 select{text-align:left}
}

/* 电脑端最终收口：所有任务选项与开始按钮保持一行。 */
@media(min-width:901px){
  body[data-current-page="im"]{--mc-top-height:46px}
  body[data-current-page="im"] .系统顶栏{top:7px}
  body[data-current-page="im"] .产品标识 img{width:32px;height:32px}
  body[data-current-page="im"] .产品标识 strong{font-size:15px}
  body[data-current-page="im"] .全局搜索{height:32px}
  body[data-current-page="im"] .通知按钮{width:32px;height:32px}
  body[data-current-page="im"] .通知按钮::before{left:10px;top:7px}
  body[data-current-page="im"] .员工身份{height:36px}
  body[data-current-page="im"] .品牌按钮{height:48px;margin-bottom:4px}
  body[data-current-page="im"] .品牌按钮 img{width:30px;height:30px}
  body[data-current-page="im"] .IM窗口顶栏{min-height:50px;padding-inline:12px}
  body[data-current-page="im"] .IM窗口标题 h1{font-size:17px}
  body[data-current-page="im"] .聊天切换{grid-template-columns:repeat(2,minmax(68px,80px))}
  body[data-current-page="im"] .聊天切换 button{min-height:28px;font-size:11px}
  body[data-current-page="im"] .IM消息区{padding:12px 14px 6px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){grid-template-columns:minmax(0,900px) auto;justify-content:center;align-items:end;gap:6px;padding:6px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块{
    grid-column:1;
    grid-row:1;
    grid-template-columns:minmax(108px,.8fr) minmax(0,3fr);
    align-items:end;
    gap:5px;
    padding:5px 6px;
    border-radius:var(--workbench-action-radius);
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择{min-height:0;padding:0;grid-template-columns:1fr;align-items:end;gap:2px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select{height:28px;padding-inline:7px;font-size:10px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 legend,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项>.配置提示{display:none}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 label{gap:2px;font-size:8px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) #IM提交按钮{grid-column:2;grid-row:1;width:auto;min-width:104px;height:48px;padding-inline:12px}
  body[data-current-page="im"] .IM任务面板>header{padding:11px 12px 4px}
  body[data-current-page="im"] .IM任务面板 h2{font-size:15px}
  body[data-current-page="im"] .IM任务内容{padding:4px 12px 10px}
  body[data-current-page="im"] .IM任务概览>b{font-size:21px}
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li,
  body[data-current-page="im"] .销售完整流程 .IM进度列表 li{min-height:36px;padding:3px 0}
}

/* 删除无实际用途的顶部入口后，系统栏只承载产品标识和当前运行。 */
.系统顶栏{grid-template-columns:minmax(220px,1fr) auto}

@media(max-width:1179px) and (min-width:901px){
  body[data-current-page="im"] .IM页面:not([hidden]){grid-template-columns:minmax(0,1fr) 260px}
}

/* 每个任务标签继续保留独立关闭按钮；标题区只清空当前窗口，不提供清空全部。 */
body[data-current-page="im"] .IM任务标签项{
  min-width:0;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  border-radius:var(--workbench-action-radius);
  background:transparent;
}
body[data-current-page="im"] .IM任务标签项.已选中{
  
  
  backdrop-filter:blur(18px) saturate(1.16);
  -webkit-backdrop-filter:blur(18px) saturate(1.16);
}
body[data-current-page="im"] .IM任务标签项>button[data-select-im-task]{
  padding-right:6px;
}
body[data-current-page="im"] .IM任务标签项.已选中>button[data-select-im-task]{
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .IM任务标签 button.IM任务删除{
  width:25px;
  min-width:25px;
  min-height:25px;
  margin-right:4px;
  padding:0;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#788a9c;
  font-size:15px;
  line-height:1;
  box-shadow:inset 0 1px rgba(255,255,255,.48);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body[data-current-page="im"] .IM任务标签 button.IM任务删除:hover,
body[data-current-page="im"] .IM任务标签 button.IM任务删除:focus-visible{
  background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(245,211,207,.28));
  color:#a25349;
}
body[data-current-page="im"] .IM任务标签 button.IM任务删除:disabled{opacity:.55}

@media(max-width:760px){
  body[data-current-page="im"] .IM任务标签 button.IM任务删除{width:23px;min-width:23px;min-height:23px;margin-right:3px}
}

body[data-current-page="im"] .IM任务标签 button .IM任务并发提示{
  padding-left:7px;
  border-left:1px solid rgba(77,103,128,.24);
  color:#607891;
  font-size:10px;
  font-weight:620;
  font-style:normal;
  white-space:nowrap;
}

@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项{grid-template-columns:repeat(4,minmax(0,1fr))}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* IM 小红书启动区：去掉多层玻璃容器，用留白、文字层级和单一底线组织操作。 */
@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    column-gap:18px;
    row-gap:4px;
    padding:10px 22px 14px;
    border-top:0;
    background:transparent;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块{
    grid-template-columns:minmax(128px,.72fr) minmax(0,3.28fr);
    align-items:end;
    gap:18px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择{
    min-height:0;
    padding:0;
    display:grid;
    grid-template-columns:1fr;
    align-items:end;
    gap:4px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:end;
    gap:18px;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 span,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 label>span{
    color:#74879b;
    font-size:10px;
    font-weight:620;
    line-height:1;
    text-align:left;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 label{
    min-width:0;
    padding:0;
    gap:4px;
    border:0;
    border-radius:0;
    background:transparent;
    text-align:left;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select{
    min-width:0;
    width:100%;
    height:32px;
    padding:0 22px 0 0;
    border:0;
    border-bottom:1px solid rgba(94,137,177,.28);
    border-radius:0;
    background:transparent;
    color:#244f79;
    font-size:12px;
    font-weight:660;
    text-align:left;
    text-align-last:left;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select:focus,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select:focus{
    border-bottom-color:#4388d8;
    box-shadow:0 2px 0 rgba(49,119,198,.12);
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) #IM提交按钮{
    grid-column:2;
    grid-row:1;
    width:auto;
    min-width:132px;
    height:44px;
    padding-inline:18px;
    align-self:end;
  }
}

@media(min-width:901px) and (max-width:1179px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
    column-gap:6px;
    row-gap:4px;
    padding-inline:6px;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块{
    grid-template-columns:minmax(88px,.65fr) minmax(0,3.35fr);
    gap:8px;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{
    grid-template-columns:repeat(4,minmax(96px,1fr));
    gap:6px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{
    grid-template-columns:repeat(3,minmax(96px,1fr));
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) #IM提交按钮{
    min-width:104px;
    padding-inline:10px;
  }
}

/* 全工作台统一液态玻璃：共享半透明、磨砂、高光与克制阴影，不改变现有几何和业务结构。 */
:root{
  --glass-surface:linear-gradient(145deg,rgba(255,255,255,.18),rgba(221,239,253,.08) 48%,rgba(139,195,239,.04));
  --glass-surface-strong:linear-gradient(145deg,rgba(255,255,255,.34),rgba(213,235,252,.15) 52%,rgba(154,204,243,.08));
  --glass-surface-soft:linear-gradient(145deg,rgba(255,255,255,.12),rgba(190,222,248,.05));
  --glass-border:rgba(255,255,255,.72);
  --glass-highlight:inset 0 1px rgba(255,255,255,.9),inset 1px 0 rgba(255,255,255,.4),inset 0 -1px rgba(89,154,212,.14);
  --glass-shadow:0 24px 68px rgba(34,71,108,.13),0 8px 24px rgba(61,119,173,.08),var(--glass-highlight);
  --glass-blur:blur(14px) saturate(1.42);
}




.系统Dock,
.独立环节组>.环节卡,
.任务进程,
.配置抽屉,
.日志弹层,
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border-color:var(--glass-border);
  background:var(--glass-surface);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
}

.系统Dock nav button:hover,
.系统Dock nav button.已选中,
.状态胶囊,
.顶栏动作 button,
.任务进程轨道,
.详情区块,
.卡内子环节,
.关键词条目{
  border-color:rgba(255,255,255,.5);
  background:var(--glass-surface-soft);
  box-shadow:var(--glass-highlight);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  backdrop-filter:blur(18px) saturate(1.2);
}
.系统Dock nav button.已选中{
  background:var(--glass-surface-strong);
  box-shadow:0 13px 30px rgba(42,76,119,.13),var(--glass-highlight);
}
.独立环节组>.环节卡.当前,
.卡内子环节:hover,
.卡内子环节:focus-visible,
.卡内子环节.当前{
  background:var(--glass-surface-strong);
}
.任务启动按钮,
body[data-current-page="im"] #IM提交按钮{
  border-color:rgba(255,255,255,.64);
  background:linear-gradient(145deg,rgba(38,119,232,.82),rgba(103,173,241,.68));
  box-shadow:0 14px 34px rgba(38,102,184,.22),inset 0 1px rgba(255,255,255,.46);
  -webkit-backdrop-filter:blur(18px) saturate(1.22);
  backdrop-filter:blur(18px) saturate(1.22);
}
.配置表单 input,
.配置表单 select,
.配置表单 textarea,
body[data-current-page="im"] .IM输入区 textarea{
  border-color:rgba(255,255,255,.5);
  background:var(--glass-surface-soft);
  box-shadow:var(--glass-highlight);
  -webkit-backdrop-filter:blur(18px) saturate(1.18);
  backdrop-filter:blur(18px) saturate(1.18);
}

body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(207,232,250,.06) 50%,rgba(113,176,226,.03));
}
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header,
body[data-current-page="im"] .IM输入区{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(168,210,243,.08));
  -webkit-backdrop-filter:blur(16px) saturate(1.28);
  backdrop-filter:blur(16px) saturate(1.28);
}

/* 固定切换胶囊的内部几何；响应式基础样式的 110px 最小宽度不得把微信选中态顶出外框。 */
body[data-current-page="im"] .聊天切换{
  width:176px;
  max-width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:3px;
  padding:3px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.5);
  background:var(--glass-surface-soft);
  box-shadow:0 10px 30px rgba(43,78,116,.1),var(--glass-highlight);
  -webkit-backdrop-filter:blur(24px) saturate(1.28);
  backdrop-filter:blur(24px) saturate(1.28);
}
body[data-current-page="im"] .聊天切换 button{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
body[data-current-page="im"] .聊天切换 button.已选中{
  background:var(--glass-surface-strong);
  box-shadow:0 7px 20px rgba(45,85,126,.11),var(--glass-highlight);
}
body[data-current-page="im"] .聊天切换 button:focus-visible{
  outline:2px solid rgba(43,124,220,.48);
  outline-offset:-3px;
}

@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(143,196,237,.1));
    -webkit-backdrop-filter:blur(16px) saturate(1.28);
    backdrop-filter:blur(16px) saturate(1.28);
  }
}

@media(prefers-reduced-transparency:reduce){
  .系统Dock,
  .独立环节组>.环节卡,
  .任务进程,
  .配置抽屉,
  .日志弹层,
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{
    background:rgba(242,248,253,.96);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

/* 2026-08-06 阅读优先层级：保留浅冰蓝液态玻璃与既有几何，只提高承载信息的明度分层、字号和对比。 */
:root{
  --readable-ink:#102945;
  --readable-ink-strong:#071d36;
  --readable-muted:#4f6a86;
  --readable-subtle:#647c94;
  --readable-panel:linear-gradient(145deg,rgba(247,251,255,.62),rgba(215,235,250,.42) 52%,rgba(167,208,239,.24));
  --readable-panel-strong:linear-gradient(145deg,rgba(250,253,255,.76),rgba(213,235,252,.54) 54%,rgba(156,203,239,.31));
  --readable-panel-soft:linear-gradient(145deg,rgba(255,255,255,.52),rgba(203,229,248,.31));
  --readable-border:rgba(255,255,255,.86);
  --readable-shadow:0 24px 68px rgba(25,61,96,.18),0 8px 24px rgba(43,96,145,.1),inset 0 1px rgba(255,255,255,.94);
}

body{color:var(--readable-ink)}
.产品标识 strong{color:var(--readable-ink-strong);font-size:18px}
.产品标识 span{color:var(--readable-muted);font-size:11px}
.眉题{color:var(--readable-muted);font-size:11px;letter-spacing:.06em}

.系统Dock,
.独立环节组>.环节卡,
.任务进程,
.配置抽屉,
.日志弹层,
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border-color:var(--readable-border);
  background:var(--readable-panel);
  box-shadow:var(--readable-shadow);
}

.系统Dock nav button small{color:#47627f;font-size:11px;font-weight:650;line-height:1.25}
.系统Dock nav button.已选中 small{color:#174f92;font-weight:760}
.Dock状态{color:#526d86;font-size:10px;font-weight:650}

body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header,
body[data-current-page="im"] .IM输入区{
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(176,215,244,.22));
}
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header{border-bottom-color:rgba(78,119,157,.2)}
body[data-current-page="im"] .IM当前运行,
body[data-current-page="im"] .IM当前运行 em,
body[data-current-page="im"] .IM服务状态{color:#3f607d;font-size:12px;font-weight:650}
body[data-current-page="im"] .聊天切换{background:var(--readable-panel-soft)}
body[data-current-page="im"] .聊天切换 button{color:#496884;font-size:13px;font-weight:680}
body[data-current-page="im"] .聊天切换 button.已选中{color:#145eb8;background:var(--readable-panel-strong)}

body[data-current-page="im"] .IM消息区>.消息.系统消息:first-child>div{opacity:1}
body[data-current-page="im"] .消息 strong{color:#183b5d;font-size:15px}
body[data-current-page="im"] .消息 p{color:#405f7b;font-size:14px;line-height:1.7}
body[data-current-page="im"] .消息.用户消息 div p{color:#173f61;font-size:14px}
body[data-current-page="im"] .任务单行状态,
body[data-current-page="im"] .销售任务单行状态{color:#3f607d;font-size:12px}
body[data-current-page="im"] .任务单行状态 strong,
body[data-current-page="im"] .销售任务单行状态 strong{font-size:13px}

body[data-current-page="im"] .IM任务面板 h2{color:var(--readable-ink-strong);font-size:18px}
body[data-current-page="im"] .IM任务空状态{color:#4c6985;font-size:13px;line-height:1.65}
body[data-current-page="im"] .IM任务概览 span{color:#4f6982;font-size:12px}
body[data-current-page="im"] .IM任务概览 strong{color:#163a5c;font-size:14px}
body[data-current-page="im"] .IM任务概览 p,
body[data-current-page="im"] .IM任务概览 small{color:#526d87;font-size:11px;line-height:1.55;opacity:1}
body[data-current-page="im"] .IM当前阶段 span{color:#58728b;font-size:11px}
body[data-current-page="im"] .IM当前阶段 strong{color:#163f68;font-size:14px}
body[data-current-page="im"] .IM完整流程 h3{color:#2f516f;font-size:13px}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li strong{color:#183b5d;font-size:12px}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li span{color:#536e88;font-size:11px;line-height:1.45}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li em{color:#5b738a;font-size:10px}
body[data-current-page="im"] .销售完整流程 .销售环节来源{color:#3d6588;font-size:10px;line-height:1.5;opacity:1}

body[data-current-page="im"] .IM任务标签{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(197,224,246,.28))}
body[data-current-page="im"] .IM任务标签 button{color:#4d6780}
body[data-current-page="im"] .IM任务标签 button span{font-size:12px}
body[data-current-page="im"] .IM任务标签 button em{font-size:10px;opacity:.82}


body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 span,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 label>span{
  color:#4f6881;
  font-size:12px;
  font-weight:680;
  line-height:1.2;
}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select{
  height:36px;
  color:#173f67;
  font-size:14px;
  font-weight:690;
  border-bottom-color:rgba(49,100,148,.38);
}
body[data-current-page="im"] #IM提交按钮{font-size:14px;font-weight:730}

.功能顶栏 h1{color:var(--readable-ink-strong);font-size:24px}
.状态胶囊,.顶栏动作 button{color:#315a82;font-size:12px;background:var(--readable-panel-soft)}
.独立环节组 .环节内部顶部 small{color:#536f8a;font-size:12px}
.独立环节组 .环节状态{font-size:11px}
.独立环节组 .环节主标题 strong{color:#102f50;font-size:19px}
.独立环节组>.环节卡>p{color:#526d87;font-size:13px;line-height:1.6}
.卡内子环节{background:rgba(255,255,255,.5)}
.卡内子环节 strong{color:#173b5d;font-size:13px}
.卡内子环节 em{color:#57718a;font-size:11px}
.卡内子环节>small{color:#617a91;font-size:11px}
.卡内子环节指标 .环节值{font-size:12px}
.卡内子环节指标 u{font-size:11px}
.独立环节组 .环节操作{color:#215f9f;font-size:12px;font-weight:680}
.任务中心标题 strong{font-size:15px}
.任务中心栏 small,.任务中心表头{color:#526e88;font-size:11px}
.任务环节 strong{color:#173b5d;font-size:12px}
.任务环节 small,.任务状态显示,.任务可视进度 em{color:#586f87;font-size:10px}
.进程节点>b{font-size:11px}
.配置抽屉 h2{color:var(--readable-ink-strong);font-size:22px}
.详情区块{background:var(--readable-panel-soft)}
.详情区块 h3{color:#173b5d;font-size:15px}
.详情区块 p,.配置表单 label{color:#4e6984;font-size:13px;line-height:1.65}
.详情指标 span{color:#5b7188;font-size:11px}
.详情指标 b{color:#183c5f;font-size:15px}
.数据表 th,.数据表 td{color:#294966;font-size:12px;line-height:1.5}

@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){padding-top:13px;padding-bottom:16px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项,
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项[data-collection-mode="library"]{gap:16px}
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) #IM提交按钮{height:48px}
}

.内容架构槽位树表单{margin:12px;display:grid;gap:12px}.内容架构槽位树表单>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dbe7fb;border-radius:var(--workbench-action-radius);background:#f6f9ff}.内容架构槽位树表单>header div{display:grid;gap:3px}.内容架构槽位树表单>header strong{font-size:13px}.内容架构槽位树表单>header small{color:var(--workbench-text-muted);font-size:10px}.内容架构根节点,.内容架构绑定模板{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);font-size:10px}.内容架构根节点 input,.内容架构绑定模板 select{width:100%}.内容架构绑定模板 small{color:var(--workbench-text-muted)}.内容架构槽位树,.内容架构槽位树 ol{margin:0;padding:0;list-style:none}.内容架构槽位根>span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#245faf;color:#fff;font-size:11px;font-weight:700}.内容架构槽位根>ol{margin-top:8px}.内容架构槽位节点{position:relative;margin-left:calc(var(--tree-depth,0) * 22px + 14px);padding:0 0 10px 20px}.内容架构槽位节点:before{content:"";position:absolute;left:0;top:-10px;bottom:0;border-left:1px solid #b8cbea}.内容架构槽位节点:after{content:"";position:absolute;left:0;top:18px;width:14px;border-top:1px solid #b8cbea}.内容架构槽位节点>article{position:relative;z-index:1;padding:10px;border:1px solid #dbe7fb;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 4px 14px rgba(36,95,175,.06)}.内容架构槽位节点>article>header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.内容架构槽位节点>article>header span{font-size:11px;font-weight:700}.内容架构槽位节点>article>header em{color:#245faf;font-size:9px;font-style:normal}.内容架构槽位字段{display:grid;grid-template-columns:minmax(120px,2fr) minmax(90px,1fr) minmax(120px,1.5fr) 70px;gap:7px}.内容架构槽位字段 label{display:grid;gap:4px;color:var(--workbench-text-muted);font-size:9px}.内容架构槽位字段 input,.内容架构槽位字段 select{min-width:0;width:100%}.内容架构槽位节点>article>button{margin-top:8px}.内容架构槽位树表单>footer{display:flex;align-items:center;gap:10px}.内容架构槽位树表单>footer p{margin:0}.内容架构原文折叠{margin:0 12px 16px;border-top:1px solid var(--workbench-border-subtle)}.内容架构原文折叠>summary{padding:12px 0;cursor:pointer;color:var(--workbench-text-secondary);font-size:11px;font-weight:700}
@media(max-width:900px){
  body[data-current-page="im"] .消息 strong{font-size:14px}
  body[data-current-page="im"] .消息 p{font-size:13px}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 span,
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 label,
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 legend{font-size:11px}
  body[data-current-page="im"] .IM任务配置板块 .IM栏目选择 select,
  body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 select{font-size:12px}
}

@media(max-width:760px){
  body[data-current-page="xiaohongshu"] .环节画布{padding-top:168px}
}

@media(min-width:761px) and (max-width:1100px){
  .环节轨道{justify-content:flex-start}
}

@media(prefers-contrast:more){
  :root{
    --readable-panel:linear-gradient(145deg,rgba(252,254,255,.9),rgba(217,237,252,.82));
    --readable-panel-strong:linear-gradient(145deg,rgba(255,255,255,.96),rgba(207,233,252,.88));
  }
  body{color:#051a31}
}

/* 2026-08-06 全局白色媒体工作台：保留既有几何，以系统蓝承载全部交互强调。 */
:root{
  color-scheme:light;
  --music-canvas:#f5f5f7;
  --music-sidebar:rgba(255,255,255,.94);
  --music-panel:rgba(255,255,255,.92);
  --music-panel-raised:rgba(255,255,255,.98);
  --music-panel-soft:rgba(15,23,42,.035);
  --music-panel-hover:rgba(10,132,255,.07);
  --music-border:rgba(15,23,42,.1);
  --music-border-strong:rgba(15,23,42,.17);
  --music-text:#1d1d1f;
  --music-text-secondary:#545861;
  --music-text-muted:#7b8089;
  --music-blue:#0a84ff;
  --music-blue-hover:#0071e3;
  --music-blue-soft:rgba(10,132,255,.11);
  --music-shadow:0 22px 58px rgba(52,64,84,.13),inset 0 1px rgba(255,255,255,.92);
  --readable-ink:var(--music-text);
  --readable-ink-strong:#111113;
  --readable-muted:var(--music-text-secondary);
  --readable-subtle:var(--music-text-muted);
  --readable-panel:var(--music-panel);
  --readable-panel-strong:var(--music-panel-raised);
  --readable-panel-soft:var(--music-panel-soft);
  --readable-border:var(--music-border);
  --readable-shadow:var(--music-shadow);
  --glass-surface:var(--music-panel);
  --glass-surface-strong:var(--music-panel-raised);
  --glass-surface-soft:var(--music-panel-soft);
  --glass-border:var(--music-border);
  --glass-highlight:inset 0 1px rgba(255,255,255,.92);
  --glass-shadow:var(--music-shadow);
  --glass-blur:blur(24px) saturate(1.08);
}

html,
body{
  background:var(--music-canvas);
  color:var(--music-text);
}
body{font-synthesis:none;-webkit-font-smoothing:antialiased}
::selection{background:rgba(10,132,255,.24);color:#102a43}




.系统顶栏{
  border-bottom-color:rgba(15,23,42,.08);
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 30px rgba(52,64,84,.08);
  -webkit-backdrop-filter:blur(24px) saturate(1.05);
  backdrop-filter:blur(24px) saturate(1.05);
}
.产品标识 strong,
.功能顶栏 h1,
.配置抽屉 h2,
body[data-current-page="im"] .IM任务面板 h2{color:var(--music-text)}
.产品标识 span,
.眉题,
.当前运行 span,
.当前运行 small,
.功能顶栏 p{color:var(--music-text-muted)}
.当前运行 strong{color:var(--music-text)}
.当前运行{
  border-color:var(--music-border-strong);
  background:var(--music-panel-raised);
  box-shadow:0 10px 28px rgba(52,64,84,.1),inset 0 1px rgba(255,255,255,.92);
}
.当前运行 em{color:var(--music-text-secondary)}

.系统Dock,
.独立环节组>.环节卡,
.任务进程,
.配置抽屉,
.日志弹层,
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border-color:var(--music-border-strong);
  background:var(--music-panel);
  color:var(--music-text);
  box-shadow:var(--music-shadow);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
  backdrop-filter:blur(24px) saturate(1.08);
}
.系统Dock{background:var(--music-sidebar)}
.系统Dock nav button{
  color:var(--music-text-secondary);
  background:transparent;
}
.系统Dock nav button small,
.Dock状态{color:var(--music-text-secondary)}
.系统Dock nav button:hover{
  border-color:transparent;
  background:var(--music-panel-hover);
  box-shadow:none;
}
.系统Dock nav button.已选中{
  border-color:transparent;
  background:rgba(10,132,255,.065);
  box-shadow:none;
}
.系统Dock nav button.已选中 small{color:var(--music-blue-hover)}
.系统Dock nav button.已选中 img{filter:none}

.状态胶囊,
.顶栏动作 button{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
  color:var(--music-text-secondary);
  box-shadow:none;
}
.顶栏动作 button:hover,
.顶栏动作 button:focus-visible{
  border-color:rgba(10,132,255,.46);
  background:var(--music-blue-soft);
  color:var(--music-blue-hover);
}

.独立环节组>.环节卡{
  background:var(--music-panel);
}
.独立环节组>.环节卡:hover{
  border-color:var(--music-border-strong);
  background:var(--music-panel-raised);
}
.独立环节组>.环节卡.当前{
  border-color:rgba(10,132,255,.78);
  background:var(--music-panel-raised);
  box-shadow:0 20px 48px rgba(52,64,84,.14),0 0 0 1px rgba(10,132,255,.16);
}
.独立环节组 .环节内部顶部 small,
.独立环节组>.环节卡>p,
.卡内子环节 em,
.卡内子环节>small,
.卡内子环节指标 u{color:var(--music-text-muted)}
.独立环节组 .环节主标题 strong,
.卡内子环节 strong,
.卡内子环节指标 .环节值{color:var(--music-text)}
.独立环节组 .环节操作{color:var(--music-blue)}
.独立环节组 .环节操作:hover{color:var(--music-blue-hover)}
.独立环节组>.环节卡:not(.当前)>.环节操作{
  border-top-color:var(--music-border);
  background:rgba(15,23,42,.025);
}
.独立环节组>.环节卡.当前>.环节操作{
  border-color:var(--music-blue);
  background:var(--music-blue);
}
.卡内子环节,
.关键词条目,
.详情区块{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
  box-shadow:none;
}
.卡内子环节:hover,
.卡内子环节:focus-visible,
.卡内子环节.当前{
  border-color:rgba(10,132,255,.46);
  background:var(--music-blue-soft);
}

.任务进程轨道{
  border-color:var(--music-border);
  background:rgba(15,23,42,.04);
  box-shadow:none;
}
.任务中心标题 strong,
.任务环节 strong,
.进程节点>b{color:var(--music-text)}
.任务中心栏 small,
.任务中心表头,
.任务环节 small,
.任务状态显示,
.任务可视进度 em,
.日志空状态{color:var(--music-text-muted)}
.进度监听摘要{border-bottom-color:rgba(15,23,42,.08);color:var(--music-text-secondary)}
.进度监听摘要.空 strong,
.进度监听摘要.版本 strong,
.进度监听摘要>small{color:var(--music-text-secondary)}
.独立功能事件列表 li{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
  color:var(--music-text-secondary);
}
.独立功能事件列表 li strong{color:var(--music-text)}
.独立功能事件列表 li span,
.独立功能事件列表 li small,
.独立功能事件列表 li time{color:var(--music-text-muted)}
.任务环节列{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
}
.任务环节列>header{border-bottom-color:rgba(15,23,42,.08)}
.任务环节列>header small,
.任务环节列>ol:empty::after{color:var(--music-text-muted)}
.任务环节列>header strong{color:var(--music-text)}
.任务环节列>header>i{background:var(--music-blue-soft);color:var(--music-blue)}
.进程事件状态{
  border-color:var(--music-border);
  background:rgba(15,23,42,.03);
}
.进程事件状态 strong{color:var(--music-text)}
.进程事件状态 em,
.进程事件状态 small,
.进程事件状态 time{color:var(--music-text-muted)}
.进程事件状态.running{border-color:rgba(10,132,255,.42);background:var(--music-blue-soft)}
.进程事件状态.failed{border-color:rgba(255,105,97,.32);background:rgba(255,105,97,.08)}
.任务可视进度 span,
.IM进度条{background:rgba(15,23,42,.09)!important}
.任务可视进度 i,
.IM进度条 i{background:var(--music-blue)!important}
.进程节点.当前 i,
.进程节点.running i{color:var(--music-blue);background:var(--music-blue-soft)}

.配置抽屉>header,
.日志弹层>header,
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header,
body[data-current-page="im"] .IM输入区{
  border-color:rgba(15,23,42,.08);
  background:rgba(248,249,251,.78);
  -webkit-backdrop-filter:blur(20px) saturate(1.04);
  backdrop-filter:blur(20px) saturate(1.04);
}
.详情区块 h3,
.详情指标 b,
.数据表 th,
.数据表 td{color:var(--music-text)}
.详情区块 p,
.配置表单 label,
.详情指标 span,
.配置提示{color:var(--music-text-secondary)}
.数据表 th,
.数据表 td{border-color:rgba(15,23,42,.08)}
.数据表 tbody tr:hover{background:var(--music-panel-hover)}

.配置表单 input,
.配置表单 select,
.配置表单 textarea,
body[data-current-page="im"] .IM输入区 textarea,
body[data-current-page="im"] .IM任务配置板块 select{
  border-color:var(--music-border-strong);
  background:rgba(255,255,255,.96);
  color:var(--music-text);
  box-shadow:none;
}
.配置表单 input::placeholder,
.配置表单 textarea::placeholder,
body[data-current-page="im"] .IM输入区 textarea::placeholder{color:#92969e}
.配置表单 input:focus,
.配置表单 select:focus,
.配置表单 textarea:focus,
body[data-current-page="im"] .IM输入区 textarea:focus,
body[data-current-page="im"] .IM任务配置板块 select:focus{
  border-color:var(--music-blue);
  box-shadow:0 0 0 3px rgba(10,132,255,.16);
}
.配置表单 option,
body[data-current-page="im"] option{background:#fff;color:var(--music-text)}
.配置抽屉>header button,
.仅只读{
  border-color:var(--music-border);
  background:var(--music-panel-raised);
  color:var(--music-text-secondary);
}
.方向搜索条目{
  border-color:var(--music-border);
  background:rgba(15,23,42,.025);
  color:var(--music-text);
}
.方向搜索条目>header div span,
.方向搜索条目 dt{color:var(--music-text-muted)}
.方向搜索条目 dd span,
.方向搜索条目 dd em{
  background:var(--music-blue-soft);
  color:#0068c9;
}
.方向搜索条目 .实际搜索词{border-top-color:var(--music-border)}
.方向搜索条目 .实际搜索词 dd span{
  background:rgba(36,138,61,.1);
  color:#187a31;
}
.次操作{
  border-color:rgba(10,132,255,.38);
  background:var(--music-blue-soft);
  color:#0068c9;
}
.次操作:hover,
.次操作:focus-visible{border-color:var(--music-blue);color:var(--music-blue-hover)}

.任务启动按钮,
body[data-current-page="im"] #IM提交按钮,
.配置抽屉 button[type="submit"]{
  border-color:var(--music-blue);
  background:var(--music-blue);
  color:#fff;
  box-shadow:0 10px 24px rgba(10,132,255,.22);
}
.任务启动按钮:hover,
body[data-current-page="im"] #IM提交按钮:hover,
.配置抽屉 button[type="submit"]:hover{
  border-color:var(--music-blue-hover);
  background:var(--music-blue-hover);
}
.任务启动按钮:disabled,
body[data-current-page="im"] #IM提交按钮:disabled{background:#e5e7eb;border-color:#e5e7eb;color:#92969e;box-shadow:none}

body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{background:var(--music-panel)}
body[data-current-page="im"] .IM当前运行,
body[data-current-page="im"] .IM当前运行 em,
body[data-current-page="im"] .IM服务状态,
body[data-current-page="im"] .任务单行状态,
body[data-current-page="im"] .销售任务单行状态{color:var(--music-text-secondary)}
body[data-current-page="im"] .IM任务配置板块{
  border-color:var(--music-border);
  background:rgba(15,23,42,.025);
  box-shadow:none;
}
body[data-current-page="im"] .聊天切换{
  border-color:var(--music-border-strong);
  background:rgba(15,23,42,.055);
  box-shadow:none;
}
body[data-current-page="im"] .聊天切换 button{color:var(--music-text-muted)}
body[data-current-page="im"] .聊天切换 button.已选中{
  color:var(--music-blue-hover);
  background:var(--music-blue-soft);
  box-shadow:inset 0 0 0 1px rgba(10,132,255,.32);
}
body[data-current-page="im"] .消息 strong,
body[data-current-page="im"] .消息 p,
body[data-current-page="im"] .消息.用户消息 div p,
body[data-current-page="im"] .销售回复消息 strong,
body[data-current-page="im"] .销售回复消息 p{color:var(--music-text)}
body[data-current-page="im"] .消息.用户消息 div{
  border-color:rgba(10,132,255,.17);
  background:rgba(10,132,255,.075);
  box-shadow:none;
}
body[data-current-page="im"] .消息.用户消息 div strong,
body[data-current-page="im"] .任务单行状态 span,
body[data-current-page="im"] .销售任务单行状态 span{color:var(--music-text-muted)}
body[data-current-page="im"] .IM任务标签{
  border-color:rgba(15,23,42,.08);
  background:rgba(15,23,42,.035);
}
body[data-current-page="im"] .IM任务标签 button{color:var(--music-text-muted)}

body[data-current-page="im"] .IM任务标签项.已选中>button[data-select-im-task]{color:var(--music-blue-hover)}
body[data-current-page="im"] .IM任务概览{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
}
body[data-current-page="im"] .IM任务概览 span,
body[data-current-page="im"] .IM任务概览 p,
body[data-current-page="im"] .IM任务概览 small,
body[data-current-page="im"] .IM当前阶段 span,
body[data-current-page="im"] .IM完整流程 .IM进度列表 li span,
body[data-current-page="im"] .IM完整流程 .IM进度列表 li em,
body[data-current-page="im"] .销售完整流程 .销售环节来源{color:var(--music-text-muted)}
body[data-current-page="im"] .IM任务概览 strong,
body[data-current-page="im"] .IM当前阶段 strong,
body[data-current-page="im"] .IM完整流程 h3,
body[data-current-page="im"] .IM完整流程 .IM进度列表 li strong{color:var(--music-text)}
body[data-current-page="im"] .IM当前阶段{
  border-color:var(--music-border);
  background:var(--music-panel-soft);
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running i{
  color:var(--music-blue);
  background:var(--music-blue-soft);
  box-shadow:0 0 0 5px rgba(10,132,255,.06);
}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 span,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 label>span,
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 legend,
body[data-current-page="im"] .IM任务配置板块 .IM小红书选项 label,
body[data-current-page="im"] .IM任务标签 button .IM任务并发提示{color:var(--music-text-secondary)}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select{
  color:var(--music-text);
  border:1px solid var(--music-border-strong);
  border-radius:var(--workbench-action-radius);
  padding-inline:10px 26px;
  background:#fff;
}
body[data-current-page="im"] .IM输入区 select{
  -webkit-appearance:none;
  appearance:none;
  border-color:#c9cdd3!important;
  background:#fff!important;
  color:var(--music-text)!important;
  -webkit-text-fill-color:var(--music-text);
  box-shadow:none!important;
  cursor:pointer;
}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM栏目选择 select:focus,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项 select:focus{
  border-color:var(--music-blue);
  box-shadow:0 0 0 3px rgba(10,132,255,.16);
}
@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
    background:rgba(248,249,251,.78);
  }
}

/* IM 底部参数和任务标签复用顶部切换器的组合结构，外层圆角与提交按钮一致。 */
body[data-current-page="im"] #IM提交按钮{border-radius:var(--workbench-action-radius)}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
  width:auto;
  margin:0 14px 12px;
  padding:6px;
  box-sizing:border-box;
  border:1px solid var(--music-border-strong);
  border-radius:var(--workbench-action-radius);
  background:rgba(15,23,42,.055);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块{
  border:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
body[data-current-page="im"] .IM任务标签{
  width:max-content;
  max-width:calc(100% - 28px);
  margin:0 14px 6px;
  padding:3px;
  justify-self:end;
  box-sizing:border-box;
  border:1px solid var(--music-border-strong);
  border-radius:var(--workbench-action-radius);
  background:rgba(15,23,42,.055);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}



*{scrollbar-color:#b7bcc5 #eef0f3}
::-webkit-scrollbar-track{background:#eef0f3}
::-webkit-scrollbar-thumb{background:#b7bcc5;border:3px solid #eef0f3;border-radius:var(--workbench-action-radius)}
::-webkit-scrollbar-thumb:hover{background:#9ea4ae}

@media(prefers-reduced-transparency:reduce){
  .系统Dock,
  .独立环节组>.环节卡,
  .任务进程,
  .配置抽屉,
  .日志弹层,
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{
    background:#fff;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

@media(prefers-contrast:more){
  :root{
    --music-panel:#fff;
    --music-panel-raised:#fff;
    --music-border:rgba(15,23,42,.22);
    --music-border-strong:rgba(15,23,42,.36);
  }
  body{color:#111113}
}

/* 2026-08-06 全局配置弹窗：用宽内容区替代右侧半弹层，表格保持横向阅读。 */
.详情遮罩{
  background:rgba(35,45,61,.22);
  -webkit-backdrop-filter:blur(8px) saturate(1.02);
  backdrop-filter:blur(8px) saturate(1.02);
}
.配置抽屉{
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(1040px,calc(100vw - 96px));
  height:min(820px,calc(100dvh - 72px));
  max-height:calc(100dvh - 72px);
  border-radius:var(--workbench-action-radius);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-46%) scale(.985);
  transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s;
}
.配置抽屉.已打开{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,-50%) scale(1);
  transition-delay:0s;
}
.配置抽屉>header{
  padding:18px 22px 16px;
  align-items:center;
}
.配置抽屉 h2{margin:0;font-size:22px;line-height:1.2}
.详情内容{
  min-width:0;
  padding:20px 22px 28px;
}
.数据表{
  max-width:100%;
  overflow:auto;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
}
.数据表 table{
  width:max(100%,calc(var(--data-column-count,5) * 172px));
  min-width:900px;
  table-layout:fixed;
}
.数据表 th,
.数据表 td{
  width:172px;
  min-width:172px;
  max-width:172px;
  white-space:nowrap;
  word-break:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
  writing-mode:horizontal-tb;
}
.数据表 th{
  white-space:nowrap;
  overflow-wrap:normal;
}

@media(max-width:1100px){
  .配置抽屉{
    width:calc(100vw - 48px);
    height:calc(100dvh - 48px);
    max-height:calc(100dvh - 48px);
  }
}

@media(max-width:760px){
  .配置抽屉{
    top:calc(50% - 38px);
    left:50%;
    right:auto;
    bottom:auto;
    width:calc(100vw - 24px);
    height:calc(100dvh - 116px);
    max-height:calc(100dvh - 116px);
    border-radius:var(--workbench-action-radius);
    transform:translate(-50%,-46%) scale(.985);
  }
  .配置抽屉.已打开{
    transform:translate(-50%,-50%) scale(1);
  }
  .配置抽屉>header{
    padding:15px 16px 13px;
  }
  .配置抽屉 h2{font-size:19px}
  .详情内容{padding:16px 16px 24px}
  .数据表 table{width:max(100%,calc(var(--data-column-count,5) * 156px))}
  .数据表 th,
  .数据表 td{width:156px;min-width:156px;max-width:156px}
}

/* 2026-08-06 非 IM 功能页：收起底部日志，右上角统一为状态 / 刷新 / 日志。 */
.任务进程[hidden]{display:none!important}
.功能顶栏 .顶栏动作{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px;
  white-space:nowrap;
}
.功能顶栏 .顶栏动作>*{flex:0 0 auto}
.功能顶栏 .状态胶囊,
.功能顶栏 .顶栏动作 button{
  height:36px;
  min-height:36px;
}
.功能顶栏 .顶栏动作 button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.功能顶栏 .顶栏日志按钮{
  border-color:rgba(10,132,255,.3);
  background:var(--music-blue-soft);
  color:var(--music-blue-hover);
}
.功能日志弹窗内容{display:grid;gap:12px}
.功能日志弹窗内容>.任务中心栏,
.功能日志弹窗内容>.进度监听摘要{min-height:44px}

@media(max-width:760px){
  .功能顶栏{gap:8px;align-items:flex-start}
  .功能顶栏>div:first-child{min-width:0}
  .功能顶栏 h1{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .功能顶栏 .顶栏动作{gap:5px}
  .功能顶栏 .状态胶囊,
  .功能顶栏 .顶栏动作 button{
    display:inline-flex;
    height:32px;
    min-height:32px;
    padding:0 9px;
    font-size:10px;
  }
  .功能顶栏 .状态胶囊{max-width:82px;overflow:hidden;text-overflow:ellipsis}
}

/* 2026-08-06 顶部收口：IM 删除系统栏，其他功能合并为一块无背景的透明顶栏。 */
body[data-current-page="im"] .系统顶栏{display:none}

body:not([data-current-page="im"]) .系统顶栏{
  left:calc(var(--mc-dock-width) + 40px);
  right:24px;
  top:16px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  border:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
body:not([data-current-page="im"]) .功能顶栏{
  position:static;
  inset:auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
}
body:not([data-current-page="im"]) .功能顶栏>*{pointer-events:auto}
body:not([data-current-page="im"]) .功能标题组{min-width:0}
body:not([data-current-page="im"]) .功能顶栏 h1{
  max-width:none;
  margin-top:3px;
  overflow:hidden;
  color:var(--music-text);
  font-size:24px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:not([data-current-page="im"]) .功能顶栏 p{display:none}
body:not([data-current-page="im"]) .功能顶栏右侧{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
body:not([data-current-page="im"]) .当前运行{
  min-width:218px;
  height:36px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
body:not([data-current-page="im"]) .当前运行 strong{max-width:132px}
body:not([data-current-page="im"]) .当前运行 i{margin-left:4px}
body:not([data-current-page="im"]) .环节画布{padding-top:112px}
body[data-current-page="xiaohongshu"] .环节画布{padding-top:112px}

@media(max-width:1180px) and (min-width:761px){
  body:not([data-current-page="im"]) .系统顶栏{
    left:calc(var(--mc-dock-width) + 34px);
    right:18px;
    gap:0;
  }
  body:not([data-current-page="im"]) .当前运行{display:none}
}

@media(min-width:901px){
  body[data-current-page="im"] .IM页面:not([hidden]){
    padding:14px 14px 14px calc(var(--mc-dock-width) + 28px);
  }
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{height:calc(100dvh - 28px)}
}

@media(max-width:900px) and (min-width:761px){
  body[data-current-page="im"] .IM页面:not([hidden]){
    padding:14px 14px 14px calc(var(--mc-dock-width) + 28px);
  }
  body[data-current-page="im"] .IM页面 .IM窗口{height:min(600px,calc(100dvh - 28px))}
}

@media(max-width:760px){
  body:not([data-current-page="im"]) .系统顶栏{
    left:14px;
    right:14px;
    top:10px;
    height:40px;
    align-items:center;
    justify-content:flex-end;
    gap:0;
  }
  body:not([data-current-page="im"]) .功能顶栏{align-items:center;justify-content:flex-end}
  body:not([data-current-page="im"]) .功能顶栏右侧{gap:0}
  body:not([data-current-page="im"]) .当前运行{display:none}
  body:not([data-current-page="im"]) .功能顶栏 .顶栏动作{gap:5px}
  body:not([data-current-page="im"]) .环节画布,
  body[data-current-page="xiaohongshu"] .环节画布{padding-top:126px}
}

/* 小红书功能页：连续树状配置画布，不承载任务启动。 */
body[data-current-page="xiaohongshu"] .环节画布{
  overflow:hidden;
  padding:112px 28px 84px 126px;
}
body[data-current-page="xiaohongshu"] .环节轨道 {
  width:max-content;
  min-width:0;
  min-height:0;
  transform-origin:0 0;
}
.画布控制{
  left:126px;
  bottom:24px;
}
.小红书树状画布{
  position:relative;
  gap:0;
  margin:0;
  padding:24px 0 84px;
}
.小红书树状画布>.主环节卡组{margin-left:0}
.主链路占位{height:48px;display:block}
.主链路接入{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.主链路接入 path{
  fill:none;
  stroke:#80b5e8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.类型链路树区{gap:0}
.链路树主体{position:relative;padding-top:0}
.链路连线层,
.环节连线层{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.链路连线层 path,
.环节连线层 path{
  fill:none;
  stroke:#80b5e8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.树根节点::after,
.树分支列表::before,
.树分支行::before,
.树分支行::after{content:none}
.主环节卡组[data-draggable-chain],
.树根节点容器[data-draggable-chain],
.树分支行[data-draggable-chain],
[data-draggable-node]{
  z-index:var(--链路层级,1);
  transform:translate3d(var(--链路偏移X,0),var(--链路偏移Y,0),0);
}
.主环节卡组[data-draggable-chain]{position:relative;z-index:2}
.树根节点容器{position:relative;align-self:start;z-index:2}
.树根节点容器,
.树类型节点容器{
  display:grid;
  grid-template-rows:32px auto;
  align-content:start;
  gap:0;
}
.树根节点容器>.树根节点{height:auto}
.树类型节点容器{position:relative;z-index:2;min-width:0;height:auto}
.树类型节点容器>.树类型节点{height:auto}
[data-draggable-chain].正在拖动链路,
[data-draggable-node].正在拖动链路{z-index:var(--链路层级,6);user-select:none;will-change:transform}
.树根节点{align-self:start;cursor:pointer}
.可配置卡{
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.可配置卡:hover,
.可配置卡:focus-visible{
  border-color:rgba(10,132,255,.55);
  background:#f4f9ff;
  box-shadow:0 18px 40px rgba(44,92,145,.15);
  outline:3px solid rgba(10,132,255,.16);
  outline-offset:2px;
  transform:translateY(-1px);
}
.树节点操作提示,
.链路卡操作提示{
  margin-top:auto;
  min-height:34px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--workbench-action-radius);
  background:#eaf3fc;
  color:#2468b5;
  font-size:10px;
  font-weight:700;
}
.树类型节点>.树节点操作提示{
  align-self:stretch;
  margin-top:auto;
}
.链路拖动按钮{
  position:relative;
  z-index:5;
  top:auto;
  right:auto;
  left:auto;
  width:100%;
  min-width:0;
  height:32px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:var(--workbench-action-radius);
  background:rgba(10,132,255,.075);
  color:#286da9;
  font-size:10px;
  font-weight:700;
  cursor:grab;
  touch-action:none;
}
.链路拖动按钮:hover,.链路拖动按钮:focus-visible{background:#dfeeff;outline:2px solid rgba(10,132,255,.18)}
.链路拖动图标{width:18px;height:18px;display:block;fill:currentColor}
.主环节卡>.链路拖动按钮{
  top:auto;
  width:calc(100% + var(--链路拖动栏扩展,28px));
  margin-top:var(--链路拖动栏偏移,-14px);
  margin-left:var(--链路拖动栏偏移,-14px);
}
body[data-current-page="xiaohongshu"] .主环节卡:has(>.链路拖动按钮){
  --链路拖动栏扩展:28px;
  --链路拖动栏偏移:-14px;
  min-height:336px;
  grid-template-rows:32px auto auto auto minmax(112px,1fr) 38px;
}
.链路拖动按钮:active,[data-draggable-chain].正在拖动链路 .链路拖动按钮{cursor:grabbing}
.类型链路横排{position:relative}
.环节连线层{z-index:0}
.类型链路卡容器[data-draggable-node]{position:relative;z-index:var(--链路层级,1);min-width:0;display:grid;grid-template-rows:32px auto}
.类型链路卡容器[data-draggable-node]>.子环节拖动按钮{z-index:5}
.类型链路卡容器[data-draggable-node]>.类型链路卡{min-height:210px}
.类型链路卡:not(:last-child)::after{content:none}
.链路拖动按钮:active,[data-draggable-node].正在拖动链路 .链路拖动按钮{cursor:grabbing}

@media(max-width:760px){
  body[data-current-page="xiaohongshu"] .主环节卡:has(>.链路拖动按钮){
    --链路拖动栏扩展:34px;
    --链路拖动栏偏移:-17px;
  }
  .树根节点容器>.链路拖动按钮{width:calc(100% - 42px)}
  body[data-current-page="xiaohongshu"] .环节画布{
    padding:126px 14px 152px;
  }
  .画布控制{
    left:14px;
    bottom:100px;
  }
  .主链路占位{height:42px}
}

body[data-current-page="xiaohongshu"] :is(.主环节卡,.卡内子环节,.树根节点,.树类型节点,.类型链路卡){cursor:pointer}
body[data-current-page="xiaohongshu"] .环节画布.正在拖动画布,
body[data-current-page="xiaohongshu"] .环节画布.正在拖动画布 *{cursor:grabbing!important}

/* 2026-08-06 淡雅白色收口：用明度与留白分层，减少重复灰块和线框。 */
:root{
  --music-canvas:#fafaf9;
  --music-sidebar:rgba(255,255,255,.88);
  --music-panel:rgba(255,255,255,.86);
  --music-panel-raised:rgba(255,255,255,.96);
  --music-panel-soft:rgba(15,23,42,.018);
  --music-panel-hover:rgba(10,132,255,.052);
  --music-border:rgba(15,23,42,.05);
  --music-border-strong:rgba(15,23,42,.08);
  --music-shadow:0 18px 46px rgba(52,64,84,.065),inset 0 1px rgba(255,255,255,.86);
}


.系统顶栏{
  border-bottom-color:transparent;
  background:rgba(255,255,255,.76);
  box-shadow:0 10px 30px rgba(52,64,84,.045);
}
.系统Dock,
.独立环节组>.环节卡,
.任务进程,
.配置抽屉,
.日志弹层,
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border-color:var(--music-border-strong);
}

.配置抽屉>header,
.日志弹层>header,
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header{
  border-color:transparent;
  background:rgba(255,255,255,.34);
}
.卡内子环节,
.关键词条目,
.详情区块,
.任务进程轨道,
.独立功能事件列表 li,
.任务环节列,
.进程事件状态{
  border-color:transparent;
}
.任务环节列>header,
.进度监听摘要,
.独立环节组>.环节卡:not(.当前)>.环节操作{
  border-color:transparent;
}
.数据表,
.数据表 th,
.数据表 td{
  border-color:rgba(15,23,42,.04);
}

.配置表单 input,
.配置表单 select,
.配置表单 textarea,
body[data-current-page="im"] .IM输入区 textarea,
body[data-current-page="im"] .IM任务配置板块 select,
body[data-current-page="im"] .IM输入区 select{
  border-color:transparent!important;
  background:rgba(15,23,42,.024)!important;
  box-shadow:none!important;
}
.配置表单 input:focus,
.配置表单 select:focus,
.配置表单 textarea:focus,
body[data-current-page="im"] .IM输入区 textarea:focus,
body[data-current-page="im"] .IM任务配置板块 select:focus,
body[data-current-page="im"] .IM输入区 select:focus{
  border-color:var(--music-blue)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(10,132,255,.14)!important;
}

body[data-current-page="im"] .聊天切换,
body[data-current-page="im"] .IM任务标签,
body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]){
  border-color:transparent;
  background:rgba(15,23,42,.018);
}
body[data-current-page="im"] .IM小红书选项 label{
  border-color:transparent;
  background:transparent;
}
body[data-current-page="im"] .IM任务概览,
body[data-current-page="im"] .IM当前阶段{
  border-color:transparent;
  background:transparent;
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li,
body[data-current-page="im"] .销售完整流程 .IM进度列表 li{
  background:transparent;
}

/* 2026-08-08 网站壳与工作台顶部导航分区：工作台直接替换首页功能导航，并跟随外部访客导航状态。 */
:root{--site-navigation-height:60px;--mc-dock-width:0px}
.网站导航栏{
  position:fixed;
  z-index:100;
  inset:0 0 auto;
  height:var(--site-navigation-height);
  padding:0 24px;
  display:grid;
  grid-template-columns:102px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  border-bottom:1px solid #e5e8ef;
  background:rgba(255,255,255,.94);
  color:#1d2129;
  box-shadow:0 8px 24px rgba(15,23,42,.035);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}










.网站导航个人菜单{position:relative;min-width:0;justify-self:end}

















.网站导航个人菜单面板{position:absolute;z-index:110;top:calc(100% + 10px);right:0;width:200px;padding:8px;display:grid;gap:4px;border:1px solid #e5e7eb;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.12)}
.网站导航个人菜单面板 a{min-height:36px;padding:8px 12px;display:flex;align-items:center;border-radius:var(--workbench-action-radius);background:transparent;color:#202838;font-size:14px;font-weight:500;text-decoration:none;outline:none}
.网站导航个人菜单面板 button[data-user-menu-item="logout"]{width:100%;min-height:36px;padding:8px 12px;display:flex;align-items:center;border:0;border-radius:var(--workbench-action-radius);background:transparent;color:var(--feishu-color-text-0);font-size:14px;font-weight:500;text-align:left;cursor:pointer;outline:none}
.网站导航个人菜单面板 button{min-height:36px;padding:8px 12px;display:flex;align-items:center;border:0;border-radius:var(--workbench-action-radius);background:transparent;color:var(--feishu-color-text-1);font:inherit;font-size:14px;font-weight:500;text-align:left;outline:none}

.网站导航栏 [hidden]{display:none}
html[data-initial-workbench="xhs"] [data-initial-workbench-copy]:not([data-initial-workbench-copy="xhs"]),
html[data-initial-workbench="wechat"] [data-initial-workbench-copy]:not([data-initial-workbench-copy="wechat"]){display:none}
body[data-current-page="im"] .IM页面:not([hidden]){top:var(--site-navigation-height)}
body[data-current-page="im"] .IM任务面板>header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
}
body[data-current-page="im"] .IM任务面板标题{min-width:0}
body[data-current-page="im"] .IM任务面板>header .IM当前运行{justify-self:end;padding-top:2px}
body:not([data-current-page="im"]) .系统顶栏{top:calc(var(--site-navigation-height) + 16px)}
body:not([data-current-page="im"]) .环节画布,
body[data-current-page="xiaohongshu"] .环节画布{padding-top:calc(var(--site-navigation-height) + 112px)}
body[data-current-page="xiaohongshu"] .环节画布{padding-left:28px}
.画布控制{left:28px}

@media(min-width:901px){
  body[data-current-page="im"] .IM窗口,
  body[data-current-page="im"] .IM任务面板{height:calc(100dvh - var(--site-navigation-height) - 28px)}
}
@media(max-width:900px) and (min-width:761px){
  body[data-current-page="im"] .IM页面 .IM窗口{height:min(600px,calc(100dvh - var(--site-navigation-height) - 28px))}
}
@media(max-width:760px){
  :root{--site-navigation-height:52px}
  .网站导航栏{padding:0 10px;grid-template-columns:84px minmax(0,1fr) 32px;gap:6px}
  
  
  
  
  
  
  
  .网站导航个人菜单面板{top:calc(100% + 8px)}
  body[data-current-page="im"] .IM窗口{height:calc(100dvh - var(--site-navigation-height) - 12px)}
  body:not([data-current-page="im"]) .系统顶栏{top:calc(var(--site-navigation-height) + 10px)}
  body:not([data-current-page="im"]) .环节画布,
  body[data-current-page="xiaohongshu"] .环节画布{padding-top:calc(var(--site-navigation-height) + 126px)}
  body[data-current-page="xiaohongshu"] .环节画布{padding-left:14px}
  .画布控制{left:14px}
}

/* 2026-08-09 任务首页信息减法：后台名称降级为上下文，空任务时只保留单一引导。 */








body[data-current-page="im"] .IM空白引导{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:24px;
  text-align:center;
}
body[data-current-page="im"] .IM空白引导[hidden]{display:none}
body[data-current-page="im"] .IM空白引导 p{
  color:#9a9fa7;
  font-size:13px;
  line-height:1.6;
}
body[data-current-page="im"] .IM任务空状态精简{
  min-height:100%;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:8px;
  padding:28px 18px;
}
body[data-current-page="im"] .IM任务空状态精简 strong{
  color:#4b5563;
  font-size:15px;
  font-weight:650;
}
body[data-current-page="im"] .IM任务空状态精简 p{
  max-width:230px;
  color:#9a9fa7;
  font-size:12px;
  line-height:1.65;
}
@media(max-width:760px){
  
  
  
  
}

/* 2026-08-11 小红书课程内容 × HTML 五阶段生产工作台。 */
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"]{--mc-task-height:0px;background:#f6f8fb}


body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .系统顶栏{
  left:0;right:0;top:var(--site-navigation-height);height:58px;padding:0 28px;border-bottom:1px solid #e7eaf0;background:rgba(255,255,255,.94);box-shadow:none;
}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .功能顶栏{width:100%;justify-content:space-between}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .功能标题组{
  position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;border:0;
}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .功能顶栏 h1{margin:0;font-size:16px;font-weight:650;letter-spacing:0}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .功能顶栏右侧{gap:18px}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .当前运行{min-width:0;height:auto;color:#5e6878;font-size:12px}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .当前运行>span{display:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .当前运行 strong{display:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .当前运行 i{width:8px;height:8px;margin:0 5px 0 0;background:#20b26b;box-shadow:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .当前运行.受阻 i{background:#d78b2d}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .顶栏动作{gap:4px}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .顶栏动作 .状态胶囊{height:30px;min-height:30px;padding:0 10px;border:0;background:transparent}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .顶栏动作 button{min-height:30px;padding:0 10px;border:0;background:transparent;color:#546071;box-shadow:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .顶栏动作 button:hover{color:#1664ff}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节画布{
  inset:0;padding:calc(var(--site-navigation-height) + 70px) 12px 18px;display:block;overflow:auto;cursor:default;overscroll-behavior:auto;touch-action:auto;scrollbar-width:thin;scrollbar-color:#d9dee7 transparent;
}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节轨道{display:block;width:100%;min-width:0;transform:none!important;filter:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .任务进程[hidden]{display:none!important}
.课程生产工作台{width:min(1480px,100%);min-width:0;margin:0 auto;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif}
.课程生产步骤{height:76px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #e4e8ef;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.课程生产步骤 button{position:relative;min-width:0;padding:0 18px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;border-right:1px solid #edf0f4;background:#fff;color:#252d3a;text-align:left}
.课程生产步骤 button:last-child{border-right:0}
.课程生产步骤 button::after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:var(--workbench-action-radius);pointer-events:none}

.课程生产步骤 button i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f0f2f5;color:#5b6472;font-size:13px;font-style:normal}

.课程生产步骤 button span{min-width:0;display:grid;gap:5px}
.课程生产步骤 button strong{font-size:14px;font-weight:650}

.课程生产步骤 button small{overflow:hidden;color:#8a93a1;font-size:10px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.课程生产状态带{min-height:38px;margin:10px 0;display:flex;align-items:center;gap:18px;color:#748092;font-size:11px}
.课程生产状态带>span{display:flex;align-items:center;gap:7px}
.课程生产状态带>span i{width:7px;height:7px;border-radius:50%;background:#22b36b}
.课程生产状态带>span i.受阻{background:#df8b28}
.课程生产状态带 a{color:#1664ff;text-decoration:none}
.课程生产状态带 small{margin-left:auto}
.课程生产消息{margin:0 0 10px;padding:10px 13px;border:1px solid #d9e6fb;border-radius:var(--workbench-action-radius);background:#f2f7ff;color:#315f9d;font-size:12px}
.课程生产消息.success{border-color:#cce9da;background:#effaf4;color:#21704f}
.课程生产消息.warning{border-color:#f0dab8;background:#fff8eb;color:#8b5a1f}
.课程生产消息.error{border-color:#f0cbc5;background:#fff3f1;color:#a14538}
.课程生产主区{min-width:0}
.课程阶段标题{min-height:58px;margin-bottom:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.课程阶段标题>div{min-width:0}
.课程阶段标题 span{display:block;color:#1664ff;font-size:10px;font-weight:650;letter-spacing:.05em}
.课程阶段标题 h2{margin:4px 0 0;font-size:19px;line-height:1.25}
.课程阶段标题 p{margin-top:5px;color:#778293;font-size:11px;line-height:1.5}
.阶段回读标签{flex:0 0 auto!important;padding:7px 10px;border-radius:var(--workbench-action-radius);background:#eef4ff!important;color:#1664ff!important;font-size:11px!important;letter-spacing:0!important}
.课程三栏{min-width:0;display:grid;grid-template-columns:280px minmax(420px,1fr) 300px;gap:12px;align-items:start}
.特色选题布局{grid-template-columns:minmax(0,1fr) 300px}
.课程面板{min-width:0;border:1px solid #e3e7ed;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.课程面板>h3,.课程面板>header{margin:0}
.课程面板>h3{padding:16px 16px 0;font-size:14px}
.课程面板>h3+p{padding:0 16px;color:#8993a2;font-size:10px;line-height:1.55}
.课程面板>header{min-height:62px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4}
.课程面板>header h3{font-size:14px}
.课程面板>header p{margin-top:4px;color:#8993a2;font-size:10px}
.课程面板>header>span{flex:0 0 auto;padding:5px 8px;border-radius:var(--workbench-action-radius);background:#f2f5f9;color:#687487;font-size:10px}
.课程工作台表单{padding:14px 16px 16px;display:grid;gap:11px}
.课程工作台表单 label{min-width:0;display:grid;gap:6px;color:#697587;font-size:11px}
.工作流场景选择{display:grid;gap:6px;min-width:0}.工作流场景选择 select{min-width:0;width:100%}.工作流灵光说明{display:block;color:#65758b;font-size:10px;line-height:1.5;font-weight:400}.知识库解析工作流{display:grid;grid-template-columns:minmax(190px,280px) auto;gap:8px;align-items:end}.知识库解析工作流 .工作流场景选择{margin:0}.知识库解析工作流>button{align-self:end}.素材采集库模板转换>.工作流场景选择{margin:10px 0 12px}.课程自动提取状态 .工作流场景选择{margin:10px 0}.课程自动提取状态 .工作流场景选择 select{background:#fff}
.课程工作台表单 input,.课程工作台表单 select,.课程工作台表单 textarea,.模板侧栏搜索 input,.模板库工具栏 input,.模板库工具栏 select{width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid #e0e5ec;border-radius:var(--workbench-action-radius);background:#f9fafc;color:#2e3745;font:inherit;font-size:11px;outline:none}
.课程工作台表单 textarea{height:auto;min-height:116px;padding:10px;line-height:1.55;resize:vertical}
.课程工作台表单 input:focus,.课程工作台表单 select:focus,.课程工作台表单 textarea:focus,.模板侧栏搜索 input:focus,.模板库工具栏 input:focus,.模板库工具栏 select:focus{border-color:#4c8df6;background:#fff;box-shadow:0 0 0 3px rgba(22,100,255,.1)}
.课程工作台表单 input[type="file"]{height:auto;padding:9px}
.课程工作台表单 small{color:#99a1ad;font-size:9px;line-height:1.45}
.课程来源表单[data-source-type="document"] .课程链接字段,.课程来源表单[data-source-type="link"] .课程文档字段{display:none}
#课程来源表单[data-source-type="document"] .课程链接字段,#课程来源表单[data-source-type="link"] .课程文档字段{display:none}
.课程主按钮,.课程次按钮{min-height:38px;padding:0 15px;border-radius:var(--workbench-action-radius);background:#1664ff;color:#fff;font-size:12px;font-weight:600;box-shadow:0 6px 16px rgba(22,100,255,.18)}
.课程主按钮:hover{background:#0d55e7}
.课程主按钮:disabled{cursor:not-allowed;background:#dfe4ec;color:#9ba4b1;box-shadow:none}
.课程次按钮{background:#fff;color:#1664ff;border:1px solid #b8d0fa;box-shadow:none}
.课程表单状态{min-height:32px;margin:0;padding:8px 10px;border-radius:var(--workbench-action-radius);background:#f6f8fb;color:#818b9a;font-size:10px;line-height:1.5}
.课程表单状态.通过{background:#effaf4;color:#21704f}.课程表单状态.失败{background:#fff3f1;color:#a14538}
.课程主列表{min-height:480px;overflow:hidden}
.课程来源列表{max-height:550px;padding:8px;display:grid;gap:8px;overflow:auto}
.课程来源项{position:relative;border:1px solid #e7eaf0;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden;cursor:pointer}.课程来源整卡选择{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.课程来源整卡选择:focus-visible{outline:2px solid rgba(22,100,255,.42);outline-offset:-3px}.课程来源项:has(.课程来源整卡选择:hover){border-color:#b9d2fa}.课程来源项>header,.课程来源项>footer,.课程来源项>form{position:relative;z-index:1;pointer-events:none}.课程来源项>header button,.课程来源项>footer button,.课程来源项>form{pointer-events:auto}
.课程来源项.当前{border-color:#3e82ef;box-shadow:0 0 0 1px #3e82ef}
.课程来源标题行{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.课程来源标题块{min-width:0;padding:12px;display:grid;gap:4px}.课程来源标题主行{min-width:0;display:flex;align-items:center;gap:4px}.课程来源项 strong{display:block;overflow:hidden;overflow-wrap:anywhere;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.课程来源项 small{color:#8b95a3;font-size:10px}.课程来源选择状态{align-self:center;padding:12px 12px 12px 6px;color:#1664ff;font-size:10px;font-style:normal;white-space:nowrap}.课程来源改名{flex:0 0 24px;width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:transparent;color:#7b8797}.课程来源改名 svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.课程来源改名:hover,.课程来源改名:focus-visible{background:#eaf2ff;color:#1664ff}.课程来源标题编辑{padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.课程来源标题编辑 label{min-width:0}.课程来源标题编辑 input{width:100%;height:34px;padding:0 10px;border:1px solid #9bbef5;border-radius:var(--workbench-action-radius);background:#fff;color:#202733;font:inherit;font-size:12px;outline:none;box-shadow:0 0 0 3px rgba(22,100,255,.08)}.课程来源标题编辑 button{height:32px;padding:0 10px;border-radius:var(--workbench-action-radius);background:#edf4ff;color:#1664ff;font-size:10px}.课程来源标题编辑 button[data-cancel-source-title]{background:#f3f4f6;color:#687486}.课程来源标题编辑>small{grid-column:1/-1}
.课程来源项 footer{padding:8px 10px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #edf0f4;background:#fafbfd}
.课程来源项 code{min-width:0;overflow:hidden;color:#8a94a2;font-size:9px;text-overflow:ellipsis}.课程来源项 footer>span{margin-right:auto;color:#778394;font-size:10px}.课程来源项 footer button{flex:0 0 auto;padding:6px 8px;border-radius:var(--workbench-action-radius);background:#edf4ff;color:#1664ff;font-size:10px}.课程来源项 footer button:disabled{cursor:not-allowed;background:#f1f3f6;color:#9aa3af}
.课程结果链{margin:14px 16px;padding:0;display:grid;gap:12px;list-style:none}
.课程结果链 li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;position:relative}
.课程结果链 li:not(:last-child)::after{content:"";position:absolute;left:13px;top:28px;width:1px;height:14px;background:#dfe4eb}
.课程结果链 i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef1f5;color:#7e8998;font-size:10px;font-style:normal}.课程结果链 li.完成 i{background:#eaf8f1;color:#1c8056}
.课程结果链 span{display:grid;gap:3px}.课程结果链 strong{font-size:11px}.课程结果链 small{color:#8e98a6;font-size:9px}
.课程结果摘要{margin:18px 16px;padding:12px;display:grid;gap:5px;border-radius:var(--workbench-action-radius);background:#f6f8fb;color:#7b8695;font-size:9px}.课程结果摘要 strong{color:#4d5868;font-size:10px}.课程结果摘要 code{overflow-wrap:anywhere}
.课程选择摘要{margin:0 16px 16px;padding:12px;display:grid;gap:5px;border-radius:var(--workbench-action-radius);background:#f6f8fb}.课程选择摘要 span,.课程选择摘要 small{color:#8b95a3;font-size:9px}.课程选择摘要 strong{font-size:12px}
.课程选题分类{min-height:40px;padding:0 10px;display:flex;align-items:stretch;gap:14px;overflow-x:auto;border-bottom:1px solid #e8ecf2;background:#fff;scrollbar-width:thin}.课程选题分类 button{position:relative;min-width:max-content;padding:0 2px;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#263140}.课程选题分类 button span{position:relative;min-height:39px;display:flex;align-items:center;font-size:11px;font-weight:600;white-space:nowrap}.课程选题分类 button span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#1664ff;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.课程选题分类 button em{color:#8792a1;font-size:9px;font-style:normal}.课程选题分类 button:hover,.课程选题分类 button:focus-visible,.课程选题分类 button.当前{color:#1664ff}.课程选题分类 button:hover span::after,.课程选题分类 button:focus-visible span::after,.课程选题分类 button.当前 span::after{transform:scaleX(1)}.课程选题分类 button.当前 em{color:#1664ff}
.课程选题课程内容{margin:10px 8px 0;border:1px solid #dce4ef;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden}.课程选题课程内容>header,.课程选题结果区>header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e7ebf1;background:#f8fafc}.课程选题课程内容>header span{display:grid;gap:2px}.课程选题课程内容>header strong,.课程选题结果区>header strong{font-size:11px}.课程选题课程内容>header small{color:#8792a1;font-size:9px}.课程选题课程内容>header em,.课程选题结果区>header em{color:#1664ff;font-size:9px;font-style:normal}.课程选题课程内容>div{display:grid}.课程选题课程内容 article{padding:11px 12px;display:grid;gap:6px;border-bottom:1px solid #edf0f4}.课程选题课程内容 article:last-child{border-bottom:0}.课程选题课程内容 article>span{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px}.课程选题课程内容 article small{color:#8d97a5;font-size:9px}.课程选题课程内容 article strong{font-size:11px}.课程选题课程内容 article p{margin:0;color:#687486;font-size:10px;line-height:1.55}.课程选题结果区{margin:10px 8px 16px;border:1px solid #e7ebf1;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden}.课程选题结果区 .课程选题列表{padding:8px}
.课程选题列表{padding:8px;display:grid;gap:8px}.课程选题卡{width:100%;padding:13px;border:1px solid #e7eaf0;border-radius:var(--workbench-action-radius);background:#fff;color:#263140;text-align:left}.课程选题卡.当前{border-color:#3e82ef;box-shadow:0 0 0 1px #3e82ef}.课程选题卡>span{display:flex;justify-content:space-between;color:#7e8998;font-size:9px}.课程选题卡 em{color:#1664ff;font-style:normal}.课程选题卡>strong{display:block;margin-top:8px;font-size:13px}.课程选题卡>p{margin-top:5px;color:#7c8796;font-size:10px;line-height:1.5}.课程选题卡 footer{margin-top:9px;display:flex;flex-wrap:wrap;gap:5px}.课程选题卡 footer i,.内容成稿预览 footer i{padding:4px 6px;border-radius:var(--workbench-action-radius);background:#edf4ff;color:#3a68a6;font-size:9px;font-style:normal}
.课程选题卡.只读{display:block;cursor:default}
.课程来源分区列表{padding:8px 8px 16px;display:grid}.课程来源分类卡组{min-width:0;padding:0 12px;display:flex;align-items:end;gap:12px;overflow-x:auto;border-bottom:1px solid #d9dde6;background:#fff;scrollbar-width:none}.课程来源分类卡组::-webkit-scrollbar{display:none}.课程来源分类卡{position:relative;flex:0 0 auto;min-width:190px;max-width:280px;height:56px;margin:0 0 -1px;padding:0 24px;border:1px solid #d9dde6;border-bottom-color:#d9dde6;border-radius:var(--workbench-action-radius);background:#f8f9fc;color:#5f6675;text-align:center}.课程来源分类卡::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;border-radius:var(--workbench-action-radius);background:#625cff;opacity:0}.课程来源分类卡>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}.课程来源分类卡:hover,.课程来源分类卡:focus-visible{color:#252936}.课程来源分类卡:focus-visible{z-index:2;outline:2px solid rgba(22,100,255,.34);outline-offset:-4px}.课程来源分类卡.当前{z-index:1;border-bottom-color:#fff;background:#fff;color:#111318}.课程来源分类卡.当前::before{opacity:1}.课程来源分类卡.当前>span{font-weight:650}.课程来源分类内容{min-width:0;padding:16px 8px 8px;background:#fff}.课程来源分类内容>header{padding:0 4px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.课程来源分类内容>header>span{min-width:0;display:grid;gap:4px}.课程来源分类内容>header small{color:#8792a1;font-size:9px}.课程来源分类内容>header strong{overflow-wrap:anywhere;font-size:12px}.课程来源分类内容>header>div{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.课程来源分类内容>header em{color:#6f7b8b;font-size:9px;font-style:normal}.课程来源分类内容>header a{padding:6px 8px;border:1px solid #d8e0eb;border-radius:var(--workbench-action-radius);color:#35506f;font-size:9px;text-decoration:none}.课程来源分类内容>header a:hover{border-color:#8db8f5;color:#1664ff}.课程标题分类卡组{padding:0 4px 8px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.课程标题分类卡组::-webkit-scrollbar{display:none}.课程标题分类卡组 button{position:relative;flex:0 0 auto;min-height:36px;padding:0 12px;border:0;border-radius:0;background:transparent;color:#5f6b7c}.课程标题分类卡组 button span{position:relative;display:inline-flex;height:100%;align-items:center;font-size:10px}.课程标题分类卡组 button span::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform .16s ease}.课程标题分类卡组 button:hover,.课程标题分类卡组 button:focus-visible,.课程标题分类卡组 button.当前{color:#1664ff}.课程标题分类卡组 button:hover span::after,.课程标题分类卡组 button:focus-visible span::after,.课程标题分类卡组 button.当前 span::after{transform:scaleX(1)}.课程标题分类卡组 button:disabled{color:#9ba4b0;cursor:not-allowed}.课程标题分类卡组 button:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:-2px}.课程标题分类结果{border:1px solid #e3e8ef;border-radius:var(--workbench-action-radius);overflow:hidden;background:#fff}.课程标题分类结果>header{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8ecf2;background:#fbfcfe}.课程标题分类结果>header>span{min-width:0;display:grid;gap:4px}.课程标题分类结果>header small{color:#8a95a4;font-size:9px}.课程标题分类结果>header strong{overflow-wrap:anywhere;font-size:11px}.课程标题分类结果>header em{color:#7d8998;font-size:9px;font-style:normal}.课程标题分区内容{display:grid;gap:8px;padding:8px}.课程标题分区内容>section{border:1px solid #edf0f4;border-radius:var(--workbench-action-radius);overflow:hidden}.课程标题分区内容 h4{margin:0;padding:8px 12px;border-bottom:1px solid #edf0f4;background:#fbfcfd;font-size:10px}.课程分区内容卡列表{display:grid}.课程分区内容卡列表 article{padding:12px;display:grid;gap:8px;border-bottom:1px solid #edf0f4}.课程分区内容卡列表 article:last-child{border-bottom:0}.课程分区内容卡列表 article>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}.课程分区内容卡列表 small{color:#8b96a4;font-size:9px}.课程分区内容卡列表 strong{font-size:11px}.课程分区内容卡列表 p{margin:0;color:#687486;font-size:10px;line-height:1.55}.课程未归属选题{margin:12px 8px 0;border:1px dashed #d7dde6;border-radius:var(--workbench-action-radius);background:#fbfcfd}.课程未归属选题 summary{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.课程未归属选题 summary>span{display:grid;gap:3px}.课程未归属选题 summary strong{font-size:10px}.课程未归属选题 summary small,.课程未归属选题 summary em{color:#8792a1;font-size:9px;font-style:normal}
.课程选题详情{padding-bottom:16px}.课程选题详情 .选题角度{display:inline-flex;margin:14px 16px 0;padding:5px 8px;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:9px}.课程选题详情 h4{margin:10px 16px 0;font-size:16px;line-height:1.4}.课程选题详情>p{margin:8px 16px 0;padding:0;color:#778393;font-size:11px;line-height:1.6}.课程选题详情 h5{margin:16px 16px 0;font-size:11px}.课程选题详情 ul{margin:8px 16px 0;padding-left:17px;color:#637083;font-size:10px;line-height:1.8}.课程选题详情 dl,.内容证据面板 dl,.质量验收面板 dl{margin:16px;padding:0;display:grid;gap:8px}.课程选题详情 dl div,.内容证据面板 dl div,.质量验收面板 dl div{display:grid;gap:3px}.课程选题详情 dt,.内容证据面板 dt,.质量验收面板 dt{color:#8c96a4;font-size:9px}.课程选题详情 dd,.内容证据面板 dd,.质量验收面板 dd{margin:0;overflow-wrap:anywhere;color:#4b5666;font-size:10px}
.课程详情提取表单{padding:10px 12px;display:grid;grid-template-columns:minmax(140px,.7fr) minmax(120px,.5fr) auto;align-items:end;gap:10px;border-bottom:1px solid #e8ecf2;background:#fff}.课程详情提取表单 label{min-width:0;display:grid;gap:5px;color:#697587;font-size:10px}.课程详情提取表单 select{width:100%;height:36px;padding:0 10px;border:1px solid #e0e5ec;border-radius:var(--workbench-action-radius);background:#f9fafc;color:#2e3745;font:inherit;font-size:11px;outline:none}.课程详情提取表单 select:focus{border-color:#4c8df6;background:#fff;box-shadow:0 0 0 3px rgba(22,100,255,.1)}.课程详情提取表单 .课程主按钮{min-width:150px}.课程详情提取表单 .课程表单状态{grid-column:1/-1;min-height:0}.课程标题分类结果>.课程生产消息{margin:10px 12px 0}
.课程生产空状态{min-height:150px;padding:28px 18px;display:grid;align-content:center;justify-items:center;text-align:center}.课程生产空状态 strong{font-size:12px;color:#5d6877}.课程生产空状态 p{max-width:280px;margin-top:7px;color:#98a0ab;font-size:10px;line-height:1.6}

/* 模板工作台按用户选定截图保持左库、中画布、右规则。 */
.模板工作台{min-width:1100px;display:grid;grid-template-columns:300px minmax(440px,1fr) 400px;gap:12px;align-items:start}
.模板左栏{padding-bottom:14px}.模板左栏>header button{padding:6px 8px;border-radius:var(--workbench-action-radius);background:#edf4ff;color:#1664ff;font-size:10px}.模板侧栏搜索{display:block;padding:12px 14px 6px}.模板侧栏列表{padding:7px 14px;display:grid;gap:9px}.课程模板侧栏卡{width:100%;min-height:96px;padding:8px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;overflow:hidden;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff;color:#26313e;text-align:left}.课程模板侧栏卡>span{min-width:0;display:grid;gap:5px}.模板卡标题行{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}.模板卡标题行 strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.模板当前选择{flex:0 0 auto;padding:3px 5px;border-radius:var(--workbench-action-radius);background:#eaf2ff;color:#1664ff;font-size:8px;font-style:normal;font-weight:600}.课程模板侧栏卡 strong{font-size:12px}.课程模板侧栏卡 small{color:#8d97a4;font-size:9px}.课程模板侧栏卡 em{color:#1664ff;font-size:8px;font-style:normal}.查看全部模板{width:calc(100% - 28px);min-height:34px;margin:0 14px;padding:0 10px;border:1px solid #cbdcf8;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff;font-size:10px}
.模板画布内容{min-width:0;display:grid;justify-items:center;gap:10px}.模板画布外框{position:relative;width:min(100%,535px);padding:38px 54px 24px 20px;border:1px solid #e1e5eb;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}.模板安全区标签{position:absolute;left:20px;top:12px;color:#f04444;font-size:10px}.模板层级标尺{position:absolute;right:8px;top:80px;bottom:48px;width:40px;display:flex;flex-direction:column;justify-content:space-around;color:#1664ff;font-size:9px}.模板层级标尺 span{display:grid;gap:2px}.模板层级标尺 b{font-size:11px}.模板分页条{width:min(100%,535px);padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #e3e7ed;border-radius:var(--workbench-action-radius);background:#fff}.模板分页条>button:first-child,.模板分页条>button:last-child{width:28px;height:28px;background:transparent;color:#47566a;font-size:24px}.课程模板页缩略{width:76px;display:grid;gap:4px;background:transparent}.课程模板页缩略>span{color:#687488;font-size:9px}.课程模板页缩略.当前>span{color:#1664ff}.课程模板页缩略.当前 .课程模板画布{outline:2px solid #2b76ed;outline-offset:2px}.模板预览声明{color:#929ba8;font-size:9px}
.课程模板画布{position:relative;width:100%;aspect-ratio:3/4;container-type:inline-size;overflow:hidden;border:1px solid rgba(15,23,42,.06);border-bottom:14px solid var(--模板主色);border-radius:var(--workbench-action-radius);background-color:var(--模板底色);background-image:linear-gradient(rgba(140,104,71,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(140,104,71,.045) 1px,transparent 1px);background-size:8px 8px;color:#272c34;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.课程模板画布.紧凑{border-bottom-width:5px;box-shadow:0 4px 10px rgba(15,23,42,.07)}.模板安全区{position:absolute;inset:9%;padding:6%;display:flex;flex-direction:column;border:1px dashed rgba(239,68,68,.42)}.模板标记行{display:flex;align-items:center;justify-content:space-between}.模板标记行 span{padding:4px 8px;border-radius:var(--workbench-action-radius);background:var(--模板主色);color:#fff;font-size:3.2cqw;font-weight:650}.模板标记行 em{color:var(--模板主色);font-size:3cqw;font-style:normal;font-weight:650}.课程模板画布 h3{margin:8% 0 0;color:var(--模板主色);font-size:10.3cqw;line-height:1.08;letter-spacing:-.04em}.课程模板画布 h4{margin:5% 0 0;font-size:4.3cqw;line-height:1.3}.课程模板画布 ul{margin:5% 0 0;padding-left:5%;display:grid;gap:2%;font-size:2.8cqw;line-height:1.5}.课程模板画布 .模板安全区>small{margin-top:auto;color:#7e8794;font-size:2.2cqw}.课程模板画布.紧凑 .模板安全区{padding:5%}.课程模板画布.紧凑 h3{margin-top:7%;font-size:10cqw}.课程模板画布.紧凑 h4{font-size:4cqw}.课程模板画布.紧凑 ul{font-size:2.5cqw}.课程模板画布.紧凑 .模板安全区>small{display:none}.模板布局-checklist h3,.模板布局-steps h3,.模板布局-timeline h3{font-size:8.5cqw}.模板布局-quote h3{font-family:"Songti SC","STSong",serif;font-size:9cqw}.模板布局-compare ul{grid-template-columns:1fr 1fr;gap:4%}
@font-face{font-family:"course-font-regular";src:url("assets/fonts/Alibaba-PuHuiTi-Regular.woff2?v=461597a8f6e72a3d") format("woff2");font-style:normal;font-weight:400;font-display:block}@font-face{font-family:"course-font-medium";src:url("assets/fonts/Alibaba-PuHuiTi-Medium.woff2?v=76915c96746773f5") format("woff2");font-style:normal;font-weight:400;font-display:block}@font-face{font-family:"course-font-bold";src:url("assets/fonts/Alibaba-PuHuiTi-Bold.woff2?v=050745fd1fc46d4e") format("woff2");font-style:normal;font-weight:400;font-display:block}.课程模板画布.分层模板画布{border-bottom-width:0;background:var(--模板底色);touch-action:auto}.模板背景图{position:absolute;left:var(--背景X);top:var(--背景Y);width:var(--背景宽);height:var(--背景高);display:block;pointer-events:none;user-select:none}.模板文字层{position:absolute;left:var(--槽位X);top:var(--槽位Y);width:var(--槽位宽);height:var(--槽位高);margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;color:var(--槽位颜色);font-family:var(--槽位字体);font-size:var(--槽位字号);font-weight:400;line-height:var(--槽位行高);letter-spacing:var(--槽位字距);text-align:var(--槽位对齐);white-space:pre;word-break:normal;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;pointer-events:none;user-select:none}.模板文字层>span{display:block;pointer-events:none}.课程模板画布.紧凑 .模板文字层{border:0;border-radius:0}.模板分页条>.课程模板页缩略:first-child,.模板分页条>.课程模板页缩略:last-child{width:76px;height:auto;background:transparent;color:inherit;font-size:inherit}
.模板右栏{max-height:calc(100dvh - 250px);overflow:auto}.模板规则表单{min-height:0;display:grid;align-content:start}.模板只读状态{margin:10px 12px 0;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe7fb;border-radius:var(--workbench-action-radius);background:#f6f9ff}.模板只读状态>span{min-width:0;display:grid;gap:2px}.模板只读状态 strong{color:#245faf;font-size:11px}.模板只读状态 small{color:#78869a;font-size:9px;line-height:1.4}.模板只读状态>em{flex:0 0 auto;color:#8390a2;font-size:9px;font-style:normal}
.模板规则标签栏{position:sticky;z-index:2;top:50px;margin-top:10px;padding:0 10px 8px;display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid #e7ebf1;background:#fff;scrollbar-width:none}.模板规则标签栏::-webkit-scrollbar{display:none}.模板规则标签{position:relative;min-width:max-content;min-height:42px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:var(--workbench-action-radius);background:transparent;color:#5f6b7c;white-space:nowrap}.模板规则标签 span{color:#9aa4b2;font-size:9px}.模板规则标签 strong{font-size:10px;font-weight:600}.模板规则标签 em{min-width:17px;height:17px;padding:0 5px;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:#edf1f6;color:#718096;font-size:8px;font-style:normal}.模板规则标签::after{content:"";position:absolute;left:9px;right:9px;bottom:4px;height:2px;border-radius:var(--workbench-action-radius);background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform .16s ease}.模板规则标签:hover,.模板规则标签:focus-visible{color:#1664ff}.模板规则标签:hover::after,.模板规则标签:focus-visible::after,.模板规则标签.当前::after{transform:scaleX(1)}.模板规则标签.当前{border-color:#dce7f8;background:#f5f8ff;color:#1664ff}.模板规则标签.当前 span{color:#1664ff}.模板规则标签.当前 em{background:#e4edff;color:#1664ff}.模板规则标签:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:-2px}
.模板规则标签内容{padding:15px 14px 16px;animation:模板规则标签进入 .14s ease}.模板规则标签内容[hidden]{display:none}.模板规则标签内容>header{margin-bottom:11px;display:flex;align-items:center;gap:8px}.模板规则标签内容>header span{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:9px}.模板规则标签内容>header h3{font-size:13px}.模板规则只读说明{margin:-3px 0 11px;color:#78869a;font-size:10px;line-height:1.5}.模板规则值列表{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.模板规则值列表>div{min-width:0;padding:10px;display:grid;gap:5px;align-content:start;border:1px solid #edf0f4;border-radius:var(--workbench-action-radius);background:#fafbfd}.模板规则值列表>div:last-child:nth-child(odd){grid-column:1/-1}.模板规则值列表 dt{color:#8a95a4;font-size:9px}.模板规则值列表 dd{margin:0;display:flex;align-items:center;gap:6px;color:#3f4b5d;font-size:10px;font-weight:550;line-height:1.45;overflow-wrap:anywhere}.模板规则色块{width:13px;height:13px;flex:0 0 auto;border:1px solid rgba(0,0,0,.08);border-radius:3px;background:var(--规则色)}
.模板文字层列表{display:grid;gap:8px}.模板文字层列表 article{min-width:0;padding:10px;display:grid;gap:7px;border:1px solid #e4e9f0;border-radius:var(--workbench-action-radius);background:#fafbfd}.模板文字层列表 article.隐藏内容{border-style:dashed;background:#f3f4f6;opacity:.76}.模板文字层列表 article>header{margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:8px}.模板文字层列表 article>header strong{color:#4f5b6d;font-size:10px}.模板文字层列表 article>header em{color:#1664ff;font-size:9px;font-style:normal}.模板文字层列表 article.隐藏内容>header em{color:#7d8795}.模板文字层列表 article>p{color:#697689;font-size:10px;line-height:1.45}.模板文字层列表 article dl{margin:0;display:grid;gap:5px}.模板文字层列表 article dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:6px}.模板文字层列表 article dt{color:#929ca9;font-size:9px}.模板文字层列表 article dd{margin:0;color:#5e6a7c;font-size:9px;line-height:1.4;overflow-wrap:anywhere}
@media(min-width:1181px){.模板规则标签栏{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr)) minmax(86px,1.2fr)}.模板规则标签{width:100%;min-width:0;padding-inline:4px;justify-content:center;gap:3px}}
@keyframes 模板规则标签进入{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.模板规则标签::after{transition:none}.模板规则标签内容{animation:none}}

/* 内容与 HTML 阶段。 */
.课程次标题{margin-top:6px!important;padding-top:0!important}.课程运行列表{padding:8px 12px 14px;display:grid;gap:7px}.课程运行列表 button{width:100%;padding:10px;display:grid;gap:5px;border:1px solid #e6eaf0;border-radius:var(--workbench-action-radius);background:#fff;text-align:left}.课程运行列表 button.当前{border-color:#3e82ef;box-shadow:0 0 0 1px #3e82ef}.课程运行列表 span{display:flex;align-items:center;justify-content:space-between;gap:8px}.课程运行列表 strong{font-size:10px}.课程运行列表 small{color:#728093;font-size:9px}.课程运行列表 em{overflow:hidden;color:#9aa2ae;font-size:8px;font-style:normal;text-overflow:ellipsis}.内容生成预览{min-height:500px;padding-bottom:15px}.内容成稿预览{margin:14px;padding:18px;border:1px solid #e6eaf0;border-radius:var(--workbench-action-radius);background:#fff}.内容成稿状态{display:inline-flex;padding:5px 7px;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:9px}.内容成稿预览 h3{margin:10px 0 0;font-size:22px;line-height:1.35}.内容成稿预览>p{margin-top:12px;color:#536071;font-size:12px;line-height:1.8;white-space:pre-wrap}.内容成稿预览 footer{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.页面文字规划{margin:14px}.页面文字规划>header{display:flex;align-items:center;justify-content:space-between}.页面文字规划 h3{font-size:12px}.页面文字规划>header span{color:#8290a2;font-size:10px}.页面文字规划 ol{margin:10px 0 0;padding:0;display:grid;gap:7px;list-style:none}.页面文字规划 li{padding:10px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;border-radius:var(--workbench-action-radius);background:#f7f9fc}.页面文字规划 li>i{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:#eaf1ff;color:#1664ff;font-size:9px;font-style:normal}.页面文字规划 li span{min-width:0}.页面文字规划 li strong{font-size:10px}.页面文字规划 li p{margin-top:4px;color:#7d8898;font-size:9px;line-height:1.5}.内容证据面板>.课程次按钮{width:calc(100% - 32px);margin:0 16px 16px}
.HTML成稿布局>.课程面板:first-child>.课程主按钮{width:calc(100% - 24px);margin:0 12px}.HTML成稿布局>.课程面板:first-child>.课程表单状态{margin:8px 12px 14px}.成稿预览区{min-height:510px}.课程成稿网格{padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.课程成稿页{min-width:0;padding:8px;border:1px solid #e6eaf0;border-radius:var(--workbench-action-radius);background:#fff}.课程成稿页 header,.课程成稿页 footer{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#788598;font-size:8px}.课程成稿页 header em{font-style:normal}.课程成稿页 img,.课程成稿文件{width:100%;aspect-ratio:3/4;margin:7px 0;object-fit:cover;border-radius:var(--workbench-action-radius);background:#f2f5f9}.课程成稿文件{display:grid;place-items:center;align-content:center;gap:6px;color:#1664ff}.课程成稿文件 strong{font-size:20px}.课程成稿文件 small{color:#8994a3;font-size:9px}.课程成稿页>a{display:block;margin:3px 0 7px;color:#1664ff;font-size:9px;text-align:center;text-decoration:none}.课程成稿页 code{overflow:hidden;text-overflow:ellipsis}.质量验收面板 ol{margin:12px;padding:0;display:grid;gap:8px;list-style:none}.质量验收面板 li{padding:9px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;border-radius:var(--workbench-action-radius);background:#fff6f3}.质量验收面板 li.通过{background:#effaf4}.质量验收面板 li>i{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--workbench-action-radius);background:#fff;color:#986154;font-size:8px;font-style:normal}.质量验收面板 li span{min-width:0}.质量验收面板 li strong{font-size:10px}.质量验收面板 li small{display:block;margin-top:2px;color:#7f8a9a;font-size:8px}.质量验收面板 li p{margin-top:4px;color:#7d8795;font-size:9px;line-height:1.45}
.课程运行列表 .课程运行信息{min-width:0;display:grid;align-content:center;gap:7px}.课程运行列表 .课程运行标题行{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.课程运行列表 .课程运行标题行 strong{min-width:0;overflow:hidden;line-height:1.45;text-overflow:ellipsis}.课程运行列表 .课程运行状态{flex:0 0 auto;padding:3px 6px;border-radius:var(--workbench-action-radius);background:#f0f2f5;color:#697586;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}.课程运行列表 .课程运行状态.成功{background:#eaf8f0;color:#238354}.课程运行列表 .课程运行状态.失败{background:#ffefed;color:#c83d35}.课程运行列表 .课程运行状态.未回读{background:#fff4d6;color:#a86a08}.课程运行列表 .课程运行状态.进行中{background:#eaf2ff;color:#1664ff}.课程运行列表.显示首图 button{min-height:96px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px}.课程运行列表 .课程运行缩略图{width:58px;aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;border:1px solid #e3e8ef;border-radius:var(--workbench-action-radius);background:#f2f5f9}.课程运行列表 .课程运行缩略图 img{width:100%;height:100%;display:block;object-fit:cover}.课程运行列表 .课程运行缩略图 small{padding:5px;color:#8b96a5;font-size:10px;line-height:1.35;text-align:center}.课程运行列表.显示首图 button.当前 .课程运行缩略图{border-color:#9fc0f4}
.课程成稿文件 code{max-width:90%;overflow:hidden;color:#7d8795;font-size:7px;text-overflow:ellipsis}
.课程成稿文件.预览受阻{background:#fff7f5;color:#c24136}.课程成稿文件.预览受阻 small{color:#a35f58}

/* 特色与选题：中栏切换摘要卡，右栏展示当前卡片的特色与原创选题。 */
.特色选题布局>.课程类型内容面板{border:0;border-radius:0;background:transparent;box-shadow:none}
.课程具体内容工作台{min-height:100%;padding:0 24px 24px;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff}
.课程数据库分类标签组{min-width:0;min-height:50px;padding:0;display:flex;align-items:stretch;gap:28px;overflow-x:auto;border-bottom:1px solid #dce2ea;background:transparent;scrollbar-width:none}.课程数据库分类标签组::-webkit-scrollbar{display:none}
.课程数据库分类标签{position:relative;flex:0 0 auto;min-height:50px;padding:0;display:flex;align-items:center;gap:7px;border:0;border-radius:0;background:transparent;color:#747d8d}.课程数据库分类标签::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform .16s ease}.课程数据库分类标签>span{font-size:14px;font-weight:600}.课程数据库分类标签>small{min-width:20px;padding:2px 5px;border-radius:var(--workbench-action-radius);background:#f0f3f7;color:#7b8798;font-size:9px;text-align:center}.课程数据库分类标签:hover,.课程数据库分类标签:focus-visible,.课程数据库分类标签.当前{color:#1664ff}.课程数据库分类标签:hover::before,.课程数据库分类标签:focus-visible::before,.课程数据库分类标签.当前::before{transform:scaleX(1)}.课程数据库分类标签:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:3px}.课程数据库分类标签.当前>small{background:#eaf2ff;color:#1664ff}
.课程数据库内容区{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start}
.课程内容分类卡组{min-width:0;min-height:54px;padding:0;display:flex;align-items:stretch;gap:28px;overflow-x:auto;border-bottom:1px solid #e1e5eb;background:transparent;scrollbar-width:none}
.课程内容分类卡组::-webkit-scrollbar{display:none}
.课程内容分类卡{position:relative;flex:0 0 auto;max-width:280px;min-height:54px;padding:0;border:0;border-radius:0;background:transparent;color:#747d8d;text-align:left}
.课程内容分类卡::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:0;background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform .16s ease}
.课程内容分类卡>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550}
.课程内容分类卡:hover,.课程内容分类卡:focus-visible,.课程内容分类卡.当前{color:#111318}
.课程内容分类卡:hover::before,.课程内容分类卡:focus-visible::before,.课程内容分类卡.当前::before{transform:scaleX(1)}
.课程内容分类卡:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:3px}
.课程内容分类卡.当前>span{font-weight:680}
.课程类型内容面板{padding-top:0}
.课程类型详细内容{min-width:0;padding:16px 0 0;display:grid;gap:12px;align-content:start;background:transparent}
.课程子内容摘要平铺{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.课程卡片分页{min-width:0;padding-top:4px;display:grid;gap:10px;color:var(--workbench-text-secondary);font-size:11px}.课程卡片分页操作{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.课程卡片页码组{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.课程卡片翻页组{flex:0 0 auto;display:flex;align-items:center;gap:8px}.课程卡片分页 button{height:var(--feishu-height-control-default);border:1px solid var(--workbench-border-strong);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary);font-size:11px}.课程卡片分页 button:hover,.课程卡片分页 button:focus-visible{border-color:var(--feishu-color-primary);color:var(--feishu-color-primary)}.课程卡片分页 button:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:2px}.课程卡片分页 button:disabled{border-color:var(--workbench-border-subtle);background:var(--feishu-color-disabled-bg);color:var(--workbench-text-disabled);cursor:not-allowed}.课程卡片页码{width:32px;min-width:32px;padding:0}.课程卡片页码.当前{border-color:var(--feishu-color-primary);background:var(--feishu-color-primary);color:#fff}.课程卡片翻页{min-width:72px;padding:0 14px}
.课程子内容摘要卡{position:relative;min-width:0;padding:14px;display:grid;align-content:start;gap:10px;border:1px solid #e1e6ed;border-radius:var(--workbench-action-radius);background:#fff;color:#303b4a;text-align:left;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.课程子内容摘要选择{position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent}.课程子内容摘要选择:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:2px}
.课程子内容摘要卡>header{display:flex;align-items:start;justify-content:space-between;gap:10px}.课程子内容摘要卡>header em{flex:0 0 auto;color:#1664ff;font-size:9px;font-style:normal}.课程子内容类型{min-width:0;color:#68778a;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.课程子内容摘要卡>strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.课程子内容摘要卡>p{color:#657286;font-size:10px;line-height:1.65}
.课程同行内容摘要卡:hover{border-color:#e1e6ed;background:#fff}.课程同行内容摘要卡>section{padding-top:10px;display:grid;gap:8px;border-top:1px solid #edf0f4}.课程同行内容摘要卡 h4{font-size:11px}.课程同行内容摘要卡 ul,.课程同行内容摘要卡 ol{margin:0;padding:0;display:grid;gap:6px;list-style:none}.课程同行内容摘要卡 ul{grid-template-columns:repeat(2,minmax(0,1fr))}.课程同行内容摘要卡 ul li{padding:7px 8px;border-radius:var(--workbench-action-radius);background:#f4f7fb;color:#526175;font-size:9px;line-height:1.45}.课程同行内容摘要卡 ol li{display:grid;gap:2px}.课程同行内容摘要卡 ol b{font-size:10px;line-height:1.45}.课程同行内容摘要卡 ol span{color:#7b8798;font-size:9px;line-height:1.5}
.课程自动提取状态{margin:0 12px 14px;padding:12px;border:1px solid #dbe7fb;border-radius:var(--workbench-action-radius);background:#f6f9ff}.课程自动提取状态 h3{margin:0 0 7px;font-size:12px}.课程自动提取状态 strong{display:block;color:#245faf;font-size:11px}.课程自动提取状态 p{margin-top:6px;color:#718096;font-size:9px;line-height:1.55}
.内容架构原文字{display:grid;gap:10px}.内容架构原文操作{display:flex;align-items:center;gap:8px;padding:0 12px}.内容架构原文操作>span{min-width:0;flex:1;color:var(--workbench-text-muted);font-size:11px}.内容架构原文操作>button{flex:0 0 auto}.内容架构原文操作>output{color:var(--workbench-text-muted);font-size:10px}
.内容架构图文列表{margin:0;padding:0 12px 16px;display:grid;gap:12px;list-style:none}.内容架构图文页{min-width:0;padding:12px;display:grid;grid-template-columns:minmax(150px,34%) minmax(0,1fr);align-items:start;gap:14px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}.内容架构图文页 figure{min-width:0;margin:0;display:grid;gap:6px}.内容架构图文页 figure img,.内容架构原图占位{width:100%;aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted);object-fit:contain}.内容架构原图占位{padding:12px;color:var(--workbench-text-muted);font-size:10px;text-align:center}.内容架构图文页 figcaption{color:var(--workbench-text-muted);font-size:9px;text-align:center}.内容架构图文页 article{min-width:0;display:grid;align-content:start;gap:8px}.内容架构图文页 article>strong{font-size:12px}.内容架构图文页 article>p{margin:0;color:var(--workbench-text-secondary);font-size:11px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.内容架构图文页 article>small{color:var(--workbench-text-muted);font-size:9px;overflow-wrap:anywhere}
.课程卡片详情{min-height:0;margin:0 12px 14px;padding:14px 4px 4px;display:grid;align-content:start;gap:14px;overflow:auto;border-top:1px solid #e8ecf2}.课程卡片详情>header{display:grid;gap:6px}.课程卡片详情>header span{min-width:0;display:grid;gap:3px}.课程卡片详情>header small{color:#8a95a4;font-size:9px}.课程卡片详情>header strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}.课程卡片详情>header em{color:#68778a;font-size:9px;font-style:normal;line-height:1.45;overflow-wrap:anywhere}.课程卡片详情>section{display:grid;gap:9px}.课程卡片详情 h3,.课程卡片详情 h4{margin:0;font-size:12px}.课程卡片详情 ul,.课程卡片详情 ol{margin:0;padding:0;display:grid;gap:7px;list-style:none}.课程卡片详情 ul{grid-template-columns:repeat(2,minmax(0,1fr))}.课程卡片详情 ul li{padding:8px;border-radius:var(--workbench-action-radius);background:#f4f7fb;color:#526175;font-size:10px;line-height:1.5}.课程卡片详情 ol li{display:grid;gap:3px}.课程卡片详情 ol b{font-size:11px;line-height:1.5}.课程卡片详情 ol span,.课程卡片详情>section>small{color:#7b8798;font-size:9px;line-height:1.55}.课程卡片详情说明 p{color:#718096;font-size:9px;line-height:1.55}

@media(max-width:900px){
  .课程具体内容工作台{padding-inline:16px}
  .课程子内容摘要平铺{grid-template-columns:1fr}
  .课程卡片分页操作{align-items:stretch;flex-direction:column}.课程卡片页码组{width:100%}.课程卡片翻页组{width:100%}.课程卡片翻页组 button{flex:1}
  .内容架构图文页{grid-template-columns:minmax(112px,32%) minmax(0,1fr)}
}

/* 全部模板库居中宽弹窗。 */
.自由配版遮罩{position:fixed;z-index:180;inset:0;background:rgba(21,30,45,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.自由配版弹窗{position:fixed;z-index:190;left:50%;top:50%;width:min(1880px,calc(100vw - 32px));height:min(1120px,calc(100dvh - 32px));transform:translate(-50%,-50%);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 32px 100px rgba(15,23,42,.2)}
.自由配版弹窗[hidden],.自由配版遮罩[hidden]{display:none}
.自由配版弹窗>header{min-height:70px;padding:15px 18px 14px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ebf0}.自由配版弹窗>header h2{font-size:18px}.自由配版弹窗>header p{margin-top:4px;color:#85909f;font-size:11px}.自由配版弹窗>header button{width:36px;height:36px;border-radius:var(--workbench-action-radius);background:#f1f4f8;color:#677386;font-size:22px}
.模板库遮罩{position:fixed;z-index:160;inset:0;background:rgba(21,30,45,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.模板库弹窗{position:fixed;z-index:170;left:50%;top:50%;width:min(1240px,calc(100vw - 72px));height:min(780px,calc(100dvh - 72px));transform:translate(-50%,-50%);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 32px 100px rgba(15,23,42,.2)}
.模板库弹窗[hidden],.模板库遮罩[hidden]{display:none}
.模板库弹窗>header{min-height:70px;padding:15px 18px 14px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ebf0}.模板库弹窗>header h2{font-size:18px}.模板库弹窗>header p{margin-top:4px;color:#85909f;font-size:10px}.模板库弹窗>header button{width:36px;height:36px;border-radius:var(--workbench-action-radius);background:#f1f4f8;color:#677386;font-size:22px}.模板库内容{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.模板库工具栏{padding:12px 18px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr) auto;align-items:end;gap:14px;border-bottom:1px solid #edf0f4}.模板库工具栏 label,.模板类型区{min-width:0;display:grid;gap:5px;color:#707c8d;font-size:9px}.模板库工具栏>span{align-self:center;color:#8490a0;font-size:10px}.模板类型筛选{min-width:0;display:flex;align-items:center;gap:14px;overflow-x:auto;scrollbar-width:none}.模板类型筛选::-webkit-scrollbar{display:none}.模板类型筛选 button{position:relative;flex:0 0 auto;height:36px;padding:0;border:0;border-radius:0;background:transparent;color:#2e3745;font:inherit;font-size:11px;white-space:nowrap}.模板类型筛选 button>span{position:relative;display:inline-flex;height:100%;align-items:center}.模板类型筛选 button>span::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform .16s ease}.模板类型筛选 button:focus-visible{color:#1664ff}.模板类型筛选 button:hover>span::after,.模板类型筛选 button:focus-visible>span::after,.模板类型筛选 button.当前>span::after{transform:scaleX(1)}.模板类型筛选 button:focus-visible{outline:2px solid rgba(22,100,255,.34);outline-offset:2px}.模板库主体{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.全部模板网格{min-width:0;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;overflow:auto;scroll-snap-type:y proximity}.全部模板卡{min-width:0;padding:9px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff;text-align:left}.全部模板卡>span{min-width:0;max-width:100%;display:grid;gap:5px;overflow:hidden}.全部模板卡 strong,.全部模板卡 small,.全部模板卡 em{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.全部模板卡 strong{font-size:11px}.全部模板卡 small{color:#8c96a4;font-size:9px}.全部模板卡 em{color:#1664ff;font-size:8px;font-style:normal}.模板库预览{min-height:0;padding:16px;border-left:1px solid #e8ebf0;overflow:auto}.模板库预览>header{display:flex;align-items:start;justify-content:space-between}.模板库预览>header span{color:#8a95a4;font-size:9px}.模板库预览>header h3{margin-top:3px;font-size:16px}.模板库预览>header em{padding:5px 7px;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:8px;font-style:normal}.模板库预览>.课程模板画布{width:250px;margin:14px auto}.模板库预览 dl{margin:0;display:grid;gap:8px}.模板库预览 dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.模板库预览 dt{color:#8994a3;font-size:9px}.模板库预览 dd{margin:0;color:#4f5b6c;font-size:10px}.模板库预览>.课程主按钮{width:100%;margin-top:14px}.模板库预览>small{display:block;margin-top:8px;color:#939ca8;font-size:8px;line-height:1.5;text-align:center}

@media(max-width:1180px) and (min-width:761px){
  .课程生产步骤 button{padding:0 10px;grid-template-columns:28px minmax(0,1fr);gap:7px}.课程生产步骤 button i{width:26px;height:26px}.课程生产步骤 button small{display:none}
  .课程三栏{grid-template-columns:240px minmax(390px,1fr) 260px}.模板工作台{min-width:990px;grid-template-columns:260px minmax(410px,1fr) 350px}
  .全部模板网格{grid-template-columns:repeat(2,minmax(0,1fr))}.模板库主体{grid-template-columns:minmax(0,1fr) 330px}
}
@media(max-width:760px){
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .系统顶栏{top:var(--site-navigation-height);height:48px;padding:0 10px}.课程生产步骤{height:58px;display:flex;overflow-x:auto;border-radius:var(--workbench-action-radius)}.课程生产步骤 button{flex:0 0 142px;padding:0 9px;grid-template-columns:25px minmax(0,1fr);gap:6px}.课程生产步骤 button i{width:24px;height:24px}.课程生产步骤 button strong{font-size:11px}.课程生产步骤 button small{display:none}
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .功能顶栏 h1{font-size:13px}.课程生产状态带{gap:9px}.课程生产状态带 a{display:none}.课程生产状态带 small{font-size:9px}.课程阶段标题{align-items:start}.课程阶段标题 h2{font-size:17px}.课程阶段标题 p{font-size:10px}.阶段回读标签{display:none!important}
  .课程三栏{display:grid;grid-template-columns:1fr;gap:10px}.课程主列表{min-height:0}.模板工作台{min-width:0;display:grid;grid-template-columns:1fr}.模板左栏{order:1}.模板画布内容{order:2}.模板右栏{order:3;max-height:none}.模板画布外框{width:min(100%,430px)}.模板分页条{width:min(100%,430px)}
  .模板侧栏列表{grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:auto}.课程模板侧栏卡{min-width:210px}
  .课程成稿网格{grid-template-columns:repeat(2,minmax(0,1fr))}.自由配版弹窗,.模板库弹窗{width:calc(100vw - 16px);height:calc(100dvh - 24px);border-radius:var(--workbench-action-radius)}.模板库工具栏{grid-template-columns:1fr}.模板库工具栏>span{display:none}.模板类型筛选{gap:12px}.模板库主体{grid-template-columns:1fr;overflow:auto}.全部模板网格{grid-template-columns:1fr 1fr;overflow:visible}.模板库预览{display:block;border-top:1px solid #e8ebf0;border-left:0}.全部模板卡{grid-template-columns:68px minmax(0,1fr)}
}

/* 2026-08-09 五环节一屏收口：页签与三栏相邻，但不使用可见大容器包裹。 */
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .系统顶栏{display:none}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节画布{
  padding:calc(var(--site-navigation-height) + 10px) 12px 10px;
  overflow:hidden;
}
.课程生产工作台{
  --课程左栏宽度:300px;
  width:min(1480px,100%);
  height:calc(100dvh - var(--site-navigation-height) - 20px);
  min-width:0;
  min-height:0;
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-rows:44px minmax(0,1fr);
  gap:6px;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.课程生产步骤{
  height:44px;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #e1e6ee;
  border-radius:var(--workbench-action-radius);
  background:#fff;
  box-shadow:none;
}
.课程生产步骤 button{
  position:relative;
  min-width:0;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-right:1px solid #edf0f4;
  border-radius:0;
  background:#fff;
  color:#566174;
  text-align:right;
}
.课程生产步骤 button:last-child{border-right:0}
.课程生产步骤 button::after{display:none}

.课程生产步骤 .课程步骤序号{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f0f2f5;
  color:#6e7785;
  font-size:10px;
}

.课程生产步骤 button strong{min-width:0;overflow:hidden;padding:4px 0;background:linear-gradient(#1664ff,#1664ff) no-repeat left bottom/0 2px;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap;transition:background-size .18s ease}
.课程生产步骤 button:hover strong,.课程生产步骤 button:focus-visible strong,.课程生产步骤 button.当前 strong{background-size:100% 2px}

.课程生产步骤 button em{margin-left:auto;padding:2px 5px;border-radius:var(--workbench-action-radius);background:#eef2f7;color:#778295;font-size:9px;font-style:normal}

@media(prefers-reduced-motion:reduce){.课程生产步骤 button strong{transition:none}}
.课程环节数据表{min-width:0;min-height:36px;padding:5px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e6ee;border-radius:var(--workbench-action-radius);background:rgba(255,255,255,.92)}
.课程环节数据表>span,.课程环节数据表>div{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.课程环节数据表>span strong{color:#263244;font-size:11px;white-space:nowrap}
.课程环节数据表>span small{color:#778295;font-size:9px;white-space:nowrap}
.课程环节数据表 em,.课程环节数据表 i{padding:2px 6px;border-radius:var(--workbench-action-radius);font-size:9px;font-style:normal;white-space:nowrap}
.课程环节数据表 em{background:#eaf6f0;color:#315b4c}
.课程环节数据表 i{background:#f0f2f5;color:#6e7785}
.课程生产主区{height:100%;min-width:0;min-height:0;overflow:hidden}
.课程三栏,.模板工作台{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:var(--课程左栏宽度) minmax(440px,1fr) 400px;
  gap:12px;
  align-items:stretch;
  overflow:hidden;
}
.课程面板,.模板画布内容{
  height:100%;
  min-width:0;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#d9dee7 transparent;
}
.课程面板{box-shadow:0 4px 14px rgba(15,23,42,.025)}
.课程面板>header,.模板画布内容>.课程主对象标题,.课程右栏工具{
  position:sticky;
  z-index:3;
  top:0;
  background:#fff;
}
.课程操作标题,.课程主对象标题{
  min-height:58px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #edf0f4;
}
.课程操作标题>div,.课程主对象标题>div{min-width:0}
.课程操作标题 h3,.课程主对象标题 h3{margin:0;font-size:13px;line-height:1.3}
.课程操作标题 p,.课程主对象标题 p{margin:3px 0 0;color:#8993a2;font-size:9px;line-height:1.45}
.课程操作标题>span,.课程主对象标题>span{flex:0 0 auto;padding:4px 7px;border-radius:var(--workbench-action-radius);background:#f1f4f8;color:#687487;font-size:9px}
.课程操作标题>span.受阻{background:#fff4e5;color:#9b621e}
.课程右栏工具{
  min-height:50px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #edf0f4;
}
.课程右栏工具>span{min-width:0;display:grid;gap:2px}
.课程右栏工具 strong{font-size:10px}.课程右栏工具 small{color:#8b95a3;font-size:8px}
.课程右栏工具>div{display:flex;gap:4px}
.课程右栏工具 button,.模板库动作 button{min-height:27px;padding:0 8px;border:1px solid #d8e2f0;border-radius:var(--workbench-action-radius);background:#fff;color:#3167ad;font-size:9px}
.课程内容数据库管理{margin:14px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dbe5f2;border-radius:var(--workbench-action-radius);background:#f8fbff}.课程内容数据库管理 h3,.课程内容数据库管理 p{margin:0}.课程内容数据库管理 h3{font-size:11px}.课程内容数据库管理 p{margin-top:4px;color:#788597;font-size:8px;line-height:1.45}.课程内容数据库管理 button{min-height:30px;padding:0 10px;border:1px solid #9bbcf0;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff;font-size:9px;cursor:pointer}.课程内容数据库管理 button:disabled{border-color:#d9e0e8;color:#98a2b1;cursor:not-allowed}
.课程数据归属,.课程低频入口{margin:0 14px 14px;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fafbfd}
.课程数据归属 summary,.课程低频入口 summary{min-height:38px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
.课程数据归属 summary::-webkit-details-marker,.课程低频入口 summary::-webkit-details-marker{display:none}
.课程数据归属 summary span{color:#5e6a7b;font-size:10px;font-weight:650}
.课程数据归属 summary em,.课程低频入口 summary em{color:#758194;font-size:8px;font-style:normal}.课程数据归属 summary em.受阻{color:#a15f23}
.课程数据归属>div{padding:10px;display:grid;gap:9px;border-top:1px solid #e8ecf2}
.课程数据归属>div>span{display:grid;gap:3px}.课程数据归属 strong{font-size:10px}.课程数据归属 small{color:#8994a3;font-size:8px}.课程数据归属 a{color:#1664ff;font-size:9px;text-decoration:none}
.课程独立入口{width:calc(100% - 28px);min-height:48px;margin:10px 14px 0;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8e2f0;border-radius:var(--workbench-action-radius);background:#f8fbff;color:#2f5f9f;text-align:left}.课程独立入口 span{min-width:0;display:grid;gap:3px}.课程独立入口 strong{font-size:11px}.课程独立入口 small{color:#7d8999;font-size:9px;line-height:1.4}.课程独立入口 em{flex:0 0 auto;color:#1664ff;font-size:9px;font-style:normal}.课程独立入口:hover,.课程独立入口:focus-visible{border-color:#86aff2;background:#f2f7ff}
.课程操作指引{margin:14px;padding:13px;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff}.课程操作指引 h3{margin:0;font-size:12px}.课程操作指引 ol{margin:12px 0 0;padding:0;display:grid;gap:12px;list-style:none}.课程操作指引 li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start}.课程操作指引 li>i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#1664ff;font-size:9px;font-style:normal}.课程操作指引 li>span{display:grid;gap:3px}.课程操作指引 strong{font-size:10px}.课程操作指引 small{color:#7f8997;font-size:9px;line-height:1.45}
.课程高级信息{margin:0 14px 14px;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fafbfd}.课程高级信息>summary{min-height:44px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.课程高级信息>summary::-webkit-details-marker{display:none}.课程高级信息>summary span{min-width:0;display:grid;gap:2px}.课程高级信息>summary strong{font-size:10px}.课程高级信息>summary small{color:#8b95a3;font-size:8px}.课程高级信息>summary em{color:#758194;font-size:8px;font-style:normal}.课程高级信息内容{padding:0 0 12px;border-top:1px solid #e8ecf2}.课程高级数据归属{margin:12px 16px 0;padding:10px;display:grid;gap:8px;border-radius:var(--workbench-action-radius);background:#fff}.课程高级数据归属>span{display:grid;gap:3px}.课程高级数据归属 strong{font-size:10px}.课程高级数据归属 small{color:#8994a3;font-size:8px}.课程高级数据归属 a{color:#1664ff;font-size:9px;text-decoration:none}.课程高级信息 .课程结果链{margin-top:12px}.课程高级信息 .课程结果摘要{margin-top:14px}
.模板库动作{padding:10px 14px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7a8595;font-size:9px}
.课程低频入口{margin-top:14px;background:#fff}
.课程低频入口 summary span{min-width:0;display:grid;gap:2px}.课程低频入口 summary strong{font-size:10px}.课程低频入口 summary small{color:#8b95a3;font-size:8px}
.课程低频入口内容{border-top:1px solid #e8ecf2}.课程低频入口内容>.课程工作台表单{border-bottom:1px solid #edf0f4}.课程低频入口内容 h3{font-size:11px}.课程同行审核区>h3{padding:12px 14px 0;font-size:11px}
.课程提交区{position:sticky;z-index:2;bottom:0;padding:10px 12px 12px;border-top:1px solid #e8ecf2;background:#fff}
.课程提交区 .课程主按钮{width:100%}.课程提交区 .课程表单状态{margin-top:8px}
.课程主列表,.内容生成预览,.成稿预览区{min-height:0}

/* 内容生成默认只展示运营核心，历史、逐页文字与审计证明按需展开。 */
.内容生成记录 .课程运行列表{padding:10px}
.页面文字规划内容{padding:0 10px 10px}
.页面文字规划内容 ol{margin-top:10px}
.页面文字规划内容 .课程生产空状态{min-height:100px}
.内容生成下一步{margin:14px;padding:14px;display:grid;gap:12px;border:1px solid #d8e2f0;border-radius:var(--workbench-action-radius);background:#f8fbff}
.内容生成下一步>span{display:grid;gap:4px}
.内容生成下一步 strong{font-size:12px}
.内容生成下一步 small{color:#7d8999;font-size:9px;line-height:1.4}
.内容生成下一步 .课程主按钮{width:100%}
.内容生成技术详情 .课程低频入口内容{padding:10px}
.内容生成技术详情 .课程低频入口内容>dl{margin:0}
.课程来源列表{max-height:none}.模板右栏{max-height:none}
@media(min-width:761px){
  .模板侧栏列表{max-height:none;grid-template-columns:1fr;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
  .课程模板侧栏卡{min-width:0}
}

.课程内容目录{margin:10px 8px 16px;border:1px solid #dce4ef;border-radius:var(--workbench-action-radius);background:#f8fafc;overflow:hidden}
.课程内容目录>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e4eaf2;background:#fff}
.课程内容目录>header span{display:grid;gap:2px}.课程内容目录>header small{color:#687386}.课程内容目录>header code{font-size:11px;color:#667085}
.课程文档目录{margin:10px 8px 16px;border:1px solid #dce4ef;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden}
.课程文档目录>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-bottom:1px solid #e4eaf2;background:#f8fafc}
.课程文档目录>header>span{display:grid;gap:3px;min-width:0}.课程文档目录>header small{color:#687386}.课程文档目录>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.课程文档目录>header>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 360px}.课程文档目录>header>div>button{flex:none;padding:8px 10px;border:1px solid #cbd8ea;border-radius:var(--workbench-action-radius);background:#fff;color:#165dff;font-weight:600}.课程文档目录>header>div>button:disabled{color:#98a2b3;background:#f2f4f7}
.课程文档目录>header label{display:flex;align-items:center;gap:8px;flex:0 1 240px}.课程文档目录>header label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.课程文档目录>header select{width:100%;min-width:0}
.课程文档目录>ol{list-style:none;margin:0;padding:6px 0}.课程文档目录>ol li{margin:0;padding:0}
.课程文档目录>ol button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border:0;border-radius:0;background:transparent;color:#172033;text-align:left}
.课程文档目录>ol button:hover{background:#f6f9ff}.课程文档目录>ol button.当前{background:#eef5ff;color:#165dff}
.课程文档目录>ol button i{font-style:normal;font-size:12px;color:#8a94a6}.课程文档目录>ol button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.课程内容类型列{display:grid;gap:8px;padding:10px}.课程内容类型{margin-left:calc(var(--类型层级,0)*14px);border:1px solid #e2e8f0;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden}
.课程内容类型>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:0;background:transparent;text-align:left}.课程内容类型>button span{display:grid;gap:2px}.课程内容类型>button small{color:#7a8494}.课程内容类型>button em{font-style:normal;color:#596579}
.课程内容类型.当前{border-color:#91b7f8;box-shadow:0 0 0 2px rgba(47,109,225,.08)}.课程内容类型.当前>button{background:#f2f7ff}
.课程具体内容列{display:grid;gap:7px;padding:8px;border-top:1px solid #e7edf5}.课程具体内容{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e6ebf2;border-radius:var(--workbench-action-radius);background:#fff;text-align:left}.课程具体内容 span{display:grid;gap:3px;min-width:0}.课程具体内容 small,.课程具体内容 em{font-size:11px;color:#778195;font-style:normal}.课程具体内容 p{margin:2px 0 0;color:#586274;line-height:1.55}.课程具体内容.当前{border-color:#2f6de1;background:#f5f8ff}.课程目录空提示,.课程媒体边界{margin:0;padding:10px 12px;color:#697386;font-size:12px}.课程媒体边界{border-top:1px solid #e1e7ef;background:#fff8e8;color:#7a5a1f}
.模板画布内容{align-content:start;padding-bottom:10px}
.模板画布外框{width:min(calc(100% - 24px),390px,calc((100dvh - 410px)*.75));margin-top:10px}
.模板分页条{width:min(calc(100% - 24px),390px);gap:8px;overflow-x:auto}
.课程模板页缩略,.模板分页条>.课程模板页缩略:first-child,.模板分页条>.课程模板页缩略:last-child{width:52px;flex:0 0 52px}
.模板预览声明{width:min(calc(100% - 24px),520px);line-height:1.45;text-align:center}

@media(max-width:1180px) and (min-width:761px){
  .课程生产工作台{--课程左栏宽度:230px}
  .课程三栏,.模板工作台{grid-template-columns:var(--课程左栏宽度) minmax(320px,1fr) 260px;gap:8px}.特色选题布局{grid-template-columns:minmax(320px,1fr) 260px}
  .课程生产步骤 button{padding:0 9px;gap:6px}.课程生产步骤 button strong{font-size:11px}.课程生产步骤 button em{display:none}
  .模板画布外框{width:min(calc(100% - 16px),360px,calc((100dvh - 410px)*.75))}
}

@media(max-width:760px){
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节画布{padding:calc(var(--site-navigation-height) + 8px) 8px 92px;overflow:auto}
  .课程生产工作台{height:auto;min-height:calc(100dvh - var(--site-navigation-height) - 100px);display:block;overflow:visible}
  .课程生产步骤{height:42px;margin-bottom:8px;display:flex;overflow-x:auto}
  .课程生产步骤 button{flex:0 0 128px;padding:0 9px;gap:6px}.课程生产步骤 button em{display:none}
  .课程环节数据表{margin-bottom:8px;align-items:flex-start;flex-direction:column}.课程环节数据表>span small{white-space:normal}
  .课程生产主区{height:auto;overflow:visible}
  .课程三栏,.模板工作台{height:auto;display:grid;grid-template-columns:1fr;gap:8px;overflow:visible}.课程详情提取表单{grid-template-columns:1fr}.课程详情提取表单 .课程表单状态{grid-column:auto}
  .课程面板,.模板画布内容{height:auto;max-height:none;overflow:visible}
  .模板画布外框{width:min(calc(100% - 16px),390px)}
}

/* WB-WORKBENCH-SHELL-PARITY-20260810-01：移除另一套液态外观，保留单一素净企业壳。 */


.网站导航栏{
  background:#fff;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.系统Dock,
.独立环节组>.环节卡,
.任务进程,
.配置抽屉,
.日志弹层,
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{
  border-color:#e5e7eb;
  border-radius:var(--workbench-action-radius);
  background:#fff;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.配置抽屉>header,
.日志弹层>header,
body[data-current-page="im"] .IM窗口顶栏,
body[data-current-page="im"] .IM任务面板>header,
body[data-current-page="im"] .IM输入区{
  background:#fff;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.独立环节组>.环节卡.当前,
.卡内子环节:hover,
.卡内子环节:focus-visible,
.卡内子环节.当前{
  background:#f7f9fc;
  box-shadow:none;
}

/* WB-XHS-TEMPLATE-EDIT-LOCK-20260810-02：模板文字区域编辑状态与显式保存区。 */
.模板文字区域标签内容{padding:8px 10px 10px}
.模板文字层面板{display:grid;min-height:0;gap:6px}
.模板文字层面板>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
.模板文字层面板>header h3{min-width:0}
.模板编辑状态{display:inline-flex;align-items:center;min-height:20px;padding:0 6px;border:1px solid #cfe0ff;border-radius:var(--workbench-action-radius);background:#f2f7ff;color:#1664ff;font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}
.模板编辑状态.只读{border-color:#e2e6ec;background:#f6f7f9;color:#778294}
.模板版本记录{margin:0;padding:8px 10px;border:1px solid #e5eaf1;border-radius:var(--workbench-action-radius);background:#f8fafc;color:#596678;font-size:9px;line-height:1.45}
.模板文字层面板 input[type="number"],.模板文字层面板 input[type="color"],.模板文字层面板 select{box-sizing:border-box;width:100%;min-height:30px;padding:0 8px;border:1px solid #d9e0e9;border-radius:var(--workbench-action-radius);background:#fff;color:#263142;outline:none}
.模板文字层面板 input[type="color"]{padding:3px;cursor:pointer}
.模板文字层面板 textarea{box-sizing:border-box;width:100%;min-height:48px;padding:7px 8px;resize:vertical;border:1px solid #d9e0e9;border-radius:var(--workbench-action-radius);background:#fff;color:#263142;font:inherit;line-height:1.4;outline:none}
.模板文字层面板 input[type="number"]:focus,.模板文字层面板 select:focus,.模板文字层面板 textarea:focus{border-color:#7aa7ff;box-shadow:0 0 0 2px #eaf1ff}
.模板文字层面板 input[type="range"]{width:100%;min-width:0;margin:0;accent-color:#256cf4}
.模板预览文字编辑,.模板字段网格>label{display:grid;gap:3px}.模板预览文字编辑>span,.模板字段网格>label>span{color:#596678;font-size:9px;font-weight:700}
.模板字段网格{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}.模板字段网格 .模板对齐字段{grid-column:1/-1}.模板坐标控件{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:6px}
.模板字段网格 .模板勾选字段{min-height:30px;padding:0 8px;display:flex;align-items:center;gap:7px;border:1px solid #e0e5ec;border-radius:var(--workbench-action-radius);background:#fafbfc}.模板勾选字段 input{width:14px;height:14px;margin:0;accent-color:#1664ff}
.模板编辑历史栏{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #e7ebf1;color:#697689;font-size:9px}.模板编辑历史栏>div{display:flex;gap:5px}.模板编辑历史栏 button{min-height:26px;padding:0 9px;border:1px solid #d8e0eb;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff}.模板编辑历史栏 button:disabled{color:#a3abb6;cursor:not-allowed}
.模板槽位操作{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.模板槽位操作 button{min-height:30px;border:1px solid #d8e0eb;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff}.模板槽位操作 button:hover,.模板槽位操作 button:focus-visible{border-color:#8bb2ff;background:#f7faff}.模板槽位操作 .模板槽位删除操作{border-color:#efcaca;color:#b43b3b}.模板槽位操作 .模板槽位删除操作:hover,.模板槽位操作 .模板槽位删除操作:focus-visible{border-color:#d98f8f;background:#fff7f7}.模板槽位操作 button:disabled{border-color:#e5e8ed;background:#f4f5f7;color:#a4abb5;cursor:not-allowed}
.模板槽位徽标{display:flex;align-items:center;justify-content:flex-end;gap:4px}.模板槽位徽标>em:not(.模板编辑状态){color:#1664ff;font-size:9px;font-style:normal;white-space:nowrap}
.模板区域实时状态{display:block;padding:6px 8px;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:9px;font-weight:700;text-align:center}
.模板容量占位预览{display:grid;gap:2px;padding:7px 8px;border:1px solid #dbe6f8;border-radius:var(--workbench-action-radius);background:#f7faff;overflow:hidden}
.模板容量占位预览 span{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
.模板容量占位预览 b{color:#7b8ca6;font-size:8px;font-weight:700;text-align:right}
.模板容量占位预览 i{display:block;min-width:0;overflow:hidden;color:#7aa7e8;font:8px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal;letter-spacing:1px;white-space:nowrap}
.模板文字层面板 .模板文字层列表{gap:6px}.模板文字层面板 .模板文字层列表 article{padding:8px;gap:6px;background:#fff}.模板文字层面板 .模板文字层列表 article>header{align-items:center}.模板文字层面板 .模板文字层列表 article>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.模板文字层列表 article.当前文字区域卡{border-color:#8bb2ff;box-shadow:0 0 0 1px #edf3ff}
.模板画布外框 .模板文字层{overflow:visible;border:1px dashed rgba(22,100,255,.5);background:rgba(22,100,255,.035);pointer-events:auto;cursor:pointer}
.模板画布外框 .模板文字层:focus-visible{z-index:3;outline:2px solid #1664ff;outline-offset:3px}
.模板画布外框 .模板文字层>.模板区域文字{width:100%;height:100%;overflow:hidden}
.模板画布外框 .模板文字层.当前文字区域{z-index:2;border:2px solid #1664ff;background:rgba(22,100,255,.08);box-shadow:0 0 0 2px rgba(255,255,255,.88),0 0 0 4px rgba(22,100,255,.18)}
.模板区域尺寸{position:absolute;right:-2px;top:-19px;padding:2px 5px;border-radius:var(--workbench-action-radius);background:#1664ff;color:#fff;font-size:8px;font-style:normal;font-weight:700;line-height:14px;white-space:nowrap}.课程模板画布.紧凑 .模板区域尺寸{display:none}
.模板保存区{position:sticky;z-index:3;bottom:0;display:grid;gap:5px;margin:0;padding:7px 0 0;border-top:1px solid #e7ebf1;background:#fff}
.模板保存区 .课程表单状态{margin:0;line-height:1.35}.模板保存区 .课程表单状态:empty{display:none}
.模板保存区 .课程主按钮{width:100%;min-height:34px}
.模板保存区 .课程主按钮:disabled{border-color:#dfe4eb;background:#edf0f4;color:#929ba8;cursor:not-allowed}
.模板规则标签.当前{border-color:transparent;background:transparent;box-shadow:none}
.模板库预览操作{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:14px}
.模板库预览操作>[data-delete-template]{min-height:34px;padding:0 10px;border:1px solid #f1c8c8;border-radius:var(--workbench-action-radius);background:#fff;color:#b43b3b}
.模板库预览操作>.课程主按钮{width:100%;min-height:34px}
.模板库预览操作>:only-child{grid-column:1/-1}
.模板IM展示工具{min-width:170px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.模板IM展示工具 span{color:#667386;font-size:9px;white-space:nowrap}.模板IM展示工具 button{min-height:34px;padding:0 12px}.模板IM展示工具 button:disabled{background:#edf0f4;color:#929ba8;cursor:not-allowed}
.模板库工具栏{grid-template-columns:minmax(190px,.7fr) minmax(0,1.4fr) auto auto;gap:12px}
.模板批量删除工具{min-width:156px;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.模板批量删除工具 span{color:#7c8797;font-size:9px;white-space:nowrap}.模板批量删除工具 button{min-height:34px;padding:0 10px;border:1px solid #efcaca;border-radius:var(--workbench-action-radius);background:#fff;color:#b43b3b}.模板批量删除工具 button[data-select-all-deletable-templates]{border-color:#d8e0eb;color:#1664ff}.模板批量删除工具 button:disabled{border-color:#e5e8ed;background:#f4f5f7;color:#a4abb5;cursor:not-allowed}
.全部模板卡容器{min-width:0;display:grid;grid-template-rows:auto auto auto;scroll-snap-align:start;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff;overflow:hidden}.全部模板卡容器.当前{border-color:#2b76ed;box-shadow:0 0 0 1px #2b76ed}.全部模板卡容器 .全部模板卡{border:0;box-shadow:none;border-radius:0}.模板IM展示选择,.模板删除选择{min-height:32px;padding:6px 9px;display:flex;align-items:center;gap:7px;border-top:1px solid #edf0f4;color:#42516a;font-size:9px;cursor:pointer}.模板IM展示选择 input,.模板删除选择 input{width:14px;height:14px;margin:0;accent-color:#1664ff}.模板删除选择{color:#9b4545}.模板删除选择 input{accent-color:#b43b3b}.模板IM展示选择.不可选{color:#a06a6a;cursor:not-allowed}.模板IM展示选择.不可选 input{cursor:not-allowed}
.模板库预览{display:grid;grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden}.模板库预览滚动体{min-height:0;overflow:auto}.模板库预览滚动体>header{display:flex;align-items:start;justify-content:space-between;gap:8px}.模板库预览滚动体>header span{color:#8a95a4;font-size:10px}.模板库预览滚动体>header h3{margin-top:3px;font-size:16px}.模板库预览滚动体>header em{padding:5px 7px;border-radius:var(--workbench-action-radius);background:#eef4ff;color:#1664ff;font-size:10px;font-style:normal}.模板大图翻页{min-width:0;margin:10px 0;padding-inline:8px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:6px}.模板大图翻页>.课程模板画布{width:min(210px,100%);margin:0 auto}.模板大图翻页>button{width:32px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #d8e0eb;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff;font-size:28px;line-height:1;cursor:pointer}.模板大图翻页>button:hover:not(:disabled){border-color:#8db3ff;background:#f2f7ff}.模板大图翻页>button:focus-visible{outline:2px solid #1664ff;outline-offset:2px}.模板大图翻页>button:disabled{border-color:#edf0f4;background:#f8f9fb;color:#bdc5d0;cursor:not-allowed}.模板库预览滚动体>dl{margin:12px 0 0;display:grid;gap:8px}.模板库预览滚动体>dl div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px}.模板库预览滚动体 dt{color:#8994a3;font-size:10px}.模板库预览滚动体 dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#4f5b6c;font-size:10px}
.模板子页面总览{margin:12px 0;padding:10px;border:1px solid #e8ebf0;border-radius:var(--workbench-action-radius);background:#fafbfc}.模板子页面总览>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.模板子页面总览>header strong{color:#2c3849;font-size:11px}.模板子页面总览>header span{color:#7d899a;font-size:10px}.模板子页面条{margin-top:9px;display:flex;gap:8px;overflow-x:auto}.模板子页面按钮{flex:0 0 124px;min-width:0;padding:6px;display:grid;gap:6px;border:1px solid #e1e6ed;border-radius:var(--workbench-action-radius);background:#fff;text-align:left}.模板子页面图片{width:100%;aspect-ratio:3/4;display:block;object-fit:cover;border-radius:var(--workbench-action-radius);background:#edf1f5}.模板子页面图片空{display:grid;place-items:center}.模板子页面图片空 em{padding:7px;color:#758296;font-size:10px;font-style:normal;text-align:center}.模板子页面按钮>span{display:grid;gap:3px}.模板子页面按钮 strong{color:#2f3a4b;font-size:10px}.模板子页面按钮 small{color:#7d8999;font-size:10px;line-height:1.4}.模板当前页规则{margin-top:9px}.模板当前页规则 summary{cursor:pointer;color:#1664ff;font-size:10px}
.模板详情IM展示选择{min-height:36px;margin-top:10px;padding:8px 0;display:flex;align-items:center;gap:8px;border-top:1px solid #edf0f4;color:#405068;font-size:10px}.模板详情IM展示选择 input{width:15px;height:15px;margin:0;accent-color:#1664ff}.模板详情IM展示选择.不可选{color:#a06a6a}.模板库预览>.模板库预览操作{margin-top:8px}.模板库预览>small{margin-top:6px}

/* 桌面模板预览一次性展示完整内容；模板列表仍独立滚动。 */
@media(min-width:761px){
  .模板库预览{overflow:hidden}
  .模板库预览>.课程模板画布{width:min(210px,100%);margin:10px auto}
}
@media(max-width:760px){
  .模板库预览{overflow:visible}.模板库预览滚动体{overflow:visible}.模板子页面按钮{flex-basis:108px}
  .模板库工具栏{grid-template-columns:1fr}.模板IM展示工具,.模板批量删除工具{justify-content:space-between}
}

@media(min-width:1181px){
  .课程三栏.特色选题布局{grid-template-columns:minmax(0,1fr) 400px}
}

/* WB-IM-WINDOW-NAV-20260812-04：一级仅展示窗口；桌面对话区顶部留空，栏目切换统一放入底部任务参数区。 */
body[data-current-page="im"] .IM页面:not([hidden]){
  grid-template-columns:196px minmax(0,1fr) 320px;
  align-items:stretch;
  gap:12px;
}
body[data-current-page="im"] .IM窗口导航{
  min-width:0;
  height:calc(100dvh - var(--site-navigation-height) - 28px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  overflow:hidden;
  border:1px solid #e5e7eb;
  border-radius:var(--workbench-action-radius);
  background:#fff;
}
body[data-current-page="im"] .IM栏目切换栏{min-width:0}
body[data-current-page="im"] .IM栏目切换栏 .IM栏目选择{display:grid;gap:6px}
body[data-current-page="im"] .IM栏目切换栏 .IM栏目选择>span{color:#7b8492;font-size:10px;font-weight:700}
body[data-current-page="im"] .IM栏目切换栏 select{
  width:100%;
  height:34px;
  padding:0 9px;
  border:1px solid #d9dfe8;
  border-radius:var(--workbench-action-radius);
  background:#fff;
  color:#253044;
  font-size:12px;
  font-weight:650;
  outline:none;
}
body[data-current-page="im"] .IM栏目切换栏 select:focus{border-color:#7aa7ff;box-shadow:0 0 0 2px #eaf1ff}
body[data-current-page="im"] .IM移动对话栏{
  display:none;
}
body[data-current-page="im"] .IM移动对话栏>button{display:none}
body[data-current-page="im"] .IM移动对话栏>strong{overflow:hidden;color:#30394a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM窗口导航标题{
  min-height:46px;
  padding:8px 10px 8px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #edf0f4;
}
body[data-current-page="im"] .IM窗口导航标题>strong{color:#30394a;font-size:12px}
body[data-current-page="im"] .IM窗口导航标题>button{
  min-height:28px;
  padding:0 8px;
  border:1px solid #e2e7ee;
  border-radius:var(--workbench-action-radius);
  background:#fff;
  color:#667085;
  font-size:10px;
  font-weight:650;
  cursor:pointer;
}
body[data-current-page="im"] .IM窗口导航标题>button:hover:not(:disabled){border-color:#f0b9b9;background:#fff7f7;color:#b42318}
body[data-current-page="im"] .IM窗口导航标题>button:focus-visible{outline:2px solid #1664ff;outline-offset:2px}
body[data-current-page="im"] .IM窗口导航标题>button:disabled{cursor:not-allowed;opacity:.42}
body[data-current-page="im"] .IM窗口新建区{padding:10px 11px 9px}
body[data-current-page="im"] .IM窗口新建区>button{
  width:100%;
  min-height:40px;
  padding:0 12px;
  border:1px solid #cfe0ff;
  border-radius:var(--workbench-action-radius);
  background:#f4f8ff;
  color:#1664ff;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
body[data-current-page="im"] .IM窗口新建区>button:hover{border-color:#9fc0ff;background:#edf4ff}
body[data-current-page="im"] .IM窗口新建区>button:focus-visible{outline:2px solid #1664ff;outline-offset:2px}
body[data-current-page="im"] .IM聊天窗口列表{min-height:0;padding:7px;display:flex;flex-direction:column;gap:5px;overflow:auto}
body[data-current-page="im"] .IM聊天窗口空状态{margin:auto;padding:16px 8px;color:#98a2b3;font-size:11px;text-align:center}
body[data-current-page="im"] .IM输入区[hidden]{display:none}
body[data-current-page="im"] .IM聊天窗口行{position:relative;min-width:0;display:block;border:1px solid transparent;border-radius:var(--workbench-action-radius);background:transparent;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
body[data-current-page="im"] .IM聊天窗口项{
  min-width:0;
  width:100%;
  min-height:58px;
  padding:8px 9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title status" "summary summary";
  align-items:center;
  column-gap:6px;
  row-gap:4px;
  border:1px solid transparent;
  border-radius:var(--workbench-action-radius);
  background:transparent;
  color:#344054;
  text-align:left;
  cursor:pointer;
}
/* IM 任务窗口状态紧跟标题；摘要仍单独占下一行。 */
body[data-current-page="im"] .IM聊天窗口项>span{min-width:0;display:contents}
body[data-current-page="im"] .IM聊天窗口项 strong{grid-area:title;min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM聊天窗口项 small{grid-area:summary;min-width:0;overflow:hidden;color:#8a93a3;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM聊天窗口项>em{grid-area:status;max-width:64px;overflow:hidden;color:#7d8796;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM聊天窗口项>em.completed{color:#18864b}
body[data-current-page="im"] .IM聊天窗口项>em.running{color:#1664ff}
body[data-current-page="im"] .IM聊天窗口项>em.failed{color:#c34141}
body[data-current-page="im"] .IM聊天窗口项:hover{background:#f7f9fc}

body[data-current-page="im"] .IM聊天窗口行 .IM聊天窗口项{padding-right:38px;border:0;background:transparent;box-shadow:none}
body[data-current-page="im"] .IM聊天窗口项.已选中{
  border-color:#2b76ed;
  background:#f4f8ff;
  color:#155bd5;
  box-shadow:0 0 0 1px #2b76ed;
}

body[data-current-page="im"] .IM聊天窗口行.已选中 .IM聊天窗口项{color:#155bd5}
body[data-current-page="im"] .IM聊天窗口行.新建中 .IM聊天窗口项{padding-right:9px}
body[data-current-page="im"] .IM窗口任务删除{
  position:absolute;
  top:7px;
  right:7px;
  z-index:1;
  width:24px;
  height:24px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#98a2b3;
  font-size:15px;
  cursor:pointer;
}
body[data-current-page="im"] .IM窗口任务删除:hover{background:#fff0f0;color:#b43b3b}
body[data-current-page="im"] .IM窗口任务删除:disabled{opacity:.55}
body[data-current-page="im"] .IM窗口隐私说明{margin:0;padding:9px 11px;border-top:1px solid #edf0f4;background:#fafbfc;color:#9098a5;font-size:9px;line-height:1.5}
body[data-current-page="im"] .IM窗口,
body[data-current-page="im"] .IM任务面板{min-width:0}
/* 销售 IM 以对话框为唯一上下文，不再为窗口内任务保留轮次标签行。 */
body[data-current-page="im"] .IM窗口{grid-template-rows:minmax(0,1fr) auto}
body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])){grid-template-columns:minmax(0,1fr) auto}
@media(min-width:761px) and (max-width:900px){
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) textarea{
    grid-column:1/-1;
    grid-row:1;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) .IM任务配置板块{
    grid-column:1;
    grid-row:2;
    width:min(260px,100%);
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) #IM提交按钮{
    grid-column:2;
    grid-row:2;
    align-self:end;
  }
}
/* 电脑端两个工作台的两个任务栏目共用单行底部操作区。 */
@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])){
    grid-template-columns:minmax(128px,.72fr) minmax(0,3.28fr) auto;
    align-items:end;
    gap:16px;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) .IM任务配置板块{
    grid-column:1;
    grid-row:1;
    width:100%;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) textarea{
    grid-column:2;
    grid-row:1;
    height:48px;
    min-height:48px;
    max-height:48px;
    overflow:auto;
    resize:none;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])) #IM提交按钮{
    grid-column:3;
    grid-row:1;
    height:48px;
    align-self:end;
  }
}
/* IM 聊天式任务展示：消息流与左侧会话行都不再使用独立任务卡片框。 */
body[data-current-page="im"] .IM任务消息组.已选中{border-radius:0;outline:0;outline-offset:0}

/* 平板保留堆叠；电脑端继续使用前述“任务栏目 + 三项参数”单横排合同。 */
@media(min-width:761px) and (max-width:900px){
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM任务配置板块{
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }
  body[data-current-page="im"] .IM输入区:has(#IM输入[hidden]) .IM小红书选项{
    grid-column:1;
    width:100%;
  }
}

@media(max-width:1179px) and (min-width:761px){
  body[data-current-page="im"] .IM页面:not([hidden]){grid-template-columns:168px minmax(0,1fr) 260px;gap:9px}
  body[data-current-page="im"] .IM聊天窗口项{grid-template-columns:minmax(0,1fr) auto}
  body[data-current-page="im"] .IM聊天窗口项>em{max-width:100%}
}

@media(max-width:760px){
  body[data-current-page="im"] .IM页面:not([hidden]){display:block;padding:6px;overflow:auto}
  body[data-current-page="im"] .IM窗口导航{height:auto;margin-bottom:7px;grid-template-rows:auto auto auto auto;border-radius:var(--workbench-action-radius)}
  body[data-current-page="im"] .IM窗口导航标题{min-height:40px;padding:6px 8px 6px 10px}
  body[data-current-page="im"] .IM聊天窗口列表{padding:6px;display:flex;flex-direction:row;gap:6px;overflow-x:auto}
  body[data-current-page="im"] .IM聊天窗口项{width:150px;min-height:50px;flex:0 0 150px;padding:7px;grid-template-columns:minmax(0,1fr) auto}
  body[data-current-page="im"] .IM聊天窗口行{flex:0 0 150px}
  body[data-current-page="im"] .IM聊天窗口行 .IM聊天窗口项{width:150px}
  body[data-current-page="im"] .IM聊天窗口项>em{max-width:100%}
  body[data-current-page="im"] .IM窗口隐私说明{display:none}
}

/* 手机端采用聊天窗口一级页、具体对话二级页，并移除与窗口无关的网站导航。 */
@media(max-width:760px){
  body[data-current-page="im"]{--site-navigation-height:0px}
  body[data-current-page="im"] .网站导航栏{display:none}
  body[data-current-page="im"] .IM页面:not([hidden]){top:0}
  body[data-current-page="im"] .IM页面:not([hidden]){height:calc(100dvh - var(--site-navigation-height));overflow:hidden}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM窗口{display:none}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM任务面板{display:none}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM窗口导航{
    height:calc(100dvh - var(--site-navigation-height) - 12px);
    margin:0;
    grid-template-rows:auto minmax(0,1fr) auto auto;
  }
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM聊天窗口列表{
    min-height:0;
    padding:8px;
    display:flex;
    flex-direction:column;
    gap:6px;
    overflow:auto;
  }
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM聊天窗口项{width:100%;min-height:62px;flex:0 0 auto;padding:10px;grid-template-columns:minmax(0,1fr) auto}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM聊天窗口行{width:100%;flex:0 0 auto}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM聊天窗口行 .IM聊天窗口项{width:100%}
  body[data-current-page="im"] .IM页面[data-mobile-view="windows"] .IM窗口隐私说明{display:block}
  body[data-current-page="im"] .IM页面[data-mobile-view="conversation"] .IM窗口导航{display:none}
  body[data-current-page="im"] .IM页面[data-mobile-view="conversation"] .IM任务面板{display:none}
  body[data-current-page="im"] .IM页面[data-mobile-view="conversation"] .IM窗口{display:grid;height:calc(100dvh - var(--site-navigation-height) - 12px);grid-template-rows:auto minmax(0,1fr) auto}
  body[data-current-page="im"] .IM页面[data-mobile-view="conversation"] .IM移动对话栏{
    min-height:44px;
    padding:6px 8px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"back title";
    align-items:center;
    gap:8px;
    border-bottom:1px solid #edf0f4;
    background:#fff;
  }
  body[data-current-page="im"] .IM移动对话栏>button{grid-area:back;display:block;min-height:32px;padding:0 8px;border:0;border-radius:var(--workbench-action-radius);background:#f4f7fb;color:#1664ff;font-size:12px;font-weight:700}
  body[data-current-page="im"] .IM移动对话栏>strong{grid-area:title;text-align:right}
}

/* WB-XHS-TEMPLATE-DIRECT-CANVAS-20260813-01：放大主画布，当前区域在右栏顶部调节。 */
.模板画布外框{
  padding:38px 20px 20px;
}
.模板层级标尺,.模板区域尺寸{
  display:none;
}
.模板画布外框 .课程模板画布.分层模板画布{
  border:0;
  border-radius:0;
  box-shadow:none;
  touch-action:none;
}
.模板画布外框 .模板文字层{
  cursor:move;
  touch-action:none;
}
.模板画布外框 .模板文字层>.模板区域文字{
  position:relative;
  display:inline-block;
  width:fit-content;
  min-width:1em;
  max-width:100%;
  height:auto;
  min-height:1em;
  overflow:visible;
  vertical-align:top;
  text-align:inherit;
  pointer-events:auto;
}
.模板画布外框 .模板文字层:not(.当前文字区域){
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.模板画布外框 .模板文字层:not(.当前文字区域):focus-visible{
  outline:none;
}
.模板画布外框 .模板文字层.当前文字区域{
  border:0;
  background:transparent;
  outline:0;
  box-shadow:none;
}
.模板画布外框 .模板文字层.当前文字区域>.模板区域文字{
  outline:2px solid #1664ff;
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(255,255,255,.88),0 0 0 6px rgba(22,100,255,.18);
}
.模板画布外框 .模板文字层.当前文字区域>.模板区域文字::after{
  content:"";
  position:absolute;
  right:-7px;
  bottom:-7px;
  width:14px;
  height:14px;
  border:2px solid #fff;
  border-radius:50%;
  background:#1664ff;
  box-shadow:0 0 0 1px #1664ff;
  cursor:nwse-resize;
}
.模板画布外框 .模板文字层.正在直接调整{
  cursor:grabbing;
}
.模板文字区域标签内容{
  position:sticky;
  z-index:3;
  top:96px;
  align-self:start;
  background:#fff;
  box-shadow:0 8px 16px rgba(15,23,42,.04);
}
.模板当前槽位编辑器{
  min-height:0;
}
.模板当前槽位编辑器>.当前文字区域卡{
  padding:10px;
  border-color:#8bb2ff;
  background:#fff;
  box-shadow:0 0 0 1px #edf3ff;
}
.模板画布外框 .模板文字层.模板区域越界,
.模板画布外框 .模板文字层.模板区域越界.当前文字区域{
  outline:0;
  background:transparent;
  box-shadow:none;
}
.模板画布外框 .模板文字层.模板区域越界.当前文字区域>.模板区域文字{
  outline-color:#e5484d;
  background:rgba(229,72,77,.08);
  box-shadow:0 0 0 4px rgba(255,255,255,.9),0 0 0 6px rgba(229,72,77,.22);
}
.模板画布外框 .模板文字层.模板区域越界.当前文字区域>.模板区域文字::after{
  background:#e5484d;
  box-shadow:0 0 0 1px #e5484d;
}
.模板当前槽位编辑器>.当前文字区域卡.文字区域越界卡{
  border-color:#f0a1a4;
  box-shadow:0 0 0 1px #ffe3e4;
}
.模板安全区问题{
  margin:0;
  padding:7px 9px;
  border:1px solid #f2b8ba;
  border-radius:var(--workbench-action-radius);
  background:#fff3f3;
  color:#b4232a;
  font-size:10px;
  line-height:1.45;
}
.模板页面操作{
  display:grid;
  grid-template-columns:minmax(110px,1fr) auto auto auto;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 0;
  border-top:1px solid #e7ebf1;
  color:#697689;
  font-size:10px;
}
.模板页面操作>label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px}.模板页面操作>label span{white-space:nowrap}.模板页面操作>button:not(.模板页面删除操作){min-height:30px;padding:0 10px;border:1px solid #c8d9f8;border-radius:var(--workbench-action-radius);background:#fff;color:#1664ff}
.模板页面删除操作{
  min-height:30px;
  padding:0 10px;
  border:1px solid #efb6b8;
  border-radius:var(--workbench-action-radius);
  background:#fff;
  color:#b43b3b;
}
.模板页面删除操作:disabled{
  border-color:#e2e6ec;
  color:#9aa3af;
  cursor:not-allowed;
}
@media(max-width:760px){.模板页面操作{grid-template-columns:1fr 1fr}.模板页面操作>label,.模板页面操作>span{grid-column:1/-1}}
.模板拖拽提示{
  margin:0;
  padding:7px 9px;
  border-radius:var(--workbench-action-radius);
  background:#f3f7ff;
  color:#52657f;
  font-size:9px;
  line-height:1.45;
}
.模板无可见区域{
  margin:0;
  padding:16px 10px;
  color:#7d8998;
  font-size:10px;
  text-align:center;
}
@media(min-width:1181px){
  .模板画布外框{
    width:min(calc(100% - 16px),600px,calc((100dvh - 360px)*.75));
  }
  .模板分页条{
    width:min(calc(100% - 16px),600px,calc((100dvh - 360px)*.75));
  }
}
@media(max-width:1180px) and (min-width:761px){
  .模板画布外框{
    width:min(calc(100% - 12px),400px,calc((100dvh - 340px)*.75));
  }
  .模板分页条{
    width:min(calc(100% - 12px),400px);
  }
}

/* 2026-08-13 IM Codex 式任务进度：按真实事件逐环节累计展示，不提前渲染等待环节。 */
body[data-current-page="im"] .任务状态气泡{
  margin:13px 0 0;
  align-items:flex-start;
}
body[data-current-page="im"] .任务状态气泡>div{
  min-width:0;
  padding-top:2px;
}
body[data-current-page="im"] .任务状态气泡 .任务状态指标{
  margin:10px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
}
body[data-current-page="im"] .任务状态气泡 .任务状态指标>div{
  display:flex;
  align-items:baseline;
  gap:5px;
}
body[data-current-page="im"] .任务状态气泡 .任务状态指标 dt{
  color:var(--music-text-muted);
  font-size:11px;
}
body[data-current-page="im"] .任务状态气泡 .任务状态指标 dd{
  margin:0;
  color:var(--music-text-secondary);
  font-size:11px;
  font-weight:650;
}
body[data-current-page="im"] .任务状态气泡 .任务状态指标 .任务耗时{
  color:inherit;
  font:inherit;
  white-space:nowrap;
}
body[data-current-page="im"] .聊天任务进度{
  width:min(760px,calc(100% - 52px));
  max-width:none;
  max-height:none;
  margin:13px 0 0 52px;
  padding:0 0 20px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .聊天过程头{
  min-width:0;
  padding:0 0 10px 66px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
body[data-current-page="im"] .聊天过程头>div{min-width:0;display:grid;gap:3px}
body[data-current-page="im"] .聊天过程头 span{color:#7b8796;font-size:10px}
body[data-current-page="im"] .聊天过程头 strong{color:#27364a;font-size:13px}
body[data-current-page="im"] .聊天过程消息流{
  position:relative;
  max-height:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
  overflow:visible;
  list-style:none;
}
body[data-current-page="im"] .聊天过程消息流::before{
  content:"";
  position:absolute;
  left:54px;
  top:7px;
  bottom:11px;
  width:1px;
  display:block;
  background:#d5dde7;
}
body[data-current-page="im"] .过程消息{
  position:relative;
  min-width:0;
  min-height:44px;
  padding:0 0 15px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
body[data-current-page="im"] .过程消息 time{
  padding-top:2px;
  color:#8a93a3;
  font-size:9px;
  font-variant-numeric:tabular-nums;
  line-height:1.4;
  text-align:right;
}
body[data-current-page="im"] .过程消息>div,
body[data-current-page="im"] .过程消息.running>div,
body[data-current-page="im"] .过程消息.failed>div{
  position:relative;
  min-width:0;
  padding:0 8px 0 0;
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-current-page="im"] .过程消息>div::before{
  content:"";
  position:absolute;
  left:-15px;
  top:3px;
  width:7px;
  height:7px;
  display:block;
  border:2px solid #fff;
  border-radius:50%;
  background:#98a2b3;
  box-shadow:0 0 0 1px #cbd5e1;
}
@media(min-width:761px){
  body[data-current-page="im"] .过程消息::after{display:none}
}
body[data-current-page="im"] .过程消息>div>span{
  display:inline-flex;
  float:right;
  margin:0 0 3px 10px;
  color:#7b8796;
  font-size:9px;
}
body[data-current-page="im"] .过程消息 strong{
  display:block;
  color:#27364a;
  font-size:12px;
  line-height:1.45;
  white-space:normal;
}
body[data-current-page="im"] .过程消息标题{
  min-width:0;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
}
body[data-current-page="im"] .过程消息标题 strong{display:inline-block}
body[data-current-page="im"] .过程消息标题 .过程消息秒数{
  padding:0;
  color:#1664ff;
  font-size:10px;
  font-style:normal;
  font-variant-numeric:tabular-nums;
  font-weight:650;
  line-height:1.45;
  text-align:left;
  white-space:nowrap;
}
body[data-current-page="im"] .过程消息.running .过程消息秒数.动态{animation:IM运行状态文字呼吸 1.2s ease-in-out infinite}
body[data-current-page="im"] .过程消息 p{
  margin:4px 0 0;
  overflow:visible;
  color:#667386;
  font-size:11px;
  line-height:1.55;
  text-overflow:clip;
  white-space:normal;
}
body[data-current-page="im"] .过程消息.completed>div::before{background:#22a06b}
body[data-current-page="im"] .过程消息.completed>div>span{color:#18864b}
body[data-current-page="im"] .过程消息.running>div::before{background:#1664ff;box-shadow:0 0 0 1px #8eb4ff}
body[data-current-page="im"] .过程消息.running>div>span,
body[data-current-page="im"] .过程消息.running strong{color:#1664ff}
body[data-current-page="im"] .过程消息.failed>div::before{background:#c24141;box-shadow:0 0 0 1px #e3a7a7}
body[data-current-page="im"] .过程消息.failed>div>span,
body[data-current-page="im"] .过程消息.failed strong{color:#b43b3b}
body[data-current-page="im"] .过程消息错误{display:block;margin-top:4px;color:#b43b3b;font-size:9px}
body[data-current-page="im"] .聊天任务底部摘要{
  margin:8px 0 0 66px;
  padding:8px 0 0;
  border-top:1px solid #edf0f4;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:18px;
}
body[data-current-page="im"] .任务模型用量{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  color:#667386;
  font-size:10px;
  line-height:1.5;
}
body[data-current-page="im"] .任务模型用量 header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
body[data-current-page="im"] .任务模型用量 header strong{color:#27364a;font-size:11px}
body[data-current-page="im"] .任务模型用量 header span{color:#7b8796;font-size:9px}
body[data-current-page="im"] .任务模型用量 ol{margin:6px 0 0;padding:0;display:grid;gap:6px;list-style:none}
body[data-current-page="im"] .任务模型用量 li{padding:6px 0;border-bottom:1px solid #f0f3f7;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px}
body[data-current-page="im"] .任务模型用量 li div{min-width:0;display:flex;flex-wrap:wrap;gap:4px 7px;align-items:baseline}
body[data-current-page="im"] .任务模型用量 li b{color:#1664ff;font-size:9px}
body[data-current-page="im"] .任务模型用量 code{min-width:0;overflow-wrap:anywhere;color:#4b5b70;font:inherit}
body[data-current-page="im"] .任务模型用量 .任务模型身份{display:inline-flex;flex-wrap:wrap;gap:4px;color:#7b8796}
body[data-current-page="im"] .任务模型用量 .任务模型身份 code+code::before{content:"·";margin-right:4px;color:#a1aab7}
body[data-current-page="im"] .任务模型用量 li>p{margin:0;color:#4b5b70;white-space:nowrap}
body[data-current-page="im"] .任务模型用量 p{margin:5px 0 0;color:#4b5b70}
body[data-current-page="im"] .任务模型用量 .任务模型费用{margin-top:2px;color:#7b8796}body[data-billing-mode="paused"] :is(.任务模型费用,[data-image-background-price],.任务模型用量>small){display:none!important}
body[data-current-page="im"] .任务模型用量 small{display:block;margin-top:2px;color:#8a93a3;font-size:9px}
body[data-current-page="im"] .任务结果摘要{margin-top:9px;padding-top:8px;border-top:1px solid #edf0f4;color:#667386;font-size:10px;line-height:1.5}
body[data-current-page="im"] .任务结果摘要>strong{color:#27364a;font-size:11px}
body[data-current-page="im"] .任务结果摘要 dl{margin:5px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px}
body[data-current-page="im"] .任务结果摘要 dl div{display:flex;gap:4px}
body[data-current-page="im"] .任务结果摘要 dt{color:#8a93a3}
body[data-current-page="im"] .任务结果摘要 dd{margin:0;color:#27364a;font-variant-numeric:tabular-nums}
body[data-current-page="im"] .任务结果摘要 p{margin:4px 0 0}
body[data-current-page="im"] .任务结果摘要 small{display:block;margin-top:2px;color:#8a93a3;font-size:9px}
body[data-current-page="im"] .聊天任务重跑{margin:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:5px;text-align:right}
body[data-current-page="im"] .聊天任务重跑 button{min-height:30px;padding:0 14px;border:1px solid #2b76ed;border-radius:var(--workbench-action-radius);background:#fff;color:#1769e0;font:600 11px/1 system-ui,sans-serif;cursor:pointer}
body[data-current-page="im"] .聊天任务重跑 button:hover{background:#f3f7ff}
body[data-current-page="im"] .聊天任务重跑 button:disabled{cursor:wait;opacity:.65}
body[data-current-page="im"] .聊天任务重跑 span{color:#8a93a3;font-size:10px}
body[data-current-page="im"] .聊天过程元信息{
  margin:1px 0 0 66px;
  padding-top:9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:baseline;
  gap:5px 14px;
  border-top:1px solid #edf0f4;
  color:#8a93a3;
  font-size:10px;
  line-height:1.45;
}
body[data-current-page="im"] .聊天过程元信息 .任务状态来源{min-width:0;overflow-wrap:anywhere}
body[data-current-page="im"] .聊天过程元信息 .任务耗时{color:#1664ff;font:inherit;white-space:nowrap}
body[data-current-page="im"] .聊天过程元信息 .任务最后回读{color:inherit;font:inherit;white-space:nowrap}
body[data-current-page="im"] .过程等待{margin:0 0 0 66px;padding:8px 0;border:0;background:transparent;text-align:left}
body[data-current-page="im"] .过程等待 strong,
body[data-current-page="im"] .过程等待 span{display:block}
body[data-current-page="im"] .过程等待 span{margin-top:3px;color:#7b8796;font-size:10px}
@media(max-width:760px){
  body[data-current-page="im"] .任务状态气泡{max-width:none;margin-top:10px}
  body[data-current-page="im"] .聊天任务进度{width:100%;margin-left:0}
  body[data-current-page="im"] .聊天过程头{padding-left:56px;display:grid}
  body[data-current-page="im"] .聊天过程消息流::before{left:44px}
  body[data-current-page="im"] .过程消息{grid-template-columns:36px minmax(0,1fr);gap:18px}
  body[data-current-page="im"] .过程消息>div::before{left:-13px}
  body[data-current-page="im"] .聊天任务底部摘要{margin-left:56px;grid-template-columns:minmax(0,1fr)}
  body[data-current-page="im"] .任务模型用量 li{align-items:flex-start;grid-template-columns:minmax(0,1fr)}
  body[data-current-page="im"] .任务模型用量 li>p{white-space:normal}
  body[data-current-page="im"] .聊天过程元信息{margin-left:56px;grid-template-columns:minmax(0,1fr)}
  body[data-current-page="im"] .聊天任务重跑{align-items:flex-end;gap:5px}
  body[data-current-page="im"] .过程等待{margin-left:56px}
}

/* 2026-08-13 IM 运行态动效：只增强真实 running 状态，不生成或推算进度。 */
body[data-current-page="im"] .IM任务概览.运行中 .IM进度条 i{
  background:linear-gradient(90deg,#1664ff 0%,#4b8cff 38%,#a9c9ff 50%,#4b8cff 62%,#1664ff 100%)!important;
  background-size:220% 100%!important;
  animation:IM运行进度流光 1.8s linear infinite;
  transition:width .55s cubic-bezier(.2,.8,.2,1);
}
body[data-current-page="im"] .IM任务概览.运行中>div>strong,
body[data-current-page="im"] .IM任务概览.运行中>b,
body[data-current-page="im"] .IM聊天窗口项 em.running,
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running em,
body[data-current-page="im"][data-im-task-state="running"] .销售任务单行状态 span,
body[data-current-page="im"] .聊天任务进度.running .聊天过程头 strong{
  animation:IM运行状态文字呼吸 1.65s ease-in-out infinite;
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running i{
  animation:IM运行节点呼吸 1.65s ease-in-out infinite;
}
body[data-current-page="im"] .过程消息.running strong{
  width:fit-content;
  max-width:100%;
  background:linear-gradient(105deg,#1664ff 0%,#1664ff 34%,#8eb8ff 44%,#f3f7ff 50%,#8eb8ff 56%,#1664ff 66%,#1664ff 100%);
  background-size:260% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:IM运行任务文字浮光 3.2s linear infinite;
}
@keyframes IM运行进度流光{
  from{background-position:100% 0}
  to{background-position:-120% 0}
}
@keyframes IM运行状态文字呼吸{
  0%,100%{opacity:.68;text-shadow:0 0 0 rgba(22,100,255,0)}
  50%{opacity:1;text-shadow:0 0 10px rgba(22,100,255,.2)}
}
@keyframes IM运行节点呼吸{
  0%,100%{transform:scale(.92);filter:saturate(.9)}
  50%{transform:scale(1.08);filter:saturate(1.15)}
}
@keyframes IM运行任务文字浮光{
  from{background-position:130% 0}
  to{background-position:-130% 0}
}
@media(prefers-reduced-motion:reduce){
  body[data-current-page="im"] .IM任务概览.运行中 .IM进度条 i,
  body[data-current-page="im"] .IM任务概览.运行中>div>strong,
  body[data-current-page="im"] .IM任务概览.运行中>b,
  body[data-current-page="im"] .IM聊天窗口项 em.running,
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running em,
  body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running i,
  body[data-current-page="im"][data-im-task-state="running"] .销售任务单行状态 span,
  body[data-current-page="im"] .聊天任务进度.running .聊天过程头 strong,
  body[data-current-page="im"] .过程消息.running .过程消息秒数.动态,
  body[data-current-page="im"] .过程消息.running strong{
    animation:none!important;
    transition:none!important;
    transform:none;
    filter:none;
    text-shadow:none;
  }
  body[data-current-page="im"] .过程消息.running strong{
    background:none;
    color:#1664ff;
    -webkit-text-fill-color:currentColor;
  }
}

/* 2026-08-14 工作日志：按任务栏目切换，各栏目独立展示自己的全部任务日志。 */
body[data-current-page="featurelog"] #打开日志{display:none!important}
body[data-current-page="featurelog"] .环节画布{
  inset:0;
  padding:calc(var(--site-navigation-height,64px) + 76px) 24px 28px;
  display:block;
  overflow:auto;
  cursor:default;
  scrollbar-width:thin;
}
body[data-current-page="featurelog"] .环节轨道{
  width:100%;
  min-width:0;
  display:block;
  transform:none!important;
  filter:none;
}
.工作日志页面{width:min(1120px,100%);margin:0 auto;color:#1f2937}
.工作日志页头{padding:0 2px 18px}
.工作日志页头 small{color:#8a93a1;font-size:10px}
.工作日志页头 h1{margin:5px 0 4px;font-size:24px;font-weight:680;letter-spacing:-.02em}
.工作日志页头 p{margin:0;color:#6b7280;font-size:11px;line-height:1.6}
.上传模板自动修复配置{margin:0 0 18px;padding:16px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary);display:grid;gap:10px}
.上传模板自动修复配置 header{display:flex;align-items:start;justify-content:space-between;gap:16px}
.上传模板自动修复配置 header small{color:var(--workbench-text-muted);font-size:9px}
.上传模板自动修复配置 h2{margin:3px 0 0;font-size:14px;font-weight:660}
.上传模板自动修复配置 header>strong{padding:5px 9px;border-radius:var(--workbench-action-radius);background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text);font-size:9px}
.上传模板自动修复配置 header>strong.已关闭{background:var(--workbench-status-neutral-bg);color:var(--workbench-status-neutral-text)}
.上传模板自动修复配置 header>strong.受阻{background:var(--workbench-status-danger-bg);color:var(--workbench-status-danger-text)}
.上传模板自动修复配置>p{margin:0;color:var(--workbench-text-secondary);font-size:10px;line-height:1.65}
.上传模板自动修复表单{display:flex;align-items:end;gap:10px}
.上传模板自动修复表单 fieldset{margin:0;padding:0;border:0;display:flex;align-items:center;gap:8px}
.上传模板自动修复表单 legend{margin:0 0 5px;color:var(--workbench-text-secondary);font-size:9px}
.修复策略选项{position:relative;min-height:36px;padding:0 11px;display:flex;align-items:center;border:1px solid var(--workbench-border-strong);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-inset);color:var(--workbench-text-secondary);font-size:9px;cursor:pointer}
.修复策略选项 input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.修复策略选项.已选中,.修复策略选项:has(input:checked){border-color:var(--workbench-text-accent);background:var(--workbench-surface-selected);color:var(--workbench-text-accent)}
.修复策略选项:focus-within{box-shadow:var(--workbench-focus-ring);outline:none}
.上传模板自动修复表单 button{min-height:36px;padding:0 14px;border:0;border-radius:var(--workbench-action-radius);background:var(--feishu-color-primary);color:#fff;font-size:10px;font-weight:650;cursor:pointer}
.上传模板自动修复表单 button:disabled{opacity:.55;cursor:wait}
.上传模板自动修复只读{padding:8px 10px;border-radius:var(--workbench-action-radius);background:var(--workbench-surface-inset)}
.上传模板自动修复配置 output{color:var(--workbench-status-success-text);font-size:9px}
.上传模板自动修复配置 output.受阻{color:var(--workbench-status-danger-text)}
.工作日志栏目标签{display:flex;align-items:stretch;gap:24px;overflow-x:auto;border-bottom:1px solid #e5e7eb;scrollbar-width:thin}
.工作日志栏目标签 button{position:relative;flex:0 0 auto;padding:0 1px 11px;display:flex;align-items:baseline;gap:7px;border:0;border-radius:0;background:transparent;color:#667386;box-shadow:none;cursor:pointer}
.工作日志栏目标签 button::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:0;background:#1664ff;transform:scaleX(0);transition:transform .16s ease}
.工作日志栏目标签 button span{font-size:12px;font-weight:620;white-space:nowrap}
.工作日志栏目标签 button small{color:#98a2b3;font-size:9px;white-space:nowrap}
.工作日志栏目标签 button:focus-visible{color:#1664ff;background:transparent;box-shadow:none;transform:none}.工作日志栏目标签 button:hover{transform:none;}.工作日志栏目标签 button.已选中{transform:none;}
.工作日志栏目标签 button.已选中::after{transform:scaleX(1)}

.工作日志栏目面板{padding-top:14px}
.工作日志任务列表{display:grid;grid-template-columns:1fr;gap:12px}
.工作日志任务{min-width:0;padding:15px 16px;border:1px solid #e5e7eb;border-radius:var(--workbench-action-radius);background:#fff}
.工作日志任务>header{display:flex;align-items:start;justify-content:space-between;gap:18px}
.工作日志任务>header small{color:#7f8a99;font-size:9px}
.工作日志任务>header h2{margin:4px 0 0;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.工作日志任务>header>strong{flex:0 0 auto;padding:5px 9px;border-radius:var(--workbench-action-radius);background:#f2f5f9;color:#5e6878;font-size:10px;font-weight:650}
.工作日志任务.running>header>strong{background:#eef4ff;color:#1664ff}
.工作日志任务.failed>header>strong{background:#fff1f1;color:#b42318}
.工作日志任务.completed>header>strong{background:#edf8f3;color:#16794d}
.工作日志任务 dl{margin:12px 0 0;padding:9px 0;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;border-top:1px solid #f0f2f5;border-bottom:1px solid #f0f2f5}
.工作日志任务 dl div{min-width:0;display:grid;gap:2px}
.工作日志任务 dt{color:#98a2b3;font-size:8px;font-weight:600}
.工作日志任务 dd{margin:0;color:#667386;font-size:9px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.工作日志事件列表{margin:12px 0 0;padding:0;display:grid;gap:9px;list-style:none}
.工作日志事件{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:13px}
.工作日志事件 time{padding-top:2px;color:#98a2b3;font-size:9px;font-variant-numeric:tabular-nums;text-align:right}
.工作日志事件>span{position:relative;min-width:0;padding-left:15px}
.工作日志事件>span::before{content:"";position:absolute;top:7px;bottom:-16px;left:3px;width:1px;background:#e4e8ee}
.工作日志事件:last-child>span::before{display:none}
.工作日志事件 i{position:absolute;top:4px;left:0;width:7px;height:7px;border-radius:50%;background:#98a2b3}
.工作日志事件.completed i{background:#22a06b}.工作日志事件.running i{background:#1664ff}.工作日志事件.failed i{background:#c24141}
.工作日志事件 strong{display:block;color:#344054;font-size:10px;font-weight:650}
.工作日志事件 p{margin:3px 0 0;color:#667386;font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.工作日志事件 em{display:block;margin-top:3px;color:#b42318;font-size:9px;font-style:normal}
.工作日志事件.空{grid-template-columns:1fr}.工作日志事件.空>span{padding-left:0}.工作日志事件.空>span::before{display:none}
.工作日志空状态{padding:34px 18px;display:grid;gap:6px;border:1px dashed #d8dde6;border-radius:var(--workbench-action-radius);background:#fbfcfe;text-align:center}
.工作日志空状态 strong{font-size:12px}.工作日志空状态 span{color:#7f8a99;font-size:10px;line-height:1.5}
.工作日志空状态.受阻{border-color:#f2c9c5;background:#fffafa}.工作日志空状态.受阻 strong{color:#b42318}
@media(max-width:760px){
  body[data-current-page="featurelog"] .环节画布{padding:calc(var(--site-navigation-height,64px) + 70px) 12px 20px}
  .工作日志页头 h1{font-size:20px}
  .上传模板自动修复表单,.上传模板自动修复表单 fieldset{align-items:stretch;flex-direction:column}
  .上传模板自动修复表单 button{width:100%}
  .工作日志栏目标签{gap:18px}
  .工作日志任务{padding:13px}
  .工作日志任务 dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .工作日志事件{grid-template-columns:50px minmax(0,1fr);gap:10px}
}

/* 2026-08-14 模板规则三栏职责：左库、中展示与页面管理、右原子内容编辑。 */
.模板工作台{
  --模板右栏宽度:420px;
  position:relative;
  grid-template-columns:280px minmax(440px,1fr) 420px;
}
.模板中栏页面管理{
  width:min(calc(100% - 16px),600px,calc((100dvh - 360px)*.75));
  display:grid;
  gap:7px;
}
.模板展示摘要{
  margin:0;
  padding:8px 10px;
  display:grid;
  grid-template-columns:minmax(120px,1.5fr) repeat(3,minmax(72px,1fr));
  gap:8px;
  border:1px solid #e3e7ed;
  border-radius:var(--workbench-action-radius);
  background:#fff;
}
.模板展示摘要>div{min-width:0;display:grid;gap:2px}
.模板展示摘要 dt{color:#98a2b3;font-size:8px;font-weight:600}
.模板展示摘要 dd{margin:0;overflow:hidden;color:#47566a;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.模板中栏页面管理 .模板页面操作{
  margin:0;
  padding:8px 10px;
  grid-template-columns:minmax(118px,1fr) auto auto auto;
  border:1px solid #e3e7ed;
  border-radius:var(--workbench-action-radius);
  background:#fff;
}
.模板中栏页面管理 .模板页面状态{
  grid-column:1/-1;
  min-height:0;
  margin:0;
  padding-top:6px;
  border-top:1px solid #f0f2f5;
  color:#8993a1;
  line-height:1.4;
}
.模板原子编辑面板{
  min-height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:start;
}
.模板原子编辑标题{
  position:sticky;
  z-index:4;
  top:50px;
  padding:10px 12px;
  display:grid;
  gap:3px;
  border-bottom:1px solid #e7ebf1;
  background:#fff;
}
.模板原子编辑标题 span{color:#1f2937;font-size:12px;font-weight:680}
.模板原子编辑标题 strong{color:#8590a0;font-size:9px;font-weight:500;line-height:1.45}
.模板原子内容编辑{
  position:static;
  top:auto;
  min-height:0;
  padding:8px 10px 10px;
  background:#fff;
  box-shadow:none;
}
.模板原子内容编辑 .模板编辑历史栏{margin-top:0}
.模板原子内容编辑 .模板保存区{z-index:5}
@media(max-width:1259px) and (min-width:940px){
  .模板工作台{--模板右栏宽度:330px;grid-template-columns:230px minmax(360px,1fr) 330px}
  .模板中栏页面管理{width:min(calc(100% - 12px),400px)}
  .模板展示摘要{grid-template-columns:repeat(2,minmax(0,1fr))}
  .模板中栏页面管理 .模板页面操作{grid-template-columns:1fr 1fr}
  .模板中栏页面管理 .模板页面操作>label,.模板中栏页面管理 .模板页面操作>span{grid-column:1/-1}
}
@media(max-width:939px){
  .模板工作台{grid-template-columns:1fr}
  .模板中栏页面管理{width:min(100%,430px)}
  .模板原子编辑标题{position:static;top:auto}
}
@media(max-width:760px){
  .模板展示摘要{grid-template-columns:repeat(2,minmax(0,1fr))}
  .模板中栏页面管理 .模板页面操作{grid-template-columns:1fr 1fr}
}

/* 2026-08-14 模板规则桌面一屏：主页面不滚动，三栏核心操作在当前视口内完成。 */
@media(min-width:940px) and (min-height:760px){
  .模板工作台>.模板左栏,
  .模板工作台>.模板画布内容,
  .模板工作台>.模板右栏{
    overflow:hidden;
  }
  .模板画布内容{
    padding-bottom:0;
    gap:6px;
  }
  .模板画布外框,
  .模板分页条,
  .模板中栏页面管理{
    width:min(calc(100% - 16px),600px,calc((100dvh - 470px)*.75));
  }
  .模板画布外框{margin-top:4px;padding:30px 16px 14px}
  .模板安全区标签{top:9px;left:16px}
  .模板分页条{padding:5px 8px}
  .模板展示摘要{padding:6px 8px;gap:6px}
  .模板中栏页面管理{gap:5px}
  .模板中栏页面管理 .模板页面操作{padding:6px 8px;gap:6px}
  .模板中栏页面管理 .模板页面状态{padding-top:4px;font-size:8px;line-height:1.25}
  .模板预览声明{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .模板右栏 .课程右栏工具{min-height:40px;padding:6px 10px}
  .模板原子编辑面板{height:calc(100% - 40px);min-height:0;overflow:hidden}
  .模板原子编辑标题{
    position:static;
    top:auto;
    min-height:36px;
    padding:6px 10px;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:8px;
  }
  .模板原子编辑标题 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .模板原子内容编辑{height:100%;padding:5px 8px 7px;overflow:hidden}
  .模板原子内容编辑 .模板文字层面板{gap:4px}
  .模板原子内容编辑 .模板编辑历史栏{padding:3px 0}
  .模板原子内容编辑 .模板编辑历史栏 button{min-height:22px;padding:0 7px}
  .模板原子内容编辑 .模板当前槽位编辑器>.当前文字区域卡{padding:7px}
  .模板原子内容编辑 .模板拖拽提示{padding:4px 7px;line-height:1.3}
  .模板原子内容编辑 .模板文字层面板 textarea{min-height:38px;padding:5px 7px;resize:none}
  .模板原子内容编辑 .模板文字层面板 input[type="number"],
  .模板原子内容编辑 .模板文字层面板 input[type="color"],
  .模板原子内容编辑 .模板文字层面板 select{min-height:26px}
  .模板原子内容编辑 .模板字段网格{gap:4px 7px}
  .模板原子内容编辑 .模板字段网格 .模板勾选字段{min-height:26px}
  .模板原子内容编辑 .模板槽位操作 button{min-height:26px}
  .模板原子内容编辑 .模板保存区{gap:3px;padding-top:4px}
  .模板原子内容编辑 .模板保存区 .课程主按钮{min-height:30px}
}

/* 2026-08-14 模板属性检查器：内容区域选择、独立滚动右栏与底部主操作。 */
@media(min-width:1320px){
  .模板工作台{
    --模板右栏宽度:clamp(520px,38vw,620px);
    grid-template-columns:var(--课程左栏宽度) minmax(360px,1fr) 8px var(--模板右栏宽度);
    gap:8px;
  }
}
.模板栏分隔线{
  position:relative;
  width:8px;
  min-width:8px;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:col-resize;
  touch-action:none;
}
.模板栏分隔线::after{display:none}
.模板栏分隔线:focus-visible{outline:0}
body.正在调整模板右栏{cursor:col-resize;user-select:none}

.模板画布外框 .模板文字层.当前文字区域{
  outline:2px solid #1664ff;
  outline-offset:0;
}
.模板画布外框 .模板文字层.当前文字区域>.模板区域文字{outline:0;box-shadow:none}
.模板画布外框 .模板文字层.当前文字区域>.模板区域文字::after{display:none}
.模板画布外框 .模板文字层.模板区域越界.当前文字区域{outline-color:#e5484d}
.模板安全区可视线{position:absolute;inset:var(--安全区纵向) var(--安全区横向);border:1px dashed rgba(229,72,77,.72);pointer-events:none;z-index:3}

.模板画布快捷栏{
  width:min(calc(100% - 16px),600px,calc((100dvh - 470px)*.75));
  min-height:40px;
  padding:5px 7px 5px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  border-radius:0;
  background:transparent;
}
.模板画布快捷栏>span{min-width:0;display:grid;gap:1px}
.模板画布快捷栏>span strong{color:#263445;font-size:10px}
.模板画布快捷栏>span small{color:#929caa;font-size:8px}
.模板画布快捷栏>div{display:flex;gap:6px}
.模板画布快捷栏 button{width:30px;height:30px;padding:6px;border:0;border-radius:var(--workbench-action-radius);background:#edf3ff;color:#1664ff}
.模板画布快捷栏 button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.模板画布快捷栏 .模板快捷删除{background:#fff1f1;color:#b43b3b}
.模板画布快捷栏 button:disabled{background:#f2f3f5;color:#a2aab5}

.模板页面工作区{
  width:min(calc(100% - 16px),600px,calc((100dvh - 470px)*.75));
  min-width:0;
  overflow:hidden;
  border:1px solid #e3e7ed;
  border-radius:var(--workbench-action-radius);
  background:#fff;
}
.模板页面工作区 .模板分页条,.模板页面工作区 .模板中栏页面管理{width:100%;border:0;border-radius:0;background:transparent}
.模板页面工作区 .模板分页条{border-bottom:1px solid #edf0f4}
.模板中栏页面管理{display:grid;gap:0}
.模板页面摘要{min-width:0;padding:6px 9px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #edf0f4;color:#8b95a3;font-size:8px}
.模板页面摘要 strong{min-width:0;flex:1;overflow:hidden;color:#445166;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.模板页面摘要 span{flex:0 0 auto}
.模板页面工作区 .模板页面操作{padding:6px 8px;border:0}
.模板页码{padding:4px 6px;border-radius:var(--workbench-action-radius);background:#f2f5f9;color:#5f6c7e;font-variant-numeric:tabular-nums}
.模板预览声明{display:none}

.模板右栏{min-width:440px;overflow:hidden!important}
.模板原子编辑面板{height:calc(100% - 40px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.模板原子编辑标题{position:relative;z-index:5;box-shadow:0 1px 0 #edf0f4}
.模板原子内容编辑,.模板文字区域标签内容{height:100%;min-height:0;padding:0;overflow:hidden}
.模板文字层面板{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.模板编辑历史栏{position:relative;z-index:4;margin:0;padding:6px 10px;border-bottom:1px solid #edf0f4;background:#fff}
.模板当前槽位编辑器{min-height:0;padding:0 10px 8px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff}
.模板当前槽位编辑器>.当前文字区域卡{padding:0;border:0;background:transparent;box-shadow:none}
.当前文字区域卡>header{position:sticky;z-index:3;top:0;min-height:0;margin:0;padding:4px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;border:0;border-bottom:1px solid #edf0f3;border-radius:0;background:rgba(255,255,255,.96);box-shadow:none;backdrop-filter:blur(8px)}
.当前文字区域卡>header>strong{min-width:0;overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.当前文字区域卡>header>.模板槽位徽标{flex:0 0 auto;line-height:1.25}
.当前文字区域卡>header>.模板元素操作{flex:0 0 auto;display:flex;align-items:center;gap:4px}
.模板元素操作 button{width:25px;height:25px;padding:5px;border:0;border-radius:var(--workbench-action-radius);background:#edf3ff;color:#1664ff}
.模板元素操作 button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.模板元素操作 .模板元素删除操作{background:#fff1f1;color:#b43b3b}
.模板元素操作 button:disabled{background:#f2f3f5;color:#a2aab5}
.模板检查器分组{margin:0;border:0;border-bottom:1px solid #edf0f3;border-radius:0;background:#fff;box-shadow:none;overflow:visible}
.模板检查器分组>header{min-height:38px;padding:11px 0 5px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0}
.模板检查器分组>header>span,.模板高级设置 summary>span{display:grid;gap:2px}
.模板检查器分组>header strong,.模板高级设置 summary strong{color:#202936;font-size:10px;font-weight:750}
.模板检查器分组>header small,.模板高级设置 summary small{color:#98a1ae;font-size:8px;font-weight:500}
.模板分组标题勾选{flex:0 0 auto;display:flex;align-items:center;gap:6px;color:#596678;font-size:9px;font-weight:650;cursor:pointer;white-space:nowrap}
.模板检查器分组 .模板字段网格{padding:6px 0 12px;gap:8px}
.模板内容设置 .模板预览文字编辑{margin:0;padding:6px 0 0;border:0;background:transparent}
.模板内容设置 .模板预览文字编辑>span{color:#657184;font-size:9px;font-weight:650}
.模板内容设置 .模板预览文字编辑 textarea{margin-top:5px;min-height:56px}
.模板右栏 .模板文字层面板 input[type="number"],.模板右栏 .模板文字层面板 input[type="color"],.模板右栏 .模板文字层面板 select,.模板右栏 .模板文字层面板 textarea{border-color:transparent;background:#f3f5f7;box-shadow:inset 0 0 0 1px rgba(15,23,42,.025);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.模板右栏 .模板文字层面板 input[type="number"]:hover,.模板右栏 .模板文字层面板 input[type="color"]:hover,.模板右栏 .模板文字层面板 select:hover,.模板右栏 .模板文字层面板 textarea:hover{background:#eef1f4}
.模板右栏 .模板文字层面板 input[type="number"]:focus,.模板右栏 .模板文字层面板 select:focus,.模板右栏 .模板文字层面板 textarea:focus{border-color:#7aa7ff;background:#fff;box-shadow:0 0 0 2px #e7efff}
.模板右栏 .模板字段网格>label>span{color:#697487;font-size:8px;font-weight:650}
.模板右栏 .模板坐标控件{grid-template-columns:82px 22px;justify-content:start;gap:3px}
.模板横向拖动柄{width:22px;height:26px;padding:4px;border:0;border-radius:var(--workbench-action-radius);background:transparent;color:#8b95a3;cursor:ew-resize;touch-action:none}
.模板横向拖动柄 svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.模板横向拖动柄:hover,.模板横向拖动柄:focus-visible,.模板横向拖动柄.正在拖动{background:#eaf2ff;color:#1664ff;outline:0}
.模板横向拖动柄:disabled{color:#c3c8d0;cursor:not-allowed}
body.正在拖动模板字段{cursor:ew-resize;user-select:none}
@media(min-width:1320px){
  .模板右栏 .模板内容设置 .模板字段网格{grid-template-columns:repeat(3,minmax(0,1fr))}
  .模板右栏 .模板布局设置 .模板字段网格{grid-template-columns:repeat(4,minmax(0,1fr))}
  .模板右栏 .模板文字设置 .模板字段网格{grid-template-columns:repeat(3,minmax(0,1fr))}
  .模板右栏 .模板高级字段网格{grid-template-columns:repeat(4,minmax(0,1fr))}
  .模板右栏 .模板字段网格>label{min-width:0}
  .模板右栏 .模板字段网格 input,.模板右栏 .模板字段网格 select{min-width:0;width:100%}
  .模板右栏 .模板坐标控件{grid-template-columns:82px 22px;gap:3px}
}
.模板高级设置 summary{min-height:44px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
.模板高级设置 summary::-webkit-details-marker{display:none}
.模板高级设置 summary i{color:#7f8a99;font-size:16px;font-style:normal;transition:transform .16s ease}
.模板高级设置[open] summary{border-bottom:0}
.模板高级设置[open] summary i{transform:rotate(180deg)}
.模板槽位操作{margin-top:8px;padding:0;grid-template-columns:1fr 1fr}
.模板保存区{position:relative;z-index:6;margin:0;padding:8px;border-top:1px solid #e7eaf0;background:#fff;box-shadow:none}
.模板保存区 .课程主按钮{min-height:38px;border-radius:var(--workbench-action-radius)}

.模板左栏{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding-bottom:10px!important;overflow:hidden!important}
.模板左栏 .模板库动作,.模板左栏 .模板同步状态,.模板左栏 .课程数据归属,.模板左栏 .课程低频入口{display:none}
.模板左栏 .模板侧栏列表{min-height:0;overflow:auto;overscroll-behavior:contain}
@media(min-width:761px){.模板左栏 .模板侧栏列表{height:100%;max-height:none;align-self:stretch;scroll-padding-block:7px 14px}}
.模板左栏 .查看全部模板{position:sticky;z-index:4;bottom:0;width:calc(100% - 20px);min-height:38px;margin:8px 10px 0;border:0;background:#1664ff;color:#fff;box-shadow:0 -6px 16px rgba(15,23,42,.06)}
.模板左栏 .查看全部模板:hover,.模板左栏 .查看全部模板:focus-visible{background:#0f56dc}

@media(max-width:1319px){
  .模板栏分隔线{display:none}
  .模板右栏{min-width:0}
}
@media(max-width:1319px) and (min-width:940px){
  .模板工作台{grid-template-columns:var(--课程左栏宽度) minmax(360px,1fr) 330px}
}
@media(max-width:939px){
  .模板工作台{grid-template-columns:1fr}
  .模板画布快捷栏,.模板页面工作区{width:min(100%,430px)}
  .模板右栏{max-height:80dvh!important}
}

/* 2026-08-14 模板画布聚焦：移除中栏说明卡，分页透明贴底，页面设置归右栏。 */
.模板画布内容{align-content:start}
.模板分页条{
  width:min(calc(100% - 12px),600px,calc((100dvh - 310px)*.75));
  min-width:0;
  min-height:104px;
  padding:4px 0 0;
  justify-content:safe center;
  align-items:flex-start;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  scrollbar-width:thin;
}
.模板页面缩略项{width:64px;min-width:64px;display:grid;align-content:start;justify-items:center;gap:4px;background:transparent}
.模板页面缩略项 .课程模板页缩略{width:64px;padding:0;border:0;background:transparent;box-shadow:none}
.模板页面缩略项 .课程模板页缩略>span{margin-top:3px}
.模板页内容区域操作{min-height:26px;margin:0;display:flex;align-items:center;justify-content:center;gap:4px;background:transparent}
.模板页内容区域操作 button{width:25px;height:25px;padding:5px;border:0;border-radius:var(--workbench-action-radius);background:#edf3ff;color:#1664ff}
.模板页内容区域操作 button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.模板页内容区域操作>.模板页面删除操作{background:#fff1f1;color:#b43b3b}
.模板页内容区域操作 button:disabled{background:#f2f3f5;color:#a2aab5}

.模板右栏{position:relative;display:block!important;overflow:visible!important}
.模板右栏>.模板主编辑区 .模板原子编辑标题{display:none!important}
.模板右栏>.模板主编辑区{position:absolute;inset:0;height:auto!important;min-height:0}
.模板画布外框{padding:30px 16px 14px}
.模板画布外框{display:grid}
.模板安全区标签{top:9px;left:16px}
.模板画布外框>.课程模板画布,.模板画布外框>.模板画布页面删除操作{grid-area:1/1}
.模板画布页面删除操作{position:relative;z-index:7;width:32px;height:32px;align-self:start;justify-self:end;margin:8px;pointer-events:none}
.模板画布页面删除操作>.模板页面删除操作{width:32px;height:32px;min-height:0;padding:7px;border:0;border-radius:var(--workbench-action-radius);background:rgba(255,241,241,.94);color:#b43b3b;box-shadow:0 1px 4px rgba(15,23,42,.12);pointer-events:auto}
.模板画布页面删除操作>.模板页面删除操作 svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.模板画布页面删除操作>.模板页面删除操作:disabled{background:rgba(242,243,245,.9);color:#a2aab5;box-shadow:none;cursor:not-allowed}
.模板右栏 .模板文字区域标签内容{position:static;top:auto;align-self:stretch}
.模板原子编辑面板[hidden]{display:none!important}
.模板右栏 .模板原子编辑面板{height:100%}
@media(min-width:940px) and (min-height:760px){
  .模板画布内容{gap:8px}
  .模板画布外框,.模板分页条{width:min(calc(100% - 12px),600px,calc((100dvh - 310px)*.75))}
  .模板画布外框{margin-top:0}
}
@media(max-width:939px){
  .模板画布外框,.模板分页条{width:min(100%,500px)}
  .模板右栏{display:block!important;min-height:520px}
  .模板右栏>.模板主编辑区{position:relative;inset:auto;min-height:520px}
}
@media(max-width:520px){
  .模板画布外框{padding:38px 16px 14px}
  .模板安全区标签{top:12px}
}

/* 2026-08-14 模板编辑器：保存状态与主操作横向并排。 */
.模板文字层面板>.模板保存区{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.模板文字层面板>.模板保存区 .课程表单状态{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.模板文字层面板>.模板保存区 .课程主按钮{width:auto;min-width:240px;padding-inline:18px}
@media(max-width:939px){
  .模板文字层面板>.模板保存区{grid-template-columns:1fr}
  .模板文字层面板>.模板保存区 .课程主按钮{width:100%;min-width:0}
}

/* 内容数据库规范名称与来源标签编辑器。 */
.IM内容数据库字段>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.IM内容数据库字段>span button{padding:2px 7px;border:0;background:transparent;color:#1664ff;font:inherit;cursor:pointer}
.IM内容数据库编辑状态{min-height:20px;color:#687386;font-size:12px}
.IM内容数据库编辑状态.失败{color:#b42318}
.IM内容数据库编辑状态.成功{color:#067647}

/* 2026-08-16：三个小红书栏目共用同一套飞书式字段结构，不再按场景嵌套独立边框。 */
body[data-current-page="im"] .IM需求字段{display:contents}
body[data-current-page="im"] .IM需求字段>span{display:none}
body[data-current-page="im"] .IM输入区[data-xhs-form]{
  --im-xhs-control-font-size:var(--feishu-font-size-control-default,13px);
  --im-xhs-control-line-height:var(--feishu-line-height-control-default,20px);
  width:auto;
  margin:0 14px 12px!important;
  padding:14px 16px 12px!important;
  align-items:start!important;
  gap:12px!important;
  border:1px solid var(--feishu-color-border,#e5e7eb)!important;
  border-radius:var(--workbench-action-radius);
  background:var(--feishu-color-bg-1,#f7f8fa)!important;
  box-shadow:none;
  overflow:visible!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM任务配置板块,
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM小红书选项{
  display:contents!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM小红书选项>.仅屏幕阅读{display:none!important}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏,
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM表单字段,
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM需求字段{
  min-width:0;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start;
  align-self:start!important;
  gap:6px!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏 .IM栏目选择{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:16px 40px!important;
  align-content:start;
  gap:6px!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM表单字段,.IM需求字段){
  grid-template-rows:16px 40px!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM栏目选择,.IM表单字段,.IM需求字段)>span{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  height:16px!important;
  min-height:16px;
  color:var(--feishu-color-text-2,#667085);
  font-size:11px!important;
  font-weight:650!important;
  line-height:16px!important;
  text-align:left!important;
  white-space:nowrap;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM字段标题{
  position:relative;
  width:max-content!important;
  max-width:100%;
  display:flex!important;
  align-items:center;
  justify-content:flex-start!important;
  gap:4px;
  font-size:11px!important;
  font-weight:650!important;
  line-height:16px!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM字段标题>span{
  min-width:0;
  overflow:hidden;
  font:inherit;
  text-overflow:ellipsis;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板字段标题{
  width:100%!important;
  display:flex!important;
  align-items:center;
  justify-content:space-between!important;
  gap:8px;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM表单字段,.IM需求字段)>span.IM模板字段标题{
  justify-content:space-between!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板字段标题 .IM字段标题{flex:0 1 auto}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板字段标题>button{
  flex:0 0 auto;
  height:16px;
  min-height:16px;
  max-height:16px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  appearance:none;
  border:0;
  background:transparent;
  color:var(--feishu-color-primary,#1664ff);
  font-family:inherit;
  font-size:11px;
  font-weight:600;
  line-height:16px;
  cursor:pointer;
  box-shadow:none;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM字段说明{
  position:relative;
  flex:0 0 14px;
  width:14px;
  height:14px;
  display:inline-grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  color:var(--feishu-color-text-3,#8a93a3);
  font-size:9px;
  font-style:normal;
  font-weight:700;
  line-height:1;
  cursor:help;
  outline:none;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM字段说明::after{
  content:attr(data-tip);
  position:absolute;
  z-index:30;
  left:50%;
  bottom:calc(100% + 8px);
  width:260px;
  max-width:min(260px,70vw);
  padding:8px 10px;
  border:1px solid var(--feishu-color-border,#e5e7eb);
  border-radius:var(--workbench-action-radius);
  background:var(--feishu-color-bg-0,#fff);
  color:var(--feishu-color-text-1,#344054);
  font-size:11px;
  font-weight:500;
  line-height:1.55;
  white-space:normal;
  box-shadow:0 8px 24px rgba(15,23,42,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,4px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM字段说明:is(:hover,:focus)::after{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目选择{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM栏目选择,.IM表单字段,.IM需求字段) :is(select,input[type="number"],textarea,.IM当前模板卡,.IM飞书选择器按钮),
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM上传模板内容样式>strong,
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模型配置字段>strong{
  min-width:0;
  width:100%;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  box-sizing:border-box;
  margin:0;
  padding:0 12px;
  border:1px solid var(--feishu-color-control-border,#d9dfe8)!important;
  border-radius:var(--workbench-action-radius);
  background:var(--feishu-color-bg-0,#fff)!important;
  color:var(--feishu-color-text-0,#253044)!important;
  font-size:var(--im-xhs-control-font-size)!important;
  font-weight:600!important;
  line-height:var(--im-xhs-control-line-height)!important;
  text-align:left!important;
  vertical-align:middle;
  box-shadow:none!important;
  outline:none;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM表单字段>.IM固定任务分支{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px;
  padding:0 12px;
  border:1px solid var(--feishu-color-control-border,#d9dfe8)!important;
  border-radius:var(--workbench-action-radius);
  background:var(--feishu-color-bg-0,#fff)!important;
  color:var(--feishu-color-text-0,#253044)!important;
  white-space:nowrap;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM固定任务分支>strong{overflow:hidden;font-size:var(--im-xhs-control-font-size)!important;text-overflow:ellipsis}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM固定任务分支>small{color:var(--feishu-color-text-3,#8a93a3);font-size:10px;font-weight:500}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM工作流生成条件{width:100%;height:auto!important;display:grid!important;gap:5px}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM工作流生成条件>small{color:var(--feishu-color-text-3,#8a93a3);font-size:10px;font-weight:500;line-height:1.35}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM工作流生成条件>select{width:100%}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM飞书选择器按钮{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目选择 .IM飞书选择器按钮>span{
  color:inherit!important;
  font-size:var(--im-xhs-control-font-size)!important;
  font-weight:600!important;
  line-height:var(--im-xhs-control-line-height)!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM表单字段 input[type="number"]{
  appearance:textfield;
  padding:9px 12px!important;
  line-height:var(--im-xhs-control-line-height)!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] input[type="number"]::-webkit-inner-spin-button,
body[data-current-page="im"] .IM输入区[data-xhs-form] input[type="number"]::-webkit-outer-spin-button{margin:0;appearance:none}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM任务数标题{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px;
  font-size:11px!important;
  font-weight:650!important;
  line-height:16px!important;
  text-align:left!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM任务数标题>b{color:inherit;font:inherit}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM任务数标题>small{
  color:var(--feishu-color-text-3,#8a93a3);
  font-size:10px;
  font-weight:500;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM需求字段 textarea{
  padding-block:9px!important;
  resize:none;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM当前模板卡{
  padding:5px 8px;
  align-items:center!important;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  text-align:left;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片预览{width:28px;height:28px}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM当前模板卡>span:last-child{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  overflow:hidden;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM当前模板卡 strong{
  flex:0 1 auto;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:block;
  overflow:hidden;
  border:0!important;
  background:transparent!important;
  font-size:var(--im-xhs-control-font-size)!important;
  font-weight:600!important;
  line-height:var(--im-xhs-control-line-height)!important;
  text-align:left!important;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-shadow:none!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM当前模板卡 em{
  flex:0 0 auto;
  display:inline!important;
  color:var(--feishu-color-text-2,#667085);
  font-size:var(--im-xhs-control-font-size)!important;
  font-style:normal;
  font-weight:600!important;
  line-height:var(--im-xhs-control-line-height)!important;
  text-align:left!important;
  white-space:nowrap;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(select,textarea,.IM当前模板卡,.IM飞书选择器按钮):focus,
body[data-current-page="im"] .IM输入区[data-xhs-form] :is(select,textarea,.IM当前模板卡,.IM飞书选择器按钮):focus-visible{
  border-color:var(--feishu-color-primary,#1664ff)!important;
  box-shadow:0 0 0 2px rgba(22,100,255,.14)!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM上传模板内容样式>strong{
  display:flex;
  align-items:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模型配置字段>strong{
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--feishu-color-fill-0)!important;
  color:var(--feishu-color-text-1,#667085)!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] #IM提交按钮{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto;
  min-width:132px;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin-top:22px;
  padding:0 18px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:start!important;
  font-size:var(--im-xhs-control-font-size)!important;
  font-weight:700!important;
  line-height:var(--im-xhs-control-line-height)!important;
  text-align:center!important;
  white-space:nowrap;
}
body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form]>.IM需求字段{
  height:62px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:16px 40px!important;
  align-items:start!important;
  gap:6px!important;
}
body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form]>.IM需求字段>#IM输入标签{
  grid-column:1!important;
  grid-row:1!important;
}
body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form]>.IM需求字段>#IM输入{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
}
body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form="generation"]>.IM需求字段{display:none!important}
body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form="template"]:is([data-template-source="library"],[data-template-source="upload"])>.IM需求字段{display:none!important}
body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源说明{
  margin:0;
  min-height:16px;
  padding:0!important;
  justify-self:end;
  align-self:start;
  max-width:100%;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  color:var(--feishu-color-text-3,#8a93a3);
  font-size:10px;
  line-height:16px;
  text-align:right;
  box-shadow:none!important;
}
@media(min-width:1180px){
  body[data-current-page="im"] .IM输入区[data-xhs-form]{margin:0 10px 8px!important;padding:8px 12px!important;gap:8px!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏 .IM栏目选择,
  body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM表单字段,.IM需求字段),
  body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form]>.IM需求字段{
    height:52px!important;
    grid-template-rows:16px var(--feishu-height-control-default,32px)!important;
    gap:4px!important;
  }
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏{grid-template-rows:16px var(--feishu-height-control-default,32px)!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM栏目选择,.IM表单字段,.IM需求字段) :is(select,input[type="number"],textarea,.IM当前模板卡,.IM飞书选择器按钮),
  body[data-current-page="im"] .IM输入区[data-xhs-form] :is(.IM上传模板内容样式,.IM模型配置字段)>strong,
  body[data-current-page="im"] .IM输入区[data-xhs-form] #IM提交按钮{
    height:var(--feishu-height-control-default,32px)!important;
    min-height:var(--feishu-height-control-default,32px)!important;
    max-height:var(--feishu-height-control-default,32px)!important;
  }
  body[data-current-page="im"] .IM输入区[data-xhs-form] #IM提交按钮{min-width:132px;margin-top:20px;padding:0 14px}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM表单字段 input[type="number"]{padding:5px 10px!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM需求字段 textarea{padding-block:5px!important}
  body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form]>.IM需求字段>#IM输入{
    height:var(--feishu-height-control-default,32px)!important;
    min-height:var(--feishu-height-control-default,32px)!important;
    max-height:var(--feishu-height-control-default,32px)!important;
  }
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM当前模板卡{padding:3px 6px;grid-template-columns:24px minmax(0,1fr);gap:6px}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片预览{width:24px;height:24px}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片字段{grid-column:auto!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"]{grid-template-columns:minmax(112px,.64fr) minmax(220px,1.55fr) minmax(180px,1.2fr) minmax(140px,1fr) minmax(104px,.62fr) minmax(144px,auto)!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"]{grid-template-columns:minmax(128px,.72fr) minmax(180px,1fr) minmax(280px,1.8fr) minmax(210px,1.2fr) minmax(160px,auto)!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="peer"]{grid-template-columns:minmax(128px,.8fr) minmax(150px,.9fr) minmax(250px,1.65fr) minmax(300px,2fr) auto!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="official-account"]{grid-template-columns:minmax(128px,.72fr) minmax(200px,1fr) minmax(360px,3fr) minmax(180px,auto)!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] .IM栏目切换栏{grid-column:1!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] .IM模板图片字段{grid-column:2!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] .IM内容数据库字段{grid-column:3!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] .IM模型配置字段{grid-column:4!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] .IM任务数字段{grid-column:5!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="generation"] #IM提交按钮{grid-column:6!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="official-account"] .IM栏目切换栏{grid-column:1!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="official-account"] .IM表单字段{grid-column:2!important;grid-row:1!important}
  body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form="official-account"]>.IM需求字段{grid-column:3!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="official-account"] #IM提交按钮{grid-column:4!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"]{row-gap:6px!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM栏目切换栏{grid-column:1!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板来源选择{grid-column:2!important;grid-row:1!important}
  body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form="template"]>.IM需求字段,
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM采集库来源选择{grid-column:3!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM上传模板内容样式{grid-column:4!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] #IM提交按钮{grid-column:5!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源说明{grid-column:4!important;grid-row:2!important;justify-self:start!important;text-align:left!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源页面选择{grid-column:1/-1!important;grid-row:3!important;grid-template-rows:auto!important}
}
@media(min-width:901px) and (max-width:1179px){
  body[data-current-page="im"] .IM输入区[data-xhs-form]{grid-template-columns:repeat(2,minmax(0,1fr)) auto!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片字段{grid-column:span 2}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"]{grid-template-columns:minmax(112px,.75fr) minmax(180px,1fr) minmax(260px,2fr) auto!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"]{row-gap:6px!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM栏目切换栏{grid-column:1!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板来源选择{grid-column:2!important;grid-row:1!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] #IM提交按钮{grid-column:4!important;grid-row:1!important}
  body[data-current-page="im"] form#IM表单.IM输入区[data-xhs-form="template"]>.IM需求字段,
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM采集库来源选择{grid-column:1/-1!important;grid-row:2!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM上传模板内容样式{grid-column:1/-1!important;grid-row:3!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源说明{grid-column:1/-1!important;grid-row:4!important;justify-self:start!important;text-align:left!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源页面选择{grid-column:1/-1!important;grid-row:5!important;grid-template-rows:auto!important}
}
@media(max-width:900px){
  body[data-current-page="im"] .IM输入区[data-xhs-form]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片字段,
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板来源选择,
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM采集库来源选择,
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM需求字段{grid-column:1/-1}
  body[data-current-page="im"] .IM输入区[data-xhs-form] #IM提交按钮{grid-column:1/-1;width:100%;margin-top:0}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM栏目切换栏{order:1}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板来源选择{order:2}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] :is(.IM需求字段,.IM采集库来源选择){order:3}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM上传模板内容样式{order:4}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源说明{order:5}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] .IM模板源页面选择{order:6}
  body[data-current-page="im"] .IM输入区[data-xhs-form="template"] #IM提交按钮{order:7}
}
@media(max-width:620px){
  body[data-current-page="im"] .IM输入区[data-xhs-form]{grid-template-columns:minmax(0,1fr)!important;margin:0 6px 6px;padding:12px}
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM模板图片字段,
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM需求字段{grid-column:1}
}

/* 任务栏目计费规则：标题右侧单一说明入口，浮层不占用表单行高。 */
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏{
  position:relative;
  grid-template-rows:16px 40px!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行{
  width:100%;
  height:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--feishu-color-text-2,#667085);
  font-size:11px;
  font-weight:650;
  line-height:16px;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行>button{
  width:16px;
  height:16px;
  min-height:16px!important;
  max-height:16px!important;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--feishu-color-text-3,#8a93a3);
  cursor:pointer;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行>button:hover,
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行>button[aria-expanded="true"]{color:var(--feishu-color-primary,#1664ff);background:#edf4ff}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行>button:focus-visible{outline:2px solid #8bb6ff;outline-offset:1px}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目标题行 svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏 .IM栏目选择{
  grid-template-rows:40px!important;
  gap:0!important;
}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏 .IM栏目选择>.IM飞书选择器{grid-row:1!important;width:100%}
body[data-current-page="im"] .IM输入区[data-xhs-form] .IM任务类型计费说明浮层,
body[data-current-page="im"]>.IM任务类型计费说明浮层{
  position:fixed;
  z-index:120;
  top:16px;
  left:16px;
  width:min(360px,calc(100vw - 32px));
  box-sizing:border-box;
  margin:0;
  padding:12px 14px;
  display:grid;
  gap:5px;
  border:1px solid var(--feishu-color-border,#e5e7eb);
  border-radius:var(--workbench-action-radius);
  background:var(--feishu-color-bg-0,#fff);
  color:var(--feishu-color-text-1,#344054);
  font-size:12px;
  line-height:1.55;
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}
body[data-current-page="im"] .IM任务类型计费说明浮层[hidden]{display:none!important}
body[data-current-page="im"] .IM任务类型计费说明浮层 strong{color:var(--feishu-color-text-0,#101828);font-size:12px}
body[data-current-page="im"] .IM任务类型计费说明浮层 span{color:var(--feishu-color-text-2,#667085);white-space:pre-line}

/* 宽桌面最终密度门禁：覆盖上方计费说明结构的 40px 通用控件高度。 */
@media(min-width:1180px){
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏{
    grid-template-rows:16px var(--feishu-height-control-default,32px)!important;
    gap:4px!important;
  }
  body[data-current-page="im"] .IM输入区[data-xhs-form] .IM栏目切换栏 .IM栏目选择{
    height:var(--feishu-height-control-default,32px)!important;
    min-height:var(--feishu-height-control-default,32px)!important;
    max-height:var(--feishu-height-control-default,32px)!important;
    grid-template-rows:var(--feishu-height-control-default,32px)!important;
  }
}

/* API 配置：导航内独立配置页，仅在画布内部滚动。 */
body[data-current-page="modelgateway"] .系统顶栏{display:none}
body[data-current-page="modelgateway"] .环节画布{display:block;overflow:auto;padding:calc(var(--site-navigation-height,64px) + 12px) 24px 24px;background:#f5f7fa}
body[data-current-page="modelgateway"] #环节轨道{display:block;min-width:0;min-height:100%;filter:none;transform:none!important}
.模型网关页面{width:min(1280px,100%);margin:0 auto;padding-bottom:32px;color:#182230}
.模型网关页头{min-height:54px;padding:10px 14px;display:flex;align-items:center;gap:18px;border:1px solid #dce3ec;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.模型网关页头 h1,.模型网关页头 dl,.模型网关页头 dt,.模型网关页头 dd{margin:0}
.模型网关标题{min-width:0;display:flex;align-items:baseline;gap:10px}
.模型网关标题 h1{font-size:18px;line-height:1.2;white-space:nowrap}
.模型网关标题 small{overflow:hidden;color:#667085;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.模型网关页头 dl{flex:0 0 auto;display:flex;align-items:center}
.模型网关页头 dl>div{padding:0 12px;display:flex;align-items:baseline;gap:5px;border-left:1px solid #e5eaf1}
.模型网关页头 dt{color:#7b8798;font-size:10px;white-space:nowrap}
.模型网关页头 dd{font-size:13px;font-weight:750;white-space:nowrap}


.模型网关顶部操作{flex:0 0 auto;display:flex;align-items:center;gap:4px;margin-left:auto}
.模型网关运行状态{height:30px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#667085;font-size:11px;white-space:nowrap}
.模型网关运行状态 i{width:8px;height:8px;border-radius:50%;background:#98a2b3}
.模型网关运行状态.正常 i{background:#20b26b}.模型网关运行状态.受阻 i{background:#d78b2d}
.模型网关运行状态 em{font-style:normal}.模型网关顶部操作 button{height:30px;padding:0 10px;border:0;background:transparent;color:#546071;box-shadow:none}.模型网关顶部操作 button:hover,.模型网关顶部操作 button:focus-visible{color:#1664ff;outline:none}
.模型网关错误,.配置资源空状态{margin-top:14px;padding:16px;border:1px solid #e2e8f0;border-radius:var(--workbench-action-radius);background:#fff}
.模型网关错误{display:grid;gap:4px;border-color:#f3c7c3;background:#fff7f6;color:#b42318}
.模型网关错误 span,.配置资源空状态 span{font-size:12px;line-height:1.5}
.配置资源空状态{display:grid;gap:4px;color:#687386}












.模型网关环节导航{margin-top:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #dce3ec;border-radius:var(--workbench-action-radius);background:#fff}
.模型网关环节导航 button{position:relative;min-width:0;padding:14px 16px;display:flex;align-items:center;gap:10px;border:0;border-right:1px solid #e5eaf1;background:transparent;color:#596579;cursor:pointer;text-align:left}
.模型网关环节导航 button:last-child{border-right:0}
.模型网关环节导航 button>span{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f2f4f7;color:#667085;font-size:12px}
.模型网关环节导航 button>strong{position:relative;min-width:0;padding:3px 0;font-size:14px;line-height:1.35;white-space:nowrap}



.模型网关环节导航 button:focus-visible{outline:2px solid #1664ff;outline-offset:-3px}
.模型网关环节内容{margin-top:16px;padding:16px;border:1px solid #e2e8f0;border-radius:var(--workbench-action-radius);background:#f8fafc}
.模型网关环节内容>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.模型网关环节内容>header small{color:#1664ff;font-size:11px;font-weight:700}
.模型网关环节内容>header h3{margin:4px 0 0;font-size:16px;line-height:1.35}
.模型网关环节内容>header>span{color:#667085;font-size:12px}








.配置验证过程{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none}
.配置验证过程 li{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px}
.配置验证过程 li>i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#1664ff;font-size:10px;font-style:normal}
.配置验证过程 li>span{min-width:0;display:grid;gap:2px}.配置验证过程 li b{font-size:12px;line-height:1.45}.配置验证过程 li small{color:#667085;font-size:10px;line-height:1.45}
@media(max-width:760px){.配置验证过程{grid-template-columns:1fr}}
.模型网关配置状态{flex:0 0 auto;padding:4px 8px;border-radius:var(--workbench-action-radius);background:#f2f4f7;color:#667085;font-size:11px;font-weight:700}
.模型网关配置状态.已配置{background:#ecfdf3;color:#067647}
.模型网关操作{display:flex;justify-content:flex-end;gap:8px}
.模型网关操作 button{width:auto;min-width:120px}


.模型候选列表{margin:0;padding:12px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);display:grid;gap:8px}
.模型候选列表 legend{padding:0 5px;color:var(--workbench-text-secondary);font-size:12px;font-weight:700}
.模型候选项{padding:9px 10px;display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-raised)}
.模型候选项 input{width:16px!important;height:16px!important;margin-top:2px}
.模型候选项 span{display:grid;gap:2px}.模型候选项 strong{font-size:12px}.模型候选项 small{color:var(--workbench-text-muted);font-size:10px;line-height:1.45}
.API配置工作区{margin-top:14px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}
.API配置侧栏{position:sticky;top:0;min-width:0;overflow:hidden;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary)}
.API配置侧栏>header{padding:16px;display:grid;gap:3px;border-bottom:1px solid var(--workbench-border-subtle)}
.API配置侧栏>header small,.API配置侧栏>header span{color:var(--workbench-text-muted);font-size:11px;line-height:1.45}
.API配置侧栏>header strong{font-size:15px;line-height:1.4}
.API配置侧栏 nav{padding:7px;display:grid;gap:3px}
.API配置侧栏 nav button{position:relative;min-width:0;padding:10px 10px 10px 38px;display:grid;gap:2px;border:0;border-radius:var(--workbench-action-radius);background:transparent;color:var(--workbench-text-secondary);text-align:left;cursor:pointer}
.API配置侧栏 nav button>span{position:absolute;top:11px;left:10px;color:var(--workbench-text-muted);font-size:10px;font-variant-numeric:tabular-nums}
.API配置侧栏 nav button>b{font-size:13px;line-height:1.4}
.API配置侧栏 nav button>small{overflow:hidden;color:var(--workbench-text-muted);font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.API配置侧栏 nav button:focus-visible{color:var(--workbench-text-accent);outline:none;background:var(--workbench-surface-interactive)}.API配置侧栏 nav button:hover{outline:none;}


.API配置侧栏>footer{padding:12px 16px;display:grid;gap:3px;border-top:1px solid var(--workbench-border-subtle);color:var(--workbench-text-muted);font-size:10px;line-height:1.45}
.API配置侧栏>footer strong{color:var(--workbench-text-secondary);font-size:11px}
.API配置主区{min-width:0}
.API配置单页{margin-top:14px;min-width:0}
.API配置单一标签{min-height:42px;display:flex;align-items:end;border-bottom:1px solid var(--workbench-border-subtle)}
.API配置单一标签>[role="tab"]{height:42px;padding:0 14px;display:inline-flex;align-items:center;color:var(--workbench-text-accent);font-size:13px;font-weight:600;line-height:20px}
.API配置单一标签 small{position:relative;display:inline-flex;align-items:center;font:inherit;color:inherit}
.API配置单一标签 small::after{content:"";position:absolute;left:0;bottom:-11px;width:100%;height:2px;background:#1664ff}
.API配置单一标签+.API配置主区{margin-top:14px}
.API配置面板{min-width:0;padding:18px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary)}
.API配置面板标题{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--workbench-border-subtle)}
.API配置面板标题 small{color:var(--workbench-text-accent);font-size:11px;font-weight:700}
.API配置面板标题 h2{margin:4px 0 0;font-size:20px;line-height:1.35}
.API配置面板标题 p{max-width:760px;margin:6px 0 0;color:var(--workbench-text-secondary);font-size:12px;line-height:1.6}
.API配置总览网格{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.API配置总览网格 article{min-width:0;padding:14px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-raised)}
.API配置总览网格 article header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.API配置总览网格 article header>strong{font-size:12px}
.API配置总览网格 article>b{margin-top:14px;display:block;font-size:19px;line-height:1.3}
.API配置总览网格 article>p{margin:5px 0 0;color:var(--workbench-text-muted);font-size:11px;line-height:1.5}
.API配置状态值{display:inline-flex;align-items:center;gap:5px;color:var(--workbench-status-neutral-text);font-size:10px;white-space:nowrap}
.API配置状态值 i{width:7px;height:7px;border-radius:50%;background:var(--workbench-status-neutral-text)}
.API配置状态值.正常{color:var(--workbench-status-success-text)}.API配置状态值.正常 i{background:var(--workbench-status-success-text)}
.API配置状态值.待配置{color:var(--workbench-status-warning-text)}.API配置状态值.待配置 i{background:var(--workbench-status-warning-text)}
.API配置说明块{margin-top:14px;padding:16px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-raised)}
.API配置说明块>header{display:flex;align-items:center;justify-content:space-between;gap:14px}
.API配置说明块 h3{margin:0;font-size:15px}.API配置说明块 header h3{margin-top:3px}.API配置说明块 header small{color:var(--workbench-text-muted);font-size:10px}
.API配置说明块>p{margin:12px 0 0;color:var(--workbench-text-secondary);font-size:11px;line-height:1.6}





.API能力总览{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}












.API资源内容{min-width:0;padding-top:14px}
.API资源说明{padding:11px 14px;display:flex;align-items:center;gap:8px;border-radius:var(--workbench-action-radius);background:var(--workbench-surface-selected);color:var(--workbench-text-secondary);font-size:12px;line-height:1.55}
.API资源说明 strong{flex:0 0 auto;color:var(--workbench-text-primary);font-size:12px}


























.技能资源空值{color:var(--workbench-text-muted);font-size:11px}





























body[data-current-page="modelgateway"] .API配置面板标题.API资源页头{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
body[data-current-page="modelgateway"] .API资源页头>button{flex:0 0 auto;min-width:96px}

































@media(max-width:760px){}




















@media(max-width:1040px){.API配置工作区{grid-template-columns:1fr}.API配置侧栏{position:static}.API配置侧栏>header,.API配置侧栏>footer{display:none}.API配置侧栏 nav{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto}.API配置侧栏 nav button{min-width:130px}.API配置总览网格{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body[data-current-page="modelgateway"] .环节画布{padding:calc(var(--site-navigation-height,64px) + 10px) 14px 14px}.模型网关页头{align-items:flex-start;flex-wrap:wrap;gap:8px 12px}.模型网关标题{flex:1 1 100%}.模型网关页头 dl>div:first-child{padding-left:0;border-left:0}.模型网关顶部操作{flex:1 1 100%;margin-left:0;justify-content:flex-end;border-top:1px solid #e5eaf1;padding-top:4px}.模型网关环节内容>header{align-items:flex-start;flex-direction:column}.模型网关环节导航{grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto}.模型网关环节内容{padding:12px}}
@media(max-width:760px){.API配置面板{padding:14px}.API配置面板标题{display:grid}.API配置总览网格,.API能力总览{grid-template-columns:1fr}.API配置说明块>header{align-items:flex-start;flex-direction:column}.API配置侧栏 nav{grid-template-columns:repeat(5,minmax(124px,1fr))}.API资源说明{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){body[data-current-page="modelgateway"] .API配置面板标题.API资源页头{display:grid;gap:14px}body[data-current-page="modelgateway"] .API资源页头>button{width:100%}}
@media(max-width:760px){}

/* 2026-08-17 素材采集库页面：只读内容库台账，布局参考模板库全部模板弹窗（工具栏 + 分类筛选 + 网格卡片 + 右侧预览）。 */
/* 画布改为块级滚动容器并预留顶部导航高度：基类环节画布为垂直居中 flex，
   内容高于可视区时会被顶起、页头压到导航栏下方造成重叠。 */
body[data-current-page="material"] .环节画布{
  inset:0;
  padding:calc(var(--site-navigation-height,64px) + 76px) 24px 28px;
  display:block;
  overflow:auto;
  scrollbar-width:thin;
}
body[data-current-page="material"] #环节轨道{
  width:100%;
  min-width:0;
  display:block;
  transform:none!important;
  filter:none;
}
.素材采集库页面{width:min(1280px,100%);margin:0 auto;padding-bottom:32px;color:#182230}
.素材采集库页头{min-height:54px;padding:10px 14px;display:flex;align-items:center;gap:18px;border:1px solid #dce3ec;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035)}
.素材采集库标题{min-width:0;flex:1 1 auto}
.素材采集库标题 h1{margin:0;font-size:19px;font-weight:680;letter-spacing:-.02em}
.素材采集库标题 small{margin-top:3px;display:block;color:#7b8798;font-size:10px}
.素材采集库页头 dl{margin:0;flex:0 0 auto;display:flex;align-items:center}
.素材采集库页头 dl>div{padding:0 12px;display:flex;align-items:baseline;gap:5px;border-left:1px solid #e5eaf1}
.素材采集库页头 dt{color:#7b8798;font-size:10px;white-space:nowrap}
.素材采集库页头 dd{margin:0;font-size:15px;font-weight:680}
.素材采集库安全说明{margin-left:auto;padding-left:14px;display:grid;gap:2px;border-left:1px solid #e5eaf1;color:#8a93a1;font-size:9px;white-space:nowrap}
.素材采集库安全说明 strong{color:#1664ff;font-size:10px;font-weight:650}
.素材采集库页面 .模板库工具栏{grid-template-columns:minmax(220px,.8fr) minmax(0,1.1fr) minmax(0,1.1fr) auto}
.素材采集库页面 .模板库主体{min-height:520px}
.素材采集库页面 .素材采集库主体空状态{min-height:240px;grid-template-columns:minmax(0,1fr)}
.素材采集库页面 .素材采集库主体空状态 .素材采集库空网格{padding:24px;grid-template-columns:1fr!important;place-items:center;overflow:visible}
.素材采集库页面 .素材采集库主体空状态 .课程生产空状态{width:min(560px,100%);min-height:180px}
.素材采集库卡{position:relative;grid-template-columns:minmax(0,1fr)!important}
.素材采集库卡>.全部模板卡选择{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.素材采集库卡>.全部模板卡选择:focus-visible{outline:2px solid rgba(22,100,255,.42);outline-offset:-3px}
.素材采集库卡>span{position:relative;z-index:2;pointer-events:none}
.素材采集库卡>span>em{color:#1664ff}
.素材采集库卡状态{display:inline-flex;align-items:center;margin-right:7px;padding:2px 7px;border-radius:50%;background:#eef4ff;color:#1664ff;font-size:9px;font-weight:700;font-style:normal;line-height:1.4;vertical-align:1px;white-space:nowrap}
.素材采集库卡状态.已采集{background:#eaf8f1;color:#067647}
.素材采集库卡状态.解析中{background:#fff4e3;color:#9a5c14}
.素材采集库卡状态.待解析,.素材采集库卡状态.重复{background:#eef2f6;color:#667085}
.素材采集库卡状态.失败{background:#fff0ed;color:#b43b3b}
.素材采集库采集错误{margin:10px 0 0;padding:8px 10px;border:1px solid #f1c8c8;border-radius:var(--workbench-action-radius);background:#fff7f6;color:#b43b3b;font-size:10px;line-height:1.55}
.素材采集库卡标签{margin-top:2px;overflow:hidden;color:#98a0ab;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.素材采集库卡.当前>span>em{color:#1664ff}
.素材采集库预览 .素材采集库内容单元{margin-top:12px}
.素材采集库预览 .素材采集库内容单元 h4,.素材采集库预览 .素材采集库图片区 h4{margin:0 0 8px;color:#5d6877;font-size:10px;font-weight:650}
.素材采集库预览 .素材采集库内容单元 ol{margin:0;padding:0;display:grid;gap:6px;list-style:none}
.素材采集库预览 .素材采集库内容单元 li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:7px 8px;border:1px solid #e8ebf0;border-radius:var(--workbench-action-radius);background:#f9fafc}
.素材采集库预览 .素材采集库内容单元 li b{color:#1664ff;font-size:9px;font-weight:650}
.素材采集库预览 .素材采集库内容单元 li span{min-width:0;overflow-wrap:anywhere;color:#4f5b6c;font-size:10px;line-height:1.6}
.素材采集库预览 .素材采集库正文{margin-top:12px}
.素材采集库预览 .素材采集库正文 h4{margin:0 0 8px;color:#5d6877;font-size:10px;font-weight:650}
.素材采集库预览 .素材采集库正文 p{margin:0;padding:9px 10px;border:1px solid #e8ebf0;border-radius:var(--workbench-action-radius);background:#f9fafc;color:#333a45;font-size:11px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}
.素材采集库预览 .素材采集库图片区{margin-top:12px}
.素材采集库来源链接{display:inline-flex;margin-top:12px;align-items:center;gap:5px;color:#1664ff;font-size:10px;text-decoration:none}
.素材采集库来源链接:hover{text-decoration:underline}
.素材采集库编辑区{margin-top:12px;padding:10px;border-top:1px solid #e5eaf1;color:#5d6877;font-size:10px}
.素材采集库编辑区>summary{cursor:pointer;color:#1664ff;font-size:11px;font-weight:650}
.素材采集库编辑区[open]>summary{margin-bottom:10px}
.素材采集库编辑表单{gap:9px}
.素材采集库编辑表单 .主操作{min-height:38px}
@media(max-width:760px){
  .素材采集库页面{padding:0 14px 24px}
  .素材采集库页头{align-items:flex-start;flex-wrap:wrap;gap:8px 12px}
  .素材采集库标题{flex:1 1 100%}
  .素材采集库页头 dl>div:first-child{padding-left:0;border-left:0}
  .素材采集库安全说明{flex:1 1 100%;margin:0;padding:7px 0 0;border-left:0;border-top:1px solid #e5eaf1;white-space:normal}
  .素材采集库页面 .模板库工具栏{grid-template-columns:1fr}
  .素材采集库页面 .模板库主体{min-height:0}
  .素材采集库卡>span{pointer-events:auto}
}

/* —— 云端素材库状态 —— */
.asset-config-grid{display:grid;grid-template-columns:minmax(320px,1fr) 1fr;gap:18px;padding:14px 16px 18px;align-items:start}
.asset-config-form{display:grid;gap:10px;align-content:start}
.asset-field{display:grid;gap:4px;font-size:12px;color:#56627a}
.asset-field input[type="text"],.asset-field input:not([type]){width:100%;box-sizing:border-box;height:34px;padding:0 10px;border:1px solid #d9dee8;border-radius:var(--workbench-action-radius);font-size:13px;background:#fff;color:#172033}
.asset-field-inline{display:flex;align-items:center;gap:8px}
.asset-field-inline input[type="checkbox"]{width:16px;height:16px}
.asset-field-actions{display:flex;align-items:center;gap:12px}
.asset-msg{font-size:12px;color:#56627a}
.asset-msg.asset-ok{color:#18794e}
.asset-msg.asset-err{color:#c43e3e}
.asset-meta{display:grid;gap:8px;margin:0;font-size:13px}
.asset-meta div{display:grid;gap:4px}
.asset-meta dt{color:#56627a;font-size:12px}
.asset-meta dd{margin:0;display:flex;flex-wrap:wrap;gap:6px;color:#172033}
.asset-tag{display:inline-block;padding:2px 8px;border-radius:var(--workbench-action-radius);background:#eaf0ff;color:#3370ff;font-size:12px}
.asset-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--workbench-action-radius)}
.asset-ok{background:#eaf8f0;color:#18794e}
.asset-err{background:#fdeeee;color:#c43e3e}
.asset-muted{color:#8a94a8;font-size:12px}
@media (max-width:900px){.asset-config-grid{grid-template-columns:1fr}}

/* —— 企业接入与飞书结果库（本地主数据、飞书可选结果镜像） —— */
.企业模型托管区>p{margin:0;padding:14px 16px 18px;color:#56627a;font-size:13px;line-height:1.7}
.企业接入网格{display:grid;grid-template-columns:minmax(420px,1.25fr) minmax(280px,.75fr);gap:18px;padding:14px 16px 18px;align-items:start}
.企业接入表单{display:grid;gap:12px}
.企业接入表单>label,.企业接入表单 .双字段 label{display:grid;gap:5px;color:#56627a;font-size:12px}
.企业接入表单 input:not([type="checkbox"]){width:100%;box-sizing:border-box;height:36px;padding:0 10px;border:1px solid #d9dee8;border-radius:var(--workbench-action-radius);background:#fff;color:#172033;font-size:13px}
.企业边界说明{display:grid;gap:3px;padding:10px 12px;border:1px solid #dbe6ff;border-radius:var(--workbench-action-radius);background:#f5f8ff}
.企业边界说明 strong{color:#245bdb;font-size:13px}
.企业边界说明 span{color:#65728a;font-size:12px;line-height:1.6}
.企业同步选择{margin:0;padding:10px 12px 12px;border:1px solid #e3e8f0;border-radius:var(--workbench-action-radius);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.企业同步选择 legend{padding:0 5px;color:#56627a;font-size:12px;font-weight:600}
.企业同步项{display:flex;align-items:center;gap:8px;color:#273248;font-size:12px}
.企业同步项 input{width:16px;height:16px}
.企业接入操作{display:flex;align-items:center;gap:10px}
.企业接入区 .asset-meta{padding:2px 0}
@media (max-width:900px){.企业接入网格{grid-template-columns:1fr}.企业同步选择{grid-template-columns:1fr}}

/* —— API 配置：图片 API / 文本 API 分组与环节使用场景 —— */










.api-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--workbench-action-radius)}
.api-ok{background:#eaf8f0;color:#18794e}
.api-warn{background:#fff7e6;color:#b26a00}
@media (max-width:900px){}

/* 2026-08-25 五环节详细落库路径与对应库直达。 */
.课程环节数据表{min-height:0;padding:var(--feishu-space-2);display:grid;grid-template-columns:minmax(190px,auto) minmax(0,1fr);gap:var(--feishu-space-2);border-color:var(--workbench-border-subtle);background:var(--workbench-surface-panel)}
.课程环节数据表>header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--feishu-space-2);padding:var(--feishu-space-1) var(--feishu-space-2)}
.课程环节数据表>header>span{min-width:0;display:grid;gap:2px}.课程环节数据表>header strong{color:var(--workbench-text-primary);font-size:12px;white-space:nowrap}.课程环节数据表>header small{color:var(--workbench-text-muted);font-size:10px;line-height:1.4}.课程环节数据表>header>i{flex:0 0 auto;padding:2px 6px;border-radius:var(--workbench-action-radius);background:var(--workbench-status-neutral-bg);color:var(--workbench-status-neutral-text);font-size:10px;font-style:normal;white-space:nowrap}
.课程环节数据表>ol{min-width:0;margin:0;padding:0;display:flex;gap:var(--feishu-space-2);overflow-x:auto;list-style:none;scrollbar-width:thin}
.课程环节数据表>ol>li{position:relative;flex:1 0 220px;min-width:220px;max-width:320px;min-height:48px;padding:var(--feishu-space-2);display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--feishu-space-2);align-items:center;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-inset)}
.课程环节数据表>ol>li:not(:last-child)::after{content:"→";position:absolute;right:calc(var(--feishu-space-2) * -1 - 5px);z-index:1;color:var(--workbench-text-muted);font-size:11px}
.课程环节数据表>ol>li.最终落库{border-color:var(--workbench-status-accent-text);background:var(--workbench-status-accent-bg)}
.课程环节数据表>ol>li.人工边界{border-style:dashed;background:var(--workbench-status-neutral-bg)}
.课程落库序号{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--workbench-status-neutral-bg);color:var(--workbench-text-secondary);font-size:10px;font-weight:700}.最终落库 .课程落库序号{background:var(--workbench-status-accent-text);color:var(--workbench-surface-panel)}
.课程落库说明{min-width:0;display:grid;gap:2px}.课程落库说明 strong{overflow:hidden;color:var(--workbench-text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.课程落库说明 small{display:-webkit-box;overflow:hidden;color:var(--workbench-text-muted);font-size:9px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.课程环节数据表 a,.课程落库边界,.课程落库未配置{min-height:var(--feishu-height-control-small);padding:0 var(--feishu-space-2);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--workbench-action-radius);font-size:10px;white-space:nowrap;text-decoration:none}.课程环节数据表 a{border:1px solid var(--workbench-status-accent-text);background:var(--workbench-surface-panel);color:var(--workbench-status-accent-text)}.课程环节数据表 a:hover,.课程环节数据表 a:focus-visible{background:var(--workbench-status-accent-bg)}.课程落库边界,.课程落库未配置{border:1px solid var(--workbench-border-subtle);background:var(--workbench-status-neutral-bg);color:var(--workbench-text-muted)}
.课程数据归属 .课程落库未配置,.课程高级数据归属 .课程落库未配置{padding:0;color:var(--workbench-text-muted);font-size:9px}
@media(max-width:939px){.课程环节数据表{grid-template-columns:1fr}.课程环节数据表>header{padding:0}.课程环节数据表>ol>li{flex-basis:240px}}

/* —— 云端素材库面板（素材采集库页内） —— */
.asset-panel{margin-top:18px;border-top:1px solid #e3e8f0;padding-top:16px}
.asset-folder-bar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.asset-folder-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9dee8;background:#fff;border-radius:var(--workbench-action-radius);padding:5px 12px;font-size:13px;color:#172033;cursor:pointer}
.asset-folder-tab small{color:#8a94a8}
.asset-folder-tab.已选中{background:#3370ff;border-color:#3370ff;color:#fff}
.asset-folder-tab.已选中 small{color:rgba(255,255,255,.8)}
.asset-item-card{background:#fff;border:1px solid #e3e8f0;border-radius:var(--workbench-action-radius);overflow:hidden;display:flex;flex-direction:column}
.asset-item-thumb{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f4f6fb;overflow:hidden}
.asset-item-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.asset-item-meta{padding:8px 10px 4px;display:grid;gap:2px}
.asset-item-meta strong{font-size:13px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-item-meta small{font-size:12px;color:#8a94a8}
.asset-item-actions{display:flex;gap:6px;padding:4px 10px 10px;flex-wrap:wrap;align-items:center}
.asset-btn{font-size:12px;border:1px solid #c9d4ee;background:#fff;color:#3370ff;border-radius:var(--workbench-action-radius);padding:3px 8px;cursor:pointer;text-decoration:none}
.asset-btn.danger{color:#c43e3e;border-color:#f3c9c9}
.asset-move{font-size:12px;border:1px solid #d9dee8;border-radius:var(--workbench-action-radius);padding:3px 4px;color:#172033;max-width:110px}
.asset-import-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px;padding:12px;background:#f7f8fb;border-radius:var(--workbench-action-radius)}
.asset-import-form h3{font-size:13px;margin:0 6px 0 0;color:#172033}
.asset-import-form input{height:32px;padding:0 10px;border:1px solid #d9dee8;border-radius:var(--workbench-action-radius);font-size:13px;min-width:160px}
.新转换标识{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:6px;padding:3px 6px;border-radius:var(--workbench-action-radius);background:#fff3dc;color:#b76300;font-size:8px;font-style:normal;font-weight:700;white-space:nowrap;vertical-align:middle}

/* 2026-08-28 模板文字层采用设计软件式选框；背景层保持锁定。 */
.模板缩放手柄{display:none}
.模板画布外框 .课程模板画布:not(.紧凑) .模板文字层.当前文字区域{outline:2px solid #1664ff;outline-offset:0}
.模板画布外框 .课程模板画布:not(.紧凑) .模板文字层.当前文字区域>.模板缩放手柄{position:absolute;right:-6px;bottom:-6px;z-index:5;width:12px;height:12px;display:block;border:2px solid #fff;border-radius:var(--workbench-action-radius);background:#1664ff;box-shadow:0 0 0 1px #1664ff;cursor:nwse-resize;pointer-events:auto;touch-action:none}

/* 2026-09-01 IM 关键环节：中间竖向进度，右侧竖向环节预览。 */
body[data-current-page="im"] .IM环节进度面板{width:min(880px,100%);margin:12px auto 18px;color:var(--music-text)}
body[data-current-page="im"] .IM环节进度面板>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 2px 10px}
body[data-current-page="im"] .IM环节进度面板>header>div{min-width:0;display:grid;gap:3px}
body[data-current-page="im"] .IM环节进度面板>header span,
body[data-current-page="im"] .IM环节进度面板>header em{color:var(--music-text-muted);font-size:10px;font-style:normal}
body[data-current-page="im"] .IM环节进度面板>header strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM环节进度面板>header em{padding-top:3px;color:#4f8df7;white-space:nowrap}
body[data-current-page="im"] .IM整体进度{margin-bottom:14px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;border:1px solid color-mix(in srgb,var(--music-border) 78%,transparent);border-radius:var(--workbench-action-radius);background:color-mix(in srgb,var(--music-panel) 72%,transparent)}
body[data-current-page="im"] .IM整体进度>span{color:var(--music-text-muted);font-size:10px}
body[data-current-page="im"] .IM整体进度>strong{color:#4f8df7;font-size:20px;line-height:1}
body[data-current-page="im"] .IM整体进度>.IM进度条{grid-column:1/-1;height:6px}
body[data-current-page="im"] .IM整体进度>small{grid-column:1/-1;color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM整体进度 .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM关键环节进度{margin:0;padding:0;display:grid;list-style:none}
body[data-current-page="im"] .IM关键环节进度>li{position:relative;min-width:0;padding:0 0 13px 39px}
body[data-current-page="im"] .IM关键环节进度>li:not(:last-child)::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:color-mix(in srgb,var(--music-border) 88%,transparent)}
body[data-current-page="im"] .IM关键环节进度>li>button{width:100%;min-height:30px;padding:0 6px 4px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}
body[data-current-page="im"] .IM关键环节进度>li>button:hover,
body[data-current-page="im"] .IM关键环节进度>li>button:focus-visible{background:color-mix(in srgb,#1664ff 8%,transparent);outline:none}
body[data-current-page="im"] .IM关键环节进度>li.已选中>button{color:#4f8df7}
body[data-current-page="im"] .IM关键环节进度>li>button>i{position:absolute;left:0;top:0;z-index:1;width:28px;height:28px;display:grid;place-items:center;border:1px solid color-mix(in srgb,#4f8df7 55%,var(--music-border));border-radius:50%;background:var(--music-panel);color:#4f8df7;font-size:9px;font-style:normal;font-weight:800}
body[data-current-page="im"] .IM关键环节进度>li.completed>button>i{border-color:#3d8a67;background:color-mix(in srgb,#2aab75 15%,var(--music-panel));color:#55b784}
body[data-current-page="im"] .IM关键环节进度>li.failed>button>i{border-color:#9e4e58;background:color-mix(in srgb,#cf4f5b 14%,var(--music-panel));color:#ed7580}
body[data-current-page="im"] .IM关键环节进度>li.waiting>button>i{border-color:var(--music-border);color:var(--music-text-muted)}
body[data-current-page="im"] .IM关键环节进度>li>button>span{min-width:0;display:grid;gap:2px}
body[data-current-page="im"] .IM关键环节进度>li>button b{font-size:12px}
body[data-current-page="im"] .IM关键环节进度>li>button small{overflow:hidden;color:var(--music-text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM关键环节进度>li>button>em{padding-top:2px;color:var(--music-text-secondary);font-size:9px;font-style:normal;white-space:nowrap}
body[data-current-page="im"] .IM关键环节进度>li.running>button>em{color:#4f8df7}
body[data-current-page="im"] .IM关键环节进度>li.completed>button>em{color:#55b784}
body[data-current-page="im"] .IM关键环节进度>li.failed>button>em{color:#ed7580}
body[data-current-page="im"] .IM环节任务列表,
body[data-current-page="im"] .IM预览任务列表{display:grid;gap:5px}
body[data-current-page="im"] .IM环节任务{min-width:0;padding:7px 9px;display:grid;gap:6px;border-radius:6px;background:color-mix(in srgb,var(--music-panel-raised) 72%,transparent)}
body[data-current-page="im"] .IM环节任务.running{border-left:2px solid #4f8df7;background:color-mix(in srgb,#1664ff 10%,var(--music-panel-raised))}
body[data-current-page="im"] .IM环节任务>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
body[data-current-page="im"] .IM环节任务 strong{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM环节任务 em{color:var(--music-text-muted);font-size:9px;font-style:normal;white-space:nowrap}
body[data-current-page="im"] .IM环节任务进度{height:3px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--music-border) 75%,transparent)}
body[data-current-page="im"] .IM环节任务进度 i{display:block;height:100%;border-radius:inherit;background:#4f8df7;transition:width .35s ease}
body[data-current-page="im"] .IM环节任务.completed .IM环节任务进度 i{background:#55b784}
body[data-current-page="im"] .IM环节任务.failed .IM环节任务进度 i{background:#ed7580}
body[data-current-page="im"] .IM环节预览{padding:7px 0 12px;display:flex;flex-direction:column;gap:10px}
body[data-current-page="im"] .IM环节预览>span{color:var(--music-text-muted);font-size:10px}
body[data-current-page="im"] .IM环节预览>strong{font-size:21px;letter-spacing:-.02em}
body[data-current-page="im"] .IM环节预览>em{color:#4f8df7;font-size:11px;font-style:normal;font-weight:700}
body[data-current-page="im"] .IM环节预览>.IM进度条{height:6px}
body[data-current-page="im"] .IM环节预览>dl{margin:2px 0 0;display:grid}
body[data-current-page="im"] .IM环节预览>dl>div{padding:9px 0;display:grid;gap:3px;border-bottom:1px solid color-mix(in srgb,var(--music-border) 70%,transparent)}
body[data-current-page="im"] .IM环节预览 dt{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM环节预览 dd{margin:0;color:var(--music-text);font-size:11px;font-weight:700}
body[data-current-page="im"] .IM环节预览 dd .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM环节预览>section{display:grid;gap:6px}
body[data-current-page="im"] .IM环节预览 h3{margin:1px 0;color:var(--music-text);font-size:11px}
body[data-current-page="im"] .IM环节预览>p{margin:auto 0 0;padding:9px;border-radius:6px;background:color-mix(in srgb,var(--music-panel-raised) 72%,transparent);color:var(--music-text-muted);font-size:9px;line-height:1.55}



@media(max-width:760px){body[data-current-page="im"] .IM环节进度面板{margin:10px 0 14px}body[data-current-page="im"] .IM整体进度{padding:10px 11px}body[data-current-page="im"] .IM关键环节进度>li{padding-left:36px}}

/* 2026-09-04 IM 单任务内部并发：分支、失败隔离、汇合与落库门禁。 */
body[data-current-page="im"] .IM单任务并发面板{width:min(1000px,100%);margin:12px auto 18px;color:var(--music-text)}
body[data-current-page="im"] .IM单任务并发面板>header{padding:0 2px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body[data-current-page="im"] .IM单任务并发面板>header>div{min-width:0;display:grid;gap:4px}
body[data-current-page="im"] .IM单任务并发面板>header h2{margin:0;display:flex;align-items:center;gap:9px;font-size:15px}
body[data-current-page="im"] .IM单任务并发面板>header h2 em{color:#4f8df7;font-size:10px;font-style:normal;font-weight:700}
body[data-current-page="im"] .IM单任务并发面板.failed>header h2 em{color:#ed7580}
body[data-current-page="im"] .IM单任务并发面板>header p{margin:0;overflow:hidden;color:var(--music-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM单任务并发面板>header>span{padding-top:3px;color:#4f8df7;font-size:10px;white-space:nowrap}
body[data-current-page="im"] .IM单任务汇总{margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid color-mix(in srgb,var(--music-border) 78%,transparent);border-radius:var(--workbench-action-radius);background:color-mix(in srgb,var(--music-panel) 74%,transparent)}
body[data-current-page="im"] .IM单任务汇总>div{min-width:0;padding:12px 16px;display:grid;gap:5px}
body[data-current-page="im"] .IM单任务汇总>div+div{border-left:1px solid color-mix(in srgb,var(--music-border) 72%,transparent)}
body[data-current-page="im"] .IM单任务汇总 dt{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM单任务汇总 dd{margin:0;overflow:hidden;color:var(--music-text);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM单任务汇总 dd.失败{color:#ed7580}
body[data-current-page="im"] .IM单任务汇总 dd.进行{color:#4f8df7}
body[data-current-page="im"] .IM单任务汇总 dd.完成{color:#55b784}
body[data-current-page="im"] .IM单任务汇总 .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM逐页并发区{display:grid;gap:12px}
body[data-current-page="im"] .IM逐页并发区>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
body[data-current-page="im"] .IM逐页并发区>header strong{font-size:13px}
body[data-current-page="im"] .IM逐页并发区>header span{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM状态流程{display:grid;gap:0}
body[data-current-page="im"] .IM处理状态区{position:relative;padding:13px;border:1px solid color-mix(in srgb,var(--music-border) 86%,transparent);border-radius:var(--workbench-action-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--music-panel-raised) 62%,transparent),color-mix(in srgb,var(--music-panel) 50%,transparent));overflow:hidden}
body[data-current-page="im"] .IM处理状态区::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--music-text-muted)}
body[data-current-page="im"] .IM处理状态区.running{border-color:color-mix(in srgb,#4f8df7 62%,var(--music-border));box-shadow:inset 0 0 30px color-mix(in srgb,#4f8df7 5%,transparent)}
body[data-current-page="im"] .IM处理状态区.running::before{background:#4f8df7;box-shadow:0 0 14px color-mix(in srgb,#4f8df7 70%,transparent)}
body[data-current-page="im"] .IM处理状态区.completed::before{background:#55b784}
body[data-current-page="im"] .IM处理状态区>header{margin-bottom:11px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px}
body[data-current-page="im"] .IM处理状态区>header>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--music-border);border-radius:50%;color:var(--music-text-muted);font-size:9px;font-weight:750}
body[data-current-page="im"] .IM处理状态区.running>header>span{border-color:#4f8df7;background:color-mix(in srgb,#4f8df7 10%,transparent);color:#78a7ff}
body[data-current-page="im"] .IM处理状态区.completed>header>span{border-color:#55b784;background:color-mix(in srgb,#55b784 10%,transparent);color:#55b784}
body[data-current-page="im"] .IM处理状态区>header>div{min-width:0;display:grid;gap:3px}
body[data-current-page="im"] .IM处理状态区>header strong{font-size:12px}
body[data-current-page="im"] .IM处理状态区>header small{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM处理状态区>header em{padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--music-border) 56%,transparent);color:var(--music-text-secondary);font-size:9px;font-style:normal;white-space:nowrap}
body[data-current-page="im"] .IM处理状态区.running>header em{background:color-mix(in srgb,#4f8df7 13%,transparent);color:#78a7ff}
body[data-current-page="im"] .IM处理状态区.completed>header em{background:color-mix(in srgb,#55b784 13%,transparent);color:#55b784}
body[data-current-page="im"] .IM并发分支网格{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body[data-current-page="im"] .IM并发分支{position:relative;min-width:0;min-height:96px;padding:11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto 4px;align-items:center;gap:7px 8px;border:1px solid color-mix(in srgb,var(--music-border) 88%,transparent);border-radius:var(--workbench-action-radius);background:color-mix(in srgb,var(--music-panel-raised) 68%,transparent);color:var(--music-text);text-align:left;cursor:pointer}
body[data-current-page="im"] .IM并发分支:hover{border-color:color-mix(in srgb,#4f8df7 55%,var(--music-border))}
body[data-current-page="im"] .IM并发分支:focus-visible{outline:2px solid #4f8df7;outline-offset:2px}
body[data-current-page="im"] .IM并发分支.已选中{border-color:#4f8df7;box-shadow:0 0 0 1px color-mix(in srgb,#4f8df7 50%,transparent)}
body[data-current-page="im"] .IM并发分支.failed{border-color:color-mix(in srgb,#ed7580 65%,var(--music-border));background:color-mix(in srgb,#cf4f5b 13%,var(--music-panel-raised))}
body[data-current-page="im"] .IM分支状态点{width:17px;height:17px;border:2px solid var(--music-text-muted);border-radius:50%}
body[data-current-page="im"] .IM并发分支.completed .IM分支状态点{border-color:#55b784;background:color-mix(in srgb,#55b784 25%,transparent);box-shadow:inset 0 0 0 4px var(--music-panel-raised)}
body[data-current-page="im"] .IM并发分支.running .IM分支状态点{border-color:#4f8df7;border-right-color:transparent;animation:IM单任务旋转 .9s linear infinite}
body[data-current-page="im"] .IM并发分支.failed .IM分支状态点{position:relative;border-color:#ed7580;background:transparent}
body[data-current-page="im"] .IM并发分支.failed .IM分支状态点::after{content:"×";position:absolute;inset:-3px;display:grid;place-items:center;color:#ed7580;font-size:13px;font-weight:700}
body[data-current-page="im"] .IM并发分支.blocked .IM分支状态点{border-color:#d7a34b;background:color-mix(in srgb,#d7a34b 24%,transparent)}
body[data-current-page="im"] .IM并发分支 strong{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM并发分支 em{font-size:9px;font-style:normal;white-space:nowrap}
body[data-current-page="im"] .IM并发分支.completed em{color:#55b784}
body[data-current-page="im"] .IM并发分支.running em{color:#4f8df7}
body[data-current-page="im"] .IM并发分支.failed em{color:#ed7580}
body[data-current-page="im"] .IM并发分支 small{grid-column:1/-1;overflow:hidden;color:var(--music-text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM并发分支>i{grid-column:1/-1;height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--music-border) 76%,transparent)}
body[data-current-page="im"] .IM并发分支>i::after{content:"";display:block;width:0;height:100%;border-radius:inherit;background:#4f8df7}
body[data-current-page="im"] .IM并发分支.completed>i::after{width:100%;background:#55b784}
body[data-current-page="im"] .IM并发分支.failed>i::after{width:100%;background:#ed7580}
body[data-current-page="im"] .IM并发分支.running>i::after{width:45%;animation:IM单任务进度 1.35s ease-in-out infinite alternate}
body[data-current-page="im"] .IM失败隔离提示{margin:0;padding:7px 10px;border-radius:6px;background:color-mix(in srgb,#1664ff 9%,transparent);color:var(--music-text-secondary);font-size:9px;text-align:center}
body[data-current-page="im"] .IM处理状态区.running .IM失败隔离提示{margin-top:10px;background:color-mix(in srgb,#ed7580 9%,transparent);color:color-mix(in srgb,#ed7580 78%,var(--music-text-secondary))}
body[data-current-page="im"] .IM状态区空态{grid-column:1/-1;margin:0;padding:14px;border:1px dashed color-mix(in srgb,var(--music-border) 78%,transparent);border-radius:var(--workbench-action-radius);color:var(--music-text-muted);font-size:9px;text-align:center}
body[data-current-page="im"] .IM子任务未回读{padding:18px;display:grid;gap:5px;border:1px dashed var(--music-border);border-radius:var(--workbench-action-radius);text-align:center}
body[data-current-page="im"] .IM子任务未回读 strong{font-size:11px}
body[data-current-page="im"] .IM子任务未回读 span{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM状态传输线{position:relative;height:42px;display:grid;place-items:center;color:var(--music-text-muted)}
body[data-current-page="im"] .IM状态传输线::before{content:"";position:absolute;left:50%;inset-block:0;width:2px;transform:translateX(-50%);background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--music-border) 86%,transparent) 0 5px,transparent 5px 9px)}
body[data-current-page="im"] .IM状态传输线::after{content:"";position:absolute;left:50%;bottom:5px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateX(-50%) rotate(45deg)}
body[data-current-page="im"] .IM状态传输线>i{position:absolute;left:50%;top:-10px;width:6px;height:15px;border-radius:999px;background:linear-gradient(#71d5ff,#4f8df7);box-shadow:0 0 12px color-mix(in srgb,#4f8df7 88%,transparent);opacity:0;transform:translateX(-50%)}
body[data-current-page="im"] .IM状态传输线> b{position:absolute;left:calc(50% + 16px);top:14px;color:var(--music-text-muted);font-size:8px;font-weight:650;white-space:nowrap}
body[data-current-page="im"] .IM状态传输线.running{color:#4f8df7}
body[data-current-page="im"] .IM状态传输线.running::before{background:linear-gradient(#4f8df7,color-mix(in srgb,#4f8df7 34%,transparent))}
body[data-current-page="im"] .IM状态传输线.running>i{opacity:1;animation:IM线路传输对接 1.05s linear infinite}
body[data-current-page="im"] .IM状态传输线.running>b{color:#78a7ff}
body[data-current-page="im"] .IM状态传输线.completed{color:#55b784}
body[data-current-page="im"] .IM状态传输线.completed::before{background:#55b784}
body[data-current-page="im"] .IM状态传输线.completed>b{color:#55b784}
body[data-current-page="im"] .IM状态传输线.blocked,body[data-current-page="im"] .IM状态传输线.failed{color:#ed7580}
body[data-current-page="im"] .IM状态传输线.blocked::before,body[data-current-page="im"] .IM状态传输线.failed::before{background:repeating-linear-gradient(to bottom,#ed7580 0 5px,transparent 5px 10px)}
body[data-current-page="im"] .IM状态传输线.blocked>b,body[data-current-page="im"] .IM状态传输线.failed>b{color:#ed7580}
body[data-current-page="im"] .IM汇合门禁,body[data-current-page="im"] .IM落库门禁{width:min(430px,100%);margin:0 auto;padding:11px 13px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--music-border) 86%,transparent);border-radius:var(--workbench-action-radius);background:color-mix(in srgb,var(--music-panel-raised) 65%,transparent)}
body[data-current-page="im"] .IM汇合门禁>span,body[data-current-page="im"] .IM落库门禁>span{width:28px;height:28px;display:grid;place-items:center;color:var(--music-text-muted);font-size:17px}
body[data-current-page="im"] .IM汇合门禁>div,body[data-current-page="im"] .IM落库门禁>div{min-width:0;display:grid;gap:3px}
body[data-current-page="im"] .IM汇合门禁 strong,body[data-current-page="im"] .IM落库门禁 strong{font-size:11px}
body[data-current-page="im"] .IM汇合门禁 small,body[data-current-page="im"] .IM落库门禁 small{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM汇合门禁 em{color:#e7a642;font-size:9px;font-style:normal;line-height:1.45}
body[data-current-page="im"] .IM汇合门禁.blocked{border-color:color-mix(in srgb,#e7a642 70%,var(--music-border))}
body[data-current-page="im"] .IM汇合门禁.completed,body[data-current-page="im"] .IM落库门禁.completed{border-color:color-mix(in srgb,#55b784 65%,var(--music-border))}
body[data-current-page="im"] .IM落库门禁{margin-top:0}
body[data-current-page="im"] .IM任务检查器{min-height:100%;padding:2px 0 12px;display:flex;flex-direction:column;gap:14px;color:var(--music-text)}
body[data-current-page="im"] .IM检查器标签{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid color-mix(in srgb,var(--music-border) 76%,transparent)}
body[data-current-page="im"] .IM检查器标签 button{min-height:36px;border:0;background:transparent;color:var(--music-text-muted);font-size:10px;cursor:pointer}

body[data-current-page="im"] .IM检查器标签 button:focus-visible{outline:2px solid #4f8df7;outline-offset:-2px}
body[data-current-page="im"] .IM检查器标签 button:disabled{opacity:.42;cursor:not-allowed}
body[data-current-page="im"] .IM任务检查器>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
body[data-current-page="im"] .IM任务检查器>header span{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM任务检查器>header strong{font-size:13px}
body[data-current-page="im"] .IM分支检查{margin:0;display:grid}
body[data-current-page="im"] .IM分支检查>div{padding:9px 0;display:grid;grid-template-columns:minmax(76px,.75fr) minmax(0,1.25fr);align-items:start;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--music-border) 68%,transparent)}
body[data-current-page="im"] .IM分支检查 dt{color:var(--music-text-muted);font-size:9px}
body[data-current-page="im"] .IM分支检查 dd{margin:0;color:var(--music-text);font-size:10px;font-weight:650;text-align:right;word-break:break-word}
body[data-current-page="im"] .IM分支检查 dd.failed{color:#ed7580}
body[data-current-page="im"] .IM分支检查 dd.completed{color:#55b784}
body[data-current-page="im"] .IM检查器计数{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid color-mix(in srgb,var(--music-border) 78%,transparent);border-radius:var(--workbench-action-radius);overflow:hidden}
body[data-current-page="im"] .IM检查器计数>div{padding:10px 4px;display:grid;gap:4px;text-align:center}
body[data-current-page="im"] .IM检查器计数>div+div{border-left:1px solid color-mix(in srgb,var(--music-border) 68%,transparent)}
body[data-current-page="im"] .IM检查器计数 dt{color:var(--music-text-muted);font-size:8px}
body[data-current-page="im"] .IM检查器计数 dd{margin:0;color:#4f8df7;font-size:15px;font-weight:750}
body[data-current-page="im"] .IM检查器计数 dd.异常{color:#ed7580}
body[data-current-page="im"] .IM依赖说明{display:grid;gap:7px}
body[data-current-page="im"] .IM依赖说明 strong{font-size:10px}
body[data-current-page="im"] .IM依赖说明 p{margin:0;padding:10px;border-radius:var(--workbench-action-radius);background:color-mix(in srgb,var(--music-panel-raised) 70%,transparent);color:var(--music-text-secondary);font-size:9px;line-height:1.6;text-align:center}
body[data-current-page="im"] .IM检查器操作{margin-top:auto;display:grid;gap:9px}
body[data-current-page="im"] .IM检查器操作 details{border:1px solid color-mix(in srgb,#ed7580 60%,var(--music-border));border-radius:var(--workbench-action-radius)}
body[data-current-page="im"] .IM检查器操作 summary{min-height:36px;display:grid;place-items:center;color:#ed7580;font-size:10px;font-weight:700;cursor:pointer;list-style:none}
body[data-current-page="im"] .IM检查器操作 summary::-webkit-details-marker{display:none}
body[data-current-page="im"] .IM检查器操作 details p{margin:0;padding:0 10px 10px;color:var(--music-text-secondary);font-size:9px;line-height:1.55}
body[data-current-page="im"] .IM检查器操作>button{min-height:38px;border:1px solid color-mix(in srgb,#4f8df7 68%,var(--music-border));border-radius:var(--workbench-action-radius);background:transparent;color:#4f8df7;font-size:10px;font-weight:700;cursor:pointer}
body[data-current-page="im"] .IM检查器操作>button:disabled{border-color:var(--music-border);color:var(--music-text-muted);cursor:not-allowed;opacity:.62}


@keyframes IM单任务旋转{to{transform:rotate(360deg)}}
@keyframes IM单任务进度{from{transform:translateX(-35%)}to{transform:translateX(120%)}}
@keyframes IM线路传输对接{0%{transform:translate(-50%,-8px);opacity:0}18%{opacity:1}82%{opacity:1}100%{transform:translate(-50%,43px);opacity:0}}
@media(prefers-reduced-motion:reduce){body[data-current-page="im"] .IM并发分支.running .IM分支状态点,body[data-current-page="im"] .IM并发分支.running>i::after,body[data-current-page="im"] .IM状态传输线.running>i{animation:none!important}}
@media(max-width:1180px){body[data-current-page="im"] .IM单任务汇总{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-current-page="im"] .IM单任务汇总>div:nth-child(4){border-left:0;border-top:1px solid color-mix(in srgb,var(--music-border) 72%,transparent)}body[data-current-page="im"] .IM单任务汇总>div:nth-child(n/**/+5){border-top:1px solid color-mix(in srgb,var(--music-border) 72%,transparent)}body[data-current-page="im"] .IM并发分支网格{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body[data-current-page="im"] .IM单任务并发面板{margin:10px 0 14px}body[data-current-page="im"] .IM单任务汇总{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-current-page="im"] .IM单任务汇总>div:nth-child(odd){border-left:0}body[data-current-page="im"] .IM单任务汇总>div:nth-child(n/**/+3){border-top:1px solid color-mix(in srgb,var(--music-border) 72%,transparent)}body[data-current-page="im"] .IM并发分支网格{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-current-page="im"] .IM处理状态区>header{grid-template-columns:30px minmax(0,1fr)}body[data-current-page="im"] .IM处理状态区>header em{grid-column:2;justify-self:start}}

/* 2026-09-04 内容架构模板库：原文与架构同屏对照，版本编辑收进右栏。 */
.课程三栏.内容架构三栏{grid-template-columns:minmax(210px,240px) minmax(0,1fr) minmax(280px,320px)}
.内容架构对照主面板{overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
.内容架构对照主面板>.课程主对象标题{position:relative;top:auto}
.内容架构对照工作区{min-width:0;min-height:0;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-auto-rows:minmax(0,1fr);gap:10px;overflow:hidden;background:var(--workbench-surface-muted)}
.内容架构对照栏{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}
.内容架构对照栏>header{min-height:52px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--workbench-border-subtle);background:var(--workbench-surface-panel)}
.内容架构对照栏>header>div{min-width:0;display:grid;gap:3px}.内容架构对照栏>header strong{font-size:12px}.内容架构对照栏>header small{color:var(--workbench-text-muted);font-size:9px}.内容架构对照栏>header em{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:var(--workbench-surface-muted);color:var(--workbench-text-secondary);font-size:9px;font-style:normal}
.内容架构对照滚动区{min-width:0;min-height:0;padding:10px 0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--workbench-border-subtle) transparent}
.内容架构对照原文 .内容架构原文操作{padding:0 10px;flex-wrap:wrap}.内容架构对照原文 .内容架构原文操作>span{flex-basis:100%}.内容架构对照原文 .内容架构图文列表{padding:0 10px 12px}.内容架构对照原文 .内容架构图文页{grid-template-columns:minmax(112px,38%) minmax(0,1fr);gap:10px;padding:10px}
.内容架构槽位树预览{padding:2px 12px 14px}.内容架构槽位树预览>.内容架构槽位根{padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid color-mix(in srgb,#245faf 45%,var(--workbench-border-subtle));border-radius:var(--workbench-action-radius);background:color-mix(in srgb,#245faf 10%,var(--workbench-surface-panel))}.内容架构槽位树预览>.内容架构槽位根 span{font-size:11px;font-weight:750}.内容架构槽位树预览>.内容架构槽位根 small{color:var(--workbench-text-muted);font-size:9px}
.内容架构槽位树预览>.内容架构槽位树{margin-top:10px}.内容架构槽位节点>button.内容架构槽位预览{position:relative;z-index:1;width:100%;min-height:42px;padding:8px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary);text-align:left;box-shadow:0 3px 10px rgba(36,95,175,.05)}.内容架构槽位预览 span{min-width:0;font-size:10px;font-weight:700;overflow-wrap:anywhere}.内容架构槽位预览 em{color:#245faf;font-size:8px;font-style:normal}.内容架构槽位预览 small{grid-column:1/-1;color:var(--workbench-text-muted);font-size:8px}.内容架构槽位预览:focus-visible{border-color:#4f8df7;background:color-mix(in srgb,#4f8df7 8%,var(--workbench-surface-panel));box-shadow:0 0 0 1px color-mix(in srgb,#4f8df7 45%,transparent)}.内容架构槽位预览:focus-visible{outline:2px solid color-mix(in srgb,#4f8df7 45%,transparent);outline-offset:2px}
.内容架构对照提示{margin:0;padding:9px 11px;border-top:1px solid var(--workbench-border-subtle);background:var(--workbench-surface-muted);color:var(--workbench-text-muted);font-size:8px;line-height:1.55}
.内容架构操作面板 .课程自动提取状态{margin-bottom:10px}.内容架构版本状态{background:var(--workbench-surface-muted)}
.内容架构节点编辑器{margin:0;padding:0 12px 14px}.内容架构节点编辑器>header{padding:10px;margin:0}.内容架构节点字段{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.65fr);gap:8px;padding:10px 12px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}.内容架构节点字段 label{min-width:0;display:grid;gap:5px;color:var(--workbench-text-muted);font-size:9px}.内容架构节点字段 input,.内容架构节点字段 select{min-width:0;width:100%}.内容架构删除节点{justify-self:start;color:#b04b55}.内容架构节点编辑器>footer{position:sticky;bottom:0;z-index:2;padding:10px 0;background:var(--workbench-surface-panel)}

@media(max-width:1180px) and (min-width:761px){
  .课程三栏.内容架构三栏{grid-template-columns:210px minmax(390px,1fr) 280px}
  .内容架构对照工作区{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(280px,1fr));grid-auto-rows:minmax(280px,1fr);overflow:auto}
}
@media(max-width:760px){
  .课程三栏.内容架构三栏{grid-template-columns:1fr;overflow:auto}.内容架构对照主面板{overflow:visible;display:block}.内容架构对照工作区{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;overflow:visible}.内容架构对照栏{min-height:420px}.内容架构对照原文 .内容架构图文页{grid-template-columns:minmax(104px,34%) minmax(0,1fr)}.内容架构操作面板{overflow:visible}.内容架构节点编辑器>footer{position:static}
}

/* 2026-09-04 内容架构模板库：默认内容卡片，详情与工作流提取收进右半屏弹层。 */
.内容架构卡片页面{position:relative;min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-panel-radius);background:var(--workbench-surface-panel)}
.内容架构库页头{min-height:64px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--workbench-border-subtle)}
.内容架构库页头>div:first-child{min-width:0;display:grid;gap:4px}.内容架构库页头 h2{margin:0;font-size:15px}.内容架构库页头 p{margin:0;color:var(--workbench-text-muted);font-size:10px}.内容架构库页头>div:last-child{display:flex;gap:8px}.内容架构库页头 button{min-height:30px;padding:0 11px}
.内容架构卡片页面>.课程生产消息{margin:10px 14px 0}
.内容架构分类{min-height:46px;padding:0 16px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--workbench-border-subtle)}
.内容架构分类 button{min-height:45px;padding:0;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--workbench-text-secondary);font-size:11px;cursor:pointer}
.内容架构分类 button span{position:relative;display:inline-flex;align-items:center;min-height:45px}.内容架构分类 button small{color:var(--workbench-text-muted);font-size:9px}
.内容架构分类 button:focus-visible{color:var(--workbench-text-accent)}.内容架构分类 button:focus-visible{outline:2px solid var(--workbench-status-accent-text);outline-offset:3px}
.内容架构卡片滚动区{min-width:0;min-height:0;padding:14px;overflow:auto;background:var(--workbench-surface-muted);scrollbar-width:thin;scrollbar-color:var(--workbench-border-subtle) transparent}
.内容架构卡片网格{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:start;gap:12px}
.内容架构内容卡{position:relative;min-width:0;min-height:178px;padding:12px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:13px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary);text-align:left;cursor:pointer;box-shadow:none}
.内容架构内容卡:hover{border-color:var(--workbench-border-strong);box-shadow:var(--workbench-shadow-card)}.内容架构内容卡:focus-visible{outline:2px solid var(--workbench-status-accent-text);outline-offset:2px}
.内容架构内容卡 figure{min-width:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:6px}.内容架构内容卡 figure img,.内容架构内容卡 .内容架构原图占位{width:100%;aspect-ratio:3/4;max-height:148px;border:1px solid var(--workbench-border-subtle);border-radius:calc(var(--workbench-action-radius) - 2px);background:var(--workbench-surface-muted);object-fit:cover}.内容架构内容卡 figure figcaption{color:var(--workbench-text-muted);font-size:8px;text-align:center}
.内容架构卡片正文{min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px}.内容架构卡片正文>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.内容架构卡片正文 em{padding:3px 7px;border-radius:999px;background:var(--workbench-status-neutral-bg);color:var(--workbench-status-neutral-text);font-size:8px;font-style:normal;font-weight:700}.内容架构卡片正文 em.已保存{background:var(--workbench-status-success-bg);color:var(--workbench-status-success-text)}.内容架构卡片正文>span small{color:var(--workbench-text-muted);font-size:8px}.内容架构卡片正文>strong{font-size:12px;line-height:1.45}.内容架构卡片正文>p{margin:0;overflow:hidden;color:var(--workbench-text-secondary);font-size:9px;line-height:1.7}.内容架构卡片正文>footer{padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--workbench-border-subtle)}.内容架构卡片正文>footer span{min-width:0;color:var(--workbench-text-muted);font-size:8px}.内容架构卡片正文>footer i{flex:0 0 auto;color:var(--workbench-text-accent);font-size:9px;font-style:normal;font-weight:700}
.内容架构详情弹层{position:absolute;z-index:18;inset:0;display:flex;justify-content:flex-end}.内容架构详情遮罩{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(13,18,28,.34);cursor:pointer}.内容架构详情抽屉{position:relative;z-index:1;width:50%;min-width:560px;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-left:1px solid var(--workbench-border-strong);background:var(--workbench-surface-panel);box-shadow:var(--workbench-shadow-floating,0 18px 52px rgba(7,12,20,.28));animation:none;transition:none;transform:none}
.内容架构详情抽屉>header{min-height:76px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--workbench-border-subtle)}.内容架构详情抽屉>header>div{min-width:0;display:grid;gap:3px}.内容架构详情抽屉>header small{color:var(--workbench-text-accent);font-size:9px;font-weight:700}.内容架构详情抽屉>header h2{margin:0;font-size:15px}.内容架构详情抽屉>header p{margin:0;color:var(--workbench-text-muted);font-size:9px}.内容架构详情抽屉>header>button{flex:0 0 auto;min-height:30px;padding:0 11px}
.内容架构详情内容{min-width:0;min-height:0;padding:14px;display:grid;align-content:start;gap:14px;overflow:auto;background:var(--workbench-surface-muted);overscroll-behavior:contain}
.内容架构详细原文,.内容架构AI区域{min-width:0;padding:14px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}.内容架构详细原文>header,.内容架构AI区域>header{margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.内容架构详细原文>header>div,.内容架构AI区域>header>div{min-width:0;display:grid;gap:4px}.内容架构详细原文 h3,.内容架构AI区域 h3{margin:0;font-size:12px}.内容架构详细原文>header p,.内容架构AI区域>header p{margin:0;color:var(--workbench-text-muted);font-size:9px;line-height:1.55}.内容架构详细原文>header>span,.内容架构AI区域>header>span{flex:0 0 auto;color:var(--workbench-text-muted);font-size:9px}
.内容架构详细原文 .内容架构原文操作{padding:0 0 10px}.内容架构详细原文 .内容架构图文列表{padding:0}.内容架构详细原文 .内容架构图文页{grid-template-columns:minmax(142px,34%) minmax(0,1fr);padding:10px}.内容架构AI区域>.工作流场景选择{margin:0 0 12px}.内容架构AI区域>.课程主按钮{width:100%;min-height:38px}.内容架构AI区域>.课程表单状态{margin:10px 0 0}
.内容架构只读树{display:grid;gap:10px}.内容架构只读树>header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}.内容架构只读树>header strong{font-size:11px}.内容架构只读树>header small{color:var(--workbench-text-muted);font-size:8px}.内容架构只读树 ol{margin:0;padding:0;display:grid;gap:7px;list-style:none}.内容架构只读节点{margin-left:calc(var(--tree-depth,0) * 18px)}.内容架构只读节点>article{min-height:42px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-left:2px solid var(--workbench-border-strong);background:var(--workbench-surface-muted)}.内容架构只读节点>article>span{min-width:0;display:flex;align-items:center;gap:8px}.内容架构只读节点 strong{font-size:10px}.内容架构只读节点 em{color:var(--workbench-text-accent);font-size:8px;font-style:normal}.内容架构只读节点 small{color:var(--workbench-text-muted);font-size:8px}
.内容架构关系图{display:grid;gap:10px}.内容架构关系图>header{padding:0 2px 8px;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:end;gap:9px;border-bottom:1px solid var(--workbench-border-subtle)}.内容架构关系图>header>div{display:grid;gap:2px}.内容架构关系图>header>div:last-child{text-align:right}.内容架构关系图>header strong{font-size:10px}.内容架构关系图>header small,.内容架构关系图>header>span{color:var(--workbench-text-muted);font-size:8px}.内容架构关系图>header>span{text-align:center}.内容架构关系图>ol{margin:0;padding:0;display:grid;gap:10px;list-style:none}.内容架构关系行{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch;gap:9px}.内容架构关系来源{display:grid;align-content:start;gap:7px}.内容架构关系来源>article{min-width:0;padding:8px;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:9px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}.内容架构关系来源 figure{margin:0;display:grid;gap:4px}.内容架构关系来源 figure img,.内容架构关系来源 .内容架构原图占位{width:56px;aspect-ratio:3/4;border:1px solid var(--workbench-border-subtle);border-radius:calc(var(--workbench-action-radius) - 2px);background:var(--workbench-surface-panel);object-fit:cover}.内容架构关系来源 figcaption{color:var(--workbench-text-muted);font-size:7px;text-align:center}.内容架构关系来源>article>div{min-width:0;display:grid;gap:5px}.内容架构关系来源 span{color:var(--workbench-text-secondary);font-size:8px;font-weight:700}.内容架构关系来源 p{margin:0;display:-webkit-box;overflow:hidden;color:var(--workbench-text-primary);font-size:9px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}.内容架构关系连线{position:relative;align-self:center;height:1px;background:var(--workbench-border-strong)}.内容架构关系连线::before,.内容架构关系连线::after{content:"";position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--workbench-text-accent);transform:translateY(-50%)}.内容架构关系连线::before{left:0}.内容架构关系连线::after{right:0}.内容架构关系节点{min-width:0;padding:11px 12px;display:grid;align-content:center;gap:7px;border:1px solid var(--workbench-border-subtle);border-left:3px solid var(--workbench-status-accent-text);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}.内容架构关系节点>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.内容架构关系节点 em{padding:2px 6px;border-radius:999px;background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text);font-size:8px;font-style:normal;font-weight:700}.内容架构关系节点 small{color:var(--workbench-text-muted);font-size:8px}.内容架构关系节点 strong{font-size:10px;line-height:1.5}.内容架构关系节点 p{margin:0;color:var(--workbench-text-muted);font-size:8px;line-height:1.45}.内容架构关系未回读{padding:12px;display:grid;gap:7px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}.内容架构关系未回读>strong{font-size:11px}.内容架构关系未回读>p{margin:0;color:var(--workbench-text-muted);font-size:9px;line-height:1.55}.内容架构关系未回读 .内容架构只读树{margin-top:4px}
.内容架构页内结构{margin-top:3px;padding-top:7px;display:grid;gap:5px;border-top:1px solid var(--workbench-border-subtle)}.内容架构页内结构>small{color:var(--workbench-text-muted);font-size:7px}.内容架构页内结构>ol{margin:0;padding:0;display:grid;gap:4px;list-style:none}.内容架构页内结构 li{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:5px}.内容架构页内结构 li em{padding:1px 4px;border-radius:4px;background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text);font-size:7px;font-style:normal;font-weight:700}.内容架构页内结构 li span{overflow:hidden;color:var(--workbench-text-secondary);font-size:8px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.内容架构页内结构.未回读 p{display:block;color:var(--workbench-text-muted);font-size:8px;-webkit-line-clamp:unset}
.内容架构层级工作区{min-width:0;min-height:520px;display:grid;grid-template-columns:minmax(220px,42%) minmax(0,1fr);overflow:hidden;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}
.内容架构层级树{min-width:0;padding:12px;overflow:auto;border-right:1px solid var(--workbench-border-subtle);background:var(--workbench-surface-panel)}.内容架构层级树>header{display:grid;gap:7px}.内容架构层级树>header>small{color:var(--workbench-text-muted);font-size:8px;font-weight:700}.内容架构层级树 button,.内容架构模块节点 summary{width:100%;min-width:0;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted);color:var(--workbench-text-primary);text-align:left;cursor:pointer}.内容架构模块节点 summary.当前,.内容架构模块节点 summary:focus-visible{border-color:var(--workbench-status-accent-text);background:var(--workbench-status-accent-bg);outline:none}.内容架构层级树 button[aria-pressed="true"]{outline:none;}.内容架构层级树 button>span,.内容架构模块节点 summary>span{min-width:0;display:flex;align-items:center;gap:7px}.内容架构层级树 strong,.内容架构层级树 b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.内容架构层级树 em{padding:2px 5px;border-radius:999px;background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text);font-size:7px;font-style:normal;font-weight:700}.内容架构层级树 small{color:var(--workbench-text-muted);font-size:7px;white-space:nowrap}.内容架构层级树>ol,.内容架构模块节点 ol{margin:8px 0 0;padding:0 0 0 17px;display:grid;gap:8px;list-style:none;border-left:1px solid var(--workbench-border-strong)}.内容架构模块节点 details{min-width:0}.内容架构模块节点 summary{list-style:none}.内容架构模块节点 summary::-webkit-details-marker{display:none}.内容架构模块节点 summary::before{content:"";width:6px;height:6px;flex:0 0 auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-1px)}.内容架构模块节点 details:not([open]) summary::before{transform:rotate(-45deg)}.内容架构模块节点 summary>span{flex:1}.内容架构模块节点 summary strong{line-height:1.35;white-space:normal}.内容架构页面节点{min-width:0;display:grid;gap:5px}.内容架构页面节点>button{min-height:31px;padding:6px 8px}.内容架构页面节点.当前>button{border-color:var(--workbench-status-accent-text)}.内容架构页面节点 .内容架构页内结构{margin:0 0 0 12px;padding:4px 0 0 9px}.内容架构页面节点 .内容架构页内结构 li{display:block}.内容架构页面节点 .内容架构页内结构 li button{min-height:28px;padding:4px 6px;justify-content:flex-start;border-color:transparent;background:transparent}.内容架构页面节点 .内容架构页内结构 li.当前 button{border-color:var(--workbench-status-accent-text);background:var(--workbench-status-accent-bg)}
.内容架构证据面板{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.内容架构证据面板>header{padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--workbench-border-subtle);background:var(--workbench-surface-panel)}.内容架构证据面板>header>div{min-width:0;display:grid;gap:3px}.内容架构证据面板>header small,.内容架构证据面板>header span{color:var(--workbench-text-muted);font-size:8px}.内容架构证据面板>header strong{font-size:11px}.内容架构证据面板>header p{margin:0;color:var(--workbench-text-muted);font-size:8px;line-height:1.45}.内容架构证据列表{min-height:0;padding:10px;display:grid;align-content:start;gap:9px;overflow:auto}.内容架构证据页{min-width:0;padding:9px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}.内容架构证据页 figure{margin:0;display:grid;gap:4px}.内容架构证据页 figure img,.内容架构证据页 .内容架构原图占位{width:82px;aspect-ratio:3/4;object-fit:contain}.内容架构证据页 figcaption{color:var(--workbench-text-muted);font-size:7px;text-align:center}.内容架构证据页>div{min-width:0;display:grid;align-content:start;gap:6px}.内容架构证据页>div>strong{font-size:9px}.内容架构证据页>div>p{max-height:102px;margin:0;overflow:auto;color:var(--workbench-text-secondary);font-size:8px;line-height:1.65;white-space:pre-wrap}.内容架构证据页 .内容架构页内结构 li{display:grid}.内容架构证据页 .内容架构页内结构 li.当前{padding:3px;border-radius:4px;background:var(--workbench-status-accent-bg)}.内容架构证据空态{padding:16px;color:var(--workbench-text-muted);font-size:9px;line-height:1.6}
@media(max-width:1180px) and (min-width:761px){.内容架构详情抽屉{width:66%;min-width:520px}.内容架构卡片网格{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}
@media(max-width:760px){.内容架构卡片页面{height:auto;min-height:680px;overflow:visible}.内容架构库页头{align-items:flex-start}.内容架构库页头 p{max-width:260px}.内容架构卡片滚动区{overflow:visible}.内容架构卡片网格{grid-template-columns:1fr}.内容架构内容卡{grid-template-columns:88px minmax(0,1fr);min-height:150px}.内容架构详情弹层{position:fixed;z-index:40}.内容架构详情抽屉{width:100%;min-width:0}.内容架构详细原文 .内容架构图文页{grid-template-columns:104px minmax(0,1fr)}.内容架构关系图>header{grid-template-columns:1fr 1fr}.内容架构关系图>header>span{display:none}.内容架构关系行{grid-template-columns:1fr}.内容架构关系连线{width:1px;height:20px;justify-self:center}.内容架构关系来源>article{grid-template-columns:64px minmax(0,1fr)}.内容架构关系来源 figure img,.内容架构关系来源 .内容架构原图占位{width:64px}}
@media(max-width:760px){.内容架构层级工作区{min-height:0;grid-template-columns:1fr;overflow:visible}.内容架构层级树{max-height:520px;border-right:0;border-bottom:1px solid var(--workbench-border-subtle)}.内容架构证据面板{min-height:420px}.内容架构证据页{grid-template-columns:74px minmax(0,1fr)}.内容架构证据页 figure img,.内容架构证据页 .内容架构原图占位{width:74px}}

/* 2026-09-04 任务首页：后台配置发起、处理进度、结果与落库完整状态。 */
body[data-current-page="im"] .IM发起任务标题{display:none}body[data-current-page="im"] .IM聊天窗口项>span{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px}body[data-current-page="im"] .IM聊天窗口项>span>strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body[data-current-page="im"] .IM聊天窗口项>span>small{grid-column:1/-1;display:block;overflow:hidden;color:var(--workbench-text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}body[data-current-page="im"] .IM聊天窗口项 .任务耗时{display:inline;color:inherit;font:inherit}body[data-current-page="im"] .IM窗口进度{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:8px}body[data-current-page="im"] .IM窗口进度>i{height:3px;overflow:hidden;border-radius:999px;background:var(--workbench-surface-inset)}body[data-current-page="im"] .IM窗口进度>i::after{content:"";display:block;width:var(--im-window-progress,0);height:100%;border-radius:inherit;background:var(--workbench-status-accent-text)}body[data-current-page="im"] .IM窗口进度>b{color:var(--workbench-text-accent);font-size:8px;font-weight:700}

body[data-current-page="im"] .IM消息区>#IM任务消息,body[data-current-page="im"] .IM消息区 .IM任务消息组{min-height:100%;width:100%}body[data-current-page="im"] .IM任务消息组{display:block}body[data-current-page="im"] .IM任务进度面板{min-height:100%;padding:12px;display:grid;grid-template-rows:auto minmax(260px,1fr) auto;gap:12px;color:var(--workbench-text-primary)}body[data-current-page="im"] .IM进度总览{padding:14px 16px;display:grid;grid-template-columns:minmax(145px,.7fr) minmax(360px,1.7fr) minmax(220px,1fr);align-items:center;gap:18px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}body[data-current-page="im"] .IM总进度{display:grid;gap:2px}body[data-current-page="im"] .IM总进度>span{color:var(--workbench-text-secondary);font-size:10px}body[data-current-page="im"] .IM总进度>strong{color:var(--workbench-text-accent);font-size:36px;line-height:1;font-weight:760;letter-spacing:.02em}body[data-current-page="im"] .IM总进度>small{color:var(--workbench-text-muted);font-size:9px}body[data-current-page="im"] .IM进度总览>dl{margin:0;padding:0 18px;display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));border-inline:1px solid var(--workbench-border-subtle)}body[data-current-page="im"] .IM进度总览>dl>div{display:grid;gap:6px;text-align:center}body[data-current-page="im"] .IM进度总览 dt{color:var(--workbench-text-secondary);font-size:9px}body[data-current-page="im"] .IM进度总览 dd{margin:0;font-size:20px;font-weight:700}body[data-current-page="im"] .IM进度总览 dd.异常{color:var(--workbench-status-danger-text)}body[data-current-page="im"] .IM进度时间{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body[data-current-page="im"] .IM进度时间>span{display:grid;gap:5px;color:var(--workbench-text-secondary);font-size:9px}body[data-current-page="im"] .IM进度时间 strong{color:var(--workbench-text-primary);font-size:14px;font-weight:650}body[data-current-page="im"] .IM进度时间 .任务耗时{color:inherit;font:inherit}

body[data-current-page="im"] .IM分支进度列表{min-height:0;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:auto;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}body[data-current-page="im"] .IM分支进度列表>header{padding:0 12px;display:grid;grid-template-columns:82px minmax(160px,1fr) 90px 84px;gap:14px;color:var(--workbench-text-muted);font-size:9px;text-align:center}body[data-current-page="im"] .IM分支进度列表>header>span:first-child{text-align:left}body[data-current-page="im"] .IM分支进度行{width:100%;min-height:56px;padding:10px 12px;display:grid;grid-template-columns:82px minmax(160px,1fr) 56px 90px 84px;align-items:center;gap:14px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel);color:var(--workbench-text-primary);text-align:left;cursor:pointer}body[data-current-page="im"] .IM分支进度行:focus-visible{outline:2px solid var(--workbench-status-accent-text);outline-offset:2px}body[data-current-page="im"] .IM分支进度行>strong{font-size:12px}body[data-current-page="im"] .IM分支进度轨{height:11px;overflow:hidden;border-radius:3px;background:var(--workbench-surface-inset)}body[data-current-page="im"] .IM分支进度轨>i{position:relative;display:block;width:var(--im-branch-progress,0);height:100%;border-radius:inherit;background:var(--workbench-status-accent-text)}body[data-current-page="im"] .IM分支进度行.running .IM分支进度轨>i{width:100%;overflow:hidden;background:color-mix(in srgb,var(--workbench-status-accent-text) 28%,var(--workbench-surface-inset))}body[data-current-page="im"] .IM分支进度行.running .IM分支进度轨>i::after{content:"";display:block;width:36%;height:100%;background:linear-gradient(90deg,transparent,var(--workbench-brand-primary-hover),transparent);animation:IM任务首页处理中 1.6s ease-in-out infinite}body[data-current-page="im"] .IM分支进度行.completed .IM分支进度轨>i{background:var(--workbench-status-success-text)}body[data-current-page="im"] .IM分支进度行:is(.failed,.blocked) .IM分支进度轨>i{width:100%;background:var(--workbench-status-danger-text)}body[data-current-page="im"] .IM分支进度行>b,body[data-current-page="im"] .IM分支进度行>time{text-align:center;font-size:10px;font-weight:600}body[data-current-page="im"] .IM分支进度行>em{justify-self:center;padding:4px 8px;border-radius:999px;background:var(--workbench-status-neutral-bg);color:var(--workbench-status-neutral-text);font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}body[data-current-page="im"] .IM分支进度行.running>em{background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text)}body[data-current-page="im"] .IM分支进度行.completed>em{background:var(--workbench-status-success-bg);color:var(--workbench-status-success-text)}body[data-current-page="im"] .IM分支进度行:is(.failed,.blocked)>:is(b,em){color:var(--workbench-status-danger-text)}body[data-current-page="im"] .IM分支进度行:is(.failed,.blocked)>em{background:var(--workbench-status-danger-bg)}
body[data-current-page="im"] .IM分支状态未回读{min-height:240px;display:grid;place-content:center;gap:6px;text-align:center;color:var(--workbench-text-muted)}
body[data-current-page="im"] .IM分支状态未回读 strong{color:var(--workbench-text-primary);font-size:13px}
body[data-current-page="im"] .IM分支状态未回读 span{font-size:9px}

body[data-current-page="im"] .IM结果落库汇总{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-panel)}
body[data-current-page="im"] .IM结果落库汇总>section{min-height:138px;padding:14px 16px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px}
body[data-current-page="im"] .IM结果落库汇总>section+section{border-left:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM结果落库汇总 section>header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}
body[data-current-page="im"] .IM结果落库汇总 section>header strong{font-size:12px}
body[data-current-page="im"] .IM结果落库汇总 section>header span{color:var(--workbench-text-muted);font-size:9px}
body[data-current-page="im"] .IM完成度圆环{width:72px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,var(--workbench-surface-panel) 72%,transparent 73% 99%),conic-gradient(var(--workbench-status-accent-text) var(--im-total-progress,0),var(--workbench-surface-inset) 0)}
body[data-current-page="im"] .IM完成度圆环>b{font-size:12px}
body[data-current-page="im"] .IM结果落库汇总 dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
body[data-current-page="im"] .IM结果落库汇总 dl>div{display:flex;justify-content:space-between;gap:8px;font-size:9px}
body[data-current-page="im"] .IM结果落库汇总 dt{color:var(--workbench-text-muted)}
body[data-current-page="im"] .IM结果落库汇总 dd{margin:0;font-weight:700}
body[data-current-page="im"] .IM落库状态{grid-column:1/-1;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:3px 10px}
body[data-current-page="im"] .IM落库状态>i{grid-row:1/3;width:28px;height:28px;border:2px solid currentColor;border-radius:50%;color:var(--workbench-text-muted)}
body[data-current-page="im"] .IM落库状态>strong{font-size:13px}
body[data-current-page="im"] .IM落库状态>p{margin:0;color:var(--workbench-text-muted);font-size:9px}
body[data-current-page="im"] .IM落库状态:is(.stored,.completed)>i{color:var(--workbench-status-success-text);box-shadow:inset 0 0 0 6px var(--workbench-status-success-bg)}
body[data-current-page="im"] .IM落库状态:is(.storing,.awaiting_storage)>i{color:var(--workbench-status-accent-text);box-shadow:inset 0 0 0 6px var(--workbench-status-accent-bg)}

body[data-current-page="im"] .IM任务检查器{min-height:100%;padding:0 0 12px;display:flex;flex-direction:column;gap:12px}
body[data-current-page="im"] .IM检查器标签{margin:0 0 2px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);overflow:hidden}
body[data-current-page="im"] .IM检查器标签 button{min-height:34px;border:0;background:transparent;color:var(--workbench-text-secondary);font-size:10px}

body[data-current-page="im"] .IM检查器分组{padding:12px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}
body[data-current-page="im"] .IM检查器分组>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
body[data-current-page="im"] .IM检查器分组>header strong{font-size:11px}
body[data-current-page="im"] .IM检查器分组>header span{color:var(--workbench-text-accent);font-size:9px;font-weight:700}
body[data-current-page="im"] .IM检查器分组>header span.异常,body[data-current-page="im"] .IM检查器分组>header span.failed{color:var(--workbench-status-danger-text)}
body[data-current-page="im"] .IM分支检查{margin:8px 0 0;display:grid}
body[data-current-page="im"] .IM分支检查>div{padding:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM分支检查 dt{color:var(--workbench-text-muted);font-size:9px}
body[data-current-page="im"] .IM分支检查 dd{margin:0;font-size:10px;font-weight:650;text-align:right}
body[data-current-page="im"] .IM检查器说明{margin:8px 0 0;color:var(--workbench-text-secondary);font-size:9px;line-height:1.6}
body[data-current-page="im"] .IM检查器操作{margin-top:auto}
body[data-current-page="im"] .IM检查器操作>button{width:100%;min-height:36px;border:1px solid var(--workbench-status-accent-text);border-radius:var(--workbench-action-radius);background:transparent;color:var(--workbench-status-accent-text);font-size:10px;font-weight:700}

body[data-current-page="im"][data-im-task-state="not_created"] .IM窗口,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM窗口{grid-template-rows:auto 92px minmax(0,1fr)}
body[data-current-page="im"][data-im-task-state="not_created"] .IM消息区,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM消息区{min-height:0;padding:24px 30px 8px;overflow:hidden}
body[data-current-page="im"][data-im-task-state="not_created"] .IM空白引导,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM空白引导{height:100%;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left}
body[data-current-page="im"][data-im-task-state="not_created"] .IM空白引导 p,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM空白引导 p{margin:0;color:var(--workbench-text-secondary);font-size:10px}
body[data-current-page="im"][data-im-task-state="not_created"] #IM表单,
body[data-current-page="im"][data-im-task-state="launch_failed"] #IM表单{min-height:0;height:100%;padding:20px 30px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,230px);grid-template-rows:auto auto auto;align-self:stretch;align-content:start;align-items:start;gap:16px 18px;overflow:auto;border-top:0;background:transparent}
body[data-current-page="im"][data-im-task-state="not_created"] .IM发起任务标题,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM发起任务标题{grid-column:1/-1!important;grid-row:1!important;display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM发起任务标题>span{color:var(--workbench-text-accent);font-size:9px;font-weight:700}
body[data-current-page="im"] .IM发起任务标题>h2{margin:0;font-size:18px}
body[data-current-page="im"] .IM发起任务标题>p{margin:0;color:var(--workbench-text-muted);font-size:9px}
body[data-current-page="im"][data-im-task-state="not_created"] .IM任务配置板块,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM任务配置板块{grid-column:1/-1!important;grid-row:2!important;align-self:start!important;display:grid;gap:14px;padding:16px;border:1px solid var(--workbench-border-subtle);border-radius:var(--workbench-action-radius);background:var(--workbench-surface-muted)}
body[data-current-page="im"]:is([data-im-task-state="not_created"],[data-im-task-state="launch_failed"]) .IM栏目切换栏{display:grid!important;grid-template-rows:auto auto!important;gap:6px!important}
body[data-current-page="im"]:is([data-im-task-state="not_created"],[data-im-task-state="launch_failed"]) .IM栏目标题行{height:auto!important;display:flex!important;align-items:center;gap:6px}
body[data-current-page="im"]:is([data-im-task-state="not_created"],[data-im-task-state="launch_failed"]) #IM任务计费说明按钮{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--workbench-text-muted)!important;box-shadow:none!important}
body[data-current-page="im"]:is([data-im-task-state="not_created"],[data-im-task-state="launch_failed"]) #IM任务计费说明按钮 svg{width:14px!important;height:14px!important}
body[data-current-page="im"][data-im-task-state="not_created"] .IM小红书选项,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM小红书选项{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body[data-current-page="im"][data-im-task-state="not_created"] .IM栏目切换栏,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM栏目切换栏{max-width:none}
body[data-current-page="im"][data-im-task-state="not_created"] .IM需求字段,
body[data-current-page="im"][data-im-task-state="launch_failed"] .IM需求字段{grid-column:1!important;grid-row:3!important}
body[data-current-page="im"][data-im-task-state="not_created"] #IM提交按钮,
body[data-current-page="im"][data-im-task-state="launch_failed"] #IM提交按钮{grid-column:2!important;grid-row:3!important;align-self:end;width:100%;min-height:40px}

body[data-current-page="im"][data-im-task-state="creating"] #IM表单{display:none!important}
body[data-current-page="im"] .IM发起状态页{min-height:100%;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center}
body[data-current-page="im"] .IM发起状态页>i{width:40px;height:40px;border:3px solid var(--workbench-surface-inset);border-top-color:var(--workbench-status-accent-text);border-radius:50%;animation:IM单任务旋转 1s linear infinite}
body[data-current-page="im"] .IM发起状态页.failed>i{border-color:var(--workbench-status-danger-text);animation:none}
body[data-current-page="im"] .IM发起状态页>span{color:var(--workbench-text-accent);font-size:10px;font-weight:700}
body[data-current-page="im"] .IM发起状态页.failed>span{color:var(--workbench-status-danger-text)}
body[data-current-page="im"] .IM发起状态页>h2{margin:0;font-size:17px}
body[data-current-page="im"] .IM发起状态页>p{max-width:420px;margin:0;color:var(--workbench-text-muted);font-size:9px;line-height:1.6}

@keyframes IM任务首页处理中{0%{transform:translateX(-105%)}100%{transform:translateX(230%)}}
@media(prefers-reduced-motion:reduce){body[data-current-page="im"] .IM分支进度行.running .IM分支进度轨>i,body[data-current-page="im"] .IM发起状态页>i{animation:none!important}}
@media(max-width:1180px){body[data-current-page="im"] .IM进度总览{grid-template-columns:130px minmax(300px,1fr)}body[data-current-page="im"] .IM进度时间{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--workbench-border-subtle)}body[data-current-page="im"] .IM分支进度行{grid-template-columns:72px minmax(130px,1fr) 48px 74px 68px;gap:9px}body[data-current-page="im"] .IM分支进度列表>header{grid-template-columns:72px minmax(130px,1fr) 74px 68px;gap:9px}}@media(max-width:760px){body[data-current-page="im"] .IM任务进度面板{padding:8px;grid-template-rows:auto auto auto}body[data-current-page="im"] .IM进度总览{grid-template-columns:1fr;gap:12px}body[data-current-page="im"] .IM进度总览>dl{padding:12px 0;border-inline:0;border-block:1px solid var(--workbench-border-subtle)}body[data-current-page="im"] .IM进度时间{grid-column:auto;padding-top:0;border-top:0}body[data-current-page="im"] .IM分支进度列表>header{display:none}body[data-current-page="im"] .IM分支进度行{grid-template-columns:68px minmax(100px,1fr) 48px;gap:8px}body[data-current-page="im"] .IM分支进度行>time{grid-column:2}body[data-current-page="im"] .IM分支进度行>em{grid-column:3;grid-row:2}body[data-current-page="im"] .IM结果落库汇总{grid-template-columns:1fr}body[data-current-page="im"] .IM结果落库汇总>section+section{border-left:0;border-top:1px solid var(--workbench-border-subtle)}body[data-current-page="im"][data-im-task-state="not_created"] #IM表单,body[data-current-page="im"][data-im-task-state="launch_failed"] #IM表单{padding:14px;display:grid;grid-template-columns:1fr}body[data-current-page="im"][data-im-task-state="not_created"] .IM小红书选项,body[data-current-page="im"][data-im-task-state="launch_failed"] .IM小红书选项{grid-template-columns:1fr}body[data-current-page="im"][data-im-task-state="not_created"] #IM提交按钮,body[data-current-page="im"][data-im-task-state="launch_failed"] #IM提交按钮{grid-column:1}}
.IM表单字段:has(.IM工作流条件不展示) { display: none; }

/* 任务首页：一个窗口对应一个任务批次，只展示进度、结果和落库证明。 */
body[data-current-page="im"] .IM批次数据大屏{--im-live-color:#4d8df7;position:relative;isolation:isolate;min-height:100%;height:100%;padding:12px;display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto;gap:10px;overflow:auto;color:var(--workbench-text-primary);background-color:var(--workbench-surface-canvas);background-image:linear-gradient(color-mix(in srgb,var(--im-live-color) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--im-live-color) 5%,transparent) 1px,transparent 1px);background-size:30px 30px}
body[data-current-page="im"] .IM批次数据大屏.queued,body[data-current-page="im"] .IM批次数据大屏.waiting,body[data-current-page="im"] .IM批次数据大屏.awaiting_storage{--im-live-color:#d7a34b}
body[data-current-page="im"] .IM批次数据大屏.running{--im-live-color:#42c8eb}
body[data-current-page="im"] .IM批次数据大屏.partial{--im-live-color:#e0b34f}
body[data-current-page="im"] .IM批次数据大屏.storing{--im-live-color:#9878ef}
body[data-current-page="im"] .IM批次数据大屏.stored,body[data-current-page="im"] .IM批次数据大屏.completed{--im-live-color:#46bd83}
body[data-current-page="im"] .IM批次数据大屏.failed,body[data-current-page="im"] .IM批次数据大屏.storage_failed,body[data-current-page="im"] .IM批次数据大屏.cancelled{--im-live-color:#e76674}
body[data-current-page="im"] .IM批次页头{position:relative;z-index:1;padding:3px 4px 5px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body[data-current-page="im"] .IM批次页头 small{display:block;color:var(--im-live-color);font:700 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
body[data-current-page="im"] .IM批次页头 h2{margin:5px 0 0;font-size:16px;line-height:1.25}
body[data-current-page="im"] .IM批次页头 p{margin:5px 0 0;color:var(--workbench-text-muted);font-size:9px;line-height:1.45}
body[data-current-page="im"] .IM批次页头>div:last-child{display:flex;align-items:center;gap:8px}
body[data-current-page="im"] .IM批次页头 code{max-width:220px;overflow:hidden;color:var(--workbench-text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM批次页头>div:last-child span{padding:5px 9px;border:1px solid color-mix(in srgb,var(--im-live-color) 58%,var(--workbench-border-subtle));border-radius:999px;background:color-mix(in srgb,var(--im-live-color) 12%,var(--workbench-surface-panel));color:var(--im-live-color);font-size:9px;font-weight:750;box-shadow:0 0 18px color-mix(in srgb,var(--im-live-color) 12%,transparent)}
body[data-current-page="im"] .IM批次总览{position:relative;z-index:1;min-height:168px;padding:12px;display:grid;grid-template-columns:190px minmax(400px,1fr) 220px;align-items:stretch;gap:10px;border:1px solid color-mix(in srgb,var(--im-live-color) 24%,var(--workbench-border-subtle));border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--im-live-color) 6%,var(--workbench-surface-panel)),var(--workbench-surface-panel));box-shadow:inset 0 1px color-mix(in srgb,#fff 4%,transparent),0 14px 30px color-mix(in srgb,#071225 8%,transparent)}
body[data-current-page="im"] .IM进度仪表{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px}
body[data-current-page="im"] .IM进度仪表>div{width:92px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,var(--workbench-surface-panel) 65%,transparent 67% 99%),conic-gradient(var(--im-live-color) var(--im-total-progress,0),color-mix(in srgb,var(--workbench-surface-inset) 86%,transparent) 0);box-shadow:0 0 28px color-mix(in srgb,var(--im-live-color) 16%,transparent),inset 0 0 22px color-mix(in srgb,var(--im-live-color) 8%,transparent)}
body[data-current-page="im"] .IM进度仪表>div>strong{font:800 18px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--im-live-color)}
body[data-current-page="im"] .IM进度仪表>div>span{margin-top:-26px;color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM进度仪表>p{margin:0;display:grid;gap:5px}
body[data-current-page="im"] .IM进度仪表>p b{color:var(--im-live-color);font-size:12px}
body[data-current-page="im"] .IM进度仪表>p small{color:var(--workbench-text-muted);font-size:8px;line-height:1.45}
body[data-current-page="im"] .IM批次指标{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--workbench-border-subtle);border-radius:8px;background:color-mix(in srgb,var(--workbench-surface-inset) 55%,transparent);overflow:hidden}
body[data-current-page="im"] .IM批次指标>div{min-width:0;padding:10px;display:grid;align-content:center;gap:4px;border-right:1px solid var(--workbench-border-subtle);border-bottom:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM批次指标>div:nth-child(3n){border-right:0}
body[data-current-page="im"] .IM批次指标>div:nth-child(n/**/+4){border-bottom:0}
body[data-current-page="im"] .IM批次指标 dt{color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM批次指标 dd{min-width:0;margin:0;overflow:hidden;color:var(--workbench-text-primary);font:750 12px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM批次指标 .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM批次指标 small{overflow:hidden;color:var(--workbench-text-muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM实时数据轨{padding:10px;display:grid;grid-template-rows:auto 1fr auto;gap:8px;border:1px solid var(--workbench-border-subtle);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--im-live-color) 5%,var(--workbench-surface-inset)),var(--workbench-surface-inset))}
body[data-current-page="im"] .IM实时数据轨 header,body[data-current-page="im"] .IM实时数据轨 footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM实时数据轨 header b{color:var(--im-live-color);font:750 11px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM实时数据轨>div{position:relative;align-self:center;height:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--im-live-color) 24%,var(--workbench-border-subtle));border-radius:999px;background:var(--workbench-surface-canvas)}
body[data-current-page="im"] .IM实时数据轨>div>i{position:relative;display:block;width:var(--im-live-progress,0);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--im-live-color) 55%,#245ca8),var(--im-live-color));box-shadow:0 0 14px color-mix(in srgb,var(--im-live-color) 45%,transparent)}
body[data-current-page="im"] .IM实时数据轨>div>i::after{content:"";position:absolute;inset:0;width:36%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-150%)}
body[data-current-page="im"] .IM批次数据大屏.running .IM实时数据轨>div>i::after,body[data-current-page="im"] .IM批次数据大屏.storing .IM实时数据轨>div>i::after{animation:IM批次数据流 2.6s linear infinite}
body[data-current-page="im"] .IM批次槽位板{position:relative;z-index:1;min-height:0;display:grid;grid-template-rows:auto repeat(5,minmax(62px,1fr));gap:7px}
body[data-current-page="im"] .IM批次槽位板>header{padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM批次槽位板>header strong{color:var(--workbench-text-primary);font-size:10px}
body[data-current-page="im"] .IM批次槽位板>header b{color:var(--im-live-color);font:750 9px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM批次槽位{--im-slot-color:#6d7d90;position:relative;min-height:62px;padding:7px 9px;display:grid;grid-template-columns:170px minmax(150px,1fr) 320px;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--im-slot-color) 28%,var(--workbench-border-subtle));border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--im-slot-color) 5%,var(--workbench-surface-panel)),var(--workbench-surface-panel));overflow:hidden}
body[data-current-page="im"] .IM批次槽位::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--im-slot-color);box-shadow:0 0 14px var(--im-slot-color)}
body[data-current-page="im"] .IM批次槽位.running{--im-slot-color:#42c8eb}
body[data-current-page="im"] .IM批次槽位.queued,body[data-current-page="im"] .IM批次槽位.waiting,body[data-current-page="im"] .IM批次槽位.awaiting_storage{--im-slot-color:#d7a34b}
body[data-current-page="im"] .IM批次槽位.partial{--im-slot-color:#e0b34f}
body[data-current-page="im"] .IM批次槽位.storing{--im-slot-color:#9878ef}
body[data-current-page="im"] .IM批次槽位.stored,body[data-current-page="im"] .IM批次槽位.completed{--im-slot-color:#46bd83}
body[data-current-page="im"] .IM批次槽位.failed,body[data-current-page="im"] .IM批次槽位.storage_failed,body[data-current-page="im"] .IM批次槽位.cancelled{--im-slot-color:#e76674}
body[data-current-page="im"] .IM批次槽位.current{border-color:color-mix(in srgb,var(--im-slot-color) 76%,var(--workbench-border-subtle));box-shadow:inset 0 0 22px color-mix(in srgb,var(--im-slot-color) 8%,transparent),0 0 18px color-mix(in srgb,var(--im-slot-color) 10%,transparent)}
body[data-current-page="im"] .IM批次槽位.protected{--im-slot-color:#42c8eb}
body[data-current-page="im"] .IM批次槽位.empty,body[data-current-page="im"] .IM批次槽位.unknown{opacity:.72}
body[data-current-page="im"] .IM批次槽位.disabled{--im-slot-color:#566173;opacity:.46;border-style:dashed;background:color-mix(in srgb,var(--workbench-surface-inset) 72%,transparent)}
body[data-current-page="im"] .IM槽位身份{min-width:0;display:flex;align-items:center;gap:9px}
body[data-current-page="im"] .IM槽位身份>span{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--im-slot-color);border-radius:6px;background:color-mix(in srgb,var(--im-slot-color) 9%,var(--workbench-surface-inset));color:var(--im-slot-color);font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM批次槽位.running .IM槽位身份>span{animation:IM批次脉冲 2s ease-in-out infinite}
body[data-current-page="im"] .IM槽位身份>div{min-width:0}
body[data-current-page="im"] .IM槽位身份 strong,body[data-current-page="im"] .IM槽位身份 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM槽位身份 strong{font-size:9px}
body[data-current-page="im"] .IM槽位身份 small{margin-top:4px;color:var(--workbench-text-muted);font:500 7px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM槽位进度{min-width:0;display:grid;gap:5px}
body[data-current-page="im"] .IM槽位进度 header{display:flex;align-items:center;justify-content:space-between;gap:8px}
body[data-current-page="im"] .IM槽位进度 header b{color:var(--im-slot-color);font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM槽位进度 header span{color:var(--workbench-text-secondary);font-size:8px}
body[data-current-page="im"] .IM槽位进度>i{position:relative;height:7px;overflow:hidden;border:1px solid color-mix(in srgb,var(--im-slot-color) 20%,var(--workbench-border-subtle));border-radius:999px;background:var(--workbench-surface-inset)}
body[data-current-page="im"] .IM槽位进度>i::before{content:"";display:block;width:var(--im-batch-progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--im-slot-color) 58%,#275fa9),var(--im-slot-color));box-shadow:0 0 11px color-mix(in srgb,var(--im-slot-color) 42%,transparent)}
body[data-current-page="im"] .IM槽位进度>i::after{content:"";position:absolute;inset:0;width:24%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-150%)}
body[data-current-page="im"] .IM批次槽位.running .IM槽位进度>i::after,body[data-current-page="im"] .IM批次槽位.storing .IM槽位进度>i::after{animation:IM批次数据流 2.8s linear infinite}
body[data-current-page="im"] .IM批次槽位>dl{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--workbench-border-subtle);border-radius:6px;background:color-mix(in srgb,var(--workbench-surface-inset) 52%,transparent);overflow:hidden}
body[data-current-page="im"] .IM批次槽位>dl>div{min-width:0;padding:5px 7px;border-right:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM批次槽位>dl>div:last-child{border-right:0}
body[data-current-page="im"] .IM批次槽位 dt{color:var(--workbench-text-muted);font-size:7px}
body[data-current-page="im"] .IM批次槽位 dd{margin:3px 0 0;overflow:hidden;color:var(--workbench-text-secondary);font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM批次槽位 dd .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM批次槽位.task>dl>div:first-child dd{color:var(--im-slot-color)}
body[data-current-page="im"] .IM批次结果汇总{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
body[data-current-page="im"] .IM批次结果汇总 article{padding:11px 12px;border:1px solid color-mix(in srgb,var(--im-live-color) 20%,var(--workbench-border-subtle));border-radius:8px;background:var(--workbench-surface-panel)}
body[data-current-page="im"] .IM批次结果汇总 header{display:flex;align-items:center;justify-content:space-between;gap:10px}
body[data-current-page="im"] .IM批次结果汇总 header strong{font-size:10px}
body[data-current-page="im"] .IM批次结果汇总 header span{color:var(--im-live-color);font-size:8px;font-weight:700}
body[data-current-page="im"] .IM批次结果汇总 p{margin:7px 0;color:var(--workbench-text-muted);font-size:8px;line-height:1.5}
body[data-current-page="im"] .IM批次结果汇总 dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
body[data-current-page="im"] .IM批次结果汇总 dl>div{min-width:0;padding-top:6px;border-top:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM批次结果汇总 dt{color:var(--workbench-text-muted);font-size:7px}
body[data-current-page="im"] .IM批次结果汇总 dd{margin:3px 0 0;overflow:hidden;font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}

body[data-current-page="im"] .IM整个任务进程{--im-process-color:#4d8df7;min-height:100%;padding:0 0 12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}
body[data-current-page="im"][data-im-task-state="queued"] .IM整个任务进程,body[data-current-page="im"][data-im-task-state="waiting"] .IM整个任务进程,body[data-current-page="im"][data-im-task-state="awaiting_storage"] .IM整个任务进程{--im-process-color:#d7a34b}
body[data-current-page="im"][data-im-task-state="running"] .IM整个任务进程{--im-process-color:#42c8eb}
body[data-current-page="im"][data-im-task-state="partial"] .IM整个任务进程{--im-process-color:#e0b34f}
body[data-current-page="im"][data-im-task-state="storing"] .IM整个任务进程{--im-process-color:#9878ef}
body[data-current-page="im"][data-im-task-state="stored"] .IM整个任务进程,body[data-current-page="im"][data-im-task-state="completed"] .IM整个任务进程{--im-process-color:#46bd83}
body[data-current-page="im"][data-im-task-state="failed"] .IM整个任务进程,body[data-current-page="im"][data-im-task-state="launch_failed"] .IM整个任务进程,body[data-current-page="im"][data-im-task-state="storage_failed"] .IM整个任务进程{--im-process-color:#e76674}
body[data-current-page="im"] .IM进程概览,body[data-current-page="im"] .IM进程节点,body[data-current-page="im"] .IM进程状态,body[data-current-page="im"] .IM进程落库{padding:12px;border:1px solid color-mix(in srgb,var(--im-process-color) 18%,var(--workbench-border-subtle));border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--im-process-color) 5%,var(--workbench-surface-muted)),var(--workbench-surface-muted))}
body[data-current-page="im"] .IM进程概览>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
body[data-current-page="im"] .IM进程概览>header span{color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM进程概览>header b{color:var(--im-process-color);font:800 18px ui-monospace,SFMono-Regular,Menlo,monospace}
body[data-current-page="im"] .IM进程概览 dl{margin:9px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px}
body[data-current-page="im"] .IM进程概览 dl>div{min-width:0;padding-top:6px;border-top:1px solid var(--workbench-border-subtle)}
body[data-current-page="im"] .IM进程概览 dt{color:var(--workbench-text-muted);font-size:7px}
body[data-current-page="im"] .IM进程概览 dd{margin:3px 0 0;overflow:hidden;font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}
body[data-current-page="im"] .IM进程概览 .任务耗时{color:inherit;font:inherit}
body[data-current-page="im"] .IM进程节点 h3{margin:0 0 6px;font-size:10px}
body[data-current-page="im"] .IM四节点进程{margin:0;padding:0;display:grid;list-style:none}
body[data-current-page="im"] .IM四节点进程>li{position:relative;min-height:45px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px}
body[data-current-page="im"] .IM四节点进程>li:not(:last-child)::after{content:"";position:absolute;left:12px;top:34px;bottom:-10px;width:2px;background:var(--workbench-border-subtle)}
body[data-current-page="im"] .IM四节点进程>li.done:not(:last-child)::after{background:linear-gradient(#46bd83,var(--workbench-border-subtle))}
body[data-current-page="im"] .IM四节点进程 i{position:relative;z-index:1;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--workbench-border-subtle);border-radius:50%;background:var(--workbench-surface-panel);color:var(--workbench-text-muted);font:750 8px ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal}
body[data-current-page="im"] .IM四节点进程 strong{font-size:9px}
body[data-current-page="im"] .IM四节点进程 em{color:var(--workbench-text-muted);font-size:8px;font-style:normal}
body[data-current-page="im"] .IM四节点进程>li.done i{border-color:#46bd83;color:#46bd83}
body[data-current-page="im"] .IM四节点进程>li.done em{color:#46bd83}
body[data-current-page="im"] .IM四节点进程>li.active i{border-color:#42c8eb;color:#42c8eb;box-shadow:0 0 0 4px color-mix(in srgb,#42c8eb 10%,transparent),0 0 15px color-mix(in srgb,#42c8eb 28%,transparent);animation:IM批次脉冲 1.8s ease-in-out infinite}
body[data-current-page="im"] .IM四节点进程>li.active em{color:#42c8eb}
body[data-current-page="im"] .IM四节点进程>li.queue i,body[data-current-page="im"] .IM四节点进程>li.warn i{border-color:#d7a34b;color:#d7a34b}
body[data-current-page="im"] .IM四节点进程>li.queue em,body[data-current-page="im"] .IM四节点进程>li.warn em{color:#d7a34b}
body[data-current-page="im"] .IM四节点进程>li.fail i{border-color:#e76674;color:#e76674}
body[data-current-page="im"] .IM四节点进程>li.fail em{color:#e76674}
body[data-current-page="im"] .IM进程状态{align-content:start}
body[data-current-page="im"] .IM进程状态>header,body[data-current-page="im"] .IM进程落库>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
body[data-current-page="im"] .IM进程状态>header strong{font-size:10px}
body[data-current-page="im"] .IM进程状态>header span,body[data-current-page="im"] .IM进程落库>header b{color:var(--im-process-color);font-size:8px}
body[data-current-page="im"] .IM进程状态>p,body[data-current-page="im"] .IM进程落库>p{margin:7px 0 0;color:var(--workbench-text-muted);font-size:8px;line-height:1.55}
body[data-current-page="im"] .IM进程状态>div{margin-top:9px;padding:8px;border:1px solid var(--workbench-border-subtle);border-radius:6px;background:var(--workbench-surface-inset)}
body[data-current-page="im"] .IM进程状态>div span,body[data-current-page="im"] .IM进程状态>div b{display:block}
body[data-current-page="im"] .IM进程状态>div span{color:var(--workbench-text-muted);font-size:7px}
body[data-current-page="im"] .IM进程状态>div b{margin-top:4px;font-size:8px;line-height:1.5}
body[data-current-page="im"] .IM进程落库>header span{color:var(--workbench-text-muted);font-size:8px}
body[data-current-page="im"] .IM进程落库>small{display:block;margin-top:7px;color:var(--workbench-text-secondary);font-size:7px}
body[data-current-page="im"] .IM发起检查器{grid-template-rows:auto auto minmax(0,1fr)}

@keyframes IM批次数据流{from{transform:translateX(-150%)}to{transform:translateX(500%)}}
@keyframes IM批次脉冲{0%,100%{opacity:.68;filter:saturate(.9)}50%{opacity:1;filter:saturate(1.35) brightness(1.18)}}
@media(prefers-reduced-motion:reduce){body[data-current-page="im"] .IM实时数据轨>div>i::after,body[data-current-page="im"] .IM批次槽位 .IM槽位进度>i::after,body[data-current-page="im"] .IM批次槽位.running .IM槽位身份>span,body[data-current-page="im"] .IM四节点进程>li.active i{animation:none!important}}
@media(max-width:1320px){body[data-current-page="im"] .IM批次总览{grid-template-columns:170px minmax(340px,1fr)}body[data-current-page="im"] .IM实时数据轨{grid-column:1/-1;min-height:72px}body[data-current-page="im"] .IM批次槽位{grid-template-columns:150px minmax(130px,1fr) 280px}}
@media(max-width:980px){body[data-current-page="im"] .IM批次数据大屏{height:auto;grid-template-rows:auto auto auto auto}body[data-current-page="im"] .IM批次总览{grid-template-columns:1fr}body[data-current-page="im"] .IM实时数据轨{grid-column:auto}body[data-current-page="im"] .IM批次槽位板{grid-template-rows:auto repeat(5,auto)}body[data-current-page="im"] .IM批次槽位{grid-template-columns:140px minmax(120px,1fr)}body[data-current-page="im"] .IM批次槽位>dl{grid-column:1/-1}body[data-current-page="im"] .IM批次结果汇总{grid-template-columns:1fr}}
@media(max-width:760px){body[data-current-page="im"] .IM批次数据大屏{padding:8px}body[data-current-page="im"] .IM批次页头{display:grid}body[data-current-page="im"] .IM批次页头>div:last-child{justify-content:space-between}body[data-current-page="im"] .IM批次指标{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-current-page="im"] .IM批次指标>div,body[data-current-page="im"] .IM批次指标>div:nth-child(3n),body[data-current-page="im"] .IM批次指标>div:nth-child(n/**/+4){border-right:1px solid var(--workbench-border-subtle);border-bottom:1px solid var(--workbench-border-subtle)}body[data-current-page="im"] .IM批次指标>div:nth-child(2n){border-right:0}body[data-current-page="im"] .IM批次指标>div:nth-child(n/**/+5){border-bottom:0}body[data-current-page="im"] .IM批次槽位{grid-template-columns:1fr}body[data-current-page="im"] .IM批次槽位>dl{grid-column:auto}body[data-current-page="im"] .IM批次槽位板>header{align-items:flex-start;display:grid}}

/* 任务流与生成配置完整展开；不改变原有控件和提交目标。 */
body[data-current-page="im"] #IM表单[data-xhs-form="generation"] #IM小红书选项{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
body[data-current-page="im"] #IM小红书选项 .IM配置分区{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;min-width:0;padding:16px 0;border-top:1px solid var(--feishu-color-border)}
body[data-current-page="im"] #IM小红书选项 .IM配置分区>h3{grid-column:1/-1;margin:0;color:var(--feishu-color-text-0);font-size:16px;font-weight:600}
body[data-current-page="im"] #IM小红书选项 .IM配置分区>.IM表单字段{width:auto;min-width:0;max-width:none;margin:0}
body[data-current-page="im"] #IM小红书选项 .IM分批预览{grid-column:1/-1;margin:0;padding:12px;background:var(--feishu-color-primary-light-default);color:var(--feishu-color-primary);border-radius:var(--feishu-border-radius-medium);font-size:13px;line-height:1.6}
@media(max-width:760px){body[data-current-page="im"] #IM小红书选项 .IM配置分区{grid-template-columns:minmax(0,1fr)}}

.IM单任务数据屏{display:flex;flex-direction:column;height:100%;min-height:0;padding:20px;gap:16px;color:var(--feishu-color-text-0);background:var(--feishu-color-bg-0)}
.IM单任务数据屏>header,.IM批次区标题{display:flex;justify-content:space-between;align-items:center;gap:16px}
.IM单任务数据屏 h2{margin:4px 0;font-size:20px;line-height:1.4}.IM单任务数据屏 small{font-size:12px;color:var(--feishu-color-text-1)}
.IM生成总览{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:16px;background:var(--feishu-color-bg-2);border:1px solid var(--feishu-color-border);border-radius:8px}
.IM生成完成率{position:relative;width:106px;height:106px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--feishu-color-primary) var(--progress),var(--feishu-color-fill-2) 0)}
.IM生成完成率:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--feishu-color-bg-2)}.IM生成完成率>*{z-index:1}.IM生成完成率 strong{font-size:28px;font-variant-numeric:tabular-nums}
.IM生成统计{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.IM生成统计>div{display:flex;flex-direction:column;gap:3px}.IM生成统计 strong{font-size:25px;font-variant-numeric:tabular-nums}
.IM任务内批次{display:grid;grid-template-rows:repeat(var(--batch-count),minmax(32px,1fr));gap:7px;flex:1;min-height:0}
.IM任务内批次行{display:grid;grid-template-columns:82px 90px minmax(70px,1fr) minmax(70px,1fr) 46px 62px;align-items:center;gap:12px;width:100%;padding:7px 12px;border:1px solid var(--feishu-color-border);border-radius:8px;background:var(--feishu-color-bg-2);color:var(--feishu-color-text-0);font-size:12px;text-align:left}
.IM任务内批次行.selected{border-color:var(--feishu-color-primary);background:var(--feishu-color-primary-light-default);box-shadow:inset 3px 0 var(--feishu-color-primary)}
.IM任务内批次行:focus-visible{outline:2px solid var(--feishu-color-primary);outline-offset:2px}
.IM批内光点{display:flex;gap:3px;height:14px}.IM批内光点 i{flex:1;border-radius:2px;background:var(--feishu-color-fill-2)}.IM批内光点 .completed{background:var(--feishu-color-success)}.IM批内光点 .running{background:var(--feishu-color-primary);animation:im-item-pulse 1.7s ease-in-out infinite}.IM批内光点 .failed{background:var(--feishu-color-danger)}.IM批内光点 .blocked{background:var(--feishu-color-warning)}
.IM批完成轨{height:7px;border-radius:4px;background:var(--feishu-color-fill-2);overflow:hidden}.IM批完成轨 i{display:block;height:100%;background:var(--feishu-color-primary)}.completed .IM批完成轨 i{background:var(--feishu-color-success)}
.IM任务内批次.密集{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(44px,1fr)}.IM任务内批次.密集 .IM任务内批次行{grid-template-columns:1fr;gap:3px;padding:6px;font-size:12px}.IM任务内批次.密集 .IM任务内批次行>small,.IM任务内批次.密集 .IM批内光点,.IM任务内批次.密集 .IM任务内批次行>span:last-child{display:none}
.IM生成结果摘要{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;padding-top:16px;border-top:1px solid var(--feishu-color-border)}.IM生成结果摘要>div{display:flex;flex-direction:column;gap:4px}.IM生成结果摘要 strong{font-size:14px}.IM生成无快照{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}

@keyframes im-item-pulse{50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.IM批内光点 .running{animation:none}}
@media(max-width:1180px){.IM任务内批次行{grid-template-columns:70px 70px 1fr 42px 54px;gap:6px}.IM任务内批次行>.IM批内光点{display:none}.IM单任务数据屏{padding:12px;gap:10px}.IM任务内批次.密集{grid-template-columns:repeat(5,minmax(0,1fr));overflow:auto}}
@media(max-width:760px){.IM单任务数据屏{height:auto}.IM任务内批次{flex:none;grid-template-rows:none;grid-auto-rows:minmax(44px,auto)}.IM生成总览{grid-template-columns:90px 1fr;padding:12px;gap:12px}.IM生成完成率{width:84px;height:84px}.IM生成统计 strong{font-size:19px}.IM生成结果摘要{grid-template-columns:1fr}}

/* 桌面任务首页锁定高度链：完整总览、五个批次槽位和底部汇总同屏展示。 */
@media(min-width:1180px) and (min-height:860px){
  body[data-current-page="im"] .IM消息区>#IM任务消息,body[data-current-page="im"] .IM消息区 .IM任务消息组{height:100%;min-height:0}
  body[data-current-page="im"] .IM消息区 .IM任务消息组{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
  body[data-current-page="im"] .IM批次数据大屏{min-height:0;padding:10px;grid-template-rows:auto 150px minmax(0,1fr) auto;gap:8px;overflow:hidden}
  body[data-current-page="im"] .IM批次总览{min-height:0;padding:10px}
  body[data-current-page="im"] .IM批次槽位板{grid-template-rows:auto repeat(5,minmax(52px,1fr));gap:5px}
  body[data-current-page="im"] .IM批次槽位{min-height:52px;padding:5px 8px}
  body[data-current-page="im"] .IM批次结果汇总 article{padding:8px 10px}
  body[data-current-page="im"] .IM批次结果汇总 p{margin:5px 0;line-height:1.35}
  body[data-current-page="im"] #IM任务内容{min-height:0;overflow:hidden}
  body[data-current-page="im"] .IM整个任务进程{height:100%;min-height:0;padding-bottom:0;gap:8px}
  body[data-current-page="im"] .IM进程概览,body[data-current-page="im"] .IM进程节点,body[data-current-page="im"] .IM进程状态,body[data-current-page="im"] .IM进程落库{padding:10px}
  body[data-current-page="im"] .IM四节点进程>li{min-height:40px}
}
