dsh-zen-remote 2.2.8 → 2.3.1

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 (162) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +2 -2
  3. package/docs/interface.md +1 -1
  4. package/docs/remote-access.md +20 -0
  5. package/lan-gate.mjs +11 -1
  6. package/lib/adapters/dsh-better-sidebar/index.js +6 -2
  7. package/lib/adapters/dsh-better-sidebar/index.js.map +1 -1
  8. package/lib/adapters/dsh-better-sidebar/methods.js +3 -0
  9. package/lib/adapters/dsh-better-sidebar/methods.js.map +1 -1
  10. package/lib/admin-routes.js +33 -2
  11. package/lib/admin-routes.js.map +1 -1
  12. package/lib/client-routes.js +52 -0
  13. package/lib/client-routes.js.map +1 -1
  14. package/lib/client.js +3390 -10
  15. package/lib/config.js +70 -0
  16. package/lib/config.js.map +1 -1
  17. package/lib/index.js +232 -2
  18. package/lib/index.js.map +1 -1
  19. package/lib/intercept.js +43 -3
  20. package/lib/intercept.js.map +1 -1
  21. package/lib/lan-gate-server.cjs +29 -3
  22. package/lib/merge-streams.js +42 -12
  23. package/lib/merge-streams.js.map +1 -1
  24. package/lib/relay-client.js +71 -0
  25. package/lib/relay-client.js.map +1 -1
  26. package/lib/types/adapters/dsh-better-sidebar/index.d.ts +1 -1
  27. package/lib/types/adapters/dsh-better-sidebar/index.d.ts.map +1 -1
  28. package/lib/types/adapters/dsh-better-sidebar/methods.d.ts.map +1 -1
  29. package/lib/types/admin-routes.d.ts +13 -0
  30. package/lib/types/admin-routes.d.ts.map +1 -1
  31. package/lib/types/client/index.d.ts.map +1 -1
  32. package/lib/types/client/locales.d.ts +204 -1
  33. package/lib/types/client/locales.d.ts.map +1 -1
  34. package/lib/types/client/wizard/GatewayWizard.d.ts +29 -0
  35. package/lib/types/client/wizard/GatewayWizard.d.ts.map +1 -0
  36. package/lib/types/client/wizard/WizardCard.d.ts +30 -0
  37. package/lib/types/client/wizard/WizardCard.d.ts.map +1 -0
  38. package/lib/types/client/wizard/cards/MigrateCard.d.ts +15 -0
  39. package/lib/types/client/wizard/cards/MigrateCard.d.ts.map +1 -0
  40. package/lib/types/client/wizard/cards/PortForwardCard.d.ts +15 -0
  41. package/lib/types/client/wizard/cards/PortForwardCard.d.ts.map +1 -0
  42. package/lib/types/client/wizard/cards/ProxyCard.d.ts +19 -0
  43. package/lib/types/client/wizard/cards/ProxyCard.d.ts.map +1 -0
  44. package/lib/types/client/wizard/cards/TokenCard.d.ts +20 -0
  45. package/lib/types/client/wizard/cards/TokenCard.d.ts.map +1 -0
  46. package/lib/types/client/wizard/register-wizard.d.ts +51 -0
  47. package/lib/types/client/wizard/register-wizard.d.ts.map +1 -0
  48. package/lib/types/client/wizard/wizard-css.d.ts +10 -0
  49. package/lib/types/client/wizard/wizard-css.d.ts.map +1 -0
  50. package/lib/types/client-data/qr.d.ts +20 -0
  51. package/lib/types/client-data/qr.d.ts.map +1 -0
  52. package/lib/types/client-data/remote-status.d.ts +39 -2
  53. package/lib/types/client-data/remote-status.d.ts.map +1 -1
  54. package/lib/types/client-data/settings-form.d.ts +7 -2
  55. package/lib/types/client-data/settings-form.d.ts.map +1 -1
  56. package/lib/types/client-data/wizard.d.ts +247 -0
  57. package/lib/types/client-data/wizard.d.ts.map +1 -0
  58. package/lib/types/client-routes.d.ts +19 -0
  59. package/lib/types/client-routes.d.ts.map +1 -1
  60. package/lib/types/config.d.ts +27 -0
  61. package/lib/types/config.d.ts.map +1 -1
  62. package/lib/types/index.d.ts.map +1 -1
  63. package/lib/types/intercept.d.ts.map +1 -1
  64. package/lib/types/merge-streams.d.ts.map +1 -1
  65. package/lib/types/relay-client.d.ts +10 -0
  66. package/lib/types/relay-client.d.ts.map +1 -1
  67. package/lib/types/wizard/binary-io.d.ts +111 -0
  68. package/lib/types/wizard/binary-io.d.ts.map +1 -0
  69. package/lib/types/wizard/binary.d.ts +118 -0
  70. package/lib/types/wizard/binary.d.ts.map +1 -0
  71. package/lib/types/wizard/caddy-process.d.ts +101 -0
  72. package/lib/types/wizard/caddy-process.d.ts.map +1 -0
  73. package/lib/types/wizard/caddy.d.ts +53 -0
  74. package/lib/types/wizard/caddy.d.ts.map +1 -0
  75. package/lib/types/wizard/cloudflare.d.ts +112 -0
  76. package/lib/types/wizard/cloudflare.d.ts.map +1 -0
  77. package/lib/types/wizard/cloudflared.d.ts +71 -0
  78. package/lib/types/wizard/cloudflared.d.ts.map +1 -0
  79. package/lib/types/wizard/probe.d.ts +66 -0
  80. package/lib/types/wizard/probe.d.ts.map +1 -0
  81. package/lib/types/wizard/proxy-snippets.d.ts +60 -0
  82. package/lib/types/wizard/proxy-snippets.d.ts.map +1 -0
  83. package/lib/types/wizard/routes.d.ts +152 -0
  84. package/lib/types/wizard/routes.d.ts.map +1 -0
  85. package/lib/types/wizard/source-detect.d.ts +53 -0
  86. package/lib/types/wizard/source-detect.d.ts.map +1 -0
  87. package/lib/types/wizard/status.d.ts +115 -0
  88. package/lib/types/wizard/status.d.ts.map +1 -0
  89. package/lib/types/wizard/token-store.d.ts +27 -0
  90. package/lib/types/wizard/token-store.d.ts.map +1 -0
  91. package/lib/types/wizard/tunnel-orchestrator.d.ts +90 -0
  92. package/lib/types/wizard/tunnel-orchestrator.d.ts.map +1 -0
  93. package/lib/types/wizard/verify.d.ts +97 -0
  94. package/lib/types/wizard/verify.d.ts.map +1 -0
  95. package/lib/wizard/binary-io.js +386 -0
  96. package/lib/wizard/binary-io.js.map +1 -0
  97. package/lib/wizard/binary.js +138 -0
  98. package/lib/wizard/binary.js.map +1 -0
  99. package/lib/wizard/caddy-process.js +162 -0
  100. package/lib/wizard/caddy-process.js.map +1 -0
  101. package/lib/wizard/caddy.js +80 -0
  102. package/lib/wizard/caddy.js.map +1 -0
  103. package/lib/wizard/cloudflare.js +334 -0
  104. package/lib/wizard/cloudflare.js.map +1 -0
  105. package/lib/wizard/cloudflared.js +158 -0
  106. package/lib/wizard/cloudflared.js.map +1 -0
  107. package/lib/wizard/probe.js +118 -0
  108. package/lib/wizard/probe.js.map +1 -0
  109. package/lib/wizard/proxy-snippets.js +112 -0
  110. package/lib/wizard/proxy-snippets.js.map +1 -0
  111. package/lib/wizard/routes.js +462 -0
  112. package/lib/wizard/routes.js.map +1 -0
  113. package/lib/wizard/source-detect.js +77 -0
  114. package/lib/wizard/source-detect.js.map +1 -0
  115. package/lib/wizard/status.js +94 -0
  116. package/lib/wizard/status.js.map +1 -0
  117. package/lib/wizard/token-store.js +71 -0
  118. package/lib/wizard/token-store.js.map +1 -0
  119. package/lib/wizard/tunnel-orchestrator.js +155 -0
  120. package/lib/wizard/tunnel-orchestrator.js.map +1 -0
  121. package/lib/wizard/verify.js +171 -0
  122. package/lib/wizard/verify.js.map +1 -0
  123. package/package.json +37 -37
  124. package/scripts/check-settings-form.mjs +5 -4
  125. package/scripts/check-wizard-ui.mjs +690 -0
  126. package/src/adapters/dsh-better-sidebar/index.ts +6 -2
  127. package/src/adapters/dsh-better-sidebar/methods.ts +3 -0
  128. package/src/admin-routes.ts +44 -2
  129. package/src/client/index.tsx +9 -0
  130. package/src/client/locales.ts +410 -2
  131. package/src/client/wizard/GatewayWizard.tsx +2220 -0
  132. package/src/client/wizard/WizardCard.tsx +81 -0
  133. package/src/client/wizard/cards/MigrateCard.tsx +42 -0
  134. package/src/client/wizard/cards/PortForwardCard.tsx +37 -0
  135. package/src/client/wizard/cards/ProxyCard.tsx +56 -0
  136. package/src/client/wizard/cards/TokenCard.tsx +81 -0
  137. package/src/client/wizard/register-wizard.ts +99 -0
  138. package/src/client/wizard/wizard-css.ts +948 -0
  139. package/src/client-data/qr.ts +284 -0
  140. package/src/client-data/remote-status.ts +128 -2
  141. package/src/client-data/settings-form.ts +12 -3
  142. package/src/client-data/wizard.ts +432 -0
  143. package/src/client-routes.ts +53 -0
  144. package/src/config.ts +87 -0
  145. package/src/index.ts +227 -2
  146. package/src/intercept.ts +43 -3
  147. package/src/merge-streams.ts +41 -12
  148. package/src/relay-client.ts +76 -0
  149. package/src/wizard/binary-io.ts +449 -0
  150. package/src/wizard/binary.ts +177 -0
  151. package/src/wizard/caddy-process.ts +228 -0
  152. package/src/wizard/caddy.ts +97 -0
  153. package/src/wizard/cloudflare.ts +413 -0
  154. package/src/wizard/cloudflared.ts +196 -0
  155. package/src/wizard/probe.ts +161 -0
  156. package/src/wizard/proxy-snippets.ts +128 -0
  157. package/src/wizard/routes.ts +537 -0
  158. package/src/wizard/source-detect.ts +87 -0
  159. package/src/wizard/status.ts +180 -0
  160. package/src/wizard/token-store.ts +73 -0
  161. package/src/wizard/tunnel-orchestrator.ts +197 -0
  162. package/src/wizard/verify.ts +236 -0
