openyida 2026.9.19 → 2026.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +4 -4
  2. package/lib/app/application-style.js +69 -0
  3. package/lib/app/create-form/args.js +37 -12
  4. package/lib/app/create-form/batch.js +32 -5
  5. package/lib/app/create-form.js +94 -57
  6. package/lib/app/form-field-validator.js +0 -36
  7. package/lib/app/services/form-compiler.js +0 -2
  8. package/lib/app/theme-from-design.js +40 -14
  9. package/lib/app/update-app.js +63 -13
  10. package/lib/core/command-manifest.js +81 -25
  11. package/lib/core/locales/en.js +20 -3
  12. package/lib/core/locales/zh.js +20 -3
  13. package/lib/core/sample.js +36 -14
  14. package/lib/design/document.js +1 -0
  15. package/lib/design-plan/confirmation.js +13 -0
  16. package/lib/design-plan/design-plan.js +44 -2
  17. package/lib/design-plan/entry-navigation.js +10 -2
  18. package/lib/design-plan/init.js +16 -9
  19. package/lib/design-plan/materialize.js +85 -45
  20. package/lib/design-plan/normalize.js +13 -14
  21. package/lib/design-plan/parallel.js +62 -13
  22. package/lib/design-plan/patch.js +21 -7
  23. package/lib/design-plan/rebase.js +60 -0
  24. package/lib/design-plan/themes.js +16 -1
  25. package/lib/design-plan/validate.js +16 -1
  26. package/lib/design-plan/visual-policy.js +29 -4
  27. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +3 -3
  28. package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +6 -4
  29. package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
  30. package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +1 -2
  31. package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
  32. package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +5 -4
  33. package/package.json +1 -1
  34. package/yida-skills/SKILL.md +2 -2
  35. package/yida-skills/references/official-example-schema-patterns.md +1 -1
  36. package/yida-skills/references/yida-api.md +4 -0
  37. package/yida-skills/skills/yida-app/SKILL.md +15 -4
  38. package/yida-skills/skills/yida-app/references/entry-navigation.md +11 -9
  39. package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +1 -1
  40. package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -4
  41. package/yida-skills/skills/yida-app/workflow/step-2-design.md +3 -3
  42. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +2 -2
  43. package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +3 -3
  44. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +3 -2
  45. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +2 -2
  46. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +1 -1
  47. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +1 -1
  48. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +140 -1
  49. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +1 -1
  50. package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +1 -1
  51. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +7 -0
  52. package/yida-skills/skills/yida-create-form-page/SKILL.md +34 -43
  53. package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
  54. package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
  55. package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +2 -2
  56. package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +4 -16
  57. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +14 -37
  58. package/yida-skills/skills/yida-design/SKILL.md +7 -5
  59. package/yida-skills/skills/yida-design/references/application-style-library.md +93 -0
  60. package/yida-skills/skills/yida-design/references/application-theme-consistency.md +48 -7
  61. package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +1 -1
  62. package/yida-skills/skills/yida-design/references/native-form-styles.md +208 -0
  63. package/yida-skills/skills/yida-design/references/navigation-decision.md +6 -4
  64. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +110 -1
  65. package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +58 -0
  66. package/yida-skills/skills/yida-design/references/theme-selection.md +12 -11
  67. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +1 -1
  68. package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +49 -6
  69. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +13 -3
  70. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +6 -2
  71. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +5 -3
  72. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +3 -1
  73. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +22 -23
  74. package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +2 -0
  75. package/yida-skills/skills/yida-design/templates/application-styles.json +398 -0
  76. package/yida-skills/skills/yida-design/templates/design-themes/README.md +15 -10
  77. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +748 -0
  78. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +274 -0
  79. package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +15 -0
  80. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +748 -0
  81. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +274 -0
  82. package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +14 -0
  83. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +748 -0
  84. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +274 -0
  85. package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +13 -0
  86. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +748 -0
  87. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +274 -0
  88. package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +14 -0
  89. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +748 -0
  90. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +274 -0
  91. package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +14 -0
  92. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +748 -0
  93. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +274 -0
  94. package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +14 -0
  95. package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +748 -0
  96. package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +274 -0
  97. package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +13 -0
  98. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +748 -0
  99. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +274 -0
  100. package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +14 -0
  101. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +754 -0
  102. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +279 -0
  103. package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +13 -0
  104. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +748 -0
  105. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +274 -0
  106. package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +13 -0
  107. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +748 -0
  108. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +274 -0
  109. package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +14 -0
  110. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +748 -0
  111. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +274 -0
  112. package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +14 -0
  113. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +758 -0
  114. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +281 -0
  115. package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +14 -0
  116. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +748 -0
  117. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +274 -0
  118. package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +14 -0
  119. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +748 -0
  120. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +274 -0
  121. package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +14 -0
  122. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +754 -0
  123. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +279 -0
  124. package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +14 -0
  125. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +752 -0
  126. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +278 -0
  127. package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +13 -0
  128. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +748 -0
  129. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +274 -0
  130. package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +14 -0
  131. package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +2 -1
  132. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +690 -0
  133. package/yida-skills/skills/yida-design/templates/design-themes/{dark-inset-hairline.md → dark-inset-hairline/design.md} +107 -58
  134. package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +13 -0
  135. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +691 -0
  136. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-fine-lines.md → dark-rail-fine-lines/design.md} +106 -50
  137. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +13 -0
  138. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +696 -0
  139. package/yida-skills/skills/yida-design/templates/design-themes/{dark-rail-signal-panels.md → dark-rail-signal-panels/design.md} +66 -12
  140. package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +13 -0
  141. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +689 -0
  142. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +238 -0
  143. package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +13 -0
  144. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +692 -0
  145. package/yida-skills/skills/yida-design/templates/design-themes/{graphite-bevel-grid.md → graphite-bevel-grid/design.md} +64 -10
  146. package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +13 -0
  147. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +691 -0
  148. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-shared-bands.md → hairline-shared-bands/design.md} +66 -12
  149. package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +13 -0
  150. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +691 -0
  151. package/yida-skills/skills/yida-design/templates/design-themes/{hairline-soft-blocks.md → hairline-soft-blocks/design.md} +61 -9
  152. package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +13 -0
  153. package/yida-skills/skills/yida-design/templates/design-themes/index.json +399 -31
  154. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +701 -0
  155. package/yida-skills/skills/yida-design/templates/design-themes/{ink-glow-soft-panels.md → ink-glow-soft-panels/design.md} +62 -8
  156. package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +13 -0
  157. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +691 -0
  158. package/yida-skills/skills/yida-design/templates/design-themes/{inset-frame-pixel-rhythm.md → inset-frame-pixel-rhythm/design.md} +63 -9
  159. package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +13 -0
  160. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +698 -0
  161. package/yida-skills/skills/yida-design/templates/design-themes/{outlined-texture-duotone.md → outlined-texture-duotone/design.md} +66 -12
  162. package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +13 -0
  163. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +691 -0
  164. package/yida-skills/skills/yida-design/templates/design-themes/{soft-inset-surfaces.md → soft-inset-surfaces/design.md} +63 -11
  165. package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +13 -0
  166. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +690 -0
  167. package/yida-skills/skills/yida-design/templates/design-themes/{soft-outline-rhythm.md → soft-outline-rhythm/design.md} +64 -26
  168. package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +13 -0
  169. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +698 -0
  170. package/yida-skills/skills/yida-design/templates/design-themes/{soft-rail-bold-band.md → soft-rail-bold-band/design.md} +103 -49
  171. package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +13 -0
  172. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +692 -0
  173. package/yida-skills/skills/yida-design/templates/design-themes/{soft-spectral-panels.md → soft-spectral-panels/design.md} +67 -13
  174. package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +13 -0
  175. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +711 -0
  176. package/yida-skills/skills/yida-design/templates/design-themes/{warm-canvas-contrast-panels.md → warm-canvas-contrast-panels/design.md} +64 -10
  177. package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +13 -0
  178. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +692 -0
  179. package/yida-skills/skills/yida-design/templates/design-themes/{warm-rail-muted-panels.md → warm-rail-muted-panels/design.md} +102 -50
  180. package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +13 -0
  181. package/yida-skills/skills/yida-design/templates/navigation-styles.json +769 -0
  182. package/yida-skills/skills/yida-design/workflow/output-design.md +9 -6
  183. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +12 -4
  184. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +1 -1
  185. package/yida-skills/skills/yida-form-permission/SKILL.md +6 -0
  186. package/yida-skills/skills/yida-nav-shell/SKILL.md +1 -1
  187. package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +6 -0
  188. package/yida-skills/skills/yida-page-config/SKILL.md +9 -0
  189. package/yida-skills/skills/yida-prd/SKILL.md +1 -0
  190. package/yida-skills/skills/yida-prd/workflow/output-prd.md +2 -2
  191. package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +1 -1
  192. package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +45 -9
  193. package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +5 -5
  194. package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +17 -4
  195. package/yida-skills/skills-index.json +2 -2
