/*
 * Feishu Universe Design visual contract for the vanilla workbench shell.
 * Tokens follow Feishu's blue-tinted neutral scale, semantic colors and 4px spacing grid.
 * This layer intentionally changes presentation only; business DOM and data contracts stay unchanged.
 */

:root {
  color-scheme: light;
  --feishu-font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --feishu-blue-0: 240, 244, 255;
  --feishu-blue-1: 225, 234, 255;
  --feishu-blue-2: 186, 206, 253;
  --feishu-blue-4: 78, 131, 253;
  --feishu-blue-5: 51, 112, 255;
  --feishu-blue-6: 36, 91, 219;
  --feishu-blue-7: 28, 76, 186;
  --feishu-green-0: 231, 250, 231;
  --feishu-green-5: 52, 199, 36;
  --feishu-orange-0: 255, 245, 235;
  --feishu-orange-5: 255, 136, 0;
  --feishu-red-0: 254, 240, 240;
  --feishu-red-5: 245, 74, 69;
  --feishu-grey-0: 248, 249, 250;
  --feishu-grey-1: 245, 246, 247;
  --feishu-grey-2: 239, 240, 241;
  --feishu-grey-3: 222, 224, 227;
  --feishu-grey-4: 187, 191, 196;
  --feishu-grey-5: 143, 149, 158;
  --feishu-grey-6: 100, 106, 115;
  --feishu-grey-8: 43, 47, 54;
  --feishu-grey-9: 31, 35, 41;

  --feishu-color-primary: rgb(var(--feishu-blue-5));
  --feishu-color-primary-hover: rgb(var(--feishu-blue-4));
  --feishu-color-primary-active: rgb(var(--feishu-blue-6));
  --feishu-color-primary-disabled: rgb(var(--feishu-blue-2));
  --feishu-color-primary-light-default: rgb(var(--feishu-blue-0));
  --feishu-color-primary-light-hover: rgb(var(--feishu-blue-1));
  --feishu-color-success: rgb(var(--feishu-green-5));
  --feishu-color-success-light-default: rgb(var(--feishu-green-0));
  --feishu-color-warning: rgb(var(--feishu-orange-5));
  --feishu-color-warning-light-default: rgb(var(--feishu-orange-0));
  --feishu-color-danger: rgb(var(--feishu-red-5));
  --feishu-color-danger-light-default: rgb(var(--feishu-red-0));
  --feishu-color-text-0: rgb(var(--feishu-grey-9));
  --feishu-color-text-1: rgb(var(--feishu-grey-6));
  --feishu-color-text-2: rgb(var(--feishu-grey-5));
  --feishu-color-text-3: rgb(var(--feishu-grey-4));
  --feishu-color-fill-0: rgba(var(--feishu-grey-9), .05);
  --feishu-color-fill-1: rgba(var(--feishu-grey-9), .08);
  --feishu-color-fill-2: rgba(var(--feishu-grey-9), .12);
  --feishu-color-border: rgb(var(--feishu-grey-3));
  --feishu-color-divider: rgba(var(--feishu-grey-9), .15);
  --feishu-color-control-border: rgb(var(--feishu-grey-4));
  --feishu-color-disabled-text: rgb(var(--feishu-grey-4));
  --feishu-color-disabled-bg: rgb(var(--feishu-grey-2));
  --feishu-color-bg-0: #fff;
  --feishu-color-bg-1: #fff;
  --feishu-color-bg-2: #f7f8fa;
  --feishu-color-overlay-bg: rgba(31, 35, 41, .22);
  --feishu-shadow-elevated: 0 8px 24px rgba(31, 35, 41, .12);
  --feishu-border-radius-extra-small: 4px;
  --feishu-border-radius-small: 6px;
  --feishu-border-radius-medium: 8px;
  --feishu-border-radius-large: 12px;
  --feishu-border-radius-full: 9999px;
  --feishu-height-control-small: 24px;
  --feishu-height-control-default: 32px;
  --feishu-height-control-large: 40px;
  --feishu-font-size-control-default: 13px;
  --feishu-line-height-control-default: 20px;
  --feishu-space-1: 4px;
  --feishu-space-2: 8px;
  --feishu-space-3: 12px;
  --feishu-space-4: 16px;

  --workbench-action-radius: var(--feishu-border-radius-small);
  --workbench-brand-primary: #1664ff;
  --workbench-brand-primary-hover: #4b8cff;
  --workbench-brand-primary-active: #0f54d8;
  --workbench-brand-primary-soft: #eef4ff;
  --workbench-brand-primary-soft-hover: #e3edff;
  --workbench-brand-primary-rgb: 22, 100, 255;

  /* Semantic component contract: pages consume roles instead of raw palette values. */
  --workbench-surface-canvas: #f5f7fa;
  --workbench-surface-panel: var(--feishu-color-bg-1);
  --workbench-surface-raised: var(--feishu-color-bg-2);
  --workbench-surface-muted: var(--feishu-color-fill-0);
  --workbench-surface-inset: #f3f5f8;
  --workbench-surface-interactive: var(--feishu-color-fill-0);
  --workbench-surface-selected: var(--feishu-color-primary-light-default);
  --workbench-text-primary: var(--feishu-color-text-0);
  --workbench-text-secondary: var(--feishu-color-text-1);
  --workbench-text-muted: var(--feishu-color-text-2);
  --workbench-text-disabled: var(--feishu-color-text-3);
  --workbench-text-accent: var(--feishu-color-primary);
  --workbench-border-subtle: var(--feishu-color-border);
  --workbench-border-strong: var(--feishu-color-control-border);
  --workbench-status-success-text: var(--feishu-color-success);
  --workbench-status-success-bg: var(--feishu-color-success-light-default);
  --workbench-status-danger-text: var(--feishu-color-danger);
  --workbench-status-danger-bg: var(--feishu-color-danger-light-default);
  --workbench-status-accent-text: var(--feishu-color-primary);
  --workbench-status-accent-bg: var(--feishu-color-primary-light-default);
  --workbench-status-warning-text: #9a5f00;
  --workbench-status-warning-bg: var(--feishu-color-warning-light-default);
  --workbench-status-neutral-text: var(--workbench-text-secondary);
  --workbench-status-neutral-bg: var(--feishu-color-fill-0);
  --workbench-atmosphere-color: #f8faff;
  --workbench-atmosphere-image: url("/home-background-light.svg");
  --workbench-atmosphere-overlay: rgba(255, 255, 255, .86);
  --workbench-panel-shadow: 0 10px 30px rgba(31, 35, 41, .08);
  --workbench-focus-ring: 0 0 0 2px rgba(var(--feishu-blue-5), .16);
}





html,
body {
  color: var(--feishu-color-text-0);
  background-color: var(--workbench-atmosphere-color);
  background-image: var(--workbench-atmosphere-image);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
  font-family: var(--feishu-font-family);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.workbench-logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
  text-decoration: none;
  border-radius: var(--feishu-border-radius-medium);
}

.workbench-logo-link:focus-visible {
  outline: none;
  box-shadow: var(--workbench-focus-ring);
}





a {
  color: var(--feishu-color-primary);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  min-height: var(--feishu-height-control-default);
  border: 1px solid transparent;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-0);
  font-weight: 500;
  transition: color .16s ease, background-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

button:hover:not(:disabled) {
  background: var(--feishu-color-fill-1);
}

button:active:not(:disabled) {
  background: var(--feishu-color-fill-2);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  color: var(--feishu-color-disabled-text);
  background: var(--feishu-color-disabled-bg);
  box-shadow: none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid rgba(var(--feishu-blue-5), .28);
  outline-offset: 2px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
select,
textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--feishu-height-control-default);
  padding: 0 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  outline: 0;
  box-shadow: none;
  transition: background-color .16s ease, box-shadow .16s ease;
}

textarea {
  padding-block: 8px;
  line-height: 1.5;
}

button,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
select,
textarea {
  appearance: none;
  -webkit-appearance: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):hover:not(:disabled),
select:hover:not(:disabled),
textarea:hover:not(:disabled) {
  border-color: rgb(var(--feishu-grey-6));
  background: var(--feishu-color-bg-0);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus,
select:focus,
textarea:focus {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-bg-0);
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .14);
}

input[type="number"] {
  appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

input[type="checkbox"],
input[type="radio"],
input[type="range"] {
  accent-color: var(--feishu-color-primary);
}

::placeholder {
  color: var(--feishu-color-text-3);
}

/* Navigation */
.网站导航栏,
.系统顶栏,
body[data-current-page="modelgateway"] .系统顶栏 {
  border-color: var(--feishu-color-border);
  background: rgba(255, 255, 255, .96);
  box-shadow: none;
  backdrop-filter: none;
}


.顶栏动作 button {
  border: 0;
  background: transparent;
  color: var(--feishu-color-text-1);
  box-shadow: none;
}



.顶栏动作 button:hover:not(:disabled) {
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-primary);
}



.网站导航个人菜单面板 {
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-2);
  box-shadow: var(--feishu-shadow-elevated);
}

/* Identity label: translucent glass base with the selected flowing-ribbon mark. */



















/* 后台入口菜单项统一颜色：链接与按钮同款（正文色 / 悬停主色） */
.网站导航个人菜单面板 a[role="menuitem"],
.网站导航个人菜单面板 button[role="menuitem"] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  border: 0;
  background: transparent;
  color: var(--feishu-color-text-1);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

/* 权限与当前工作台过滤后的菜单项必须保持隐藏，不能被上面的 flex 覆盖。 */
.网站导航个人菜单面板[hidden],
.网站导航个人菜单面板 [hidden] {
  display: none !important;
}

.网站导航个人菜单面板 a[role="menuitem"]:hover,
.网站导航个人菜单面板 button[role="menuitem"]:hover {
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-primary);
}
.网站导航个人菜单面板 a[role="menuitem"] > span,
.网站导航个人菜单面板 button[role="menuitem"] > span {
  color: inherit;
}

.网站导航个人菜单分组 {
  display: grid;
  gap: var(--feishu-space-1);
  padding: 8px 0;
}

.网站导航个人菜单分组:not([hidden]) ~ .网站导航个人菜单分组:not([hidden]) {
  border-top: 1px solid var(--feishu-color-border);
}

.网站导航个人菜单分组标题 {
  padding: 0 12px 2px;
  color: var(--feishu-color-text-3);
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
}

.网站导航个人菜单分组标题[data-user-menu-scope-title] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--feishu-space-2);
}

.网站导航个人菜单分组标题[data-user-menu-scope-title] b {
  color: var(--feishu-color-text-2);
  font: inherit;
}

.网站导航个人菜单分组标题[data-user-menu-scope-title] small {
  min-width: 0;
  overflow: hidden;
  color: var(--feishu-color-text-4);
  font: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.网站导航个人菜单面板 [data-user-menu-described] > span {
  min-width: 0;
  display: grid;
  gap: 1px;
  text-align: left;
}

.网站导航个人菜单面板 [data-user-menu-described] > span > strong {
  color: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.网站导航个人菜单面板 [data-user-menu-described] > span > small {
  overflow: hidden;
  color: var(--feishu-color-text-3);
  font-size: 11px;
  font-weight: 400;
  line-height: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.网站导航个人菜单 {
  display: flex;
  align-items: center;
  gap: var(--feishu-space-2);
}



















@media (max-width: 760px) {
  .网站导航栏 {
    grid-template-columns: 84px minmax(0, 1fr) auto;
  }

}





/* Legacy IM rules use page-qualified selectors, so dark surfaces need the same scope. */




body[data-current-page="im"] .IM窗口任务删除 {
  min-height: 24px;
}







/* Primary, secondary and danger actions */
.主操作,
.课程主按钮,
#IM提交按钮,
[data-save-im-template-display] {
  border: 1px solid var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
  box-shadow: none;
}

.主操作:hover:not(:disabled),
.课程主按钮:hover:not(:disabled),
#IM提交按钮:hover:not(:disabled),
[data-save-im-template-display]:hover:not(:disabled) {
  background: var(--feishu-color-primary-hover);
}

.主操作:active:not(:disabled),
.课程主按钮:active:not(:disabled),
#IM提交按钮:active:not(:disabled) {
  background: var(--feishu-color-primary-active);
}

.次操作,
.课程次按钮,
.快捷入口 button,
.IM窗口新建区 > button {
  border: 1px solid transparent;
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  box-shadow: none;
}

.次操作:hover:not(:disabled),
.课程次按钮:hover:not(:disabled),
.快捷入口 button:hover:not(:disabled),
.IM窗口新建区 > button:hover:not(:disabled) {
  background: var(--feishu-color-primary-light-hover);
}

.危险操作,
.模板页面删除操作,
.模板元素删除操作,
.IM窗口任务删除,
[data-delete-selected-templates],
[data-delete-template] {
  border: 1px solid transparent;
  background: var(--feishu-color-danger-light-default);
  color: var(--feishu-color-danger);
}

/* Elevated surfaces */
.IM窗口导航,
.IM窗口,
.IM任务面板,
.课程面板,
.模板库预览,
.详情区块,
.模型网关页头,
.模型网关卡,
.模型网关环节内容,
.工作日志任务,
.工作日志事件,
.可配置卡,
.环节卡 {
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-1);
  box-shadow: none;
}

.环节卡:hover,
.环节卡:focus-visible{
  transform: none;
  border-color: rgba(var(--feishu-blue-5), .35);
  box-shadow: 0 0 0 1px rgba(var(--feishu-blue-5), .08);
}
.全部模板卡:hover{
  transform: none;
  
  
}
.模板子页面按钮:hover{
  transform: none;
  
  
}
.IM聊天窗口行:hover {
  transform: none;
  
  
}

.配置抽屉,
.自由配版弹窗,
.模板库弹窗,
.IM模板弹窗,
.日志弹层 {
  border: 0;
  border-radius: var(--feishu-border-radius-large);
  background: var(--feishu-color-bg-2);
  box-shadow: var(--feishu-shadow-elevated);
}

.详情遮罩,
.自由配版遮罩,
.模板库遮罩,
.IM模板遮罩,
.日志遮罩 {
  background: var(--feishu-color-overlay-bg);
  backdrop-filter: none;
}

.配置抽屉 > header,
.自由配版弹窗 > header,
.模板库弹窗 > header,
.IM模板弹窗 > header,
.日志弹层 > header {
  border-bottom-color: var(--feishu-color-border);
}

/* Cards, lists and selection */
.全部模板卡,
.模板子页面按钮,
.IM模板弹窗卡,
.IM模板子页面卡,
.模板文字层列表 article,
.IM聊天窗口行 {
  border-color: var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
  box-shadow: none;
}


.模板文字层列表 article.当前文字区域卡{
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary-light-default);
  box-shadow: 0 0 0 1px var(--feishu-color-primary);
}

.模板类型筛选 button,
.课程生产步骤 button,
.工作日志栏目标签,
.IM内容数据库字段 button {
  color: var(--feishu-color-text-1);
}


.IM内容数据库字段 button:hover {
  color: var(--feishu-color-primary);
}

/* Template picker: keep page count secondary and make the actual Lingguang cost scannable. */
.IM模板弹窗费用 {
  display: block;
  min-width: 0;
  max-width: 100%;
}

.模板灵光费用信息 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 9px;
  min-width: 0;
  color: var(--feishu-color-text-3);
  font-size: 11px;
  line-height: 1.4;
}

.模板灵光费用突出 {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  color: var(--feishu-color-primary);
  white-space: nowrap;
}

.IM模板弹窗卡 .模板灵光费用突出 strong,
.IM模板元数据 dd .模板灵光费用突出 strong {
  display: inline;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-variant-numeric: tabular-nums;
  line-height: inherit;
}

/* Status, tags and feedback */
.状态胶囊,
.仅只读,
.模型网关配置状态,
.课程表单状态,
.模板编辑状态,
.环节状态 {
  border: 0;
  border-radius: var(--feishu-border-radius-extra-small);
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-2);
  box-shadow: none;
}

.状态胶囊.正常,
.模型网关配置状态.已配置,
.课程表单状态.通过,
.IM内容数据库编辑状态.成功 {
  background: var(--feishu-color-success-light-default);
  color: var(--feishu-color-success);
}

.状态胶囊.受阻,
.环节状态.受阻 {
  background: var(--feishu-color-warning-light-default);
  color: var(--feishu-color-warning);
}

.课程表单状态.失败,
.IM内容数据库编辑状态.失败,
.错误提示,
.模型网关错误 {
  background: var(--feishu-color-danger-light-default);
  color: var(--feishu-color-danger);
}

/* Tables and structured data */
.数据表,
.课程生产环节数据,
.日志明细列表 {
  border-color: var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
}

.数据表 th,
.课程生产环节数据 th {
  border-color: var(--feishu-color-divider);
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-2);
  font-weight: 600;
}

.数据表 td,
.课程生产环节数据 td {
  border-color: var(--feishu-color-divider);
  color: var(--feishu-color-text-1);
}

.数据表 tbody tr:hover td,
.课程生产环节数据 tbody tr:hover td {
  background: var(--feishu-color-fill-0);
}

/* Template content editor: the custom hierarchy fields must never fall back to browser-default styling. */
.模板文字层面板 input[data-template-slot-content-node-name],
.模板文字层面板 select[data-template-slot-parent-content],
.模板文字层面板 input[type="number"],
.模板文字层面板 select,
.模板文字层面板 textarea,
.模板页面设置表单 select,
.模板页面操作 select {
  min-height: var(--feishu-height-control-default);
  padding-inline: 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  box-shadow: none;
}

.模板文字层面板 input[data-template-slot-content-node-name]:hover:not(:disabled),
.模板文字层面板 select[data-template-slot-parent-content]:hover:not(:disabled),
.模板文字层面板 input[type="number"]:hover:not(:disabled),
.模板文字层面板 select:hover:not(:disabled),
.模板文字层面板 textarea:hover:not(:disabled) {
  border-color: rgb(var(--feishu-grey-6));
  background: var(--feishu-color-bg-0);
}

.模板文字层面板 input[data-template-slot-content-node-name]:focus,
.模板文字层面板 select[data-template-slot-parent-content]:focus,
.模板文字层面板 input[type="number"]:focus,
.模板文字层面板 select:focus,
.模板文字层面板 textarea:focus,
.模板页面设置表单 select:focus,
.模板页面操作 select:focus {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-bg-0);
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .14);
}

.模板字段网格 label > span,
.模板坐标控件 label > span,
.模板页面设置表单 label > span,
.配置表单 label,
.IM内容数据库编辑内容 label {
  color: var(--feishu-color-text-2);
  font-weight: 600;
}

.模板画布外框,
.模板背景图,
.模板子页面图片,
.IM模板图片预览 {
  border-radius: var(--feishu-border-radius-medium);
}

/* Scrollbars follow the Feishu neutral scale without changing layout. */
* {
  scrollbar-color: var(--feishu-color-fill-2) transparent;
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: var(--feishu-border-radius-full);
  background: var(--feishu-color-fill-2);
  background-clip: padding-box;
}

@media (prefers-reduced-motion: reduce) {
  button,
  input,
  select,
  textarea {
    transition: none;
  }
}

/* Specificity bridge for legacy page-scoped rules loaded before this theme. */
body .课程生产工作台,
body .课程生产工作台 button,
body .课程生产工作台 input,
body .课程生产工作台 select,
body .课程生产工作台 textarea {
  font-family: var(--feishu-font-family);
}

body .IM窗口导航,
body .IM窗口,
body .IM任务面板,
body .课程面板,
body .模型网关页头,
body .模型网关卡,
body .工作日志任务,
body .工作日志事件 {
  border-color: var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background-color: var(--feishu-color-bg-1);
  box-shadow: none;
}

body .配置抽屉,
body .自由配版弹窗,
body .模板库弹窗,
body .IM模板弹窗,
body .日志弹层 {
  border: 0;
  border-radius: var(--feishu-border-radius-large);
  background: var(--feishu-color-bg-2);
  box-shadow: var(--feishu-shadow-elevated);
}

body .IM窗口新建区 > button,
body .次操作,
body .课程次按钮 {
  border: 1px solid transparent;
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  box-shadow: none;
}

body .课程主按钮,
body .主操作,
body #IM提交按钮 {
  border: 1px solid var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
  box-shadow: none;
}

@media (min-width: 940px) and (min-height: 760px) {
  body .模板分页条 {
    min-height: 96px;
  }

  body .模板页面缩略项,
  body .模板页面缩略项 .课程模板页缩略 {
    width: 56px;
    min-width: 56px;
  }

  body .模板页内容区域操作 {
    min-height: 22px;
    gap: 2px;
  }

  body .模板页内容区域操作 button {
    width: 22px;
    height: 22px;
    padding: 4px;
  }
}

/* Full-site page states: task timelines, logs, empty states and progress feedback. */
body .IM任务概览,
body .IM当前阶段,
body .任务模型用量,
body .任务结果摘要,
body .工作日志任务,
body .工作日志事件,
body .日志任务摘要,
body .日志事件区,
body .课程生产空状态,
body .空状态,
body .IM任务空状态,
body .日志空状态 {
  border-color: var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
  box-shadow: none;
}

body .课程生产空状态,
body .空状态,
body .IM任务空状态,
body .日志空状态,
body .工作日志栏目面板:empty {
  color: var(--feishu-color-text-2);
}

body .工作日志栏目标签,
body .课程数据库标签,
body .课程文档标签,
body [role="tab"] {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--feishu-color-text-1);
  box-shadow: none;
}


body .工作日志栏目标签:focus-visible,
body .课程数据库标签:hover,
body .课程数据库标签[aria-selected="true"],
body .课程文档标签:hover,
body .课程文档标签[aria-selected="true"]{
  color: var(--feishu-color-primary);
  background: transparent;
}

body .IM进度条 {
  overflow: hidden;
  border-radius: var(--feishu-border-radius-full);
  background: var(--feishu-color-fill-1);
}

body .IM进度条 > i {
  border-radius: inherit;
  background: var(--feishu-color-primary);
}

body .IM进度列表 li,
body .聊天过程消息流 .过程消息,
body .独立功能事件列表 .进程事件状态,
body .日志明细项 {
  border-color: var(--feishu-color-border);
  background: transparent;
  box-shadow: none;
}

body .IM进度列表 li.completed > i,
body .过程消息.completed > div > span,
body .进程事件状态.completed span > i,
body .日志明细项.completed header i {
  background: var(--feishu-color-success-light-default);
  color: var(--feishu-color-success);
}

body .IM进度列表 li.running > i,
body .过程消息.running > div > span,
body .进程事件状态.running span > i,
body .日志明细项.running header i {
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
}

body .IM进度列表 li.failed > i,
body .过程消息.failed > div > span,
body .进程事件状态.failed span > i,
body .日志明细项.failed header i {
  background: var(--feishu-color-danger-light-default);
  color: var(--feishu-color-danger);
}

