/* 用户确认的后续视觉收口：居中 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;
  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"]:not([data-im-task-state="not_created"]) .IM消息区>.消息.系统消息:first-child{display:none}
  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任务标签项.已选中{
  background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(191,221,248,.3));
  box-shadow:0 8px 22px rgba(45,85,126,.11),inset 0 1px rgba(255,255,255,.7);
  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);
}

.无限画布{
  background:
    radial-gradient(circle at 13% 7%,rgba(255,255,255,.52) 0 6%,transparent 27%),
    radial-gradient(circle at 68% -8%,rgba(73,169,228,.16),transparent 31%),
    radial-gradient(circle at 91% 42%,rgba(56,129,205,.12),transparent 30%),
    linear-gradient(135deg,rgba(229,244,255,.06),rgba(106,169,220,.05)),
    url("mission-control-background.png") center/cover no-repeat;
}
.无限画布::after{
  background:
    linear-gradient(118deg,rgba(255,255,255,.07),transparent 34%,rgba(102,171,229,.05) 70%,transparent),
    radial-gradient(circle at 74% 22%,rgba(255,255,255,.08),transparent 32%);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  mask-image:none;
}

.系统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任务标签项.已选中{background:var(--readable-panel-strong)}

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}
}

@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}

.无限画布{
  background:var(--music-canvas);
}
.无限画布::after{
  background:radial-gradient(circle at 88% 12%,rgba(10,132,255,.07),transparent 32%);
  opacity:.9;
}

.系统顶栏{
  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任务标签项.已选中{
  border-color:rgba(10,132,255,.34);
  background:var(--music-blue-soft);
}
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:start;
  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;
}

.无限画布 button:focus-visible,
.无限画布 a:focus-visible,
.无限画布 input:focus-visible,
.无限画布 select:focus-visible,
.无限画布 textarea:focus-visible{
  outline:2px solid var(--music-blue);
  outline-offset:2px;
}

*{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;
  will-change:transform;
}
.画布控制{
  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);
}

.无限画布::after{
  background:radial-gradient(circle at 88% 12%,rgba(10,132,255,.032),transparent 34%);
  opacity:.62;
}
.系统顶栏{
  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);
}
.网站导航品牌{width:max-content;display:flex;align-items:center;text-decoration:none}
.网站导航品牌 img{display:block;width:100px;height:auto;max-height:36px;object-fit:contain;object-position:left center}
.工作台顶部导航{min-width:0;height:100%;display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.工作台顶部导航::-webkit-scrollbar{display:none}
.当前工作台名称{
  flex:0 0 auto;
  margin-right:8px;
  color:#1664ff;
  font-size:13px;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
}
.工作台顶部导航 button{
  flex:0 0 auto;
  min-height:40px;
  height:100%;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:0;
  position:relative;
  border:1px solid transparent;
  border-radius:0;
  background:transparent;
  color:#1d2129;
  box-shadow:none;
  transform:none;
  transition:color 150ms ease;
  white-space:nowrap;
}
.工作台顶部导航 button small{font-size:14px;font-weight:400;line-height:1;color:inherit}
.工作台顶部导航 button.已选中{color:#1d2129;background:transparent;border-color:transparent;box-shadow:none;transform:none}
.工作台顶部导航 button:hover,.工作台顶部导航 button:focus-visible{color:#1664ff;background:transparent;border-color:transparent;box-shadow:none;transform:none;outline:none}
.工作台顶部导航 button:active{transform:none}
.网站导航个人菜单{position:relative;min-width:0;justify-self:end}
.网站导航用户{min-width:0;padding:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#1d2129;text-decoration:none}
.网站导航用户 img,.网站导航用户>span{flex:0 0 32px;width:32px;height:32px;border-radius:50%}
.网站导航用户 img{display:block;object-fit:cover;border:1px solid #e5e8ef;background:#fff}
.网站导航用户>span{display:grid;place-items:center;background:#eef4ff;color:#1664ff;font-size:12px;font-weight:700}
.网站导航用户 strong{max-width:96px;overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.网站导航用户 i{color:#8a93a3;font-size:13px;font-style:normal;line-height:1;transition:transform 150ms ease}
.网站导航用户[aria-expanded="true"] i{transform:rotate(180deg)}
.网站导航用户:hover,.网站导航用户:focus-visible{color:#1664ff;outline:none}
.网站导航个人菜单面板{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}
.网站导航个人菜单面板 a>span{position:relative}
.网站导航个人菜单面板 a>span::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#1664ff;transform:scaleX(0);transform-origin:left center;transition:transform 150ms ease}
.网站导航个人菜单面板 a:hover,.网站导航个人菜单面板 a:focus-visible,.网站导航个人菜单面板 a.当前{color:#1664ff}
.网站导航个人菜单面板 a:hover>span::after,.网站导航个人菜单面板 a:focus-visible>span::after,.网站导航个人菜单面板 a.当前>span::after{transform:scaleX(1)}
.网站导航个人菜单面板 a:focus-visible{box-shadow:0 0 0 2px rgba(22,100,255,.28)}
.网站导航栏 [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}
  .网站导航品牌 img{width:77px;height:auto;max-height:28px}
  .工作台顶部导航{gap:0}
  .当前工作台名称{margin-right:3px;font-size:11px}
  .工作台顶部导航 button{min-height:36px;padding:0 8px;gap:0;border-radius:0}
  .工作台顶部导航 button small{font-size:11px}
  .网站导航用户 img,.网站导航用户>span{flex-basis:32px;width:32px;height:32px}
  .网站导航用户 strong,.网站导航用户 i{display:none}
  .网站导航个人菜单面板{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 任务首页信息减法：后台名称降级为上下文，空任务时只保留单一引导。 */
