smart-admin-web 10.10.0 → 10.11.0

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 (54) hide show
  1. package/README.md +1 -0
  2. package/cli/icon-subset.mjs +132 -0
  3. package/cli/smart-admin-icons.mjs +57 -0
  4. package/dist/api/index.d.ts +52 -1
  5. package/dist/api/index.js +151 -84
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/schema.d.ts +936 -15
  8. package/dist/assets/icons/ph-subset.json.js +7 -7
  9. package/dist/createSmartAdmin.d.ts +3 -0
  10. package/dist/createSmartAdmin.js +36 -36
  11. package/dist/createSmartAdmin.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +268 -252
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/icons.d.ts +5 -2
  16. package/dist/lib/icons.js +15 -13
  17. package/dist/lib/icons.js.map +1 -1
  18. package/dist/lib/runtime.js +1 -1
  19. package/dist/locales/en-US.d.ts +143 -0
  20. package/dist/locales/en-US.js +145 -0
  21. package/dist/locales/en-US.js.map +1 -1
  22. package/dist/locales/zh-CN.d.ts +143 -0
  23. package/dist/locales/zh-CN.js +145 -0
  24. package/dist/locales/zh-CN.js.map +1 -1
  25. package/dist/router/viewRegistry.js +1 -1
  26. package/dist/router/viewRegistry.js.map +1 -1
  27. package/dist/style.css +1 -1
  28. package/dist/types/api.d.ts +166 -0
  29. package/dist/types/api.js +12 -9
  30. package/dist/types/api.js.map +1 -1
  31. package/dist/views/system/ai-model/components/ProviderCard.vue.d.ts +13 -0
  32. package/dist/views/system/ai-model/components/ProviderCard.vue.js +8 -0
  33. package/dist/views/system/ai-model/components/ProviderCard.vue.js.map +1 -0
  34. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +230 -0
  35. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -0
  36. package/dist/views/system/ai-model/components/ProviderForm.vue.d.ts +18 -0
  37. package/dist/views/system/ai-model/components/ProviderForm.vue.js +8 -0
  38. package/dist/views/system/ai-model/components/ProviderForm.vue.js.map +1 -0
  39. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +507 -0
  40. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -0
  41. package/dist/views/system/ai-model/index.vue.d.ts +3 -0
  42. package/dist/views/system/ai-model/index.vue.js +8 -0
  43. package/dist/views/system/ai-model/index.vue.js.map +1 -0
  44. package/dist/views/system/ai-model/index2.vue.js +134 -0
  45. package/dist/views/system/ai-model/index2.vue.js.map +1 -0
  46. package/dist/views/system/ai-model/presets.d.ts +14 -0
  47. package/dist/views/system/ai-model/presets.js +22 -0
  48. package/dist/views/system/ai-model/presets.js.map +1 -0
  49. package/dist/views/system/ai-usage/index.vue.d.ts +3 -0
  50. package/dist/views/system/ai-usage/index.vue.js +8 -0
  51. package/dist/views/system/ai-usage/index.vue.js.map +1 -0
  52. package/dist/views/system/ai-usage/index2.vue.js +423 -0
  53. package/dist/views/system/ai-usage/index2.vue.js.map +1 -0
  54. package/package.json +6 -2