body .IM进度列表 li.waiting > i,
body .过程消息.waiting > div > span,
body .进程事件状态.waiting span > i,
body .日志明细项.waiting header i {
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-3);
}

body .工作日志任务.completed > header,
body .工作日志任务.completed > header em,
body .工作日志任务.completed > header b {
  color: var(--feishu-color-success);
}

body .工作日志任务.running > header,
body .工作日志任务.running > header em,
body .工作日志任务.running > header b {
  color: var(--feishu-color-primary);
}

body .工作日志任务.failed > header,
body .工作日志任务.failed > header em,
body .工作日志任务.failed > header b,
body .过程消息错误 {
  color: var(--feishu-color-danger);
}

body .聊天任务进度.running .聊天过程头 strong,
body .IM任务概览.运行中 strong {
  color: var(--feishu-color-primary);
}

body .任务模型身份 code,
body .课程阶段实体表 em,
body .课程生产步骤 button em,
body .模型网关配置状态,
body .工作日志任务 > header > em,
body .工作日志任务 > header > b {
  border: 0;
  border-radius: var(--feishu-border-radius-extra-small);
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-2);
  box-shadow: none;
}

body .环节操作,
body .卡内子环节指标,
body .树节点操作提示 {
  color: var(--feishu-color-primary);
  background: transparent;
  box-shadow: none;
}

body .环节卡.当前 .环节操作 {
  background: var(--feishu-color-primary);
  color: #fff;
}

/* Native dialog shells are normalized to the same Feishu modal surface. */
body dialog,
body .销售案例入库弹窗 {
  max-width: min(680px, calc(100vw - 32px));
  border: 0;
  border-radius: var(--feishu-border-radius-large);
  background: var(--feishu-color-bg-2);
  color: var(--feishu-color-text-0);
  box-shadow: var(--feishu-shadow-elevated);
}

body dialog::backdrop,
body .销售案例入库弹窗::backdrop {
  background: var(--feishu-color-overlay-bg);
  backdrop-filter: none;
}

body .销售案例入库弹窗 header,
body .销售案例入库弹窗 footer {
  border-color: var(--feishu-color-border);
  background: var(--feishu-color-bg-0);
}

body .销售案例入库弹窗 footer button[type="submit"] {
  border: 1px solid var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
}

body .销售案例入库弹窗 footer button[type="submit"]:hover:not(:disabled) {
  background: var(--feishu-color-primary-hover);
}

/* Sales-task composer: keep upload guidance readable instead of collapsing into a native narrow tool column. */
body[data-current-page="im"] .IM销售截图工具 {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

body[data-current-page="im"] .IM销售截图工具 > small {
  min-width: 0;
  color: var(--feishu-color-text-2);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: break-word;
  word-break: normal;
}

body[data-current-page="im"] .IM销售截图工具 > button {
  min-height: var(--feishu-height-control-default);
  border: 1px solid transparent;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  box-shadow: none;
}

body[data-current-page="im"] .IM销售截图列表 {
  grid-column: 1 / -1;
}

@media (min-width: 901px) {
  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: end;
    gap: 10px 12px;
  }

  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) .IM任务配置板块 {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr);
    align-items: end;
    gap: 12px;
  }

  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) .IM栏目切换栏 {
    grid-column: 1;
  }

  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) .IM销售截图工具 {
    grid-column: 2;
  }

  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) #IM输入 {
    grid-column: 1;
    grid-row: 2;
  }

  body[data-current-page="im"] .IM输入区:not(:has(#IM输入[hidden])):has(#IM销售截图工具:not([hidden])) #IM提交按钮 {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 900px) {
  body[data-current-page="im"] .IM销售截图工具 {
    grid-template-columns: 1fr;
  }

  body[data-current-page="im"] .IM销售截图列表 {
    grid-column: 1;
  }
}

/* Specificity bridge for IM task-state rules declared by the legacy page shell. */
body[data-current-page="im"] .IM任务概览,
body[data-current-page="im"] .IM当前阶段,
body[data-current-page="im"] .任务模型用量,
body[data-current-page="im"] .任务结果摘要 {
  border-color: var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
  box-shadow: none;
}

body[data-current-page="im"] .IM完整流程 .IM进度列表 li.completed > i,
body[data-current-page="im"] .聊天过程消息流 .过程消息.completed > div > span {
  background: var(--feishu-color-success-light-default);
  color: var(--feishu-color-success);
  box-shadow: none;
}

body[data-current-page="im"] .IM完整流程 .IM进度列表 li.running > i,
body[data-current-page="im"] .聊天过程消息流 .过程消息.running > div > span {
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  box-shadow: none;
}

body[data-current-page="im"] .IM完整流程 .IM进度列表 li.failed > i,
body[data-current-page="im"] .聊天过程消息流 .过程消息.failed > div > span {
  background: var(--feishu-color-danger-light-default);
  color: var(--feishu-color-danger);
  box-shadow: none;
}

body[data-current-page="im"] .IM完整流程 .IM进度列表 li.waiting > i,
body[data-current-page="im"] .聊天过程消息流 .过程消息.waiting > div > span {
  background: var(--feishu-color-fill-0);
  color: var(--feishu-color-text-3);
  box-shadow: none;
}

/* Feishu form controls must outrank the legacy IM composer theme. */
body[data-current-page="im"] .IM输入区 textarea,
body[data-current-page="im"] .IM输入区 select {
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  box-shadow: none;
}

body[data-current-page="im"] .IM输入区 .IM栏目选择 select {
  border: 1px solid var(--feishu-color-control-border) !important;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0) !important;
  color: var(--feishu-color-text-0) !important;
  -webkit-text-fill-color: var(--feishu-color-text-0);
}

body[data-current-page="im"] .IM输入区 textarea:hover:not(:disabled),
body[data-current-page="im"] .IM输入区 select:hover:not(:disabled) {
  border-color: rgb(var(--feishu-grey-6));
  background: var(--feishu-color-bg-0);
}

body[data-current-page="im"] .IM输入区 textarea:focus,
body[data-current-page="im"] .IM输入区 select:focus {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-bg-0);
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .14);
}

body[data-current-page="im"] #IM提交按钮 {
  border: 1px solid var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
  box-shadow: none;
}

body[data-current-page="im"] #IM提交按钮:hover:not(:disabled) {
  border-color: var(--feishu-color-primary-hover);
  background: var(--feishu-color-primary-hover);
}

body[data-current-page="im"] #IM提交按钮:active:not(:disabled) {
  border-color: var(--feishu-color-primary-active);
  background: var(--feishu-color-primary-active);
}

/* IM selects use a workbench-rendered Feishu combobox; native selects only retain form values. */
.IM原生选择器 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.IM飞书选择器 {
  position: relative;
  min-width: 0;
  width: 100%;
}

.IM飞书选择器按钮 {
  width: 100%;
  height: 36px;
  min-height: 36px;
  padding: 0 32px 0 12px;
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  box-shadow: none;
}

.IM飞书选择器按钮 > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.IM飞书选择器按钮 > i {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid var(--feishu-color-text-2);
  border-bottom: 1.5px solid var(--feishu-color-text-2);
  transform: translateY(-65%) rotate(45deg);
  transition: transform .16s ease;
}

.IM飞书选择器按钮[aria-expanded="true"] {
  border-color: var(--feishu-color-primary);
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .14);
}

.IM飞书选择器按钮[aria-expanded="true"] > i {
  transform: translateY(-20%) rotate(225deg);
}

.IM飞书选择器面板 {
  position: absolute;
  z-index: 160;
  left: 0;
  right: 0;
  bottom: calc(100% + var(--feishu-space-1));
  min-width: max(100%, 220px);
  max-height: 280px;
  padding: var(--feishu-space-1);
  overflow: auto;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
  box-shadow: var(--feishu-shadow-elevated);
}

.IM飞书选择器面板[hidden] {
  display: none;
}

.IM飞书选择器.向下展开 > .IM飞书选择器面板 {
  top: calc(100% + var(--feishu-space-1));
  bottom: auto;
}

.API模型弹窗内容 .IM飞书选择器.向下展开 > .IM飞书选择器面板 {
  position: relative;
  top: auto;
  bottom: auto;
  margin-top: var(--feishu-space-1);
}

/* 添加模型弹窗的文本输入与飞书选择器共享同一套控件几何。 */
.API模型参数弹窗 .大模型网关表单 input:not([type="hidden"]),
body .API模型参数弹窗 .大模型网关表单 .IM飞书选择器 .IM飞书选择器按钮{box-sizing:border-box;width:100%;height:36px;min-height:36px;margin:0;padding:0 12px;border:1px solid transparent!important;border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-fill-0)!important;color:var(--feishu-color-text-0)!important;font-size:14px;line-height:34px;box-shadow:none!important}
body .API模型参数弹窗 .大模型网关表单 .IM飞书选择器 .IM飞书选择器按钮{padding-right:32px}
.API模型参数弹窗 .大模型网关表单 input:not([type="hidden"]):focus,
body .API模型参数弹窗 .大模型网关表单 .IM飞书选择器 .IM飞书选择器按钮[aria-expanded="true"]{border-color:var(--feishu-color-primary)!important;background:var(--feishu-color-bg-0)!important;box-shadow:0 0 0 2px rgba(var(--feishu-blue-5),.14)!important}

.IM飞书选择器分组 {
  padding: 8px 12px 4px;
  color: var(--feishu-color-text-3);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

.IM飞书选择器分组:not(:first-child) {
  margin-top: 4px;
  border-top: 1px solid var(--feishu-color-border);
}

.IM飞书选择器选项 {
  width: 100%;
  min-height: 36px;
  padding: 7px 34px 7px 12px;
  display: flex;
  align-items: center;
  position: relative;
  border: 0;
  border-radius: var(--feishu-border-radius-small);
  background: transparent;
  color: var(--feishu-color-text-0);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
}

.IM飞书选择器选项:hover:not(:disabled),
.IM飞书选择器选项:focus-visible {
  background: var(--feishu-color-fill-0);
  outline: none;
}

.IM飞书选择器选项.选中 {
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary-active);
  font-weight: 500;
}

.IM飞书选择器选项.选中::after {
  content: "✓";
  position: absolute;
  right: 12px;
  color: var(--feishu-color-primary);
  font-size: 14px;
  font-weight: 700;
}

/* 旧页面的通用 button 规则优先级较高；这里固定飞书选择器自己的视觉语义。 */
body .IM飞书选择器 .IM飞书选择器按钮 {
  border: 1px solid var(--feishu-color-control-border) !important;
  background: var(--feishu-color-bg-0) !important;
  color: var(--feishu-color-text-0) !important;
  box-shadow: none !important;
  transform: none !important;
}

body .IM飞书选择器 .IM飞书选择器按钮:hover:not(:disabled) {
  border-color: var(--feishu-color-text-2) !important;
  background: var(--feishu-color-bg-0) !important;
  color: var(--feishu-color-text-0) !important;
}

body .IM飞书选择器 .IM飞书选择器按钮[aria-expanded="true"] {
  border-color: var(--feishu-color-primary) !important;
  background: var(--feishu-color-bg-0) !important;
  box-shadow: 0 0 0 2px rgba(51, 112, 255, 0.14) !important;
}

body .IM飞书选择器 .IM飞书选择器选项 {
  border: 0 !important;
  background: transparent !important;
  color: var(--feishu-color-text-0) !important;
  box-shadow: none !important;
  transform: none !important;
}

body .IM飞书选择器 .IM飞书选择器选项:hover:not(:disabled),
body .IM飞书选择器 .IM飞书选择器选项:focus-visible {
  background: var(--feishu-color-fill-0) !important;
  color: var(--feishu-color-text-0) !important;
}

body .IM飞书选择器 .IM飞书选择器选项.选中 {
  background: var(--feishu-color-primary-light-default) !important;
  color: var(--feishu-color-primary-active) !important;
}

body .IM飞书选择器 .IM飞书选择器按钮:disabled,
body .IM飞书选择器 .IM飞书选择器选项:disabled {
  background: var(--feishu-color-fill-0) !important;
  color: var(--feishu-color-text-3) !important;
  cursor: not-allowed;
}

.飞书全局弹层遮罩,
.销售案例入库遮罩 {
  position: fixed;
  z-index: 320;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(31, 35, 41, 0.38);
  backdrop-filter: blur(2px);
}

.飞书全局弹层遮罩[hidden],
.销售案例入库遮罩[hidden] {
  display: none;
}

.飞书全局弹层 {
  width: min(440px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-large);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  box-shadow: var(--feishu-shadow-elevated);
}

.飞书全局弹层 header,
.飞书全局弹层 footer {
  display: flex;
  align-items: center;
  padding: 16px 20px;
}

.飞书全局弹层 header {
  justify-content: space-between;
  border-bottom: 1px solid var(--feishu-color-border);
}

.飞书全局弹层 h2,
.飞书全局弹层 p {
  margin: 0;
}

.飞书全局弹层 h2 {
  font-size: 16px;
}

.飞书全局弹层 header button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--feishu-color-text-2) !important;
  box-shadow: none !important;
  font-size: 22px;
}

.飞书全局弹层内容 {
  display: grid;
  gap: 14px;
  padding: 20px;
  color: var(--feishu-color-text-1);
  font-size: 14px;
  line-height: 1.6;
}

.飞书全局弹层内容 label {
  display: grid;
  gap: 6px;
}

.飞书全局弹层内容 input {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
}

.飞书全局弹层 footer {
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--feishu-color-border);
}

body .飞书全局弹层 footer button {
  min-width: 72px;
  height: 32px;
  padding: 0 16px;
  border: 1px solid var(--feishu-color-control-border) !important;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0) !important;
  color: var(--feishu-color-text-0) !important;
  box-shadow: none !important;
}

body .飞书全局弹层 footer .飞书弹层确认按钮 {
  border-color: var(--feishu-color-primary) !important;
  background: var(--feishu-color-primary) !important;
  color: #fff !important;
}

body .飞书全局弹层 footer .飞书弹层确认按钮.危险 {
  border-color: var(--feishu-color-danger) !important;
  background: var(--feishu-color-danger) !important;
}

.IM授权弹窗 {
  width: min(640px, calc(100vw - 32px));
}



















.灵光充值弹窗 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1040px, calc(100vw - 40px));
  max-height: min(780px, calc(100vh - 48px));
  border-color: rgba(255, 255, 255, .62);
  background: #245beb url("profile-recharge-background.jpg") center / cover no-repeat;
  box-shadow: 0 30px 80px rgba(15, 45, 142, .28);
}

.灵光充值弹窗 header > div {
  display: grid;
  gap: 4px;
}

.灵光充值弹窗 header,
.灵光充值弹窗 footer {
  padding-right: 24px;
  padding-left: 24px;
}

.灵光充值弹窗 > header {
  border-bottom-color: rgba(255, 255, 255, .54);
  background: rgba(255, 255, 255, .86);
  color: rgb(31, 35, 41);
  -webkit-backdrop-filter: blur(20px) saturate(122%);
  backdrop-filter: blur(20px) saturate(122%);
}

.灵光充值弹窗 > header p {
  color: rgb(100, 106, 115);
}

.灵光充值弹窗 > header button {
  color: rgb(143, 149, 158) !important;
}

.灵光充值弹窗 .飞书全局弹层内容 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
  gap: 16px;
  min-height: 0;
  overflow: hidden;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(15, 61, 205, .08), rgba(36, 91, 235, .03) 46%, rgba(104, 143, 255, .10)),
    url("profile-recharge-background.jpg") center / cover no-repeat;
}

.灵光充值弹窗 header p {
  color: var(--feishu-color-text-2);
  font-size: 13px;
}

.灵光充值核心区 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
}

.灵光充值专区 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 16px;
  min-width: 0;
  min-height: 0;
  padding: 24px 28px 20px;
  background: var(--feishu-color-bg-1);
}

.灵光充值专区标题,
.灵光计费说明标题 {
  display: grid;
  gap: 5px;
}

.灵光充值专区标题 strong,
.灵光计费说明标题 strong {
  color: var(--feishu-color-text-0);
  font-size: 18px;
  line-height: 1.35;
}

.灵光充值专区标题 span,
.灵光计费说明标题 span {
  color: var(--feishu-color-text-2);
  font-size: 13px;
  line-height: 1.5;
}

.灵光充值主视觉 {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  min-height: 280px;
  padding: 8px 20px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.灵光支付展示 {
  display: grid;
  place-items: center;
  width: 220px;
  height: 220px;
}

.灵光支付展示 > * {
  grid-area: 1 / 1;
}

.灵光支付二维码 {
  display: block;
  box-sizing: border-box;
  width: 220px;
  height: 220px;
  padding: 6px;
  border: 1px solid rgba(var(--workbench-brand-primary-rgb), .28);
  border-radius: var(--feishu-border-radius-medium);
  background: #fff;
  box-shadow: 0 8px 22px rgba(var(--workbench-brand-primary-rgb), .12);
}

.灵光支付二维码[hidden] {
  display: none;
}

.灵光支付结果操作 {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(var(--workbench-brand-primary-rgb), .28);
  border-radius: var(--feishu-border-radius-medium);
  background: rgba(255, 255, 255, .78);
  color: var(--workbench-brand-primary);
  box-shadow: 0 8px 22px rgba(var(--workbench-brand-primary-rgb), .12);
  font-size: 16px;
  font-weight: 600;
}

button.灵光支付结果操作:hover,
button.灵光支付结果操作:focus-visible {
  border-color: var(--workbench-brand-primary);
  background: #fff;
}

.灵光支付成功 {
  color: var(--feishu-color-success);
}

.灵光支付结果操作[hidden] {
  display: none;
}

.灵光充值金额 {
  display: grid;
  gap: 10px;
}

.灵光充值金额选项 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.灵光充值专区 .灵光充值金额选项 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.灵光充值专区 .灵光自定义金额 {
  grid-column: 1 / -1;
  grid-template-columns: 108px minmax(0, 180px);
  justify-content: start;
  align-items: center;
  min-height: 44px;
  padding: 6px 10px;
}

.灵光充值专区 .灵光自定义金额 > label {
  text-align: left;
}

.灵光充值金额选项 button {
  display: grid;
  place-items: center;
  gap: 1px;
  min-height: 54px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-1);
  color: var(--feishu-color-text-0);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.灵光充值金额选项 button strong {
  font-size: 17px;
  letter-spacing: -.01em;
}

.灵光充值金额选项 button small {
  color: var(--feishu-color-text-2);
  font-size: 11px;
  font-weight: 500;
}

.灵光充值金额选项 button[aria-pressed="true"] small {
  color: var(--feishu-color-primary);
}

.灵光充值金额选项 button:hover,
.灵光充值金额选项 button:focus-visible,
.灵光充值金额选项 button[aria-pressed="true"] {
  border-color: var(--workbench-brand-primary);
  background: var(--workbench-brand-primary-soft);
  color: var(--workbench-brand-primary-active);
  outline: none;
}

.灵光充值金额选项 button[aria-pressed="true"] {
  box-shadow: 0 0 0 1px var(--workbench-brand-primary);
}

.灵光自定义金额 {
  min-width: 0;
  min-height: 54px;
  padding: 5px 8px 4px;
  overflow: hidden;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-1);
  display: grid;
  align-content: center;
  gap: 1px;
}

.灵光自定义金额 > label {
  color: var(--feishu-color-text-2);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

.灵光自定义金额 > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 10px;
  align-items: center;
  min-height: 22px;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.灵光自定义金额 input {
  min-width: 0;
  height: 22px;
  padding: 0 2px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--feishu-color-text-0);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.灵光自定义金额:focus-within {
  border-color: var(--workbench-brand-primary);
  background: var(--workbench-brand-primary-soft);
  box-shadow: 0 0 0 2px rgba(var(--workbench-brand-primary-rgb), .12);
}

.灵光自定义金额 input[aria-invalid="true"] {
  color: var(--feishu-color-danger);
}

.灵光自定义金额 > div > span {
  padding-right: 2px;
  color: var(--feishu-color-text-2);
  font-size: 11px;
}

.灵光自定义金额提示 {
  margin: -5px 2px 0;
  color: var(--feishu-color-text-3);
  font-size: 11px;
}

.灵光充值主视觉 .灵光充值选择结果 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 24px;
  margin: 0;
  padding: 0 2px;
  color: var(--feishu-color-text-2);
  font-size: 12px;
}

.灵光充值主视觉 .灵光充值选择结果 strong {
  color: var(--feishu-color-text-0);
  font-size: 13px;
}

.灵光支付状态 {
  min-height: 18px;
  margin: -4px 0 0;
  color: var(--feishu-color-text-2);
  font-size: 12px;
  text-align: center;
}

.灵光支付状态[data-kind="success"] { color: var(--feishu-color-success); }
.灵光支付状态[data-kind="error"] { color: var(--feishu-color-danger); }

.灵光支付状态[data-kind="countdown"] {
  display: grid;
  justify-items: center;
  gap: 4px;
}

.灵光支付状态说明,
.灵光支付倒计时时间 {
  display: block;
}

.灵光支付倒计时时间 {
  color: var(--feishu-color-text-0);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  line-height: 20px;
}

.灵光充值弹窗 footer.灵光支付操作 {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.灵光充值专区 > footer.灵光支付操作 {
  padding: 8px 0 0;
  border-top: 0;
  background: transparent;
}

.灵光计费说明区 {
  display: grid;
  align-content: start;
  gap: 20px;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding: 28px 30px 24px;
  border: 0;
  background: transparent;
  color: #fff;
}

.灵光充值专区 {
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: var(--feishu-border-radius-large);
  background: linear-gradient(145deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .46));
  color: rgb(31, 35, 41);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, .96),
    inset 1px 0 rgba(255, 255, 255, .42),
    0 24px 60px rgba(16, 45, 142, .20);
  -webkit-backdrop-filter: blur(34px) saturate(138%);
  backdrop-filter: blur(34px) saturate(138%);
}

.灵光充值专区 .灵光充值专区标题 span,
.灵光充值专区 .灵光充值金额选项 button small,
.灵光充值专区 .灵光充值金额选项 button[aria-pressed="true"] small,
.灵光充值专区 .灵光自定义金额 > label,
.灵光充值专区 .灵光自定义金额 > div > span,
.灵光充值专区 .灵光自定义金额提示,
.灵光充值专区 .灵光充值选择结果,
.灵光充值专区 .灵光支付状态 {
  color: rgb(31, 35, 41);
}

.灵光充值专区 .灵光支付状态[data-kind="success"] { color: var(--feishu-color-success); }
.灵光充值专区 .灵光支付状态[data-kind="error"] { color: var(--feishu-color-danger); }