.当前工作台名称{
  position:relative;
  margin-right:12px;
  padding-right:12px;
  color:#8b9098;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
}
.当前工作台名称::after{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:1px;
  height:16px;
  background:#e3e6eb;
  transform:translateY(-50%);
}
.工作台顶部导航 button{padding-inline:14px}
.工作台顶部导航 button.已选中{color:#1664ff}
.工作台顶部导航 button small{
  position:relative;
  display:inline-flex;
  align-items:center;
  line-height:20px;
}
.工作台顶部导航 button small::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  background:#1664ff;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 150ms ease;
}
.工作台顶部导航 button:hover small::after,
.工作台顶部导航 button:focus-visible small::after,
.工作台顶部导航 button.已选中 small::after{transform:scaleX(1)}
.工作台顶部导航 button:focus-visible{outline:2px solid rgba(22,100,255,.28);outline-offset:-5px}
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){
  .当前工作台名称{margin-right:3px;padding-right:9px;font-size:10px}
  .当前工作台名称::after{height:14px}
  .工作台顶部导航 button{padding-inline:7px}
  .工作台顶部导航 button small::after{bottom:-6px}
}

/* 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"] .无限画布{background:#f6f8fb}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .无限画布::after{display:none}
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.当前::after{border-color:#2675ef}
.课程生产步骤 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.当前 i{background:#1664ff;color:#fff;box-shadow:0 6px 18px rgba(22,100,255,.25)}
.课程生产步骤 button span{min-width:0;display:grid;gap:5px}
.课程生产步骤 button strong{font-size:14px;font-weight:650}
.课程生产步骤 button.当前 strong{color:#1664ff}
.课程生产步骤 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}
.课程工作台表单 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:72px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff;color:#26313e;text-align:left}.课程模板侧栏卡.当前{border-color:#2b76ed;box-shadow:0 0 0 1px #2b76ed}.课程模板侧栏卡>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: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}
.课程子内容摘要卡{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}.课程子内容摘要卡:hover{border-color:#b9d1f6;background:#fbfdff}.课程子内容摘要卡.当前{border-color:#2b76ed;box-shadow:0 0 0 1px #2b76ed}
.课程子内容摘要卡>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}
.课程子内容摘要卡>section{padding-top:9px;display:grid;gap:7px;border-top:1px solid #edf0f4}.课程子内容摘要卡 h4{font-size:10px}.课程子内容摘要卡 ul,.课程子内容摘要卡 ol{margin:0;padding:0;display:grid;gap:5px;list-style:none}.课程子内容摘要卡 ul{grid-template-columns:repeat(2,minmax(0,1fr))}.课程子内容摘要卡 ul li{padding:6px 7px;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,.课程子内容摘要卡>section>small{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}
.课程卡片信息说明{margin:0 12px 14px;padding:12px;border-top:1px solid #e8ecf2}.课程卡片信息说明 h3{font-size:12px}.课程卡片信息说明 p{margin-top:6px;color:#718096;font-size:9px;line-height:1.55}

@media(max-width:900px){
  .课程具体内容工作台{padding-inline:16px}
  .课程子内容摘要平铺{grid-template-columns:1fr}
}

/* 全部模板库居中宽弹窗。 */
.模板库遮罩{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:hover,.模板类型筛选 button:focus-visible,.模板类型筛选 button.当前{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}.全部模板卡.当前{border-color:#2b76ed;box-shadow:0 0 0 1px #2b76ed}.全部模板卡>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;
}
.课程生产工作台{
  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 auto 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:left;
}
.课程生产步骤 button:last-child{border-right:0}
.课程生产步骤 button::after{display:none}
.课程生产步骤 button.当前{background:#f5f8ff;color:#1664ff}
.课程生产步骤 .课程步骤序号{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f0f2f5;
  color:#6e7785;
  font-size:10px;
}
.课程生产步骤 button.当前 .课程步骤序号{background:#1664ff;color:#fff}
.课程生产步骤 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.当前 strong{color:#1664ff}
.课程生产步骤 button em{margin-left:auto;padding:2px 5px;border-radius:var(--workbench-action-radius);background:#eef2f7;color:#778295;font-size:9px;font-style:normal}
.课程生产步骤 button.当前 em{background:#e6efff;color:#1664ff}
@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:300px 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: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:clamp(220px,calc(100dvh - 470px),336px);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}
.课程同行内容库遮罩{position:fixed;z-index:180;inset:0;background:rgba(21,30,45,.28)}
.课程同行内容库弹窗{position:fixed;z-index:190;left:50%;top:50%;width:min(960px,calc(100vw - 72px));height:min(760px,calc(100dvh - 72px));transform:translate(-50%,-50%);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #e5e7eb;border-radius:var(--workbench-action-radius);background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.18)}
.课程同行内容库弹窗[hidden],.课程同行内容库遮罩[hidden]{display:none}
.课程同行内容库弹窗>header{min-height:70px;padding:15px 18px 14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e8ebf0}.课程同行内容库弹窗>header h2{margin:0;font-size:18px}.课程同行内容库弹窗>header p{margin:4px 0 0;color:#7f8997;font-size:10px;line-height:1.45}.课程同行内容库弹窗>header button{width:36px;height:36px;flex:0 0 auto;border-radius:var(--workbench-action-radius);background:#f1f4f8;color:#677386;font-size:22px}
.课程同行内容库内容{min-height:0;padding:16px;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:14px;overflow:auto}.课程同行内容库内容>.课程工作台表单,.课程同行审核区{min-width:0;border:1px solid #e5e9ef;border-radius:var(--workbench-action-radius);background:#fff}.课程同行内容库内容>.课程工作台表单 h3{margin:0;font-size:12px}.课程同行审核区{grid-column:1/-1;padding-bottom:14px}.课程同行审核区>h3{padding:14px 16px 0;font-size:12px}
.模板画布区{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){
  .课程三栏,.模板工作台{grid-template-columns:230px 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)}
  .课程同行内容库弹窗{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.课程同行内容库弹窗>header{padding:13px 14px}.课程同行内容库弹窗>header p{font-size:9px}.课程同行内容库内容{grid-template-columns:1fr;padding:10px}.课程同行审核区{grid-column:auto}
}

/* WB-WORKBENCH-SHELL-PARITY-20260810-01：移除另一套液态外观，保留单一素净企业壳。 */
.无限画布,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .无限画布{
  background:#f5f6f8;
}
.无限画布::after{display:none}
.网站导航栏{
  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}.模板子页面按钮.当前{border-color:#1664ff;box-shadow:0 0 0 1px #1664ff}.模板子页面图片{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聊天窗口行: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聊天窗口行.已选中{
  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;
  }
}
/* REPAIR-XHS-PEER-IM-LAYOUT-20260813-01：同行处理需同时容纳两个参数，不得继承通用单栏的窄配置列。 */
@media(min-width:901px){
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]){
    grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) auto;
    gap:12px;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM任务配置板块{
    grid-template-columns:minmax(92px,.5fr) minmax(0,1.5fr);
    align-items:end;
    gap:10px;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM栏目切换栏{
    grid-column:1;
    min-width:0;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM小红书选项{
    grid-column:2;
    grid-template-columns:minmax(108px,.72fr) minmax(150px,1.28fr);
    align-items:end;
    gap:8px;
  }
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM小红书选项 legend,
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM小红书选项>.配置提示{display:none}
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(select[name="xhs_peer_processing_mode"]) .IM小红书选项 .IM模板图片字段{grid-column:auto}
}
/* 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"] .聊天任务进度{
  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;
}
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"] .过程消息 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,0 0 0 5px #e8f0ff}
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:block}
body[data-current-page="im"] .任务模型用量 header strong{color:#27364a;font-size:11px}
body[data-current-page="im"] .任务模型用量 ul{margin:5px 0 0;padding:0;display:grid;gap:4px;list-style:none}
body[data-current-page="im"] .任务模型用量 li{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;gap:6px;align-items:baseline}
body[data-current-page="im"] .任务模型用量 code{min-width:0;overflow-wrap:anywhere;color:#4b5b70;font:inherit}
body[data-current-page="im"] .任务模型用量 li span{color:#7b8796;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-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"] .聊天过程元信息 .任务耗时,
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"] .聊天任务进度{width:100%;margin-left:0}
  body[data-current-page="im"] .聊天过程头{padding-left:56px}
  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"] .任务模型用量 header,
  body[data-current-page="im"] .任务模型用量 li{align-items:flex-start;grid-template-columns:minmax(0,1fr)}
  body[data-current-page="im"] .任务模型用量 header{display:grid}
  body[data-current-page="im"] .任务模型用量 li span{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,
body[data-current-page="im"] .过程消息.running>div>span{
  animation:IM运行状态文字呼吸 1.65s ease-in-out infinite;
}
body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running i,
body[data-current-page="im"] .过程消息.running>div::before{
  animation:IM运行节点呼吸 1.65s ease-in-out 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)}
}
@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>div>span,
  body[data-current-page="im"] .过程消息.running>div::before{
    animation:none!important;
    transition:none!important;
    transform:none;
    filter:none;
    text-shadow:none;
  }
}

/* 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}
.工作日志栏目标签{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:hover,.工作日志栏目标签 button:focus-visible,.工作日志栏目标签 button.已选中{color:#1664ff;background:transparent;box-shadow:none;transform:none}
.工作日志栏目标签 button.已选中::after{transform:scaleX(1)}
.工作日志栏目标签 button.已选中 small{color:#5d83c6}
.工作日志栏目面板{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}
  .工作日志栏目标签{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:220px 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}

.模板画布快捷栏{
  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;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}
.模板检查器分组 .模板字段网格{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}
.模板左栏 .查看全部模板{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:230px 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,.模板页面设置表单>button{width:25px;height:25px;padding:5px;border:0;border-radius:var(--workbench-action-radius);background:#edf3ff;color:#1664ff}
.模板页内容区域操作 button svg,.模板页面设置表单>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,.模板页面设置表单>button:disabled{background:#f2f3f5;color:#a2aab5}

.模板右栏{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)}
.模板辅助信息开关{position:absolute;z-index:8;top:8px;right:calc(var(--模板右栏宽度) + 10px);width:28px;height:28px;padding:5px;display:grid;place-items:center;border:1px solid #d8e0eb;border-radius:var(--workbench-action-radius);background:#fff;color:#657184;box-shadow:0 2px 8px rgba(15,23,42,.08);cursor:pointer}
.模板辅助信息开关 svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.模板辅助信息开关:hover,.模板辅助信息开关:focus-visible,.模板辅助信息开关.已展开{border-color:#9dbcf0;background:#eef4ff;color:#1664ff;outline:0}
.模板右栏.模板辅助信息已收起{grid-template-rows:minmax(0,1fr)!important;align-content:stretch}
.模板右栏.模板辅助信息已收起>.课程右栏工具,.模板右栏.模板辅助信息已收起>.模板右栏页面设置,.模板右栏.模板辅助信息已收起 .模板原子编辑标题,.模板右栏.模板辅助信息已收起 .模板编辑历史栏{display:none!important}
.模板右栏.模板辅助信息已收起 .模板原子编辑面板{height:100%}
.模板右栏页面设置[hidden],.模板原子编辑面板[hidden]{display:none!important}
.模板右栏页面设置{min-width:0;padding:7px 10px;border-bottom:1px solid #edf0f4;background:#fff}
.模板页面设置表单{margin:0;display:grid;grid-template-columns:auto minmax(118px,170px);align-items:end;gap:6px}
.模板页面设置表单>label{min-width:0;display:grid;gap:3px}
.模板页面设置表单>label>span{color:#697487;font-size:8px;font-weight:650}
.模板页面设置表单 select{width:100%;min-width:0;min-height:25px;border-color:transparent;background:#f3f5f7}
.模板页面设置表单>.模板页码{align-self:center;padding:4px 6px;white-space:nowrap}
.模板页面设置表单>.模板页面状态{grid-column:1/-1;min-height:0;margin:0;color:#929caa;font-size:8px;line-height:1.25}
.模板右栏 .模板原子编辑面板{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:grid!important;grid-template-rows:auto auto minmax(320px,1fr)}
  .模板辅助信息开关{position:static;z-index:auto;grid-column:1;justify-self:end;margin:0 8px -4px 0}
}
@media(max-width:520px){
  .模板页面设置表单{grid-template-columns:1fr 1fr}
  .模板页面设置表单>.模板页码{grid-column:1/-1}
}

/* 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}
}