@@ -0,0 +1,948 @@
1
+ /**
2
+ * Wizard-page CSS (GW-10), scoped end to end under the block's own
3
+ * `data-zen-remote` attributes — the desktop no-op rule in its CSS form:
4
+ * nothing here may reach a selector the wizard does not own, so the
5
+ * Plugins detail page at ≥1024px renders byte-identically whether or not
6
+ * the component mounts. Same transcription discipline as settings-css.ts
7
+ * (host design tokens only, no literal colors).
8
+ */
9
+
10
+ export const WIZARD_CSS = `
11
+ [data-plugin-detail="dsh-zen-remote"] section[data-plugin-config]:empty {
12
+ display: none;
13
+ }
14
+
15
+ [data-zen-remote="wizard"] {
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: 16px;
19
+ width: 100%;
20
+ box-sizing: border-box;
21
+ margin-inline: auto;
22
+ border: 1px solid var(--dsw-alias-border-l2);
23
+ border-radius: 12px;
24
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
25
+ padding: 18px 20px;
26
+ }
27
+
28
+ [data-zen-remote="wizard"] .zr-wizard-header {
29
+ display: flex;
30
+ align-items: flex-start;
31
+ justify-content: space-between;
32
+ gap: 12px;
33
+ flex-wrap: wrap;
34
+ }
35
+ [data-zen-remote="wizard"] .zr-wizard-headerText {
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: 4px;
39
+ min-width: 0;
40
+ }
41
+ [data-zen-remote="wizard"] .zr-wizard-title {
42
+ font-size: 15px;
43
+ font-weight: 600;
44
+ color: var(--dsw-alias-label-primary);
45
+ margin: 0;
46
+ }
47
+ [data-zen-remote="wizard"] .zr-wizard-subtitle {
48
+ font-size: 12.5px;
49
+ color: var(--dsw-alias-label-tertiary);
50
+ margin: 0;
51
+ line-height: 1.45;
52
+ }
53
+ [data-zen-remote="wizard"] .zr-wizard-statusBadge {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ gap: 6px;
57
+ font-size: 12px;
58
+ font-weight: 500;
59
+ padding: 4px 10px;
60
+ border-radius: 999px;
61
+ border: 1px solid var(--dsw-alias-border-l2);
62
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
63
+ color: var(--dsw-alias-label-secondary);
64
+ white-space: nowrap;
65
+ }
66
+ [data-zen-remote="wizard"] .zr-wizard-statusBadge[data-state="pass"] {
67
+ color: var(--dsw-alias-label-primary);
68
+ }
69
+
70
+ [data-zen-remote="wizard"] .zr-wizard-notice {
71
+ font-size: 12.5px;
72
+ border: 1px solid var(--dsw-alias-border-l2);
73
+ border-radius: 8px;
74
+ padding: 9px 12px;
75
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
76
+ color: var(--dsw-alias-label-secondary);
77
+ margin: 0;
78
+ line-height: 1.45;
79
+ }
80
+ [data-zen-remote="wizard"] .zr-wizard-notice[data-tone="error"] {
81
+ border-color: var(--dsw-alias-state-error-primary, #d5304f);
82
+ color: var(--dsw-alias-state-error-primary, #d5304f);
83
+ }
84
+ [data-zen-remote="wizard"] .zr-wizard-notice[data-tone="ok"] {
85
+ border-color: var(--dsw-alias-state-success-primary, #16a34a);
86
+ color: var(--dsw-alias-state-success-primary, #16a34a);
87
+ }
88
+
89
+ /* Inline Status Overview Card (2x2 spacious layout, full text visibility) */
90
+ [data-zen-remote="wizard"] .zr-wizard-overviewGrid {
91
+ display: grid;
92
+ grid-template-columns: repeat(2, minmax(0, 1fr));
93
+ gap: 12px;
94
+ }
95
+ @media (max-width: 560px) {
96
+ [data-zen-remote="wizard"] .zr-wizard-overviewGrid {
97
+ grid-template-columns: 1fr;
98
+ }
99
+ }
100
+ [data-zen-remote="wizard"] .zr-wizard-overviewItem {
101
+ display: flex;
102
+ flex-direction: column;
103
+ gap: 6px;
104
+ padding: 13px 15px;
105
+ border-radius: 10px;
106
+ border: 1px solid var(--dsw-alias-border-l2);
107
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
108
+ min-width: 0;
109
+ }
110
+ [data-zen-remote="wizard"] .zr-wizard-overviewHead {
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: space-between;
114
+ gap: 8px;
115
+ }
116
+ [data-zen-remote="wizard"] .zr-wizard-overviewLabel {
117
+ font-size: 12px;
118
+ color: var(--dsw-alias-label-tertiary);
119
+ margin: 0;
120
+ }
121
+ [data-zen-remote="wizard"] .zr-wizard-overviewValue {
122
+ display: flex;
123
+ align-items: center;
124
+ gap: 7px;
125
+ font-size: 13.5px;
126
+ font-weight: 600;
127
+ color: var(--dsw-alias-label-primary);
128
+ margin: 0;
129
+ line-height: 1.45;
130
+ overflow-wrap: anywhere;
131
+ word-break: break-word;
132
+ }
133
+ [data-zen-remote="wizard"] .zr-wizard-overviewSub {
134
+ font-size: 12px;
135
+ color: var(--dsw-alias-label-secondary);
136
+ margin: 0;
137
+ line-height: 1.45;
138
+ overflow-wrap: anywhere;
139
+ word-break: break-word;
140
+ }
141
+ [data-zen-remote="wizard"] .zr-wizard-emptyBanner {
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: space-between;
145
+ gap: 16px;
146
+ flex-wrap: wrap;
147
+ padding: 14px 16px;
148
+ border-radius: 10px;
149
+ border: 1px dashed var(--dsw-alias-border-l2);
150
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
151
+ }
152
+ [data-zen-remote="wizard"] .zr-wizard-emptyText {
153
+ font-size: 12.5px;
154
+ color: var(--dsw-alias-label-secondary);
155
+ line-height: 1.5;
156
+ margin: 0;
157
+ flex: 1;
158
+ min-width: 220px;
159
+ }
160
+
161
+ /* Wizard Modal Dialog (above app chrome, below helper sub-cards) */
162
+ [data-zen-remote="wizard-modal"] {
163
+ position: fixed;
164
+ inset: 0;
165
+ z-index: 950;
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ padding: 16px;
170
+ background: rgba(0, 0, 0, 0.5);
171
+ backdrop-filter: blur(2px);
172
+ }
173
+ [data-zen-remote="wizard-modal"] .zr-wizard-modalDialog {
174
+ width: min(680px, calc(100vw - 32px));
175
+ max-height: min(88vh, 760px);
176
+ display: flex;
177
+ flex-direction: column;
178
+ border-radius: 14px;
179
+ border: 1px solid var(--dsw-alias-border-l2);
180
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
181
+ color: var(--dsw-alias-label-primary);
182
+ box-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
183
+ overflow: hidden;
184
+ }
185
+ [data-zen-remote="wizard-modal"] .zr-wizard-modalHeader {
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: space-between;
189
+ gap: 12px;
190
+ padding: 16px 22px 14px;
191
+ }
192
+ [data-zen-remote="wizard-modal"] .zr-wizard-modalTitle {
193
+ font-size: 15.5px;
194
+ font-weight: 600;
195
+ color: var(--dsw-alias-label-primary);
196
+ margin: 0;
197
+ }
198
+ [data-zen-remote="wizard-modal"] .zr-wizard-modalBody {
199
+ padding: 18px 22px;
200
+ overflow-y: auto;
201
+ display: flex;
202
+ flex-direction: column;
203
+ gap: 16px;
204
+ flex: 1;
205
+ }
206
+ [data-zen-remote="wizard-modal"] .zr-wizard-modalFooter {
207
+ padding: 14px 22px;
208
+ border-top: 1px solid var(--dsw-alias-border-l2);
209
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: space-between;
213
+ gap: 12px;
214
+ flex-wrap: wrap;
215
+ }
216
+
217
+ /* Non-clickable 3-step visual progress indicator */
218
+ [data-zen-remote="wizard"] .zr-wizard-stepper {
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: space-between;
222
+ gap: 10px;
223
+ padding: 13px 22px;
224
+ margin: 0;
225
+ list-style: none;
226
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
227
+ border-top: 1px solid var(--dsw-alias-border-l2);
228
+ border-bottom: 1px solid var(--dsw-alias-border-l2);
229
+ user-select: none;
230
+ pointer-events: none;
231
+ }
232
+ [data-zen-remote="wizard"] .zr-wizard-stepItem {
233
+ display: flex;
234
+ align-items: center;
235
+ gap: 10px;
236
+ min-width: 0;
237
+ }
238
+ [data-zen-remote="wizard"] .zr-wizard-stepCircle {
239
+ width: 26px;
240
+ height: 26px;
241
+ border-radius: 50%;
242
+ display: inline-flex;
243
+ align-items: center;
244
+ justify-content: center;
245
+ font-size: 12px;
246
+ font-weight: 600;
247
+ border: 1.5px solid var(--dsw-alias-border-l2);
248
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
249
+ color: var(--dsw-alias-label-tertiary);
250
+ flex: none;
251
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
252
+ }
253
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="current"] .zr-wizard-stepCircle {
254
+ background: var(--dsw-alias-label-primary);
255
+ border-color: var(--dsw-alias-label-primary);
256
+ color: var(--dsw-alias-bg-layer-2, #fff);
257
+ box-shadow: 0 0 0 3px var(--dsw-alias-border-l2);
258
+ }
259
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="done"] .zr-wizard-stepCircle {
260
+ background: var(--dsw-alias-state-success-primary, #16a34a);
261
+ border-color: var(--dsw-alias-state-success-primary, #16a34a);
262
+ color: #fff;
263
+ }
264
+ [data-zen-remote="wizard"] .zr-wizard-stepText {
265
+ display: flex;
266
+ flex-direction: column;
267
+ gap: 1px;
268
+ min-width: 0;
269
+ }
270
+ [data-zen-remote="wizard"] .zr-wizard-stepTag {
271
+ font-size: 11px;
272
+ color: var(--dsw-alias-label-tertiary);
273
+ line-height: 1.2;
274
+ }
275
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="current"] .zr-wizard-stepTag {
276
+ color: var(--dsw-alias-label-secondary);
277
+ font-weight: 500;
278
+ }
279
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="done"] .zr-wizard-stepTag {
280
+ color: var(--dsw-alias-state-success-primary, #16a34a);
281
+ }
282
+ [data-zen-remote="wizard"] .zr-wizard-stepName {
283
+ font-size: 13px;
284
+ font-weight: 500;
285
+ color: var(--dsw-alias-label-tertiary);
286
+ white-space: nowrap;
287
+ overflow: hidden;
288
+ text-overflow: ellipsis;
289
+ }
290
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="current"] .zr-wizard-stepName {
291
+ color: var(--dsw-alias-label-primary);
292
+ font-weight: 600;
293
+ }
294
+ [data-zen-remote="wizard"] .zr-wizard-stepItem[data-state="done"] .zr-wizard-stepName {
295
+ color: var(--dsw-alias-label-secondary);
296
+ }
297
+ [data-zen-remote="wizard"] .zr-wizard-stepConnector {
298
+ flex: 1;
299
+ height: 2px;
300
+ min-width: 18px;
301
+ border-radius: 2px;
302
+ background: var(--dsw-alias-border-l2);
303
+ transition: background-color 200ms ease;
304
+ }
305
+ [data-zen-remote="wizard"] .zr-wizard-stepConnector[data-done="true"] {
306
+ background: var(--dsw-alias-state-success-primary, #16a34a);
307
+ }
308
+ [data-zen-remote="wizard"] .zr-wizard-stepIntro {
309
+ font-size: 12.5px;
310
+ color: var(--dsw-alias-label-secondary);
311
+ margin: 0;
312
+ line-height: 1.45;
313
+ }
314
+
315
+ [data-zen-remote="wizard"] .zr-wizard-body {
316
+ display: flex;
317
+ flex-direction: column;
318
+ gap: 14px;
319
+ }
320
+
321
+ /* Step 1: 3-column path cards */
322
+ [data-zen-remote="wizard"] .zr-wizard-paths {
323
+ display: grid;
324
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
325
+ gap: 10px;
326
+ margin: 0;
327
+ padding: 0;
328
+ border: none;
329
+ }
330
+ [data-zen-remote="wizard"] .zr-wizard-path {
331
+ display: flex;
332
+ flex-direction: column;
333
+ gap: 6px;
334
+ text-align: left;
335
+ border: 1px solid var(--dsw-alias-border-l2);
336
+ border-radius: 10px;
337
+ padding: 12px 14px;
338
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
339
+ cursor: pointer;
340
+ font: inherit;
341
+ color: inherit;
342
+ transition: border-color 120ms ease, box-shadow 120ms ease;
343
+ }
344
+ [data-zen-remote="wizard"] .zr-wizard-path:hover:not(:disabled) {
345
+ border-color: var(--dsw-alias-label-secondary);
346
+ }
347
+ [data-zen-remote="wizard"] .zr-wizard-path[data-selected="true"] {
348
+ border-color: var(--dsw-alias-label-primary);
349
+ box-shadow: 0 0 0 1px var(--dsw-alias-label-primary);
350
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
351
+ }
352
+ [data-zen-remote="wizard"] .zr-wizard-path:disabled {
353
+ cursor: not-allowed;
354
+ opacity: 0.55;
355
+ }
356
+ [data-zen-remote="wizard"] .zr-wizard-pathHead {
357
+ display: flex;
358
+ align-items: center;
359
+ gap: 8px;
360
+ }
361
+ [data-zen-remote="wizard"] .zr-wizard-pathRadio {
362
+ width: 14px;
363
+ height: 14px;
364
+ border-radius: 50%;
365
+ border: 1.5px solid var(--dsw-alias-label-tertiary);
366
+ display: inline-flex;
367
+ align-items: center;
368
+ justify-content: center;
369
+ flex: none;
370
+ }
371
+ [data-zen-remote="wizard"] .zr-wizard-pathRadio[data-selected="true"] {
372
+ border-color: var(--dsw-alias-label-primary);
373
+ background: var(--dsw-alias-label-primary);
374
+ box-shadow: inset 0 0 0 2.5px var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
375
+ }
376
+ [data-zen-remote="wizard"] .zr-wizard-pathName {
377
+ font-size: 13px;
378
+ font-weight: 600;
379
+ color: var(--dsw-alias-label-primary);
380
+ margin: 0;
381
+ }
382
+ [data-zen-remote="wizard"] .zr-wizard-pathDesc {
383
+ font-size: 12px;
384
+ color: var(--dsw-alias-label-tertiary);
385
+ margin: 0;
386
+ line-height: 1.45;
387
+ }
388
+ [data-zen-remote="wizard"] .zr-wizard-sectionTitle {
389
+ font-size: 12px;
390
+ font-weight: 600;
391
+ color: var(--dsw-alias-label-secondary);
392
+ margin: 0;
393
+ }
394
+ [data-zen-remote="wizard"] .zr-wizard-roleGrid {
395
+ display: grid;
396
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
397
+ gap: 10px;
398
+ }
399
+ [data-zen-remote="wizard"] .zr-wizard-checkRow {
400
+ display: inline-flex;
401
+ align-items: center;
402
+ gap: 8px;
403
+ font-size: 12.5px;
404
+ color: var(--dsw-alias-label-primary);
405
+ cursor: pointer;
406
+ user-select: none;
407
+ }
408
+ [data-zen-remote="wizard"] .zr-wizard-checkRow input[type="checkbox"] {
409
+ margin: 0;
410
+ cursor: pointer;
411
+ }
412
+
413
+ /* Step 2: form controls */
414
+ [data-zen-remote="wizard"] .zr-wizard-selectedBar {
415
+ display: flex;
416
+ align-items: center;
417
+ justify-content: space-between;
418
+ gap: 8px;
419
+ padding: 8px 12px;
420
+ border-radius: 8px;
421
+ border: 1px solid var(--dsw-alias-border-l2);
422
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
423
+ }
424
+ [data-zen-remote="wizard"] .zr-wizard-selectedLabel {
425
+ font-size: 12.5px;
426
+ font-weight: 600;
427
+ color: var(--dsw-alias-label-primary);
428
+ }
429
+ [data-zen-remote="wizard"] .zr-wizard-formStack {
430
+ display: flex;
431
+ flex-direction: column;
432
+ gap: 12px;
433
+ }
434
+ [data-zen-remote="wizard"] .zr-wizard-formGrid {
435
+ display: grid;
436
+ grid-template-columns: 1fr 120px;
437
+ gap: 12px;
438
+ align-items: start;
439
+ }
440
+ [data-zen-remote="wizard"] .zr-wizard-field {
441
+ display: flex;
442
+ flex-direction: column;
443
+ gap: 6px;
444
+ }
445
+ [data-zen-remote="wizard"] .zr-wizard-labelRow {
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 8px;
449
+ }
450
+ [data-zen-remote="wizard"] .zr-wizard-label {
451
+ font-size: 12.5px;
452
+ font-weight: 500;
453
+ color: var(--dsw-alias-label-primary);
454
+ margin: 0;
455
+ }
456
+ [data-zen-remote="wizard"] .zr-wizard-savedTag {
457
+ font-size: 11px;
458
+ padding: 1px 7px;
459
+ border-radius: 999px;
460
+ border: 1px solid var(--dsw-alias-border-l2);
461
+ color: var(--dsw-alias-state-success-primary, #16a34a);
462
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
463
+ }
464
+ [data-zen-remote="wizard"] .zr-wizard-hint {
465
+ font-size: 12px;
466
+ color: var(--dsw-alias-label-tertiary);
467
+ margin: 0;
468
+ line-height: 1.4;
469
+ }
470
+ [data-zen-remote="wizard"] .zr-wizard-input {
471
+ height: 34px;
472
+ font: inherit;
473
+ font-size: 13px;
474
+ padding: 0 10px;
475
+ border: 1px solid var(--dsw-alias-border-l2);
476
+ border-radius: 8px;
477
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
478
+ color: var(--dsw-alias-label-primary);
479
+ width: 100%;
480
+ box-sizing: border-box;
481
+ }
482
+ [data-zen-remote="wizard"] code.zr-wizard-input {
483
+ display: flex;
484
+ align-items: center;
485
+ min-height: 36px;
486
+ height: auto;
487
+ padding: 6px 12px;
488
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
489
+ line-height: 1.4;
490
+ overflow-wrap: anywhere;
491
+ word-break: break-all;
492
+ }
493
+ [data-zen-remote="wizard"] .zr-wizard-input:focus {
494
+ outline: none;
495
+ border-color: var(--dsw-alias-label-primary);
496
+ }
497
+ [data-zen-remote="wizard"] .zr-wizard-row {
498
+ display: flex;
499
+ align-items: center;
500
+ gap: 8px;
501
+ flex-wrap: wrap;
502
+ }
503
+ [data-zen-remote="wizard"] .zr-wizard-link {
504
+ background: none;
505
+ border: none;
506
+ padding: 0;
507
+ font: inherit;
508
+ font-size: 12px;
509
+ color: var(--dsw-alias-label-secondary);
510
+ cursor: pointer;
511
+ text-decoration: underline;
512
+ }
513
+ [data-zen-remote="wizard"] .zr-wizard-link:hover:not(:disabled) {
514
+ color: var(--dsw-alias-label-primary);
515
+ }
516
+ [data-zen-remote="wizard"] .zr-wizard-linkBtn {
517
+ font: inherit;
518
+ font-size: 12px;
519
+ padding: 4px 10px;
520
+ border-radius: 6px;
521
+ border: 1px solid var(--dsw-alias-border-l2);
522
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
523
+ color: var(--dsw-alias-label-secondary);
524
+ cursor: pointer;
525
+ }
526
+ [data-zen-remote="wizard"] .zr-wizard-linkBtn:hover:not(:disabled) {
527
+ color: var(--dsw-alias-label-primary);
528
+ border-color: var(--dsw-alias-label-secondary);
529
+ }
530
+
531
+ /* Primary & Secondary action buttons + Footer */
532
+ [data-zen-remote="wizard"] .zr-wizard-footer {
533
+ display: flex;
534
+ align-items: center;
535
+ justify-content: space-between;
536
+ gap: 10px;
537
+ padding-top: 8px;
538
+ border-top: 1px solid var(--dsw-alias-border-l2);
539
+ }
540
+ [data-zen-remote="wizard"] .zr-wizard-footerHint {
541
+ font-size: 12px;
542
+ color: var(--dsw-alias-label-secondary);
543
+ }
544
+ [data-zen-remote="wizard"] .zr-wizard-btn,
545
+ [data-zen-remote="wizard-card"] .zr-wizard-btn {
546
+ font: inherit;
547
+ font-size: 12.5px;
548
+ font-weight: 500;
549
+ height: 32px;
550
+ padding: 0 14px;
551
+ border-radius: 8px;
552
+ border: 1px solid var(--dsw-alias-border-l2);
553
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
554
+ color: var(--dsw-alias-label-primary);
555
+ cursor: pointer;
556
+ display: inline-flex;
557
+ align-items: center;
558
+ justify-content: center;
559
+ }
560
+ [data-zen-remote="wizard"] .zr-wizard-btn:hover:not(:disabled),
561
+ [data-zen-remote="wizard-card"] .zr-wizard-btn:hover:not(:disabled) {
562
+ border-color: var(--dsw-alias-label-secondary);
563
+ }
564
+ [data-zen-remote="wizard"] .zr-wizard-btnPrimary,
565
+ [data-zen-remote="wizard-card"] .zr-wizard-btnPrimary {
566
+ background: var(--dsw-alias-label-primary);
567
+ border-color: var(--dsw-alias-label-primary);
568
+ color: var(--dsw-alias-bg-layer-2, #fff);
569
+ }
570
+ [data-zen-remote="wizard"] .zr-wizard-btnPrimary:hover:not(:disabled),
571
+ [data-zen-remote="wizard-card"] .zr-wizard-btnPrimary:hover:not(:disabled) {
572
+ opacity: 0.9;
573
+ }
574
+ [data-zen-remote="wizard"] .zr-wizard-btn:disabled,
575
+ [data-zen-remote="wizard-card"] .zr-wizard-btn:disabled {
576
+ cursor: not-allowed;
577
+ opacity: 0.5;
578
+ }
579
+
580
+ /* Step 3: service control bar, 3-column lights, and QR pairing panel */
581
+ [data-zen-remote="wizard"] .zr-wizard-serviceBar {
582
+ display: flex;
583
+ align-items: center;
584
+ justify-content: space-between;
585
+ gap: 12px;
586
+ flex-wrap: wrap;
587
+ padding: 10px 12px;
588
+ border: 1px solid var(--dsw-alias-border-l2);
589
+ border-radius: 10px;
590
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
591
+ }
592
+ [data-zen-remote="wizard"] .zr-wizard-serviceInfo {
593
+ display: flex;
594
+ align-items: center;
595
+ gap: 8px;
596
+ flex-wrap: wrap;
597
+ }
598
+ [data-zen-remote="wizard"] .zr-wizard-lights {
599
+ display: grid;
600
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
601
+ gap: 8px;
602
+ margin: 0;
603
+ padding: 0;
604
+ list-style: none;
605
+ }
606
+ [data-zen-remote="wizard"] .zr-wizard-light {
607
+ display: flex;
608
+ align-items: center;
609
+ justify-content: space-between;
610
+ gap: 8px;
611
+ padding: 9px 12px;
612
+ border-radius: 8px;
613
+ border: 1px solid var(--dsw-alias-border-l2);
614
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
615
+ font-size: 12.5px;
616
+ }
617
+ [data-zen-remote="wizard"] .zr-wizard-lightMain {
618
+ display: flex;
619
+ align-items: center;
620
+ gap: 8px;
621
+ min-width: 0;
622
+ }
623
+ [data-zen-remote="wizard"] .zr-wizard-lightName {
624
+ color: var(--dsw-alias-label-primary);
625
+ font-weight: 500;
626
+ }
627
+ [data-zen-remote="wizard"] .zr-wizard-lightState {
628
+ font-size: 11.5px;
629
+ color: var(--dsw-alias-label-tertiary);
630
+ }
631
+ [data-zen-remote="wizard"] .zr-wizard-lightState[data-state="pass"] {
632
+ color: var(--dsw-alias-state-success-primary, #16a34a);
633
+ }
634
+ [data-zen-remote="wizard"] .zr-wizard-lightState[data-state="fail"] {
635
+ color: var(--dsw-alias-state-error-primary, #d5304f);
636
+ }
637
+
638
+ [data-zen-remote="wizard"] .zr-wizard-dot {
639
+ width: 8px;
640
+ height: 8px;
641
+ border-radius: 50%;
642
+ background: var(--dsw-alias-label-tertiary);
643
+ flex: none;
644
+ }
645
+ [data-zen-remote="wizard"] .zr-wizard-dot[data-state="pass"] {
646
+ background: var(--dsw-alias-state-success-primary, #16a34a);
647
+ }
648
+ [data-zen-remote="wizard"] .zr-wizard-dot[data-state="fail"] {
649
+ background: var(--dsw-alias-state-error-primary, #d5304f);
650
+ }
651
+ [data-zen-remote="wizard"] .zr-wizard-dot[data-state="pending"] {
652
+ background: var(--dsw-alias-state-warning-primary, #b8860b);
653
+ }
654
+
655
+ [data-zen-remote="wizard"] .zr-wizard-pairPanel {
656
+ display: flex;
657
+ align-items: center;
658
+ gap: 18px;
659
+ flex-wrap: wrap;
660
+ padding: 14px;
661
+ border-radius: 10px;
662
+ border: 1px solid var(--dsw-alias-border-l2);
663
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
664
+ }
665
+ [data-zen-remote="wizard"] .zr-wizard-pairMeta {
666
+ display: flex;
667
+ flex-direction: column;
668
+ gap: 4px;
669
+ flex: 1;
670
+ min-width: 180px;
671
+ }
672
+ [data-zen-remote="wizard"] .zr-wizard-code {
673
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
674
+ font-size: 24px;
675
+ letter-spacing: 4px;
676
+ font-weight: 600;
677
+ color: var(--dsw-alias-label-primary);
678
+ margin: 2px 0;
679
+ }
680
+ [data-zen-remote="wizard"] .zr-wizard-countdown {
681
+ font-size: 12px;
682
+ color: var(--dsw-alias-label-secondary);
683
+ margin: 0;
684
+ }
685
+ [data-zen-remote="wizard"] .zr-wizard-qr {
686
+ width: 156px;
687
+ height: 156px;
688
+ image-rendering: pixelated;
689
+ border: 1px solid var(--dsw-alias-border-l2);
690
+ border-radius: 8px;
691
+ background: #fff;
692
+ display: block;
693
+ flex: none;
694
+ }
695
+ [data-zen-remote="wizard"] .zr-wizard-qr[data-usable="false"] {
696
+ display: none;
697
+ }
698
+ [data-zen-remote="wizard"] .zr-wizard-targetTabs {
699
+ display: grid;
700
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
701
+ gap: 6px;
702
+ padding: 4px;
703
+ border-radius: 9px;
704
+ border: 1px solid var(--dsw-alias-border-l2);
705
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
706
+ }
707
+ [data-zen-remote="wizard"] .zr-wizard-targetTab {
708
+ font: inherit;
709
+ font-size: 12.5px;
710
+ font-weight: 500;
711
+ padding: 7px 12px;
712
+ border-radius: 6px;
713
+ border: 1px solid transparent;
714
+ background: transparent;
715
+ color: var(--dsw-alias-label-secondary);
716
+ cursor: pointer;
717
+ text-align: center;
718
+ }
719
+ [data-zen-remote="wizard"] .zr-wizard-targetTab[data-selected="true"] {
720
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
721
+ border-color: var(--dsw-alias-border-l2);
722
+ color: var(--dsw-alias-label-primary);
723
+ font-weight: 600;
724
+ }
725
+ [data-zen-remote="wizard"] .zr-wizard-desktopBox,
726
+ [data-zen-remote="wizard"] .zr-wizard-clientBox {
727
+ display: flex;
728
+ flex-direction: column;
729
+ gap: 10px;
730
+ padding: 14px;
731
+ border-radius: 10px;
732
+ border: 1px solid var(--dsw-alias-border-l2);
733
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
734
+ }
735
+ [data-zen-remote="wizard"] .zr-wizard-deviceList {
736
+ display: flex;
737
+ flex-direction: column;
738
+ gap: 10px;
739
+ margin: 0;
740
+ padding: 0;
741
+ list-style: none;
742
+ }
743
+ [data-zen-remote="wizard"] .zr-wizard-deviceItem {
744
+ display: flex;
745
+ flex-direction: column;
746
+ gap: 8px;
747
+ padding: 12px 14px;
748
+ border-radius: 10px;
749
+ border: 1px solid var(--dsw-alias-border-l2);
750
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
751
+ font-size: 12.5px;
752
+ }
753
+ [data-zen-remote="wizard"] .zr-wizard-deviceHead {
754
+ display: flex;
755
+ align-items: center;
756
+ justify-content: space-between;
757
+ gap: 10px;
758
+ flex-wrap: wrap;
759
+ }
760
+ [data-zen-remote="wizard"] .zr-wizard-deviceTitleRow {
761
+ display: flex;
762
+ align-items: center;
763
+ gap: 8px;
764
+ flex-wrap: wrap;
765
+ min-width: 0;
766
+ }
767
+ [data-zen-remote="wizard"] .zr-wizard-deviceBadge {
768
+ font-size: 11px;
769
+ font-weight: 500;
770
+ padding: 2px 8px;
771
+ border-radius: 999px;
772
+ border: 1px solid var(--dsw-alias-border-l2);
773
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
774
+ color: var(--dsw-alias-label-secondary);
775
+ }
776
+ [data-zen-remote="wizard"] .zr-wizard-deviceActions {
777
+ display: flex;
778
+ align-items: center;
779
+ gap: 8px;
780
+ flex-wrap: wrap;
781
+ }
782
+ [data-zen-remote="wizard"] .zr-wizard-select {
783
+ height: 30px;
784
+ font: inherit;
785
+ font-size: 12px;
786
+ padding: 0 8px;
787
+ border-radius: 6px;
788
+ border: 1px solid var(--dsw-alias-border-l2);
789
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
790
+ color: var(--dsw-alias-label-primary);
791
+ }
792
+
793
+ /* The modal card: a body-level overlay, above the app chrome. */
794
+ [data-zen-remote="wizard-card"] {
795
+ position: fixed;
796
+ inset: 0;
797
+ z-index: 1000;
798
+ display: flex;
799
+ align-items: center;
800
+ justify-content: center;
801
+ background: rgba(0, 0, 0, 0.45);
802
+ }
803
+ [data-zen-remote="wizard-card"] .zr-wizard-cardPanel {
804
+ background: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-module-platform));
805
+ color: var(--dsw-alias-label-primary);
806
+ border: 1px solid var(--dsw-alias-border-l2);
807
+ border-radius: 12px;
808
+ width: min(560px, calc(100vw - 32px));
809
+ max-height: min(82vh, 660px);
810
+ overflow: auto;
811
+ padding: 18px 20px;
812
+ display: flex;
813
+ flex-direction: column;
814
+ gap: 14px;
815
+ }
816
+ [data-zen-remote="wizard-card"] .zr-wizard-cardHeader {
817
+ display: flex;
818
+ align-items: center;
819
+ justify-content: space-between;
820
+ gap: 8px;
821
+ }
822
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTitle {
823
+ font-size: 15px;
824
+ font-weight: 600;
825
+ margin: 0;
826
+ }
827
+ [data-zen-remote="wizard-modal"] .zr-wizard-cardCloseIcon,
828
+ [data-zen-remote="wizard-card"] .zr-wizard-cardCloseIcon {
829
+ border: none;
830
+ background: none;
831
+ color: var(--dsw-alias-label-secondary);
832
+ font-size: 18px;
833
+ line-height: 1;
834
+ padding: 2px 6px;
835
+ border-radius: 6px;
836
+ cursor: pointer;
837
+ }
838
+ [data-zen-remote="wizard-modal"] .zr-wizard-cardCloseIcon:hover,
839
+ [data-zen-remote="wizard-card"] .zr-wizard-cardCloseIcon:hover {
840
+ color: var(--dsw-alias-label-primary);
841
+ }
842
+ [data-zen-remote="wizard-card"] .zr-wizard-cardBody {
843
+ display: flex;
844
+ flex-direction: column;
845
+ gap: 10px;
846
+ }
847
+ [data-zen-remote="wizard-card"] .zr-wizard-cardSteps {
848
+ display: flex;
849
+ flex-direction: column;
850
+ gap: 6px;
851
+ }
852
+ [data-zen-remote="wizard-card"] .zr-wizard-cardSubhead {
853
+ font-size: 12.5px;
854
+ font-weight: 600;
855
+ color: var(--dsw-alias-label-primary);
856
+ margin: 4px 0 0;
857
+ }
858
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTable {
859
+ width: 100%;
860
+ border-collapse: collapse;
861
+ font-size: 12px;
862
+ border: 1px solid var(--dsw-alias-border-l2);
863
+ border-radius: 8px;
864
+ overflow: hidden;
865
+ }
866
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTable td {
867
+ padding: 6px 10px;
868
+ border-bottom: 1px solid var(--dsw-alias-border-l2);
869
+ }
870
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTable tr:last-child td {
871
+ border-bottom: none;
872
+ }
873
+ [data-zen-remote="wizard-card"] .zr-wizard-cardPerm {
874
+ font-weight: 500;
875
+ color: var(--dsw-alias-label-primary);
876
+ white-space: nowrap;
877
+ }
878
+ [data-zen-remote="wizard-card"] .zr-wizard-cardWhy {
879
+ color: var(--dsw-alias-label-tertiary);
880
+ }
881
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTabs {
882
+ display: flex;
883
+ gap: 6px;
884
+ }
885
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTab {
886
+ font: inherit;
887
+ font-size: 12px;
888
+ font-weight: 500;
889
+ padding: 4px 12px;
890
+ border-radius: 999px;
891
+ border: 1px solid var(--dsw-alias-border-l2);
892
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
893
+ color: var(--dsw-alias-label-secondary);
894
+ cursor: pointer;
895
+ }
896
+ [data-zen-remote="wizard-card"] .zr-wizard-cardTab[data-selected="true"] {
897
+ color: var(--dsw-alias-bg-layer-2, #fff);
898
+ background: var(--dsw-alias-label-primary);
899
+ border-color: var(--dsw-alias-label-primary);
900
+ }
901
+ [data-zen-remote="wizard-card"] .zr-wizard-cardStep {
902
+ font-size: 12.5px;
903
+ color: var(--dsw-alias-label-secondary);
904
+ margin: 0;
905
+ line-height: 1.45;
906
+ }
907
+ [data-zen-remote="wizard-card"] .zr-wizard-cardCode {
908
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
909
+ font-size: 12px;
910
+ white-space: pre;
911
+ background: var(--dsw-alias-bg-layer-3, rgba(127, 127, 127, 0.12));
912
+ border: 1px solid var(--dsw-alias-border-l2);
913
+ border-radius: 8px;
914
+ padding: 10px 12px;
915
+ overflow: auto;
916
+ max-height: 260px;
917
+ margin: 0;
918
+ }
919
+ [data-zen-remote="wizard-card"] .zr-wizard-field {
920
+ display: flex;
921
+ flex-direction: column;
922
+ gap: 6px;
923
+ }
924
+ [data-zen-remote="wizard-card"] .zr-wizard-label {
925
+ font-size: 12.5px;
926
+ font-weight: 500;
927
+ color: var(--dsw-alias-label-primary);
928
+ }
929
+ [data-zen-remote="wizard-card"] .zr-wizard-input {
930
+ height: 34px;
931
+ font: inherit;
932
+ font-size: 13px;
933
+ padding: 0 10px;
934
+ border: 1px solid var(--dsw-alias-border-l2);
935
+ border-radius: 8px;
936
+ background: var(--dsw-alias-bg-layer-3, var(--dsw-alias-bg-module-platform));
937
+ color: var(--dsw-alias-label-primary);
938
+ width: 100%;
939
+ box-sizing: border-box;
940
+ }
941
+ [data-zen-remote="wizard-card"] .zr-wizard-cardActions {
942
+ display: flex;
943
+ justify-content: flex-end;
944
+ gap: 8px;
945
+ padding-top: 8px;
946
+ border-top: 1px solid var(--dsw-alias-border-l2);
947
+ }
948
+ `