.灵光计费说明区 :is(.灵光计费说明标题 strong, .灵光收费规则 p strong, .灵光充值价格摘要 strong) {
  color: #fff;
}

.灵光计费说明区 :is(.灵光计费说明标题 span, .灵光收费规则 p, .灵光充值价格摘要 > span, .灵光收费说明) {
  color: rgba(255, 255, 255, .78);
}















.灵光消耗规则区 {
  display: grid;
  gap: 20px;
}

.灵光计费说明标题 {
  min-height: 0;
}

.灵光充值价格摘要 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.灵光充值价格摘要 > span {
  color: var(--feishu-color-text-1);
  font-size: 13px;
  line-height: 1.65;
}

.灵光充值价格摘要 strong {
  color: var(--feishu-color-text-0);
  font-weight: 600;
}

.灵光收费规则 {
  display: grid;
  gap: 18px;
  margin: 0;
}

.灵光收费规则 p {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--feishu-color-text-1);
  font-size: 13px;
  line-height: 1.65;
}

body[data-current-page="im"] .IM任务类型计费说明 {
  grid-column: 1 / -1;
  order: 20;
  min-width: 0;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--feishu-color-primary-light-hover);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-text-1);
  font-size: 11px;
  line-height: 1.5;
}

body[data-current-page="im"] .IM任务类型计费说明[hidden] {
  display: none !important;
}

.灵光收费规则 p strong {
  color: var(--feishu-color-text-0);
  font-weight: 600;
}

.灵光收费说明 {
  margin: 0;
  padding-top: 2px;
  color: var(--feishu-color-text-3);
  font-size: 11px;
  line-height: 1.5;
  text-align: left;
}

@media (max-width: 1040px) {
  body[data-current-page="modelgateway"] .API配置侧栏 nav {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }
}

@media (max-width: 860px) {
  .灵光充值弹窗 {
    width: min(620px, calc(100vw - 32px));
  }

  .灵光充值弹窗 .飞书全局弹层内容 {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }

  .灵光充值专区 {
    order: -1;
    min-height: auto;
    padding: 20px 24px 18px;
  }

  .灵光充值专区 .灵光充值金额选项 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .灵光计费说明区 {
    overflow: visible;
    padding: 22px 24px;
    border-top: 0;
    border-right: 0;
  }

  .灵光充值主视觉 {
    min-height: 240px;
  }

  .灵光充值专区 .灵光充值金额选项 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .灵光充值专区 .灵光自定义金额 {
    grid-template-columns: 96px minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  

  

  

  

  .灵光充值金额选项 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 520px) {
  .灵光充值主视觉 {
    min-height: 220px;
    padding-top: 8px;
  }

  .灵光支付展示,
  .灵光支付二维码,
  .灵光支付结果操作 {
    width: 200px;
    height: 200px;
  }

  .灵光收费规则 p {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

}

.IM授权弹窗 header > div {
  display: grid;
  gap: 4px;
}

.IM授权弹窗 header p {
  color: var(--feishu-color-text-2);
  font-size: 13px;
}

.IM授权字段行 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 12px;
}

.IM授权弹窗 select {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
}

.IM授权状态:empty {
  display: none;
}

.IM授权状态[data-kind="error"] {
  color: var(--feishu-color-danger);
}

.IM授权状态[data-kind="success"] {
  color: var(--feishu-color-success, #00b42a);
}

.IM邀请二维码区 {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 4px 0 0;
}

.IM邀请二维码区[hidden] {
  display: none;
}

.IM邀请二维码区 small {
  color: var(--feishu-color-text-2);
  font-size: 12px;
}

.IM邀请二维码框 {
  width: 240px;
  height: 240px;
  overflow: hidden;
  border-radius: var(--feishu-border-radius-medium);
  background: #fff;
}

.IM邀请二维码框 img {
  display: block;
  width: 100%;
  height: 100%;
}

.IM邀请二维码框 img[hidden] {
  display: none;
}

.IM授权高级选项 {
  border-top: 1px solid var(--feishu-color-border);
  padding-top: 10px;
  color: var(--feishu-color-text-2);
}

.IM授权高级选项[hidden] {
  display: none;
}

.IM授权高级选项 summary {
  cursor: pointer;
  font-size: 13px;
}

.IM授权命令区 {
  display: grid;
  gap: 8px;
  padding: 12px;
  margin-top: 10px;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-1);
}

.IM授权命令区[hidden] {
  display: none;
}

.IM授权命令区 > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body .IM授权命令区 button {
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--feishu-color-primary) !important;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0) !important;
  color: var(--feishu-color-primary) !important;
}

.IM授权命令区 code {
  display: block;
  overflow-wrap: anywhere;
  padding: 12px;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-2);
  color: var(--feishu-color-text-0);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.6;
  user-select: all;
}

.IM授权命令区 small {
  color: var(--feishu-color-text-2);
}

@media (max-width: 640px) {
  .IM授权字段行 {
    grid-template-columns: 1fr;
  }

  .IM邀请二维码框 {
    width: min(300px, 100%);
  }
}

.销售案例入库遮罩 .销售案例入库弹窗 {
  position: relative;
  inset: auto;
  display: block;
  margin: 0;
  overflow: auto;
}

.销售案例表单错误 {
  margin: 0;
  color: var(--feishu-color-danger);
  font-size: 12px;
}

@media (max-width: 760px) {
  .IM飞书选择器面板 {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    min-width: 0;
    max-height: min(50dvh, 360px);
  }
}

/* Remaining native-looking controls use Feishu surfaces across every workbench page. */
input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--feishu-color-control-border);
  background: var(--feishu-color-bg-0);
  box-shadow: none;
  cursor: pointer;
}

input[type="checkbox"] {
  border-radius: var(--feishu-border-radius-extra-small);
}

input[type="radio"] {
  border-radius: var(--feishu-border-radius-full);
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary);
}

input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}

input[type="checkbox"]:hover:not(:disabled),
input[type="radio"]:hover:not(:disabled) {
  border-color: var(--feishu-color-primary-hover);
}

input[type="file"] {
  min-height: var(--feishu-height-control-large);
  padding: var(--feishu-space-1);
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-1);
}

input[type="file"]::file-selector-button {
  min-height: var(--feishu-height-control-default);
  margin-right: var(--feishu-space-2);
  padding: 0 var(--feishu-space-3);
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  font-weight: 500;
  cursor: pointer;
}

input[type="file"]::file-selector-button:hover {
  border-color: var(--feishu-color-primary);
  color: var(--feishu-color-primary);
  background: var(--feishu-color-primary-light-default);
}

body .飞书文件原生输入 {
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  opacity: 0 !important;
  white-space: nowrap !important;
}

.飞书文件选择器 {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--feishu-space-2);
}

body .飞书文件选择按钮 {
  min-height: var(--feishu-height-control-default);
  padding: 0 var(--feishu-space-3);
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  box-shadow: none;
}

body .飞书文件选择按钮:hover:not(:disabled) {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
}

body .飞书文件选择按钮[aria-invalid="true"] {
  border-color: var(--feishu-color-danger);
}

.飞书文件选择摘要 {
  min-width: 0;
  overflow: hidden;
  color: var(--feishu-color-text-2);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

input[type="range"] {
  height: 20px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
}

input[type="range"]::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: var(--feishu-border-radius-full);
  background: rgb(var(--feishu-grey-3));
}

input[type="range"]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  margin-top: -6px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid var(--feishu-color-primary);
  border-radius: 50%;
  background: var(--feishu-color-bg-0);
  box-shadow: 0 2px 6px rgba(31, 35, 41, .16);
}

input[type="color"] {
  width: 100%;
  height: var(--feishu-height-control-default);
  padding: 3px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
}

input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

input[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: var(--feishu-border-radius-extra-small);
}

.模板颜色控件{
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  gap: var(--feishu-space-2);
}

.模板颜色控件 input[type="color"]{
  width: 44px;
  min-width: 44px;
  cursor: pointer;
}

.模板颜色控件 input[type="text"]{
  min-width: 0;
  width: 100%;
}

.模板颜色控件 input:disabled{
  cursor: not-allowed;
  opacity: .6;
}

input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

/* 特色与选题卡片标题最多显示两行，长标题在卡片内省略。 */
.课程子内容摘要卡 > strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* Course-production dark mode: normalize the legacy light-only workspace chrome.
 * Keep template canvases and rendered-image previews untouched so their visual truth is preserved.
 */










































/* Full-site dark completion: legacy business views still declare fixed light surfaces.
 * Rendered template canvases and final images are intentionally excluded.
 */
















































































/* Template-library modal is mounted dynamically and keeps its own legacy surfaces. */


















/* Dark semantic component layer: shared hierarchy for the IM shell and task states. */














































body[data-current-page="im"] .公众号排版结果 {
  margin: 14px 0;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 10px;
  background: var(--workbench-surface-interactive);
}

body[data-current-page="im"] .公众号排版结果 > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body[data-current-page="im"] .公众号排版结果 strong {
  overflow: hidden;
  color: var(--workbench-text-primary);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-current-page="im"] .公众号排版结果 span,
body[data-current-page="im"] .公众号排版结果 small {
  color: var(--workbench-text-muted);
  font-size: 12px;
}

