@lovrabet/rabetbase-cli 2.2.4 → 2.2.5-beta.2

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 (240) hide show
  1. package/README.md +1 -1
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/add.js +1 -1
  21. package/lib/commands/app/discover.js +1 -1
  22. package/lib/commands/app/index.js +1 -1
  23. package/lib/commands/app/list.js +1 -1
  24. package/lib/commands/app/remove.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app/use.js +1 -1
  27. package/lib/commands/app-config/delete.js +1 -0
  28. package/lib/commands/app-config/get.js +1 -0
  29. package/lib/commands/app-config/index.js +1 -0
  30. package/lib/commands/app-config/list.js +1 -0
  31. package/lib/commands/app-config/set.js +1 -0
  32. package/lib/commands/app-config/shared.js +1 -0
  33. package/lib/commands/auth/index.js +1 -1
  34. package/lib/commands/bff/create.js +1 -1
  35. package/lib/commands/bff/delete.js +1 -1
  36. package/lib/commands/bff/detail.js +1 -1
  37. package/lib/commands/bff/index.js +1 -1
  38. package/lib/commands/bff/list.js +1 -1
  39. package/lib/commands/bff/pull.js +1 -1
  40. package/lib/commands/bff/push.js +1 -1
  41. package/lib/commands/bff/status.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/flags.js +1 -1
  48. package/lib/commands/common/validate.js +1 -1
  49. package/lib/commands/config/get.js +1 -1
  50. package/lib/commands/config/index.js +1 -1
  51. package/lib/commands/config/list.js +1 -1
  52. package/lib/commands/config/set.js +1 -1
  53. package/lib/commands/config/shared.js +1 -1
  54. package/lib/commands/data/filter.js +1 -1
  55. package/lib/commands/data/getOne.js +1 -1
  56. package/lib/commands/data/index.js +1 -1
  57. package/lib/commands/data/shared.js +1 -1
  58. package/lib/commands/dataset/business-group-update.js +1 -0
  59. package/lib/commands/dataset/capability.js +1 -1
  60. package/lib/commands/dataset/delete.js +1 -1
  61. package/lib/commands/dataset/detail.js +1 -1
  62. package/lib/commands/dataset/extend-update.js +1 -1
  63. package/lib/commands/dataset/field-update.js +1 -1
  64. package/lib/commands/dataset/index.js +1 -1
  65. package/lib/commands/dataset/list.js +1 -1
  66. package/lib/commands/dataset/operations.js +1 -1
  67. package/lib/commands/dataset/relation-create.js +1 -1
  68. package/lib/commands/dataset/relation-delete.js +1 -1
  69. package/lib/commands/dataset/relation-shared.js +1 -1
  70. package/lib/commands/dataset/relation-update.js +1 -1
  71. package/lib/commands/dataset/relations.js +1 -1
  72. package/lib/commands/dataset/rename.js +1 -1
  73. package/lib/commands/dataset/restore.js +1 -0
  74. package/lib/commands/db/analyze-cancel.js +1 -1
  75. package/lib/commands/db/analyze-start.js +1 -1
  76. package/lib/commands/db/analyze-status.js +1 -1
  77. package/lib/commands/db/create.js +1 -1
  78. package/lib/commands/db/delete.js +1 -1
  79. package/lib/commands/db/detail.js +1 -1
  80. package/lib/commands/db/diff.js +1 -1
  81. package/lib/commands/db/index.js +1 -1
  82. package/lib/commands/db/list.js +1 -1
  83. package/lib/commands/db/shared.js +1 -1
  84. package/lib/commands/db/tables.js +1 -1
  85. package/lib/commands/db/test.js +1 -1
  86. package/lib/commands/db/update.js +1 -1
  87. package/lib/commands/doctor.js +1 -1
  88. package/lib/commands/init/index.js +1 -1
  89. package/lib/commands/issue/index.js +1 -1
  90. package/lib/commands/issue/nudge.js +1 -1
  91. package/lib/commands/issue/report.js +1 -1
  92. package/lib/commands/issue/shared.js +1 -1
  93. package/lib/commands/logs/index.js +1 -1
  94. package/lib/commands/menu/index.js +1 -1
  95. package/lib/commands/menu/list.js +1 -1
  96. package/lib/commands/menu/shared/compare-table.js +1 -1
  97. package/lib/commands/menu/shared/index.js +1 -1
  98. package/lib/commands/menu/shared/inquirer.js +1 -1
  99. package/lib/commands/menu/shared/local-pages.js +1 -1
  100. package/lib/commands/menu/shared/logic.js +1 -1
  101. package/lib/commands/menu/shared/service.js +1 -1
  102. package/lib/commands/menu/shared/sync-core.js +1 -1
  103. package/lib/commands/menu/shared/update-core.js +1 -1
  104. package/lib/commands/menu/shared/valid-url.js +1 -1
  105. package/lib/commands/menu/sync.js +1 -1
  106. package/lib/commands/menu/update.js +1 -1
  107. package/lib/commands/page/generate-start.js +1 -1
  108. package/lib/commands/page/generate-status.js +1 -1
  109. package/lib/commands/page/index.js +1 -1
  110. package/lib/commands/page/pull.js +1 -1
  111. package/lib/commands/page/push.js +1 -1
  112. package/lib/commands/page/relation-audit.js +1 -1
  113. package/lib/commands/page/shared.js +1 -1
  114. package/lib/commands/page/standard-page-status.js +1 -1
  115. package/lib/commands/page/sync.js +1 -1
  116. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  117. package/lib/commands/project/create/format-elapsed.js +1 -1
  118. package/lib/commands/project/create/main.js +1 -1
  119. package/lib/commands/project/create/non-interactive.js +1 -1
  120. package/lib/commands/project/create/project-template-path.js +1 -1
  121. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  122. package/lib/commands/project/create/use-format-code.js +1 -1
  123. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  124. package/lib/commands/project/index.js +1 -1
  125. package/lib/commands/project/init.js +1 -1
  126. package/lib/commands/project/upgrade.js +1 -1
  127. package/lib/commands/registry.js +1 -1
  128. package/lib/commands/run/index.js +1 -1
  129. package/lib/commands/schema.js +1 -1
  130. package/lib/commands/skill/index.js +1 -1
  131. package/lib/commands/sql/create.js +1 -1
  132. package/lib/commands/sql/delete.js +1 -1
  133. package/lib/commands/sql/detail.js +1 -1
  134. package/lib/commands/sql/exec.js +1 -1
  135. package/lib/commands/sql/index.js +1 -1
  136. package/lib/commands/sql/list.js +1 -1
  137. package/lib/commands/sql/pull.js +1 -1
  138. package/lib/commands/sql/push.js +1 -1
  139. package/lib/commands/sql/save.js +1 -1
  140. package/lib/commands/sql/shared.js +1 -1
  141. package/lib/commands/sql/status.js +1 -1
  142. package/lib/commands/sql/validate.js +1 -1
  143. package/lib/commands/workspace/index.js +1 -1
  144. package/lib/config/schema.js +1 -1
  145. package/lib/constant/cdn.js +1 -1
  146. package/lib/constant/cli.js +1 -1
  147. package/lib/constant/defaults.js +1 -1
  148. package/lib/constant/domain.js +1 -1
  149. package/lib/constant/env.js +1 -1
  150. package/lib/constant/output.js +1 -1
  151. package/lib/constant/paths.js +1 -1
  152. package/lib/constant/risk.js +1 -1
  153. package/lib/context/app-resolver.js +1 -1
  154. package/lib/context/auth-resolver.js +1 -1
  155. package/lib/context/config-loader.js +1 -1
  156. package/lib/context.js +1 -1
  157. package/lib/core/alias-resolver.js +1 -1
  158. package/lib/core/api-client.js +1 -1
  159. package/lib/core/bff/config.js +1 -1
  160. package/lib/core/bff/file-system.js +1 -1
  161. package/lib/core/bff/hash.js +1 -1
  162. package/lib/core/bff/lock.js +1 -1
  163. package/lib/core/bff/utils.js +1 -1
  164. package/lib/core/db-resolver.js +1 -1
  165. package/lib/core/page/file-system.js +1 -1
  166. package/lib/core/page/hash.js +1 -1
  167. package/lib/core/page/lock.js +1 -1
  168. package/lib/core/sql-sync/config.js +1 -1
  169. package/lib/core/sql-sync/file-system.js +1 -1
  170. package/lib/core/sql-sync/hash.js +1 -1
  171. package/lib/core/sql-sync/lock.js +1 -1
  172. package/lib/core/sql-sync/utils.js +1 -1
  173. package/lib/core/sql-validator.js +1 -1
  174. package/lib/errors.js +1 -1
  175. package/lib/framework/build-all-flags.js +1 -1
  176. package/lib/framework/flags.js +1 -1
  177. package/lib/framework/help.js +1 -1
  178. package/lib/framework/index.js +1 -1
  179. package/lib/framework/output.js +1 -1
  180. package/lib/framework/response.js +1 -1
  181. package/lib/framework/runner-alias.js +1 -1
  182. package/lib/framework/runner.js +1 -1
  183. package/lib/framework/schema-export.js +1 -1
  184. package/lib/framework/types.js +1 -1
  185. package/lib/generated/build-info.js +1 -1
  186. package/lib/help.js +1 -1
  187. package/lib/skills/main.js +1 -1
  188. package/lib/skills/npx-skills-add.js +1 -1
  189. package/lib/telemetry/cli-command-trace.js +1 -1
  190. package/lib/telemetry/cli-help-trace.js +1 -1
  191. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  192. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  193. package/lib/telemetry/send-cli-trace-log.js +1 -1
  194. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  195. package/lib/utils/ai_config.js +1 -1
  196. package/lib/utils/apply-jq-filter.js +1 -1
  197. package/lib/utils/cdn-config.js +1 -1
  198. package/lib/utils/check-sdk-version.js +1 -1
  199. package/lib/utils/cli-version-check.js +1 -1
  200. package/lib/utils/cli-version-policy.js +1 -1
  201. package/lib/utils/config.js +1 -1
  202. package/lib/utils/copy-directory.js +1 -1
  203. package/lib/utils/entity-with-id.js +1 -1
  204. package/lib/utils/file-utils.js +1 -1
  205. package/lib/utils/guides-cdn.js +1 -1
  206. package/lib/utils/http-client.js +1 -1
  207. package/lib/utils/is-non-interactive.js +1 -1
  208. package/lib/utils/logger.js +1 -1
  209. package/lib/utils/params.js +1 -1
  210. package/lib/utils/platform.js +1 -1
  211. package/lib/utils/rules-cdn.js +1 -1
  212. package/lib/utils/sleep.js +1 -1
  213. package/lib/utils/template-replacer.js +1 -1
  214. package/lib/utils/update-notice.js +1 -1
  215. package/lib/utils/version.js +1 -1
  216. package/lib/utils/with-active-cookie.js +1 -1
  217. package/lib/utils/write-cli-side-channel.js +1 -1
  218. package/package.json +1 -1
  219. package/templates/README.md +15 -25
  220. package/templates/generate-api/api.ts.tpl +2 -2
  221. package/templates/generate-api/client.ts.tpl +2 -2
  222. package/templates/projects/sub-app-react-demo/CHANGELOG.md +15 -1
  223. package/templates/projects/sub-app-react-demo/README.md +159 -231
  224. package/templates/projects/sub-app-react-demo/docs/quick-start.md +145 -426
  225. package/templates/projects/sub-app-react-demo/src/api/api.ts +8 -65
  226. package/templates/projects/sub-app-react-demo/src/api/client.ts +10 -42
  227. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +28 -0
  228. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +55 -0
  229. package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +6 -9
  230. package/templates/projects/sub-app-react-demo/src/main.tsx +10 -6
  231. package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +3 -5
  232. package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +153 -148
  233. package/templates/projects/sub-app-react-demo/src/pages/index.module.css +500 -0
  234. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +517 -343
  235. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +325 -242
  236. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +8 -6
  237. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +174 -87
  238. package/templates/projects/sub-app-react-demo/src/style.css +19 -3
  239. package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +1 -1
  240. package/templates/projects/sub-app-react-demo/docs/API_RULE_CHANGE.md +0 -212