@@ -15,7 +15,7 @@ function m() {
15
15
  function v() {
16
16
  return Object.entries(s).filter(([e]) => e.endsWith("/detail"));
17
17
  }
18
- n(/* @__PURE__ */ Object.assign({ "../views/dashboard/biz.vue": () => import("../views/dashboard/biz.vue.js"), "../views/dashboard/workbench.vue": () => import("../views/dashboard/workbench.vue.js"), "../views/embed/iframe.vue": () => import("../views/embed/iframe.vue.js"), "../views/error/404.vue": () => import("../views/error/404.vue.js"), "../views/error/BootError.vue": () => import("../views/error/BootError.vue.js"), "../views/error/MissingRoute.vue": () => import("../views/error/MissingRoute.vue.js"), "../views/login/LoginForm.vue": () => import("../views/login/LoginForm.vue.js"), "../views/login/index.vue": () => import("../views/login/index.vue.js"), "../views/login/skins/AuroraGlass.vue": () => import("../views/login/skins/AuroraGlass.vue.js"), "../views/login/skins/SplitPanel.vue": () => import("../views/login/skins/SplitPanel.vue.js"), "../views/login/skins/Spotlight.vue": () => import("../views/login/skins/Spotlight.vue.js"), "../views/mfa/index.vue": () => import("../views/mfa/index.vue.js"), "../views/module/index.vue": () => import("../views/module/index.vue.js"), "../views/oauth/callback.vue": () => import("../views/oauth/callback.vue.js"), "../views/personal/bindings.vue": () => import("../views/personal/bindings.vue.js"), "../views/personal/notice.vue": () => import("../views/personal/notice.vue.js"), "../views/personal/password.vue": () => import("../views/personal/password.vue.js"), "../views/personal/profile.vue": () => import("../views/personal/profile.vue.js"), "../views/personal/security.vue": () => import("../views/personal/security.vue.js"), "../views/personal/sessions.vue": () => import("../views/personal/sessions.vue.js"), "../views/system/cache/index.vue": () => import("../views/system/cache/index.vue.js"), "../views/system/config/components/ConfigFormModal.vue": () => import("../views/system/config/components/ConfigFormModal.vue.js"), "../views/system/config/components/ExternalAuthConfig.vue": () => import("../views/system/config/components/ExternalAuthConfig.vue.js"), "../views/system/config/components/GroupExtraConfig.vue": () => import("../views/system/config/components/GroupExtraConfig.vue.js"), "../views/system/config/components/HighSensConfig.vue": () => import("../views/system/config/components/HighSensConfig.vue.js"), "../views/system/config/components/JobConfig.vue": () => import("../views/system/config/components/JobConfig.vue.js"), "../views/system/config/components/OtherConfig.vue": () => import("../views/system/config/components/OtherConfig.vue.js"), "../views/system/config/components/SecurityConfig.vue": () => import("../views/system/config/components/SecurityConfig.vue.js"), "../views/system/config/components/SysBaseConfig.vue": () => import("../views/system/config/components/SysBaseConfig.vue.js"), "../views/system/config/components/UploadConfig.vue": () => import("../views/system/config/components/UploadConfig.vue.js"), "../views/system/config/index.vue": () => import("../views/system/config/index.vue.js"), "../views/system/dict/index.vue": () => import("../views/system/dict/index.vue.js"), "../views/system/file/index.vue": () => import("../views/system/file/index.vue.js"), "../views/system/job-log/index.vue": () => import("../views/system/job-log/index.vue.js"), "../views/system/job-monitor/index.vue": () => import("../views/system/job-monitor/index.vue.js"), "../views/system/job/index.vue": () => import("../views/system/job/index.vue.js"), "../views/system/log/exception/index.vue": () => import("../views/system/log/exception/index.vue.js"), "../views/system/log/login/index.vue": () => import("../views/system/log/login/index.vue.js"), "../views/system/log/op/index.vue": () => import("../views/system/log/op/index.vue.js"), "../views/system/menu/components/ButtonManager.vue": () => import("../views/system/menu/components/ButtonManager.vue.js"), "../views/system/menu/components/MenuFormModal.vue": () => import("../views/system/menu/components/MenuFormModal.vue.js"), "../views/system/menu/index.vue": () => import("../views/system/menu/index.vue.js"), "../views/system/module/index.vue": () => import("../views/system/module/index.vue.js"), "../views/system/monitor/index.vue": () => import("../views/system/monitor/index.vue.js"), "../views/system/notice/index.vue": () => import("../views/system/notice/index.vue.js"), "../views/system/org/index.vue": () => import("../views/system/org/index.vue.js"), "../views/system/position/index.vue": () => import("../views/system/position/index.vue.js"), "../views/system/recycle/index.vue": () => import("../views/system/recycle/index.vue.js"), "../views/system/role/components/GrantMenuTable.vue": () => import("../views/system/role/components/GrantMenuTable.vue.js"), "../views/system/role/index.vue": () => import("../views/system/role/index.vue.js"), "../views/system/session/index.vue": () => import("../views/system/session/index.vue.js"), "../views/system/user/components/ResetPasswordModal.vue": () => import("../views/system/user/components/ResetPasswordModal.vue.js"), "../views/system/user/components/UserFormModal.vue": () => import("../views/system/user/components/UserFormModal.vue.js"), "../views/system/user/index.vue": () => import("../views/system/user/index.vue.js") }));
18
+ n(/* @__PURE__ */ Object.assign({ "../views/dashboard/biz.vue": () => import("../views/dashboard/biz.vue.js"), "../views/dashboard/workbench.vue": () => import("../views/dashboard/workbench.vue.js"), "../views/embed/iframe.vue": () => import("../views/embed/iframe.vue.js"), "../views/error/404.vue": () => import("../views/error/404.vue.js"), "../views/error/BootError.vue": () => import("../views/error/BootError.vue.js"), "../views/error/MissingRoute.vue": () => import("../views/error/MissingRoute.vue.js"), "../views/login/LoginForm.vue": () => import("../views/login/LoginForm.vue.js"), "../views/login/index.vue": () => import("../views/login/index.vue.js"), "../views/login/skins/AuroraGlass.vue": () => import("../views/login/skins/AuroraGlass.vue.js"), "../views/login/skins/SplitPanel.vue": () => import("../views/login/skins/SplitPanel.vue.js"), "../views/login/skins/Spotlight.vue": () => import("../views/login/skins/Spotlight.vue.js"), "../views/mfa/index.vue": () => import("../views/mfa/index.vue.js"), "../views/module/index.vue": () => import("../views/module/index.vue.js"), "../views/oauth/callback.vue": () => import("../views/oauth/callback.vue.js"), "../views/personal/bindings.vue": () => import("../views/personal/bindings.vue.js"), "../views/personal/notice.vue": () => import("../views/personal/notice.vue.js"), "../views/personal/password.vue": () => import("../views/personal/password.vue.js"), "../views/personal/profile.vue": () => import("../views/personal/profile.vue.js"), "../views/personal/security.vue": () => import("../views/personal/security.vue.js"), "../views/personal/sessions.vue": () => import("../views/personal/sessions.vue.js"), "../views/system/ai-model/components/ProviderCard.vue": () => import("../views/system/ai-model/components/ProviderCard.vue.js"), "../views/system/ai-model/components/ProviderForm.vue": () => import("../views/system/ai-model/components/ProviderForm.vue.js"), "../views/system/ai-model/index.vue": () => import("../views/system/ai-model/index.vue.js"), "../views/system/ai-usage/index.vue": () => import("../views/system/ai-usage/index.vue.js"), "../views/system/cache/index.vue": () => import("../views/system/cache/index.vue.js"), "../views/system/config/components/ConfigFormModal.vue": () => import("../views/system/config/components/ConfigFormModal.vue.js"), "../views/system/config/components/ExternalAuthConfig.vue": () => import("../views/system/config/components/ExternalAuthConfig.vue.js"), "../views/system/config/components/GroupExtraConfig.vue": () => import("../views/system/config/components/GroupExtraConfig.vue.js"), "../views/system/config/components/HighSensConfig.vue": () => import("../views/system/config/components/HighSensConfig.vue.js"), "../views/system/config/components/JobConfig.vue": () => import("../views/system/config/components/JobConfig.vue.js"), "../views/system/config/components/OtherConfig.vue": () => import("../views/system/config/components/OtherConfig.vue.js"), "../views/system/config/components/SecurityConfig.vue": () => import("../views/system/config/components/SecurityConfig.vue.js"), "../views/system/config/components/SysBaseConfig.vue": () => import("../views/system/config/components/SysBaseConfig.vue.js"), "../views/system/config/components/UploadConfig.vue": () => import("../views/system/config/components/UploadConfig.vue.js"), "../views/system/config/index.vue": () => import("../views/system/config/index.vue.js"), "../views/system/dict/index.vue": () => import("../views/system/dict/index.vue.js"), "../views/system/file/index.vue": () => import("../views/system/file/index.vue.js"), "../views/system/job-log/index.vue": () => import("../views/system/job-log/index.vue.js"), "../views/system/job-monitor/index.vue": () => import("../views/system/job-monitor/index.vue.js"), "../views/system/job/index.vue": () => import("../views/system/job/index.vue.js"), "../views/system/log/exception/index.vue": () => import("../views/system/log/exception/index.vue.js"), "../views/system/log/login/index.vue": () => import("../views/system/log/login/index.vue.js"), "../views/system/log/op/index.vue": () => import("../views/system/log/op/index.vue.js"), "../views/system/menu/components/ButtonManager.vue": () => import("../views/system/menu/components/ButtonManager.vue.js"), "../views/system/menu/components/MenuFormModal.vue": () => import("../views/system/menu/components/MenuFormModal.vue.js"), "../views/system/menu/index.vue": () => import("../views/system/menu/index.vue.js"), "../views/system/module/index.vue": () => import("../views/system/module/index.vue.js"), "../views/system/monitor/index.vue": () => import("../views/system/monitor/index.vue.js"), "../views/system/notice/index.vue": () => import("../views/system/notice/index.vue.js"), "../views/system/org/index.vue": () => import("../views/system/org/index.vue.js"), "../views/system/position/index.vue": () => import("../views/system/position/index.vue.js"), "../views/system/recycle/index.vue": () => import("../views/system/recycle/index.vue.js"), "../views/system/role/components/GrantMenuTable.vue": () => import("../views/system/role/components/GrantMenuTable.vue.js"), "../views/system/role/index.vue": () => import("../views/system/role/index.vue.js"), "../views/system/session/index.vue": () => import("../views/system/session/index.vue.js"), "../views/system/user/components/ResetPasswordModal.vue": () => import("../views/system/user/components/ResetPasswordModal.vue.js"), "../views/system/user/components/UserFormModal.vue": () => import("../views/system/user/components/UserFormModal.vue.js"), "../views/system/user/index.vue": () => import("../views/system/user/index.vue.js") }));
19
19
  export {
20
20
  v as detailViews,
21
21
  r as getView,
@@ -1 +1 @@
1
- {"version":3,"file":"viewRegistry.js","sources":["../../src/router/viewRegistry.ts"],"sourcesContent":["import type { Component } from 'vue'\n\n/** 页面懒加载器:import.meta.glob 的每个值就是一个。 */\nexport type ViewLoader = () => Promise<Component | { default: Component }>\n\n// 页面表:key 即菜单 component 字段的取值(如 system/user/index)。内核内置页在本模块加载时登记,\n// 消费方与插件经 registerViews 并入;同名覆盖,谁后注册谁生效(createSmartAdmin 里插件在前、应用最后)。\n// 每个 loader 引用稳定(glob 每文件一个函数),namedPage 靠它判断 keep-alive 缓存要不要失效。\nconst views: Record<string, ViewLoader> = {}\n\n/** glob 键 → 页面 key:取最后一个 `/views/` 之后、去掉 .vue(`./views/system/user/index.vue` → `system/user/index`)。 */\nexport function normalizeViewKey(path: string): string {\n const i = path.lastIndexOf('/views/')\n const rel = i >= 0 ? path.slice(i + '/views/'.length) : path.replace(/^\\.?\\/+/, '')\n return rel.replace(/\\.vue$/, '')\n}\n\n/** 并入一批页面(键可以是 glob 原始路径,也可以是已规范化的 key)。 */\nexport function registerViews(map: Record<string, ViewLoader>): void {\n for (const [key, loader] of Object.entries(map)) views[normalizeViewKey(key)] = loader\n}\n\nexport function getView(key: string): ViewLoader | undefined {\n return views[key]\n}\n\nexport function hasView(key: string): boolean {\n return key in views\n}\n\n/**\n * 菜单 component 字段的全部合法取值,供菜单管理表单的「组件路径」下拉:\n * 手敲错一个字符时 buildRoutesForModule 会保留路径并落到 MissingRoute 诊断页;下拉仍是第一道防线。\n */\nexport function viewComponentPaths(): string[] {\n return Object.keys(views).toSorted()\n}\n\n/** 约定式详情页:key 以 `/detail` 结尾的页面(views/<模块>/detail.vue)。 */\nexport function detailViews(): Array<[key: string, loader: ViewLoader]> {\n return Object.entries(views).filter(([k]) => k.endsWith('/detail'))\n}\n\n// 内核内置页\nregisterViews(import.meta.glob('../views/**/*.vue') as Record<string, ViewLoader>)\n"],"names":["views","normalizeViewKey","path","registerViews","map","key","loader","getView","viewComponentPaths","detailViews","k"],"mappings":"AAQA,MAAMA,IAAoC,CAAA;AAGnC,SAASC,EAAiBC,GAAsB;AACrD,QAAM,IAAIA,EAAK,YAAY,SAAS;AAEpC,UADY,KAAK,IAAIA,EAAK,MAAM,IAAI,CAAgB,IAAIA,EAAK,QAAQ,WAAW,EAAE,GACvE,QAAQ,UAAU,EAAE;AACjC;AAGO,SAASC,EAAcC,GAAuC;AACnE,aAAW,CAACC,GAAKC,CAAM,KAAK,OAAO,QAAQF,CAAG,EAAG,CAAAJ,EAAMC,EAAiBI,CAAG,CAAC,IAAIC;AAClF;AAEO,SAASC,EAAQF,GAAqC;AAC3D,SAAOL,EAAMK,CAAG;AAClB;AAUO,SAASG,IAA+B;AAC7C,SAAO,OAAO,KAAKR,CAAK,EAAE,SAAA;AAC5B;AAGO,SAASS,IAAwD;AACtE,SAAO,OAAO,QAAQT,CAAK,EAAE,OAAO,CAAC,CAACU,CAAC,MAAMA,EAAE,SAAS,SAAS,CAAC;AACpE;AAGAP,+nKAAiF;"}
1
+ {"version":3,"file":"viewRegistry.js","sources":["../../src/router/viewRegistry.ts"],"sourcesContent":["import type { Component } from 'vue'\n\n/** 页面懒加载器:import.meta.glob 的每个值就是一个。 */\nexport type ViewLoader = () => Promise<Component | { default: Component }>\n\n// 页面表:key 即菜单 component 字段的取值(如 system/user/index)。内核内置页在本模块加载时登记,\n// 消费方与插件经 registerViews 并入;同名覆盖,谁后注册谁生效(createSmartAdmin 里插件在前、应用最后)。\n// 每个 loader 引用稳定(glob 每文件一个函数),namedPage 靠它判断 keep-alive 缓存要不要失效。\nconst views: Record<string, ViewLoader> = {}\n\n/** glob 键 → 页面 key:取最后一个 `/views/` 之后、去掉 .vue(`./views/system/user/index.vue` → `system/user/index`)。 */\nexport function normalizeViewKey(path: string): string {\n const i = path.lastIndexOf('/views/')\n const rel = i >= 0 ? path.slice(i + '/views/'.length) : path.replace(/^\\.?\\/+/, '')\n return rel.replace(/\\.vue$/, '')\n}\n\n/** 并入一批页面(键可以是 glob 原始路径,也可以是已规范化的 key)。 */\nexport function registerViews(map: Record<string, ViewLoader>): void {\n for (const [key, loader] of Object.entries(map)) views[normalizeViewKey(key)] = loader\n}\n\nexport function getView(key: string): ViewLoader | undefined {\n return views[key]\n}\n\nexport function hasView(key: string): boolean {\n return key in views\n}\n\n/**\n * 菜单 component 字段的全部合法取值,供菜单管理表单的「组件路径」下拉:\n * 手敲错一个字符时 buildRoutesForModule 会保留路径并落到 MissingRoute 诊断页;下拉仍是第一道防线。\n */\nexport function viewComponentPaths(): string[] {\n return Object.keys(views).toSorted()\n}\n\n/** 约定式详情页:key 以 `/detail` 结尾的页面(views/<模块>/detail.vue)。 */\nexport function detailViews(): Array<[key: string, loader: ViewLoader]> {\n return Object.entries(views).filter(([k]) => k.endsWith('/detail'))\n}\n\n// 内核内置页\nregisterViews(import.meta.glob('../views/**/*.vue') as Record<string, ViewLoader>)\n"],"names":["views","normalizeViewKey","path","registerViews","map","key","loader","getView","viewComponentPaths","detailViews","k"],"mappings":"AAQA,MAAMA,IAAoC,CAAA;AAGnC,SAASC,EAAiBC,GAAsB;AACrD,QAAM,IAAIA,EAAK,YAAY,SAAS;AAEpC,UADY,KAAK,IAAIA,EAAK,MAAM,IAAI,CAAgB,IAAIA,EAAK,QAAQ,WAAW,EAAE,GACvE,QAAQ,UAAU,EAAE;AACjC;AAGO,SAASC,EAAcC,GAAuC;AACnE,aAAW,CAACC,GAAKC,CAAM,KAAK,OAAO,QAAQF,CAAG,EAAG,CAAAJ,EAAMC,EAAiBI,CAAG,CAAC,IAAIC;AAClF;AAEO,SAASC,EAAQF,GAAqC;AAC3D,SAAOL,EAAMK,CAAG;AAClB;AAUO,SAASG,IAA+B;AAC7C,SAAO,OAAO,KAAKR,CAAK,EAAE,SAAA;AAC5B;AAGO,SAASS,IAAwD;AACtE,SAAO,OAAO,QAAQT,CAAK,EAAE,OAAO,CAAC,CAACU,CAAC,MAAMA,EAAE,SAAS,SAAS,CAAC;AACpE;AAGAP,2jLAAiF;"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .reauth-hint[data-v-f489ff1a]{margin:0 0 12px;color:var(--n-text-color-3);font-size:13px;line-height:1.5}:root{--color-gray-900: #181a2a;--color-gray-800: #2f313f;--color-gray-700: #5d5f6a;--color-gray-600: #7b7c85;--color-gray-500: #85868e;--color-gray-400: #bababf;--color-gray-300: #d1d1d1;--color-gray-200: #e3e3e3;--color-gray-100: #f1f1f1;--color-gray-50: #f0f0f0;--color-white: #ffffff;--color-primary: #646cff;--color-primary-hover: #7d84ff;--color-primary-pressed: #5259d1;--color-primary-light: #f0f0ff;--color-success: #00a43b;--color-success-bg: #e0f4e7;--color-warning: #a88400;--color-warning-bg: #fff8e0;--color-danger: #d15054;--color-danger-bg: #ffeced;--color-info: #0090b5;--color-info-bg: #e0f2f6;--color-bg-body: #f2f8f5;--color-bg-app: linear-gradient( 135deg, #f7fbf9 0%, #edf7f3 55%, #f7fbf9 100% );--color-bg-container: rgba(255, 255, 255, .78);--color-bg-container-solid: #fefefe;--color-bg-elevated: #ffffff;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-border: #d7dbe0;--color-border-strong: #bfc5cd;--color-fill: #eef1f5;--color-fill-hover: #e5e9ef;--color-bg-input: #ffffff;--color-fill-disabled: #eef1f5;--color-mask: rgba(24, 26, 42, .45);--color-header-bg: rgba(255, 255, 255, .82);--font-family-base: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs: 12px;--line-height-xs: 18px;--font-size-sm: 13px;--line-height-sm: 20px;--font-size-base: 14px;--line-height-base: 22px;--font-size-md: 16px;--line-height-md: 24px;--font-size-lg: 20px;--line-height-lg: 28px;--font-size-xl: 24px;--line-height-xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-1: 0 1px 2px rgba(24, 26, 42, .05), 0 2px 6px rgba(24, 26, 42, .06);--shadow-2: 0 10px 30px rgba(24, 26, 42, .12);--shadow-3: 0 16px 48px rgba(24, 26, 42, .18);--transition-fast: .15s ease;--transition-base: .2s ease}:root[data-theme=dark]{--color-primary: #14b8a6;--color-primary-hover: #2dd4bf;--color-primary-pressed: #0f766e;--color-primary-light: rgba(20, 184, 166, .16);--color-success: #34d399;--color-success-bg: rgba(16, 185, 129, .14);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .14);--color-danger: #fb7185;--color-danger-bg: rgba(244, 63, 94, .16);--color-info: #38bdf8;--color-info-bg: rgba(56, 189, 248, .14);--color-bg-body: #020617;--color-bg-app: linear-gradient( 135deg, #020617 0%, #0f172a 55%, #020617 100% );--color-bg-container: rgba(18, 28, 46, .9);--color-bg-container-solid: #121c2e;--color-bg-elevated: #182234;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-disabled: #64748b;--color-border: rgba(71, 85, 105, .4);--color-border-strong: rgba(100, 116, 139, .5);--color-fill: #0f172a;--color-fill-hover: #1a2436;--color-bg-input: #0f172a;--color-fill-disabled: #1b2434;--color-mask: rgba(2, 6, 23, .72);--color-header-bg: rgba(15, 23, 42, .7);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 2px 8px rgba(2, 6, 23, .3);--shadow-2: 0 10px 30px rgba(2, 6, 23, .45), 0 0 0 1px rgba(51, 65, 85, .35);--shadow-3: 0 16px 48px rgba(2, 6, 23, .55), 0 0 0 1px rgba(51, 65, 85, .4)}:root{--pad-page: 14px;--gap-card: 12px;--row-h: 58px;--sidebar-w: 236px;--sidebar-w-collapsed: 76px;--rail-w: 64px;--header-h: 62px}:root[data-density=compact]{--pad-page: 10px;--gap-card: 8px;--row-h: 48px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-app);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{background-attachment:fixed}a{color:var(--color-primary);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.n-card{border:1px solid var(--color-border)}:root:not([data-theme=dark]) .n-card:not(.n-modal){background:linear-gradient(145deg,#ffffffe0,#ffffffad);box-shadow:inset 0 1px #ffffffe6,0 8px 24px #2d695a14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:root:not([data-theme=dark]) .n-card.n-modal{background:var(--color-bg-elevated);box-shadow:var(--shadow-3);backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=dark] .n-card{background:#121c2e;border-color:#47556966;box-shadow:0 8px 24px #02061738}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b85}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}:root[data-theme=dark] ::selection{background:#14b8a647;color:#ecfeff}html.theme-switching,html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#90939966;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#909399b3}::-webkit-scrollbar-track{background:transparent}html[data-gray]{filter:grayscale(1)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .24s ease,transform .24s ease}.fade-slide-enter-from{opacity:0;transform:translate(16px)}.fade-slide-leave-to{opacity:0;transform:translate(-16px)}.n-menu,.n-dropdown-menu{user-select:none;-webkit-user-select:none}.n-data-table{--table-selected-bg: var(--color-primary-light)}.n-data-table .n-data-table-tr:nth-child(2n)>.n-data-table-td{background-color:var(--n-merged-td-color-striped)}.n-data-table .n-data-table-tr:has(>.n-data-table-td--selection .n-checkbox--checked,>.n-data-table-td--selection .n-radio--checked)>.n-data-table-td,.smart-table .smart-table-row--active>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-left,.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--table-selected-bg),var(--table-selected-bg))}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{border-right:1px solid var(--n-merged-border-color);white-space:nowrap}.n-data-table .n-data-table-th--last,.n-data-table .n-data-table-td--last-col{border-right:0}.n-data-table .n-data-table-th--fixed-left,.n-data-table .n-data-table-th--fixed-right{background-color:var(--color-fill)}.n-data-table{--table-fixed-bg: var(--color-bg-container-solid)}.n-modal .n-data-table,.n-drawer .n-data-table,.n-popover .n-data-table{--table-fixed-bg: var(--n-merged-td-color)}.n-data-table .n-data-table-td--fixed-left,.n-data-table .n-data-table-td--fixed-right{background-color:var(--table-fixed-bg)}.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-left,.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)),var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)))}.n-data-table .n-data-table-td--last-col .n-space{gap:0!important}.n-data-table .n-data-table-td .n-space:has(.n-button){flex-wrap:nowrap!important;min-width:max-content;white-space:nowrap}.n-data-table .n-data-table-td .n-space:has(.n-button)>.n-space-item,.n-data-table .n-data-table-td .n-button{white-space:nowrap}.table-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--color-bg-body);padding:16px;display:flex;flex-direction:column;min-height:0;gap:8px}.table-zoom>.n-data-table,.table-zoom>.route-table,.table-zoom>.table-zoom-body{flex:1;min-height:0}.row-sort .drag-handle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm, 6px);color:var(--color-text-tertiary);cursor:grab;transition:color var(--transition-base, .2s ease),background-color var(--transition-base, .2s ease)}.row-sort .drag-handle:hover{background:var(--color-fill-hover);color:var(--color-primary)}.row-sort .drag-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.row-sort .drag-handle:active{cursor:grabbing}.row-sort .row-chosen>td{position:relative;z-index:1;background:var(--color-bg-elevated);box-shadow:0 6px 16px #0000001f;cursor:grabbing}.row-sort .row-ghost>td{background:var(--color-primary-light);color:var(--color-primary)}.row-sort .row-ghost>td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.row-sort .row-fallback{display:none!important}.row-sort.is-dragging .n-data-table-tr:not(.row-ghost){opacity:.5}.row-sort.is-dragging .n-data-table-td{transition:none}.side-filter{flex:0 0 var(--side-filter-width, 224px);display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px 10px;border-radius:var(--radius-lg, 12px);background:var(--color-bg-container);box-shadow:var(--shadow-1);transition:flex-basis var(--transition-base, .2s ease)}.side-filter__head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px;padding-left:6px}.side-filter__actions{display:flex;flex:none;margin-left:auto;align-items:center;gap:2px}.side-filter__body{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin}.side-filter__divider{height:1px;margin:6px 8px;background:var(--color-border)}.side-filter__empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;color:var(--color-text-tertiary);font-size:var(--font-size-sm, 13px)}.side-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border:0;border-radius:var(--radius-md, 10px);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-base, 14px);text-align:left;cursor:pointer;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row:hover{background:var(--color-fill-hover);color:var(--color-text-primary)}.side-row.is-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-row.is-active:before,.side-tree .n-tree-node--selected:before{content:"";position:absolute;top:50%;left:0;width:3px;height:16px;border-radius:0 3px 3px 0;background:var(--color-primary);transform:translateY(-50%)}.side-row__icon,.side-row__dot{flex:none}.side-row__dot{width:6px;height:6px;margin:0 4px;border-radius:50%;background:var(--color-border-strong);transition:background var(--transition-fast, .15s ease)}.side-row:hover .side-row__dot{background:var(--color-text-tertiary)}.side-row.is-active .side-row__dot{background:currentcolor}.side-row__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-row__count{flex:none;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--color-fill);color:var(--color-text-tertiary);font-size:var(--font-size-xs, 12px);font-variant-numeric:tabular-nums;line-height:18px;text-align:center;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row.is-active .side-row__count{background:var(--color-primary);color:var(--color-white, #fff)}.side-tree.n-tree{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.side-tree .n-tree-node{position:relative;padding-right:4px}.side-tree .n-tree-node--selected .n-tree-node-content__text{color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-tree .n-tree-node-content__suffix{opacity:0;transition:opacity var(--transition-fast, .15s ease)}.side-tree .n-tree-node:hover .n-tree-node-content__suffix,.side-tree .n-tree-node--selected .n-tree-node-content__suffix{opacity:1}.side-actions{display:flex;align-items:center;gap:2px}@media(max-width:1280px){.side-filter{flex-basis:min(var(--side-filter-width, 224px),200px)}}.form-section+.form-section{margin-top:16px}.form-section__title{margin-bottom:10px;color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--fieldset,.form-section--panel{min-width:0;border:none;padding:0}.form-section--fieldset{margin-inline:0}.form-section--fieldset>legend{display:block;width:100%;margin-bottom:12px;padding:0 0 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--panel>.form-section__title,.form-section--panel>.head{display:flex;box-sizing:content-box;align-items:center;justify-content:space-between;height:var(--panel-head-h, 30px);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.page-view:has(>.smart-table),.page-view:has(>.fill-page),.page-view:has(>.side-page){height:100%}.page-view>.smart-table{height:100%;min-height:0}.fill-page{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.fill-page>*{flex-shrink:0}.side-page{display:flex;gap:12px;align-items:stretch;height:100%;min-height:0}.side-page>.smart-table{flex:1;align-self:stretch;min-width:0;min-height:0;height:100%}.fill-page>.smart-table,.fill-main,:is(.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table{flex:1 1 auto;min-height:0}.fill-main{display:flex;flex-direction:column}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card{display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-card{display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-tabs>.n-tabs-nav{flex-shrink:0}.fill-tabs>.n-tabs-pane-wrapper,.fill-tabs>.n-tabs-pane-wrapper>.n-tab-pane,.fill-tabs>.n-tab-pane{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-split{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--fill-split-gap, var(--gap-card, 12px));min-height:0}.fill-split--row{flex-direction:row}.fill-split>.fill-main,.fill-split>.smart-table{flex:1 1 0;min-height:0}.fill-pass,.fill-pass>.n-spin-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-page--soft{height:auto;min-height:100%;overflow:visible}.chart[data-v-558fd76a]{width:100%;height:320px}.code-block[data-v-953af54c]{position:relative;font-size:12px;line-height:1.5}.copy-btn[data-v-953af54c]{position:absolute;top:0;right:0}.cron-editor[data-v-8ed8204a]{width:100%}.cron-rows[data-v-8ed8204a]{display:flex;flex-direction:column;gap:10px;width:100%}.cron-row[data-v-8ed8204a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cron-num[data-v-8ed8204a]{width:96px}.cron-dow[data-v-8ed8204a]{width:120px}.cron-list[data-v-8ed8204a]{flex:1;min-width:200px}.cron-sep[data-v-8ed8204a]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cron-hint[data-v-8ed8204a]{margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.cron-preview[data-v-8ed8204a]{margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-fill);display:flex;flex-direction:column;gap:8px}.cron-warn[data-v-8ed8204a]{margin-bottom:2px}.cron-preview-error[data-v-8ed8204a]{color:var(--color-danger);font-size:var(--font-size-sm)}.cron-preview-row[data-v-8ed8204a]{display:flex;gap:12px;align-items:flex-start}.cron-preview-label[data-v-8ed8204a]{flex:0 0 auto;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:22px}.cron-code[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px}.cron-occurrences[data-v-8ed8204a]{display:flex;flex-wrap:wrap;gap:2px 16px}.cron-occurrence[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px;font-variant-numeric:tabular-nums}.cron-empty[data-v-8ed8204a]{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.detail-page[data-v-6733c96a]{display:flex;flex-direction:column;gap:var(--gap-card, 16px)}.detail-header[data-v-6733c96a]{display:flex;align-items:center;gap:8px}.detail-title[data-v-6733c96a]{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--color-text-primary)}.detail-actions[data-v-6733c96a]{margin-left:auto}.error-boundary[data-v-3b4e3577]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--color-text-secondary)}h2[data-v-3b4e3577]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.desc[data-v-3b4e3577]{margin:0;max-width:460px}.detail[data-v-3b4e3577]{max-width:100%;padding:6px 10px;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-danger);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.export-cols-head[data-v-6b86f7cf]{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--n-border-color)}.smart-form--fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;border-radius:0}.smart-form--fullscreen>.n-card__content{flex:1;min-height:0;overflow:auto}.import-steps[data-v-20fd3250]{margin-bottom:20px}.import-pane[data-v-20fd3250]{min-height:200px}.import-upload-icon[data-v-20fd3250]{margin-bottom:12px;color:var(--n-text-color-3)}.import-mapping-head[data-v-20fd3250],.import-mapping-row[data-v-20fd3250]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.import-mapping-head[data-v-20fd3250]{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--n-text-color-2)}.import-mapping-row[data-v-20fd3250]{margin-bottom:8px}.import-mapping-header[data-v-20fd3250]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.import-strategy[data-v-20fd3250]{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}[data-v-20fd3250] .import-cell{padding:2px;border-radius:4px}[data-v-20fd3250] .import-cell--error{background:var(--color-danger-bg)}[data-v-20fd3250] .import-cell--dup{background:var(--color-warning-bg)}.pw-meter[data-v-81b0f6bf]{margin:-8px 0 14px}.pw-bar[data-v-81b0f6bf]{display:flex;gap:6px}.pw-bar span[data-v-81b0f6bf]{flex:1;height:4px;border-radius:2px;transition:background var(--transition-fast)}.pw-level[data-v-81b0f6bf]{margin-top:6px;font-size:12px}.pw-rules[data-v-81b0f6bf]{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.pw-rules li[data-v-81b0f6bf]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-tertiary)}.pw-rules li.ok[data-v-81b0f6bf]{color:#5aa86e}.select-table[data-v-78ca7f91]{height:520px;min-height:0;display:flex;flex-direction:column;gap:12px}.select-table-search[data-v-78ca7f91]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.select-table-search[data-v-78ca7f91] .n-input{flex:0 1 200px}.select-table-search .keyword-input[data-v-78ca7f91]{flex:1 1 320px;min-width:260px}.select-table-search[data-v-78ca7f91] .n-button{flex:none}.select-table-grid[data-v-78ca7f91]{flex:1;min-height:0}[data-v-78ca7f91] .select-table-row-selected td{background-color:var(--table-selected-bg)}.user-picker[data-v-41b95328]{display:flex;gap:12px;min-height:400px}.panel-header[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;padding:0 0 8px;border-bottom:1px solid var(--n-border-color, #e0e0e6);margin-bottom:8px}.picker-tree[data-v-41b95328]{width:160px;flex-shrink:0;overflow:auto;border-right:1px solid var(--n-border-color, #e0e0e6);padding-right:12px}.picker-table[data-v-41b95328]{flex:1;min-width:0;overflow:hidden}.picker-selected[data-v-41b95328]{width:200px;flex-shrink:0;border-left:1px solid var(--n-border-color, #e0e0e6);padding-left:12px;display:flex;flex-direction:column}.selected-list[data-v-41b95328]{flex:1;overflow:auto;max-height:380px}.selected-item[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.selected-item[data-v-41b95328]:last-child{border-bottom:none}.selected-name[data-v-41b95328]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-account[data-v-41b95328]{color:var(--n-text-color-disabled, #999);font-size:12px;margin-left:2px}.palette[data-v-7f4fa2eb]{width:560px;max-width:92vw;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden}.search[data-v-7f4fa2eb]{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--color-border)}.sicon[data-v-7f4fa2eb]{color:var(--color-text-tertiary);flex-shrink:0}.list[data-v-7f4fa2eb]{padding:8px}.item[data-v-7f4fa2eb]{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary)}.item.active[data-v-7f4fa2eb]{background:var(--color-primary-light);color:var(--color-primary)}.iicon[data-v-7f4fa2eb]{flex-shrink:0}.ititle[data-v-7f4fa2eb]{font-size:var(--font-size-md)}.ititle[data-v-7f4fa2eb] mark{background:transparent;color:var(--color-primary);font-weight:600}.ipath[data-v-7f4fa2eb]{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.empty[data-v-7f4fa2eb]{padding:32px 0}.hint[data-v-7f4fa2eb]{padding:8px 16px;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.site-logo[data-v-88ac0194]{display:block;width:auto;max-width:100%;object-fit:contain}.oauth-brand-badge[data-v-d7509bf4]{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:50%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.oauth-brand-icon[data-v-d7509bf4]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.oauth-brand-letter[data-v-d7509bf4]{font-size:12px;font-weight:700;color:var(--color-text-secondary, #666);line-height:1}.login-form[data-v-edac6de7]{width:100%}.lf-pending-alert[data-v-edac6de7]{margin-bottom:16px;border-radius:10px;text-align:left}.lf-brand[data-v-edac6de7]{display:flex;align-items:center;gap:10px;margin-bottom:18px}.lf-word[data-v-edac6de7]{font-size:22px;font-weight:700;letter-spacing:.2px;color:var(--lf-title, var(--color-text-primary))}.lf-title[data-v-edac6de7]{font-size:var(--font-size-lg);font-weight:600;margin:0 0 22px;color:var(--lf-title, var(--color-text-primary))}.lf-hint-line[data-v-edac6de7]{margin:-14px 0 18px;font-size:13px;color:var(--lf-hint, var(--color-text-tertiary))}.row[data-v-edac6de7]{margin:4px 0 20px}.lf-between[data-v-edac6de7]{display:flex;align-items:center;justify-content:space-between}.lf-link[data-v-edac6de7]{font-size:13px;color:var(--color-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.lf-link[data-v-edac6de7]:hover{opacity:.85}.lf-link-disabled[data-v-edac6de7]{color:var(--lf-hint, var(--color-text-tertiary));cursor:default;pointer-events:none}.lf-captcha[data-v-edac6de7]{display:flex;gap:10px;width:100%;align-items:stretch}.lf-captcha-img[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:#fff;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.lf-captcha-img[data-v-edac6de7] svg{height:100%;width:auto}.lf-send-btn[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0 12px;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:var(--color-fill);font-size:13px;color:var(--lf-title, var(--color-text-secondary));cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.lf-send-btn[data-v-edac6de7]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.lf-send-btn[data-v-edac6de7]:disabled{opacity:.6;cursor:not-allowed}.hero-btn[data-v-edac6de7]{width:100%;height:48px;border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hero-btn[data-v-edac6de7]:hover{transform:translateY(-2px)}.hero-btn[data-v-edac6de7]:active{transform:translateY(0)}.hero-btn[data-v-edac6de7]:disabled{opacity:.7;cursor:not-allowed}.lf-divider[data-v-edac6de7]{display:flex;align-items:center;gap:14px;margin:24px 0 16px}.lf-divider[data-v-edac6de7]:before,.lf-divider[data-v-edac6de7]:after{content:"";flex:1;height:1px;background:var(--lf-border, var(--color-border))}.lf-divider span[data-v-edac6de7]{font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-sso[data-v-edac6de7]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.lf-sso-btn[data-v-edac6de7]{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:inherit;text-decoration:none;cursor:pointer;overflow:hidden;box-sizing:border-box;flex-shrink:0}.lf-sso-btn[data-v-edac6de7]:hover{text-decoration:none;color:inherit}.lf-sso-btn[data-v-edac6de7]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lf-sso-more[data-v-edac6de7]{width:32px;height:32px;border:1px solid var(--lf-border, var(--color-border));background:var(--color-fill, #f5f5f5);color:var(--color-text-tertiary, #999)}.lf-foot[data-v-edac6de7]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-foot a[data-v-edac6de7]{color:inherit;text-decoration:none}.lf-foot a[data-v-edac6de7]:hover{color:var(--color-primary)}.lf-ver[data-v-edac6de7]{opacity:.75}.aurora[data-v-e994c489]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(140% 120% at 50% 0%,#12162b,#0a0b12 55%,#06060c)}.aurora[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%)}.aurora[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(120% 120% at 50% 42%,transparent 52%,rgba(0,0,0,.6) 100%)}.aurora-bg[data-v-e994c489]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;background:radial-gradient(38% 38% at 18% 22%,var(--a1),transparent 68%),radial-gradient(42% 42% at 82% 18%,var(--a2),transparent 70%),radial-gradient(48% 48% at 60% 88%,var(--a3),transparent 72%),radial-gradient(34% 34% at 88% 68%,var(--a4),transparent 66%);filter:blur(28px);animation:aurora-move-e994c489 18s ease-in-out infinite alternate}@keyframes aurora-move-e994c489{0%{transform:translate3d(-3%,-2%,0) rotate(0) scale(1.05)}50%{transform:translate3d(3%,2%,0) rotate(4deg) scale(1.16)}to{transform:translate3d(-2%,3%,0) rotate(-3deg) scale(1.08)}}.stars[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 70% 62%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 42% 82%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 85% 22%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 55% 14%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.5px 1.5px at 12% 66%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 92% 48%,rgba(255,255,255,.45),transparent 60%);animation:twinkle-e994c489 5s ease-in-out infinite}@keyframes twinkle-e994c489{0%,to{opacity:.45}50%{opacity:.9}}.orb[data-v-e994c489]{position:absolute;z-index:0;border-radius:50%;filter:blur(55px);opacity:.55}.orb-1[data-v-e994c489]{width:340px;height:340px;background:var(--a1);top:-60px;left:-40px;animation:float-y-e994c489 14s ease-in-out infinite}.orb-2[data-v-e994c489]{width:280px;height:280px;background:var(--a4);bottom:-80px;right:-40px;animation:float-y-e994c489 16s ease-in-out infinite reverse}.orb-3[data-v-e994c489]{width:200px;height:200px;background:var(--a3);top:38%;right:18%;animation:float-y-e994c489 20s ease-in-out infinite}@keyframes float-y-e994c489{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.aurora-content[data-v-e994c489]{position:relative;z-index:3;width:100%;max-width:520px;padding:24px}.halo[data-v-e994c489]{position:absolute;z-index:0;top:8px;right:8px;bottom:8px;left:8px;border-radius:36px;background:conic-gradient(from 0deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a1));filter:blur(48px);opacity:.6;animation:spin-e994c489 16s linear infinite}@keyframes spin-e994c489{to{transform:rotate(360deg)}}.glass-card[data-v-e994c489]{--lf-title: #fff;--lf-hint: rgba(255, 255, 255, .5);position:relative;z-index:1;width:100%;padding:46px;border-radius:20px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);box-shadow:0 30px 80px #0000008c,0 0 60px -12px var(--a2),inset 0 1px #fff3;overflow:hidden}.glass-card[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,var(--a1),transparent 45%,var(--a2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.9}.glass-card[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.1) 48%,transparent 60%);background-size:220% 100%;background-repeat:no-repeat;animation:sheen-e994c489 8s ease-in-out infinite}@keyframes sheen-e994c489{0%{background-position:180% 0}55%,to{background-position:-60% 0}}.grain[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.aurora.light[data-v-e994c489]{background:radial-gradient(140% 120% at 50% 0%,#eef1fb,#f6f7fc 55%,#fff)}.aurora.light[data-v-e994c489]:before{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}.aurora.light[data-v-e994c489]:after{background:radial-gradient(120% 120% at 50% 42%,transparent 55%,rgba(120,130,180,.12) 100%)}.aurora.light .stars[data-v-e994c489]{display:none}.aurora.light .halo[data-v-e994c489]{opacity:.5}.aurora.light .glass-card[data-v-e994c489]{--lf-title: var(--color-text-primary);--lf-hint: var(--color-text-tertiary);background:#ffffff9e;border:1px solid rgba(214,218,235,.9);box-shadow:0 30px 80px #505aa02e,0 0 60px -12px var(--a2),inset 0 1px #ffffffe6}.aurora.light .glass-card[data-v-e994c489]:before{display:none}.aurora.light .glass-card[data-v-e994c489]:after{display:none}@media(max-width:480px){.aurora-content[data-v-e994c489]{padding:16px}.glass-card[data-v-e994c489]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.aurora-bg[data-v-e994c489],.orb[data-v-e994c489],.stars[data-v-e994c489],.halo[data-v-e994c489],.glass-card[data-v-e994c489]:after{animation:none}.glass-card[data-v-e994c489]:after{display:none}}.split[data-v-75743368]{height:100dvh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--color-bg-body)}.panel[data-v-75743368]{position:relative;overflow:hidden;background:var(--color-bg-body);border-right:1px solid var(--color-border)}.panel[data-v-75743368]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(127,127,127,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,127,.08) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%);mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%)}.panel-aurora[data-v-75743368]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(40% 40% at 25% 20%,var(--a1),transparent 68%),radial-gradient(45% 45% at 80% 78%,var(--a2),transparent 70%);filter:blur(45px);opacity:.9;animation:panel-move-75743368 22s ease-in-out infinite alternate}@keyframes panel-move-75743368{0%{transform:translate3d(-3%,-2%,0) scale(1.05)}to{transform:translate3d(3%,3%,0) scale(1.12)}}.panel-inner[data-v-75743368]{position:relative;z-index:1;padding:64px 56px;display:flex;flex-direction:column;height:100%;justify-content:center}.logo[data-v-75743368]{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:#2a3c82}.bar[data-v-75743368]{width:40px;height:3px;border-radius:2px;margin:28px 0 20px}.headline[data-v-75743368]{font-size:42px;line-height:1.2;font-weight:800;color:var(--color-text-primary);margin:0}.sub[data-v-75743368]{color:var(--color-text-secondary);margin:16px 0 28px}.points[data-v-75743368]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.points li[data-v-75743368]{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary)}.form-wrap[data-v-75743368]{position:relative;display:flex;flex-direction:column;background:var(--color-bg-container)}.mid[data-v-75743368]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.form-inner[data-v-75743368]{width:100%;max-width:340px;animation:fade-up-75743368 .6s cubic-bezier(.16,1,.3,1) both}.greet[data-v-75743368]{font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 6px}.greet-sub[data-v-75743368]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 26px}.foot[data-v-75743368]{margin:0;padding:18px 24px 22px;text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.foot a[data-v-75743368]{color:inherit;text-decoration:none}.foot a[data-v-75743368]:hover{color:var(--color-primary)}.foot-ver[data-v-75743368]{margin-left:8px;opacity:.75}@keyframes fade-up-75743368{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:900px){.split[data-v-75743368]{grid-template-columns:1fr}.panel[data-v-75743368]{display:none}}@media(prefers-reduced-motion:reduce){.panel-aurora[data-v-75743368],.form-inner[data-v-75743368]{animation:none}}.spotlight[data-v-2d0bde1c]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-body)}.mesh[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(30% 40% at 15% 20%,var(--s1),transparent 60%),radial-gradient(30% 40% at 85% 80%,var(--s2),transparent 60%);opacity:.9}.spot[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(340px 340px at var(--mx) var(--my),var(--spot),transparent 60%);transition:background .12s ease-out}.card[data-v-2d0bde1c]{position:relative;z-index:2;width:100%;max-width:460px;padding:46px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);animation:fade-up-2d0bde1c .6s cubic-bezier(.16,1,.3,1) both}@keyframes fade-up-2d0bde1c{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:480px){.spotlight[data-v-2d0bde1c]{padding:0 16px}.card[data-v-2d0bde1c]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.spot[data-v-2d0bde1c]{transition:none}.card[data-v-2d0bde1c]{animation:none}}.login-shell[data-v-846afb99]{position:relative;height:100dvh;overflow:hidden}.login-topbar[data-v-846afb99]{position:fixed;top:20px;right:24px;z-index:10;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.login-tools[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.tool-btn[data-v-846afb99]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border:none;cursor:pointer;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.tool-btn[data-v-846afb99]:hover{color:#fff}.tool-btn[data-v-846afb99]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skin-switch[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.skin-seg[data-v-846afb99]{border:none;cursor:pointer;padding:6px 16px;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.skin-seg[data-v-846afb99]:hover{color:#fff}.skin-seg.active[data-v-846afb99]{background:var(--color-primary);color:#fff}.oauth-cb[data-v-843f1b99]{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-layout, #f5f6f8)}.oauth-box[data-v-843f1b99]{display:flex;flex-direction:column;align-items:center;gap:14px}.oauth-msg[data-v-843f1b99]{font-size:15px;color:var(--color-text-primary)}.oauth-sub[data-v-843f1b99]{font-size:13px;color:var(--color-text-tertiary)}.oauth-err-icon[data-v-843f1b99]{font-size:44px;color:var(--color-error, #e88080)}.mfa-page[data-v-b6e82c2c]{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--color-body, #f5f7fa)}.mfa-card[data-v-b6e82c2c]{width:min(100%,520px)}.mfa-header[data-v-b6e82c2c]{display:flex;align-items:center;justify-content:space-between;gap:12px}.mfa-qr-wrap[data-v-b6e82c2c]{display:flex;justify-content:center;margin:0 0 16px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.mfa-manual-hint[data-v-b6e82c2c]{margin:-8px 0 12px;font-size:12px;color:var(--color-text-tertiary, #9ca3af);line-height:1.5}.recovery-codes[data-v-b6e82c2c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-codes[data-v-b6e82c2c] .n-alert,.recovery-codes[data-v-b6e82c2c] .n-button{grid-column:1 / -1}.recovery-code[data-v-b6e82c2c]{padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-hover, #f4f4f5);border-radius:4px}@media(max-width:480px){.mfa-page[data-v-b6e82c2c]{padding:12px}.recovery-codes[data-v-b6e82c2c]{grid-template-columns:1fr}}.boot-error[data-v-c523298c]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--color-bg-app)}h1[data-v-c523298c]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-c523298c]{margin:0 0 8px;max-width:480px;color:var(--color-text-secondary)}.wrap[data-v-f50f3abd]{min-height:100dvh;background:var(--color-bg-body);padding:80px 24px;display:flex;flex-direction:column;align-items:center}.head[data-v-f50f3abd]{display:flex;align-items:center;gap:12px;margin-bottom:32px}.head h1[data-v-f50f3abd]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.grid[data-v-f50f3abd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap-card);width:100%;max-width:900px}.card[data-v-f50f3abd]{position:relative;display:flex;align-items:center;gap:14px;padding:20px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.card.current[data-v-f50f3abd]{border-color:var(--color-primary)}.card[data-v-f50f3abd]:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:var(--shadow-2)}.card[data-v-f50f3abd]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ico[data-v-f50f3abd]{color:var(--color-primary)}.name[data-v-f50f3abd]{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.code[data-v-f50f3abd]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.def[data-v-f50f3abd]{position:absolute;top:10px;right:12px}.row[data-v-195679a9]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.lbl[data-v-195679a9]{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.ctl[data-v-195679a9]{display:flex;align-items:center;min-width:0}.grid[data-v-66443dff]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-inline:3px}.cell[data-v-66443dff]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.card[data-v-66443dff]{width:100%;height:62px;padding:6px;border:none;border-radius:4px;background:var(--color-bg-container);box-shadow:0 1px 3px #141b2d1a,0 0 0 2px transparent;cursor:pointer;transition:box-shadow .15s ease}.cell:hover .card[data-v-66443dff],.card.on[data-v-66443dff]{box-shadow:0 1px 3px #141b2d1a,0 0 0 2px var(--color-primary)}.inner[data-v-66443dff]{--strong: var(--color-primary);--p300: color-mix(in srgb, var(--color-primary) 58%, var(--color-bg-container));--p200: color-mix(in srgb, var(--color-primary) 34%, var(--color-bg-container));display:flex;gap:5px;width:100%;height:100%}.inner.row[data-v-66443dff]{flex-direction:row}.inner.col[data-v-66443dff]{flex-direction:column}.inner i[data-v-66443dff],.inner .vwrap[data-v-66443dff],.inner .hwrap[data-v-66443dff]{border-radius:3px}.strong[data-v-66443dff]{background:var(--strong)}.p300[data-v-66443dff]{background:var(--p300)}.p200[data-v-66443dff]{background:var(--p200)}.sider[data-v-66443dff]{width:18%;flex-shrink:0}.rail[data-v-66443dff]{width:9%;flex-shrink:0}.subsider[data-v-66443dff]{width:16%;flex-shrink:0}.header[data-v-66443dff]{flex-shrink:0;height:13px}.header.full[data-v-66443dff]{width:100%}.main[data-v-66443dff]{flex:1}.vwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:column;gap:5px}.vwrap .header[data-v-66443dff]{width:100%}.hwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:row;gap:5px}.label[data-v-66443dff]{margin:0;text-align:center;font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-secondary)}.label.on[data-v-66443dff]{color:var(--color-primary);font-weight:var(--font-weight-medium)}.tabs[data-v-adecf714]{height:100%}.footer-actions[data-v-adecf714]{display:flex;flex-direction:column;gap:8px;width:100%}.ri[data-v-adecf714]{margin-right:5px;font-size:15px}.seg[data-v-adecf714]{display:flex;width:100%}.seg[data-v-adecf714] .n-radio-button{flex:1;display:flex;align-items:center;justify-content:center}.accents[data-v-adecf714]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.dot[data-v-adecf714]{position:relative;width:100%;max-width:30px;margin:0 auto;aspect-ratio:1;padding:0;border:none;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.dot[data-v-adecf714]:hover{transform:scale(1.12)}.dot.on[data-v-adecf714]{transform:scale(1.1);box-shadow:0 0 0 2px var(--color-bg-container),0 0 0 4px var(--color-primary)}.tick[data-v-adecf714]{color:#fff;font-size:14px;filter:drop-shadow(0 0 1px rgba(0,0,0,.35))}.notice-panel[data-v-1ac49123]{width:360px;max-width:92vw}.notice-head[data-v-1ac49123]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.notice-title[data-v-1ac49123]{font-weight:600;font-size:var(--font-size-md)}.notice-empty[data-v-1ac49123]{padding:32px 0}.notice-list[data-v-1ac49123]{margin:0;padding:0;list-style:none}.notice-item[data-v-1ac49123]{position:relative;display:flex;gap:8px;padding:12px 16px;cursor:pointer;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15));transition:background-color .2s}.notice-item[data-v-1ac49123]:hover{background-color:#80808014}.notice-item.unread[data-v-1ac49123]{background-color:color-mix(in srgb,var(--color-primary) 4%,transparent)}.notice-item.unread[data-v-1ac49123]:hover{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent)}.notice-item.read[data-v-1ac49123]{opacity:.55}.dot[data-v-1ac49123]{position:absolute;left:6px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--color-primary, #d03050)}.notice-body[data-v-1ac49123]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.line1[data-v-1ac49123]{display:flex;align-items:center;gap:6px;min-width:0}.item-title[data-v-1ac49123]{flex:1;min-width:0;font-size:var(--font-size-sm)}.item-title.unread[data-v-1ac49123]{font-weight:600}.item-actions-mark[data-v-1ac49123]{flex-shrink:0;color:var(--color-primary, #d03050)}.item-snippet[data-v-1ac49123]{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-time[data-v-1ac49123]{font-size:11px}.notice-foot[data-v-1ac49123]{display:flex;justify-content:center;padding:8px;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15))}.bar[data-v-8dc4f67f]{height:100%;display:flex;align-items:center;gap:12px;padding:0 16px}.left[data-v-8dc4f67f]{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.brand[data-v-8dc4f67f]{display:flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:600;flex-shrink:0}.brand-name[data-v-8dc4f67f]{font-size:var(--font-size-md)}.title[data-v-8dc4f67f]{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uname[data-v-8dc4f67f]{margin-left:6px}.center[data-v-8dc4f67f]{flex:1;min-width:0;overflow:hidden}.right[data-v-8dc4f67f]{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}@media(max-width:767px){.bar[data-v-8dc4f67f]{gap:8px;padding:0 8px}.mobile-hide[data-v-8dc4f67f]{display:none}}.sidenav[data-v-0b56822a]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-container);overflow:hidden}.brand[data-v-0b56822a]{display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 22px;color:var(--color-text-primary);font-weight:600;overflow:hidden;white-space:nowrap;flex-shrink:0}.rail .brand[data-v-0b56822a]{padding:0;justify-content:center}.brand-name[data-v-0b56822a]{font-size:20px;font-weight:700;color:var(--color-text-primary)}.sidenav[data-v-0b56822a] .n-scrollbar{flex:1;min-height:0}.tabsbar[data-v-8fc6542a]{height:42px;display:flex;align-items:center;padding:0 8px;background:var(--color-bg-container);border-bottom:1px solid var(--color-border)}.strip[data-v-8fc6542a]{display:flex;align-items:center;gap:6px;padding:5px 0}.chip[data-v-8fc6542a]{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-fill);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s,border-color .15s}.chip[data-v-8fc6542a]:hover{color:var(--color-text-primary)}.chip.active[data-v-8fc6542a]{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.chip[data-v-8fc6542a]:focus-visible,.chip-close[data-v-8fc6542a]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chip-pin[data-v-8fc6542a]{opacity:.7}.chip-close[data-v-8fc6542a]{border-radius:50%;opacity:.6}.chip-close[data-v-8fc6542a]:hover{opacity:1;background:var(--color-fill)}.layout[data-v-aa6e9642]{display:grid;height:100dvh;overflow:hidden;background:var(--color-bg-app)}.mode-vertical[data-v-aa6e9642],.mode-vertical-mix[data-v-aa6e9642],.mode-vertical-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"aside header" "aside content"}.mode-top-hybrid-sidebar-first[data-v-aa6e9642],.mode-top-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header header" "aside content"}.mode-horizontal[data-v-aa6e9642],.mode-mobile[data-v-aa6e9642]{grid-template-columns:1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header" "content"}.aside[data-v-aa6e9642]{grid-area:aside;height:100%;overflow:hidden;border-right:1px solid var(--color-border);background:var(--color-bg-container);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:width .2s ease}.aside--mix[data-v-aa6e9642]{display:flex}.aside--mix .rail[data-v-aa6e9642]{width:var(--rail-w);flex-shrink:0;border-right:1px solid var(--color-border)}.aside--mix .l2col[data-v-aa6e9642]{flex:1;min-width:0}.header[data-v-aa6e9642]{grid-area:header;display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.header--static[data-v-aa6e9642]{-webkit-backdrop-filter:none;backdrop-filter:none}.hbg[data-v-aa6e9642]{align-self:center;margin-left:8px}.apph[data-v-aa6e9642]{flex:1;min-width:0;height:100%}.content[data-v-aa6e9642]{grid-area:content;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabs[data-v-aa6e9642]{flex-shrink:0}.page[data-v-aa6e9642]{flex:1;min-height:0;overflow:auto;padding:var(--pad-page)}.personal-layout[data-v-45e1c4ea]{display:flex;gap:16px;align-items:stretch;min-height:100%}.personal-sider[data-v-45e1c4ea]{width:200px;flex-shrink:0;background:var(--color-bg-container, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:8px 0 12px}.personal-main[data-v-45e1c4ea]{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.personal-mobile-nav[data-v-45e1c4ea]{max-width:360px}.personal-content[data-v-45e1c4ea]{min-width:0}.personal-layout.is-mobile[data-v-45e1c4ea]{flex-direction:column}.avatar-field[data-v-5c4afffc]{display:flex;align-items:center;gap:12px}.sec-desc[data-v-7afb110e]{margin:0 0 16px;color:var(--color-text-2, #666);line-height:1.5}.sec-note[data-v-7afb110e]{margin:20px 0 0;font-size:12px;color:var(--color-text-3, #999);line-height:1.5}[data-v-83e5e6b1] .device-cell{display:flex;align-items:center;gap:8px}.bind-page[data-v-3ab6b190]{max-width:920px}.bind-header[data-v-3ab6b190]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.bind-title[data-v-3ab6b190]{margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.3;color:var(--color-text-primary, #1f1f1f)}.bind-hint[data-v-3ab6b190]{margin:0;max-width:520px;font-size:13px;line-height:1.55;color:var(--color-text-secondary, #666)}.bind-summary[data-v-3ab6b190]{display:inline-flex;align-items:baseline;gap:4px;padding:8px 12px;border-radius:10px;background:var(--color-fill, #f5f5f5);font-size:13px;color:var(--color-text-secondary, #666);flex-shrink:0}.bind-summary-num[data-v-3ab6b190]{font-size:18px;font-weight:700;color:var(--color-primary, #646cff);font-variant-numeric:tabular-nums}.bind-summary-sep[data-v-3ab6b190]{opacity:.5}.bind-summary-label[data-v-3ab6b190]{margin-left:4px}.bind-alert[data-v-3ab6b190]{margin-bottom:16px;border-radius:10px}.bind-empty[data-v-3ab6b190]{padding:48px 0}.bind-grid[data-v-3ab6b190]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.bind-card[data-v-3ab6b190] .n-card-content{display:flex;flex-direction:column;gap:14px}.bind-card[data-v-3ab6b190]:hover{box-shadow:0 4px 14px #0000000f}.bind-card.bind-card--bound[data-v-3ab6b190]{border-color:color-mix(in srgb,var(--color-success, #18a058) 40%,var(--color-border, #e8e8e8));background:color-mix(in srgb,var(--color-success, #18a058) 4%,var(--color-bg-container, #fff))}.bind-card.bind-card--disabled[data-v-3ab6b190]{opacity:.78;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.bind-card-main[data-v-3ab6b190]{display:flex;align-items:flex-start;gap:12px;min-width:0}.bind-avatar[data-v-3ab6b190]{position:relative;display:inline-flex;width:48px;height:48px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:visible;background:var(--color-fill, #f5f5f5)}.bind-avatar[data-v-3ab6b190] .oauth-brand-badge,.bind-avatar[data-v-3ab6b190] img{border-radius:50%;overflow:hidden}.bind-avatar--bound[data-v-3ab6b190]{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-success, #18a058) 35%,transparent)}.bind-check[data-v-3ab6b190]{position:absolute;right:-2px;bottom:-2px;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--color-success, #18a058);color:#fff;border:2px solid var(--color-bg-container, #fff);line-height:0}.bind-meta[data-v-3ab6b190]{min-width:0;flex:1}.bind-title-row[data-v-3ab6b190]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.bind-name[data-v-3ab6b190]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.bind-code[data-v-3ab6b190]{display:inline-block;font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.bind-time[data-v-3ab6b190],.bind-free-tip[data-v-3ab6b190],.bind-disabled-tip[data-v-3ab6b190]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.bind-time[data-v-3ab6b190]{color:var(--color-text-secondary, #666)}.bind-actions[data-v-3ab6b190]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8);min-height:36px}.bind-na[data-v-3ab6b190]{font-size:12px;color:var(--color-text-tertiary, #999)}.nf[data-v-6b886879]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg-body)}.code[data-v-6b886879]{font-size:96px;font-weight:800;line-height:1}.msg[data-v-6b886879]{color:var(--color-text-secondary);font-size:var(--font-size-md)}.view[data-v-e7ff753e]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-e7ff753e]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-e7ff753e]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hi[data-v-e7ff753e]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-e7ff753e]{color:var(--color-text-secondary);margin-top:4px}.quick[data-v-e7ff753e]{display:flex;flex-wrap:wrap;gap:12px}.notice-row[data-v-e7ff753e]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.notice-title[data-v-e7ff753e]{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.dot[data-v-e7ff753e]{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.notice-time[data-v-e7ff753e]{flex-shrink:0;color:var(--color-text-secondary);font-size:12px}.view[data-v-a20971bd]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-a20971bd]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-a20971bd]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hi[data-v-a20971bd]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:4px}.stat[data-v-a20971bd]{display:flex;align-items:center;gap:16px}.stat-body[data-v-a20971bd]{min-width:0}.stat-ico[data-v-a20971bd]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-a20971bd]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:2px}.embed-wrap[data-v-dcc7858a]{height:100%;min-height:calc(100dvh - 160px)}.embed[data-v-dcc7858a]{display:block;width:100%;height:100%;min-height:calc(100dvh - 160px);border:0}.missing-route[data-v-1e499090]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-secondary);text-align:center}h1[data-v-1e499090]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-1e499090]{margin:0}code[data-v-1e499090]{padding:6px 8px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:4px;color:var(--color-danger)}.cache[data-v-21abb77a]{display:flex;flex-direction:column;gap:12px}.action-card[data-v-21abb77a]{height:100%}.head[data-v-21abb77a]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.desc[data-v-21abb77a]{margin:10px 0 14px;font-size:13px;line-height:1.6;color:var(--color-text-secondary, #999);min-height:42px}.note[data-v-21abb77a]{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--color-text-secondary, #999)}.group-extra-hint[data-v-3cb9c09b]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.ea[data-v-71792251]{max-width:920px}.ea-alert[data-v-71792251]{margin-bottom:16px;border-radius:10px}.ea-empty[data-v-71792251]{padding:48px 0}.ea-toolbar[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.ea-summary[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.ea-toolbar-actions[data-v-71792251]{display:flex;align-items:center;gap:8px}.ea-grid[data-v-71792251]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ea-card[data-v-71792251]{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--color-border, #e8e8e8);background:var(--color-bg-container, #fff);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.ea-card[data-v-71792251]:hover{box-shadow:0 4px 14px #0000000f}.ea-card--off[data-v-71792251]{opacity:.85;background:var(--color-fill-quaternary, #fafafa)}.ea-card--on[data-v-71792251]{border-color:color-mix(in srgb,var(--color-primary, #18a058) 35%,var(--color-border, #e8e8e8))}.ea-card--na[data-v-71792251]{opacity:.72;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.ea-card-main[data-v-71792251]{display:flex;align-items:flex-start;gap:12px;min-width:0}.ea-avatar[data-v-71792251]{display:inline-flex;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--color-fill, #f5f5f5)}.ea-meta[data-v-71792251]{min-width:0;flex:1}.ea-title-row[data-v-71792251]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ea-name[data-v-71792251]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.ea-code[data-v-71792251]{font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.ea-na-tip[data-v-71792251]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.ea-switch[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8)}.ea-switch+.ea-switch[data-v-71792251]{margin-top:-4px;padding-top:0;border-top:0}.ea-switch-label[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.sms-hint[data-v-c20e33fd]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.dict-layout[data-v-a7b1ad76]{flex-wrap:wrap;gap:var(--gap-card)}.dict-pane[data-v-a7b1ad76]{flex:1 1 380px;min-width:0}.clear-body[data-v-8324d44c]{display:flex;flex-direction:column;gap:10px}.clear-hint[data-v-8324d44c]{font-size:12px;color:var(--color-text-tertiary)}.attempts-title[data-v-8324d44c]{margin:16px 0 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.log-output[data-v-8324d44c]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-family-mono, ui-monospace, monospace);font-size:12px;line-height:1.5}.log-error[data-v-8324d44c]{color:var(--color-danger)}.view[data-v-34ed407f]{gap:var(--gap-card)}.job-tables[data-v-34ed407f],.job-tables[data-v-34ed407f]>*{min-height:240px}.stat[data-v-34ed407f]{display:flex;align-items:center;gap:16px}.stat-ico[data-v-34ed407f]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-34ed407f]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-34ed407f]{color:var(--color-text-secondary);margin-top:2px}.kv-editor[data-v-aabac178]{display:flex;flex-direction:column;gap:8px;width:100%}.kv-row[data-v-aabac178]{display:flex;gap:8px;align-items:center}.kv-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary)}.job-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;line-height:1.4}.job-inline[data-v-aabac178]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}.job-sec-text[data-v-aabac178]{font-size:var(--font-size-sm);font-weight:600}.job-sections[data-v-aabac178] .n-collapse-item{margin:0}.job-sections[data-v-aabac178] .n-collapse-item__header{padding:10px 0}.job-sections[data-v-aabac178] .n-collapse-item__content-inner{padding:4px 0 12px}.job-sections[data-v-aabac178] .n-form-item{margin-bottom:14px}.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:empty,.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:has(:empty){min-height:0}.job-advanced[data-v-aabac178] .n-form-item{margin-bottom:18px}.job-advanced[data-v-aabac178] .n-form-item-label{padding-right:12px}.exception[data-v-d5b09c10],.exception[data-v-9e9a338d]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.5;color:var(--color-danger)}.perm-hint[data-v-0a7963e1],.link-hint[data-v-5b265f65]{font-size:12px;color:var(--color-text-tertiary, #999);line-height:1.5}.view[data-v-d019bdd8]{display:flex;flex-direction:column;gap:var(--gap-card)}[data-v-d019bdd8] .row-no{font-variant-numeric:tabular-nums;white-space:nowrap}[data-v-d019bdd8] .row-no__path{color:var(--color-text-disabled)}[data-v-d019bdd8] .row-no__self{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.hint[data-v-ea6672c5]{font-size:12px;color:var(--color-text-secondary, #999)}.monitor[data-v-8ea4d493]{display:flex;flex-direction:column;gap:12px}.bar[data-v-8ea4d493]{display:flex;justify-content:flex-end}.metric[data-v-8ea4d493]{font-size:28px;font-weight:600;line-height:1.2;margin-bottom:10px}.metric.small[data-v-8ea4d493]{font-size:18px}.unit[data-v-8ea4d493]{font-size:16px;margin-left:2px;color:var(--color-text-secondary, #999)}.sub[data-v-8ea4d493]{margin-top:8px;font-size:12px;color:var(--color-text-secondary, #999)}.rows[data-v-8ea4d493]{display:grid;gap:8px;font-size:13px}.rows .k[data-v-8ea4d493]{display:inline-block;width:88px;color:var(--color-text-secondary, #999)}.rows .v[data-v-8ea4d493]{word-break:break-all}.notice-actions-editor[data-v-5c6d1da0]{width:100%}.notice-action-row[data-v-5c6d1da0]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.notice-actions-hint[data-v-5c6d1da0]{display:block;margin-top:4px;font-size:12px;line-height:1.4}.view[data-v-72e7ef38],.view[data-v-ef7d111d]{gap:var(--gap-card)}.grant-menu-table[data-v-6c2563ee]{display:flex;flex-direction:column;gap:10px}.grant-toolbar[data-v-6c2563ee]{display:flex;gap:8px}.grant-grid[data-v-6c2563ee]{border:1px solid var(--n-border-color, #e0e0e6);border-radius:4px;font-size:13px;overflow:hidden}.grant-header[data-v-6c2563ee]{display:flex;background:var(--n-th-color, #fafafc);font-weight:600;font-size:12px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-header>div[data-v-6c2563ee]{padding:8px 12px}.grant-group[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-group[data-v-6c2563ee]:last-child{border-bottom:none}.grant-group>.col-catalog[data-v-6c2563ee]{display:flex;align-items:center;gap:4px;padding:8px 12px;border-right:1px solid var(--n-border-color, #e0e0e6);cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-arrow[data-v-6c2563ee]{display:inline-block;font-size:10px;transition:transform .2s;color:var(--n-text-color-disabled, #999)}.collapse-arrow.is-collapsed[data-v-6c2563ee]{transform:rotate(-90deg)}.group-rows[data-v-6c2563ee]{flex:1;min-width:0}.grant-row[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-row[data-v-6c2563ee]:last-child{border-bottom:none}.col-catalog[data-v-6c2563ee]{width:130px;flex-shrink:0}.col-menu[data-v-6c2563ee]{width:140px;flex-shrink:0;display:flex;align-items:center;padding:6px 12px;border-right:1px solid var(--n-border-color, #e0e0e6)}.anchor-tag[data-v-6c2563ee]{font-size:12px}.col-buttons[data-v-6c2563ee]{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 12px;min-width:0}.no-buttons[data-v-6c2563ee]{color:var(--n-text-color-disabled, #c0c0c0)}.grant-empty[data-v-6c2563ee]{text-align:center;padding:24px;color:var(--n-text-color-disabled, #c0c0c0)}.reset-hint[data-v-104f8da0]{margin:0 0 12px;font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary, #888)}.pw-field[data-v-f2afa7e7]{flex:1;min-width:0}.avatar-field[data-v-f2afa7e7]{display:flex;align-items:center;gap:12px}.org-filter[data-v-48cff6c5]{flex:0 0 200px}.org-filter[data-v-48cff6c5] .n-tree{flex:1;min-height:0;overflow:auto}.org-filter-head[data-v-48cff6c5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.org-filter-title[data-v-48cff6c5]{font-weight:600;font-size:var(--font-size-sm, 13px)}
1
+ .reauth-hint[data-v-f489ff1a]{margin:0 0 12px;color:var(--n-text-color-3);font-size:13px;line-height:1.5}:root{--color-gray-900: #181a2a;--color-gray-800: #2f313f;--color-gray-700: #5d5f6a;--color-gray-600: #7b7c85;--color-gray-500: #85868e;--color-gray-400: #bababf;--color-gray-300: #d1d1d1;--color-gray-200: #e3e3e3;--color-gray-100: #f1f1f1;--color-gray-50: #f0f0f0;--color-white: #ffffff;--color-primary: #646cff;--color-primary-hover: #7d84ff;--color-primary-pressed: #5259d1;--color-primary-light: #f0f0ff;--color-success: #00a43b;--color-success-bg: #e0f4e7;--color-warning: #a88400;--color-warning-bg: #fff8e0;--color-danger: #d15054;--color-danger-bg: #ffeced;--color-info: #0090b5;--color-info-bg: #e0f2f6;--color-bg-body: #f2f8f5;--color-bg-app: linear-gradient( 135deg, #f7fbf9 0%, #edf7f3 55%, #f7fbf9 100% );--color-bg-container: rgba(255, 255, 255, .78);--color-bg-container-solid: #fefefe;--color-bg-elevated: #ffffff;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-border: #d7dbe0;--color-border-strong: #bfc5cd;--color-fill: #eef1f5;--color-fill-hover: #e5e9ef;--color-bg-input: #ffffff;--color-fill-disabled: #eef1f5;--color-mask: rgba(24, 26, 42, .45);--color-header-bg: rgba(255, 255, 255, .82);--font-family-base: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs: 12px;--line-height-xs: 18px;--font-size-sm: 13px;--line-height-sm: 20px;--font-size-base: 14px;--line-height-base: 22px;--font-size-md: 16px;--line-height-md: 24px;--font-size-lg: 20px;--line-height-lg: 28px;--font-size-xl: 24px;--line-height-xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-1: 0 1px 2px rgba(24, 26, 42, .05), 0 2px 6px rgba(24, 26, 42, .06);--shadow-2: 0 10px 30px rgba(24, 26, 42, .12);--shadow-3: 0 16px 48px rgba(24, 26, 42, .18);--transition-fast: .15s ease;--transition-base: .2s ease}:root[data-theme=dark]{--color-primary: #14b8a6;--color-primary-hover: #2dd4bf;--color-primary-pressed: #0f766e;--color-primary-light: rgba(20, 184, 166, .16);--color-success: #34d399;--color-success-bg: rgba(16, 185, 129, .14);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .14);--color-danger: #fb7185;--color-danger-bg: rgba(244, 63, 94, .16);--color-info: #38bdf8;--color-info-bg: rgba(56, 189, 248, .14);--color-bg-body: #020617;--color-bg-app: linear-gradient( 135deg, #020617 0%, #0f172a 55%, #020617 100% );--color-bg-container: rgba(18, 28, 46, .9);--color-bg-container-solid: #121c2e;--color-bg-elevated: #182234;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-disabled: #64748b;--color-border: rgba(71, 85, 105, .4);--color-border-strong: rgba(100, 116, 139, .5);--color-fill: #0f172a;--color-fill-hover: #1a2436;--color-bg-input: #0f172a;--color-fill-disabled: #1b2434;--color-mask: rgba(2, 6, 23, .72);--color-header-bg: rgba(15, 23, 42, .7);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 2px 8px rgba(2, 6, 23, .3);--shadow-2: 0 10px 30px rgba(2, 6, 23, .45), 0 0 0 1px rgba(51, 65, 85, .35);--shadow-3: 0 16px 48px rgba(2, 6, 23, .55), 0 0 0 1px rgba(51, 65, 85, .4)}:root{--pad-page: 14px;--gap-card: 12px;--row-h: 58px;--sidebar-w: 236px;--sidebar-w-collapsed: 76px;--rail-w: 64px;--header-h: 62px}:root[data-density=compact]{--pad-page: 10px;--gap-card: 8px;--row-h: 48px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-app);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{background-attachment:fixed}a{color:var(--color-primary);text-decoration:none}.tabular{font-variant-numeric:tabular-nums}.n-card{border:1px solid var(--color-border)}:root:not([data-theme=dark]) .n-card:not(.n-modal){background:linear-gradient(145deg,#ffffffe0,#ffffffad);box-shadow:inset 0 1px #ffffffe6,0 8px 24px #2d695a14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}:root:not([data-theme=dark]) .n-card.n-modal{background:var(--color-bg-elevated);box-shadow:var(--shadow-3);backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=dark] .n-card{background:#121c2e;border-color:#47556966;box-shadow:0 8px 24px #02061738}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b85}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}:root[data-theme=dark] ::selection{background:#14b8a647;color:#ecfeff}html.theme-switching,html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#90939966;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#909399b3}::-webkit-scrollbar-track{background:transparent}html[data-gray]{filter:grayscale(1)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .24s ease,transform .24s ease}.fade-slide-enter-from{opacity:0;transform:translate(16px)}.fade-slide-leave-to{opacity:0;transform:translate(-16px)}.n-menu,.n-dropdown-menu{user-select:none;-webkit-user-select:none}.n-data-table{--table-selected-bg: var(--color-primary-light)}.n-data-table .n-data-table-tr:nth-child(2n)>.n-data-table-td{background-color:var(--n-merged-td-color-striped)}.n-data-table .n-data-table-tr:has(>.n-data-table-td--selection .n-checkbox--checked,>.n-data-table-td--selection .n-radio--checked)>.n-data-table-td,.smart-table .smart-table-row--active>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td{background-color:var(--table-selected-bg)}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-left,.n-data-table .n-data-table-tr.row-selected>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--table-selected-bg),var(--table-selected-bg))}.n-data-table .n-data-table-tr.row-selected>.n-data-table-td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{border-right:1px solid var(--n-merged-border-color);white-space:nowrap}.n-data-table .n-data-table-th--last,.n-data-table .n-data-table-td--last-col{border-right:0}.n-data-table .n-data-table-th--fixed-left,.n-data-table .n-data-table-th--fixed-right{background-color:var(--color-fill)}.n-data-table{--table-fixed-bg: var(--color-bg-container-solid)}.n-modal .n-data-table,.n-drawer .n-data-table,.n-popover .n-data-table{--table-fixed-bg: var(--n-merged-td-color)}.n-data-table .n-data-table-td--fixed-left,.n-data-table .n-data-table-td--fixed-right{background-color:var(--table-fixed-bg)}.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-left,.smart-table .n-data-table .smart-table-row--active>.n-data-table-td--fixed-right{background-color:var(--table-fixed-bg);background-image:linear-gradient(var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)),var(--smart-table-active-row-bg, rgba(99, 102, 241, .08)))}.n-data-table .n-data-table-td--last-col .n-space{gap:0!important}.n-data-table .n-data-table-td .n-space:has(.n-button){flex-wrap:nowrap!important;min-width:max-content;white-space:nowrap}.n-data-table .n-data-table-td .n-space:has(.n-button)>.n-space-item,.n-data-table .n-data-table-td .n-button{white-space:nowrap}.table-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--color-bg-body);padding:16px;display:flex;flex-direction:column;min-height:0;gap:8px}.table-zoom>.n-data-table,.table-zoom>.route-table,.table-zoom>.table-zoom-body{flex:1;min-height:0}.row-sort .drag-handle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm, 6px);color:var(--color-text-tertiary);cursor:grab;transition:color var(--transition-base, .2s ease),background-color var(--transition-base, .2s ease)}.row-sort .drag-handle:hover{background:var(--color-fill-hover);color:var(--color-primary)}.row-sort .drag-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.row-sort .drag-handle:active{cursor:grabbing}.row-sort .row-chosen>td{position:relative;z-index:1;background:var(--color-bg-elevated);box-shadow:0 6px 16px #0000001f;cursor:grabbing}.row-sort .row-ghost>td{background:var(--color-primary-light);color:var(--color-primary)}.row-sort .row-ghost>td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.row-sort .row-fallback{display:none!important}.row-sort.is-dragging .n-data-table-tr:not(.row-ghost){opacity:.5}.row-sort.is-dragging .n-data-table-td{transition:none}.side-filter{flex:0 0 var(--side-filter-width, 224px);display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px 10px;border-radius:var(--radius-lg, 12px);background:var(--color-bg-container);box-shadow:var(--shadow-1);transition:flex-basis var(--transition-base, .2s ease)}.side-filter__head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px;padding-left:6px}.side-filter__actions{display:flex;flex:none;margin-left:auto;align-items:center;gap:2px}.side-filter__body{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin}.side-filter__divider{height:1px;margin:6px 8px;background:var(--color-border)}.side-filter__empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;color:var(--color-text-tertiary);font-size:var(--font-size-sm, 13px)}.side-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border:0;border-radius:var(--radius-md, 10px);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-base, 14px);text-align:left;cursor:pointer;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row:hover{background:var(--color-fill-hover);color:var(--color-text-primary)}.side-row.is-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-row.is-active:before,.side-tree .n-tree-node--selected:before{content:"";position:absolute;top:50%;left:0;width:3px;height:16px;border-radius:0 3px 3px 0;background:var(--color-primary);transform:translateY(-50%)}.side-row__icon,.side-row__dot{flex:none}.side-row__dot{width:6px;height:6px;margin:0 4px;border-radius:50%;background:var(--color-border-strong);transition:background var(--transition-fast, .15s ease)}.side-row:hover .side-row__dot{background:var(--color-text-tertiary)}.side-row.is-active .side-row__dot{background:currentcolor}.side-row__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.side-row__count{flex:none;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--color-fill);color:var(--color-text-tertiary);font-size:var(--font-size-xs, 12px);font-variant-numeric:tabular-nums;line-height:18px;text-align:center;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease)}.side-row.is-active .side-row__count{background:var(--color-primary);color:var(--color-white, #fff)}.side-tree.n-tree{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.side-tree .n-tree-node{position:relative;padding-right:4px}.side-tree .n-tree-node--selected .n-tree-node-content__text{color:var(--color-primary);font-weight:var(--font-weight-medium, 500)}.side-tree .n-tree-node-content__suffix{opacity:0;transition:opacity var(--transition-fast, .15s ease)}.side-tree .n-tree-node:hover .n-tree-node-content__suffix,.side-tree .n-tree-node--selected .n-tree-node-content__suffix{opacity:1}.side-actions{display:flex;align-items:center;gap:2px}@media(max-width:1280px){.side-filter{flex-basis:min(var(--side-filter-width, 224px),200px)}}.form-section+.form-section{margin-top:16px}.form-section__title{margin-bottom:10px;color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--fieldset,.form-section--panel{min-width:0;border:none;padding:0}.form-section--fieldset{margin-inline:0}.form-section--fieldset>legend{display:block;width:100%;margin-bottom:12px;padding:0 0 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-weight:var(--font-weight-semibold, 600)}.form-section--panel>.form-section__title,.form-section--panel>.head{display:flex;box-sizing:content-box;align-items:center;justify-content:space-between;height:var(--panel-head-h, 30px);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.page-view:has(>.smart-table),.page-view:has(>.fill-page),.page-view:has(>.side-page){height:100%}.page-view>.smart-table{height:100%;min-height:0}.fill-page{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.fill-page>*{flex-shrink:0}.side-page{display:flex;gap:12px;align-items:stretch;height:100%;min-height:0}.side-page>.smart-table{flex:1;align-self:stretch;min-width:0;min-height:0;height:100%}.fill-page>.smart-table,.fill-main,:is(.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table{flex:1 1 auto;min-height:0}.fill-main{display:flex;flex-direction:column}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card{display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}:is(.page-view,.fill-page,.side-page,.fill-main,.fill-split,.fill-tabs .n-tab-pane,.fill-pass>.n-spin-content)>.smart-table>.smart-table-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-card{display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content){display:flex;flex:1;flex-direction:column;min-height:0}.fill-card>:is(.n-card-content,.n-card__content)>.n-data-table{flex:1;min-height:0}.fill-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-tabs>.n-tabs-nav{flex-shrink:0}.fill-tabs>.n-tabs-pane-wrapper,.fill-tabs>.n-tabs-pane-wrapper>.n-tab-pane,.fill-tabs>.n-tab-pane{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-split{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--fill-split-gap, var(--gap-card, 12px));min-height:0}.fill-split--row{flex-direction:row}.fill-split>.fill-main,.fill-split>.smart-table{flex:1 1 0;min-height:0}.fill-pass,.fill-pass>.n-spin-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.fill-page--soft{height:auto;min-height:100%;overflow:visible}.chart[data-v-558fd76a]{width:100%;height:320px}.code-block[data-v-953af54c]{position:relative;font-size:12px;line-height:1.5}.copy-btn[data-v-953af54c]{position:absolute;top:0;right:0}.cron-editor[data-v-8ed8204a]{width:100%}.cron-rows[data-v-8ed8204a]{display:flex;flex-direction:column;gap:10px;width:100%}.cron-row[data-v-8ed8204a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cron-num[data-v-8ed8204a]{width:96px}.cron-dow[data-v-8ed8204a]{width:120px}.cron-list[data-v-8ed8204a]{flex:1;min-width:200px}.cron-sep[data-v-8ed8204a]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cron-hint[data-v-8ed8204a]{margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.cron-preview[data-v-8ed8204a]{margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-fill);display:flex;flex-direction:column;gap:8px}.cron-warn[data-v-8ed8204a]{margin-bottom:2px}.cron-preview-error[data-v-8ed8204a]{color:var(--color-danger);font-size:var(--font-size-sm)}.cron-preview-row[data-v-8ed8204a]{display:flex;gap:12px;align-items:flex-start}.cron-preview-label[data-v-8ed8204a]{flex:0 0 auto;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:22px}.cron-code[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px}.cron-occurrences[data-v-8ed8204a]{display:flex;flex-wrap:wrap;gap:2px 16px}.cron-occurrence[data-v-8ed8204a]{font-family:var(--font-family-mono, ui-monospace, monospace);font-size:13px;line-height:22px;font-variant-numeric:tabular-nums}.cron-empty[data-v-8ed8204a]{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.detail-page[data-v-6733c96a]{display:flex;flex-direction:column;gap:var(--gap-card, 16px)}.detail-header[data-v-6733c96a]{display:flex;align-items:center;gap:8px}.detail-title[data-v-6733c96a]{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--color-text-primary)}.detail-actions[data-v-6733c96a]{margin-left:auto}.error-boundary[data-v-3b4e3577]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--color-text-secondary)}h2[data-v-3b4e3577]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.desc[data-v-3b4e3577]{margin:0;max-width:460px}.detail[data-v-3b4e3577]{max-width:100%;padding:6px 10px;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-danger);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.export-cols-head[data-v-6b86f7cf]{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--n-border-color)}.smart-form--fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;border-radius:0}.smart-form--fullscreen>.n-card__content{flex:1;min-height:0;overflow:auto}.import-steps[data-v-20fd3250]{margin-bottom:20px}.import-pane[data-v-20fd3250]{min-height:200px}.import-upload-icon[data-v-20fd3250]{margin-bottom:12px;color:var(--n-text-color-3)}.import-mapping-head[data-v-20fd3250],.import-mapping-row[data-v-20fd3250]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.import-mapping-head[data-v-20fd3250]{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--n-text-color-2)}.import-mapping-row[data-v-20fd3250]{margin-bottom:8px}.import-mapping-header[data-v-20fd3250]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.import-strategy[data-v-20fd3250]{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}[data-v-20fd3250] .import-cell{padding:2px;border-radius:4px}[data-v-20fd3250] .import-cell--error{background:var(--color-danger-bg)}[data-v-20fd3250] .import-cell--dup{background:var(--color-warning-bg)}.pw-meter[data-v-81b0f6bf]{margin:-8px 0 14px}.pw-bar[data-v-81b0f6bf]{display:flex;gap:6px}.pw-bar span[data-v-81b0f6bf]{flex:1;height:4px;border-radius:2px;transition:background var(--transition-fast)}.pw-level[data-v-81b0f6bf]{margin-top:6px;font-size:12px}.pw-rules[data-v-81b0f6bf]{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.pw-rules li[data-v-81b0f6bf]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-tertiary)}.pw-rules li.ok[data-v-81b0f6bf]{color:#5aa86e}.select-table[data-v-78ca7f91]{height:520px;min-height:0;display:flex;flex-direction:column;gap:12px}.select-table-search[data-v-78ca7f91]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.select-table-search[data-v-78ca7f91] .n-input{flex:0 1 200px}.select-table-search .keyword-input[data-v-78ca7f91]{flex:1 1 320px;min-width:260px}.select-table-search[data-v-78ca7f91] .n-button{flex:none}.select-table-grid[data-v-78ca7f91]{flex:1;min-height:0}[data-v-78ca7f91] .select-table-row-selected td{background-color:var(--table-selected-bg)}.user-picker[data-v-41b95328]{display:flex;gap:12px;min-height:400px}.panel-header[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;padding:0 0 8px;border-bottom:1px solid var(--n-border-color, #e0e0e6);margin-bottom:8px}.picker-tree[data-v-41b95328]{width:160px;flex-shrink:0;overflow:auto;border-right:1px solid var(--n-border-color, #e0e0e6);padding-right:12px}.picker-table[data-v-41b95328]{flex:1;min-width:0;overflow:hidden}.picker-selected[data-v-41b95328]{width:200px;flex-shrink:0;border-left:1px solid var(--n-border-color, #e0e0e6);padding-left:12px;display:flex;flex-direction:column}.selected-list[data-v-41b95328]{flex:1;overflow:auto;max-height:380px}.selected-item[data-v-41b95328]{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.selected-item[data-v-41b95328]:last-child{border-bottom:none}.selected-name[data-v-41b95328]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-account[data-v-41b95328]{color:var(--n-text-color-disabled, #999);font-size:12px;margin-left:2px}.palette[data-v-7f4fa2eb]{width:560px;max-width:92vw;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);overflow:hidden}.search[data-v-7f4fa2eb]{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--color-border)}.sicon[data-v-7f4fa2eb]{color:var(--color-text-tertiary);flex-shrink:0}.list[data-v-7f4fa2eb]{padding:8px}.item[data-v-7f4fa2eb]{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary)}.item.active[data-v-7f4fa2eb]{background:var(--color-primary-light);color:var(--color-primary)}.iicon[data-v-7f4fa2eb]{flex-shrink:0}.ititle[data-v-7f4fa2eb]{font-size:var(--font-size-md)}.ititle[data-v-7f4fa2eb] mark{background:transparent;color:var(--color-primary);font-weight:600}.ipath[data-v-7f4fa2eb]{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.empty[data-v-7f4fa2eb]{padding:32px 0}.hint[data-v-7f4fa2eb]{padding:8px 16px;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.site-logo[data-v-88ac0194]{display:block;width:auto;max-width:100%;object-fit:contain}.oauth-brand-badge[data-v-d7509bf4]{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;border-radius:50%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.oauth-brand-icon[data-v-d7509bf4]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.oauth-brand-letter[data-v-d7509bf4]{font-size:12px;font-weight:700;color:var(--color-text-secondary, #666);line-height:1}.login-form[data-v-edac6de7]{width:100%}.lf-pending-alert[data-v-edac6de7]{margin-bottom:16px;border-radius:10px;text-align:left}.lf-brand[data-v-edac6de7]{display:flex;align-items:center;gap:10px;margin-bottom:18px}.lf-word[data-v-edac6de7]{font-size:22px;font-weight:700;letter-spacing:.2px;color:var(--lf-title, var(--color-text-primary))}.lf-title[data-v-edac6de7]{font-size:var(--font-size-lg);font-weight:600;margin:0 0 22px;color:var(--lf-title, var(--color-text-primary))}.lf-hint-line[data-v-edac6de7]{margin:-14px 0 18px;font-size:13px;color:var(--lf-hint, var(--color-text-tertiary))}.row[data-v-edac6de7]{margin:4px 0 20px}.lf-between[data-v-edac6de7]{display:flex;align-items:center;justify-content:space-between}.lf-link[data-v-edac6de7]{font-size:13px;color:var(--color-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.lf-link[data-v-edac6de7]:hover{opacity:.85}.lf-link-disabled[data-v-edac6de7]{color:var(--lf-hint, var(--color-text-tertiary));cursor:default;pointer-events:none}.lf-captcha[data-v-edac6de7]{display:flex;gap:10px;width:100%;align-items:stretch}.lf-captcha-img[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:#fff;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.lf-captcha-img[data-v-edac6de7] svg{height:100%;width:auto}.lf-send-btn[data-v-edac6de7]{flex:0 0 auto;height:40px;min-width:96px;padding:0 12px;border:1px solid var(--lf-border, var(--color-border));border-radius:var(--radius-md);background:var(--color-fill);font-size:13px;color:var(--lf-title, var(--color-text-secondary));cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.lf-send-btn[data-v-edac6de7]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.lf-send-btn[data-v-edac6de7]:disabled{opacity:.6;cursor:not-allowed}.hero-btn[data-v-edac6de7]{width:100%;height:48px;border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hero-btn[data-v-edac6de7]:hover{transform:translateY(-2px)}.hero-btn[data-v-edac6de7]:active{transform:translateY(0)}.hero-btn[data-v-edac6de7]:disabled{opacity:.7;cursor:not-allowed}.lf-divider[data-v-edac6de7]{display:flex;align-items:center;gap:14px;margin:24px 0 16px}.lf-divider[data-v-edac6de7]:before,.lf-divider[data-v-edac6de7]:after{content:"";flex:1;height:1px;background:var(--lf-border, var(--color-border))}.lf-divider span[data-v-edac6de7]{font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-sso[data-v-edac6de7]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.lf-sso-btn[data-v-edac6de7]{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:inherit;text-decoration:none;cursor:pointer;overflow:hidden;box-sizing:border-box;flex-shrink:0}.lf-sso-btn[data-v-edac6de7]:hover{text-decoration:none;color:inherit}.lf-sso-btn[data-v-edac6de7]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lf-sso-more[data-v-edac6de7]{width:32px;height:32px;border:1px solid var(--lf-border, var(--color-border));background:var(--color-fill, #f5f5f5);color:var(--color-text-tertiary, #999)}.lf-foot[data-v-edac6de7]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;font-size:12px;color:var(--lf-hint, var(--color-text-tertiary))}.lf-foot a[data-v-edac6de7]{color:inherit;text-decoration:none}.lf-foot a[data-v-edac6de7]:hover{color:var(--color-primary)}.lf-ver[data-v-edac6de7]{opacity:.75}.aurora[data-v-e994c489]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(140% 120% at 50% 0%,#12162b,#0a0b12 55%,#06060c)}.aurora[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%)}.aurora[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(120% 120% at 50% 42%,transparent 52%,rgba(0,0,0,.6) 100%)}.aurora-bg[data-v-e994c489]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;background:radial-gradient(38% 38% at 18% 22%,var(--a1),transparent 68%),radial-gradient(42% 42% at 82% 18%,var(--a2),transparent 70%),radial-gradient(48% 48% at 60% 88%,var(--a3),transparent 72%),radial-gradient(34% 34% at 88% 68%,var(--a4),transparent 66%);filter:blur(28px);animation:aurora-move-e994c489 18s ease-in-out infinite alternate}@keyframes aurora-move-e994c489{0%{transform:translate3d(-3%,-2%,0) rotate(0) scale(1.05)}50%{transform:translate3d(3%,2%,0) rotate(4deg) scale(1.16)}to{transform:translate3d(-2%,3%,0) rotate(-3deg) scale(1.08)}}.stars[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 70% 62%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 42% 82%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 85% 22%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 55% 14%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.5px 1.5px at 12% 66%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 92% 48%,rgba(255,255,255,.45),transparent 60%);animation:twinkle-e994c489 5s ease-in-out infinite}@keyframes twinkle-e994c489{0%,to{opacity:.45}50%{opacity:.9}}.orb[data-v-e994c489]{position:absolute;z-index:0;border-radius:50%;filter:blur(55px);opacity:.55}.orb-1[data-v-e994c489]{width:340px;height:340px;background:var(--a1);top:-60px;left:-40px;animation:float-y-e994c489 14s ease-in-out infinite}.orb-2[data-v-e994c489]{width:280px;height:280px;background:var(--a4);bottom:-80px;right:-40px;animation:float-y-e994c489 16s ease-in-out infinite reverse}.orb-3[data-v-e994c489]{width:200px;height:200px;background:var(--a3);top:38%;right:18%;animation:float-y-e994c489 20s ease-in-out infinite}@keyframes float-y-e994c489{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.aurora-content[data-v-e994c489]{position:relative;z-index:3;width:100%;max-width:520px;padding:24px}.halo[data-v-e994c489]{position:absolute;z-index:0;top:8px;right:8px;bottom:8px;left:8px;border-radius:36px;background:conic-gradient(from 0deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a1));filter:blur(48px);opacity:.6;animation:spin-e994c489 16s linear infinite}@keyframes spin-e994c489{to{transform:rotate(360deg)}}.glass-card[data-v-e994c489]{--lf-title: #fff;--lf-hint: rgba(255, 255, 255, .5);position:relative;z-index:1;width:100%;padding:46px;border-radius:20px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);box-shadow:0 30px 80px #0000008c,0 0 60px -12px var(--a2),inset 0 1px #fff3;overflow:hidden}.glass-card[data-v-e994c489]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,var(--a1),transparent 45%,var(--a2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.9}.glass-card[data-v-e994c489]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.1) 48%,transparent 60%);background-size:220% 100%;background-repeat:no-repeat;animation:sheen-e994c489 8s ease-in-out infinite}@keyframes sheen-e994c489{0%{background-position:180% 0}55%,to{background-position:-60% 0}}.grain[data-v-e994c489]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.aurora.light[data-v-e994c489]{background:radial-gradient(140% 120% at 50% 0%,#eef1fb,#f6f7fc 55%,#fff)}.aurora.light[data-v-e994c489]:before{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}.aurora.light[data-v-e994c489]:after{background:radial-gradient(120% 120% at 50% 42%,transparent 55%,rgba(120,130,180,.12) 100%)}.aurora.light .stars[data-v-e994c489]{display:none}.aurora.light .halo[data-v-e994c489]{opacity:.5}.aurora.light .glass-card[data-v-e994c489]{--lf-title: var(--color-text-primary);--lf-hint: var(--color-text-tertiary);background:#ffffff9e;border:1px solid rgba(214,218,235,.9);box-shadow:0 30px 80px #505aa02e,0 0 60px -12px var(--a2),inset 0 1px #ffffffe6}.aurora.light .glass-card[data-v-e994c489]:before{display:none}.aurora.light .glass-card[data-v-e994c489]:after{display:none}@media(max-width:480px){.aurora-content[data-v-e994c489]{padding:16px}.glass-card[data-v-e994c489]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.aurora-bg[data-v-e994c489],.orb[data-v-e994c489],.stars[data-v-e994c489],.halo[data-v-e994c489],.glass-card[data-v-e994c489]:after{animation:none}.glass-card[data-v-e994c489]:after{display:none}}.split[data-v-75743368]{height:100dvh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--color-bg-body)}.panel[data-v-75743368]{position:relative;overflow:hidden;background:var(--color-bg-body);border-right:1px solid var(--color-border)}.panel[data-v-75743368]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(127,127,127,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,127,.08) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%);mask-image:radial-gradient(circle at 30% 40%,#000,transparent 72%)}.panel-aurora[data-v-75743368]{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(40% 40% at 25% 20%,var(--a1),transparent 68%),radial-gradient(45% 45% at 80% 78%,var(--a2),transparent 70%);filter:blur(45px);opacity:.9;animation:panel-move-75743368 22s ease-in-out infinite alternate}@keyframes panel-move-75743368{0%{transform:translate3d(-3%,-2%,0) scale(1.05)}to{transform:translate3d(3%,3%,0) scale(1.12)}}.panel-inner[data-v-75743368]{position:relative;z-index:1;padding:64px 56px;display:flex;flex-direction:column;height:100%;justify-content:center}.logo[data-v-75743368]{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:#2a3c82}.bar[data-v-75743368]{width:40px;height:3px;border-radius:2px;margin:28px 0 20px}.headline[data-v-75743368]{font-size:42px;line-height:1.2;font-weight:800;color:var(--color-text-primary);margin:0}.sub[data-v-75743368]{color:var(--color-text-secondary);margin:16px 0 28px}.points[data-v-75743368]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.points li[data-v-75743368]{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary)}.form-wrap[data-v-75743368]{position:relative;display:flex;flex-direction:column;background:var(--color-bg-container)}.mid[data-v-75743368]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.form-inner[data-v-75743368]{width:100%;max-width:340px;animation:fade-up-75743368 .6s cubic-bezier(.16,1,.3,1) both}.greet[data-v-75743368]{font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 6px}.greet-sub[data-v-75743368]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 26px}.foot[data-v-75743368]{margin:0;padding:18px 24px 22px;text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.foot a[data-v-75743368]{color:inherit;text-decoration:none}.foot a[data-v-75743368]:hover{color:var(--color-primary)}.foot-ver[data-v-75743368]{margin-left:8px;opacity:.75}@keyframes fade-up-75743368{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:900px){.split[data-v-75743368]{grid-template-columns:1fr}.panel[data-v-75743368]{display:none}}@media(prefers-reduced-motion:reduce){.panel-aurora[data-v-75743368],.form-inner[data-v-75743368]{animation:none}}.spotlight[data-v-2d0bde1c]{position:relative;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-body)}.mesh[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(30% 40% at 15% 20%,var(--s1),transparent 60%),radial-gradient(30% 40% at 85% 80%,var(--s2),transparent 60%);opacity:.9}.spot[data-v-2d0bde1c]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(340px 340px at var(--mx) var(--my),var(--spot),transparent 60%);transition:background .12s ease-out}.card[data-v-2d0bde1c]{position:relative;z-index:2;width:100%;max-width:460px;padding:46px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);animation:fade-up-2d0bde1c .6s cubic-bezier(.16,1,.3,1) both}@keyframes fade-up-2d0bde1c{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:480px){.spotlight[data-v-2d0bde1c]{padding:0 16px}.card[data-v-2d0bde1c]{padding:32px 24px}}@media(prefers-reduced-motion:reduce){.spot[data-v-2d0bde1c]{transition:none}.card[data-v-2d0bde1c]{animation:none}}.login-shell[data-v-846afb99]{position:relative;height:100dvh;overflow:hidden}.login-topbar[data-v-846afb99]{position:fixed;top:20px;right:24px;z-index:10;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.login-tools[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.tool-btn[data-v-846afb99]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border:none;cursor:pointer;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.tool-btn[data-v-846afb99]:hover{color:#fff}.tool-btn[data-v-846afb99]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skin-switch[data-v-846afb99]{display:flex;gap:2px;padding:4px;border-radius:999px;background:#12141c8c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000047}.skin-seg[data-v-846afb99]{border:none;cursor:pointer;padding:6px 16px;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:#ffffff9e;transition:color .2s,background .2s}.skin-seg[data-v-846afb99]:hover{color:#fff}.skin-seg.active[data-v-846afb99]{background:var(--color-primary);color:#fff}.oauth-cb[data-v-843f1b99]{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-layout, #f5f6f8)}.oauth-box[data-v-843f1b99]{display:flex;flex-direction:column;align-items:center;gap:14px}.oauth-msg[data-v-843f1b99]{font-size:15px;color:var(--color-text-primary)}.oauth-sub[data-v-843f1b99]{font-size:13px;color:var(--color-text-tertiary)}.oauth-err-icon[data-v-843f1b99]{font-size:44px;color:var(--color-error, #e88080)}.mfa-page[data-v-b6e82c2c]{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--color-body, #f5f7fa)}.mfa-card[data-v-b6e82c2c]{width:min(100%,520px)}.mfa-header[data-v-b6e82c2c]{display:flex;align-items:center;justify-content:space-between;gap:12px}.mfa-qr-wrap[data-v-b6e82c2c]{display:flex;justify-content:center;margin:0 0 16px;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.mfa-manual-hint[data-v-b6e82c2c]{margin:-8px 0 12px;font-size:12px;color:var(--color-text-tertiary, #9ca3af);line-height:1.5}.recovery-codes[data-v-b6e82c2c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-codes[data-v-b6e82c2c] .n-alert,.recovery-codes[data-v-b6e82c2c] .n-button{grid-column:1 / -1}.recovery-code[data-v-b6e82c2c]{padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-hover, #f4f4f5);border-radius:4px}@media(max-width:480px){.mfa-page[data-v-b6e82c2c]{padding:12px}.recovery-codes[data-v-b6e82c2c]{grid-template-columns:1fr}}.boot-error[data-v-c523298c]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--color-bg-app)}h1[data-v-c523298c]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-c523298c]{margin:0 0 8px;max-width:480px;color:var(--color-text-secondary)}.wrap[data-v-f50f3abd]{min-height:100dvh;background:var(--color-bg-body);padding:80px 24px;display:flex;flex-direction:column;align-items:center}.head[data-v-f50f3abd]{display:flex;align-items:center;gap:12px;margin-bottom:32px}.head h1[data-v-f50f3abd]{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.grid[data-v-f50f3abd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--gap-card);width:100%;max-width:900px}.card[data-v-f50f3abd]{position:relative;display:flex;align-items:center;gap:14px;padding:20px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.card.current[data-v-f50f3abd]{border-color:var(--color-primary)}.card[data-v-f50f3abd]:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:var(--shadow-2)}.card[data-v-f50f3abd]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ico[data-v-f50f3abd]{color:var(--color-primary)}.name[data-v-f50f3abd]{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.code[data-v-f50f3abd]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.def[data-v-f50f3abd]{position:absolute;top:10px;right:12px}.row[data-v-195679a9]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.lbl[data-v-195679a9]{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.ctl[data-v-195679a9]{display:flex;align-items:center;min-width:0}.grid[data-v-66443dff]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-inline:3px}.cell[data-v-66443dff]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.card[data-v-66443dff]{width:100%;height:62px;padding:6px;border:none;border-radius:4px;background:var(--color-bg-container);box-shadow:0 1px 3px #141b2d1a,0 0 0 2px transparent;cursor:pointer;transition:box-shadow .15s ease}.cell:hover .card[data-v-66443dff],.card.on[data-v-66443dff]{box-shadow:0 1px 3px #141b2d1a,0 0 0 2px var(--color-primary)}.inner[data-v-66443dff]{--strong: var(--color-primary);--p300: color-mix(in srgb, var(--color-primary) 58%, var(--color-bg-container));--p200: color-mix(in srgb, var(--color-primary) 34%, var(--color-bg-container));display:flex;gap:5px;width:100%;height:100%}.inner.row[data-v-66443dff]{flex-direction:row}.inner.col[data-v-66443dff]{flex-direction:column}.inner i[data-v-66443dff],.inner .vwrap[data-v-66443dff],.inner .hwrap[data-v-66443dff]{border-radius:3px}.strong[data-v-66443dff]{background:var(--strong)}.p300[data-v-66443dff]{background:var(--p300)}.p200[data-v-66443dff]{background:var(--p200)}.sider[data-v-66443dff]{width:18%;flex-shrink:0}.rail[data-v-66443dff]{width:9%;flex-shrink:0}.subsider[data-v-66443dff]{width:16%;flex-shrink:0}.header[data-v-66443dff]{flex-shrink:0;height:13px}.header.full[data-v-66443dff]{width:100%}.main[data-v-66443dff]{flex:1}.vwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:column;gap:5px}.vwrap .header[data-v-66443dff]{width:100%}.hwrap[data-v-66443dff]{flex:1;display:flex;flex-direction:row;gap:5px}.label[data-v-66443dff]{margin:0;text-align:center;font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-secondary)}.label.on[data-v-66443dff]{color:var(--color-primary);font-weight:var(--font-weight-medium)}.tabs[data-v-adecf714]{height:100%}.footer-actions[data-v-adecf714]{display:flex;flex-direction:column;gap:8px;width:100%}.ri[data-v-adecf714]{margin-right:5px;font-size:15px}.seg[data-v-adecf714]{display:flex;width:100%}.seg[data-v-adecf714] .n-radio-button{flex:1;display:flex;align-items:center;justify-content:center}.accents[data-v-adecf714]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.dot[data-v-adecf714]{position:relative;width:100%;max-width:30px;margin:0 auto;aspect-ratio:1;padding:0;border:none;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.dot[data-v-adecf714]:hover{transform:scale(1.12)}.dot.on[data-v-adecf714]{transform:scale(1.1);box-shadow:0 0 0 2px var(--color-bg-container),0 0 0 4px var(--color-primary)}.tick[data-v-adecf714]{color:#fff;font-size:14px;filter:drop-shadow(0 0 1px rgba(0,0,0,.35))}.notice-panel[data-v-1ac49123]{width:360px;max-width:92vw}.notice-head[data-v-1ac49123]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.notice-title[data-v-1ac49123]{font-weight:600;font-size:var(--font-size-md)}.notice-empty[data-v-1ac49123]{padding:32px 0}.notice-list[data-v-1ac49123]{margin:0;padding:0;list-style:none}.notice-item[data-v-1ac49123]{position:relative;display:flex;gap:8px;padding:12px 16px;cursor:pointer;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15));transition:background-color .2s}.notice-item[data-v-1ac49123]:hover{background-color:#80808014}.notice-item.unread[data-v-1ac49123]{background-color:color-mix(in srgb,var(--color-primary) 4%,transparent)}.notice-item.unread[data-v-1ac49123]:hover{background-color:color-mix(in srgb,var(--color-primary) 9%,transparent)}.notice-item.read[data-v-1ac49123]{opacity:.55}.dot[data-v-1ac49123]{position:absolute;left:6px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--color-primary, #d03050)}.notice-body[data-v-1ac49123]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.line1[data-v-1ac49123]{display:flex;align-items:center;gap:6px;min-width:0}.item-title[data-v-1ac49123]{flex:1;min-width:0;font-size:var(--font-size-sm)}.item-title.unread[data-v-1ac49123]{font-weight:600}.item-actions-mark[data-v-1ac49123]{flex-shrink:0;color:var(--color-primary, #d03050)}.item-snippet[data-v-1ac49123]{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-time[data-v-1ac49123]{font-size:11px}.notice-foot[data-v-1ac49123]{display:flex;justify-content:center;padding:8px;border-top:1px solid var(--n-divider-color, rgba(128, 128, 128, .15))}.bar[data-v-8dc4f67f]{height:100%;display:flex;align-items:center;gap:12px;padding:0 16px}.left[data-v-8dc4f67f]{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.brand[data-v-8dc4f67f]{display:flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:600;flex-shrink:0}.brand-name[data-v-8dc4f67f]{font-size:var(--font-size-md)}.title[data-v-8dc4f67f]{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uname[data-v-8dc4f67f]{margin-left:6px}.center[data-v-8dc4f67f]{flex:1;min-width:0;overflow:hidden}.right[data-v-8dc4f67f]{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}@media(max-width:767px){.bar[data-v-8dc4f67f]{gap:8px;padding:0 8px}.mobile-hide[data-v-8dc4f67f]{display:none}}.sidenav[data-v-0b56822a]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-container);overflow:hidden}.brand[data-v-0b56822a]{display:flex;align-items:center;gap:10px;height:var(--header-h);padding:0 22px;color:var(--color-text-primary);font-weight:600;overflow:hidden;white-space:nowrap;flex-shrink:0}.rail .brand[data-v-0b56822a]{padding:0;justify-content:center}.brand-name[data-v-0b56822a]{font-size:20px;font-weight:700;color:var(--color-text-primary)}.sidenav[data-v-0b56822a] .n-scrollbar{flex:1;min-height:0}.tabsbar[data-v-8fc6542a]{height:42px;display:flex;align-items:center;padding:0 8px;background:var(--color-bg-container);border-bottom:1px solid var(--color-border)}.strip[data-v-8fc6542a]{display:flex;align-items:center;gap:6px;padding:5px 0}.chip[data-v-8fc6542a]{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-fill);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s,border-color .15s}.chip[data-v-8fc6542a]:hover{color:var(--color-text-primary)}.chip.active[data-v-8fc6542a]{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.chip[data-v-8fc6542a]:focus-visible,.chip-close[data-v-8fc6542a]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chip-pin[data-v-8fc6542a]{opacity:.7}.chip-close[data-v-8fc6542a]{border-radius:50%;opacity:.6}.chip-close[data-v-8fc6542a]:hover{opacity:1;background:var(--color-fill)}.layout[data-v-aa6e9642]{display:grid;height:100dvh;overflow:hidden;background:var(--color-bg-app)}.mode-vertical[data-v-aa6e9642],.mode-vertical-mix[data-v-aa6e9642],.mode-vertical-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"aside header" "aside content"}.mode-top-hybrid-sidebar-first[data-v-aa6e9642],.mode-top-hybrid-header-first[data-v-aa6e9642]{grid-template-columns:auto 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header header" "aside content"}.mode-horizontal[data-v-aa6e9642],.mode-mobile[data-v-aa6e9642]{grid-template-columns:1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"header" "content"}.aside[data-v-aa6e9642]{grid-area:aside;height:100%;overflow:hidden;border-right:1px solid var(--color-border);background:var(--color-bg-container);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:width .2s ease}.aside--mix[data-v-aa6e9642]{display:flex}.aside--mix .rail[data-v-aa6e9642]{width:var(--rail-w);flex-shrink:0;border-right:1px solid var(--color-border)}.aside--mix .l2col[data-v-aa6e9642]{flex:1;min-width:0}.header[data-v-aa6e9642]{grid-area:header;display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.header--static[data-v-aa6e9642]{-webkit-backdrop-filter:none;backdrop-filter:none}.hbg[data-v-aa6e9642]{align-self:center;margin-left:8px}.apph[data-v-aa6e9642]{flex:1;min-width:0;height:100%}.content[data-v-aa6e9642]{grid-area:content;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabs[data-v-aa6e9642]{flex-shrink:0}.page[data-v-aa6e9642]{flex:1;min-height:0;overflow:auto;padding:var(--pad-page)}.personal-layout[data-v-45e1c4ea]{display:flex;gap:16px;align-items:stretch;min-height:100%}.personal-sider[data-v-45e1c4ea]{width:200px;flex-shrink:0;background:var(--color-bg-container, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:8px 0 12px}.personal-main[data-v-45e1c4ea]{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.personal-mobile-nav[data-v-45e1c4ea]{max-width:360px}.personal-content[data-v-45e1c4ea]{min-width:0}.personal-layout.is-mobile[data-v-45e1c4ea]{flex-direction:column}.avatar-field[data-v-5c4afffc]{display:flex;align-items:center;gap:12px}.sec-desc[data-v-7afb110e]{margin:0 0 16px;color:var(--color-text-2, #666);line-height:1.5}.sec-note[data-v-7afb110e]{margin:20px 0 0;font-size:12px;color:var(--color-text-3, #999);line-height:1.5}[data-v-83e5e6b1] .device-cell{display:flex;align-items:center;gap:8px}.bind-page[data-v-3ab6b190]{max-width:920px}.bind-header[data-v-3ab6b190]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.bind-title[data-v-3ab6b190]{margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.3;color:var(--color-text-primary, #1f1f1f)}.bind-hint[data-v-3ab6b190]{margin:0;max-width:520px;font-size:13px;line-height:1.55;color:var(--color-text-secondary, #666)}.bind-summary[data-v-3ab6b190]{display:inline-flex;align-items:baseline;gap:4px;padding:8px 12px;border-radius:10px;background:var(--color-fill, #f5f5f5);font-size:13px;color:var(--color-text-secondary, #666);flex-shrink:0}.bind-summary-num[data-v-3ab6b190]{font-size:18px;font-weight:700;color:var(--color-primary, #646cff);font-variant-numeric:tabular-nums}.bind-summary-sep[data-v-3ab6b190]{opacity:.5}.bind-summary-label[data-v-3ab6b190]{margin-left:4px}.bind-alert[data-v-3ab6b190]{margin-bottom:16px;border-radius:10px}.bind-empty[data-v-3ab6b190]{padding:48px 0}.bind-grid[data-v-3ab6b190]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.bind-card[data-v-3ab6b190] .n-card-content{display:flex;flex-direction:column;gap:14px}.bind-card[data-v-3ab6b190]:hover{box-shadow:0 4px 14px #0000000f}.bind-card.bind-card--bound[data-v-3ab6b190]{border-color:color-mix(in srgb,var(--color-success, #18a058) 40%,var(--color-border, #e8e8e8));background:color-mix(in srgb,var(--color-success, #18a058) 4%,var(--color-bg-container, #fff))}.bind-card.bind-card--disabled[data-v-3ab6b190]{opacity:.78;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.bind-card-main[data-v-3ab6b190]{display:flex;align-items:flex-start;gap:12px;min-width:0}.bind-avatar[data-v-3ab6b190]{position:relative;display:inline-flex;width:48px;height:48px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:visible;background:var(--color-fill, #f5f5f5)}.bind-avatar[data-v-3ab6b190] .oauth-brand-badge,.bind-avatar[data-v-3ab6b190] img{border-radius:50%;overflow:hidden}.bind-avatar--bound[data-v-3ab6b190]{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-success, #18a058) 35%,transparent)}.bind-check[data-v-3ab6b190]{position:absolute;right:-2px;bottom:-2px;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--color-success, #18a058);color:#fff;border:2px solid var(--color-bg-container, #fff);line-height:0}.bind-meta[data-v-3ab6b190]{min-width:0;flex:1}.bind-title-row[data-v-3ab6b190]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.bind-name[data-v-3ab6b190]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.bind-code[data-v-3ab6b190]{display:inline-block;font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.bind-time[data-v-3ab6b190],.bind-free-tip[data-v-3ab6b190],.bind-disabled-tip[data-v-3ab6b190]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.bind-time[data-v-3ab6b190]{color:var(--color-text-secondary, #666)}.bind-actions[data-v-3ab6b190]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8);min-height:36px}.bind-na[data-v-3ab6b190]{font-size:12px;color:var(--color-text-tertiary, #999)}.nf[data-v-6b886879]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg-body)}.code[data-v-6b886879]{font-size:96px;font-weight:800;line-height:1}.msg[data-v-6b886879]{color:var(--color-text-secondary);font-size:var(--font-size-md)}.view[data-v-e7ff753e]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-e7ff753e]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-e7ff753e]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hi[data-v-e7ff753e]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-e7ff753e]{color:var(--color-text-secondary);margin-top:4px}.quick[data-v-e7ff753e]{display:flex;flex-wrap:wrap;gap:12px}.notice-row[data-v-e7ff753e]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.notice-title[data-v-e7ff753e]{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.dot[data-v-e7ff753e]{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.notice-time[data-v-e7ff753e]{flex-shrink:0;color:var(--color-text-secondary);font-size:12px}.view[data-v-a20971bd]{display:flex;flex-direction:column;gap:var(--gap-card)}.banner[data-v-a20971bd]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--color-primary-light)}.avatar[data-v-a20971bd]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.hi[data-v-a20971bd]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.tip[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:4px}.stat[data-v-a20971bd]{display:flex;align-items:center;gap:16px}.stat-body[data-v-a20971bd]{min-width:0}.stat-ico[data-v-a20971bd]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-a20971bd]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-a20971bd]{color:var(--color-text-secondary);margin-top:2px}.embed-wrap[data-v-dcc7858a]{height:100%;min-height:calc(100dvh - 160px)}.embed[data-v-dcc7858a]{display:block;width:100%;height:100%;min-height:calc(100dvh - 160px);border:0}.missing-route[data-v-1e499090]{min-height:60vh;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-secondary);text-align:center}h1[data-v-1e499090]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl)}p[data-v-1e499090]{margin:0}code[data-v-1e499090]{padding:6px 8px;background:var(--color-bg-container);border:1px solid var(--color-border);border-radius:4px;color:var(--color-danger)}.provider-card[data-v-659dbae9]{border-radius:var(--radius-lg);transition:border-color .15s,background-color .15s,opacity .15s}.provider-card[data-v-659dbae9] .n-card-content{display:flex;flex-direction:column;gap:10px}.provider-card.provider-card--enabled[data-v-659dbae9]{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 4%,var(--color-bg-container))}.provider-card.provider-card--disabled[data-v-659dbae9]{opacity:.72}.provider-card.provider-card--pending[data-v-659dbae9]{border-style:dashed;border-color:color-mix(in srgb,var(--color-warning) 55%,var(--color-border))}.card-head[data-v-659dbae9]{display:flex;align-items:flex-start;gap:10px;min-width:0}.badge[data-v-659dbae9]{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 14%,transparent)}.head-meta[data-v-659dbae9]{min-width:0;flex:1}.name-row[data-v-659dbae9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.name[data-v-659dbae9]{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.code[data-v-659dbae9]{display:inline-block;margin-top:4px;font-size:12px;color:var(--color-text-tertiary);background:var(--color-fill);padding:1px 6px;border-radius:4px}.pending-tip[data-v-659dbae9]{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning);font-size:12px}.card-body[data-v-659dbae9]{display:flex;flex-direction:column;gap:6px}.row[data-v-659dbae9]{display:flex;align-items:baseline;gap:8px;font-size:12px;min-width:0}.label[data-v-659dbae9]{flex-shrink:0;color:var(--color-text-tertiary);width:66px}.value[data-v-659dbae9]{min-width:0;color:var(--color-text-secondary)}.value.ellipsis[data-v-659dbae9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.mask[data-v-659dbae9]{margin-left:4px;color:var(--color-text-tertiary)}.card-actions[data-v-659dbae9]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px dashed var(--color-border)}.switch-group[data-v-659dbae9]{display:flex;align-items:center;gap:6px}.switch-text[data-v-659dbae9]{font-size:12px;color:var(--color-text-tertiary)}.test-result[data-v-659dbae9]{display:flex;flex-direction:column;gap:4px;font-size:12px}.test-head[data-v-659dbae9]{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:2px}.test-head.ok[data-v-659dbae9]{color:var(--color-success)}.test-head.fail[data-v-659dbae9]{color:var(--color-danger)}.test-row[data-v-659dbae9]{color:var(--color-text-secondary)}.test-error[data-v-659dbae9]{color:var(--color-danger)}.hint[data-v-adc0e948]{font-size:12px;color:var(--color-text-tertiary, #999)}.model-row[data-v-adc0e948]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.model-row+.model-row[data-v-adc0e948]{margin-top:8px}.model-row-head[data-v-adc0e948]{display:flex;align-items:center;gap:8px}.model-index[data-v-adc0e948]{font-size:12px;font-weight:600;color:var(--color-text-tertiary)}.model-row-spacer[data-v-adc0e948]{flex:1}.model-row-fields[data-v-adc0e948]{display:flex;gap:8px;margin-top:8px}.field[data-v-adc0e948]{flex:1;min-width:0}.mini-label[data-v-adc0e948]{display:block;margin-bottom:2px;font-size:11px;color:var(--color-text-tertiary)}.view[data-v-b955f807]{display:flex;flex-direction:column;gap:var(--gap-card, 16px)}.toolbar[data-v-b955f807]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-spacer[data-v-b955f807]{flex:1}.empty[data-v-b955f807]{padding:64px 0}.view[data-v-d81fc5a2]{display:flex;flex-direction:column;gap:var(--gap-card)}.filter-bar[data-v-d81fc5a2]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}.filter-item[data-v-d81fc5a2]{display:flex;flex-direction:column;gap:6px}.filter-label[data-v-d81fc5a2]{font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary)}.date-filter-row[data-v-d81fc5a2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-range[data-v-d81fc5a2]{display:flex;gap:4px}.metric-body[data-v-d81fc5a2]{min-width:0}.metric-val[data-v-d81fc5a2]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.metric-suffix[data-v-d81fc5a2]{font-size:14px;font-weight:400;color:var(--color-text-secondary)}.metric-label[data-v-d81fc5a2]{color:var(--color-text-secondary);margin-top:4px}.share-cell[data-v-d81fc5a2]{display:flex;align-items:center;gap:8px}.share-bar[data-v-d81fc5a2]{flex:1;min-width:60px}.share-text[data-v-d81fc5a2]{flex:0 0 auto;color:var(--color-text-secondary);font-size:12px}.cache[data-v-21abb77a]{display:flex;flex-direction:column;gap:12px}.action-card[data-v-21abb77a]{height:100%}.head[data-v-21abb77a]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.desc[data-v-21abb77a]{margin:10px 0 14px;font-size:13px;line-height:1.6;color:var(--color-text-secondary, #999);min-height:42px}.note[data-v-21abb77a]{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--color-text-secondary, #999)}.group-extra-hint[data-v-3cb9c09b]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.ea[data-v-71792251]{max-width:920px}.ea-alert[data-v-71792251]{margin-bottom:16px;border-radius:10px}.ea-empty[data-v-71792251]{padding:48px 0}.ea-toolbar[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.ea-summary[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.ea-toolbar-actions[data-v-71792251]{display:flex;align-items:center;gap:8px}.ea-grid[data-v-71792251]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ea-card[data-v-71792251]{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--color-border, #e8e8e8);background:var(--color-bg-container, #fff);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.ea-card[data-v-71792251]:hover{box-shadow:0 4px 14px #0000000f}.ea-card--off[data-v-71792251]{opacity:.85;background:var(--color-fill-quaternary, #fafafa)}.ea-card--on[data-v-71792251]{border-color:color-mix(in srgb,var(--color-primary, #18a058) 35%,var(--color-border, #e8e8e8))}.ea-card--na[data-v-71792251]{opacity:.72;background:var(--color-fill-quaternary, #f7f7f7);border-style:dashed}.ea-card-main[data-v-71792251]{display:flex;align-items:flex-start;gap:12px;min-width:0}.ea-avatar[data-v-71792251]{display:inline-flex;width:44px;height:44px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--color-fill, #f5f5f5)}.ea-meta[data-v-71792251]{min-width:0;flex:1}.ea-title-row[data-v-71792251]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ea-name[data-v-71792251]{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f1f1f);line-height:1.3}.ea-code[data-v-71792251]{font-size:12px;color:var(--color-text-tertiary, #999);background:var(--color-fill, #f5f5f5);padding:1px 6px;border-radius:4px}.ea-na-tip[data-v-71792251]{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary, #999)}.ea-switch[data-v-71792251]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--color-border, #e8e8e8)}.ea-switch+.ea-switch[data-v-71792251]{margin-top:-4px;padding-top:0;border-top:0}.ea-switch-label[data-v-71792251]{font-size:13px;color:var(--color-text-secondary, #666)}.sms-hint[data-v-c20e33fd]{margin:-6px 0 12px;font-size:12px;color:var(--color-text-tertiary)}.dict-layout[data-v-a7b1ad76]{flex-wrap:wrap;gap:var(--gap-card)}.dict-pane[data-v-a7b1ad76]{flex:1 1 380px;min-width:0}.clear-body[data-v-8324d44c]{display:flex;flex-direction:column;gap:10px}.clear-hint[data-v-8324d44c]{font-size:12px;color:var(--color-text-tertiary)}.attempts-title[data-v-8324d44c]{margin:16px 0 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.log-output[data-v-8324d44c]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-family-mono, ui-monospace, monospace);font-size:12px;line-height:1.5}.log-error[data-v-8324d44c]{color:var(--color-danger)}.view[data-v-34ed407f]{gap:var(--gap-card)}.job-tables[data-v-34ed407f],.job-tables[data-v-34ed407f]>*{min-height:240px}.stat[data-v-34ed407f]{display:flex;align-items:center;gap:16px}.stat-ico[data-v-34ed407f]{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent)}.stat-val[data-v-34ed407f]{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1}.stat-label[data-v-34ed407f]{color:var(--color-text-secondary);margin-top:2px}.kv-editor[data-v-aabac178]{display:flex;flex-direction:column;gap:8px;width:100%}.kv-row[data-v-aabac178]{display:flex;gap:8px;align-items:center}.kv-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary)}.job-hint[data-v-aabac178]{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;line-height:1.4}.job-inline[data-v-aabac178]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}.job-sec-text[data-v-aabac178]{font-size:var(--font-size-sm);font-weight:600}.job-sections[data-v-aabac178] .n-collapse-item{margin:0}.job-sections[data-v-aabac178] .n-collapse-item__header{padding:10px 0}.job-sections[data-v-aabac178] .n-collapse-item__content-inner{padding:4px 0 12px}.job-sections[data-v-aabac178] .n-form-item{margin-bottom:14px}.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:empty,.job-sections[data-v-aabac178] .n-form-item-feedback-wrapper:has(:empty){min-height:0}.job-advanced[data-v-aabac178] .n-form-item{margin-bottom:18px}.job-advanced[data-v-aabac178] .n-form-item-label{padding-right:12px}.exception[data-v-d5b09c10],.exception[data-v-9e9a338d]{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.5;color:var(--color-danger)}.perm-hint[data-v-0a7963e1],.link-hint[data-v-5b265f65]{font-size:12px;color:var(--color-text-tertiary, #999);line-height:1.5}.view[data-v-d019bdd8]{display:flex;flex-direction:column;gap:var(--gap-card)}[data-v-d019bdd8] .row-no{font-variant-numeric:tabular-nums;white-space:nowrap}[data-v-d019bdd8] .row-no__path{color:var(--color-text-disabled)}[data-v-d019bdd8] .row-no__self{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.hint[data-v-ea6672c5]{font-size:12px;color:var(--color-text-secondary, #999)}.monitor[data-v-8ea4d493]{display:flex;flex-direction:column;gap:12px}.bar[data-v-8ea4d493]{display:flex;justify-content:flex-end}.metric[data-v-8ea4d493]{font-size:28px;font-weight:600;line-height:1.2;margin-bottom:10px}.metric.small[data-v-8ea4d493]{font-size:18px}.unit[data-v-8ea4d493]{font-size:16px;margin-left:2px;color:var(--color-text-secondary, #999)}.sub[data-v-8ea4d493]{margin-top:8px;font-size:12px;color:var(--color-text-secondary, #999)}.rows[data-v-8ea4d493]{display:grid;gap:8px;font-size:13px}.rows .k[data-v-8ea4d493]{display:inline-block;width:88px;color:var(--color-text-secondary, #999)}.rows .v[data-v-8ea4d493]{word-break:break-all}.notice-actions-editor[data-v-5c6d1da0]{width:100%}.notice-action-row[data-v-5c6d1da0]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.notice-actions-hint[data-v-5c6d1da0]{display:block;margin-top:4px;font-size:12px;line-height:1.4}.view[data-v-72e7ef38],.view[data-v-ef7d111d]{gap:var(--gap-card)}.grant-menu-table[data-v-6c2563ee]{display:flex;flex-direction:column;gap:10px}.grant-toolbar[data-v-6c2563ee]{display:flex;gap:8px}.grant-grid[data-v-6c2563ee]{border:1px solid var(--n-border-color, #e0e0e6);border-radius:4px;font-size:13px;overflow:hidden}.grant-header[data-v-6c2563ee]{display:flex;background:var(--n-th-color, #fafafc);font-weight:600;font-size:12px;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-header>div[data-v-6c2563ee]{padding:8px 12px}.grant-group[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-group[data-v-6c2563ee]:last-child{border-bottom:none}.grant-group>.col-catalog[data-v-6c2563ee]{display:flex;align-items:center;gap:4px;padding:8px 12px;border-right:1px solid var(--n-border-color, #e0e0e6);cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-arrow[data-v-6c2563ee]{display:inline-block;font-size:10px;transition:transform .2s;color:var(--n-text-color-disabled, #999)}.collapse-arrow.is-collapsed[data-v-6c2563ee]{transform:rotate(-90deg)}.group-rows[data-v-6c2563ee]{flex:1;min-width:0}.grant-row[data-v-6c2563ee]{display:flex;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.grant-row[data-v-6c2563ee]:last-child{border-bottom:none}.col-catalog[data-v-6c2563ee]{width:130px;flex-shrink:0}.col-menu[data-v-6c2563ee]{width:140px;flex-shrink:0;display:flex;align-items:center;padding:6px 12px;border-right:1px solid var(--n-border-color, #e0e0e6)}.anchor-tag[data-v-6c2563ee]{font-size:12px}.col-buttons[data-v-6c2563ee]{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 12px;min-width:0}.no-buttons[data-v-6c2563ee]{color:var(--n-text-color-disabled, #c0c0c0)}.grant-empty[data-v-6c2563ee]{text-align:center;padding:24px;color:var(--n-text-color-disabled, #c0c0c0)}.reset-hint[data-v-104f8da0]{margin:0 0 12px;font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary, #888)}.pw-field[data-v-f2afa7e7]{flex:1;min-width:0}.avatar-field[data-v-f2afa7e7]{display:flex;align-items:center;gap:12px}.org-filter[data-v-48cff6c5]{flex:0 0 200px}.org-filter[data-v-48cff6c5] .n-tree{flex:1;min-height:0;overflow:auto}.org-filter-head[data-v-48cff6c5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.org-filter-title[data-v-48cff6c5]{font-weight:600;font-size:var(--font-size-sm, 13px)}
@@ -712,3 +712,169 @@ export interface JobDashboard {
712
712
  upcoming: JobUpcomingItem[];
713
713
  nodes: JobNodeItem[];
714
714
  }
715
+ /** 厂商下的一个模型(后端 AiModelView)。 */
716
+ export interface AiModelView {
717
+ id: number;
718
+ name: string;
719
+ displayName: string;
720
+ enabled: boolean;
721
+ isDefault: boolean;
722
+ contextWindow: number | null;
723
+ inputPrice: number | null;
724
+ outputPrice: number | null;
725
+ }
726
+ /** 厂商行(后端 AiProviderView;列表/详情共用,apiKey 只回 hasApiKey + 掩码提示,不回明文)。 */
727
+ export interface AiProviderView {
728
+ id: number;
729
+ code: string;
730
+ name: string;
731
+ preset: string;
732
+ protocol: string;
733
+ baseUrl: string;
734
+ authScheme: string;
735
+ apiKeyHint: string | null;
736
+ hasApiKey: boolean;
737
+ enabled: boolean;
738
+ sort: number;
739
+ remark: string | null;
740
+ models: AiModelView[];
741
+ }
742
+ /**
743
+ * 模型新增/编辑入参(后端 AiModelInput;id 为 `null` = 新增该行)。
744
+ * 后端定义为位置式 record——字段在请求体里必须都存在(可以是 null),不能整键省略,
745
+ * 这里特意都不带 `?`,免得页面代码漏填导致类型能过编译、实际发请求时字段缺失。
746
+ */
747
+ export interface AiModelInput {
748
+ id: number | null;
749
+ name: string;
750
+ displayName: string;
751
+ enabled: boolean;
752
+ isDefault: boolean;
753
+ contextWindow: number | null;
754
+ inputPrice: number | null;
755
+ outputPrice: number | null;
756
+ }
757
+ /** 厂商新增入参(后端 AiProviderAddInput;code 仅新增时填,apiKey 传 null 由后端拒绝/提示未配置)。 */
758
+ export interface AiProviderAddInput {
759
+ code: string;
760
+ name: string;
761
+ preset: string;
762
+ baseUrl: string;
763
+ authScheme: string;
764
+ apiKey: string | null;
765
+ sort: number;
766
+ remark: string | null;
767
+ models: AiModelInput[];
768
+ }
769
+ /** 厂商编辑入参(后端 AiProviderUpdateInput;无 code——编辑禁用;apiKey 传 null = 不修改现有 Key)。 */
770
+ export interface AiProviderUpdateInput {
771
+ code: string;
772
+ name: string;
773
+ baseUrl: string;
774
+ authScheme: string;
775
+ apiKey: string | null;
776
+ sort: number;
777
+ remark: string | null;
778
+ models: AiModelInput[];
779
+ }
780
+ /** 厂商预置(GET /api/v1/sys/ai/provider/presets,静态表,表单下拉用)。 */
781
+ export interface AiModelPreset {
782
+ name: string;
783
+ displayName: string;
784
+ contextWindow?: number | null;
785
+ }
786
+ /** 厂商预置(后端 AiProviderPresets.cs 落定的 11 个 code)。 */
787
+ export interface AiProviderPreset {
788
+ code: string;
789
+ name: string;
790
+ protocol: string;
791
+ baseUrl: string;
792
+ authScheme: string;
793
+ models: AiModelPreset[];
794
+ }
795
+ /**
796
+ * 后端 AiUsageSource 是普通枚举,没配 JsonStringEnumConverter,序列化按数字下发(System.Text.Json 默认行为)。
797
+ * 1=Reported(上游上报的真实用量),2=Missing(上游没给,记 0 或估算兜底)。
798
+ */
799
+ export declare const AI_USAGE_SOURCE: {
800
+ readonly Reported: 1;
801
+ readonly Missing: 2;
802
+ };
803
+ export type AiUsageSourceValue = 1 | 2;
804
+ /** 一次调用的 Token 用量(后端 AiUsage;source 标记数值是上游上报还是估算兜底)。 */
805
+ export interface AiUsage {
806
+ inputTokens: number;
807
+ outputTokens: number;
808
+ totalTokens: number;
809
+ source: AiUsageSourceValue;
810
+ }
811
+ /** 测试连接结果(后端 AiTestResult)。 */
812
+ export interface AiTestResult {
813
+ ok: boolean;
814
+ model?: string | null;
815
+ latencyMs: number;
816
+ usage?: AiUsage | null;
817
+ error?: string | null;
818
+ }
819
+ /**
820
+ * 用量统计分组维度(后端 AiUsageGroupBy,普通枚举,查询参按数字下发/上送)。
821
+ * 1=Provider、2=Model、3=Scene、4=User。
822
+ */
823
+ export declare const AI_USAGE_GROUP_BY: {
824
+ readonly Provider: 1;
825
+ readonly Model: 2;
826
+ readonly Scene: 3;
827
+ readonly User: 4;
828
+ };
829
+ export type AiUsageGroupBy = 1 | 2 | 3 | 4;
830
+ /** 用量统计四格指标(后端 AiUsageTotals;failuresByErrorCode 键为 ErrorCode 数值)。 */
831
+ export interface AiUsageTotals {
832
+ totalTokens: number;
833
+ inputTokens: number;
834
+ outputTokens: number;
835
+ callCount: number;
836
+ failureCount: number;
837
+ failuresByErrorCode: Record<number, number>;
838
+ }
839
+ /** 分组维度下的一行(后端 AiUsageGroupRow)。 */
840
+ export interface AiUsageGroupRow {
841
+ key: string;
842
+ label?: string | null;
843
+ inputTokens: number;
844
+ outputTokens: number;
845
+ callCount: number;
846
+ sharePercent: number;
847
+ avgLatencyMs: number;
848
+ }
849
+ /** 用量统计汇总(后端 AiUsageSummary)。 */
850
+ export interface AiUsageSummary {
851
+ totals: AiUsageTotals;
852
+ groups: AiUsageGroupRow[];
853
+ }
854
+ /** 用量趋势的一天(后端 AiUsageTrendPoint)。 */
855
+ export interface AiUsageTrendPoint {
856
+ date: string;
857
+ inputTokens: number;
858
+ outputTokens: number;
859
+ callCount: number;
860
+ }
861
+ /** 用量明细行(后端 SysAiUsageLog;只读,分页项已含全字段)。 */
862
+ export interface SysAiUsageLog {
863
+ id: number;
864
+ providerId: number;
865
+ providerCode: string;
866
+ model: string;
867
+ scene: string;
868
+ userId?: number | null;
869
+ inputTokens: number;
870
+ outputTokens: number;
871
+ totalTokens: number;
872
+ usageSource: AiUsageSourceValue;
873
+ latencyMs: number;
874
+ success: boolean;
875
+ errorCode?: number | null;
876
+ errorMessage?: string | null;
877
+ streamed: boolean;
878
+ requestId?: string | null;
879
+ createTime: string;
880
+ }
package/dist/types/api.js CHANGED
@@ -1,15 +1,18 @@
1
- var r = /* @__PURE__ */ ((l) => (l[l.All = 1] = "All", l[l.Org = 2] = "Org", l[l.OrgAndChildren = 3] = "OrgAndChildren", l[l.Self = 4] = "Self", l[l.Custom = 5] = "Custom", l))(r || {}), n = /* @__PURE__ */ ((l) => (l[l.Notice = 1] = "Notice", l[l.Announcement = 2] = "Announcement", l[l.Message = 3] = "Message", l))(n || {}), k = /* @__PURE__ */ ((l) => (l[l.All = 0] = "All", l[l.Role = 1] = "Role", l[l.User = 2] = "User", l))(k || {}), m = /* @__PURE__ */ ((l) => (l[l.Skip = 0] = "Skip", l[l.Overwrite = 1] = "Overwrite", l[l.Error = 2] = "Error", l))(m || {}), v = /* @__PURE__ */ ((l) => (l[l.Compiled = 1] = "Compiled", l[l.Http = 2] = "Http", l[l.Sql = 3] = "Sql", l))(v || {}), O = /* @__PURE__ */ ((l) => (l[l.Cron = 1] = "Cron", l[l.Interval = 2] = "Interval", l[l.OneShot = 3] = "OneShot", l))(O || {}), C = /* @__PURE__ */ ((l) => (l[l.Skip = 1] = "Skip", l[l.FireOnceNow = 2] = "FireOnceNow", l))(C || {}), A = /* @__PURE__ */ ((l) => (l[l.SerialSkip = 1] = "SerialSkip", l[l.Parallel = 2] = "Parallel", l))(A || {}), h = /* @__PURE__ */ ((l) => (l[l.Ready = 1] = "Ready", l[l.Paused = 2] = "Paused", l[l.Completed = 3] = "Completed", l[l.Panic = 4] = "Panic", l))(h || {}), P = /* @__PURE__ */ ((l) => (l[l.Running = 1] = "Running", l[l.Success = 2] = "Success", l[l.Failed = 3] = "Failed", l[l.Timeout = 4] = "Timeout", l[l.Cancelled = 5] = "Cancelled", l[l.Skipped = 6] = "Skipped", l))(P || {}), w = /* @__PURE__ */ ((l) => (l[l.Schedule = 1] = "Schedule", l[l.Manual = 2] = "Manual", l[l.Misfire = 3] = "Misfire", l[l.MissedSkipped = 4] = "MissedSkipped", l))(w || {});
1
+ var r = /* @__PURE__ */ ((l) => (l[l.All = 1] = "All", l[l.Org = 2] = "Org", l[l.OrgAndChildren = 3] = "OrgAndChildren", l[l.Self = 4] = "Self", l[l.Custom = 5] = "Custom", l))(r || {}), n = /* @__PURE__ */ ((l) => (l[l.Notice = 1] = "Notice", l[l.Announcement = 2] = "Announcement", l[l.Message = 3] = "Message", l))(n || {}), A = /* @__PURE__ */ ((l) => (l[l.All = 0] = "All", l[l.Role = 1] = "Role", l[l.User = 2] = "User", l))(A || {}), O = /* @__PURE__ */ ((l) => (l[l.Skip = 0] = "Skip", l[l.Overwrite = 1] = "Overwrite", l[l.Error = 2] = "Error", l))(O || {}), v = /* @__PURE__ */ ((l) => (l[l.Compiled = 1] = "Compiled", l[l.Http = 2] = "Http", l[l.Sql = 3] = "Sql", l))(v || {}), k = /* @__PURE__ */ ((l) => (l[l.Cron = 1] = "Cron", l[l.Interval = 2] = "Interval", l[l.OneShot = 3] = "OneShot", l))(k || {}), m = /* @__PURE__ */ ((l) => (l[l.Skip = 1] = "Skip", l[l.FireOnceNow = 2] = "FireOnceNow", l))(m || {}), C = /* @__PURE__ */ ((l) => (l[l.SerialSkip = 1] = "SerialSkip", l[l.Parallel = 2] = "Parallel", l))(C || {}), P = /* @__PURE__ */ ((l) => (l[l.Ready = 1] = "Ready", l[l.Paused = 2] = "Paused", l[l.Completed = 3] = "Completed", l[l.Panic = 4] = "Panic", l))(P || {}), U = /* @__PURE__ */ ((l) => (l[l.Running = 1] = "Running", l[l.Success = 2] = "Success", l[l.Failed = 3] = "Failed", l[l.Timeout = 4] = "Timeout", l[l.Cancelled = 5] = "Cancelled", l[l.Skipped = 6] = "Skipped", l))(U || {}), h = /* @__PURE__ */ ((l) => (l[l.Schedule = 1] = "Schedule", l[l.Manual = 2] = "Manual", l[l.Misfire = 3] = "Misfire", l[l.MissedSkipped = 4] = "MissedSkipped", l))(h || {});
2
+ const E = { Reported: 1, Missing: 2 }, _ = { Provider: 1, Model: 2, Scene: 3, User: 4 };
2
3
  export {
4
+ _ as AI_USAGE_GROUP_BY,
5
+ E as AI_USAGE_SOURCE,
3
6
  r as DataScopeType,
4
- m as DuplicateStrategy,
5
- A as JobConcurrencyMode,
6
- w as JobFireMode,
7
+ O as DuplicateStrategy,
8
+ C as JobConcurrencyMode,
9
+ h as JobFireMode,
7
10
  v as JobHandlerKind,
8
- C as JobMisfireStrategy,
9
- P as JobRunStatus,
10
- h as JobStatus,
11
- O as JobTriggerKind,
11
+ m as JobMisfireStrategy,
12
+ U as JobRunStatus,
13
+ P as JobStatus,
14
+ k as JobTriggerKind,
12
15
  n as NoticeType,
13
- k as ReceiverType
16
+ A as ReceiverType
14
17
  };
15
18
  //# sourceMappingURL=api.js.map