body[data-current-page="im"] .公众号排版结果 button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid var(--feishu-color-primary);
  border-radius: 8px;
  background: var(--feishu-color-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

body[data-current-page="im"] .公众号排版结果 small {
  grid-column: 1 / -1;
}



















/* Full-site dark component bridge: legacy pages map to the same semantic roles. */












































/* Residual legacy states: keep empty, disabled and status components inside dark surfaces. */






/* Keep the IM template picker on one dark surface hierarchy. */
























































/* Template rules use one Feishu component language instead of stacked legacy tool panels. */
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产环节数据表 {
  display: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产导航 {
  height: 48px;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 48px;
  border: 0;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产工作台 {
  grid-template-rows: 48px minmax(0, 1fr);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 {
  grid-row: 1;
  height: 48px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow-x: auto;
  overflow-y: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button {
  position: relative;
  min-width: 132px;
  min-height: 48px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--workbench-text-secondary);
  box-shadow: none;
  text-align: left;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--feishu-color-primary);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .16s ease;
}


body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button:focus-visible{
  background: transparent;
  color: var(--feishu-color-primary);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button:hover::before,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button:focus-visible::before,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button.当前::before {
  transform: scaleX(1);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 .课程步骤序号 {
  display: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button strong {
  padding: 0;
  background: none;
  color: currentColor;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产步骤 button em {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--feishu-color-fill-0);
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 18px;
}



body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板工作台 > :is(.模板左栏, .模板右栏) {
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程模板侧栏卡 {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .模板侧栏列表 {
  align-content: start;
  grid-auto-rows: max-content;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程模板侧栏卡:hover:not(:disabled) {
  border-color: transparent;
  background: var(--feishu-color-fill-0);
}



body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板当前选择 {
  padding: 1px 5px;
  border-radius: var(--feishu-border-radius-extra-small);
  background: transparent;
  color: var(--feishu-color-primary);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .查看全部模板 {
  min-height: var(--feishu-height-control-default);
  border: 1px solid var(--feishu-color-control-border);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-primary);
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .查看全部模板:hover:not(:disabled),
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .查看全部模板:focus-visible {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary-active);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版面板 {
  margin-top: 10px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版面板 > summary,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 36px;
  padding: 7px 10px;
  color: var(--workbench-text-primary);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版面板 > summary::-webkit-details-marker,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 > summary::-webkit-details-marker {
  display: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版面板 > summary span {
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-weight: 400;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 {
  display: grid;
  gap: 10px;
  padding: 0 10px 10px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 > p,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 small,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 > header span {
  margin: 0;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 17px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 > label {
  display: grid;
  gap: 4px;
  color: var(--workbench-text-secondary);
  font-size: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 > label input {
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--workbench-text-primary);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 > header,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 ol {
  display: grid;
  gap: 6px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 6px;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-fill-0);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 li > span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 li div {
  display: grid;
  min-width: 0;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 li strong,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 li small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 nav {
  display: flex;
  gap: 2px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 nav button {
  width: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--workbench-text-secondary);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 {
  border-top: 1px solid var(--workbench-border-subtle);
  border-bottom: 1px solid var(--workbench-border-subtle);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 > div {
  display: grid;
  gap: 12px;
  max-height: 420px;
  padding: 0 0 8px;
  overflow: auto;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 section > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 5px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 article {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 5px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-small);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 article .课程模板画布 {
  width: 100%;
  pointer-events: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 article p {
  margin: 0;
  color: var(--workbench-text-muted);
  font-size: 10px;
  line-height: 15px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 article button {
  min-height: 28px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-primary);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] #课程模板自由配版表单 > footer {
  display: grid;
  gap: 6px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版空 {
  margin: 6px 0;
  color: var(--workbench-text-muted);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .新建图文组按钮 {
  width: 100%;
  min-height: 36px;
  margin-top: 8px;
  border: 1px solid var(--feishu-color-primary);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  font-size: 13px;
  font-weight: 600;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .模板侧栏主操作 {
  position: sticky;
  z-index: 4;
  bottom: 0;
  margin: 8px 10px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  background: var(--workbench-surface-panel);
  box-shadow: 0 -6px 16px rgba(15, 23, 42, .06);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板左栏 .模板侧栏主操作 :is(.查看全部模板, .新建图文组按钮) {
  position: static;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  margin: 0;
  box-shadow: none;
}

.自由配版内容 {
  min-height: 0;
  overflow: hidden;
}

/* 2026-08-26 新建图文组：选图优先，左绑定 / 中大图分页 / 右逐页大图详情，名称说明固定在底部。 */
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 {
  width: min(1880px, calc(100vw - 32px));
  height: min(1120px, calc(100dvh - 32px));
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 > header {
  min-height: 64px;
  padding: 12px 16px 11px 20px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 #课程模板自由配版表单 {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0;
  padding: 0;
  background: var(--feishu-color-bg-1);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版主体 {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(520px, 1fr) minmax(300px, 340px);
  overflow: hidden;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 {
  min-width: 0;
  min-height: 0;
  padding: 14px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选 {
  overflow: auto;
  border-right: 1px solid var(--feishu-color-border);
}

.自由配版已选 > header{display:flex;align-items:center;justify-content:space-between;gap:8px}.自由配版已选 > header span,.自由配版已选 > p{color:var(--feishu-color-text-3);font-size:11px}.自由配版已选 > p{margin:6px 0 0;line-height:18px}.自由配版已选 ol{margin:12px 0 0;padding:0;display:grid;gap:8px;list-style:none}.自由配版已选 li{min-width:0;padding:8px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-medium);background:var(--feishu-color-bg-0)}.自由配版已选 li>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--feishu-color-primary-light-default);color:var(--feishu-color-primary);font-size:11px}.自由配版已选 li>div{min-width:0;display:grid;gap:3px}.自由配版已选 li strong,.自由配版已选 li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.自由配版已选 li strong{color:var(--feishu-color-text-0);font-size:11px}.自由配版已选 li strong em{margin-right:5px;color:var(--feishu-color-primary);font-size:10px;font-style:normal}.自由配版已选 li small{color:var(--feishu-color-text-3);font-size:10px}.自由配版已选 nav{display:flex;gap:2px}.自由配版已选 nav button{width:26px;min-height:26px;padding:0;border:0;border-radius:var(--feishu-border-radius-small);background:transparent;color:var(--feishu-color-text-2)}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border-right: 1px solid var(--feishu-color-border);
  background: var(--feishu-color-bg-1);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  background: var(--feishu-color-bg-2);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 > header,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源 > header span,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 > header span {
  color: var(--feishu-color-text-3);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 .自由配版来源 > .自由配版模板组网格 {
  min-height: 0;
  margin: 10px 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-height: none;
  overflow: hidden;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 {
  min-width: 0;
  min-height: 0;
  padding: 8px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  justify-items: center;
  align-items: stretch;
  gap: 6px;
  overflow: hidden;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  text-align: left;
}


body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡:focus-visible {
  border-color: var(--feishu-color-primary-hover);
}



body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 .课程模板画布 {
  width: min(180px, 100%);
  max-height: 240px;
  align-self: center;
  pointer-events: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 > span {
  min-width: 0;
  width: 100%;
  display: grid;
  gap: 3px;
  text-align: center;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 strong,
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 strong {
  font-size: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 small {
  color: var(--feishu-color-text-3);
  font-size: 10px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版分页 {
  min-height: 32px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 72px;
  align-items: center;
  gap: 8px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版分页 span {
  overflow: hidden;
  color: var(--feishu-color-text-3);
  font-size: 10px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版分页 button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-1);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版分页 button:disabled {
  background: var(--feishu-color-disabled-bg);
  color: var(--feishu-color-disabled-text);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 > h3 {
  margin: 7px 0 10px;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 article {
  min-width: 0;
  padding: 7px;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-bg-0);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 article .课程模板画布 {
  width: 74px;
  pointer-events: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 p {
  margin: 0;
  color: var(--feishu-color-text-0);
  font-size: 11px;
  font-weight: 600;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 small {
  color: var(--feishu-color-text-3);
  font-size: 10px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 button {
  min-height: 28px;
  padding: 4px 7px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-primary);
  font-size: 11px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 #课程模板自由配版表单 > footer {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  gap: 0;
  border-top: 1px solid var(--feishu-color-border);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版基本信息 {
  padding: 10px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--feishu-color-border);
  background: var(--feishu-color-bg-2);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版基本信息 label{min-width:0;display:grid;gap:4px;color:var(--feishu-color-text-2);font-size:11px}
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版基本信息 input {
  width: 100%;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-bg-0);
  color: var(--feishu-color-text-0);
  font-size: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版提交区 {
  min-height: 48px;
  padding: 8px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版提交区 p {
  margin: 0;
}

@media (max-width: 1180px) and (min-width: 761px) {
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版主体 {
    grid-template-columns: 240px minmax(400px, 1fr) 280px;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 {
    padding: 6px;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版模板组卡 .课程模板画布 {
    width: min(148px, 100%);
  }
}

@media (max-width: 760px) {
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 {
    width: calc(100vw - 16px);
    height: calc(100dvh - 24px);
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 #课程模板自由配版表单 {
    overflow: auto;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版主体 {
    grid-template-columns: 1fr;
    overflow: visible;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版已选,
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版来源,
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情 {
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--feishu-color-border);
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版弹窗 .自由配版来源 > .自由配版模板组网格 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: minmax(280px, auto);
    overflow: visible;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版详情列表 {
    overflow: visible;
  }

  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版基本信息,
  body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .自由配版提交区 {
    grid-template-columns: 1fr;
  }
}



body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能元数据 {
  margin: 12px 0 0;
  padding: 12px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-fill-0);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能元数据 > header {
  min-height: 24px;
  padding: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能元数据 > header span {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能元数据 > header strong {
  color: var(--workbench-text-primary);
  font-size: 13px;
  font-weight: 600;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能元数据 > header small {
  color: var(--workbench-text-muted);
  font-size: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板功能字段 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 {
  margin-top: 12px;
  border-top: 1px solid var(--workbench-border-subtle);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > summary {
  min-height: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 8px;
  color: var(--workbench-text-primary);
  cursor: pointer;
  list-style: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > summary::-webkit-details-marker {
  display: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > summary span {
  font-size: 13px;
  font-weight: 500;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > summary em {
  color: var(--workbench-text-muted);
  font-size: 12px;
  font-style: normal;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > summary i {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  color: var(--workbench-text-muted);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform .16s ease;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠[open] > summary i {
  transform: rotate(225deg) translate(-1px, -1px);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 > div {
  padding: 0 0 10px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 ol {
  max-height: 180px;
  margin: 0;
  padding: 8px 0;
  display: grid;
  gap: 4px;
  overflow: auto;
  list-style: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 li {
  padding-block: 4px;
  padding-right: 8px;
  border-radius: var(--feishu-border-radius-extra-small);
  color: var(--workbench-text-secondary);
  font-size: 12px;
  line-height: 18px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 li:hover {
  background: var(--feishu-color-fill-0);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板内容结构折叠 small {
  display: block;
  color: var(--workbench-text-muted);
  font-size: 12px;
  line-height: 18px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板分组标题勾选 {
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-weight: 500;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板横向拖动柄 {
  width: 24px;
  height: 32px;
  min-height: 32px;
  padding: 5px;
  border-radius: var(--feishu-border-radius-small);
  background: transparent;
  color: var(--workbench-text-muted);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板保存区 {
  min-height: 56px;
  padding: 10px 12px;
  border-top: 1px solid var(--workbench-border-subtle);
  background: var(--workbench-surface-panel);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板保存区 .课程主按钮 {
  min-height: 36px;
  border-radius: var(--feishu-border-radius-small);
  background: var(--feishu-color-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .模板保存区 .课程主按钮:hover:not(:disabled) {
  background: var(--feishu-color-primary-hover);
}

/* Shared Feishu text and control contract: keep business canvases untouched. */
body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] :is(
  .课程工作台表单 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .课程工作台表单 select,
  .课程详情提取表单 select,
  .课程工作台表单 .IM飞书选择器按钮
) {
  height: var(--feishu-height-control-default);
  min-height: var(--feishu-height-control-default);
  padding-inline: 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--workbench-surface-inset);
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程工作台表单 textarea {
  min-height: 72px;
  padding: 8px 12px;
  border: 1px solid var(--feishu-color-control-border);
  border-radius: var(--feishu-border-radius-small);
  background: var(--workbench-surface-inset);
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] :is(
  .课程工作台表单 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .课程工作台表单 select,
  .课程详情提取表单 select,
  .课程工作台表单 textarea,
  .课程工作台表单 .IM飞书选择器按钮
):focus-visible {
  border-color: var(--feishu-color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .14);
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] :is(
  .课程工作台表单 label,
  .课程详情提取表单 label
) {
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] :is(
  .课程主按钮,
  .课程次按钮
) {
  min-height: var(--feishu-height-control-large);
  padding-inline: 16px;
  border-radius: var(--feishu-border-radius-small);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  box-shadow: none;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程面板 > header h3 {
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程面板 > header :is(p, small) {
  color: var(--workbench-text-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

body[data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程右栏工具 > button {
  min-height: var(--feishu-height-control-default);
  padding-inline: 12px;
  border-radius: var(--feishu-border-radius-small);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

/* 网站备案页脚（登录页使用）：工信部 ICP 备案号 + 公安部联网备案号，登录页是公开合规展示入口。
   固定于视口右下角，不遮挡交互（容器 pointer-events:none，仅链接可点）；z-index 高于页面主体、低于弹层。
   视觉克制但正常可读：9px、60% 透明度，悬停/聚焦时清晰。工作台内部页面不展示页脚；首页 home.html 的备案号在页面中下方。 */
.网站备案页脚 {
  position: fixed;
  z-index: 50;
  right: 14px;
  bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 9px;
  line-height: 1;
  font-weight: 400;
  color: var(--workbench-text-muted);
  opacity: 0.6;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
.网站备案页脚:hover,
.网站备案页脚:focus-within {
  opacity: 1;
}
.网站备案页脚 a {
  color: inherit;
  text-decoration: none;
  pointer-events: auto;
  white-space: nowrap;
}
.网站备案页脚 a:hover,
.网站备案页脚 a:focus-visible {
  color: var(--workbench-text-accent);
  outline: none;
}


@media (max-width: 760px) {
  .网站备案页脚 {
    left: 12px;
    right: 12px;
    bottom: 16px;
    justify-content: center;
    gap: 8px;
    text-align: center;
    font-size: 9px;
    flex-wrap: wrap;
    opacity: 0.7;
  }
}

/* 首页 home.html 备案信息行：位于页面最底部的页脚内，作为页面内容展示（非固定悬浮），不使用分隔线条。 */
.首页备案 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 9px;
  line-height: 1;
  color: var(--workbench-text-muted);
}
.首页备案 a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.首页备案 a:hover,
.首页备案 a:focus-visible {
  color: var(--workbench-text-accent);
  outline: none;
}

/* 2026-08-17 素材采集库页面暗色适配：页头与卡片沿用飞书暗色变量。 */




/* material-header-removed-v2：用户确认不保留独立素材页标题条。 */













/* 采集素材转模板：沿用工作台表面、边框、按钮和状态文字，不建立独立视觉体系。 */
body[data-current-page="material"] .素材采集库模板转换 {
  margin: 0;
  padding: 11px 12px 10px;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid var(--workbench-border-subtle);
  border-radius: 0;
  background: var(--workbench-surface-raised);
}
body[data-current-page="material"] .素材架构转换标题 strong {
  color: var(--workbench-text-primary);
}
body[data-current-page="material"] .素材架构转换标题 span,
body[data-current-page="material"] .素材架构转换标题 > small,
body[data-current-page="material"] .素材架构转换卡 > small,
body[data-current-page="material"] .素材架构转换规则 {
  color: var(--workbench-text-muted);
}
body[data-current-page="material"] .素材架构转换卡 {
  width: 100%;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--workbench-action-radius);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-primary);
}
body[data-current-page="material"] .素材架构转换卡头 strong {
  color: var(--workbench-text-primary);
}
body[data-current-page="material"] .素材架构转换卡头 em {
  padding: 0 6px;
  border-radius: var(--feishu-border-radius-full, 999px);
  background: color-mix(in srgb, var(--feishu-color-primary) 16%, var(--workbench-surface-raised));
  color: var(--workbench-text-accent);
  font-weight: 600;
}
body[data-current-page="material"] .素材架构转换按钮 {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 7px color-mix(in srgb, var(--feishu-color-primary) 20%, transparent);
}
body[data-current-page="material"] .素材架构转换按钮:hover:not(:disabled),
body[data-current-page="material"] .素材架构转换按钮:focus-visible {
  border-color: color-mix(in srgb, var(--feishu-color-primary) 82%, #000);
  background: color-mix(in srgb, var(--feishu-color-primary) 88%, #000);
  color: #fff;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--feishu-color-primary) 28%, transparent);
}
body[data-current-page="material"] .素材架构转换规则 {
  margin: 0;
}
body[data-current-page="material"] .素材采集库模板转换 .配置提示 {
  margin: 0;
  color: var(--workbench-text-secondary);
}
body[data-current-page="material"] .素材架构转换状态 {
  padding-top: 6px;
  border-top: 1px solid var(--workbench-border-subtle);
}
body[data-current-page="material"] .素材架构转换状态.失败,
body[data-current-page="material"] .素材架构转换状态[data-state="error"] {
  color: #c4564a;
  font-size: 12px;
  font-weight: 600;
}
body[data-current-page="material"] .素材架构转换状态[data-state="creating"],
body[data-current-page="material"] .素材架构转换状态[data-state="started"] {
  color: var(--feishu-color-primary);
  font-size: 12px;
  font-weight: 600;
}

/* 2026-08-26 素材详情图片：按小红书原始顺序单张查看，首图为封面。 */
body[data-current-page="material"] .素材采集库图片标题 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--feishu-space-2);
  text-align: center;
}
body[data-current-page="material"] .素材采集库图片标题 h4 {
  margin: 0;
}
body[data-current-page="material"] .素材采集库图片标题 > span {
  color: var(--workbench-text-accent);
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}
body[data-current-page="material"] .素材采集库主图导航 {
  margin-top: var(--feishu-space-2);
  display: grid;
  grid-template-columns: var(--feishu-height-control-default) minmax(0, 1fr) var(--feishu-height-control-default);
  align-items: center;
  gap: var(--feishu-space-2);
}
body[data-current-page="material"] .素材采集库主图导航 > figure {
  width: min(100%, 390px);
  aspect-ratio: 3 / 4;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-interactive);
}
body[data-current-page="material"] .素材采集库主图导航 > figure > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
body[data-current-page="material"] .素材采集库主图导航 > button {
  width: var(--feishu-height-control-default);
  height: var(--feishu-height-control-default);
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-full);
  background: var(--workbench-surface-panel);
  color: var(--workbench-text-secondary);
  cursor: pointer;
}
body[data-current-page="material"] .素材采集库主图导航 > button > span {
  transform: translateY(-1px);
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}
body[data-current-page="material"] .素材采集库主图导航 > button:hover:not(:disabled),
body[data-current-page="material"] .素材采集库主图导航 > button:focus-visible {
  border-color: var(--workbench-text-accent);
  color: var(--workbench-text-accent);
  outline: none;
  box-shadow: var(--workbench-focus-ring);
}
body[data-current-page="material"] .素材采集库主图导航 > button:disabled {
  color: var(--workbench-text-disabled);
  background: var(--feishu-color-disabled-bg);
  cursor: default;
  opacity: .58;
}
body[data-current-page="material"] .素材采集库图片缩略条 {
  margin: var(--feishu-space-2) 0 0;
  padding: 0 0 var(--feishu-space-1);
  display: flex;
  justify-content: safe center;
  gap: var(--feishu-space-2);
  overflow-x: auto;
  list-style: none;
  scrollbar-width: thin;
}
body[data-current-page="material"] .素材采集库图片缩略条 > li {
  flex: 0 0 48px;
}
body[data-current-page="material"] .素材采集库图片缩略条 button {
  position: relative;
  width: 48px;
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  display: block;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-small);
  background: var(--workbench-surface-interactive);
  cursor: pointer;
}
body[data-current-page="material"] .素材采集库图片缩略条 button.当前 {
  border-color: var(--workbench-text-accent);
  box-shadow: 0 0 0 1px var(--workbench-text-accent);
}
body[data-current-page="material"] .素材采集库图片缩略条 button:hover,
body[data-current-page="material"] .素材采集库图片缩略条 button:focus-visible {
  border-color: var(--workbench-text-accent);
  outline: none;
  box-shadow: var(--workbench-focus-ring);
}
body[data-current-page="material"] .素材采集库图片缩略条 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
body[data-current-page="material"] .素材采集库图片缩略条 button > span {
  position: absolute;
  right: 3px;
  bottom: 3px;
  min-width: 16px;
  padding: 1px 4px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--feishu-color-overlay-bg);
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  line-height: 14px;
  text-align: center;
}

@media (max-width: 760px) {
  body[data-current-page="material"] .素材采集库主图导航 {
    grid-template-columns: var(--feishu-height-control-large) minmax(0, 1fr) var(--feishu-height-control-large);
  }
  body[data-current-page="material"] .素材采集库主图导航 > button {
    width: var(--feishu-height-control-large);
    height: var(--feishu-height-control-large);
  }
}

/* ===== 顶栏精简（20260822）：保留公网说明入口和当前用户身份入口，并保留风格切换 ===== */
/* 任务首页由服务端下发的 IM 与工作台范围权限控制；员工模式另由 data-public-guide 精简。 */


/* 当前企业上下文：与个人身份并列，卡片式切换，不在请求体暴露跨租户写入能力。 */
.网站导航企业切换 {
  max-width: 190px;
  min-height: 34px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--workbench-action-radius);
  background: var(--feishu-color-bg-1);
  color: var(--feishu-color-text-1);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.网站导航企业切换 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.网站导航企业切换 i { color: var(--feishu-color-text-3); font-style: normal; }
.网站导航企业切换:hover:not(:disabled),.网站导航企业切换:focus-visible { border-color: var(--feishu-color-primary); color: var(--feishu-color-primary); outline: none; }
.网站导航企业切换:disabled { cursor: default; opacity: .72; }
.网站导航企业切换[aria-expanded="true"] i { transform: rotate(180deg); }
.企业切换面板 {
  position: absolute;
  z-index: 112;
  top: calc(100% + 10px);
  right: 0;
  width: min(360px, calc(100vw - 28px));
  padding: 14px;
  border: 1px solid var(--feishu-color-border);
  border-radius: 12px;
  background: var(--feishu-color-bg-1);
  box-shadow: 0 16px 42px rgba(31,35,41,.14);
}
.企业切换面板>header { display: grid; gap: 3px; margin-bottom: 12px; }
.企业切换面板>header strong { color: var(--feishu-color-text-0); font-size: 14px; }
.企业切换面板>header small { color: var(--feishu-color-text-3); font-size: 11px; }
.企业身份卡片 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-height: 320px; overflow: auto; }
.企业身份卡片 button { min-width: 0; min-height: 78px; padding: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; border: 1px solid var(--feishu-color-border); border-radius: 10px; background: var(--feishu-color-bg-1); color: var(--feishu-color-text-1); text-align: left; cursor: pointer; }
.企业身份卡片 button:hover:not(:disabled),.企业身份卡片 button:focus-visible { border-color: var(--feishu-color-primary); background: var(--feishu-color-primary-light-default); outline: none; }
.企业身份卡片 button[aria-selected="true"] { border-color: color-mix(in srgb,var(--feishu-color-primary) 42%,var(--feishu-color-border)); background: var(--feishu-color-primary-light-default); cursor: default; }
.企业身份卡片 button span { min-width: 0; display: grid; gap: 7px; }
.企业身份卡片 button strong { overflow: hidden; color: var(--feishu-color-text-0); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.企业身份卡片 button small { color: var(--feishu-color-text-3); font-size: 11px; }
.企业身份卡片 button em { flex: 0 0 auto; color: var(--feishu-color-primary); font-size: 11px; font-style: normal; }
.企业切换错误 { margin: 10px 0 0; color: var(--feishu-color-danger); font-size: 12px; }
@media (max-width: 760px) {
  .网站导航企业切换 { max-width: 116px; }
  .企业身份卡片 { grid-template-columns: 1fr; }
}

.功能顶栏右侧 { display: none !important; }

/* 2026-08-20 技能中心：参考控制台层级，功能区使用卡片网格。 */
body[data-current-page="skills"] .系统顶栏 {
  display: none;
}

body[data-current-page="skills"] .环节画布 {
  inset: 0;
  box-sizing: border-box;
  padding: var(--site-navigation-height, 64px) 0 0;
  display: block;
  overflow: hidden;
  background: var(--workbench-surface-canvas);
}

body[data-current-page="skills"] #环节轨道 {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  display: block;
  transform: none !important;
}

.技能中心页面 {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  overflow: hidden;
  border-top: 1px solid var(--workbench-border-subtle);
  background: var(--workbench-surface-canvas);
  color: var(--workbench-text-primary);
}

.技能中心侧栏 {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--workbench-border-subtle);
  background: var(--workbench-surface-panel);
}

.技能中心侧栏 > header {
  min-height: 54px;
  box-sizing: border-box;
  padding: 8px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 1px solid var(--workbench-border-subtle);
}

.技能中心侧栏 > header h1 {
  margin: 0;
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.技能中心侧栏 > p {
  margin: auto 16px 16px;
  padding-top: 14px;
  border-top: 1px solid var(--workbench-border-subtle);
  color: var(--workbench-text-muted);
  font-size: 10px;
  line-height: 17px;
}

.技能中心主区 {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr);
  overflow: hidden;
}

.技能中心导航行 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 0 20px;
  border-bottom: 1px solid var(--workbench-border-subtle);
  background: var(--workbench-surface-panel);
}

.技能中心导航摘要 {
  min-width: 0;
  height: 54px;
  display: flex;
  align-items: center;
  gap: 18px;
  overflow: hidden;
}

.技能中心范围列表 {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  align-content: start;
  overflow-y: auto;
}

.技能中心范围组 {
  padding: 10px 0 12px;
}

.技能中心范围组 + .技能中心范围组 {
  border-top: 1px solid var(--workbench-border-subtle);
}

.技能中心大类 {
  padding: 0 10px 4px;
}

.技能中心大类 button {
  width: 100%;
  height: 42px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.技能中心大类 button small {
  color: var(--workbench-text-muted);
  font-size: 10px;
  font-weight: 400;
}

.技能中心范围组.从属版块 .技能中心大类 button {
  font-size: 13px;
  font-weight: 500;
}



.技能中心平台筛选 {
  min-width: 0;
  padding: 0 10px;
  display: grid;
  align-content: start;
  gap: 2px;
}

.技能中心分类 {
  flex: 0 1 auto;
  min-width: 0;
  height: 54px;
  display: flex;
  align-items: stretch;
  gap: 22px;
  overflow-x: auto;
  scrollbar-width: none;
}

.技能中心平台筛选 button {
  width: 100%;
  height: 36px;
  padding: 0 10px 0 18px;
  display: flex;
  align-items: center;
  text-align: left;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
  cursor: pointer;
}



.技能中心平台筛选 button span,
.技能中心分类 .技能分类名称 {
  position: relative;
  display: inline-block;
}







.技能中心分类::-webkit-scrollbar {
  display: none;
}

.技能中心分类 button {
  flex: 0 0 auto;
  min-width: auto;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: var(--workbench-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
  cursor: pointer;
}



.技能中心分类 button:focus-visible,
.技能中心平台筛选 button:focus-visible,
.技能中心工具栏 button:focus-visible,
.技能功能卡 footer button:focus-visible {
  outline: 2px solid rgba(var(--feishu-blue-5), .24);
  outline-offset: 2px;
}

.技能中心工具栏 {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 240px) auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.技能分类数量 {
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
}

.技能中心搜索 {
  width: 240px;
  height: 32px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
}

.技能中心搜索:focus-within {
  border-color: var(--workbench-text-accent);
  outline: 0;
  box-shadow: none;
}

.技能导入入口 {
  height: 32px;
  flex: 0 0 auto;
  padding: 0 16px;
  border: 1px solid var(--feishu-color-primary);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.技能导入入口:hover {
  border-color: var(--feishu-color-primary-hover);
  background: var(--feishu-color-primary-hover);
}

.技能中心搜索 input {
  width: 100%;
  min-width: 0;
  padding: 0 14px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--workbench-text-primary);
  font: inherit;
  font-size: 13px;
}

.技能中心搜索 input::placeholder {
  color: var(--workbench-text-muted);
}

.技能中心搜索 input::-webkit-search-cancel-button {
  appearance: none;
  -webkit-appearance: none;
}

.技能中心搜索 button {
  width: 32px;
  padding: 0;
  border: 0;
  border-left: 1px solid transparent;
  border-radius: 0 var(--feishu-border-radius-medium) var(--feishu-border-radius-medium) 0;
  background: transparent;
  color: var(--workbench-text-secondary);
  cursor: pointer;
}

.技能中心搜索 button span {
  display: block;
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}

.技能中心搜索 button:hover:not(:disabled) {
  border-left-color: var(--workbench-border-subtle);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-accent);
}

.技能中心搜索 button:disabled {
  display: none;
}

.技能中心内容区 {
  min-width: 0;
  min-height: 0;
  padding: 16px 20px 24px;
  overflow: auto;
  background: var(--workbench-surface-canvas);
}

.技能卡片网格 {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 280px));
  gap: 12px;
  align-items: start;
}

.技能功能卡 {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
  color: var(--workbench-text-primary);
  cursor: default;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.技能功能卡:hover,
.技能功能卡:focus-within {
  border-color: var(--workbench-border-strong);
  box-shadow: var(--feishu-shadow-elevated);
  transform: translateY(-3px);
}

.技能功能卡:focus-visible {
  outline: 2px solid rgba(var(--feishu-blue-5), .24);
  outline-offset: 2px;
}

.技能功能卡.正在编辑 {
  cursor: default;
}

.技能功能卡[data-workflow-guide] { cursor: pointer; }
.技能功能卡[data-workflow-guide] :is(button, input, textarea, select, a) { cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  .技能功能卡 {
    transition: none;
  }

  .技能功能卡:hover,
  .技能功能卡:focus-within {
    transform: none;
  }
}

.技能功能卡正文 {
  padding: 14px 16px;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.技能卡片标题区 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin: -14px -16px 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--workbench-border-subtle);
  background: var(--workbench-surface-interactive);
}

.技能卡片标题区.GitHub导入标题区 {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.技能名称编辑区 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.技能标题类型 {
  color: var(--workbench-text-accent);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  white-space: nowrap;
}

.技能卡片元信息 {
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
}

.技能卡片元信息 .技能平台分类 { order: 1; }
.技能卡片元信息 .技能运行状态 { order: 2; }

.技能卡片标题区 .技能平台分类 {
  flex: 0 0 auto;
  padding: 1px 7px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

.技能功能卡正文 h2 {
  min-width: 0;
  flex: 0 1 auto;
  margin: 0;
  overflow: hidden;
  color: var(--workbench-text-primary);
  font-size: 20px;
  font-weight: 650;
  line-height: 28px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.技能名称编辑按钮 {
  width: 24px;
  height: 24px;
  padding: 4px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--workbench-text-muted);
  cursor: pointer;
}

.技能名称编辑按钮:hover,
.技能名称编辑按钮:focus-visible {
  background: var(--workbench-surface-selected);
  color: var(--workbench-text-accent);
}

.技能名称编辑按钮 svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.技能功能卡正文 p {
  margin: 6px 0 0;
  color: var(--workbench-text-secondary);
  font-size: 13px;
  line-height: 21px;
}

.技能运行状态 {
  width: fit-content;
  margin-top: 0;
  padding: 2px 8px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--workbench-status-neutral-bg);
  color: var(--workbench-status-neutral-text);
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
}

.技能运行状态 i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
}

.技能运行状态 strong {
  font-weight: 600;
}

.技能运行状态.ready {
  background: var(--workbench-status-success-bg);
  color: var(--workbench-status-success-text);
}

.技能运行状态.ready i {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--workbench-status-success-text) 18%, transparent), 0 0 10px color-mix(in srgb, var(--workbench-status-success-text) 72%, transparent);
}

.技能运行状态.blocked,
.技能运行状态.unconfigured {
  background: var(--workbench-status-warning-bg);
  color: var(--workbench-status-warning-text);
}

.技能运行状态.unavailable {
  background: var(--workbench-status-danger-bg);
  color: var(--workbench-status-danger-text);
}

.技能适用场景,
.技能执行路径 {
  margin-top: 12px;
}

.技能适用场景 small,
.技能执行路径 small {
  display: block;
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
}

.技能适用场景 p {
  min-height: 42px;
  overflow-wrap: anywhere;
}

.工作流绑定场景 p { min-height: auto; margin-top: 3px; }
.工作流绑定场景 em { color: var(--workbench-text-muted); font-size: 11px; font-style: normal; }
.工作流绑定场景列表,
.工作流使用步骤 { display: grid; gap: 8px; padding-left: 20px; }
.工作流绑定场景列表 li span,
.工作流使用步骤 li span { display: block; color: var(--workbench-text-secondary); }

.工作流使用说明 > header { margin-bottom: 18px; }
.工作流使用说明 > header small { color: var(--workbench-text-muted); font-size: 11px; font-weight: 600; }
.工作流使用说明 > header h2 { margin: 4px 0 0; color: var(--workbench-text-primary); font-size: 22px; line-height: 1.35; }
.团队工作流页 { min-width: 0; padding: 24px; }
.技能中心主区:has(>.技能中心内容区>.团队工作流页) { grid-template-rows: minmax(0, 1fr); }
.团队工作流页头 { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--workbench-border-subtle); }
.团队工作流页头 > button { grid-column: 1/-1; width: max-content; padding: 0; border: 0; background: transparent; color: var(--workbench-text-accent); font: inherit; font-size: 13px; cursor: pointer; }
.团队工作流页头 > div { min-width: 0; }
.团队工作流页头 > div > small { color: var(--workbench-text-muted); font-size: 11px; font-weight: 600; }
.团队工作流页头 h1 { margin: 5px 0 7px; color: var(--workbench-text-primary); font-size: clamp(24px,3vw,34px); line-height: 1.25; }
.团队工作流页头 p { max-width: 760px; margin: 0; color: var(--workbench-text-secondary); font-size: 14px; line-height: 1.7; }
.团队工作流说明页 { width: min(100%, 1040px); margin: 0 auto; }
body[data-lg-navigation-ready] #环节轨道 .技能中心页面:has(.团队工作流说明页) > .ark-page-heading { display: none; }
.团队工作流说明页 .团队工作流页头 { display: block; padding-bottom: 0; border: 0; }
.团队工作流说明页 .团队工作流页头 > button { margin-bottom: 20px; }
.团队工作流说明卡 { overflow: hidden; margin-top: 24px; border: 1px solid var(--workbench-border-default); border-radius: 12px; background: var(--workbench-surface-panel); }
.团队工作流说明引言 { padding: 28px 32px; border-bottom: 1px solid var(--workbench-border-subtle); background: var(--workbench-surface-canvas); }
.团队工作流说明引言 small { color: var(--workbench-text-accent); font-size: 11px; font-weight: 700; }
.团队工作流说明引言 p { max-width: 760px; margin: 10px 0 0; color: var(--workbench-text-primary); font-size: 18px; font-weight: 650; line-height: 1.6; }
.团队工作流说明卡 dl { margin: 0; padding: 4px 32px 16px; }
.团队工作流说明行 { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--workbench-border-subtle); }
.团队工作流说明行:last-child { border-bottom: 0; }
.团队工作流说明行 dt { color: var(--workbench-text-muted); font-size: 12px; font-weight: 650; line-height: 1.7; }
.团队工作流说明行 dd { min-width: 0; margin: 0; color: var(--workbench-text-secondary); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.团队工作流说明行 dd strong { color: var(--workbench-text-primary); font-weight: 650; }
.团队工作流说明选项 { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.团队工作流说明选项 li { display: grid; grid-template-columns: 102px minmax(0,1fr); gap: 12px; align-items: start; }
.团队工作流说明选项 li strong { color: var(--workbench-text-accent); font-size: 13px; }
.团队工作流说明选项 li span { color: var(--workbench-text-secondary); font-size: 12px; }
.团队工作流配置布局 { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(320px,.82fr); gap: 18px; padding-top: 20px; }
.团队工作流配置布局 > main,.团队工作流配置布局 > aside { min-width: 0; }
.团队工作流配置布局 > aside { padding: 20px; border: 1px solid var(--workbench-border-subtle); border-radius: 10px; background: var(--workbench-surface-panel); }
.团队工作流配置布局 > aside > header { margin-bottom: 18px; }
.团队工作流配置布局 > aside > header small { color: var(--workbench-text-muted); font-size: 11px; font-weight: 600; }
.团队工作流配置布局 > aside > header h2 { margin: 4px 0 6px; color: var(--workbench-text-primary); font-size: 18px; }
.团队工作流配置布局 > aside > header p { margin: 0; color: var(--workbench-text-secondary); font-size: 12px; line-height: 1.65; }
.团队工作流配置卡 { padding: 22px; border: 1px solid var(--workbench-border-default); border-radius: 10px; background: var(--workbench-surface-panel); }
.团队工作流配置卡 > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.团队工作流配置卡 > header small { color: var(--workbench-text-muted); font-size: 11px; font-weight: 600; }
.团队工作流配置卡 > header h2 { margin: 4px 0 0; color: var(--workbench-text-primary); font-size: 20px; line-height: 1.4; }
.团队工作流配置卡 > header > span { flex: 0 0 auto; padding: 4px 8px; border: 1px solid var(--workbench-border-default); border-radius: 999px; color: var(--workbench-text-secondary); font-size: 11px; }
.团队配置范围,.团队工作流配置卡.继承平台 > p,.团队工作流配置卡.读取失败 > p { margin: 16px 0; color: var(--workbench-text-secondary); font-size: 13px; line-height: 1.75; }
.团队平台默认 { margin: 16px 0 20px; border: 1px solid var(--workbench-border-subtle); border-radius: 8px; background: var(--workbench-surface-canvas); }
.团队平台默认 summary { padding: 11px 13px; color: var(--workbench-text-primary); font-size: 12px; font-weight: 600; cursor: pointer; }
.团队平台默认 dl { display: grid; gap: 10px; margin: 0; padding: 0 13px 13px; }
.团队平台默认 dl div { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 10px; }
.团队平台默认 dt { color: var(--workbench-text-muted); font-size: 11px; }
.团队平台默认 dd { margin: 0; color: var(--workbench-text-secondary); font-size: 12px; line-height: 1.65; white-space: pre-wrap; }
.团队工作流配置卡 form { display: grid; gap: 16px; }
.团队工作流配置卡 form label { display: grid; gap: 7px; color: var(--workbench-text-primary); font-size: 13px; font-weight: 600; }
.团队工作流配置卡 form label small { color: var(--workbench-text-muted); font-size: 11px; font-weight: 400; line-height: 1.6; }
.团队工作流配置卡 textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--workbench-border-default); border-radius: 8px; background: var(--workbench-surface-panel); color: var(--workbench-text-primary); font: inherit; font-size: 13px; line-height: 1.65; resize: vertical; }
.团队工作流配置卡 textarea:focus { border-color: var(--workbench-text-accent); outline: 2px solid color-mix(in srgb,var(--workbench-text-accent) 14%,transparent); outline-offset: 1px; }
.团队工作流配置卡 textarea[readonly] { background: var(--workbench-surface-canvas); color: var(--workbench-text-secondary); cursor: not-allowed; }
.团队工作流配置卡 form > footer { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 2px; }
.团队工作流配置卡 form > footer small { color: var(--workbench-text-muted); font-size: 11px; line-height: 1.6; }
.团队配置状态 { min-height: 20px; margin: -4px 0 0; color: var(--workbench-status-success-text); font-size: 12px; line-height: 20px; }
.团队配置状态.失败 { color: var(--workbench-status-danger-text); }
.团队工作流关系 { margin-bottom: 22px; }
.团队工作流关系 > header { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; padding: 0 0 16px; border-bottom: 1px solid var(--workbench-border-subtle); }
.团队工作流关系 > header div { min-width: 0; }
.团队工作流关系 > header div:last-child { text-align: right; }
.团队工作流关系 > header small { display: block; color: var(--workbench-text-muted); font-size: 11px; line-height: 18px; }
.团队工作流关系 > header strong { display: block; overflow-wrap: anywhere; color: var(--workbench-text-primary); font-size: 13px; line-height: 20px; }
.团队工作流关系 > header > span { color: var(--workbench-text-muted); font-size: 14px; }
.团队工作流关系 ol { position: relative; display: grid; gap: 0; margin: 0; padding: 10px 0 0; list-style: none; }
.团队工作流关系 ol::before { position: absolute; top: 28px; bottom: 28px; left: 15px; width: 1px; background: var(--workbench-border-subtle); content: ""; }
.团队工作流环节 { position: relative; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 12px; padding: 11px 0; }
.团队工作流序号 { position: relative; z-index: 1; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--workbench-border-default); border-radius: 50%; background: var(--workbench-surface-panel); color: var(--workbench-text-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.团队工作流环节.需要指令 .团队工作流序号 { border-color: color-mix(in srgb,var(--workbench-text-accent) 48%,var(--workbench-border-default)); color: var(--workbench-text-accent); }
.团队工作流环节内容 { min-width: 0; padding: 3px 0 13px; border-bottom: 1px solid var(--workbench-border-subtle); }
.团队工作流环节:last-child .团队工作流环节内容 { border-bottom: 0; }
.团队工作流环节内容 > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.团队工作流环节内容 > header strong { min-width: 0; color: var(--workbench-text-primary); font-size: 14px; line-height: 22px; }
.团队工作流环节内容 > header em { flex: 0 0 auto; color: var(--workbench-text-muted); font-size: 11px; font-style: normal; font-weight: 500; }
.团队工作流环节.需要指令 .团队工作流环节内容 > header em { color: var(--workbench-text-accent); }
.团队工作流环节内容 > p { margin: 5px 0 0; color: var(--workbench-text-secondary); font-size: 12px; line-height: 20px; overflow-wrap: anywhere; }
.团队工作流环节内容 > p b { padding: 0 4px; color: var(--workbench-text-muted); font-weight: 400; }
.团队工作流分支,.团队工作流指令角色 { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; }
.团队工作流分支 span,.团队工作流指令角色 span { color: var(--workbench-text-secondary); font-size: 12px; line-height: 20px; }
.团队工作流分支 b { margin-right: 6px; color: var(--workbench-text-primary); font-weight: 500; }
.团队工作流指令角色 small { color: var(--workbench-text-muted); font-size: 11px; line-height: 20px; }
.团队工作流指令角色 span::before { margin-right: 5px; color: var(--workbench-text-accent); content: "·"; }
.工作流富媒体内容 { display: grid; gap: 14px; }
.工作流富媒体标题 { margin: 8px 0 -4px; color: var(--workbench-text-primary); font-size: 16px; line-height: 1.45; }
.工作流富媒体正文 { margin: 0; color: var(--workbench-text-secondary); font-size: 14px; line-height: 1.8; white-space: pre-wrap; }
.工作流富媒体列表 { margin: 0; padding-left: 22px; color: var(--workbench-text-secondary); font-size: 14px; line-height: 1.8; }
.工作流富媒体列表 li + li { margin-top: 5px; }
.工作流富媒体图片 { margin: 2px 0; display: grid; gap: 8px; }
.工作流富媒体图片 img { width: 100%; max-height: min(70dvh, 760px); display: block; object-fit: contain; border: 1px solid var(--workbench-border-subtle); border-radius: 8px; background: var(--workbench-surface-canvas); }
.工作流富媒体图片 figcaption { color: var(--workbench-text-muted); font-size: 12px; line-height: 1.55; text-align: center; }

@media (max-width: 620px) {
  .团队工作流页 { padding: 16px; }
  .团队工作流说明引言 { padding: 22px 20px; }
  .团队工作流说明引言 p { font-size: 16px; }
  .团队工作流说明卡 dl { padding: 2px 20px 12px; }
  .团队工作流说明行 { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .团队工作流说明选项 li { grid-template-columns: minmax(0,1fr); gap: 1px; }
  .团队工作流页头 { grid-template-columns: minmax(0,1fr); align-items: start; }
  .团队工作流页头 > .技能运行状态 { width: max-content; }
  .团队工作流配置卡 { padding: 16px; }
  .团队工作流配置卡 > header { display: grid; }
  .团队平台默认 dl div { grid-template-columns: minmax(0,1fr); gap: 3px; }
  .团队工作流关系 > header { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .团队工作流关系 > header > span { display: none; }
  .团队工作流关系 > header div:last-child { text-align: left; }
  .团队工作流环节内容 > header { align-items: flex-start; }
}

@media (max-width: 980px) {
  .团队工作流配置布局 { grid-template-columns: minmax(0,1fr); }
}

.技能执行路径 span {
  display: block;
  color: var(--workbench-text-secondary);
  font-size: 12px;
  line-height: 20px;
}

.技能执行路径 b {
  color: var(--workbench-text-accent);
  font-weight: 500;
}

.技能来源路径 {
  margin-top: 10px;
  overflow: hidden;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.技能组合标签 {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.技能组合标签 em {
  padding: 3px 8px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-style: normal;
  line-height: 18px;
}

.技能功能卡 footer {
  padding: 10px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--workbench-border-subtle);
}

.技能功能卡 footer button {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 0 6px;
  border: 1px solid var(--feishu-color-primary);
  border-radius: 6px;
  background: var(--feishu-color-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}

.技能功能卡 footer button:hover {
  border-color: var(--feishu-color-primary-hover);
  background: var(--feishu-color-primary-hover);
}

.技能计费提示 {
  position: relative;
  width: fit-content;
  max-width: 100%;
}

.技能功能卡 footer .技能计费说明按钮 {
  width: auto;
  height: 24px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-weight: 500;
  line-height: 20px;
}

.技能功能卡 footer .技能计费说明按钮:hover,
.技能功能卡 footer .技能计费说明按钮:focus-visible {
  border: 0;
  background: transparent;
  color: var(--workbench-text-accent);
}

.技能计费说明浮层 {
  position: absolute;
  z-index: 30;
  left: 0;
  bottom: calc(100% + 8px);
  width: min(280px, calc(100vw - 48px));
  padding: 10px 12px;
  visibility: hidden;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
  color: var(--workbench-text-primary);
  box-shadow: 0 8px 24px rgba(31, 35, 41, .14);
  font-size: 12px;
  line-height: 20px;
  opacity: 0;
  pointer-events: none;
  white-space: pre-line;
  transform: translateY(4px);
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.技能计费说明按钮:hover + .技能计费说明浮层,
.技能计费说明按钮:focus-visible + .技能计费说明浮层 {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.技能功能卡操作 {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 6px;
}

.技能功能卡 footer .技能功能卡操作 button {
  width: auto;
  min-width: 96px;
  padding: 0 16px;
}

.技能功能卡 footer .技能功能卡操作 button[data-skill-selection][data-enable="true"]:disabled {
  border-color: rgb(var(--feishu-grey-3));
  background: rgb(var(--feishu-grey-2));
  color: rgb(var(--feishu-grey-6));
  opacity: 1;
  cursor: default;
}

.技能输入输出 {
  margin: 0;
  padding-top: 4px;
  display: grid;
  gap: 10px;
}

.技能输入输出 > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.技能输入输出 dt {
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能输入输出 dd {
  margin: 0;
  color: var(--workbench-text-primary);
  font-size: 13px;
  line-height: 20px;
}

.技能卡环节摘要,
.技能卡结果库,
.技能环节结果库,
.IM环节结果去向 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能卡环节摘要 {
  margin-top: 10px;
}

.技能卡环节摘要 > span,
.技能卡结果库 > span,
.技能环节结果库 > span,
.IM环节结果去向 > span {
  flex: 0 0 auto;
  color: var(--workbench-text-muted);
}

.技能卡环节摘要 b {
  min-width: 0;
  overflow: hidden;
  color: var(--workbench-text-secondary);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.技能卡结果库 {
  margin-top: 4px;
}

.技能卡结果库 a,
.技能卡结果库 b,
.技能环节结果库 a,
.技能环节结果库 b,
.IM环节结果去向 a,
.IM环节结果去向 b {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  color: var(--workbench-text-accent);
  font-weight: 500;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.技能卡结果库 b,
.技能环节结果库 b,
.IM环节结果去向 b {
  color: var(--workbench-text-secondary);
}

.技能卡结果库 a:hover,
.技能环节结果库 a:hover,
.IM环节结果去向 a:hover {
  text-decoration: underline;
}

.技能卡结果库 em,
.技能环节结果库 em,
.IM环节结果去向 em {
  flex: 0 0 auto;
  padding: 0 5px;
  border-radius: 4px;
  background: var(--workbench-surface-selected);
  color: var(--workbench-text-accent);
  font-size: 10px;
  font-style: normal;
  line-height: 17px;
}

.技能关系弹窗 {
  display: grid;
  gap: 18px;
}

.技能关系弹窗 > header {
  display: grid;
  gap: 6px;
}

.技能关系弹窗 > header small {
  color: var(--workbench-text-accent);
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
}

.技能关系弹窗 > header p {
  margin: 0;
  max-width: 760px;
  color: var(--workbench-text-secondary);
  font-size: 14px;
  line-height: 22px;
}

.技能关系环节列表 {
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.技能关系环节列表 > li {
  position: relative;
  min-width: 0;
  padding: 0 0 18px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
}

.技能关系环节列表 > li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 16px;
  width: 1px;
  background: var(--workbench-border-subtle);
}

.技能关系环节列表 > li > span:not(.技能环节状态):not(.技能环节故障) {
  position: relative;
  z-index: 1;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--feishu-color-primary);
  border-radius: 50%;
  background: var(--workbench-surface-selected);
  color: var(--workbench-text-accent);
  font-size: 11px;
  font-weight: 600;
}

.技能关系环节列表 > li > div {
  min-width: 0;
  padding: 5px 0 0;
  display: grid;
  gap: 4px;
}

.技能关系环节列表 > li > div > header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.技能关系环节列表 > li > div > header > strong {
  color: var(--workbench-text-primary);
  font-size: 15px;
  line-height: 22px;
}

.技能关系环节列表 > li > div > p {
  margin: 0;
  color: var(--workbench-text-secondary);
  font-size: 13px;
  line-height: 21px;
}

.技能环节结果库 {
  margin-top: 2px;
}

body[data-current-page="im"] .IM完整流程 .IM环节结果去向 {
  margin-top: 3px;
}

body[data-current-page="im"] .IM完整流程 .IM环节结果去向 a,
body[data-current-page="im"] .IM完整流程 .IM环节结果去向 b {
  max-width: 100%;
}

.技能环节状态,
.技能环节总状态 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--workbench-status-neutral-text);
  font-size: 11px;
  line-height: 18px;
  white-space: nowrap;
}

.技能环节状态 i,
.技能环节总状态 i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
}

.技能环节状态 b,
.技能环节总状态 strong {
  font-weight: 600;
}

.技能环节状态.已就绪,
.技能环节总状态.ready {
  color: var(--workbench-status-success-text);
}

.技能环节状态.已就绪 i,
.技能环节总状态.ready i {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--workbench-status-success-text) 18%, transparent), 0 0 10px color-mix(in srgb, var(--workbench-status-success-text) 72%, transparent);
}

.技能环节状态.未就绪,
.技能环节总状态.blocked,
.技能环节总状态.unconfigured {
  color: var(--workbench-status-warning-text);
}

.技能环节总状态.unavailable {
  color: var(--workbench-status-danger-text);
}

.技能环节检查明细 {
  margin: 8px 0 0;
  padding: 10px 12px;
  display: grid;
  gap: 10px;
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-interactive);
  list-style: none;
}

.技能环节检查明细 > li {
  min-width: 0;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: start;
  gap: 9px;
}

.技能环节检查明细 > li > i {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--workbench-status-warning-text);
}

.技能环节检查明细 > li.已就绪 > i {
  background: var(--workbench-status-success-text);
}

.技能环节检查明细 strong {
  color: var(--workbench-text-primary);
  font-size: 12px;
  line-height: 18px;
}

.技能环节检查明细 p {
  margin: 2px 0 0;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能环节检查明细 b {
  color: var(--workbench-status-warning-text);
  font-size: 10px;
  line-height: 18px;
  white-space: nowrap;
}

.技能环节检查明细 .已就绪 b {
  color: var(--workbench-status-success-text);
}

.技能关系环节列表 > li > div > .技能环节无检查 {
  margin-top: 8px;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能关系检查摘要 {
  padding-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--workbench-border-subtle);
}

.技能关系检查摘要 time {
  margin-left: auto;
  color: var(--workbench-text-muted);
  font-size: 11px;
}

.技能关系检查摘要 button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--workbench-text-accent);
  font-size: 11px;
  cursor: pointer;
}

.技能关系环节列表 .技能关系空状态 {
  grid-template-columns: minmax(0, 1fr);
}

.技能运行状态.fault{background:var(--workbench-status-danger-bg);color:var(--workbench-status-danger-text)}

.技能功能编辑表单 {
  padding: 18px;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 14px;
}

.技能功能编辑表单 label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.技能功能编辑表单 label > span {
  color: var(--workbench-text-secondary);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

.技能功能编辑表单 input,
.技能功能编辑表单 textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 6px;
  outline: 0;
  background: var(--workbench-surface-raised);
  color: var(--workbench-text-primary);
  font: inherit;
  font-size: 13px;
  line-height: 20px;
}

.技能功能编辑表单 textarea {
  min-height: 72px;
  resize: vertical;
}

.技能功能编辑表单 .技能卡片介绍计数 {
  align-self: flex-end;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能功能编辑表单 input:focus,
.技能功能编辑表单 textarea:focus {
  border-color: var(--feishu-color-primary);
  box-shadow: 0 0 0 2px rgba(var(--feishu-blue-5), .12);
}

.技能功能编辑表单 > small {
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
}

.技能功能编辑表单 > div {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.技能功能编辑表单 button {
  height: 32px;
  padding: 0 14px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 6px;
  background: var(--workbench-surface-panel);
  color: var(--workbench-text-secondary);
  font-size: 12px;
  cursor: pointer;
}

.技能功能编辑表单 button[type="submit"] {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary);
  color: #fff;
}

.技能功能编辑表单 button:focus-visible {
  outline: 2px solid rgba(var(--feishu-blue-5), .24);
  outline-offset: 2px;
}

.技能中心空状态 {
  min-height: 220px;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px dashed var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
}

.技能中心空状态 strong {
  font-size: 15px;
  line-height: 24px;
}

.技能中心空状态 span {
  color: var(--workbench-text-muted);
  font-size: 13px;
  line-height: 20px;
}

.Skill导入区 > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.Skill导入区 > header h3,
.Skill导入区 > header p {
  margin: 0;
}

.Skill导入区 > header p {
  margin-top: 6px;
  color: var(--workbench-text-secondary);
  line-height: 21px;
}

.Skill导入区 > header > span {
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-secondary);
  font-size: 12px;
}

.Skill导入区 > header > .Skill风险-low {
  background: rgba(52, 199, 89, .12);
  color: #237b3b;
}

.Skill导入区 > header > .Skill风险-medium {
  background: rgba(245, 166, 35, .14);
  color: #9a5f00;
}

.Skill导入区 > header > .Skill风险-blocked {
  background: rgba(245, 74, 69, .12);
  color: #c43131;
}

.Skill绑定功能 {
  width: 100%;
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 6px;
  background: var(--workbench-surface-raised);
  color: var(--workbench-text-primary);
  font-size: 13px;
  font-weight: 500;
  line-height: 22px;
}

[data-skill-handler-field][hidden] {
  display: none;
}

.Skill审查摘要 {
  margin: 18px 0;
  display: grid;
  gap: 8px;
}

.Skill审查摘要 > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  font-size: 12px;
  line-height: 20px;
}

.Skill审查摘要 dt {
  color: var(--workbench-text-muted);
}

.Skill审查摘要 dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--workbench-text-secondary);
}

.Skill审查发现 {
  margin: 14px 0;
  padding: 12px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 8px;
  background: var(--workbench-surface-interactive);
}

.Skill审查发现 h4,
.Skill审查发现 p,
.Skill审查发现 ul {
  margin: 0;
}

.Skill审查发现 ul {
  padding: 0;
  list-style: none;
}

.Skill审查发现 li {
  display: flex;
  gap: 8px;
  padding-top: 7px;
  color: var(--workbench-text-secondary);
  font-size: 12px;
  line-height: 19px;
}

.Skill审查发现 li strong {
  color: #9a5f00;
}

.Skill审查发现 li.阻断 strong {
  color: #c43131;
}

.Skill对话区 > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.Skill对话区 > header small,
.Skill对话区 > header p {
  margin: 0;
}

.Skill对话区 > header small {
  color: var(--workbench-text-muted);
}

.Skill对话区 > header p {
  margin-top: 4px;
  color: var(--workbench-text-secondary);
  line-height: 21px;
}

.Skill对话区 > header > span {
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: var(--feishu-border-radius-full);
  background: rgba(52, 199, 89, .12);
  color: #237b3b;
  font-size: 12px;
}

.Skill对话消息列表 {
  max-height: min(46vh, 420px);
  overflow-y: auto;
  padding: 12px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 8px;
  background: var(--workbench-surface-interactive);
}

.Skill对话消息 {
  width: fit-content;
  max-width: 88%;
  margin: 0 0 10px;
  padding: 9px 11px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: 8px;
  background: var(--workbench-surface-raised);
}

.Skill对话消息.user {
  margin-left: auto;
  background: rgba(20, 86, 240, .08);
}

.Skill对话消息:last-child {
  margin-bottom: 0;
}

.Skill对话消息 small {
  color: var(--workbench-text-muted);
}

.Skill对话消息 p {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  color: var(--workbench-text-primary);
  line-height: 21px;
}

.Skill对话消息 button {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--feishu-primary-color, #1456f0);
  cursor: pointer;
}

.Skill对话空状态 {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--workbench-text-secondary);
  text-align: center;
}

.Skill对话空状态 span,
.Skill对话区 .配置提示.错误 {
  color: var(--workbench-text-muted);
  font-size: 12px;
}

.Skill对话区 .配置提示.错误 {
  color: #c43131;
}

@media (max-width: 900px) {
  .技能中心页面 {
    grid-template-columns: 168px minmax(0, 1fr);
  }

  .技能中心导航行 {
    gap: 12px;
    padding-inline: 16px;
  }

  .技能中心搜索 {
    width: 190px;
  }

  .技能卡片网格 {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-current-page="skills"] .环节画布 {
    padding: var(--site-navigation-height, 64px) 0 0;
    overflow: auto;
  }

  body[data-current-page="skills"] #环节轨道 {
    height: auto;
    min-height: 100%;
  }

  .技能中心页面 {
    height: auto;
    min-height: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    overflow: visible;
  }

  .技能中心侧栏 {
    border-right: 0;
    border-bottom: 1px solid var(--workbench-border-subtle);
  }

  .技能中心侧栏 > header,
  .技能中心侧栏 > p {
    display: none;
  }

  .技能中心范围列表 {
    overflow: visible;
  }

  .技能中心范围组 {
    padding: 0;
  }

  .技能中心大类 {
    padding: 0 12px;
  }

  .技能中心大类 button {
    width: 100%;
    height: 46px;
    padding: 0;
  }

  .技能中心平台筛选 {
    padding: 0 12px;
    display: flex;
    align-items: stretch;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .技能中心平台筛选::-webkit-scrollbar {
    display: none;
  }

  .技能中心平台筛选 button {
    width: auto;
    height: 40px;
    flex: 0 0 auto;
    padding: 0;
  }

  .技能中心主区 {
    grid-template-rows: auto minmax(0, 1fr);
    overflow: visible;
  }

  .技能中心导航行 {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0 12px 10px;
  }

  .技能中心导航摘要 {
    height: 44px;
  }

  .技能中心分类 {
    height: 44px;
    gap: 20px;
    overflow-x: auto;
  }

  .技能中心工具栏 {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .技能中心搜索 {
    width: 100%;
    min-width: 0;
  }

  .技能中心内容区 {
    padding: 12px;
    overflow: visible;
  }

  .技能卡片网格 {
    grid-template-columns: 1fr;
  }
}

/* 2026-08-21 小红书非 IM 页面：由技能中心衍生同一宽度、页内分类与独立内容区。 */
body[data-workbench="xhs"]:is(
  [data-current-page="skills"],
  [data-current-page="material"],
  [data-current-page="xiaohongshu"],
  [data-current-page="modelgateway"],
  [data-current-page="featurelog"]
) #环节轨道 {
  width: min(1480px, 100%);
  min-width: 0;
  margin-inline: auto;
  transform: none !important;
  filter: none;
}

body[data-workbench="xhs"][data-current-page="skills"] #环节轨道 {
  width: 100%;
  margin-inline: 0;
}

body[data-workbench="xhs"]:is(
  [data-current-page="skills"],
  [data-current-page="material"],
  [data-current-page="xiaohongshu"],
  [data-current-page="modelgateway"],
  [data-current-page="featurelog"]
) .环节画布 {
  padding-top: calc(var(--site-navigation-height, 64px) + 28px);
}

body[data-workbench="xhs"][data-current-page="skills"] .环节画布 {
  padding-top: var(--site-navigation-height, 64px);
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产工作台 {
  height: calc(100dvh - var(--site-navigation-height, 64px) - 38px);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面,
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关页面,
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志页面 {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* 素材采集库：分类在左、搜索在右，保留素材自己的预览和编辑语义。 */
/* material-system-header-removed-v1：共享系统顶栏没有可见内容，深色模式也必须移除其 44px 外壳。 */
body[data-workbench="xhs"][data-current-page="material"] .系统顶栏 {
  display: none;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

body[data-workbench="xhs"][data-current-page="material"] .环节画布 {
  background: var(--workbench-surface-canvas);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 {
  order: 2;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  grid-template-areas: "category status search count";
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(320px, 520px) auto;
  align-items: end;
  gap: 12px;
  border-bottom: 1px solid var(--workbench-border-subtle);
  background: transparent;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > label {
  grid-area: search;
  margin-bottom: 7px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > .模板类型区:first-of-type { grid-area: category; }
body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > .模板类型区:nth-of-type(2) { grid-area: status; }

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > span {
  grid-area: count;
  margin-bottom: 14px;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .素材采集库页头 {
  order: 1;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模型网关错误 {
  order: 2;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库主体 {
  order: 3;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .素材采集库分页 {
  order: 4;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页头 {
  display: none;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库标题 h1 { font-size: 16px; }

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 .全部模板网格 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-content: start;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库主体 {
  grid-template-columns: minmax(0, 1fr);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .素材采集库主体已选中 {
  grid-template-columns: minmax(0, 1fr) 368px;
  align-items: start;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 {
  position: sticky;
  /* 滚动容器已预留导航高度 + 28px；-16px 使吸附位置落在导航下方 12px，避免重复叠加导航高度。 */
  top: -16px;
  align-self: start;
  width: 100%;
  /* 为同一页面的分页与底部留白预留 100px，避免 sticky 在滚动末端被父网格底边向上推离。 */
  max-height: calc(100dvh - var(--site-navigation-height, 64px) - 124px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  box-sizing: border-box;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 .模板库预览滚动体 {
  min-height: 0;
  padding: 10px 12px 12px;
  overflow: auto;
  scrollbar-gutter: stable;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情内容 {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  grid-template-areas:
    "heading heading"
    "media copy"
    "meta meta";
  align-content: start;
  gap: 10px 12px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情标题 {
  grid-area: heading;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情标题 strong {
  color: var(--workbench-text-primary);
  font-size: 12px;
  line-height: 18px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情标题 small {
  color: var(--workbench-text-muted);
  font-size: 10px;
  line-height: 16px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库笔记内容 {
  grid-area: copy;
  min-width: 0;
  padding: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库笔记内容 > h3 {
  margin: 0;
  color: var(--workbench-text-primary);
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库底部栏 {
  grid-area: meta;
  margin-top: 0;
  padding: 8px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-top: 1px solid var(--workbench-border-subtle);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 {
  min-width: 0;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  border-left: 1px solid var(--workbench-border-subtle);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 > div:first-child {
  border-left: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 :is(dt, dd) {
  margin: 0;
  font-size: 10px;
  line-height: 18px;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 dt {
  color: var(--workbench-text-muted);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库互动数据 dd {
  overflow: hidden;
  color: var(--workbench-text-primary);
  font-weight: 600;
  text-overflow: ellipsis;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 .素材采集库图片区 {
  grid-area: media;
  min-width: 0;
  margin-top: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库主图导航 {
  position: relative;
  display: block;
  margin-top: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库主图导航 > figure {
  position: relative;
  width: min(100%, 142px);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库主图导航 > button {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
  background: color-mix(in srgb, var(--workbench-surface-panel) 88%, transparent);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库主图导航 > button:first-child { left: 6px; }
body[data-workbench="xhs"][data-current-page="material"] .素材采集库主图导航 > button:last-child { right: 6px; }

body[data-workbench="xhs"][data-current-page="material"] .素材采集库图片计数 {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 8px;
  border-radius: var(--feishu-border-radius-full);
  background: var(--feishu-color-overlay-bg);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库图片空状态 {
  min-height: 180px;
  display: grid;
  place-items: center;
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-muted);
  font-size: 12px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库图片缩略条 {
  margin-top: 6px;
  gap: 6px;
  overflow-x: auto;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库图片缩略条 > li,
body[data-workbench="xhs"][data-current-page="material"] .素材采集库图片缩略条 button {
  width: 44px;
  flex-basis: 44px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 .素材采集库正文 {
  margin-top: 7px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 .素材采集库正文 p {
  max-height: 108px;
  margin: 0;
  padding: 0;
  overflow: auto;
  border: 0;
  background: transparent;
  color: var(--workbench-text-primary);
  font-size: 10px;
  line-height: 16px;
  scrollbar-gutter: stable;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库标签 {
  margin-top: 7px;
  color: var(--workbench-text-accent);
  font-size: 11px;
  line-height: 18px;
  overflow-wrap: anywhere;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库发布时间 {
  margin: 7px 0 0;
  color: var(--workbench-text-muted);
  font-size: 10px;
  line-height: 18px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库底部栏 .素材采集库来源链接 {
  min-height: 28px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-full);
  background: var(--workbench-surface-panel);
  color: var(--workbench-text-secondary);
  font-size: 10px;
  line-height: 18px;
  text-decoration: none;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库底部栏 a.素材采集库来源链接:hover,
body[data-workbench="xhs"][data-current-page="material"] .素材采集库底部栏 a.素材采集库来源链接:focus-visible {
  border-color: var(--workbench-text-accent);
  color: var(--workbench-text-accent);
  outline: none;
  box-shadow: var(--workbench-focus-ring);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡 {
  min-height: 142px;
  padding: 14px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  overflow: hidden;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片 {
  width: 82px;
  aspect-ratio: 3 / 4;
  display: block;
  overflow: hidden;
  border-radius: var(--workbench-action-radius);
  background: var(--workbench-surface-interactive);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片空态 {
  display: grid;
  place-items: center;
  color: var(--workbench-text-muted);
  font-size: 11px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡内容 {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 0;
  display: grid;
  align-content: center;
  gap: 5px;
  pointer-events: none;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片数量 {
  order: 3;
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-style: normal;
  line-height: 20px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡内容 > strong {
  order: 1;
  height: 38px;
  overflow: hidden;
  color: var(--workbench-text-primary);
  display: -webkit-box;
  font-size: 13px;
  line-height: 19px;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库已转换标记 {
  order: 2;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库已转换标记 > i {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  box-sizing: border-box;
  padding: 1px 6px;
  border-radius: var(--feishu-border-radius-extra-small);
  background: var(--workbench-status-accent-bg);
  color: var(--workbench-status-accent-text);
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库已转换标记 > i.待转换 {
  background: var(--workbench-status-neutral-bg);
  color: var(--workbench-status-neutral-text);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 {
  order: 4;
  margin: 2px 0 0;
  padding-top: 5px;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 7px;
  border-top: 1px solid var(--workbench-border-subtle);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 2px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 :is(dt, dd) {
  margin: 0;
  font-size: 10px;
  line-height: 16px;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 dt {
  color: var(--workbench-text-muted);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 dd {
  overflow: hidden;
  color: var(--workbench-text-primary);
  font-weight: 600;
  text-overflow: ellipsis;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 {
  margin-top: 16px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页码 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 button {
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  flex: 0 0 auto;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--workbench-action-radius);
  background: var(--workbench-surface-raised);
  color: var(--workbench-text-secondary);
  font-size: 11px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 button:is(:hover, :focus-visible),
body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 button.当前 {
  border-color: var(--feishu-color-primary);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 button:disabled {
  border-color: var(--workbench-border-subtle);
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-muted);
  cursor: not-allowed;
  opacity: .56;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库分页 em {
  color: var(--workbench-text-muted);
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
}

/* 技能中心式页签：仅作用于小红书工作台，不匹配产品售前。 */
body[data-workbench="xhs"][data-current-page="material"] .模板类型区,
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签,
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤,
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关环节导航 {
  min-height: 42px;
  align-items: end;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 0;
  border-bottom: 1px solid var(--workbench-border-subtle);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scrollbar-width: thin;
}

body[data-workbench="xhs"][data-current-page="material"] .模板类型区 {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 42px;
  gap: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > label > span,
body[data-workbench="xhs"][data-current-page="material"] .模板类型区 > span {
  align-self: center;
  color: var(--workbench-text-secondary);
  font-size: 11px;
  line-height: 1.4;
}

body[data-workbench="xhs"][data-current-page="material"] .模板类型区 .模板类型筛选,
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签,
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤,
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关环节导航 {
  display: flex;
}

body[data-workbench="xhs"][data-current-page="material"] .模板类型筛选 button,
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签 button,
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button,
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关环节导航 button {
  position: relative;
  min-width: 96px;
  height: 42px;
  flex: 0 0 auto;
  margin-bottom: -1px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--workbench-border-subtle);
  border-bottom-color: transparent;
  border-radius: 10px 10px 0 0;
  background: var(--workbench-surface-interactive);
  color: var(--workbench-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="material"] .模板类型筛选 button > span::after,
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签 button::after,
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button::before,
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关环节导航 button > strong::after {
  display: none;
}

body[data-workbench="xhs"][data-current-page="material"] .模板类型筛选 button > small {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--workbench-surface-muted);
  color: var(--workbench-text-secondary);
  font-size: 11px;
  line-height: 18px;
  text-align: center;
}



body[data-workbench="xhs"][data-current-page="material"] .模板类型筛选 button.当前{
  border-top: 3px solid var(--feishu-color-primary);
  
  
  
  
}
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签 button.已选中{
  border-top: 3px solid var(--feishu-color-primary);
  
  
  
  
}
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button.当前{
  border-top: 3px solid var(--feishu-color-primary);
  
  
  
  
}
body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关环节导航 button.当前 {
  border-top: 3px solid var(--feishu-color-primary);
  
  
  
  
}

body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志页面 {
  display: flex;
  flex-direction: column;
}

body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目标签 { order: 1; }
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志页头 { order: 2; padding: 12px 2px 4px; }
body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志页头 > :is(small, h1) { display: none; }
body[data-workbench="xhs"][data-current-page="featurelog"] .上传模板自动修复配置 { order: 3; } body[data-workbench="xhs"][data-current-page="featurelog"] .工作日志栏目面板 { order: 4; }

body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关页头 {
  min-height: 48px;
  padding: 0;
  align-items: end;
  border: 0;
  border-bottom: 1px solid var(--workbench-border-subtle);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关标题 {
  min-height: 0;
  padding: 0 0 10px;
  display: flex;
  align-items: baseline;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关标题 h1 {
  font-size: 20px;
  line-height: 1.3;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关页头 > :is(dl, .模型网关安全说明, .模型网关顶部操作) {
  margin-bottom: 7px;
}

@media (max-width: 1120px) {
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 {
    grid-template-areas:
      "category status count"
      "search search search";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .素材采集库主体已选中 {
    grid-template-columns: minmax(0, 1fr) 360px;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 .全部模板网格 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-workbench="xhs"]:is(
    [data-current-page="skills"],
    [data-current-page="material"],
    [data-current-page="xiaohongshu"],
    [data-current-page="modelgateway"],
    [data-current-page="featurelog"]
  ) .环节画布 {
    padding-top: calc(var(--site-navigation-height, 64px) + 16px);
  }

  body[data-workbench="xhs"][data-current-page="skills"] .环节画布 {
    padding-top: var(--site-navigation-height, 64px);
  }

  body[data-workbench="xhs"][data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .课程生产工作台 {
    min-height: calc(100dvh - var(--site-navigation-height, 64px) - 108px);
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 {
    grid-template-areas:
      "category"
      "status"
      "search";
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .模板库工具栏 > span { display: none; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 > .素材采集库主体已选中 { grid-template-columns: minmax(0, 1fr); }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 { position: static; max-height: none; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库预览 .模板库预览滚动体 { padding-right: 0; overflow: visible; scrollbar-gutter: auto; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库页面 .全部模板网格 { grid-template-columns: 1fr; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡 {
    min-height: 142px;
    padding: 12px;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 12px;
  }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片 { width: 88px; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡内容 { gap: 5px; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡内容 > strong { height: 40px; font-size: 14px; line-height: 20px; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡图片数量 { font-size: 11px; line-height: 16px; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 { gap: 10px; padding-top: 6px; }
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库卡互动 :is(dt, dd) { font-size: 10px; line-height: 16px; }
  body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关页头 { align-items: flex-start; }
  body[data-workbench="xhs"][data-current-page="modelgateway"] .模型网关标题 { width: 100%; }
}

/* 2026-08-21 小红书非 IM 页面衍生结束。 */

/* 2026-08-31 小红书生产模块左抽屉：知识库合并导入与解构，上下游可自由切换。 */
body[data-workbench="xhs"][data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节画布 {
  padding: calc(var(--site-navigation-height) + 10px) 10px 10px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台 {
  --课程抽屉宽度: 220px;
  width: 100%;
  height: calc(100dvh - var(--site-navigation-height) - 20px);
  max-width: none;
  display: grid;
  grid-template-columns: var(--课程抽屉宽度) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 10px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 {
  --课程抽屉宽度: 52px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产抽屉 {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-panel);
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产抽屉 > header {
  grid-row: 1;
  height: auto;
  min-width: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--workbench-border-subtle);
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产抽屉 > header strong {
  color: var(--workbench-text-primary);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产抽屉 > header button {
  min-width: 40px;
  height: 30px;
  padding: 0 6px;
  border: 0;
  border-radius: var(--feishu-border-radius-small);
  background: transparent;
  color: var(--feishu-color-primary);
  font-size: 11px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产抽屉 > header button:is(:hover, :focus-visible) {
  background: var(--feishu-color-primary-light-default);
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 {
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 14px 8px;
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉分组 {
  display: grid;
  gap: 4px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉分组 > small {
  padding: 8px 10px 5px;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 16px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button {
  position: relative;
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 42px;
  margin: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 0;
  border-radius: var(--feishu-border-radius-small);
  background: transparent;
  color: var(--workbench-text-secondary);
  text-align: left;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 2px;
  height: auto;
  border-radius: 0 2px 2px 0;
  background: var(--feishu-color-primary);
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform .16s ease;
}



body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button.当前 {
  border: 0;
  
  
  
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button.当前::before {
  transform: scaleY(1);
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button strong {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: none;
  color: currentColor;
  font-size: 13px;
  font-weight: inherit;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button :is(em, i) {
  color: var(--workbench-text-muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  white-space: nowrap;
}



body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉子项 {
  padding: 2px 0 6px 14px;
  display: grid;
  gap: 2px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉子项 button {
  min-height: 34px;
  padding-block: 6px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉子项 button strong {
  font-size: 12px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程抽屉关系说明 {
  margin: 12px 10px 4px;
  padding-top: 12px;
  border-top: 1px solid var(--workbench-border-subtle);
  color: var(--workbench-text-muted);
  font-size: 10px;
  line-height: 16px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产主区 {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 .课程生产抽屉 {
  grid-template-rows: 54px;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 .课程生产抽屉 > header {
  padding: 0 5px;
  justify-content: center;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 .课程生产抽屉 > header strong,
body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 .课程生产步骤 {
  display: none;
}

body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 .课程生产抽屉 > header button {
  width: 40px;
  min-width: 40px;
  padding: 0;
}

@media (max-width: 940px) {
  body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台 {
    --课程抽屉宽度: 190px;
    position: relative;
  }

  body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台.抽屉已收起 {
    --课程抽屉宽度: 44px;
  }
}

@media (max-width: 760px) {
  body[data-workbench="xhs"][data-current-page="xiaohongshu"][data-xhs-canvas="course-production"] .环节画布 {
    padding: calc(var(--site-navigation-height) + 8px) 8px 8px;
  }

  body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产工作台 {
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-workbench="xhs"][data-current-page="xiaohongshu"] .课程生产步骤 button::before {
    transition: none;
  }
}

/* 2026-08-22 飞书配置：保留分类卡标题，内容收敛为单一平面。 */
body[data-current-page="modelgateway"] .模型网关页头 {
  min-height: 58px;
  padding: 0;
  align-items: end;
  gap: 20px;
  border: 0;
  border-bottom: 1px solid var(--workbench-border-subtle);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-current-page="modelgateway"] .模型网关顶部操作 {
  margin: 0 0 9px auto;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置工作区 {
  margin-top: 0;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏 > header {
  min-height: 112px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-rows: 24px 30px auto;
  align-content: center;
  align-items: center;
  column-gap: 4px;
  row-gap: 3px;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏 > header > small {
  grid-column: 1;
  grid-row: 1;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏 > header > strong {
  grid-column: 1;
  grid-row: 2;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏 > header > span {
  grid-column: 1 / -1;
  grid-row: 3;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 {
  display: contents;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关顶部操作 {
  display: contents;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关运行状态 {
  grid-column: 2 / -1;
  grid-row: 1;
  justify-self: end;
  min-width: 0;
  height: 24px;
  padding: 0;
  gap: 4px;
  color: #667085;
  font-size: 10px;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关运行状态 i {
  width: 7px;
  height: 7px;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关运行状态 em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关顶部操作 button {
  grid-row: 2;
  justify-self: end;
  height: 30px;
  padding: 0 3px;
  color: #546071;
  font-size: 11px;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关顶部操作 button:first-of-type {
  grid-column: 2;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关顶部操作 button:last-of-type {
  grid-column: 3;
}


body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置侧栏操作 .模型网关顶部操作 button:focus-visible {
  color: #1664ff;
}

@media (min-width: 1041px) {
  body[data-workbench="xhs"][data-current-page="modelgateway"] .API配置工作区 {
    grid-template-columns: 280px minmax(0, 1fr);
  }
}

body[data-current-page="modelgateway"] .API配置单页 {
  margin-top: 40px;
}

body[data-current-page="modelgateway"] .API配置面板 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型标签面板 {
  padding: 22px 24px 24px;
  border: 1px solid var(--workbench-border-subtle);
  border-radius: var(--feishu-border-radius-large);
  background: var(--workbench-surface-panel);
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型类型说明 {
  margin-top: 14px;
  border: 1px solid var(--workbench-border-subtle);
  background: var(--feishu-color-primary-light-default);
}

body[data-workbench="xhs"][data-current-page="modelgateway"] :is(.API模型目录表头, .API模型目录展开) {
  background: var(--workbench-surface-raised);
}

body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型目录行:hover,
body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型目录行:focus-visible,
body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型目录项[open] > .API模型目录行 {
  background: var(--workbench-surface-interactive);
}

body[data-current-page="modelgateway"] .API配置面板标题 {
  padding: 0;
  display: block;
  border: 0;
}

body[data-current-page="modelgateway"] .API配置面板标题 h2 {
  margin: 0;
  color: var(--workbench-text-primary);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.02em;
}

body[data-current-page="modelgateway"] .API配置面板标题 p {
  margin: 7px 0 0;
  color: var(--workbench-text-secondary);
  font-size: 13px;
  line-height: 1.6;
}

body[data-current-page="modelgateway"] .API配置面板 > .企业接入区 {
  margin-top: 28px;
}

body[data-current-page="modelgateway"] .企业接入网格 {
  padding: 0;
  grid-template-columns: minmax(520px, 1.6fr) minmax(280px, .75fr);
  gap: clamp(32px, 5vw, 72px);
}

body[data-current-page="modelgateway"] .企业接入表单 {
  gap: 16px;
}

body[data-current-page="modelgateway"] .企业接入表单 .双字段 {
  gap: 20px;
}

body[data-current-page="modelgateway"] .企业接入表单 > label,
body[data-current-page="modelgateway"] .企业接入表单 .双字段 label {
  gap: 7px;
  color: var(--workbench-text-secondary);
  font-size: 13px;
}

body[data-current-page="modelgateway"] .企业接入表单 input:not([type="checkbox"]) {
  height: 44px;
  padding: 0 14px;
  border-color: var(--workbench-border-strong);
  border-radius: var(--workbench-action-radius);
  background: var(--workbench-surface-raised);
  color: var(--workbench-text-primary);
  font-size: 13px;
}

body[data-current-page="modelgateway"] .企业接入表单 input:not([type="checkbox"]):focus {
  border-color: var(--feishu-color-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--feishu-color-primary) 18%, transparent);
  outline: none;
}

body[data-current-page="modelgateway"] .企业边界说明 {
  padding: 11px 14px;
  gap: 4px;
  border-color: color-mix(in srgb, var(--feishu-color-primary) 34%, var(--workbench-border-subtle));
  background: color-mix(in srgb, var(--feishu-color-primary) 8%, var(--workbench-surface-raised));
}

body[data-current-page="modelgateway"] .企业边界说明 strong {
  color: var(--workbench-text-accent);
  font-size: 13px;
}

body[data-current-page="modelgateway"] .企业边界说明 span {
  color: var(--workbench-text-secondary);
  font-size: 12px;
}

body[data-current-page="modelgateway"] .企业接入表单 .配置提示 {
  margin: 0;
  color: var(--workbench-text-secondary);
  font-size: 12px;
  line-height: 1.55;
}

body[data-current-page="modelgateway"] .企业接入操作 {
  margin-top: 2px;
  flex-wrap: wrap;
  gap: 10px;
}

body[data-current-page="modelgateway"] .企业接入操作 button {
  min-height: 42px;
  padding-inline: 16px;
}

body[data-current-page="modelgateway"] .企业接入区 .asset-meta {
  padding: 0;
  gap: 0;
}

body[data-current-page="modelgateway"] .企业接入区 .asset-meta > div {
  padding: 0 0 14px;
  gap: 6px;
}

body[data-current-page="modelgateway"] .企业接入区 .asset-meta > div + div {
  padding-top: 14px;
  border-top: 1px solid var(--workbench-border-subtle);
}

body[data-current-page="modelgateway"] .企业接入区 .asset-meta dt {
  color: var(--workbench-text-muted);
  font-size: 12px;
}

body[data-current-page="modelgateway"] .企业接入区 .asset-meta dd {
  color: var(--workbench-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

body[data-current-page="modelgateway"] .企业接入区 .asset-tag {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
}

@media (max-width: 900px) {
  body[data-current-page="modelgateway"] .企业接入网格 {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  body[data-current-page="modelgateway"] .企业接入区 .asset-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
  }
}

@media (max-width: 760px) {
  body[data-current-page="modelgateway"] .模型网关页头 {
    align-items: end;
    flex-wrap: nowrap;
    gap: 8px;
  }

  body[data-current-page="modelgateway"] .模型网关顶部操作 {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0 0 6px auto;
    padding: 0;
    justify-content: flex-end;
    border: 0;
  }

  body[data-current-page="modelgateway"] .模型网关运行状态 {
    padding-inline: 4px;
  }

  body[data-current-page="modelgateway"] .模型网关顶部操作 button {
    padding-inline: 6px;
  }

  body[data-current-page="modelgateway"] .API配置单页 {
    margin-top: 28px;
  }

  body[data-workbench="xhs"][data-current-page="modelgateway"] .API模型标签面板 {
    padding: 16px;
  }

  body[data-current-page="modelgateway"] .企业接入区 .asset-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  body[data-current-page="modelgateway"] .模型网关运行状态 em {
    display: none;
  }
  body[data-current-page="modelgateway"] .企业接入表单 .双字段 {
    grid-template-columns: 1fr;
  }

  body[data-current-page="modelgateway"] .企业接入操作 button {
    width: 100%;
  }
}
.飞书三表映射{margin:0 28px 18px;padding:16px;border:1px solid var(--workbench-border-subtle);border-radius:8px;background:var(--workbench-surface-inset)}.飞书三表映射>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.飞书三表映射>header span,.飞书三表映射 label span{color:var(--workbench-text-muted);font-size:12px}.飞书三表映射>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.飞书三表映射 label{display:grid;gap:6px}.飞书三表映射 select{width:100%}.飞书映射读取结果{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:14px;padding:12px;background:var(--workbench-brand-primary-soft);border-radius:6px}.飞书映射读取结果 p{display:grid;gap:3px;margin:0}.飞书映射读取结果 span{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.飞书映射操作{display:flex!important;grid-template-columns:none!important;justify-content:flex-end;gap:8px!important;margin-top:14px}@media(max-width:900px){.飞书三表映射>div{grid-template-columns:1fr}}
/* 2026-08-27 飞书 OAuth 配置：截图同构的大白面板、说明条与结构化三表检测。 */ body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板 { min-width: 0; min-height: clamp(620px, calc(100vh - 128px), 860px); padding: 24px 28px 28px; border: 1px solid var(--workbench-border-subtle); border-radius: var(--feishu-border-radius-large); background: var(--workbench-surface-panel); box-shadow: var(--workbench-shadow-card); } body[data-current-page="modelgateway"] .飞书配置内容 { min-width: 0; display: grid; gap: 20px; } body[data-current-page="modelgateway"] .飞书配置内容头 { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--workbench-border-subtle); } body[data-current-page="modelgateway"] .飞书配置内容头 nav { align-self: stretch; display: flex; align-items: center; } body[data-current-page="modelgateway"] .飞书配置内容头 nav button { position: relative; height: 100%; padding: 0 18px; border: 0; background: transparent; color: var(--feishu-color-primary); font: inherit; font-size: 15px; font-weight: 650; } body[data-current-page="modelgateway"] .飞书配置内容头 nav button::after { content: ""; position: absolute; right: 18px; bottom: -1px; left: 18px; height: 2px; background: var(--feishu-color-primary); } body[data-current-page="modelgateway"] .飞书总状态, body[data-current-page="modelgateway"] .飞书状态标记 { display: inline-flex; align-items: center; gap: 6px; color: var(--workbench-text-secondary); font-size: 12px; white-space: nowrap; } body[data-current-page="modelgateway"] .飞书总状态 i { width: 7px; height: 7px; border-radius: 50%; background: var(--workbench-text-muted); } body[data-current-page="modelgateway"] :is(.飞书总状态, .飞书状态标记).成功 { color: var(--feishu-color-success); } body[data-current-page="modelgateway"] :is(.飞书总状态, .飞书状态标记).警告 { color: var(--feishu-color-warning); } body[data-current-page="modelgateway"] :is(.飞书总状态, .飞书状态标记).失败 { color: var(--feishu-color-danger); } body[data-current-page="modelgateway"] .飞书总状态.进行 { color: var(--feishu-color-primary); } body[data-current-page="modelgateway"] .飞书总状态.成功 i { background: var(--feishu-color-success); } body[data-current-page="modelgateway"] .飞书总状态.警告 i { background: var(--feishu-color-warning); } body[data-current-page="modelgateway"] .飞书总状态.失败 i { background: var(--feishu-color-danger); } body[data-current-page="modelgateway"] .飞书总状态.进行 i { background: var(--feishu-color-primary); } body[data-current-page="modelgateway"] .飞书配置内容 > .企业边界说明 { margin: 0; padding: 13px 16px; border: 1px solid color-mix(in srgb, var(--feishu-color-primary) 24%, var(--workbench-border-subtle)); border-radius: var(--workbench-action-radius); background: var(--feishu-color-primary-light-default); } body[data-current-page="modelgateway"] .飞书配置操作栏 { display: flex; align-items: center; justify-content: space-between; gap: 24px; } body[data-current-page="modelgateway"] .飞书配置操作栏 > div:first-child { min-width: 0; display: grid; gap: 5px; } body[data-current-page="modelgateway"] .飞书配置操作栏 strong { color: var(--workbench-text-primary); font-size: 16px; } body[data-current-page="modelgateway"] .飞书配置操作栏 span { color: var(--workbench-text-secondary); font-size: 12px; line-height: 1.5; } body[data-current-page="modelgateway"] .飞书配置操作栏 > div:last-child { flex: 0 0 auto; display: flex; gap: 8px; } body[data-current-page="modelgateway"] .飞书配置操作栏 button, body[data-current-page="modelgateway"] .飞书配置页脚 button, body[data-current-page="modelgateway"] .飞书候选选择 button { min-height: 36px; padding-inline: 14px; } body[data-current-page="modelgateway"] .飞书候选选择 { padding: 12px 14px; display: flex; align-items: end; gap: 10px; border: 1px solid var(--workbench-border-subtle); border-radius: var(--workbench-action-radius); background: var(--workbench-surface-raised); } body[data-current-page="modelgateway"] .飞书候选选择 label { min-width: 280px; display: grid; gap: 5px; color: var(--workbench-text-secondary); font-size: 12px; } body[data-current-page="modelgateway"] .飞书候选选择 select { min-height: 36px; } body[data-current-page="modelgateway"] .飞书配置表格 { min-width: 820px; overflow: hidden; border: 1px solid var(--workbench-border-subtle); border-radius: var(--feishu-border-radius-large); background: var(--workbench-surface-panel); } body[data-current-page="modelgateway"] :is(.飞书配置表格头, .飞书配置表格行) { display: grid; grid-template-columns: minmax(150px, 1.05fr) minmax(190px, 1.25fr) minmax(220px, 1.35fr) minmax(88px, .55fr) minmax(82px, .45fr); align-items: center; } body[data-current-page="modelgateway"] .飞书配置表格头 { min-height: 48px; padding: 0 16px; background: var(--workbench-surface-raised); color: var(--workbench-text-secondary); font-size: 12px; font-weight: 600; } body[data-current-page="modelgateway"] .飞书配置表格行 { min-height: 78px; padding: 0 16px; border-top: 1px solid var(--workbench-border-subtle); color: var(--workbench-text-primary); font-size: 13px; } body[data-current-page="modelgateway"] .飞书配置表格行:hover { background: var(--workbench-surface-interactive); } body[data-current-page="modelgateway"] .飞书配置表格行 > div { min-width: 0; padding-right: 16px; display: grid; gap: 5px; } body[data-current-page="modelgateway"] .飞书配置表格行 strong, body[data-current-page="modelgateway"] .飞书配置表格行 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } body[data-current-page="modelgateway"] .飞书配置表格行 small { overflow: hidden; color: var(--workbench-text-muted); font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; } body[data-current-page="modelgateway"] .飞书行操作 { width: max-content; padding: 4px 0; border: 0; background: transparent; color: var(--feishu-color-primary); font: inherit; font-size: 12px; font-weight: 600; } body[data-current-page="modelgateway"] .飞书行操作:disabled { color: var(--workbench-text-muted); } body[data-current-page="modelgateway"] .飞书配置页脚 { padding-top: 2px; display: flex; align-items: center; justify-content: space-between; gap: 18px; } body[data-current-page="modelgateway"] .飞书配置页脚 p { margin: 0; color: var(--workbench-text-secondary); font-size: 12px; line-height: 1.55; } body[data-current-page="modelgateway"] .飞书配置空状态 { min-height: 420px; display: grid; place-content: center; gap: 8px; text-align: center; } body[data-current-page="modelgateway"] .飞书配置空状态 span { color: var(--workbench-text-secondary); font-size: 12px; } @media (max-width: 1180px) { body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板 { padding: 20px; } body[data-current-page="modelgateway"] .飞书配置内容 { overflow-x: auto; } } @media (max-width: 760px) { body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板 { min-height: 0; padding: 16px; } body[data-current-page="modelgateway"] .飞书配置操作栏, body[data-current-page="modelgateway"] .飞书配置页脚 { align-items: stretch; flex-direction: column; } body[data-current-page="modelgateway"] .飞书配置操作栏 > div:last-child { display: grid; grid-template-columns: 1fr; } body[data-current-page="modelgateway"] .飞书候选选择 { align-items: stretch; flex-direction: column; } body[data-current-page="modelgateway"] .飞书候选选择 label { min-width: 0; } }

/* Content edition switch and the first read-only video workspace scaffold. */






















































body[data-content-edition="video"] .系统顶栏 {
  display: none;
}

body[data-content-edition="video"] .环节画布 {
  display: block;
  overflow: auto;
  padding: calc(var(--site-navigation-height, 64px) + 20px) 24px 28px;
  background: var(--workbench-surface-canvas);
}

body[data-content-edition="video"] .环节轨道 {
  width: min(1320px, 100%);
  min-width: 0;
  margin: 0 auto;
  display: block;
  transform: none !important;
}

.视频版雏形 {
  min-width: 0;
  display: grid;
  gap: 14px;
  color: var(--feishu-color-text-1);
}

.视频版页头 {
  min-height: 96px;
  padding: 20px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-raised);
}

.视频版页头 small,
.视频版面板 header small {
  color: var(--feishu-color-text-3);
  font-size: 11px;
}

.视频版页头 h1 {
  margin: 5px 0 4px;
  color: var(--feishu-color-text-1);
  font-size: 22px;
  font-weight: 680;
  letter-spacing: -.02em;
}

.视频版页头 p {
  max-width: 720px;
  margin: 0;
  color: var(--feishu-color-text-2);
  font-size: 12px;
  line-height: 1.65;
}

.视频版页头 > span,
.视频版面板 header > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-primary-light-default);
  color: var(--feishu-color-primary);
  font-size: 10px;
  font-weight: 650;
}

.视频版阶段 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-raised);
  overflow: hidden;
}

.视频版阶段 > button {
  min-height: 78px;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  gap: 3px 9px;
  border: 0;
  border-right: 1px solid var(--feishu-color-border);
  border-radius: 0;
  background: transparent;
  color: var(--feishu-color-text-2);
  text-align: left;
  opacity: 1;
}

.视频版阶段 > button:last-child { border-right: 0; }
.视频版阶段 > button small { grid-row: 1 / 3; color: var(--feishu-color-text-3); font-size: 10px; }
.视频版阶段 > button strong { color: var(--feishu-color-text-1); font-size: 13px; font-weight: 650; }
.视频版阶段 > button span { overflow: hidden; font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }



.视频版工作区 {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(360px, 1.35fr) minmax(250px, .82fr);
  gap: 14px;
}

.视频版面板 {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--workbench-surface-raised);
}

.视频版面板 > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.视频版面板 h2 { margin: 4px 0 0; font-size: 15px; font-weight: 670; }
.视频版素材 dl { margin: 20px 0 0; display: grid; gap: 14px; }
.视频版素材 dl > div { display: grid; gap: 6px; }
.视频版素材 dt { color: var(--feishu-color-text-2); font-size: 11px; font-weight: 620; }
.视频版素材 dd { min-height: 40px; margin: 0; padding: 11px 12px; border: 1px solid var(--feishu-color-border); border-radius: var(--feishu-border-radius-medium); background: var(--feishu-color-fill-0); color: var(--feishu-color-text-3); font-size: 11px; }

.视频预览画布 {
  width: min(285px, 100%);
  aspect-ratio: 9 / 16;
  margin: 18px auto 0;
  padding: 12px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border: 1px solid var(--feishu-color-border);
  border-radius: var(--feishu-border-radius-medium);
  background: var(--feishu-color-fill-0);
}

.视频预览画布 > span { justify-self: end; color: var(--feishu-color-text-3); font-size: 9px; font-variant-numeric: tabular-nums; }
.视频预览画布 > div { display: grid; place-content: center; justify-items: center; gap: 9px; text-align: center; }
.视频预览画布 > div i { width: 42px; height: 42px; border: 1px solid var(--feishu-color-border); border-radius: 50%; background: var(--workbench-surface-raised); }
.视频预览画布 > div strong { font-size: 13px; }
.视频预览画布 > div small { max-width: 180px; color: var(--feishu-color-text-3); font-size: 10px; line-height: 1.5; }
.视频预览画布 ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; list-style: none; }
.视频预览画布 li { padding: 7px 4px; border: 1px solid var(--feishu-color-border); border-radius: var(--feishu-border-radius-small); background: var(--workbench-surface-raised); color: var(--feishu-color-text-3); font-size: 9px; text-align: center; }
.视频预览画布 li.已选中 { border-color: var(--feishu-color-primary); color: var(--feishu-color-primary); }

.视频版检查 { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; }
.视频版检查 ol { margin: 20px 0; padding: 0; display: grid; align-content: start; gap: 16px; list-style: none; }
.视频版检查 li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; }
.视频版检查 li > i { width: 18px; height: 18px; border: 1px solid var(--feishu-color-border); border-radius: 50%; background: var(--feishu-color-fill-0); }
.视频版检查 li > span { display: grid; gap: 3px; }
.视频版检查 li strong { font-size: 11px; }
.视频版检查 li small { color: var(--feishu-color-text-3); font-size: 10px; line-height: 1.45; }
.视频版检查 > button { min-height: 40px; border: 0; border-radius: var(--feishu-border-radius-medium); background: var(--feishu-color-fill-1); color: var(--feishu-color-text-3); font-size: 11px; font-weight: 650; opacity: 1; }
.视频版检查 > p { margin: 8px 0 0; color: var(--feishu-color-text-3); font-size: 9px; line-height: 1.5; text-align: center; }

@media (max-width: 1100px) {
  .视频版工作区 { grid-template-columns: minmax(220px, .8fr) minmax(350px, 1.2fr); }
  .视频版检查 { grid-column: 1 / -1; min-height: 250px; }
}

@media (max-width: 760px) {
  
  
  
  
  body[data-content-edition="video"] .环节画布 { padding: calc(var(--site-navigation-height, 52px) + 10px) 12px 20px; }
  .视频版页头 { min-height: 0; padding: 16px; align-items: flex-start; }
  .视频版页头 h1 { font-size: 18px; }
  .视频版页头 > span { display: none; }
  .视频版阶段 { grid-template-columns: repeat(4, minmax(116px, 1fr)); overflow-x: auto; }
  .视频版阶段 > button { min-height: 70px; padding: 11px; }
  .视频版工作区 { min-height: 0; grid-template-columns: 1fr; }
  .视频版检查 { grid-column: auto; }
}

/* 全站联系客服：共享右侧入口与企微二维码弹窗 */
.全局客服 {
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 880;
  display: grid;
  justify-items: stretch;
  gap: 10px;
}

.全局客服按钮,
.全局客服联系页,
.全局客服关闭,
.全局客服完整信息 {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}

.全局客服按钮 {
  width: auto;
  min-width: 140px;
  min-height: 48px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--feishu-color-primary, #3370ff);
  border-radius: 999px;
  background: var(--feishu-color-primary, #3370ff);
  color: #fff;
  box-shadow: 0 6px 18px rgb(31 35 41 / 14%);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  writing-mode: horizontal-tb;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.全局客服按钮:hover,
.全局客服按钮:focus-visible {
  border-color: var(--feishu-color-primary-hover, #4e83fd);
  background: var(--feishu-color-primary-hover, #4e83fd);
  color: #fff;
  outline: none;
}

.全局客服联系页:hover,
.全局客服联系页:focus-visible,
.全局客服关闭:hover,
.全局客服关闭:focus-visible {
  border-color: var(--feishu-color-primary, #3370ff);
  color: var(--feishu-color-primary, #3370ff);
  outline: none;
}

.全局客服按钮:focus-visible,
.全局客服联系页:focus-visible,
.全局客服关闭:focus-visible,
.全局客服完整信息:focus-visible {
  box-shadow: 0 0 0 3px var(--feishu-color-focus-shadow, rgb(51 112 255 / 18%));
}

.全局客服 svg,
.全局客服弹窗 svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.全局客服飞书图标 {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.全局客服飞书图标--customer-support {
  -webkit-mask-image: url("/assets/icons/semi-customer-support-stroked.svg");
  mask-image: url("/assets/icons/semi-customer-support-stroked.svg");
}

.全局客服飞书图标--qr-code {
  -webkit-mask-image: url("/assets/icons/semi-qr-code.svg");
  mask-image: url("/assets/icons/semi-qr-code.svg");
}

.全局客服联系页 {
  width: auto;
  min-width: 140px;
  min-height: 48px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--feishu-color-border, #dee0e3);
  border-radius: 999px;
  background: var(--feishu-color-bg-0, #fff);
  color: var(--feishu-color-text-2, #646a73);
  box-shadow: 0 6px 18px rgb(31 35 41 / 10%);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.全局客服联系页:hover,
.全局客服联系页:focus-visible {
  background: var(--feishu-color-primary-light-default, #e8f0ff);
}

.全局客服弹窗 {
  width: min(360px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 1px solid var(--feishu-color-border, #dee0e3);
  border-radius: var(--feishu-border-radius-medium, 8px);
  background: var(--feishu-color-bg-0, #fff);
  color: var(--feishu-color-text-1, #1f2329);
  box-shadow: 0 12px 36px rgb(31 35 41 / 18%);
}

.全局客服弹窗::backdrop {
  background: rgb(15 23 42 / 48%);
}

.全局客服弹窗内容 {
  position: relative;
  padding: 28px;
  display: grid;
  justify-items: center;
}

.全局客服弹窗 header { text-align: center; }
.全局客服弹窗 h2 { margin: 0; font-size: 20px; line-height: 1.4; }
.全局客服弹窗 header p { margin: 8px 0 0; color: var(--feishu-color-text-2, #646a73); font-size: 13px; line-height: 1.6; }

.全局客服关闭 {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: var(--feishu-border-radius-medium, 8px);
  background: transparent;
  color: var(--feishu-color-text-3, #8f959e);
  cursor: pointer;
}

.全局客服二维码 {
  width: 198px;
  height: 198px;
  margin-top: 22px;
  padding: 8px;
  display: grid;
  place-items: center;
  border: 1px solid var(--feishu-color-border, #dee0e3);
  border-radius: var(--feishu-border-radius-medium, 8px);
  background: #fff;
}

.全局客服二维码 img { display: block; width: 100%; height: 100%; object-fit: contain; }
.全局客服扫码提示 { margin: 12px 0 0; color: var(--feishu-color-text-3, #8f959e); font-size: 12px; }

.全局客服微信号 {
  width: 100%;
  margin-top: 18px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: var(--feishu-border-radius-medium, 8px);
  background: var(--feishu-color-fill-0, #f5f6f7);
}

.全局客服微信号 span { color: var(--feishu-color-text-2, #646a73); font-size: 12px; }
.全局客服微信号 strong { color: var(--feishu-color-primary, #3370ff); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; }
.全局客服完整信息 { margin-top: 16px; color: var(--feishu-color-primary, #3370ff); font-size: 13px; text-decoration: none; }
.全局客服完整信息:hover { text-decoration: underline; }

@media (max-width: 760px) {
  .全局客服 {
    top: auto;
    right: 12px;
    bottom: max(84px, calc(env(safe-area-inset-bottom) + 72px));
  }

  .全局客服按钮 {
    width: auto;
    min-width: 128px;
    min-height: 44px;
    padding: 0 14px;
  }

  .全局客服联系页 { display: none; }
  .全局客服弹窗内容 { padding: 26px 22px 22px; }
  .全局客服二维码 { width: 184px; height: 184px; }
}
@media (prefers-reduced-motion: reduce) {
  .全局客服按钮,
  .全局客服联系页 { transition: none; }
}
@media print {
  .全局客服,
  .全局客服弹窗 { display: none !important; }
}

/* 全平台弹层遮罩：浅色与深色各一套，同一模式保持一致。 */
body :is(
  .workbench-layer-scrim,
  .详情遮罩,
  .自由配版遮罩,
  .模板库遮罩,
  .IM模板遮罩,
  .IM内容数据库编辑遮罩,
  .日志遮罩,
  .飞书全局弹层遮罩,
  .销售案例入库遮罩,
  .课程同行内容库遮罩,
  .API模型弹窗遮罩,
  .知识库详情抽屉遮罩,
  .内容架构详情遮罩,
  .cg-scrim
) {
  background: var(--feishu-color-overlay-bg) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: none !important;
}

body :is(
  .workbench-layer-scrim,
  .详情遮罩,
  .自由配版遮罩,
  .模板库遮罩,
  .IM模板遮罩,
  .IM内容数据库编辑遮罩,
  .日志遮罩,
  .飞书全局弹层遮罩,
  .销售案例入库遮罩,
  .课程同行内容库遮罩,
  .API模型弹窗遮罩,
  .知识库详情抽屉遮罩,
  .内容架构详情遮罩,
  .cg-scrim
):is(:hover, :active, :focus-visible) {
  background: var(--feishu-color-overlay-bg) !important;
}

body dialog::backdrop {
  background: var(--feishu-color-overlay-bg) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* material-detail-modal-v1：素材详情脱离列表网格，以居中弹层承载预览、转换与编辑。 */
body:has(.素材采集库详情遮罩) {
  overflow: hidden;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情遮罩 {
  z-index: 325;
  padding: 24px;
  overflow: hidden;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 {
  width: min(960px, calc(100vw - 48px));
  max-height: min(860px, calc(100dvh - 48px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层页头 {
  min-width: 0;
  padding: 14px 20px;
  flex: 0 0 auto;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层页头 > div {
  min-width: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层页头 p {
  margin-top: 2px;
  overflow: hidden;
  color: var(--workbench-text-muted);
  font-size: 11px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层内容 {
  min-height: 0;
  padding: 0;
  display: block;
  overflow: auto;
  overscroll-behavior: contain;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库预览 {
  position: static;
  top: auto;
  align-self: stretch;
  max-height: none;
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库预览 .模板库预览滚动体 {
  padding: 20px 24px;
  overflow: visible;
  scrollbar-gutter: auto;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库详情内容 {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 16px 24px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 :is(.素材采集库详情标题, .素材架构转换标题) {
  padding: 0;
  border: 0;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库主图导航 > figure {
  width: min(100%, 280px);
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库笔记内容 > h3 {
  font-size: 16px;
  line-height: 24px;
  -webkit-line-clamp: 3;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库预览 .素材采集库正文 p {
  max-height: 240px;
  font-size: 12px;
  line-height: 20px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库底部栏 {
  padding: 12px 0 0;
  display: grid;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库模板转换 {
  padding: 16px 24px;
}

body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库编辑区 {
  margin: 0;
  padding: 14px 24px 18px;
}

@media (max-width: 760px) {
  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情遮罩 {
    padding: 8px;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 {
    width: 100%;
    max-height: calc(100dvh - 16px);
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层页头 {
    padding: 12px 14px;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库预览 .模板库预览滚动体 {
    padding: 14px;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库详情内容 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "heading"
      "media"
      "copy"
      "meta";
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材采集库主图导航 > figure {
    width: min(100%, 320px);
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材架构转换卡 {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 .素材架构转换卡 > small {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  body[data-workbench="xhs"][data-current-page="material"] .素材采集库详情弹层 :is(.素材采集库模板转换, .素材采集库编辑区) {
    padding-inline: 14px;
  }
}

/* 2026-08-31 存储与飞书页压缩高度：内容按真实列表自然撑开，不保留整屏空白。 */
body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板{min-height:0}
body[data-current-page="modelgateway"] .飞书配置内容{gap:14px}
body[data-current-page="modelgateway"] .飞书配置内容头{min-height:48px}
body[data-current-page="modelgateway"] .飞书配置表格行{min-height:64px}
body[data-current-page="modelgateway"] .企业飞书交付配置 .飞书业务表行{min-height:72px;align-items:center;padding-block:10px}
body[data-current-page="modelgateway"] .企业飞书交付配置 .飞书字段总规则{min-height:72px}
body[data-current-page="modelgateway"] .飞书配置空状态{min-height:240px}
/* 2026-08-31 环节资源配置语义表面：兼容线上旧资源卡与本地紧凑清单。 */
body[data-current-page="modelgateway"] :is(.技能资源项,.技能资源清单表头,.网站数据库总览>header,.企业飞书交付配置>header){border-color:var(--workbench-border-subtle);background:var(--workbench-surface-muted);color:var(--workbench-text-primary)}
body[data-current-page="modelgateway"] :is(.技能飞书交付表单,.网站数据库总览,.技能资源清单){border-color:var(--workbench-border-subtle);background:var(--workbench-surface-panel);color:var(--workbench-text-primary)}
body[data-current-page="modelgateway"] .插件下载指引{border-color:var(--workbench-border-subtle);background:var(--workbench-surface-raised);color:var(--workbench-text-primary)}
body[data-current-page="modelgateway"] .企业飞书交付配置>p{border-color:var(--workbench-border-strong);background:var(--workbench-surface-selected);color:var(--workbench-text-primary)}
body[data-current-page="modelgateway"] :is(.技能资源横向分类 button,.技能资源项>em,.技能资源项>div>p,.插件下载指引>div>span,.插件下载指引 ol,.企业飞书交付配置>header span,.企业飞书交付配置>p){color:var(--workbench-text-secondary)}
body[data-current-page="modelgateway"] :is(.技能资源项>div>small,.技能资源分类>header>span){color:var(--workbench-text-muted)}
body[data-current-page="modelgateway"] :is(.技能资源项>div>strong,.插件下载指引>div>strong,.企业飞书交付配置>header strong){color:var(--workbench-text-primary)}

body[data-current-page="modelgateway"] .技能适用范围{background:var(--workbench-status-accent-bg);color:var(--workbench-status-accent-text)}
body[data-current-page="modelgateway"] .技能资源项>em.已配置,body[data-current-page="modelgateway"] .企业飞书交付配置>header em.已配置{color:var(--workbench-status-success-text)}
body[data-current-page="modelgateway"] .技能资源项>em.待配置,body[data-current-page="modelgateway"] .企业飞书交付配置>header em.待配置{color:var(--workbench-status-warning-text)}
body[data-current-page="modelgateway"] .技能资源项>em.按需安装{color:var(--workbench-status-accent-text)}
body[data-current-page="modelgateway"] .技能资源列表:has(+.插件下载指引) .技能资源项:last-child{border-bottom:0;border-radius:var(--workbench-action-radius) var(--workbench-action-radius) 0 0;background:var(--workbench-surface-raised)}
body[data-current-page="modelgateway"] .技能资源列表+.插件下载指引{margin-top:-12px;border-radius:0 0 var(--workbench-action-radius) var(--workbench-action-radius)}
/* 2026-09-01 存储与飞书及各工作台子页复用接入模型的页头、说明条与表格节奏。 */
body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板{padding:22px 24px 24px;box-shadow:none}
body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .技能资源配置>.API添加模型页头>div{display:block}
body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .API资源类型内容>.技能资源分类{margin-top:14px;gap:0}
body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .API资源类型内容 .技能资源清单表头{min-height:42px}
@media(max-width:760px){body:is([data-workbench="xhs"], [data-workbench="wechat"])[data-current-page="modelgateway"] .飞书配置面板{padding:16px}}
/* 飞书 OAuth 三表逐项确认与明细列表字段合同。 */.飞书全局弹层.飞书三表确认弹窗{width:min(620px,calc(100vw - 32px))}.飞书逐项确认{min-width:0;margin:0;padding:14px;display:grid;gap:10px;border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-large);background:var(--feishu-color-bg-1)}.飞书逐项确认 legend{padding:0 6px;color:var(--feishu-color-text-0);font-size:13px;font-weight:600}.飞书全局弹层内容 .飞书逐项确认 label{min-width:0;padding:10px 12px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-0);cursor:pointer}.飞书全局弹层内容 .飞书逐项确认 input[type="checkbox"]{width:16px;height:16px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--feishu-color-primary)}.飞书逐项确认 label span{min-width:0;display:grid;gap:2px}.飞书逐项确认 label strong{color:var(--feishu-color-text-0);font-size:13px}.飞书逐项确认 label small,.飞书逐项确认>p{color:var(--feishu-color-text-2);font-size:12px;overflow-wrap:anywhere}body .飞书全局弹层 footer .飞书弹层确认按钮:disabled{border-color:var(--feishu-color-control-border)!important;background:var(--feishu-color-fill-2)!important;color:var(--feishu-color-text-3)!important;cursor:not-allowed}body[data-current-page="modelgateway"] .飞书业务表行{min-height:108px;align-items:start;padding-block:16px}body[data-current-page="modelgateway"] .飞书字段明细{min-width:0;margin-top:2px}body[data-current-page="modelgateway"] .飞书字段明细 summary{width:max-content;max-width:100%;color:var(--feishu-color-primary);cursor:pointer;font-size:11px;font-weight:600}body[data-current-page="modelgateway"] .飞书字段明细>div{margin-top:8px;display:grid;gap:5px}body[data-current-page="modelgateway"] .飞书字段明细>div>span{min-width:0;padding:5px 7px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:4px;background:var(--workbench-surface-raised);color:var(--workbench-text-primary);font-size:11px;white-space:normal}body[data-current-page="modelgateway"] .飞书字段明细 b{overflow-wrap:anywhere}body[data-current-page="modelgateway"] .飞书字段明细 em{flex:0 0 auto;color:var(--workbench-text-muted);font-style:normal}body[data-current-page="modelgateway"] .飞书字段明细 p{margin:8px 0 0;color:var(--workbench-text-muted);font-size:11px;line-height:1.5}body[data-current-page="modelgateway"] .飞书字段总规则{min-height:88px;background:var(--feishu-color-primary-light-default)}body[data-current-page="modelgateway"] .飞书字段总规则 span,body[data-current-page="modelgateway"] .飞书字段总规则 small{white-space:normal}body[data-current-page="modelgateway"] .飞书规则只读{color:var(--workbench-text-secondary);font-size:12px}

/* Passive read containers stay out of layout until they have content. */
#qr-loading:empty, #order-state:empty, #shortcut-summary-state:empty,
#registration-gift-readback:empty, #miniapp-recharge-consultation-readback:empty,
.empty-note:empty {display:none!important}

/* Shared controls retain their geometry inside legacy business drawers. */
body .IM飞书选择器 .IM飞书选择器按钮 {
  height:36px; min-height:36px; padding:0 32px 0 12px;
  border-radius:var(--feishu-border-radius-small); font:400 var(--feishu-font-size-control-default)/var(--feishu-line-height-control-default) var(--feishu-font-family);
}
body .feishu-tooltip {position:relative;cursor:help}
body .feishu-tooltip::after {
  content:attr(data-tip);position:absolute;bottom:calc(100% + var(--feishu-space-2));right:0;
  width:240px;max-width:calc(100vw - 48px);padding:var(--feishu-space-2) var(--feishu-space-3);
  border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-small);
  background:var(--feishu-color-bg-0);color:var(--feishu-color-text-0);box-shadow:var(--feishu-shadow-elevated);
  font:400 12px/1.6 var(--feishu-font-family);white-space:normal;visibility:hidden;pointer-events:none;z-index:10;
}
body .feishu-tooltip:is(:hover,:focus-visible)::after {visibility:visible}
@media(max-width:620px){body .feishu-tooltip::after{left:0;right:auto}}

/* Shared Universe components for asset management pages. */
.飞书目录树{display:flex;flex-direction:column;min-width:0;padding:2px 12px 12px;border-right:1px solid var(--feishu-color-border);background:var(--feishu-color-bg-0);overflow:auto}
.飞书目录树>.飞书目录搜索{width:100%;height:32px;box-sizing:border-box;padding:0 12px;margin:0 0 12px;border:0;background:var(--feishu-color-bg-2);font-size:var(--feishu-font-size-control-default)}
.飞书目录树 button{border:0;background:transparent;color:var(--feishu-color-text-0);font-size:var(--feishu-font-size-control-default);text-align:left;cursor:pointer}
.飞书目录根节点,.飞书目录子项{display:flex;align-items:center;min-height:34px;padding:0 10px!important;border-radius:var(--feishu-border-radius-small)}
.飞书目录根节点{width:100%;font-weight:600}.飞书目录根节点.当前,.飞书目录节点.当前{background:var(--feishu-color-primary-light-default)!important;color:var(--feishu-color-text-0)!important;font-weight:600}
.飞书目录树分支{display:grid;gap:2px}.飞书目录树父项{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:2px;min-height:34px;padding:0 6px 0 22px}.飞书目录展开按钮{width:16px;padding:0}.飞书目录树父项>.飞书目录节点{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 4px;border-radius:var(--feishu-border-radius-small)}.飞书目录树 :is(small,.飞书目录底部){color:var(--feishu-color-text-2);font-size:11px}
.飞书目录子项{margin-left:36px;gap:8px;justify-content:space-between}.飞书目录子项 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.飞书目录底部{margin:auto 0 0;padding:16px 12px 3px;border-top:1px solid var(--feishu-color-border)}
.飞书素材工具栏{display:flex;align-items:center;gap:6px;min-height:60px;min-width:0;padding:0 2px}.飞书素材工具栏>button,.飞书更多操作>button{flex:none;min-height:32px;padding:0 8px!important;white-space:nowrap}.飞书工具栏弹性区{flex:1;min-width:8px}
.飞书更多操作{position:relative;flex:none}.飞书操作菜单{position:absolute;z-index:4;top:38px;left:0;min-width:176px;padding:5px;border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-0);box-shadow:var(--feishu-shadow-elevated)}.飞书操作菜单[hidden]{display:none}.飞书操作菜单 button{display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--feishu-border-radius-small);background:transparent;color:var(--feishu-color-text-0);font-size:var(--feishu-font-size-control-default);text-align:left;cursor:pointer}.飞书操作菜单 button:hover{background:var(--feishu-color-fill-0)}.飞书操作菜单 button:disabled{color:var(--feishu-color-disabled-text);cursor:not-allowed}
.飞书素材工具栏>.IM原生选择器{display:none!important}.飞书素材工具栏>.IM飞书选择器{flex:0 0 138px;min-width:0}.飞书素材工具栏 .IM飞书选择器按钮{height:32px;min-height:32px;border:0!important;background:var(--feishu-color-bg-2)!important;font-size:var(--feishu-font-size-control-default);font-weight:400}
.飞书工具栏搜索{display:flex;align-items:center;flex:0 1 164px;min-width:125px;height:32px;border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-2)}.飞书工具栏搜索>.飞书搜索框{min-width:0;flex:1;height:32px;padding:0 7px;border:0;background:transparent}.飞书工具栏搜索>button{flex:none;padding:0 7px;border:0;background:transparent;color:var(--feishu-color-primary);font-size:var(--feishu-font-size-control-default);cursor:pointer}
body .飞书图标按钮{width:32px;min-width:32px;min-height:32px;padding:0!important;border:0;border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-2);color:var(--feishu-color-text-1);font-size:18px;cursor:pointer}.飞书图标按钮[aria-pressed=true]{color:var(--feishu-color-primary)}
.飞书数据表{min-width:700px}.飞书数据行{display:grid;grid-template-columns:26px 60px minmax(130px,1fr) 54px 64px 112px 58px 76px;align-items:center;gap:4px;width:100%;min-height:82px;box-sizing:border-box;padding:6px 8px;border:0;border-bottom:1px solid var(--feishu-color-border);background:var(--feishu-color-bg-0);color:var(--feishu-color-text-0);font-size:var(--feishu-font-size-control-default);text-align:left}.飞书数据行:hover{background:var(--feishu-color-fill-0)}.飞书数据表头{position:sticky;top:0;z-index:1;min-height:46px;border-bottom:0;border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-2);color:var(--feishu-color-text-1)}.飞书数据表头:hover{background:var(--feishu-color-bg-2)}.飞书数据单元{min-width:0}.飞书数据单元>strong{font-weight:500}.飞书数据行:has([data-folder]){cursor:pointer}
.飞书空状态{margin:0;padding:72px 16px;color:var(--feishu-color-text-2);font-size:var(--feishu-font-size-control-default);text-align:center}.飞书状态提示{margin:0;padding:0 2px;color:var(--feishu-color-text-1);font-size:12px}.飞书状态提示:empty{display:none}
.飞书分页{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 4px;border-top:1px solid var(--feishu-color-border);color:var(--feishu-color-text-2);font-size:12px}.飞书分页[hidden]{display:none}.飞书分页 button{padding:2px 6px;border:0;background:transparent;color:var(--feishu-color-primary);cursor:pointer}.飞书分页 button:disabled{color:var(--feishu-color-disabled-text);cursor:not-allowed}
.飞书素材网格{display:grid;grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:12px;padding:8px}.飞书素材卡片{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:186px;padding:10px;border:1px solid var(--feishu-color-border);border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-0);text-align:left}.飞书素材卡片>.飞书复选框{position:absolute;top:14px;left:14px;z-index:1}.飞书素材卡片预览{height:124px;border:0;background:var(--feishu-color-bg-2);cursor:pointer}.飞书素材卡片 img{max-width:100%;max-height:117px;object-fit:contain}.飞书素材卡片 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--feishu-font-size-control-default)}.飞书素材卡片 small{color:var(--feishu-color-text-2);font-size:12px}.飞书素材卡片>.飞书文字按钮{align-self:flex-start}.飞书文件夹卡片{cursor:pointer}.飞书文件夹卡片>span{display:grid;place-items:center;height:122px}
.飞书表单弹层{width:min(380px,90vw);border:0;border-radius:var(--feishu-border-radius-medium);padding:20px;background:var(--feishu-color-bg-0);box-shadow:var(--feishu-shadow-elevated)}.飞书表单弹层 form{display:grid;gap:14px}.飞书表单弹层 h3{margin:0;color:var(--feishu-color-text-0);font-size:16px}.飞书表单弹层 label{display:grid;gap:6px;font-size:var(--feishu-font-size-control-default)}.飞书表单弹层 input{height:32px;padding:0 8px}.飞书表单弹层 .IM原生选择器{display:none!important}.飞书表单弹层 .IM飞书选择器按钮{font-size:var(--feishu-font-size-control-default)}.飞书表单弹层 [role=status]{min-height:16px;margin:0;color:var(--feishu-color-danger);font-size:12px}.飞书表单弹层 footer{display:flex;justify-content:flex-end;gap:8px}
.飞书图片预览弹层{max-width:min(90vw,900px);max-height:90vh;padding:18px;border:0;border-radius:var(--feishu-border-radius-medium);background:var(--feishu-color-bg-0)}.飞书图片预览弹层 img{display:block;max-width:100%;max-height:75vh;object-fit:contain}.飞书图片预览弹层 button{float:right}

/* Team workflows are already classified by the console sidebar; do not repeat a platform/team sub-sidebar. */
.技能中心页面{grid-template-columns:minmax(0,1fr)}
.技能中心当前工作流{min-width:0;overflow:hidden;color:var(--workbench-text-primary);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.技能中心内容区{background:var(--workbench-surface-panel)}

/* Shared Feishu checkbox: the input retains state and accessibility, the span is the visible control. */
.飞书复选框{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;cursor:pointer}
.飞书复选框>input[type="checkbox"]{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0!important;clip-path:inset(50%)!important;pointer-events:none!important}
.飞书复选框>span{display:block;width:16px;height:16px;box-sizing:border-box;border:1px solid var(--feishu-color-control-border);border-radius:var(--feishu-border-radius-extra-small);background:var(--feishu-color-bg-0)}
.飞书复选框:has(input:checked)>span{border-color:var(--feishu-color-primary);background:var(--feishu-color-primary)}
.飞书复选框:has(input:checked)>span::after{content:"";display:block;width:5px;height:9px;margin:1px 0 0 4px;border-right:2px solid var(--feishu-color-bg-0);border-bottom:2px solid var(--feishu-color-bg-0);transform:rotate(45deg)}
.飞书复选框:has(input:focus-visible)>span{box-shadow:var(--workbench-focus-ring)}
.飞书复选框:has(input:disabled){opacity:.45;cursor:not-allowed}
/* Shared controls for asset surfaces. Business pages own layout only. */
body .飞书基础按钮,body .飞书主按钮,body .飞书文字按钮{min-height:var(--feishu-height-control-default);border-radius:var(--feishu-border-radius-small);font:500 var(--feishu-font-size-control-default)/var(--feishu-line-height-control-default) var(--feishu-font-family);cursor:pointer}
body .飞书基础按钮{border:1px solid var(--feishu-color-control-border);background:var(--feishu-color-bg-0);color:var(--feishu-color-text-0)}
body .飞书基础按钮:hover:not(:disabled){border-color:var(--feishu-color-primary);background:var(--feishu-color-primary-light-default)}
body .飞书主按钮{border:1px solid var(--feishu-color-primary)!important;background:var(--feishu-color-primary)!important;color:var(--feishu-color-bg-0)!important}
body .飞书主按钮:hover:not(:disabled){border-color:var(--feishu-color-primary-hover)!important;background:var(--feishu-color-primary-hover)!important}
body .飞书文字按钮{border:0;background:transparent;color:var(--feishu-color-primary)}
body :is(.飞书基础按钮,.飞书主按钮,.飞书文字按钮):focus-visible{outline:0;box-shadow:var(--workbench-focus-ring)}
body :is(.飞书基础按钮,.飞书主按钮,.飞书文字按钮):disabled{border-color:var(--feishu-color-border);background:var(--feishu-color-disabled-bg);color:var(--feishu-color-disabled-text);cursor:not-allowed}
body .飞书搜索框{min-height:var(--feishu-height-control-default);border:1px solid var(--feishu-color-control-border);border-radius:var(--feishu-border-radius-small);background:var(--feishu-color-bg-0);color:var(--feishu-color-text-0);font:var(--feishu-font-size-control-default)/var(--feishu-line-height-control-default) var(--feishu-font-family)}
body .飞书搜索框:hover:not(:disabled){border-color:var(--feishu-color-text-2)}
body .飞书搜索框:focus-visible{outline:0;border-color:var(--feishu-color-primary);box-shadow:var(--workbench-focus-ring)}
body .飞书搜索框:disabled{background:var(--feishu-color-disabled-bg);color:var(--feishu-color-disabled-text)}