@@ -0,0 +1,500 @@
1
+ .homepage {
2
+ max-width: 1180px;
3
+ margin: 0 auto;
4
+ padding: clamp(4px, 1.5vw, 20px) 0 40px;
5
+ color: #1f2937;
6
+ }
7
+
8
+ .hero {
9
+ display: grid;
10
+ grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
11
+ gap: 24px;
12
+ align-items: stretch;
13
+ margin-bottom: 20px;
14
+ }
15
+
16
+ .heroCopy,
17
+ .statusPanel,
18
+ .sectionCard {
19
+ background: #ffffff;
20
+ border: 1px solid #e5e7eb;
21
+ border-radius: 8px;
22
+ box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
23
+ }
24
+
25
+ .heroCopy {
26
+ padding: 30px;
27
+ }
28
+
29
+ .statusPanel {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 20px;
33
+ padding: 24px;
34
+ }
35
+
36
+ .heroTitle {
37
+ margin: 14px 0 12px !important;
38
+ color: #111827 !important;
39
+ font-size: clamp(28px, 3vw, 42px) !important;
40
+ line-height: 1.12 !important;
41
+ }
42
+
43
+ .heroText {
44
+ max-width: 720px;
45
+ margin-bottom: 22px !important;
46
+ color: #4b5563;
47
+ font-size: 16px;
48
+ line-height: 1.75;
49
+ }
50
+
51
+ .heroActions {
52
+ display: flex;
53
+ }
54
+
55
+ .surfaceRow {
56
+ display: flex;
57
+ flex-wrap: wrap;
58
+ gap: 8px;
59
+ margin-bottom: 22px;
60
+ }
61
+
62
+ .statusHeader {
63
+ display: flex;
64
+ justify-content: space-between;
65
+ gap: 16px;
66
+ align-items: flex-start;
67
+ }
68
+
69
+ .statusHeader h2 {
70
+ margin: 4px 0 0 !important;
71
+ font-size: 22px !important;
72
+ }
73
+
74
+ .statusCode {
75
+ display: grid;
76
+ gap: 8px;
77
+ padding: 16px;
78
+ background: #f8fafc;
79
+ border: 1px solid #e2e8f0;
80
+ border-radius: 8px;
81
+ }
82
+
83
+ .statusCode strong {
84
+ color: #111827;
85
+ font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
86
+ font-size: 18px;
87
+ line-height: 1.4;
88
+ overflow-wrap: anywhere;
89
+ }
90
+
91
+ .statusGrid {
92
+ display: grid;
93
+ grid-template-columns: repeat(2, minmax(0, 1fr));
94
+ gap: 12px;
95
+ }
96
+
97
+ .statusGrid > div {
98
+ display: grid;
99
+ gap: 6px;
100
+ min-width: 0;
101
+ padding: 12px;
102
+ background: #ffffff;
103
+ border: 1px solid #edf2f7;
104
+ border-radius: 8px;
105
+ }
106
+
107
+ .statusGrid strong {
108
+ color: #1f2937;
109
+ font-size: 13px;
110
+ line-height: 1.45;
111
+ overflow-wrap: anywhere;
112
+ }
113
+
114
+ .statusLinks {
115
+ display: grid;
116
+ gap: 10px;
117
+ }
118
+
119
+ .statusLinks :global(.ant-btn) {
120
+ justify-content: flex-start;
121
+ }
122
+
123
+ .setupAlert {
124
+ margin-bottom: 24px;
125
+ border-radius: 8px;
126
+ }
127
+
128
+ .alertBody {
129
+ display: grid;
130
+ gap: 12px;
131
+ max-width: 760px;
132
+ }
133
+
134
+ .alertBody p {
135
+ margin-bottom: 0 !important;
136
+ }
137
+
138
+ .section {
139
+ margin-top: 28px;
140
+ }
141
+
142
+ .sectionHeader {
143
+ display: flex;
144
+ justify-content: space-between;
145
+ gap: 16px;
146
+ align-items: flex-end;
147
+ margin-bottom: 14px;
148
+ }
149
+
150
+ .sectionHeader h2 {
151
+ margin: 4px 0 0 !important;
152
+ font-size: 24px !important;
153
+ }
154
+
155
+ .promptGrid,
156
+ .pageGrid,
157
+ .taskGrid,
158
+ .docGrid,
159
+ .bottomGrid {
160
+ display: grid;
161
+ gap: 16px;
162
+ }
163
+
164
+ .promptGrid {
165
+ grid-template-columns: repeat(2, minmax(0, 1fr));
166
+ }
167
+
168
+ .pageGrid {
169
+ grid-template-columns: repeat(4, minmax(0, 1fr));
170
+ }
171
+
172
+ .taskGrid {
173
+ grid-template-columns: repeat(3, minmax(0, 1fr));
174
+ }
175
+
176
+ .docGrid {
177
+ grid-template-columns: repeat(3, minmax(0, 1fr));
178
+ }
179
+
180
+ .bottomGrid {
181
+ grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
182
+ margin-top: 28px;
183
+ }
184
+
185
+ .promptCard,
186
+ .routeCard {
187
+ height: 100%;
188
+ border-radius: 8px;
189
+ border-color: #e5e7eb;
190
+ }
191
+
192
+ .promptCard :global(.ant-card-body),
193
+ .routeCard :global(.ant-card-body),
194
+ .sectionCard :global(.ant-card-body) {
195
+ height: 100%;
196
+ }
197
+
198
+ .promptCard :global(.ant-card-body) {
199
+ display: flex;
200
+ flex-direction: column;
201
+ gap: 14px;
202
+ }
203
+
204
+ .cardHeading {
205
+ display: flex;
206
+ gap: 14px;
207
+ align-items: flex-start;
208
+ }
209
+
210
+ .cardHeading h3,
211
+ .routeCard h3 {
212
+ margin: 0 0 8px !important;
213
+ color: #111827 !important;
214
+ font-size: 18px !important;
215
+ }
216
+
217
+ .cardHeading p,
218
+ .routeCard p {
219
+ margin-bottom: 0 !important;
220
+ color: #4b5563;
221
+ line-height: 1.65;
222
+ }
223
+
224
+ .iconBox,
225
+ .routeIcon {
226
+ display: inline-flex;
227
+ flex: 0 0 auto;
228
+ align-items: center;
229
+ justify-content: center;
230
+ width: 38px;
231
+ height: 38px;
232
+ color: #0958d9;
233
+ background: #eaf2ff;
234
+ border-radius: 8px;
235
+ font-size: 18px;
236
+ }
237
+
238
+ .tagRow {
239
+ display: flex;
240
+ flex-wrap: wrap;
241
+ gap: 6px;
242
+ }
243
+
244
+ .tagRow :global(.ant-tag) {
245
+ margin-inline-end: 0;
246
+ }
247
+
248
+ .taskCard,
249
+ .docCard {
250
+ display: grid;
251
+ min-width: 0;
252
+ height: 100%;
253
+ color: inherit;
254
+ text-decoration: none;
255
+ background: #ffffff;
256
+ border: 1px solid #e5e7eb;
257
+ border-radius: 8px;
258
+ transition:
259
+ border-color 0.2s ease,
260
+ box-shadow 0.2s ease,
261
+ transform 0.2s ease;
262
+ }
263
+
264
+ .taskCard:hover,
265
+ .docCard:hover {
266
+ color: inherit;
267
+ border-color: #91caff;
268
+ box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
269
+ transform: translateY(-1px);
270
+ }
271
+
272
+ .taskCard:active,
273
+ .docCard:active {
274
+ transform: translateY(0);
275
+ }
276
+
277
+ .taskCard {
278
+ grid-template-columns: auto minmax(0, 1fr);
279
+ gap: 14px;
280
+ padding: 18px;
281
+ }
282
+
283
+ .taskCard strong,
284
+ .docCard strong {
285
+ display: block;
286
+ margin-bottom: 6px;
287
+ color: #111827;
288
+ font-size: 16px;
289
+ line-height: 1.45;
290
+ }
291
+
292
+ .taskCard span span,
293
+ .docCard > span:not(.routeIcon) {
294
+ display: block;
295
+ color: #4b5563;
296
+ line-height: 1.6;
297
+ }
298
+
299
+ .taskCard em,
300
+ .docCard em {
301
+ display: inline-flex;
302
+ gap: 6px;
303
+ align-items: center;
304
+ color: #0958d9;
305
+ font-style: normal;
306
+ font-weight: 500;
307
+ }
308
+
309
+ .taskCard em {
310
+ grid-column: 2;
311
+ margin-top: 4px;
312
+ }
313
+
314
+ .docCard {
315
+ gap: 12px;
316
+ padding: 18px;
317
+ }
318
+
319
+ .commandList {
320
+ display: grid;
321
+ gap: 8px;
322
+ padding: 12px;
323
+ background: #f8fafc;
324
+ border: 1px solid #e2e8f0;
325
+ border-radius: 8px;
326
+ }
327
+
328
+ .commandList > div {
329
+ display: flex;
330
+ flex-wrap: wrap;
331
+ gap: 8px;
332
+ }
333
+
334
+ .inlineDocLink {
335
+ align-self: flex-start;
336
+ height: auto;
337
+ padding: 0;
338
+ }
339
+
340
+ .copyBlock {
341
+ display: grid;
342
+ gap: 8px;
343
+ }
344
+
345
+ .copyBlockCompact {
346
+ margin-top: auto;
347
+ }
348
+
349
+ .copyHeader {
350
+ display: flex;
351
+ justify-content: space-between;
352
+ gap: 12px;
353
+ align-items: center;
354
+ }
355
+
356
+ .copyButton {
357
+ flex: 0 0 auto;
358
+ }
359
+
360
+ .copyPre {
361
+ min-width: 0;
362
+ margin: 0;
363
+ padding: 14px 16px;
364
+ overflow-x: auto;
365
+ color: #e5e7eb;
366
+ background: #111827;
367
+ border-radius: 8px;
368
+ font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
369
+ font-size: 12px;
370
+ line-height: 1.7;
371
+ white-space: pre-wrap;
372
+ overflow-wrap: anywhere;
373
+ }
374
+
375
+ .routeCard :global(.ant-card-body) {
376
+ display: flex;
377
+ flex-direction: column;
378
+ gap: 12px;
379
+ }
380
+
381
+ .routeIcon {
382
+ width: 42px;
383
+ height: 42px;
384
+ }
385
+
386
+ .routeLink {
387
+ display: inline-flex;
388
+ gap: 6px;
389
+ align-items: center;
390
+ margin-top: auto;
391
+ color: #0958d9;
392
+ font-weight: 500;
393
+ }
394
+
395
+ .routeLink:hover {
396
+ color: #1677ff;
397
+ }
398
+
399
+ .cardTitleLine {
400
+ display: flex;
401
+ gap: 10px;
402
+ align-items: center;
403
+ margin-bottom: 16px;
404
+ color: #0958d9;
405
+ }
406
+
407
+ .cardTitleLine h2 {
408
+ margin: 0 !important;
409
+ color: #111827 !important;
410
+ font-size: 22px !important;
411
+ }
412
+
413
+ .checkList {
414
+ display: grid;
415
+ gap: 12px;
416
+ margin: 0;
417
+ padding: 0;
418
+ list-style: none;
419
+ }
420
+
421
+ .checkList li {
422
+ display: flex;
423
+ gap: 10px;
424
+ align-items: flex-start;
425
+ color: #374151;
426
+ line-height: 1.65;
427
+ }
428
+
429
+ .checkList svg {
430
+ flex: 0 0 auto;
431
+ margin-top: 4px;
432
+ color: #389e0d;
433
+ }
434
+
435
+ .mutedText {
436
+ color: #4b5563;
437
+ line-height: 1.7;
438
+ }
439
+
440
+ @media (max-width: 1100px) {
441
+ .pageGrid,
442
+ .taskGrid,
443
+ .docGrid {
444
+ grid-template-columns: repeat(2, minmax(0, 1fr));
445
+ }
446
+ }
447
+
448
+ @media (max-width: 900px) {
449
+ .hero,
450
+ .bottomGrid {
451
+ grid-template-columns: 1fr;
452
+ }
453
+
454
+ .promptGrid {
455
+ grid-template-columns: 1fr;
456
+ }
457
+ }
458
+
459
+ @media (max-width: 640px) {
460
+ .homepage {
461
+ padding-bottom: 32px;
462
+ }
463
+
464
+ .heroCopy,
465
+ .statusPanel {
466
+ padding: 20px;
467
+ }
468
+
469
+ .heroActions,
470
+ .heroActions :global(.ant-space-item),
471
+ .heroActions :global(.ant-btn) {
472
+ width: 100%;
473
+ }
474
+
475
+ .sectionHeader,
476
+ .statusHeader,
477
+ .copyHeader {
478
+ align-items: flex-start;
479
+ flex-direction: column;
480
+ }
481
+
482
+ .statusGrid,
483
+ .pageGrid,
484
+ .taskGrid,
485
+ .docGrid {
486
+ grid-template-columns: 1fr;
487
+ }
488
+
489
+ .cardHeading {
490
+ flex-direction: column;
491
+ }
492
+
493
+ .taskCard {
494
+ grid-template-columns: 1fr;
495
+ }
496
+
497
+ .taskCard em {
498
+ grid-column: auto;
499
+ }
500
+ }