@@ -0,0 +1,748 @@
1
+ @charset "UTF-8";
2
+
3
+ /*
4
+ * OpenYida 应用主题模板
5
+ *
6
+ * 生成后的 CSS 是应用级主题资源:平台组件和自定义页面消费这里的 token 与样式。
7
+ * 文件名可以是 app-theme.css 或 app_theme.css,以 --theme-file 的实际路径为准。
8
+ * 修改后需通过 update-app --theme-file 上传并绑定应用设置;本地文件存在不代表已生效。
9
+ * 布局、导航交互和 iframe 高度仍由页面/容器实现,iframe 不自动继承父文档变量。
10
+ *
11
+ * AI 使用说明:
12
+ * 1. 先在 design.md 确定主题色,再执行 openyida sample yida-design app-theme
13
+ * --design-file <design.md> --output <app-theme.css> 生成主题。
14
+ * 2. 修改 design.md 后重跑同一命令,CLI 增量更新 token 并保留其他定制。
15
+ * 省略 --design-file 会重置模板,不用于保留已有定制的更新。
16
+ * 3. 品牌值保留项目占位和派生说明;先完成 design.md,再生成实际主题 CSS。
17
+ * 4. 应用品牌色阶只使用平台实际生成的 --color-brand1-1、2、3、5、6、9、10;
18
+ * CLI 同时生成 --color-brand-1 至 --color-brand-4 和 --color-group,不要补造 4、7、8。
19
+ * 5. 若 design.md 选择其他主色,必须同步替换品牌色阶、基础色阶、图表色组,以及模板中按钮、
20
+ * 表单、选中态、导航、日期组件等品牌相关直接色值;成功、警告、错误、通知等语义色保持独立。
21
+ * 6. 页面、卡片、抽屉和控件通过变量引用继承项目圆角,不强制所有主题使用大圆角。
22
+ * 7. 保留变量名、顶层 :root 及导航明暗作用域;白色、灰色模式保留背景回退链。
23
+ * CLI 在生成前后和上传前检查 CSS 结构闭合,失败时修复源文件后重试。
24
+ */
25
+
26
+ :root {
27
+ /* surfaces */
28
+ --pod-app-root-bg-color: #f2eef1;
29
+ --pod-app-root-bg-image: none;
30
+ --pod-page-bg-color: #f2eef1;
31
+ --pod-card-bg-color: #fffdfd;
32
+ --pod-table-cell-color: var(--pod-card-bg-color);
33
+
34
+ /* colors */
35
+ --color-white: var(--pod-card-bg-color);
36
+
37
+ /* brand */
38
+ --color-brand1-1: <生成实际色值:--color-brand1-6 88% + #FFFFFF 12%,sRGB 逐通道混合>;
39
+ --color-brand1-2: <生成实际色值:--color-brand1-6 12% + #FFFFFF 88%,sRGB 逐通道混合>;
40
+ --color-brand1-3: <生成实际色值:--color-brand1-6 4% + #FFFFFF 96%,sRGB 逐通道混合>;
41
+ --color-brand1-5: <生成实际色值:--color-brand1-6 38% + #171717 62%,sRGB 逐通道混合>;
42
+ --color-brand1-6: {{PRIMARY_COLOR}};
43
+ --color-brand1-9: <生成实际色值:--color-brand1-6 76% + #000000 24%,sRGB 逐通道混合>;
44
+ --color-brand1-10: <生成实际色值:--color-brand1-6 26% + #202020 74%,sRGB 逐通道混合>;
45
+
46
+ /* line */
47
+ --color-line1-1: #d8cad5;
48
+ --color-line1-2: #d8cad5;
49
+
50
+ /* fill */
51
+ --color-fill1-1: #f2eef1;
52
+ --color-fill1-2: #f2eef1;
53
+ --color-fill1-3: #d8cad5;
54
+ --color-fill1-5: #fffdfd;
55
+ --color-fill1-10: #262626;
56
+
57
+ /* text */
58
+ --color-text1-5: #FFFFFF;
59
+ --color-text1-4: #685167;
60
+ --color-text1-10: #685167;
61
+ --color-text1-3: #685167;
62
+ --color-text1-2: #858781;
63
+ --color-text1-1: #d8cad5;
64
+
65
+ /* typography */
66
+ --font-family-base:
67
+ Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
68
+ --font-size-subhead: 18px;
69
+ --font-weight-subhead: 500;
70
+ --font-lineheight-subhead: 1.3;
71
+ --font-size-body-2: 16px;
72
+ --font-weight-body-2: 500;
73
+ --font-lineheight-body-2: 1.45;
74
+ --font-size-body-1: 14px;
75
+ --font-weight-body-1: 400;
76
+ --font-lineheight-body-1: 1.5;
77
+ --font-size-table: 13px;
78
+ --font-weight-table: 400;
79
+ --font-lineheight-table: 1.45;
80
+ --font-size-caption: 12px;
81
+ --font-weight-caption: 400;
82
+ --font-lineheight-caption: 1.4;
83
+
84
+ /* spacing */
85
+ --s-1: 4px;
86
+ --s-2: 8px;
87
+ --s-3: 12px;
88
+ --s-4: 16px;
89
+ --s-5: 20px;
90
+ --s-6: 24px;
91
+ --s-7: 28px;
92
+ --s-8: 32px;
93
+ --s-9: 36px;
94
+ --s-10: 40px;
95
+
96
+ /* rounded */
97
+ --corner-zero: 0px;
98
+ --corner-1: 10px;
99
+ --corner-2: 10px;
100
+ --corner-3: 10px;
101
+ --corner-4: 10px;
102
+ --corner-5: 10px;
103
+ --corner-circle: 50%;
104
+ --corner-semicircle: 500px;
105
+
106
+ /* shadow */
107
+ --shadow-1: 0px 2px 4px 0px rgba(0, 0, 0, 0.12);
108
+ --shadow-2: 0px 4px 20px -1px rgba(0, 0, 0, 0.16);
109
+ --shadow-3: 0px 10px 28px -2px rgba(0, 0, 0, 0.24);
110
+
111
+ /* 历史变量 */
112
+ --pod-xs-border-radius: var(--corner-1);
113
+ --pod-sm-border-radius: var(--corner-2);
114
+ --pod-md-border-radius: var(--corner-3);
115
+ --pod-lg-border-radius: var(--corner-4);
116
+ --pod-xl-border-radius: var(--corner-5);
117
+ --pod-xs-gap-pad-margin: 4px;
118
+ --pod-sm-gap-pad-margin: 8px;
119
+ --pod-md-gap-pad-margin: 12px;
120
+ --pod-lg-gap-pad-margin: 16px;
121
+ --pod-mxl-gap-pad-margin: 20px;
122
+ --pod-xxl-gap-pad-margin: 24px;
123
+ --pod-full-raduis: var(--corner-semicircle);
124
+
125
+ /* scrollbar */
126
+ --pod-scrollbar-radius: var(--corner-1);
127
+ --pod-scrollbar-width: 8px;
128
+
129
+ /* common */
130
+ --pod-element-card-gap: var(--pod-md-gap-pad-margin);
131
+ --pod-container-common-pad-margin: var(--pod-md-gap-pad-margin);
132
+ --pod-common-container-pad: var(--pod-mxl-gap-pad-margin);
133
+ --pod-common-container-margin: var(--pod-md-gap-pad-margin);
134
+ --pod-common-container-padding: var(--pod-mxl-gap-pad-margin);
135
+ --pod-common-bg-color: #f0f2f5;
136
+ --pod-common-level1-base-color: var(--color-text1-4, #202020);
137
+ --pod-common-level3-base-color: var(--color-text1-2, #adadad);
138
+ --pod-common-level2-base-color: var(--color-text1-3, #737373);
139
+ --pod-common-level4-base-color: var(--color-text1-1, #d6d6d6);
140
+ --pod-overlay-color: var(--color-fill1-1, #f1f2f3);
141
+ --pod-overlay-color-hover: var(--color-fill1-2, #f2f2f2);
142
+ --pod-overlay-color-active: var(--color-fill1-3, #eaeaea);
143
+ --pod-danger-color: var(--color-error-3, #f2510c);
144
+ --pod-scrollbar-thumb-color: rgba(0, 0, 0, 0.2);
145
+ --pod-background-mask-light-gradient: linear-gradient(
146
+ 142deg,
147
+ rgba(255, 255, 255, 0.37) 0%,
148
+ rgba(255, 255, 255, 0.43) 72%
149
+ );
150
+ --pod-sticky-footer-box-shadow:
151
+ none;
152
+
153
+ /* 宜搭相关,后面再做抽离,本次发布只影响私有化 */
154
+ --yida-sm-border-radius: var(--corner-2);
155
+ --yida-sm-gap-size: 6px;
156
+ --yida-s-gap-size: 8px;
157
+ --yida-sm-font-size: 12px;
158
+ --yida-sm-line-height: 18px;
159
+ --yida-md-line-height: 24px;
160
+ --yida-lg-line-height: 36px;
161
+ --yida-md-font-weight: 500;
162
+ --yida-data-manage-s-font-size: 13px;
163
+ --yida-danger-color: var(--color-error-3, #f2510c);
164
+ --pod-default-border-radius: 20px;
165
+ --pod-drawer-border-radius: var(--pod-xl-border-radius, 20px);
166
+ --pod-drawer-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.1);
167
+
168
+ /* 新主题下变量 */
169
+ /* shell 背景 padding 圆角 */
170
+ --pod-shell-bg-color-light: var(--color-brand1-2, var(--color-brand1-2));
171
+ --pod-shell-bg-color-white: #fff;
172
+ --pod-shell-bg-color-gray: var(--pod-common-bg-color, #f0f2f5);
173
+ --pod-shell-bg-color-dark: var(--color-brand1-5, var(--color-brand1-5));
174
+ --pod-shell-padding: 4px;
175
+ --pod-shell-lshape-border-radius: 10px;
176
+ /* 新版主题shell main 容器相关 暂时不需要这个变量,写死用户不可配置 */
177
+ --pod-shell-content-container-padding: 0px;
178
+ --pod-shell-content-container-margin: 0px;
179
+ --pod-shell-content-container-border: none;
180
+ --pod-shell-content-container-bg-color: transparent;
181
+ /* 新版主题shell sub main 容器相关 暂时不需要这个变量,写死用户不可配置 */
182
+ /* pod-page-surface-padding 还是需要以因为margin是auto的 */
183
+ --pod-page-surface-padding: 0px;
184
+ --pod-page-surface-margin: 0px;
185
+ --pod-page-surface-border: none;
186
+ --pod-page-surface-bg-color: transparent;
187
+ --pod-page-surface-border-radius: 12px;
188
+ --pod-page-surface-shadow: none;
189
+
190
+ /* 新版主题页面容器相关 */
191
+ --pod-page-border: 1px solid var(--color-line1-1, #efefef);
192
+ --pod-page-border-radius: 10px;
193
+ --pod-page-padding: 20px;
194
+ --pod-page-mobile-margin: 12px;
195
+ --pod-page-mobile-padding: 12px;
196
+ --pod-page-with-side-nav-margin: 0px;
197
+ --pod-page-auto-width-margin: 8px;
198
+ --pod-page-inner-group-spacing: 12px;
199
+ --pod-page-title-height: 24px;
200
+ --pod-page-title-font-size: 16px;
201
+ --pod-page-title-font-weight: 500;
202
+ --pod-page-data-manage-top-padding: 16px;
203
+ /* 管理页表单视图 / DATA_MANAGE:控制底栏外层,不由导航显隐决定。 */
204
+ --pod-formView-stickyFooter: 0 0 var(--pod-page-border-radius, 20px)
205
+ var(--pod-page-border-radius, 20px);
206
+ --pod-formView-stickyFooter-border: none;
207
+ --pod-formView-stickyFooter-border-top: 1px solid #d8cad5;
208
+ --pod-inDrawer-stickyFooter-border: none;
209
+ --pod-inDrawer-stickyFooter-border-top: 0.5px solid
210
+ var(--color-line1-1, #efefef);
211
+ --pod-formView-stickyFooter-bg-color: #f2eef1;
212
+ --pod-formView-stickyFooter-box-shadow: none;
213
+ --pod-formView-stickyFooter-height: 56px;
214
+ --pod-formView-stickyFooter-bottom: 8px;
215
+ --pod-page-header-bg-color: var(--pod-shell-theme-bg-color);
216
+
217
+ /* 原生表单:按项目设计调整控件形状、密度和填充,不通过全局 input 选择器覆盖状态。 */
218
+ --form-element-medium-corner: 10px;
219
+ --form-element-medium-height: 44px;
220
+ --form-element-medium-font-size: 14px;
221
+ --input-bg-color: #fffdfd;
222
+ --input-border-width: 1px;
223
+ --input-border-color: #d8cad5;
224
+ --input-hover-border-color: var(--color-brand1-6);
225
+ --input-focus-border-color: var(--color-brand1-6);
226
+ --input-focus-bg-color: #fffdfd;
227
+ /* DeepContainer 的 inline backgroundColor 通过此变量接入应用页面表面。 */
228
+ --yida-form-content-bgcolor: #fffdfd;
229
+ --pod-form-label-color: #685167;
230
+ --form-top-label-margin-b: 8px;
231
+
232
+ --pod-data-manager-title-padding: 12px 8px 0;
233
+ --pod-data-manager-container-padding: 16px 20px 20px;
234
+ --pod-detail-container-padding: 8px;
235
+ --pod-detail-container-margin: 0px;
236
+ --pod-detail-shell-padding: var(--pod-detail-container-padding, 8px);
237
+ --pod-field-preview-min-height: 32px;
238
+ --pod-field-preview-padding: 8px 12px;
239
+ --pod-field-preview-gap: 4px;
240
+ --pod-field-preview-bg-color: #fffdfd;
241
+ --pod-field-preview-border-radius: 10px;
242
+ --pod-field-preview-indicator-color: var(--color-fill1-3);
243
+ --pod-field-preview-shadow: none;
244
+ --pod-field-preview-text-color: #685167;
245
+ --pod-field-preview-line-height: 20px;
246
+
247
+ /* 新版主题页面容器内部相关 */
248
+ --pod-card-padding: 20px;
249
+ --pod-card-border-radius: var(--pod-xl-border-radius, 20px);
250
+ --pod-card-border: none;
251
+ --pod-card-spacing: var(--pod-md-gap-pad-margin);
252
+ /* 普通提交(含有导航页面)、iframe 抽屉提交及详情:控制内层按钮容器。
253
+ * 阴影使用 --pod-sticky-footer-box-shadow;与上面的 formView 外层分别设计。 */
254
+ --pod-page-footer-bg-color: #fffdfd;
255
+ --pod-page-footer-border-radius: 10px;
256
+ --pod-page-content-max-width: 1060px;
257
+ --pod-nav-page-bg-color: var(--color-white, #fff);
258
+ --pod-nav-page-white-bg-color: rgba(246, 247, 247, 1);
259
+ --pod-nav-page-padding: var(--pod-lg-gap-pad-margin, 16px);
260
+ --pod-nav-top-main-border-width: 1px;
261
+ --pod-nav-top-main-border-color: #BC9AB7;
262
+ --pod-nav-l-sub-main-bg-color: var(--pod-shell-theme-bg-color);
263
+ --pod-nav-l-header-gap: 28px;
264
+ --pod-nav-l-header-padding: 8px 16px;
265
+ --pod-nav-l-aside-padding: 8px;
266
+ --pod-nav-slide-aside-gap: 12px;
267
+ --pod-nav-slide-aside-padding: 8px 8px 8px
268
+ calc(8px - var(--pod-shell-padding, 4px));
269
+ --pod-nav-slide-aside-collapsed-padding: 8px 12px 8px
270
+ calc(12px - var(--pod-shell-padding, 4px));
271
+ --pod-nav-slide-collapsed-menu-gap: 4px;
272
+ --pod-nav-slide-branding-height: 40px;
273
+ --pod-nav-side-collapsed-width: 56px;
274
+ --pod-nav-side-collapsed-item-size: 32px;
275
+
276
+ /* 新版顶导与 L 型导航外框。 */
277
+ --pod-nav-custom-logo-max-width: 160px;
278
+ --pod-nav-top-header-padding: 2px 16px;
279
+ --pod-nav-top-header-gap: 40px;
280
+ --pod-nav-top-navigation-padding: 0 12px;
281
+ --pod-nav-top-tab-height: 44px;
282
+ --pod-nav-top-tab-item-max-width: 120px;
283
+ --pod-nav-top-tab-item-padding: 0 12px;
284
+ --pod-nav-top-tab-item-inner-padding: 12px 0;
285
+ --pod-nav-top-tab-indicator-width: 0px;
286
+
287
+ /* 新版导航平台 Header、内容行与操作区。 */
288
+ --pod-nav-platform-header-height: 48px;
289
+ --pod-nav-platform-row-height: 32px;
290
+ --pod-nav-platform-action-gap: 6px;
291
+ --pod-nav-platform-action-item-size: 28px;
292
+ --pod-nav-platform-action-icon-size: 18px;
293
+ --pod-nav-platform-action-radius: var(--corner-semicircle, 500px);
294
+ --pod-nav-avater-border-radius: 6px;
295
+ --pod-nav-platform-action-badge-size: 13px;
296
+ --pod-nav-platform-action-badge-font-size: 9px;
297
+ --pod-nav-platform-action-badge-radius: 7px;
298
+ --pod-nav-platform-action-badge-digit-width: 6px;
299
+ --pod-nav-action-border: 1px solid #BC9AB7;
300
+ --pod-nav-ai-wenban-border-color: #ffffff3d;
301
+ --pod-nav-ai-wenban-bg:
302
+ radial-gradient(64px 24px at 31% 0%, transparent, rgba(0, 0, 0, 0.6)),
303
+ linear-gradient(
304
+ 161deg,
305
+ var(--color-brand1-1, #4584B3) 5.22%,
306
+ var(--color-brand1-5, #1F3A4E) 50.54%,
307
+ var(--color-brand1-9, #215780) 89.61%
308
+ );
309
+ --pod-nav-ai-wenban-text-color: var(--color-text1-5, #fff);
310
+ --pod-nav-logo-gap: 8px;
311
+ --pod-nav-logo-padding: 4px 8px;
312
+ --pod-nav-logo-bg: var(--pod-nav-menu-bg-selected-color);
313
+ --pod-nav-logo-border: 1px solid #BC9AB7;
314
+ --pod-nav-logo-icon: var(--pod-nav-item-text-selected-color);
315
+ --pod-nav-logo-border-radius: 10px;
316
+ --pod-nav-logo-size: 32px;
317
+ --pod-nav-logo-img-size: calc(var(--pod-nav-logo-size, 32px) - 6px);
318
+
319
+ /* 新版导航搜索 & 菜单栏 & 导航项气泡 */
320
+ --pod-nav-search-height: var(--pod-nav-platform-row-height, 32px);
321
+ --pod-nav-search-border-color: #BC9AB7;
322
+ --pod-nav-search-menu-gap: 8px;
323
+ --pod-nav-menu-panel-search-padding-top: 8px;
324
+ --pod-nav-menu-panel-top: 12px;
325
+ --pod-nav-menu-panel-after-collapse-top: 40px;
326
+ --pod-nav-menu-item-height: 44px;
327
+ --pod-nav-menu-item-padding: 8px;
328
+ --pod-nav-menu-item-radius: 16px 4px 16px 4px;
329
+ --pod-nav-menu-item-border: 1px solid #BC9AB7;
330
+ --pod-nav-menu-item-hover-border: 1px solid #653A61;
331
+ --pod-nav-menu-item-selected-border: 1px solid #492746;
332
+ --pod-nav-menu-font-size: 14px;
333
+ --pod-nav-menu-item-selected-font-weight: 500;
334
+ --pod-nav-menu-item-selected-shadow: none;
335
+ --pod-nav-menu-line-height: 20px;
336
+ --pod-nav-menu-icon-size: 16px;
337
+ --pod-nav-menu-arrow-icon-size: 12px;
338
+ --pod-nav-menu-gap: 10px;
339
+ --pod-nav-menu-item-gap: 4px;
340
+ --pod-nav-popup-width: 220px;
341
+ --pod-nav-popup-max-height: 400px;
342
+ --pod-nav-popup-padding: 8px;
343
+ --pod-nav-popup-border-radius: 10px;
344
+ --pod-nav-popup-shadow: 0 8px 24px rgba(101,58,97,.10);
345
+
346
+ /* 侧导菜单滚动区底部渐隐遮罩高度,并预留等高底部空间。 */
347
+ --pod-nav-menu-fade-height: 32px;
348
+
349
+ /* 新版侧导二级菜单缩进与分割线。 */
350
+ --pod-nav-sub-divider-left: 16px;
351
+ --pod-nav-sub-indent: 24px;
352
+ --yida-help-tips-color: #878f95;
353
+
354
+ /* 新版主题数据管理变量 */
355
+ --table-cell-border: var(--color-line1-1, #efefef);
356
+ --table-border: var(--color-line1-2, #e5e5e5);
357
+ --table-header-bg: var(--color-fill1-1, #ffffff);
358
+ --table-cell-bg: var(--card-bg, #fff);
359
+ --page-bg: var(--pod-page-bg-color, #fff);
360
+ --card-bg: var(--pod-card-bg-color, #fff);
361
+ --popup-bg: var(--color-fill1-5, #fff);
362
+ --pod-shell-theme-bg-color: #EEE2EB;
363
+ --pod-nav-item-text-color: #653A61;
364
+ --pod-nav-item-text-hover-color: #492746;
365
+ --pod-nav-item-text-selected-color: #FFF9FD;
366
+ --pod-nav-menu-bg-hover-color: #DECBDD;
367
+ --pod-nav-menu-bg-selected-color: #653A61;
368
+ --pod-nav-logo-text: var(--pod-nav-item-text-hover-color);
369
+ --pod-nav-sub-divider-color: #BC9AB7;
370
+ --pod-nav-item-text-disabled-color: rgba(24,28,31,.30);
371
+ --pod-nav-l-container-bg: var(--pod-shell-theme-bg-color);
372
+ --pod-nav-l-group-label-color: var(--pod-nav-item-text-color);
373
+ --pod-nav-l-search-border-color: #BC9AB7;
374
+ --pod-nav-popup-bg-color: var(--pod-shell-theme-bg-color);
375
+ --pod-nav-tab-line-hover-color: var(--pod-nav-item-text-hover-color);
376
+ --pod-nav-tab-line-selected-color: var(--pod-nav-item-text-hover-color);
377
+ --pod-nav-search-bg-color: var(--pod-nav-menu-bg-hover-color);
378
+ --pod-nav-search-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
379
+ --pod-nav-search-bg-active-color: var(--pod-nav-menu-bg-hover-color);
380
+ --pod-nav-search-placeholder-color: var(--pod-nav-item-text-color);
381
+ --pod-nav-search-text-color: var(--pod-nav-item-text-hover-color);
382
+ --pod-nav-search-icon-color: var(--pod-nav-item-text-color);
383
+ --pod-nav-search-border-hover-color: var(--pod-nav-item-text-hover-color);
384
+ --pod-nav-search-border-active-color: var(--pod-nav-item-text-hover-color);
385
+ --pod-nav-action-icon-color: var(--pod-nav-item-text-color);
386
+ --pod-nav-action-border-color: #BC9AB7;
387
+ --pod-nav-action-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
388
+ --pod-nav-action-bg-active-color: var(--pod-nav-menu-bg-hover-color);
389
+ --input-hover-bg-color: #fffdfd;
390
+ --oyd-page-bg: var(--pod-page-bg-color);
391
+ --oyd-surface: var(--pod-card-bg-color);
392
+ --oyd-canvas-image: var(--pod-app-root-bg-image);
393
+ --oyd-ink: var(--color-text1-4);
394
+ --oyd-border: var(--color-line1-2);
395
+ --oyd-accent: var(--color-brand1-6);
396
+ --oyd-radius: 10px;
397
+ --oyd-content-width: 1060px;
398
+ --oyd-content-padding: 44px;
399
+ --oyd-field-gap: 32px;
400
+ --oyd-section-gap: 64px;
401
+ --oyd-heading-font: Georgia, 'Songti SC', serif;
402
+ --oyd-heading-size: 44px;
403
+ --oyd-rule-style: double;
404
+ --oyd-layout-columns: minmax(0, 7fr) minmax(0, 5fr);
405
+ --oyd-surface-shadow: none;
406
+ --color-brand-1: var(--color-brand1-10);
407
+ --color-brand-2: var(--color-brand1-1);
408
+ --color-brand-3: var(--color-brand1-6);
409
+ --color-brand-4: var(--color-brand1-9);
410
+ --color-group: var(--color-brand1-6), var(--color-brand1-1), var(--color-brand1-5), var(--color-brand1-2), var(--color-brand1-9), var(--color-brand1-3);
411
+ }
412
+
413
+ /* 独立提交页(含抽屉 iframe)使用应用外衬;平台默认壳层取导航背景且不消费背景图。 */
414
+ body.pod-premium.page-type-submit .vc-shell-without-nav.pod-premium {
415
+ background-color: var(--pod-app-root-bg-color, var(--pod-page-bg-color, #fff));
416
+ background-image: var(--pod-app-root-bg-image, none);
417
+ background-position: center top;
418
+ background-repeat: no-repeat;
419
+ background-size: cover;
420
+ }
421
+
422
+ /* 原生详情属于内容区,独立页面和抽屉内都沿用内容画布与前景。 */
423
+ body.pod-premium.page-type-detail .vc-shell-without-nav.pod-premium {
424
+ background-color: var(--pod-page-bg-color, var(--color-white, #fff));
425
+ --pod-theme-text-color: var(--color-text1-4, #202020);
426
+ }
427
+
428
+ /* 详情顶栏的独立图标使用内容文字色,保留按钮自身的禁用状态。 */
429
+ body.pod-premium.page-type-detail .top-banner-area
430
+ .next-yida-button-iconOnly:not([disabled]):not(.disabled) .next-icon {
431
+ color: var(--color-text1-3, #737373);
432
+ }
433
+ body.pod-premium.page-type-detail .top-banner-area
434
+ .next-yida-button-iconOnly:not([disabled]):not(.disabled):hover .next-icon {
435
+ color: var(--color-text1-4, #202020);
436
+ }
437
+
438
+ /* 按实际底栏类型适配 PC 固定提交栏,不按有无导航判断。
439
+ * 排除 DATA_MANAGE 和容器内 sticky 模式;抽屉提交标记按平台规则优先。
440
+ * 管理页、旧主题、移动端继续由各自布局负责占位。 */
441
+ body.pod-premium.page-type-submit
442
+ .vc-page-yida-page:not(.yida-legacy-theme):has(
443
+ > .vc-rootcontent > .deep-form.desktop
444
+ > .stickyFooter.is-sticky:not(.is-sticky-v2):not(.is-data-manage-footer)
445
+ ),
446
+ body.pod-premium.page-type-submit
447
+ .vc-page-yida-page:not(.yida-legacy-theme):has(
448
+ > .vc-rootcontent > .deep-form.desktop
449
+ > .stickyFooter.is-sticky.is-in-drawer-submit-footer:not(.is-sticky-v2)
450
+ ) {
451
+ margin-bottom: 0;
452
+ padding-bottom: calc(
453
+ var(--pod-formView-stickyFooter-height, 50px) +
454
+ var(--pod-formView-stickyFooter-bottom, var(--pod-page-auto-width-margin, 8px))
455
+ );
456
+ }
457
+
458
+ /* 白色导航背景与白色卡片相邻时,用描边保留卡片层级。 */
459
+ .pod-premium.nav-white,
460
+ .pod-premium.nav-theme-white {
461
+ --pod-card-border: 1px solid var(--color-line1-1, #efefef);
462
+ }
463
+
464
+ /* 新版主题移动端保留滚动能力,统一隐藏各业务滚动容器的滚动条。 */
465
+ .mobile .pod-premium,
466
+ .mobile .pod-premium *,
467
+ .pod-premium.is-phone,
468
+ .pod-premium.is-phone *,
469
+ .pod-premium .is-phone,
470
+ .pod-premium .is-phone * {
471
+ scrollbar-width: none !important;
472
+ -ms-overflow-style: none !important;
473
+ }
474
+ .mobile .pod-premium::-webkit-scrollbar,
475
+ .mobile .pod-premium *::-webkit-scrollbar,
476
+ .pod-premium.is-phone::-webkit-scrollbar,
477
+ .pod-premium.is-phone *::-webkit-scrollbar,
478
+ .pod-premium .is-phone::-webkit-scrollbar,
479
+ .pod-premium .is-phone *::-webkit-scrollbar {
480
+ display: none !important;
481
+ width: 0 !important;
482
+ height: 0 !important;
483
+ }
484
+
485
+ .pod-premium .next-balloon.next-balloon-primary,
486
+ .pod-premium .pod-actions_popup {
487
+ padding: var(--popup-spacing-tb, 4px) var(--popup-spacing-lr, 8px);
488
+ }
489
+
490
+ :root {
491
+ /* Light theme defaults. */
492
+ --pod-nav-logo-text: var(--pod-nav-item-text-hover-color);
493
+ --pod-nav-sub-divider-color: #BC9AB7;
494
+ --pod-nav-item-text-color: #653A61;
495
+ --pod-nav-item-text-hover-color: #492746;
496
+ --pod-nav-item-text-disabled-color: rgba(24,28,31,.30);
497
+ --pod-nav-item-text-selected-color: #FFF9FD;
498
+ --pod-nav-menu-bg-hover-color: #DECBDD;
499
+ --pod-nav-menu-bg-selected-color: #653A61;
500
+ --pod-nav-l-container-bg: var(--pod-shell-theme-bg-color);
501
+ --pod-nav-l-group-label-color: var(--pod-nav-item-text-color);
502
+ --pod-nav-l-search-border-color: #BC9AB7;
503
+ --pod-nav-popup-bg-color: var(--pod-shell-theme-bg-color);
504
+ --pod-nav-tab-line-hover-color: var(--pod-nav-item-text-hover-color);
505
+ --pod-nav-tab-line-selected-color: var(--pod-nav-item-text-hover-color);
506
+ --pod-nav-search-bg-color: var(--pod-nav-menu-bg-hover-color);
507
+ --pod-nav-search-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
508
+ --pod-nav-search-bg-active-color: var(--pod-nav-menu-bg-hover-color);
509
+ --pod-nav-search-placeholder-color: var(--pod-nav-item-text-color);
510
+ --pod-nav-search-text-color: var(--pod-nav-item-text-hover-color);
511
+ --pod-nav-search-icon-color: var(--pod-nav-item-text-color);
512
+ --pod-nav-search-border-hover-color: var(--pod-nav-item-text-hover-color);
513
+ --pod-nav-search-border-active-color: var(--pod-nav-item-text-hover-color);
514
+ --pod-nav-action-icon-color: var(--pod-nav-item-text-color);
515
+ --pod-nav-action-border-color: #BC9AB7;
516
+ --pod-nav-action-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
517
+ --pod-nav-action-bg-active-color: var(--pod-nav-menu-bg-hover-color);
518
+ --pod-theme-text-color: var(--color-text1-4, #202020);
519
+ --pod-page-header-text-color: var(--pod-theme-text-color, var(--color-text1-4, #202020));
520
+ }
521
+
522
+ .pod-premium.nav-light {
523
+ --pod-shell-theme-bg-color: #EEE2EB;
524
+ --pod-page-header-bg-color: var(--pod-shell-theme-bg-color);
525
+ --pod-shell-lshape-border-radius: 10px;
526
+ }
527
+
528
+ .pod-premium.nav-dark {
529
+ --pod-shell-theme-bg-color: var(--pod-shell-bg-color-dark, var(--color-brand1-5, rgba(52, 50, 44, 1)));
530
+ --pod-page-header-bg-color: var(--pod-shell-theme-bg-color, var(--color-white, #fff));
531
+ --pod-shell-lshape-border-radius: 16px;
532
+ }
533
+
534
+ .pod-premium.nav-white {
535
+ --pod-shell-theme-bg-color: var(--pod-shell-bg-color-white, #fff);
536
+ --pod-page-header-bg-color: var(--pod-shell-theme-bg-color, var(--color-white, #fff));
537
+ }
538
+
539
+ .pod-premium.nav-gray {
540
+ --pod-shell-theme-bg-color: var(--pod-shell-bg-color-gray, #f0f2f5);
541
+ --pod-page-header-bg-color: var(--pod-shell-theme-bg-color, var(--color-white, #fff));
542
+ }
543
+
544
+ .pod-premium.is-light {
545
+ --pod-theme-text-color: var(--color-text1-4, #202020);
546
+ --pod-page-header-text-color: var(--pod-theme-text-color, var(--color-text1-4, #202020));
547
+ --pod-nav-logo-bg: var(--pod-nav-menu-bg-selected-color);
548
+ --pod-nav-logo-border: 1px solid #BC9AB7;
549
+ --pod-nav-item-text-selected-color: #FFF9FD;
550
+ --pod-nav-menu-bg-selected-color: #653A61;
551
+ --pod-nav-popup-bg-color: var(--pod-shell-theme-bg-color);
552
+ --pod-nav-action-icon-color: var(--pod-nav-item-text-color);
553
+ --pod-nav-item-text-color: #653A61;
554
+ --pod-nav-item-text-hover-color: #492746;
555
+ --pod-nav-menu-bg-hover-color: #DECBDD;
556
+ --pod-nav-l-sub-main-bg-color: var(--pod-shell-theme-bg-color);
557
+ --pod-nav-top-main-border-width: 1px;
558
+ --pod-nav-top-main-border-color: #BC9AB7;
559
+ --pod-nav-top-tab-indicator-width: 0px;
560
+ --pod-nav-logo-text: var(--pod-nav-item-text-hover-color);
561
+ --pod-nav-logo-icon: var(--pod-nav-item-text-selected-color);
562
+ --pod-nav-logo-border-radius: 10px;
563
+ --pod-nav-sub-divider-color: #BC9AB7;
564
+ --pod-nav-item-text-disabled-color: rgba(24,28,31,.30);
565
+ --pod-nav-l-container-bg: var(--pod-shell-theme-bg-color);
566
+ --pod-nav-l-group-label-color: var(--pod-nav-item-text-color);
567
+ --pod-nav-l-search-border-color: #BC9AB7;
568
+ --pod-nav-popup-border-radius: 10px;
569
+ --pod-nav-popup-shadow: 0 8px 24px rgba(101,58,97,.10);
570
+ --pod-nav-tab-line-hover-color: var(--pod-nav-item-text-hover-color);
571
+ --pod-nav-tab-line-selected-color: var(--pod-nav-item-text-hover-color);
572
+ --pod-nav-search-bg-color: var(--pod-nav-menu-bg-hover-color);
573
+ --pod-nav-search-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
574
+ --pod-nav-search-bg-active-color: var(--pod-nav-menu-bg-hover-color);
575
+ --pod-nav-search-placeholder-color: var(--pod-nav-item-text-color);
576
+ --pod-nav-search-text-color: var(--pod-nav-item-text-hover-color);
577
+ --pod-nav-search-icon-color: var(--pod-nav-item-text-color);
578
+ --pod-nav-search-border-color: #BC9AB7;
579
+ --pod-nav-search-border-hover-color: var(--pod-nav-item-text-hover-color);
580
+ --pod-nav-search-border-active-color: var(--pod-nav-item-text-hover-color);
581
+ --pod-nav-action-border-color: #BC9AB7;
582
+ --pod-nav-action-border: 1px solid #BC9AB7;
583
+ --pod-nav-action-bg-hover-color: var(--pod-nav-menu-bg-hover-color);
584
+ --pod-nav-action-bg-active-color: var(--pod-nav-menu-bg-hover-color);
585
+ --pod-nav-menu-item-height: 44px;
586
+ --pod-nav-menu-item-radius: 16px 4px 16px 4px;
587
+ --pod-nav-menu-item-border: 1px solid #BC9AB7;
588
+ --pod-nav-menu-item-hover-border: 1px solid #653A61;
589
+ --pod-nav-menu-item-selected-border: 1px solid #492746;
590
+ --pod-nav-menu-font-size: 14px;
591
+ --pod-nav-menu-item-selected-font-weight: 500;
592
+ --pod-nav-menu-line-height: 20px;
593
+ --pod-nav-menu-gap: 10px;
594
+ }
595
+
596
+ .pod-premium.is-dark {
597
+ --pod-theme-text-color: var(--color-text1-5, #fff);
598
+ --pod-page-header-text-color: var(--pod-theme-text-color, var(--color-text1-5, #fff));
599
+ /* Dark theme overrides. */
600
+ --pod-nav-logo-bg: transparent;
601
+ --pod-nav-logo-border: 1px solid rgba(255, 246, 246, 0.15);
602
+ --pod-nav-logo-text: var(--color-text1-5, #fff);
603
+ --pod-nav-sub-divider-color: rgba(255, 255, 255, 0.24);
604
+ --pod-nav-item-text-color: var(--color-text1-5, #fff);
605
+ --pod-nav-item-text-hover-color: var(--color-text1-5, #fff);
606
+ --pod-nav-item-text-disabled-color: rgba(255, 255, 255, 0.24);
607
+ --pod-nav-item-text-selected-color: var(--color-text1-5, #fff);
608
+ --pod-nav-menu-bg-hover-color: rgba(255, 255, 255, 0.12);
609
+ --pod-nav-menu-bg-selected-color: rgba(255, 255, 255, 0.24);
610
+ --pod-nav-l-container-bg: rgba(255, 255, 255, 0.08);
611
+ --pod-nav-l-group-label-color: rgba(255, 255, 255, 0.4);
612
+ --pod-nav-l-search-border-color: rgba(255, 255, 255, 0.05);
613
+ --pod-nav-popup-bg-color: var(--pod-shell-bg-color-dark, var(--color-brand1-5, rgba(52, 50, 44, 1)));
614
+ --pod-nav-tab-line-hover-color: #fff;
615
+ --pod-nav-tab-line-selected-color: #fff;
616
+ --pod-nav-search-bg-color: rgba(255, 255, 255, 0.12);
617
+ --pod-nav-search-bg-hover-color: rgba(255, 255, 255, 0.16);
618
+ --pod-nav-search-bg-active-color: rgba(255, 255, 255, 0.16);
619
+ --pod-nav-search-placeholder-color: rgba(255, 255, 255, 0.24);
620
+ --pod-nav-search-text-color: var(--color-text1-5, #fff);
621
+ --pod-nav-search-icon-color: rgba(255, 255, 255, 0.24);
622
+ --pod-nav-search-border-hover-color: rgba(255, 255, 255, 0);
623
+ --pod-nav-search-border-active-color: rgba(255, 255, 255, 0);
624
+ --pod-nav-action-icon-color: rgba(255, 255, 255, 0.6);
625
+ --pod-nav-action-border-color: rgba(255, 255, 255, 0.2);
626
+ --pod-nav-action-border: 0.5px solid rgba(255, 255, 255, 0.2);
627
+ --pod-nav-action-bg-hover-color: rgba(255, 255, 255, 0.12);
628
+ --pod-nav-action-bg-active-color: rgba(255, 255, 255, 0.16);
629
+ --pod-nav-l-sub-main-bg-color: var(--color-white, #fff);
630
+ --pod-nav-top-main-border-width: 1px;
631
+ --pod-nav-top-main-border-color: #00000014;
632
+ --pod-nav-top-tab-indicator-width: 2px;
633
+ --pod-nav-logo-icon: var(--color-text1-5, #fff);
634
+ --pod-nav-logo-border-radius: 6px;
635
+ --pod-nav-popup-border-radius: var(--corner-3);
636
+ --pod-nav-popup-shadow: 0 8px 24px rgba(31, 35, 41, 0.12);
637
+ --pod-nav-search-border-color: transparent;
638
+ --pod-nav-menu-item-height: 36px;
639
+ --pod-nav-menu-item-radius: var(--pod-sm-border-radius, 8px);
640
+ --pod-nav-menu-item-border: none;
641
+ --pod-nav-menu-item-hover-border: var(--pod-nav-menu-item-border);
642
+ --pod-nav-menu-item-selected-border: var(--pod-nav-menu-item-border);
643
+ --pod-nav-menu-font-size: 14px;
644
+ --pod-nav-menu-item-selected-font-weight: 400;
645
+ --pod-nav-menu-line-height: 20px;
646
+ --pod-nav-menu-gap: 8px;
647
+ }
648
+
649
+ /* openyida-navigation-shape:start */
650
+ /* Side/L navigation and top tabs share the same theme-defined menu shape.
651
+ * Border widths stay constant between states; border-box keeps row height stable. */
652
+ .pod-premium .deep-shell-nav-menu-content .next-nav-item,
653
+ .pod-premium .deep-shell-nav-tab-list .next-nav-item {
654
+ box-sizing: border-box;
655
+ border-radius: var(--pod-nav-menu-item-radius, 8px);
656
+ border: var(--pod-nav-menu-item-border, none);
657
+ }
658
+ /* Native inner rows also have a fixed minimum height. Fit them inside the
659
+ * bordered item instead of letting a thick outline push content below it. */
660
+ .vc-shell.pod-premium .next-nav.next-line.next-ver.deep-shell-nav-menu-content:not(.next-icon-only) .next-nav-item.next-menu-item > .next-menu-item-inner,
661
+ .vc-shell.pod-premium .next-shell-header .next-shell-navigation .next-nav.next-line.next-hoz.deep-shell-nav-tab-list .next-nav-item.next-menu-item > .next-menu-item-inner {
662
+ box-sizing: border-box;
663
+ height: 100% !important;
664
+ min-height: 0 !important;
665
+ }
666
+ .pod-premium .deep-shell-nav-menu-content .next-nav-item:hover,
667
+ .pod-premium .deep-shell-nav-tab-list .next-nav-item:hover {
668
+ border: var(--pod-nav-menu-item-hover-border, var(--pod-nav-menu-item-border, none));
669
+ }
670
+ /* Platform top tabs use transparent backgrounds and zero margin !important.
671
+ * Match the header scope so theme surfaces and spacing can reveal their shape. */
672
+ .vc-shell.pod-premium .next-shell-header .next-shell-navigation .next-nav.next-line.next-hoz.deep-shell-nav-tab-list .next-nav-item.next-menu-item {
673
+ margin-inline: calc(var(--pod-nav-menu-gap, 8px) / 2) !important;
674
+ }
675
+ .vc-shell.pod-premium .next-shell-header .next-shell-navigation .next-nav.next-line.next-hoz.deep-shell-nav-tab-list .next-nav-item.next-menu-item:hover {
676
+ background: var(--pod-nav-menu-bg-hover-color) !important;
677
+ color: var(--pod-nav-item-text-hover-color) !important;
678
+ }
679
+ .vc-shell.pod-premium .next-shell-header .next-shell-navigation .next-nav.next-line.next-hoz.deep-shell-nav-tab-list .next-nav-item.next-menu-item.next-selected {
680
+ background: var(--pod-nav-menu-bg-selected-color) !important;
681
+ color: var(--pod-nav-item-text-selected-color) !important;
682
+ }
683
+ /* Selected state wins over hover, retaining the original inset-shadow marker. */
684
+ .pod-premium .deep-shell-nav-menu-content .next-nav-item.next-selected,
685
+ .pod-premium .deep-shell-nav-tab-list .next-nav-item.next-selected {
686
+ border: var(--pod-nav-menu-item-selected-border, var(--pod-nav-menu-item-border, none));
687
+ box-shadow: var(--pod-nav-menu-item-selected-shadow, none);
688
+ }
689
+ /* openyida-navigation-shape:end */
690
+
691
+ /* OPENYIDA APPLICATION STYLE RECIPES START
692
+ * Opt-in semantic classes for custom pages. Native form structure stays in Schema.
693
+ * Never target platform field wrappers to impose a fake grid or fixed height.
694
+ */
695
+ .pod-premium .oyd-style-workspace {
696
+ container-type: inline-size;
697
+ max-width: var(--oyd-content-width);
698
+ margin-inline: auto;
699
+ padding: var(--oyd-content-padding);
700
+ color: var(--oyd-ink);
701
+ font-family: var(--font-family-base);
702
+ background-color: var(--oyd-page-bg);
703
+ background-image: var(--oyd-canvas-image);
704
+ }
705
+ .pod-premium .oyd-style-layout {
706
+ display: grid;
707
+ grid-template-columns: var(--oyd-layout-columns);
708
+ gap: var(--oyd-field-gap);
709
+ align-items: start;
710
+ }
711
+ .pod-premium .oyd-style-layout > * { min-width: 0; }
712
+ .pod-premium .oyd-style-wide { grid-column: 1 / -1; }
713
+ .pod-premium .oyd-style-layout > .oyd-style-intro {
714
+ padding-inline-end: var(--oyd-field-gap);
715
+ }
716
+ .pod-premium .oyd-style-intro {
717
+ color: var(--oyd-ink);
718
+ border-block-end: 1px var(--oyd-rule-style) var(--oyd-border);
719
+ padding-block-end: var(--oyd-field-gap);
720
+ margin-block-end: var(--oyd-section-gap);
721
+ }
722
+ .pod-premium .oyd-style-intro h1 {
723
+ font-family: var(--oyd-heading-font);
724
+ font-size: var(--oyd-heading-size);
725
+ line-height: 1.2;
726
+ overflow-wrap: anywhere;
727
+ }
728
+ .pod-premium .oyd-style-section {
729
+ padding: var(--oyd-content-padding);
730
+ margin-block-end: var(--oyd-section-gap);
731
+ background: var(--oyd-surface);
732
+ border: var(--input-border-width) var(--oyd-rule-style) var(--oyd-border);
733
+ border-radius: var(--oyd-radius);
734
+ box-shadow: var(--oyd-surface-shadow);
735
+ }
736
+ .pod-premium .oyd-style-section > h2::after {
737
+ content: "";
738
+ display: block;
739
+ width: 3rem;
740
+ margin-block-start: .5rem;
741
+ border-block-end: 2px var(--oyd-rule-style) var(--oyd-accent);
742
+ }
743
+ @container (max-width: 640px) {
744
+ .pod-premium .oyd-style-layout { grid-template-columns: minmax(0, 1fr); }
745
+ .pod-premium .oyd-style-section { padding: 16px; }
746
+ .pod-premium .oyd-style-intro h1 { font-size: min(32px, var(--oyd-heading-size)); }
747
+ }
748
+ /* OPENYIDA APPLICATION STYLE RECIPES END */