@maildeno/editor 0.1.3 → 0.4.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 (169) hide show
  1. package/CHANGELOG.md +258 -0
  2. package/README.md +397 -381
  3. package/dist/RowPreviewChildren-DT0y0lKC.js +4 -0
  4. package/dist/RowPreviewChildren-OsbF7_vu.js +4 -0
  5. package/dist/RowPreviewLegacyComponent-BV4b5bHQ.js +487 -0
  6. package/dist/RowPreviewLegacyComponent-C08MGJVT.js +487 -0
  7. package/dist/RowPreviewRow-ByxeBYV8.js +112 -0
  8. package/dist/RowPreviewRow-N-hh5l_H.js +112 -0
  9. package/dist/adapters/errors.d.ts +59 -0
  10. package/dist/adapters/index.d.ts +31 -0
  11. package/dist/adapters/types.d.ts +68 -0
  12. package/dist/brand.d.ts +15 -0
  13. package/dist/components/DesktopOnlyNotice.vue.d.ts +20 -0
  14. package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +182 -0
  15. package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +37 -0
  16. package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +3 -0
  17. package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +3 -0
  18. package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +3 -0
  19. package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +3 -0
  20. package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +3 -0
  21. package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +3 -0
  22. package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +3 -0
  23. package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +3 -0
  24. package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +3 -0
  25. package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +3 -0
  26. package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +3 -0
  27. package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +3 -0
  28. package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +49 -0
  29. package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +56 -0
  30. package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +21 -0
  31. package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +49 -0
  32. package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +40 -0
  33. package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +3 -0
  34. package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +54 -0
  35. package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +21 -0
  36. package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +3 -0
  37. package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +3 -0
  38. package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +3 -0
  39. package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +3 -0
  40. package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +3 -0
  41. package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +3 -0
  42. package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +3 -0
  43. package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +3 -0
  44. package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +3 -0
  45. package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +3 -0
  46. package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +13 -0
  47. package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +13 -0
  48. package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +13 -0
  49. package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +3 -0
  50. package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +3 -0
  51. package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +3 -0
  52. package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +19 -0
  53. package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +31 -0
  54. package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +9 -0
  55. package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +11 -0
  56. package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +25 -0
  57. package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +7 -0
  58. package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +30 -0
  59. package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +75 -0
  60. package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +27 -0
  61. package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +74 -0
  62. package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +17 -0
  63. package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +74 -0
  64. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +52 -0
  65. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +72 -0
  66. package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +45 -0
  67. package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +32 -0
  68. package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +19 -0
  69. package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +28 -0
  70. package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +31 -0
  71. package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +19 -0
  72. package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +20 -0
  73. package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +39 -0
  74. package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +28 -0
  75. package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +7 -0
  76. package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +10 -0
  77. package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +12 -0
  78. package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +20 -0
  79. package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +21 -0
  80. package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +16 -0
  81. package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +10 -0
  82. package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +41 -0
  83. package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +8 -0
  84. package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +8 -0
  85. package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +14 -0
  86. package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +14 -0
  87. package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +9 -0
  88. package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +3 -0
  89. package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +13 -0
  90. package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +14 -0
  91. package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +35 -0
  92. package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +3 -0
  93. package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +3 -0
  94. package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +3 -0
  95. package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +7 -0
  96. package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +3 -0
  97. package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +3 -0
  98. package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +3 -0
  99. package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +3 -0
  100. package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +3 -0
  101. package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +3 -0
  102. package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +17 -0
  103. package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +12 -0
  104. package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +10 -0
  105. package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +19 -0
  106. package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +7 -0
  107. package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +42 -0
  108. package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +8 -0
  109. package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +10 -0
  110. package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +10 -0
  111. package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +10 -0
  112. package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +10 -0
  113. package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +10 -0
  114. package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +10 -0
  115. package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +10 -0
  116. package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +10 -0
  117. package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +10 -0
  118. package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +10 -0
  119. package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +12 -0
  120. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +18 -0
  121. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +15 -0
  122. package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +10 -0
  123. package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +45 -0
  124. package/dist/components/ui/ConfirmDialog.vue.d.ts +3 -0
  125. package/dist/components/ui/Icon.vue.d.ts +33 -0
  126. package/dist/components/ui/InfoDialog.vue.d.ts +12 -0
  127. package/dist/components/ui/Loading.vue.d.ts +6 -0
  128. package/dist/components/ui/ShadowSafeToast.vue.d.ts +3 -0
  129. package/dist/components/ui/primitives/Button.vue.d.ts +23 -0
  130. package/dist/components/ui/primitives/DatePicker.vue.d.ts +16 -0
  131. package/dist/components/ui/primitives/Dialog.vue.d.ts +34 -0
  132. package/dist/components/ui/primitives/InputText.vue.d.ts +29 -0
  133. package/dist/components/ui/primitives/Message.vue.d.ts +20 -0
  134. package/dist/components/ui/primitives/Select.vue.d.ts +22 -0
  135. package/dist/composables/emailBuilder/components/useSystemRows.d.ts +22 -0
  136. package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +10 -10
  137. package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +18 -0
  138. package/dist/composables/emailBuilder/export/logic/espLogicWrapper.d.ts +4 -4
  139. package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +24 -0
  140. package/dist/composables/emailBuilder/persistence/useEmailBuilderPersistence.d.ts +1 -1
  141. package/dist/composables/system/useColorScheme.d.ts +16 -0
  142. package/dist/editor.css +1072 -682
  143. package/dist/element-C2ZH0Z_i.js +86561 -0
  144. package/dist/element-scoped-styles.css +1072 -682
  145. package/dist/element.d.ts +1 -1
  146. package/dist/element.js +5 -2
  147. package/dist/estree-DBJlF9un.js +4876 -0
  148. package/dist/html-3PMDtB0V.js +3123 -0
  149. package/dist/index-DhFg3uKs.js +75864 -0
  150. package/dist/index.d.ts +4 -2
  151. package/dist/index.js +16 -67053
  152. package/dist/init.d.ts +95 -2
  153. package/dist/init.js +166 -122
  154. package/dist/standalone-DKWMQftY.js +2391 -0
  155. package/dist/theme.d.ts +68 -17
  156. package/dist/types/assistant.d.ts +56 -0
  157. package/dist/typescript-l6-4tT8s.js +13240 -0
  158. package/package.json +6 -3
  159. package/dist/RowPreviewLegacyComponent-CXsY4P-R.js +0 -439
  160. package/dist/RowPreviewLegacyComponent-yjHSkZLz.js +0 -439
  161. package/dist/RowPreviewRow-CBfAnQ6o.js +0 -107
  162. package/dist/RowPreviewRow-CeowK6Q_.js +0 -107
  163. package/dist/composables/emailBuilder/transform/pipeline/optimizeAI.d.ts +0 -125
  164. package/dist/element-CMhqxYnE.js +0 -67099
  165. package/dist/estree-B67dfAo1.js +0 -7989
  166. package/dist/html-DGrfikay.js +0 -7353
  167. package/dist/standalone-Bd2oQFm3.js +0 -3639
  168. package/dist/typescript-C_Ru9PRN.js +0 -23184
  169. package/dist/vue.runtime.esm-bundler-CfYyFhW6.js +0 -9097
package/dist/editor.css CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- .md-input[data-v-3e558228] {
2
+ .md-input[data-v-026fafe6] {
3
3
  width: 100%;
4
4
  padding: 0.325rem 0.625rem;
5
5
  font-size: 13px;
@@ -9,18 +9,27 @@
9
9
  border: 1px solid var(--md-border);
10
10
  border-radius: 0.375rem;
11
11
  outline: none;
12
- transition: border-color 0.15s, box-shadow 0.15s;
12
+ transition:
13
+ border-color 0.15s,
14
+ box-shadow 0.15s;
13
15
  }
14
- .md-input[data-v-3e558228]::placeholder { color: var(--md-text-subtle);
16
+ .md-input[data-v-026fafe6]::placeholder {
17
+ color: var(--md-text-subtle);
15
18
  }
16
- .md-input[data-v-3e558228]:focus {
19
+ .md-input[data-v-026fafe6]:focus {
17
20
  border-color: var(--md-primary);
18
21
  }
19
- .md-input[data-v-3e558228]:disabled { background: var(--md-surface-hover); color: var(--md-text-subtle); cursor: not-allowed;
22
+ .md-input[data-v-026fafe6]:disabled {
23
+ background: var(--md-surface-hover);
24
+ color: var(--md-text-subtle);
25
+ cursor: not-allowed;
20
26
  }
21
- .md-input--invalid[data-v-3e558228] { border-color: var(--md-danger);
27
+ .md-input--invalid[data-v-026fafe6] {
28
+ border-color: var(--md-danger);
22
29
  }
23
- .md-input--invalid[data-v-3e558228]:focus { border-color: var(--md-danger); box-shadow: 0 0 0 1px var(--md-danger);
30
+ .md-input--invalid[data-v-026fafe6]:focus {
31
+ border-color: var(--md-danger);
32
+ box-shadow: 0 0 0 1px var(--md-danger);
24
33
  }
25
34
 
26
35
  /* =========================================================
@@ -231,280 +240,290 @@
231
240
  color: currentColor;
232
241
  }
233
242
 
234
- .section-fade-enter-active[data-v-9ae9089d],
235
- .section-fade-leave-active[data-v-9ae9089d] {
236
- transition: opacity 0.15s ease, transform 0.15s ease;
243
+ .section-fade-enter-active[data-v-4363482d],
244
+ .section-fade-leave-active[data-v-4363482d] {
245
+ transition:
246
+ opacity 0.15s ease,
247
+ transform 0.15s ease;
237
248
  }
238
- .section-fade-enter-from[data-v-9ae9089d],
239
- .section-fade-leave-to[data-v-9ae9089d] {
249
+ .section-fade-enter-from[data-v-4363482d],
250
+ .section-fade-leave-to[data-v-4363482d] {
240
251
  opacity: 0;
241
252
  transform: translateY(-3px);
242
253
  }
243
254
 
244
- .transparent-swatch[data-v-e240a193] {
255
+ .transparent-swatch[data-v-c92355b6] {
245
256
  background-image:
246
257
  linear-gradient(45deg, #ccc 25%, transparent 25%),
247
258
  linear-gradient(-45deg, #ccc 25%, transparent 25%),
248
259
  linear-gradient(45deg, transparent 75%, #ccc 75%),
249
260
  linear-gradient(-45deg, transparent 75%, #ccc 75%);
250
261
  background-size: 6px 6px;
251
- background-position: 0 0, 0 3px, 3px -3px, -3px 0;
262
+ background-position:
263
+ 0 0,
264
+ 0 3px,
265
+ 3px -3px,
266
+ -3px 0;
252
267
  background-color: white;
253
268
  }
254
269
 
255
- .transparent-swatch[data-v-936cb96e] {
270
+ .transparent-swatch[data-v-b61b14c2] {
256
271
  background-image:
257
272
  linear-gradient(45deg, #ccc 25%, transparent 25%),
258
273
  linear-gradient(-45deg, #ccc 25%, transparent 25%),
259
274
  linear-gradient(45deg, transparent 75%, #ccc 75%),
260
275
  linear-gradient(-45deg, transparent 75%, #ccc 75%);
261
276
  background-size: 6px 6px;
262
- background-position: 0 0, 0 3px, 3px -3px, -3px 0;
277
+ background-position:
278
+ 0 0,
279
+ 0 3px,
280
+ 3px -3px,
281
+ -3px 0;
263
282
  background-color: white;
264
283
  }
265
-
266
- /* =========================================================
267
- FIELD
284
+
285
+ /* =========================================================
286
+ FIELD
268
287
  ========================================================= */
269
- .md-dp__field {
270
- display: flex;
271
- align-items: center;
272
- gap: 0.0625rem;
273
- width: 100%;
274
- min-height: 32px;
275
- box-sizing: border-box;
276
- padding: 0.375rem 0.375rem 0.375rem 0.5rem;
277
- background: var(--md-surface);
278
- border: 1px solid var(--md-border);
279
- border-radius: 0.375rem;
280
- font-family: inherit;
281
- font-size: 13px;
288
+ .md-dp__field {
289
+ display: flex;
290
+ align-items: center;
291
+ gap: 0.0625rem;
292
+ width: 100%;
293
+ min-height: 32px;
294
+ box-sizing: border-box;
295
+ padding: 0.375rem 0.375rem 0.375rem 0.5rem;
296
+ background: var(--md-surface);
297
+ border: 1px solid var(--md-border);
298
+ border-radius: 0.375rem;
299
+ font-family: inherit;
300
+ font-size: 13px;
282
301
  color: var(--md-text);
283
302
  }
284
- .md-dp__field:focus-within {
285
- border-color: var(--md-primary);
303
+ .md-dp__field:focus-within {
304
+ border-color: var(--md-primary);
286
305
  box-shadow: 0 0 0 1px var(--md-primary);
287
- }
288
-
289
- /* =========================================================
290
- DATE SEGMENTS
306
+ }
307
+
308
+ /* =========================================================
309
+ DATE SEGMENTS
291
310
  ========================================================= */
292
- .md-dp__seg {
293
- padding: 0 0.0625rem;
294
- border-radius: 0.125rem;
295
- outline: none;
296
- font-family: inherit;
311
+ .md-dp__seg {
312
+ padding: 0 0.0625rem;
313
+ border-radius: 0.125rem;
314
+ outline: none;
315
+ font-family: inherit;
297
316
  font-size: 13px;
298
317
  }
299
- .md-dp__seg:focus {
300
- background: var(--md-primary);
318
+ .md-dp__seg:focus {
319
+ background: var(--md-primary);
301
320
  color: var(--md-surface);
302
321
  }
303
- .md-dp__seg[data-placeholder] {
322
+ .md-dp__seg[data-placeholder] {
304
323
  color: var(--md-text-subtle);
305
324
  }
306
- .md-dp__lit {
325
+ .md-dp__lit {
307
326
  color: var(--md-text-subtle);
308
- }
309
-
310
- /* =========================================================
311
- CALENDAR TRIGGER
327
+ }
328
+
329
+ /* =========================================================
330
+ CALENDAR TRIGGER
312
331
  ========================================================= */
313
- .md-dp__trigger {
314
- display: inline-flex;
315
- align-items: center;
316
- justify-content: center;
317
- flex-shrink: 0;
318
- margin-left: auto;
319
- width: 20px;
320
- height: 20px;
321
- padding: 0.125rem;
322
- border: 0;
323
- background: transparent;
324
- cursor: pointer;
325
- font-size: 11px;
332
+ .md-dp__trigger {
333
+ display: inline-flex;
334
+ align-items: center;
335
+ justify-content: center;
336
+ flex-shrink: 0;
337
+ margin-left: auto;
338
+ width: 20px;
339
+ height: 20px;
340
+ padding: 0.125rem;
341
+ border: 0;
342
+ background: transparent;
343
+ cursor: pointer;
344
+ font-size: 11px;
326
345
  color: var(--md-text-subtle);
327
346
  }
328
- .md-dp__trigger:hover {
347
+ .md-dp__trigger:hover {
329
348
  color: var(--md-text-muted);
330
- }
331
-
332
- /* =========================================================
333
- CALENDAR POPOVER
349
+ }
350
+
351
+ /* =========================================================
352
+ CALENDAR POPOVER
334
353
  ========================================================= */
335
- .md-dp__content {
336
- z-index: 999999;
337
- padding: 0.625rem;
338
- box-sizing: border-box;
339
- background: var(--md-surface);
340
- border: 1px solid var(--md-border);
341
- border-radius: 0.625rem;
342
- box-shadow:
343
- 0 10px 15px -3px rgb(0 0 0 / 0.12),
354
+ .md-dp__content {
355
+ z-index: 999999;
356
+ padding: 0.625rem;
357
+ box-sizing: border-box;
358
+ background: var(--md-surface);
359
+ border: 1px solid var(--md-border);
360
+ border-radius: 0.625rem;
361
+ box-shadow:
362
+ 0 10px 15px -3px rgb(0 0 0 / 0.12),
344
363
  0 4px 6px -4px rgb(0 0 0 / 0.12);
345
- }
346
-
347
- /* =========================================================
348
- CALENDAR
364
+ }
365
+
366
+ /* =========================================================
367
+ CALENDAR
349
368
  ========================================================= */
350
- .md-dp__cal {
369
+ .md-dp__cal {
351
370
  width: max-content;
352
- }
353
-
354
- /* =========================================================
355
- HEADER
371
+ }
372
+
373
+ /* =========================================================
374
+ HEADER
356
375
  ========================================================= */
357
- .md-dp__header {
358
- display: flex;
359
- align-items: center;
360
- justify-content: space-between;
376
+ .md-dp__header {
377
+ display: flex;
378
+ align-items: center;
379
+ justify-content: space-between;
361
380
  margin-bottom: 0.5rem;
362
381
  }
363
- .md-dp__heading {
364
- font-family: inherit;
365
- font-size: 13px;
366
- font-weight: 600;
382
+ .md-dp__heading {
383
+ font-family: inherit;
384
+ font-size: 13px;
385
+ font-weight: 600;
367
386
  color: var(--md-text);
368
- }
369
-
370
- /* =========================================================
371
- PREVIOUS / NEXT
387
+ }
388
+
389
+ /* =========================================================
390
+ PREVIOUS / NEXT
372
391
  ========================================================= */
373
- .md-dp__nav {
374
- display: inline-flex;
375
- align-items: center;
376
- justify-content: center;
377
- width: 24px;
378
- height: 24px;
379
- padding: 0.25rem;
380
- border: 0;
381
- background: transparent;
382
- border-radius: 0.25rem;
383
- cursor: pointer;
384
- font-size: 12px;
392
+ .md-dp__nav {
393
+ display: inline-flex;
394
+ align-items: center;
395
+ justify-content: center;
396
+ width: 24px;
397
+ height: 24px;
398
+ padding: 0.25rem;
399
+ border: 0;
400
+ background: transparent;
401
+ border-radius: 0.25rem;
402
+ cursor: pointer;
403
+ font-size: 12px;
385
404
  color: var(--md-text-muted);
386
405
  }
387
- .md-dp__nav:hover {
388
- background: var(--md-surface-muted);
406
+ .md-dp__nav:hover {
407
+ background: var(--md-surface-muted);
389
408
  color: var(--md-text);
390
409
  }
391
- .md-dp__nav:disabled {
392
- opacity: 0.4;
410
+ .md-dp__nav:disabled {
411
+ opacity: 0.4;
393
412
  cursor: default;
394
- }
395
-
396
- /* =========================================================
397
- GRID
413
+ }
414
+
415
+ /* =========================================================
416
+ GRID
398
417
  ========================================================= */
399
- .md-dp__grid {
400
- width: 100%;
418
+ .md-dp__grid {
419
+ width: 100%;
401
420
  border-collapse: collapse;
402
421
  }
403
- .md-dp__row {
422
+ .md-dp__row {
404
423
  display: flex;
405
- }
406
-
407
- /* =========================================================
408
- WEEKDAY HEADER
424
+ }
425
+
426
+ /* =========================================================
427
+ WEEKDAY HEADER
409
428
  ========================================================= */
410
- .md-dp__headCell {
411
- display: inline-flex;
412
- align-items: center;
413
- justify-content: center;
414
- width: 32px;
415
- height: 28px;
416
- font-family: inherit;
417
- font-size: 11px;
418
- font-weight: 500;
429
+ .md-dp__headCell {
430
+ display: inline-flex;
431
+ align-items: center;
432
+ justify-content: center;
433
+ width: 32px;
434
+ height: 28px;
435
+ font-family: inherit;
436
+ font-size: 11px;
437
+ font-weight: 500;
419
438
  color: var(--md-text-subtle);
420
- }
421
-
422
- /* =========================================================
423
- DAY BUTTON
439
+ }
440
+
441
+ /* =========================================================
442
+ DAY BUTTON
424
443
  ========================================================= */
425
- .md-dp__day {
426
- display: inline-flex;
427
- align-items: center;
428
- justify-content: center;
429
- width: 32px;
430
- height: 30px;
431
- padding: 0;
432
- border: 0;
433
- background: transparent;
434
- font-family: inherit;
435
- font-size: 12px;
436
- color: var(--md-text);
437
- border-radius: 0.3125rem;
438
- cursor: pointer;
439
- outline: none;
440
- transition:
441
- background 100ms ease,
444
+ .md-dp__day {
445
+ display: inline-flex;
446
+ align-items: center;
447
+ justify-content: center;
448
+ width: 32px;
449
+ height: 30px;
450
+ padding: 0;
451
+ border: 0;
452
+ background: transparent;
453
+ font-family: inherit;
454
+ font-size: 12px;
455
+ color: var(--md-text);
456
+ border-radius: 0.3125rem;
457
+ cursor: pointer;
458
+ outline: none;
459
+ transition:
460
+ background 100ms ease,
442
461
  color 100ms ease;
443
462
  }
444
- .md-dp__day:hover {
463
+ .md-dp__day:hover {
445
464
  background: var(--md-surface-muted);
446
465
  }
447
- .md-dp__day:focus-visible {
448
- outline: 2px solid var(--md-primary);
466
+ .md-dp__day:focus-visible {
467
+ outline: 2px solid var(--md-primary);
449
468
  outline-offset: -2px;
450
- }
451
-
452
- /* =========================================================
453
- SELECTED DAY
469
+ }
470
+
471
+ /* =========================================================
472
+ SELECTED DAY
454
473
  ========================================================= */
455
- .md-dp__day[data-selected] {
456
- background: var(--md-primary);
457
- color: var(--md-surface);
474
+ .md-dp__day[data-selected] {
475
+ background: var(--md-primary);
476
+ color: var(--md-surface);
458
477
  font-weight: 600;
459
478
  }
460
- .md-dp__day[data-selected]:hover {
479
+ .md-dp__day[data-selected]:hover {
461
480
  background: var(--md-primary);
462
- }
463
-
464
- /* =========================================================
465
- TODAY
481
+ }
482
+
483
+ /* =========================================================
484
+ TODAY
466
485
  ========================================================= */
467
- .md-dp__day[data-today]:not([data-selected]) {
468
- font-weight: 700;
486
+ .md-dp__day[data-today]:not([data-selected]) {
487
+ font-weight: 700;
469
488
  color: var(--md-primary);
470
- }
471
-
472
- /* =========================================================
473
- OUTSIDE / DISABLED
489
+ }
490
+
491
+ /* =========================================================
492
+ OUTSIDE / DISABLED
474
493
  ========================================================= */
475
- .md-dp__day[data-outside-view] {
494
+ .md-dp__day[data-outside-view] {
476
495
  color: var(--md-border-strong);
477
496
  }
478
- .md-dp__day[data-disabled] {
479
- color: var(--md-border-strong);
480
-
497
+ .md-dp__day[data-disabled] {
498
+ color: var(--md-border-strong);
499
+
481
500
  cursor: default;
482
501
  }
483
- .md-dp__day[data-disabled]:hover {
502
+ .md-dp__day[data-disabled]:hover {
484
503
  background: transparent;
485
- }
504
+ }
486
505
 
487
- .rules-scroll[data-v-ce314c0b] {
506
+ .rules-scroll[data-v-6821226a] {
488
507
  overflow-x: auto;
489
508
  max-width: 100%;
490
509
  -webkit-overflow-scrolling: touch;
491
510
  }
492
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar {
511
+ .rules-scroll[data-v-6821226a]::-webkit-scrollbar {
493
512
  height: 6px;
494
513
  }
495
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-track {
514
+ .rules-scroll[data-v-6821226a]::-webkit-scrollbar-track {
496
515
  background: var(--md-surface-muted);
497
516
  border-radius: 4px;
498
517
  }
499
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-thumb {
518
+ .rules-scroll[data-v-6821226a]::-webkit-scrollbar-thumb {
500
519
  background: var(--md-border-strong);
501
520
  border-radius: 4px;
502
521
  }
503
- .rules-scroll[data-v-ce314c0b]::-webkit-scrollbar-thumb:hover {
522
+ .rules-scroll[data-v-6821226a]::-webkit-scrollbar-thumb:hover {
504
523
  background: var(--md-text-subtle);
505
524
  }
506
525
 
507
- .toggle-btn[data-v-2dd9f5a7] {
526
+ .toggle-btn[data-v-befa8dec] {
508
527
  display: flex;
509
528
  align-items: center;
510
529
  justify-content: center;
@@ -520,134 +539,159 @@
520
539
  padding: 0;
521
540
  outline: none;
522
541
  }
523
- .toggle-btn[data-v-2dd9f5a7]:focus-visible {
542
+ .toggle-btn[data-v-befa8dec]:focus-visible {
524
543
  box-shadow: 0 0 0 2px var(--md-selection);
525
544
  }
526
- .toggle-btn--idle[data-v-2dd9f5a7] {
545
+ .toggle-btn--idle[data-v-befa8dec] {
527
546
  border-color: var(--md-border);
528
547
  color: var(--md-text-subtle);
529
548
  }
530
- .toggle-btn--idle[data-v-2dd9f5a7]:hover {
549
+ .toggle-btn--idle[data-v-befa8dec]:hover {
531
550
  background: var(--md-surface-hover);
532
551
  border-color: var(--md-border-strong);
533
552
  }
534
- .toggle-btn--active[data-v-2dd9f5a7] {
553
+ .toggle-btn--active[data-v-befa8dec] {
535
554
  background: var(--md-selection-bg);
536
555
  border-color: var(--md-selection);
537
556
  color: var(--md-selection-fg);
538
557
  }
539
- .toggle-btn--active[data-v-2dd9f5a7]:hover {
540
- background: color-mix(in srgb, var(--md-selection) 20%, var(--md-selection-bg));
558
+ .toggle-btn--active[data-v-befa8dec]:hover {
559
+ background: color-mix(
560
+ in srgb,
561
+ var(--md-selection) 20%,
562
+ var(--md-selection-bg)
563
+ );
541
564
  }
542
565
 
543
- .md-btn[data-v-cc741dfc] {
544
- display: inline-flex;
545
- align-items: center;
546
- justify-content: center;
547
- gap: 0.375rem;
548
- padding: 0.5rem 0.875rem;
549
- font-size: 13px;
550
- font-weight: 500;
551
- border-radius: 0.375rem;
552
- border: 1px solid transparent;
553
- cursor: pointer;
554
- transition: background-color 0.15s, border-color 0.15s, opacity 0.15s;
566
+ .md-btn[data-v-5bc166d4] {
567
+ display: inline-flex;
568
+ align-items: center;
569
+ justify-content: center;
570
+ gap: 0.375rem;
571
+ padding: 0.5rem 0.875rem;
572
+ font-size: 13px;
573
+ font-weight: 500;
574
+ border-radius: 0.375rem;
575
+ border: 1px solid transparent;
576
+ cursor: pointer;
577
+ transition:
578
+ background-color 0.15s,
579
+ border-color 0.15s,
580
+ opacity 0.15s;
555
581
  }
556
- .md-btn[data-v-cc741dfc]:disabled { opacity: 0.55; cursor: not-allowed;
582
+ .md-btn[data-v-5bc166d4]:disabled {
583
+ opacity: 0.55;
584
+ cursor: not-allowed;
557
585
  }
558
- .md-btn--primary[data-v-cc741dfc] {
559
- background: var(--md-button-primary-bg);
586
+ .md-btn--primary[data-v-5bc166d4] {
587
+ background: var(--md-button-primary-bg);
560
588
  color: var(--md-button-primary-text);
561
589
  }
562
- .md-btn--primary[data-v-cc741dfc]:not(:disabled):hover { background: var(--md-button-primary-hover-bg);
590
+ .md-btn--primary[data-v-5bc166d4]:not(:disabled):hover {
591
+ background: var(--md-button-primary-hover-bg);
563
592
  }
564
- .md-btn--secondary[data-v-cc741dfc] {
565
- background: var(--md-button-secondary-bg);
566
- color: var(--md-button-secondary-text);
593
+ .md-btn--secondary[data-v-5bc166d4] {
594
+ background: var(--md-button-secondary-bg);
595
+ color: var(--md-button-secondary-text);
567
596
  border-color: var(--md-border);
568
597
  }
569
- .md-btn--secondary[data-v-cc741dfc]:not(:disabled):hover { background: var(--md-button-secondary-hover-bg);
570
- }
571
- .md-btn--danger[data-v-cc741dfc] { background: var(--md-danger); color: var(--md-on-danger);
598
+ .md-btn--secondary[data-v-5bc166d4]:not(:disabled):hover {
599
+ background: var(--md-button-secondary-hover-bg);
572
600
  }
573
- .md-btn--danger[data-v-cc741dfc]:not(:disabled):hover { filter: brightness(0.94);
601
+ .md-btn--danger[data-v-5bc166d4] {
602
+ background: var(--md-danger);
603
+ color: var(--md-on-danger);
574
604
  }
575
- .md-btn--success[data-v-cc741dfc] { background: var(--md-success); color: var(--md-surface);
605
+ .md-btn--danger[data-v-5bc166d4]:not(:disabled):hover {
606
+ filter: brightness(0.94);
576
607
  }
608
+ .md-btn--success[data-v-5bc166d4] {
609
+ background: var(--md-success);
610
+ color: var(--md-surface);
611
+ }
577
612
 
578
- .md-dialog__overlay[data-v-0b61b47b] {
579
- position: fixed;
580
- inset: 0;
581
- z-index: 9998;
582
- display: flex;
583
- align-items: center;
584
- justify-content: center;
585
- padding: 1rem;
613
+ .md-dialog__overlay[data-v-18cc7517] {
614
+ position: fixed;
615
+ inset: 0;
616
+ z-index: 9998;
617
+ display: flex;
618
+ align-items: center;
619
+ justify-content: center;
620
+ padding: 1rem;
586
621
  background: rgb(0 0 0 / 0.4);
587
622
  }
588
- .md-dialog[data-v-0b61b47b] {
589
- width: 420px;
590
- max-width: 100%;
591
- max-height: calc(100vh - 2rem);
592
- display: flex;
593
- flex-direction: column;
594
- background: var(--md-surface);
595
- border-radius: 0.75rem;
596
- box-shadow: 0 20px 60px rgb(0 0 0 / 0.25);
623
+ .md-dialog[data-v-18cc7517] {
624
+ width: 420px;
625
+ max-width: 100%;
626
+ max-height: calc(100vh - 2rem);
627
+ display: flex;
628
+ flex-direction: column;
629
+ background: var(--md-surface);
630
+ border-radius: 0.75rem;
631
+ box-shadow: 0 20px 60px rgb(0 0 0 / 0.25);
597
632
  outline: none;
598
633
  }
599
- .md-dialog__header[data-v-0b61b47b] {
600
- display: flex;
601
- align-items: center;
602
- justify-content: space-between;
603
- gap: 1rem;
634
+ .md-dialog__header[data-v-18cc7517] {
635
+ display: flex;
636
+ align-items: center;
637
+ justify-content: space-between;
638
+ gap: 1rem;
604
639
  padding: 1.125rem 1.25rem 0.5rem;
605
640
  }
606
- .md-dialog__header--noTitle[data-v-0b61b47b] { justify-content: flex-end;
641
+ .md-dialog__header--noTitle[data-v-18cc7517] {
642
+ justify-content: flex-end;
607
643
  }
608
- .md-dialog__title[data-v-0b61b47b] { font-size: 17px; font-weight: 600; color: var(--md-text); margin: 0;
644
+ .md-dialog__title[data-v-18cc7517] {
645
+ font-size: 17px;
646
+ font-weight: 600;
647
+ color: var(--md-text);
648
+ margin: 0;
609
649
  }
610
- .md-dialog__close[data-v-0b61b47b] {
611
- display: inline-flex;
612
- padding: 0.25rem;
613
- color: var(--md-text-subtle);
614
- background: none;
615
- border: 0;
616
- border-radius: 0.25rem;
650
+ .md-dialog__close[data-v-18cc7517] {
651
+ display: inline-flex;
652
+ padding: 0.25rem;
653
+ color: var(--md-text-subtle);
654
+ background: none;
655
+ border: 0;
656
+ border-radius: 0.25rem;
617
657
  cursor: pointer;
618
658
  }
619
- .md-dialog__close[data-v-0b61b47b]:hover { color: var(--md-text); background: var(--md-surface-muted);
659
+ .md-dialog__close[data-v-18cc7517]:hover {
660
+ color: var(--md-text);
661
+ background: var(--md-surface-muted);
620
662
  }
621
- .md-dialog__body[data-v-0b61b47b] {
622
- padding: 0.5rem 1.25rem 1.25rem;
623
- overflow-y: auto;
624
- font-size: 14px;
663
+ .md-dialog__body[data-v-18cc7517] {
664
+ padding: 0.5rem 1.25rem 1.25rem;
665
+ overflow-y: auto;
666
+ font-size: 14px;
625
667
  color: var(--md-text);
626
668
  }
627
- .md-dialog__footer[data-v-0b61b47b] {
628
- display: flex;
629
- justify-content: flex-end;
630
- gap: 0.5rem;
669
+ .md-dialog__footer[data-v-18cc7517] {
670
+ display: flex;
671
+ justify-content: flex-end;
672
+ gap: 0.5rem;
631
673
  padding: 0 1.25rem 1.25rem;
632
674
  }
633
- .md-dialog__srOnly[data-v-0b61b47b] {
634
- position: absolute;
635
- width: 1px; height: 1px;
636
- padding: 0; margin: -1px;
637
- overflow: hidden;
638
- clip: rect(0, 0, 0, 0);
639
- white-space: nowrap;
675
+ .md-dialog__srOnly[data-v-18cc7517] {
676
+ position: absolute;
677
+ width: 1px;
678
+ height: 1px;
679
+ padding: 0;
680
+ margin: -1px;
681
+ overflow: hidden;
682
+ clip: rect(0, 0, 0, 0);
683
+ white-space: nowrap;
640
684
  border: 0;
641
- }
685
+ }
642
686
 
643
- [data-v-5aa602c3] a {
687
+ [data-v-bab0f181] a {
644
688
  color: #2563eb;
645
689
  cursor: pointer;
646
690
  }
647
- [data-v-5aa602c3] a:not([style*="text-decoration"]) {
691
+ [data-v-bab0f181] a:not([style*="text-decoration"]) {
648
692
  text-decoration: underline;
649
693
  }
650
- [data-v-5aa602c3] a:hover {
694
+ [data-v-bab0f181] a:hover {
651
695
  opacity: 0.8;
652
696
  }
653
697
 
@@ -655,7 +699,7 @@
655
699
  display:inline ensures the span is exactly as wide as its text content.
656
700
  No width reservation from hidden raw-tag text since the NodeView
657
701
  writes only one text node at a time. */
658
- [data-v-5aa602c3] .merge-tag-node {
702
+ [data-v-bab0f181] .merge-tag-node {
659
703
  display: inline;
660
704
  white-space: nowrap;
661
705
  vertical-align: baseline;
@@ -665,7 +709,7 @@
665
709
  }
666
710
 
667
711
  /* List styles — scoped to the editor content area */
668
- [data-v-5aa602c3] li:not(:last-child) {
712
+ [data-v-bab0f181] li:not(:last-child) {
669
713
  margin-bottom: var(--list-item-spacing, 0.25rem);
670
714
  }
671
715
 
@@ -673,7 +717,7 @@
673
717
  Constrain the Select to sit flush inside the toolbar row.
674
718
  The trigger is kept compact (28px tall) and the overlay is widened so
675
719
  long font names are readable without being clipped. */
676
- .toolbar-font-select[data-v-5aa602c3] .p-select {
720
+ .toolbar-font-select[data-v-bab0f181] .p-select {
677
721
  height: 28px;
678
722
  min-width: 110px;
679
723
  max-width: 130px;
@@ -686,21 +730,21 @@
686
730
  display: flex;
687
731
  align-items: center;
688
732
  }
689
- .toolbar-font-select[data-v-5aa602c3] .p-select-label {
733
+ .toolbar-font-select[data-v-bab0f181] .p-select-label {
690
734
  padding: 0;
691
735
  font-size: 0.85rem;
692
736
  line-height: 1;
693
737
  }
694
- .toolbar-font-select[data-v-5aa602c3] .p-select-dropdown {
738
+ .toolbar-font-select[data-v-bab0f181] .p-select-dropdown {
695
739
  width: 20px;
696
740
  }
697
741
 
698
742
  /* Widen the overlay panel so long font names are not clipped */
699
- [data-v-5aa602c3] .p-select-overlay {
743
+ [data-v-bab0f181] .p-select-overlay {
700
744
  min-width: 180px !important;
701
745
  }
702
746
 
703
- .toggle-btn[data-v-916ac99b] {
747
+ .toggle-btn[data-v-7d66fd79] {
704
748
  display: flex;
705
749
  align-items: center;
706
750
  justify-content: center;
@@ -708,74 +752,90 @@
708
752
  border-radius: 6px;
709
753
  border: 0.5px solid transparent;
710
754
  cursor: pointer;
711
- transition: background 0.1s, border-color 0.1s, color 0.1s;
755
+ transition:
756
+ background 0.1s,
757
+ border-color 0.1s,
758
+ color 0.1s;
712
759
  background: transparent;
713
760
  padding: 0;
714
761
  outline: none;
715
762
  }
716
- .toggle-btn--idle[data-v-916ac99b] {
763
+ .toggle-btn--idle[data-v-7d66fd79] {
717
764
  border-color: color-mix(in srgb, var(--md-border) 80%, transparent);
718
765
  color: var(--md-text-subtle);
719
766
  }
720
- .toggle-btn--idle[data-v-916ac99b]:hover {
767
+ .toggle-btn--idle[data-v-7d66fd79]:hover {
721
768
  background: var(--md-surface-hover);
722
769
  border-color: var(--md-border-strong);
723
770
  color: var(--md-text-muted);
724
771
  }
725
- .toggle-btn--active[data-v-916ac99b] {
772
+ .toggle-btn--active[data-v-7d66fd79] {
726
773
  background: var(--md-selection-bg);
727
774
  border-color: var(--md-selection);
728
775
  color: var(--md-selection-fg);
729
776
  }
730
- .toggle-btn--active[data-v-916ac99b]:hover {
731
- background: color-mix(in srgb, var(--md-selection) 20%, var(--md-selection-bg));
777
+ .toggle-btn--active[data-v-7d66fd79]:hover {
778
+ background: color-mix(
779
+ in srgb,
780
+ var(--md-selection) 20%,
781
+ var(--md-selection-bg)
782
+ );
732
783
  }
733
784
 
734
- .panel[data-v-1ca75986] {
785
+ .panel[data-v-8337ea1e] {
735
786
  padding: 10px 12px;
736
787
  background: var(--md-surface);
737
788
  border: 0.5px solid color-mix(in srgb, var(--md-border) 80%, transparent);
738
789
  border-radius: 10px;
739
790
  }
740
- .separator[data-v-1ca75986] {
791
+ .separator[data-v-8337ea1e] {
741
792
  height: 0.5px;
742
793
  background: color-mix(in srgb, var(--md-border) 80%, transparent);
743
794
  margin-left: -12px;
744
795
  margin-right: -12px;
745
796
  }
746
797
 
747
- .spinner[data-v-3ea84dc7] {
798
+ .spinner[data-v-3a289171] {
748
799
  width: 50px;
749
800
  height: 50px;
750
801
  border: 5px solid rgba(0, 0, 0, 0.2);
751
802
  border-top-color: var(--md-selection);
752
803
  border-radius: 50%;
753
804
  margin: 0 auto;
754
- animation: spin-3ea84dc7 1s linear infinite;
805
+ animation: spin-3a289171 1s linear infinite;
755
806
  }
756
- @keyframes spin-3ea84dc7 {
807
+ @keyframes spin-3a289171 {
757
808
  to {
758
809
  transform: rotate(360deg);
759
810
  }
760
811
  }
761
812
 
762
- /* ===== DESIGN SYSTEM TOKENS ===== */
763
- .desktop-gate[data-v-561a092b] {
764
- --brand-primary: #4a7c59;
765
- --brand-primary-dark: #3a5a40;
766
- --brand-primary-light: #3a5a40;
767
- --brand-gradient-start: #4a7c59;
768
- --brand-gradient-end: #3a5a40;
769
- --gray-50: #f9fafb;
770
- --gray-100: #f3f4f6;
771
- --gray-200: #e5e7eb;
772
- --gray-300: #d1d5db;
773
- --gray-400: #9ca3af;
774
- --gray-500: #6b7280;
775
- --gray-600: #4b5563;
776
- --gray-700: #374151;
777
- --gray-800: #1f2937;
778
- --gray-900: #111827;
813
+ /* ===== DESIGN SYSTEM TOKENS =====
814
+ * Each token reads from the shared --md-* custom properties (see theme.ts)
815
+ * and falls back to this component's original hardcoded value when the
816
+ * host hasn't set that property. That means an untouched app looks exactly
817
+ * as before, and a host calling setEditorTheme() re-themes this notice too,
818
+ * without editing this file again. */
819
+ .desktop-gate[data-v-61a8c3d0] {
820
+ --brand-primary: var(--md-primary, var(--md-primary));
821
+ --brand-primary-dark: var(--md-primary-hover, var(--md-primary-hover));
822
+ --brand-primary-light: var(--md-primary-hover, var(--md-primary-hover));
823
+ --brand-gradient-start: var(--md-primary, var(--md-primary));
824
+ --brand-gradient-end: var(--md-primary-hover, var(--md-primary-hover));
825
+ --gate-surface: var(--md-surface, var(--md-surface));
826
+ --gate-backdrop: var(--md-background, var(--md-surface-hover));
827
+ --gate-on-primary: var(--md-on-primary, var(--md-surface));
828
+ --gate-warning: var(--md-warning, var(--md-warning));
829
+ --gray-50: var(--md-background, var(--md-surface-hover));
830
+ --gray-100: var(--md-surface-muted, var(--md-surface-muted));
831
+ --gray-200: var(--md-border, var(--md-border));
832
+ --gray-300: var(--md-border-strong, var(--md-border-strong));
833
+ --gray-400: var(--md-text-subtle, var(--md-text-subtle));
834
+ --gray-500: var(--md-text-subtle, var(--md-text-muted));
835
+ --gray-600: var(--md-text-muted, var(--md-text-muted));
836
+ --gray-700: var(--md-text-muted, var(--md-text-muted));
837
+ --gray-800: var(--md-text, var(--md-text));
838
+ --gray-900: var(--md-text, var(--md-text));
779
839
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
780
840
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
781
841
  --shadow-lg:
@@ -786,35 +846,31 @@ to {
786
846
  }
787
847
 
788
848
  /* ===== MAIN LAYOUT ===== */
789
- .desktop-gate[data-v-561a092b] {
849
+ .desktop-gate[data-v-61a8c3d0] {
790
850
  position: fixed;
791
851
  inset: 0;
792
852
  z-index: 9999;
793
853
  display: flex;
794
854
  align-items: center;
795
855
  justify-content: center;
796
- background: linear-gradient(
797
- 135deg,
798
- rgba(255, 255, 255, 0.98) 0%,
799
- rgba(249, 250, 251, 0.98) 100%
800
- );
856
+ background: color-mix(in srgb, var(--gate-backdrop) 98%, transparent);
801
857
  backdrop-filter: blur(2px);
802
858
  padding: 1.5rem;
803
859
  }
804
- .gate-container[data-v-561a092b] {
860
+ .gate-container[data-v-61a8c3d0] {
805
861
  max-width: 520px;
806
862
  width: 100%;
807
- background: white;
863
+ background: var(--gate-surface);
808
864
  border-radius: 2rem;
809
865
  padding: 2.5rem;
810
866
  text-align: center;
811
867
  box-shadow: var(--shadow-2xl);
812
- animation: fadeInUp-561a092b 0.5s cubic-bezier(0.16, 1, 0.3, 1);
868
+ animation: fadeInUp-61a8c3d0 0.5s cubic-bezier(0.16, 1, 0.3, 1);
813
869
  border: 1px solid var(--gray-200);
814
870
  }
815
871
 
816
872
  /* ===== BRAND BADGE ===== */
817
- .brand-badge[data-v-561a092b] {
873
+ .brand-badge[data-v-61a8c3d0] {
818
874
  position: relative;
819
875
  width: 80px;
820
876
  height: 80px;
@@ -823,7 +879,7 @@ to {
823
879
  align-items: center;
824
880
  justify-content: center;
825
881
  }
826
- .badge-ring[data-v-561a092b] {
882
+ .badge-ring[data-v-61a8c3d0] {
827
883
  position: absolute;
828
884
  inset: 0;
829
885
  border-radius: 50%;
@@ -832,13 +888,13 @@ to {
832
888
  var(--brand-gradient-start),
833
889
  var(--brand-gradient-end)
834
890
  );
835
- animation: pulseRing-561a092b 2s ease-out infinite;
891
+ animation: pulseRing-61a8c3d0 2s ease-out infinite;
836
892
  }
837
- .badge-icon[data-v-561a092b] {
893
+ .badge-icon[data-v-61a8c3d0] {
838
894
  position: relative;
839
895
  width: 56px;
840
896
  height: 56px;
841
- background: white;
897
+ background: var(--gate-surface);
842
898
  border-radius: 50%;
843
899
  display: flex;
844
900
  align-items: center;
@@ -847,19 +903,19 @@ to {
847
903
  box-shadow: var(--shadow-md);
848
904
  transition: transform 0.2s ease;
849
905
  }
850
- .gate-container:hover .badge-icon[data-v-561a092b] {
906
+ .gate-container:hover .badge-icon[data-v-61a8c3d0] {
851
907
  transform: scale(1.02);
852
908
  }
853
909
 
854
910
  /* ===== TYPOGRAPHY ===== */
855
- .gate-title[data-v-561a092b] {
911
+ .gate-title[data-v-61a8c3d0] {
856
912
  font-size: 1.875rem;
857
913
  font-weight: 700;
858
914
  letter-spacing: -0.02em;
859
915
  margin: 0 0 1rem 0;
860
916
  color: var(--gray-900);
861
917
  }
862
- .brand-gradient[data-v-561a092b] {
918
+ .brand-gradient[data-v-61a8c3d0] {
863
919
  background: linear-gradient(
864
920
  135deg,
865
921
  var(--brand-gradient-start),
@@ -869,7 +925,7 @@ to {
869
925
  -webkit-background-clip: text;
870
926
  color: transparent;
871
927
  }
872
- .gate-description[data-v-561a092b] {
928
+ .gate-description[data-v-61a8c3d0] {
873
929
  font-size: 1rem;
874
930
  line-height: 1.5;
875
931
  color: var(--gray-600);
@@ -877,7 +933,7 @@ to {
877
933
  }
878
934
 
879
935
  /* ===== FEATURE GRID ===== */
880
- .feature-grid[data-v-561a092b] {
936
+ .feature-grid[data-v-61a8c3d0] {
881
937
  display: flex;
882
938
  justify-content: center;
883
939
  gap: 2rem;
@@ -886,7 +942,7 @@ to {
886
942
  border-top: 1px solid var(--gray-200);
887
943
  border-bottom: 1px solid var(--gray-200);
888
944
  }
889
- .feature-item[data-v-561a092b] {
945
+ .feature-item[data-v-61a8c3d0] {
890
946
  display: flex;
891
947
  flex-direction: column;
892
948
  align-items: center;
@@ -895,7 +951,7 @@ to {
895
951
  font-weight: 500;
896
952
  color: var(--gray-700);
897
953
  }
898
- .feature-icon[data-v-561a092b] {
954
+ .feature-icon[data-v-61a8c3d0] {
899
955
  width: 36px;
900
956
  height: 36px;
901
957
  background: var(--gray-100);
@@ -906,14 +962,14 @@ to {
906
962
  color: var(--brand-primary);
907
963
  transition: all 0.2s ease;
908
964
  }
909
- .feature-item:hover .feature-icon[data-v-561a092b] {
965
+ .feature-item:hover .feature-icon[data-v-61a8c3d0] {
910
966
  background: var(--brand-primary);
911
- color: white;
967
+ color: var(--gate-on-primary);
912
968
  transform: translateY(-2px);
913
969
  }
914
970
 
915
971
  /* ===== STATUS ===== */
916
- .detection-status[data-v-561a092b] {
972
+ .detection-status[data-v-61a8c3d0] {
917
973
  display: inline-flex;
918
974
  align-items: center;
919
975
  gap: 0.5rem;
@@ -924,16 +980,16 @@ to {
924
980
  font-weight: 500;
925
981
  color: var(--gray-600);
926
982
  }
927
- .status-dot[data-v-561a092b] {
983
+ .status-dot[data-v-61a8c3d0] {
928
984
  width: 8px;
929
985
  height: 8px;
930
- background: #f59e0b;
986
+ background: var(--gate-warning);
931
987
  border-radius: 50%;
932
- animation: pulse-561a092b 1.5s ease-out infinite;
988
+ animation: pulse-61a8c3d0 1.5s ease-out infinite;
933
989
  }
934
990
 
935
991
  /* ===== FOOTER ===== */
936
- .gate-footer[data-v-561a092b] {
992
+ .gate-footer[data-v-61a8c3d0] {
937
993
  margin-top: 2rem;
938
994
  padding-top: 1.5rem;
939
995
  display: flex;
@@ -943,7 +999,7 @@ to {
943
999
  font-size: 0.75rem;
944
1000
  color: var(--gray-400);
945
1001
  }
946
- .brand-text[data-v-561a092b] {
1002
+ .brand-text[data-v-61a8c3d0] {
947
1003
  font-weight: 600;
948
1004
  background: linear-gradient(
949
1005
  135deg,
@@ -956,7 +1012,7 @@ to {
956
1012
  }
957
1013
 
958
1014
  /* ===== ANIMATIONS ===== */
959
- @keyframes fadeInUp-561a092b {
1015
+ @keyframes fadeInUp-61a8c3d0 {
960
1016
  from {
961
1017
  opacity: 0;
962
1018
  transform: translateY(20px);
@@ -966,7 +1022,7 @@ to {
966
1022
  transform: translateY(0);
967
1023
  }
968
1024
  }
969
- @keyframes pulseRing-561a092b {
1025
+ @keyframes pulseRing-61a8c3d0 {
970
1026
  0% {
971
1027
  opacity: 1;
972
1028
  transform: scale(0.95);
@@ -980,7 +1036,7 @@ to {
980
1036
  transform: scale(1.25);
981
1037
  }
982
1038
  }
983
- @keyframes pulse-561a092b {
1039
+ @keyframes pulse-61a8c3d0 {
984
1040
  0%,
985
1041
  100% {
986
1042
  opacity: 1;
@@ -992,18 +1048,18 @@ to {
992
1048
 
993
1049
  /* ===== RESPONSIVE TOUCH-UPS ===== */
994
1050
  @media (max-width: 480px) {
995
- .gate-container[data-v-561a092b] {
1051
+ .gate-container[data-v-61a8c3d0] {
996
1052
  padding: 2rem 1.5rem;
997
1053
  }
998
- .gate-title[data-v-561a092b] {
1054
+ .gate-title[data-v-61a8c3d0] {
999
1055
  font-size: 1.5rem;
1000
1056
  }
1001
- .feature-grid[data-v-561a092b] {
1057
+ .feature-grid[data-v-61a8c3d0] {
1002
1058
  gap: 1.25rem;
1003
1059
  }
1004
1060
  }
1005
1061
 
1006
- .row-drop-bar[data-v-601d4b22] {
1062
+ .row-drop-bar[data-v-af80b875] {
1007
1063
  position: absolute;
1008
1064
  left: 0;
1009
1065
  right: 0;
@@ -1017,13 +1073,13 @@ to {
1017
1073
  z-index: 20;
1018
1074
  pointer-events: none;
1019
1075
  }
1020
- .row-drop-bar--before[data-v-601d4b22] {
1076
+ .row-drop-bar--before[data-v-af80b875] {
1021
1077
  top: -14px;
1022
1078
  }
1023
- .row-drop-bar--after[data-v-601d4b22] {
1079
+ .row-drop-bar--after[data-v-af80b875] {
1024
1080
  bottom: -14px;
1025
1081
  }
1026
- .row-drop-bar-line[data-v-601d4b22] {
1082
+ .row-drop-bar-line[data-v-af80b875] {
1027
1083
  flex: 1;
1028
1084
  height: 2px;
1029
1085
  background: color-mix(in srgb, var(--drop-color) 50%, transparent);
@@ -1041,7 +1097,7 @@ to {
1041
1097
  opacity: 1;
1042
1098
  }
1043
1099
  } */
1044
- .row-drop-bar-label[data-v-601d4b22] {
1100
+ .row-drop-bar-label[data-v-af80b875] {
1045
1101
  display: flex;
1046
1102
  align-items: center;
1047
1103
  gap: 6px;
@@ -1066,7 +1122,7 @@ to {
1066
1122
  opacity: 1;
1067
1123
  }
1068
1124
  } */
1069
- .row-drop-bar-icon[data-v-601d4b22] {
1125
+ .row-drop-bar-icon[data-v-af80b875] {
1070
1126
  width: 12px;
1071
1127
  height: 12px;
1072
1128
  flex-shrink: 0;
@@ -1092,12 +1148,12 @@ to {
1092
1148
  }
1093
1149
  } */
1094
1150
 
1095
- .fade-enter-active[data-v-7f93ba61],
1096
- .fade-leave-active[data-v-7f93ba61] {
1151
+ .fade-enter-active[data-v-34a528c9],
1152
+ .fade-leave-active[data-v-34a528c9] {
1097
1153
  transition: opacity 0.1s ease;
1098
1154
  }
1099
- .fade-enter-from[data-v-7f93ba61],
1100
- .fade-leave-to[data-v-7f93ba61] {
1155
+ .fade-enter-from[data-v-34a528c9],
1156
+ .fade-leave-to[data-v-34a528c9] {
1101
1157
  opacity: 0;
1102
1158
  }
1103
1159
 
@@ -1119,16 +1175,16 @@ to {
1119
1175
  * child is capped within this column's own stacking context and can never
1120
1176
  * exceed a sibling row painted at z-index: 0 in normal flow.
1121
1177
  */
1122
- .canvas-column[data-v-7f93ba61] {
1178
+ .canvas-column[data-v-34a528c9] {
1123
1179
  position: relative;
1124
1180
  z-index: 1;
1125
1181
  }
1126
- .canvas-column.has-selected-child[data-v-7f93ba61] {
1182
+ .canvas-column.has-selected-child[data-v-34a528c9] {
1127
1183
  z-index: auto;
1128
1184
  }
1129
1185
 
1130
1186
  /* ── Base zone ─────────────────────────────────────────────── */
1131
- .canvas-drop-zone[data-v-cc281ed8] {
1187
+ .canvas-drop-zone[data-v-4336edcf] {
1132
1188
  position: relative;
1133
1189
  height: 0;
1134
1190
  margin: 0;
@@ -1138,18 +1194,18 @@ to {
1138
1194
  }
1139
1195
 
1140
1196
  /* Full expansion on hover */
1141
- .canvas-drop-zone--active[data-v-cc281ed8] {
1197
+ .canvas-drop-zone--active[data-v-4336edcf] {
1142
1198
  height: 52px;
1143
1199
  }
1144
1200
 
1145
1201
  /* Empty-canvas variant — fills the whole empty area */
1146
- .canvas-drop-zone--empty[data-v-cc281ed8] {
1202
+ .canvas-drop-zone--empty[data-v-4336edcf] {
1147
1203
  height: 100%;
1148
1204
  min-height: 200px;
1149
1205
  }
1150
1206
 
1151
1207
  /* Full height variant - takes up entire parent container */
1152
- .canvas-drop-zone--full[data-v-cc281ed8] {
1208
+ .canvas-drop-zone--full[data-v-4336edcf] {
1153
1209
  position: absolute;
1154
1210
  top: 0;
1155
1211
  left: 0;
@@ -1158,14 +1214,14 @@ to {
1158
1214
  height: auto;
1159
1215
  min-height: 100%;
1160
1216
  }
1161
- .canvas-drop-zone--empty .cdz-bar[data-v-cc281ed8] {
1217
+ .canvas-drop-zone--empty .cdz-bar[data-v-4336edcf] {
1162
1218
  inset: 12px;
1163
1219
  justify-content: center;
1164
1220
  border-radius: 12px;
1165
1221
  }
1166
1222
 
1167
1223
  /* ── Empty state styles (when fullHeight is true) ── */
1168
- .cdz-empty-state[data-v-cc281ed8] {
1224
+ .cdz-empty-state[data-v-4336edcf] {
1169
1225
  position: absolute;
1170
1226
  inset: 0;
1171
1227
  display: flex;
@@ -1177,14 +1233,15 @@ to {
1177
1233
  color-mix(in srgb, var(--md-row-selection) 4%, var(--md-surface)) 0%,
1178
1234
  color-mix(in srgb, var(--md-row-selection) 8%, var(--md-surface)) 100%
1179
1235
  );
1180
- border: 2px dashed color-mix(in srgb, var(--md-row-selection) 22%, var(--md-surface));
1236
+ border: 2px dashed
1237
+ color-mix(in srgb, var(--md-row-selection) 22%, var(--md-surface));
1181
1238
  border-radius: 6px;
1182
1239
  transition: all 0.2s ease;
1183
1240
  }
1184
- .canvas-drop-zone--full .cdz-empty-state[data-v-cc281ed8] {
1185
- animation: fade-in-cc281ed8 0.3s ease;
1241
+ .canvas-drop-zone--full .cdz-empty-state[data-v-4336edcf] {
1242
+ animation: fade-in-4336edcf 0.3s ease;
1186
1243
  }
1187
- @keyframes fade-in-cc281ed8 {
1244
+ @keyframes fade-in-4336edcf {
1188
1245
  from {
1189
1246
  opacity: 0;
1190
1247
  transform: scale(0.98);
@@ -1194,25 +1251,25 @@ to {
1194
1251
  transform: scale(1);
1195
1252
  }
1196
1253
  }
1197
- .cdz-empty-content[data-v-cc281ed8] {
1254
+ .cdz-empty-content[data-v-4336edcf] {
1198
1255
  text-align: center;
1199
1256
  padding: 2rem;
1200
1257
  }
1201
- .cdz-empty-icon[data-v-cc281ed8] {
1258
+ .cdz-empty-icon[data-v-4336edcf] {
1202
1259
  width: 48px;
1203
1260
  height: 48px;
1204
1261
  margin: 0 auto 12px;
1205
1262
  color: var(--md-text-subtle);
1206
1263
  stroke-width: 1.5;
1207
1264
  }
1208
- .cdz-empty-title[data-v-cc281ed8] {
1265
+ .cdz-empty-title[data-v-4336edcf] {
1209
1266
  font-size: 1.125rem;
1210
1267
  font-weight: 500;
1211
1268
  color: var(--md-selection-fg);
1212
1269
  margin-bottom: 8px;
1213
1270
  letter-spacing: -0.01em;
1214
1271
  }
1215
- .cdz-empty-subtitle[data-v-cc281ed8] {
1272
+ .cdz-empty-subtitle[data-v-4336edcf] {
1216
1273
  font-size: 0.875rem;
1217
1274
  color: var(--md-text-subtle);
1218
1275
  line-height: 1.4;
@@ -1234,7 +1291,7 @@ to {
1234
1291
  * height covers the hit area naturally, so bleed here is not needed for the
1235
1292
  * "snap into a big target" UX — that comes from the zone's own expanded size.
1236
1293
  */
1237
- .cdz-hit-area[data-v-cc281ed8] {
1294
+ .cdz-hit-area[data-v-4336edcf] {
1238
1295
  position: absolute;
1239
1296
  left: 0;
1240
1297
  right: 0;
@@ -1244,19 +1301,19 @@ to {
1244
1301
  /* Only catchable during a layout drag; invisible + inert otherwise */
1245
1302
  pointer-events: none;
1246
1303
  }
1247
- .canvas-drop-zone--receptive .cdz-hit-area[data-v-cc281ed8] {
1304
+ .canvas-drop-zone--receptive .cdz-hit-area[data-v-4336edcf] {
1248
1305
  pointer-events: all;
1249
1306
  }
1250
1307
 
1251
1308
  /* Hide empty state when dragging */
1252
- .canvas-drop-zone--full.canvas-drop-zone--receptive .cdz-empty-state[data-v-cc281ed8],
1253
- .canvas-drop-zone--full.canvas-drop-zone--active .cdz-empty-state[data-v-cc281ed8] {
1309
+ .canvas-drop-zone--full.canvas-drop-zone--receptive .cdz-empty-state[data-v-4336edcf],
1310
+ .canvas-drop-zone--full.canvas-drop-zone--active .cdz-empty-state[data-v-4336edcf] {
1254
1311
  opacity: 0.5;
1255
1312
  background: color-mix(in srgb, var(--md-row-selection) 4%, transparent);
1256
1313
  }
1257
1314
 
1258
1315
  /* ── Ghost line (receptive but not hovered) ─────────────────── */
1259
- .cdz-ghost-line[data-v-cc281ed8] {
1316
+ .cdz-ghost-line[data-v-4336edcf] {
1260
1317
  position: absolute;
1261
1318
  left: 0;
1262
1319
  right: 0;
@@ -1272,17 +1329,20 @@ to {
1272
1329
  );
1273
1330
  border-radius: 2px;
1274
1331
  pointer-events: none;
1275
- animation: ghost-pulse-cc281ed8 2s ease-in-out infinite;
1332
+ animation: ghost-pulse-4336edcf 2s ease-in-out infinite;
1276
1333
  }
1277
- @keyframes ghost-pulse-cc281ed8 {
1278
- 0%, 100% { opacity: 0.5;
1334
+ @keyframes ghost-pulse-4336edcf {
1335
+ 0%,
1336
+ 100% {
1337
+ opacity: 0.5;
1279
1338
  }
1280
- 50% { opacity: 1;
1339
+ 50% {
1340
+ opacity: 1;
1281
1341
  }
1282
1342
  }
1283
1343
 
1284
1344
  /* ── Active bar ─────────────────────────────────────────────── */
1285
- .cdz-bar[data-v-cc281ed8] {
1345
+ .cdz-bar[data-v-4336edcf] {
1286
1346
  position: absolute;
1287
1347
  inset: 4px 0;
1288
1348
  display: flex;
@@ -1291,10 +1351,11 @@ to {
1291
1351
  padding: 0 20px;
1292
1352
  background: color-mix(in srgb, var(--md-row-selection) 6%, transparent);
1293
1353
  border-radius: 8px;
1294
- border: 1.5px dashed color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1354
+ border: 1.5px dashed
1355
+ color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1295
1356
  pointer-events: none; /* let drag events fall through to the parent drop zone */
1296
1357
  }
1297
- .cdz-line[data-v-cc281ed8] {
1358
+ .cdz-line[data-v-4336edcf] {
1298
1359
  flex: 1;
1299
1360
  height: 2px;
1300
1361
  background: linear-gradient(
@@ -1306,16 +1367,20 @@ to {
1306
1367
  transparent
1307
1368
  );
1308
1369
  border-radius: 2px;
1309
- animation: line-expand-cc281ed8 0.2s ease forwards;
1370
+ animation: line-expand-4336edcf 0.2s ease forwards;
1310
1371
  transform-origin: center;
1311
1372
  }
1312
- @keyframes line-expand-cc281ed8 {
1313
- from { transform: scaleX(0); opacity: 0;
1373
+ @keyframes line-expand-4336edcf {
1374
+ from {
1375
+ transform: scaleX(0);
1376
+ opacity: 0;
1314
1377
  }
1315
- to { transform: scaleX(1); opacity: 1;
1378
+ to {
1379
+ transform: scaleX(1);
1380
+ opacity: 1;
1316
1381
  }
1317
1382
  }
1318
- .cdz-pill[data-v-cc281ed8] {
1383
+ .cdz-pill[data-v-4336edcf] {
1319
1384
  display: flex;
1320
1385
  align-items: center;
1321
1386
  gap: 5px;
@@ -1326,58 +1391,75 @@ to { transform: scaleX(1); opacity: 1;
1326
1391
  white-space: nowrap;
1327
1392
  padding: 5px 14px;
1328
1393
  background: color-mix(in srgb, var(--md-row-selection) 8%, transparent);
1329
- border: 1.5px solid color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1394
+ border: 1.5px solid
1395
+ color-mix(in srgb, var(--md-row-selection) 35%, transparent);
1330
1396
  border-radius: 100px;
1331
- box-shadow: 0 2px 8px color-mix(in srgb, var(--md-row-selection) 15%, transparent);
1332
- animation: pill-pop-cc281ed8 0.22s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
1397
+ box-shadow: 0 2px 8px
1398
+ color-mix(in srgb, var(--md-row-selection) 15%, transparent);
1399
+ animation: pill-pop-4336edcf 0.22s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
1333
1400
  }
1334
- @keyframes pill-pop-cc281ed8 {
1335
- from { transform: scale(0.75); opacity: 0;
1401
+ @keyframes pill-pop-4336edcf {
1402
+ from {
1403
+ transform: scale(0.75);
1404
+ opacity: 0;
1336
1405
  }
1337
- to { transform: scale(1); opacity: 1;
1406
+ to {
1407
+ transform: scale(1);
1408
+ opacity: 1;
1338
1409
  }
1339
1410
  }
1340
- .cdz-icon[data-v-cc281ed8] {
1411
+ .cdz-icon[data-v-4336edcf] {
1341
1412
  width: 13px;
1342
1413
  height: 13px;
1343
1414
  flex-shrink: 0;
1344
1415
  }
1345
1416
 
1346
1417
  /* ── Transition ─────────────────────────────────────────────── */
1347
- .cdz-bar-enter-active[data-v-cc281ed8] { animation: cdz-in-cc281ed8 0.15s ease forwards;
1418
+ .cdz-bar-enter-active[data-v-4336edcf] {
1419
+ animation: cdz-in-4336edcf 0.15s ease forwards;
1348
1420
  }
1349
- .cdz-bar-leave-active[data-v-cc281ed8] { transition: opacity 0.1s ease;
1421
+ .cdz-bar-leave-active[data-v-4336edcf] {
1422
+ transition: opacity 0.1s ease;
1350
1423
  }
1351
- .cdz-bar-leave-to[data-v-cc281ed8] { opacity: 0;
1424
+ .cdz-bar-leave-to[data-v-4336edcf] {
1425
+ opacity: 0;
1352
1426
  }
1353
- @keyframes cdz-in-cc281ed8 {
1354
- from { opacity: 0; transform: scaleY(0.6);
1427
+ @keyframes cdz-in-4336edcf {
1428
+ from {
1429
+ opacity: 0;
1430
+ transform: scaleY(0.6);
1355
1431
  }
1356
- to { opacity: 1; transform: scaleY(1);
1432
+ to {
1433
+ opacity: 1;
1434
+ transform: scaleY(1);
1357
1435
  }
1358
1436
  }
1359
1437
 
1360
- .drop-line-enter-active[data-v-8ae7a24f] {
1361
- transition: opacity 80ms ease, transform 80ms ease;
1438
+ .drop-line-enter-active[data-v-64196026] {
1439
+ transition:
1440
+ opacity 80ms ease,
1441
+ transform 80ms ease;
1362
1442
  }
1363
- .drop-line-leave-active[data-v-8ae7a24f] {
1364
- transition: opacity 60ms ease, transform 60ms ease;
1443
+ .drop-line-leave-active[data-v-64196026] {
1444
+ transition:
1445
+ opacity 60ms ease,
1446
+ transform 60ms ease;
1365
1447
  }
1366
- .drop-line-enter-from[data-v-8ae7a24f],
1367
- .drop-line-leave-to[data-v-8ae7a24f] {
1448
+ .drop-line-enter-from[data-v-64196026],
1449
+ .drop-line-leave-to[data-v-64196026] {
1368
1450
  opacity: 0;
1369
1451
  transform: scaleX(0.6);
1370
1452
  transform-origin: left center;
1371
1453
  }
1372
1454
 
1373
- .slide-enter-active[data-v-ce5a848e],
1374
- .slide-leave-active[data-v-ce5a848e] {
1455
+ .slide-enter-active[data-v-f59051f0],
1456
+ .slide-leave-active[data-v-f59051f0] {
1375
1457
  transition: all 0.2s ease;
1376
1458
  max-height: 500px;
1377
1459
  overflow: hidden;
1378
1460
  }
1379
- .slide-enter-from[data-v-ce5a848e],
1380
- .slide-leave-to[data-v-ce5a848e] {
1461
+ .slide-enter-from[data-v-f59051f0],
1462
+ .slide-leave-to[data-v-f59051f0] {
1381
1463
  opacity: 0;
1382
1464
  max-height: 0;
1383
1465
  transform: translateY(-10px);
@@ -1386,7 +1468,7 @@ to { opacity: 1; transform: scaleY(1);
1386
1468
  /* ============================================================
1387
1469
  md-dropdown – suggestion list
1388
1470
  ============================================================ */
1389
- .md-dropdown[data-v-3cd230e0] {
1471
+ .md-dropdown[data-v-594adf85] {
1390
1472
  position: absolute;
1391
1473
  top: 100%;
1392
1474
  left: 0;
@@ -1400,16 +1482,16 @@ to { opacity: 1; transform: scaleY(1);
1400
1482
  max-height: 12rem;
1401
1483
  overflow-y: auto;
1402
1484
  }
1403
- .md-dropdown-item[data-v-3cd230e0] {
1485
+ .md-dropdown-item[data-v-594adf85] {
1404
1486
  padding: 0.5rem 0.75rem;
1405
1487
  cursor: pointer;
1406
1488
  color: var(--md-text);
1407
1489
  transition: background 0.1s;
1408
1490
  }
1409
- .md-dropdown-item[data-v-3cd230e0]:hover {
1491
+ .md-dropdown-item[data-v-594adf85]:hover {
1410
1492
  background: var(--md-surface-hover);
1411
1493
  }
1412
- .md-dropdown-item--active[data-v-3cd230e0] {
1494
+ .md-dropdown-item--active[data-v-594adf85] {
1413
1495
  background: var(--md-primary);
1414
1496
  color: var(--md-on-primary);
1415
1497
  }
@@ -1417,18 +1499,18 @@ to { opacity: 1; transform: scaleY(1);
1417
1499
  /* ============================================================
1418
1500
  md-tag – selected tag pills
1419
1501
  ============================================================ */
1420
- .md-tag[data-v-3cd230e0] {
1502
+ .md-tag[data-v-594adf85] {
1421
1503
  display: inline-flex;
1422
1504
  align-items: center;
1423
- padding: 0.125rem 0.75rem;
1505
+ padding: 0.125rem 0.75rem;
1424
1506
  border-radius: 9999px;
1425
- font-size: 0.875rem;
1507
+ font-size: 0.875rem;
1426
1508
  font-weight: 500;
1427
1509
  background: var(--md-primary);
1428
1510
  color: var(--md-on-primary);
1429
1511
  line-height: 1.5;
1430
1512
  }
1431
- .md-tag-remove[data-v-3cd230e0] {
1513
+ .md-tag-remove[data-v-594adf85] {
1432
1514
  margin-left: 0.5rem;
1433
1515
  display: inline-flex;
1434
1516
  align-items: center;
@@ -1445,11 +1527,11 @@ to { opacity: 1; transform: scaleY(1);
1445
1527
  color 0.15s;
1446
1528
  padding: 0;
1447
1529
  }
1448
- .md-tag-remove[data-v-3cd230e0]:hover {
1530
+ .md-tag-remove[data-v-594adf85]:hover {
1449
1531
  background: color-mix(in srgb, var(--md-on-primary) 20%, transparent);
1450
1532
  color: var(--md-on-primary);
1451
1533
  }
1452
- .md-tag-remove svg[data-v-3cd230e0] {
1534
+ .md-tag-remove svg[data-v-594adf85] {
1453
1535
  width: 100%;
1454
1536
  height: 100%;
1455
1537
  }
@@ -1457,207 +1539,297 @@ to { opacity: 1; transform: scaleY(1);
1457
1539
  /* ============================================================
1458
1540
  Scrollbar styling for dropdown (optional, keeps it clean)
1459
1541
  ============================================================ */
1460
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar {
1542
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar {
1461
1543
  width: 4px;
1462
1544
  }
1463
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-track {
1545
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-track {
1464
1546
  background: transparent;
1465
1547
  }
1466
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb {
1548
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-thumb {
1467
1549
  background: var(--md-border);
1468
1550
  border-radius: 8px;
1469
1551
  }
1470
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb:hover {
1552
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-thumb:hover {
1471
1553
  background: var(--md-text-subtle);
1472
1554
  }
1473
1555
 
1474
- .overflow-x-auto[data-v-22183f86] {
1556
+ .overflow-x-auto[data-v-c0831ad7] {
1475
1557
  max-width: 100%;
1476
1558
  -webkit-overflow-scrolling: touch;
1477
1559
  }
1478
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar {
1560
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar {
1479
1561
  height: 6px;
1480
1562
  }
1481
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-track {
1563
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-track {
1482
1564
  background: var(--md-surface-muted);
1483
1565
  border-radius: 4px;
1484
1566
  }
1485
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb {
1567
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-thumb {
1486
1568
  background: var(--md-border-strong);
1487
1569
  border-radius: 4px;
1488
1570
  }
1489
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb:hover {
1571
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-thumb:hover {
1490
1572
  background: var(--md-text-subtle);
1491
1573
  }
1492
1574
 
1493
- .overflow-x-auto[data-v-f8677731] {
1575
+ .overflow-x-auto[data-v-9a9be6d5] {
1494
1576
  max-width: 100%;
1495
1577
  -webkit-overflow-scrolling: touch;
1496
1578
  }
1497
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar {
1579
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar {
1498
1580
  height: 6px;
1499
1581
  }
1500
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-track {
1582
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-track {
1501
1583
  background: var(--md-surface-muted);
1502
1584
  border-radius: 4px;
1503
1585
  }
1504
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb {
1586
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-thumb {
1505
1587
  background: var(--md-border-strong);
1506
1588
  border-radius: 4px;
1507
1589
  }
1508
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb:hover {
1590
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-thumb:hover {
1509
1591
  background: var(--md-text-subtle);
1510
1592
  }
1511
1593
 
1512
- .panel-slide-enter-active[data-v-3185c8c2],
1513
- .panel-slide-leave-active[data-v-3185c8c2] {
1594
+ .panel-slide-enter-active[data-v-2d4ec1d1],
1595
+ .panel-slide-leave-active[data-v-2d4ec1d1] {
1514
1596
  transition:
1515
1597
  opacity 0.18s ease,
1516
1598
  transform 0.18s ease;
1517
1599
  }
1518
- .panel-slide-enter-from[data-v-3185c8c2],
1519
- .panel-slide-leave-to[data-v-3185c8c2] {
1600
+ .panel-slide-enter-from[data-v-2d4ec1d1],
1601
+ .panel-slide-leave-to[data-v-2d4ec1d1] {
1520
1602
  opacity: 0;
1521
1603
  transform: translateX(-10px);
1522
1604
  }
1523
1605
 
1524
1606
  /* Filter pill fade */
1525
- .fade-enter-active[data-v-3185c8c2],
1526
- .fade-leave-active[data-v-3185c8c2] {
1607
+ .fade-enter-active[data-v-2d4ec1d1],
1608
+ .fade-leave-active[data-v-2d4ec1d1] {
1527
1609
  transition:
1528
1610
  opacity 0.15s ease,
1529
1611
  transform 0.15s ease;
1530
1612
  }
1531
- .fade-enter-from[data-v-3185c8c2],
1532
- .fade-leave-to[data-v-3185c8c2] {
1613
+ .fade-enter-from[data-v-2d4ec1d1],
1614
+ .fade-leave-to[data-v-2d4ec1d1] {
1533
1615
  opacity: 0;
1534
1616
  transform: translateY(-4px);
1535
1617
  }
1536
1618
 
1537
1619
  /* Smooth row list reorder/filter transitions */
1538
- .row-list-enter-active[data-v-3185c8c2],
1539
- .row-list-leave-active[data-v-3185c8c2] {
1620
+ .row-list-enter-active[data-v-2d4ec1d1],
1621
+ .row-list-leave-active[data-v-2d4ec1d1] {
1540
1622
  transition:
1541
1623
  opacity 0.2s ease,
1542
1624
  transform 0.2s ease;
1543
1625
  }
1544
- .row-list-enter-from[data-v-3185c8c2],
1545
- .row-list-leave-to[data-v-3185c8c2] {
1626
+ .row-list-enter-from[data-v-2d4ec1d1],
1627
+ .row-list-leave-to[data-v-2d4ec1d1] {
1546
1628
  opacity: 0;
1547
1629
  transform: translateY(6px);
1548
1630
  }
1549
- .row-list-move[data-v-3185c8c2] {
1631
+ .row-list-move[data-v-2d4ec1d1] {
1550
1632
  transition: transform 0.2s ease;
1551
1633
  }
1552
1634
 
1553
1635
  /* Scrollbar — thin, unobtrusive */
1554
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar {
1636
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar {
1555
1637
  width: 6px;
1556
1638
  }
1557
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-track {
1639
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-track {
1558
1640
  background: transparent;
1559
1641
  }
1560
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb {
1642
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-thumb {
1561
1643
  background: var(--md-border-strong);
1562
1644
  border-radius: 9999px;
1563
1645
  }
1564
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb:hover {
1646
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-thumb:hover {
1565
1647
  background: var(--md-text-subtle);
1566
1648
  }
1567
1649
 
1568
- .panel-slide-enter-active[data-v-3ec392a9],
1569
- .panel-slide-leave-active[data-v-3ec392a9] {
1650
+ .panel-slide-enter-active[data-v-14ec1c1c],
1651
+ .panel-slide-leave-active[data-v-14ec1c1c] {
1570
1652
  transition:
1571
1653
  opacity 0.18s ease,
1572
1654
  transform 0.18s ease;
1573
1655
  }
1574
- .panel-slide-enter-from[data-v-3ec392a9],
1575
- .panel-slide-leave-to[data-v-3ec392a9] {
1656
+ .panel-slide-enter-from[data-v-14ec1c1c],
1657
+ .panel-slide-leave-to[data-v-14ec1c1c] {
1576
1658
  opacity: 0;
1577
1659
  transform: translateX(-10px);
1578
1660
  }
1579
- .row-list-enter-active[data-v-3ec392a9],
1580
- .row-list-leave-active[data-v-3ec392a9] {
1661
+ .row-list-enter-active[data-v-14ec1c1c],
1662
+ .row-list-leave-active[data-v-14ec1c1c] {
1581
1663
  transition:
1582
1664
  opacity 0.2s ease,
1583
1665
  transform 0.2s ease;
1584
1666
  }
1585
- .row-list-enter-from[data-v-3ec392a9],
1586
- .row-list-leave-to[data-v-3ec392a9] {
1667
+ .row-list-enter-from[data-v-14ec1c1c],
1668
+ .row-list-leave-to[data-v-14ec1c1c] {
1587
1669
  opacity: 0;
1588
1670
  transform: translateY(6px);
1589
1671
  }
1590
- .row-list-move[data-v-3ec392a9] {
1672
+ .row-list-move[data-v-14ec1c1c] {
1591
1673
  transition: transform 0.2s ease;
1592
1674
  }
1593
1675
 
1594
1676
  /* Scrollbar — thin, unobtrusive. Matches SavedRowsPanel. */
1595
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar { width: 6px;
1677
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar {
1678
+ width: 6px;
1596
1679
  }
1597
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-track { background: transparent;
1680
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar-track {
1681
+ background: transparent;
1598
1682
  }
1599
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-thumb { background: var(--md-border-strong); border-radius: 9999px;
1683
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar-thumb {
1684
+ background: var(--md-border-strong);
1685
+ border-radius: 9999px;
1600
1686
  }
1601
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-thumb:hover { background: var(--md-text-subtle);
1687
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar-thumb:hover {
1688
+ background: var(--md-text-subtle);
1602
1689
  }
1603
1690
 
1604
- .md-toast__region[data-v-7583ad77] {
1605
- position: fixed;
1606
- top: 1rem;
1607
- right: 1rem;
1608
- z-index: 9999;
1609
- display: flex;
1610
- flex-direction: column;
1611
- gap: 0.5rem;
1691
+ .panel-slide-enter-active[data-v-8e303508],
1692
+ .panel-slide-leave-active[data-v-8e303508] {
1693
+ transition:
1694
+ opacity 0.18s ease,
1695
+ transform 0.18s ease;
1696
+ }
1697
+ .panel-slide-enter-from[data-v-8e303508],
1698
+ .panel-slide-leave-to[data-v-8e303508] {
1699
+ opacity: 0;
1700
+ transform: translateX(-10px);
1701
+ }
1702
+ .row-list-enter-active[data-v-8e303508],
1703
+ .row-list-leave-active[data-v-8e303508] {
1704
+ transition:
1705
+ opacity 0.2s ease,
1706
+ transform 0.2s ease;
1707
+ }
1708
+ .row-list-enter-from[data-v-8e303508],
1709
+ .row-list-leave-to[data-v-8e303508] {
1710
+ opacity: 0;
1711
+ transform: translateY(6px);
1712
+ }
1713
+ .row-list-move[data-v-8e303508] {
1714
+ transition: transform 0.2s ease;
1715
+ }
1716
+
1717
+ /* Scrollbar — thin, unobtrusive. Matches SavedTemplatesPanel. */
1718
+ .overflow-y-auto[data-v-8e303508]::-webkit-scrollbar {
1719
+ width: 6px;
1720
+ }
1721
+ .overflow-y-auto[data-v-8e303508]::-webkit-scrollbar-track {
1722
+ background: transparent;
1723
+ }
1724
+ .overflow-y-auto[data-v-8e303508]::-webkit-scrollbar-thumb {
1725
+ background: var(--md-border-strong);
1726
+ border-radius: 9999px;
1727
+ }
1728
+ .overflow-y-auto[data-v-8e303508]::-webkit-scrollbar-thumb:hover {
1729
+ background: var(--md-text-subtle);
1730
+ }
1731
+
1732
+ .md-toast__region[data-v-554d8b1c] {
1733
+ position: fixed;
1734
+ top: 1rem;
1735
+ right: 1rem;
1736
+ z-index: 9999;
1737
+ display: flex;
1738
+ flex-direction: column;
1739
+ gap: 0.5rem;
1612
1740
  pointer-events: none;
1613
1741
  }
1614
- .md-toast[data-v-7583ad77] {
1615
- pointer-events: auto;
1616
- display: flex;
1617
- align-items: flex-start;
1618
- gap: 0.625rem;
1619
- min-width: 280px;
1620
- max-width: 380px;
1621
- padding: 0.75rem 0.875rem;
1622
- font-size: 13px;
1623
- border: 1px solid;
1624
- border-radius: 0.75rem;
1742
+ .md-toast[data-v-554d8b1c] {
1743
+ pointer-events: auto;
1744
+ display: flex;
1745
+ align-items: flex-start;
1746
+ gap: 0.625rem;
1747
+ min-width: 280px;
1748
+ max-width: 380px;
1749
+ padding: 0.75rem 0.875rem;
1750
+ font-size: 13px;
1751
+ border: 1px solid;
1752
+ border-radius: 0.75rem;
1625
1753
  box-shadow: 0 8px 30px rgb(0 0 0 / 0.12);
1626
1754
  }
1627
- .md-toast__icon[data-v-7583ad77] { font-size: 15px; flex-shrink: 0; margin-top: 0.0625rem;
1628
- }
1629
- .md-toast__body[data-v-7583ad77] { flex: 1; min-width: 0;
1755
+ .md-toast__icon[data-v-554d8b1c] {
1756
+ font-size: 15px;
1757
+ flex-shrink: 0;
1758
+ margin-top: 0.0625rem;
1630
1759
  }
1631
- .md-toast__summary[data-v-7583ad77] { font-weight: 500;
1760
+ .md-toast__body[data-v-554d8b1c] {
1761
+ flex: 1;
1762
+ min-width: 0;
1632
1763
  }
1633
- .md-toast__detail[data-v-7583ad77] { font-size: 12px; opacity: 0.8; margin-top: 0.125rem;
1764
+ .md-toast__summary[data-v-554d8b1c] {
1765
+ font-weight: 500;
1634
1766
  }
1635
- .md-toast__close[data-v-7583ad77] { flex-shrink: 0; opacity: 0.5; background: none; border: 0; cursor: pointer; color: inherit;
1767
+ .md-toast__detail[data-v-554d8b1c] {
1768
+ font-size: 12px;
1769
+ opacity: 0.8;
1770
+ margin-top: 0.125rem;
1636
1771
  }
1637
- .md-toast__close[data-v-7583ad77]:hover { opacity: 1;
1772
+ .md-toast__close[data-v-554d8b1c] {
1773
+ flex-shrink: 0;
1774
+ opacity: 0.5;
1775
+ background: none;
1776
+ border: 0;
1777
+ cursor: pointer;
1778
+ color: inherit;
1638
1779
  }
1639
- .md-toast--success[data-v-7583ad77] { background: var(--md-success-bg); border-color: var(--md-success-border); color: var(--md-success-fg);
1780
+ .md-toast__close[data-v-554d8b1c]:hover {
1781
+ opacity: 1;
1640
1782
  }
1641
- .md-toast--info[data-v-7583ad77] { background: var(--md-info-bg); border-color: var(--md-info-border); color: var(--md-info-fg);
1783
+ .md-toast--success[data-v-554d8b1c] {
1784
+ background: var(--md-success-bg);
1785
+ border-color: var(--md-success-border);
1786
+ color: var(--md-success-fg);
1642
1787
  }
1643
- .md-toast--warn[data-v-7583ad77] { background: var(--md-surface)beb; border-color: var(--md-warning-border); color: var(--md-warning-fg);
1788
+ .md-toast--info[data-v-554d8b1c] {
1789
+ background: var(--md-info-bg);
1790
+ border-color: var(--md-info-border);
1791
+ color: var(--md-info-fg);
1644
1792
  }
1645
- .md-toast--error[data-v-7583ad77] { background: var(--md-danger-bg); border-color: var(--md-danger-border); color: var(--md-danger-fg);
1793
+ .md-toast--warn[data-v-554d8b1c] {
1794
+ background: var(--md-surface);
1795
+ border-color: var(--md-warning-border);
1796
+ color: var(--md-warning-fg);
1646
1797
  }
1647
- .md-toast-enter-active[data-v-7583ad77], .md-toast-leave-active[data-v-7583ad77] { transition: all 0.2s ease;
1798
+ .md-toast--error[data-v-554d8b1c] {
1799
+ background: var(--md-danger-bg);
1800
+ border-color: var(--md-danger-border);
1801
+ color: var(--md-danger-fg);
1648
1802
  }
1649
- .md-toast-enter-from[data-v-7583ad77], .md-toast-leave-to[data-v-7583ad77] { opacity: 0; transform: translateX(20px);
1803
+ .md-toast-enter-active[data-v-554d8b1c],
1804
+ .md-toast-leave-active[data-v-554d8b1c] {
1805
+ transition: all 0.2s ease;
1650
1806
  }
1807
+ .md-toast-enter-from[data-v-554d8b1c],
1808
+ .md-toast-leave-to[data-v-554d8b1c] {
1809
+ opacity: 0;
1810
+ transform: translateX(20px);
1811
+ }
1651
1812
 
1652
- .md-confirm__body[data-v-43b7e283] { display: flex; align-items: flex-start; gap: 0.75rem;
1653
- }
1654
- .md-confirm__icon[data-v-43b7e283] { font-size: 22px; color: var(--md-warning); flex-shrink: 0; margin-top: 0.125rem;
1813
+ .md-confirm__body[data-v-50e7ddf7] {
1814
+ display: flex;
1815
+ align-items: flex-start;
1816
+ gap: 0.75rem;
1655
1817
  }
1656
- .md-confirm__message[data-v-43b7e283] { margin: 0; font-size: 14px; line-height: 1.5; color: var(--md-text);
1818
+ .md-confirm__icon[data-v-50e7ddf7] {
1819
+ font-size: 22px;
1820
+ color: var(--md-warning);
1821
+ flex-shrink: 0;
1822
+ margin-top: 0.125rem;
1657
1823
  }
1824
+ .md-confirm__message[data-v-50e7ddf7] {
1825
+ margin: 0;
1826
+ font-size: 14px;
1827
+ line-height: 1.5;
1828
+ color: var(--md-text);
1829
+ }
1658
1830
 
1659
1831
  /* ── Orb ──────────────────────────────────────────────────────────────────── */
1660
- .health-orb[data-v-0521087e] {
1832
+ .health-orb[data-v-c8efa0e7] {
1661
1833
  position: relative;
1662
1834
  display: flex;
1663
1835
  align-items: center;
@@ -1672,74 +1844,88 @@ to { opacity: 1; transform: scaleY(1);
1672
1844
  outline: none;
1673
1845
  flex-shrink: 0;
1674
1846
  }
1675
- .health-orb:focus-visible .orb-core[data-v-0521087e] {
1847
+ .health-orb:focus-visible .orb-core[data-v-c8efa0e7] {
1676
1848
  box-shadow: 0 0 0 3px rgba(66, 56, 158, 0.4);
1677
1849
  }
1678
1850
 
1679
1851
  /* Pulse rings */
1680
- .orb-ring[data-v-0521087e] {
1852
+ .orb-ring[data-v-c8efa0e7] {
1681
1853
  position: absolute;
1682
1854
  border-radius: 50%;
1683
- animation: orb-pulse-0521087e 2.4s ease-out infinite;
1855
+ animation: orb-pulse-c8efa0e7 2.4s ease-out infinite;
1684
1856
  }
1685
- .orb-ring--outer[data-v-0521087e] {
1857
+ .orb-ring--outer[data-v-c8efa0e7] {
1686
1858
  width: 22px;
1687
1859
  height: 22px;
1688
1860
  animation-delay: 0s;
1689
1861
  }
1690
- .orb-ring--inner[data-v-0521087e] {
1862
+ .orb-ring--inner[data-v-c8efa0e7] {
1691
1863
  width: 16px;
1692
1864
  height: 16px;
1693
1865
  animation-delay: 0.6s;
1694
1866
  }
1695
1867
 
1696
1868
  /* Core */
1697
- .orb-core[data-v-0521087e] {
1869
+ .orb-core[data-v-c8efa0e7] {
1698
1870
  position: relative;
1699
1871
  width: 10px;
1700
1872
  height: 10px;
1701
1873
  border-radius: 50%;
1702
- transition: transform 0.15s ease, box-shadow 0.15s ease;
1874
+ transition:
1875
+ transform 0.15s ease,
1876
+ box-shadow 0.15s ease;
1703
1877
  z-index: 1;
1704
1878
  }
1705
- .health-orb:hover .orb-core[data-v-0521087e],
1706
- .health-orb--active .orb-core[data-v-0521087e] {
1879
+ .health-orb:hover .orb-core[data-v-c8efa0e7],
1880
+ .health-orb--active .orb-core[data-v-c8efa0e7] {
1707
1881
  transform: scale(1.15);
1708
1882
  }
1709
1883
 
1710
1884
  /* ── Status colours with brand accent ───────────────────────────────────────── */
1711
- .health-orb--good .orb-ring[data-v-0521087e] {
1885
+ .health-orb--good .orb-ring[data-v-c8efa0e7] {
1712
1886
  background: rgba(34, 197, 94, 0.25);
1713
1887
  }
1714
- .health-orb--good .orb-core[data-v-0521087e] {
1888
+ .health-orb--good .orb-core[data-v-c8efa0e7] {
1715
1889
  background: #22c55e;
1716
- box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2), 0 0 8px rgba(34, 197, 94, 0.4);
1890
+ box-shadow:
1891
+ 0 0 0 2px rgba(34, 197, 94, 0.2),
1892
+ 0 0 8px rgba(34, 197, 94, 0.4);
1717
1893
  }
1718
- .health-orb--warn .orb-ring[data-v-0521087e] {
1894
+ .health-orb--warn .orb-ring[data-v-c8efa0e7] {
1719
1895
  background: rgba(245, 158, 11, 0.28);
1720
1896
  }
1721
- .health-orb--warn .orb-core[data-v-0521087e] {
1897
+ .health-orb--warn .orb-core[data-v-c8efa0e7] {
1722
1898
  background: #f59e0b;
1723
- box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2), 0 0 8px rgba(245, 158, 11, 0.4);
1899
+ box-shadow:
1900
+ 0 0 0 2px rgba(245, 158, 11, 0.2),
1901
+ 0 0 8px rgba(245, 158, 11, 0.4);
1724
1902
  }
1725
- .health-orb--bad .orb-ring[data-v-0521087e] {
1903
+ .health-orb--bad .orb-ring[data-v-c8efa0e7] {
1726
1904
  background: rgba(239, 68, 68, 0.28);
1727
1905
  }
1728
- .health-orb--bad .orb-core[data-v-0521087e] {
1906
+ .health-orb--bad .orb-core[data-v-c8efa0e7] {
1729
1907
  background: #ef4444;
1730
- box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2), 0 0 8px rgba(239, 68, 68, 0.4);
1908
+ box-shadow:
1909
+ 0 0 0 2px rgba(239, 68, 68, 0.2),
1910
+ 0 0 8px rgba(239, 68, 68, 0.4);
1731
1911
  }
1732
- @keyframes orb-pulse-0521087e {
1733
- 0% { transform: scale(0.6); opacity: 0.7;
1912
+ @keyframes orb-pulse-c8efa0e7 {
1913
+ 0% {
1914
+ transform: scale(0.6);
1915
+ opacity: 0.7;
1734
1916
  }
1735
- 60% { transform: scale(1.6); opacity: 0;
1917
+ 60% {
1918
+ transform: scale(1.6);
1919
+ opacity: 0;
1736
1920
  }
1737
- 100% { transform: scale(1.6); opacity: 0;
1921
+ 100% {
1922
+ transform: scale(1.6);
1923
+ opacity: 0;
1738
1924
  }
1739
1925
  }
1740
1926
 
1741
1927
  /* ── Panel ────────────────────────────────────────────────────────────────── */
1742
- .health-panel[data-v-0521087e] {
1928
+ .health-panel[data-v-c8efa0e7] {
1743
1929
  position: absolute;
1744
1930
  top: calc(100% + 10px);
1745
1931
  left: 50%;
@@ -1749,7 +1935,9 @@ to { opacity: 1; transform: scaleY(1);
1749
1935
  border: 1px solid rgba(255, 255, 255, 0.08);
1750
1936
  border-radius: 14px;
1751
1937
  padding: 12px;
1752
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.3);
1938
+ box-shadow:
1939
+ 0 20px 60px rgba(0, 0, 0, 0.5),
1940
+ 0 4px 12px rgba(0, 0, 0, 0.3);
1753
1941
  z-index: 9999;
1754
1942
  display: flex;
1755
1943
  flex-direction: column;
@@ -1757,48 +1945,48 @@ to { opacity: 1; transform: scaleY(1);
1757
1945
  /* Smooth horizontal expansion */
1758
1946
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1759
1947
  }
1760
- .health-panel--expanded[data-v-0521087e] {
1948
+ .health-panel--expanded[data-v-c8efa0e7] {
1761
1949
  width: 400px;
1762
1950
  }
1763
1951
 
1764
1952
  /* When expanded, stat grid uses 3 cols instead of 2 */
1765
- .health-panel--expanded .detail-stats[data-v-0521087e] {
1953
+ .health-panel--expanded .detail-stats[data-v-c8efa0e7] {
1766
1954
  grid-template-columns: repeat(3, 1fr);
1767
1955
  }
1768
1956
 
1769
1957
  /* When expanded, accessibility list gets more vertical room */
1770
- .health-panel--expanded .a11y-list[data-v-0521087e] {
1958
+ .health-panel--expanded .a11y-list[data-v-c8efa0e7] {
1771
1959
  max-height: 320px;
1772
1960
  }
1773
1961
 
1774
1962
  /* When expanded, format rows go side-by-side */
1775
- .health-panel--expanded .format-note[data-v-0521087e] {
1963
+ .health-panel--expanded .format-note[data-v-c8efa0e7] {
1776
1964
  display: grid;
1777
1965
  grid-template-columns: repeat(3, 1fr);
1778
1966
  gap: 6px;
1779
1967
  }
1780
- .health-panel--expanded .format-row[data-v-0521087e] {
1968
+ .health-panel--expanded .format-row[data-v-c8efa0e7] {
1781
1969
  flex-direction: column;
1782
1970
  align-items: flex-start;
1783
1971
  gap: 4px;
1784
1972
  }
1785
1973
 
1786
1974
  /* ── Panel header with brand color ─────────────────────────────────────────── */
1787
- .panel-header[data-v-0521087e] {
1975
+ .panel-header[data-v-c8efa0e7] {
1788
1976
  display: flex;
1789
1977
  align-items: center;
1790
1978
  justify-content: space-between;
1791
1979
  padding: 0 2px 4px;
1792
1980
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
1793
1981
  }
1794
- .panel-header-right[data-v-0521087e] {
1982
+ .panel-header-right[data-v-c8efa0e7] {
1795
1983
  display: flex;
1796
1984
  align-items: center;
1797
1985
  gap: 6px;
1798
1986
  }
1799
1987
 
1800
1988
  /* Expand toggle button */
1801
- .panel-expand-btn[data-v-0521087e] {
1989
+ .panel-expand-btn[data-v-c8efa0e7] {
1802
1990
  display: flex;
1803
1991
  align-items: center;
1804
1992
  justify-content: center;
@@ -1809,102 +1997,119 @@ to { opacity: 1; transform: scaleY(1);
1809
1997
  background: rgba(255, 255, 255, 0.04);
1810
1998
  color: rgba(255, 255, 255, 0.35);
1811
1999
  cursor: pointer;
1812
- transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
2000
+ transition:
2001
+ background 0.15s ease,
2002
+ color 0.15s ease,
2003
+ border-color 0.15s ease;
1813
2004
  flex-shrink: 0;
1814
2005
  padding: 0;
1815
2006
  }
1816
- .panel-expand-btn[data-v-0521087e]:hover {
2007
+ .panel-expand-btn[data-v-c8efa0e7]:hover {
1817
2008
  background: rgba(66, 56, 158, 0.18);
1818
2009
  border-color: rgba(66, 56, 158, 0.4);
1819
2010
  color: #a5b4fc;
1820
2011
  }
1821
- .panel-expand-btn[data-v-0521087e]:focus-visible {
2012
+ .panel-expand-btn[data-v-c8efa0e7]:focus-visible {
1822
2013
  outline: 2px solid rgba(66, 56, 158, 0.5);
1823
2014
  outline-offset: 1px;
1824
2015
  }
1825
- .panel-expand-btn--active[data-v-0521087e] {
2016
+ .panel-expand-btn--active[data-v-c8efa0e7] {
1826
2017
  background: rgba(66, 56, 158, 0.2);
1827
2018
  border-color: rgba(66, 56, 158, 0.45);
1828
2019
  color: #a5b4fc;
1829
2020
  }
1830
- .panel-title[data-v-0521087e] {
2021
+ .panel-title[data-v-c8efa0e7] {
1831
2022
  font-size: 11px;
1832
2023
  font-weight: 600;
1833
2024
  letter-spacing: 0.06em;
1834
2025
  text-transform: uppercase;
1835
2026
  color: #a5b4fc;
1836
2027
  }
1837
- .panel-status-badge[data-v-0521087e] {
2028
+ .panel-status-badge[data-v-c8efa0e7] {
1838
2029
  font-size: 10px;
1839
2030
  font-weight: 600;
1840
2031
  padding: 2px 8px;
1841
2032
  border-radius: 99px;
1842
2033
  }
1843
- .status-badge--good[data-v-0521087e] { background: rgba(34, 197, 94, 0.15); color: #4ade80;
2034
+ .status-badge--good[data-v-c8efa0e7] {
2035
+ background: rgba(34, 197, 94, 0.15);
2036
+ color: #4ade80;
1844
2037
  }
1845
- .status-badge--warn[data-v-0521087e] { background: rgba(245, 158, 11, 0.15); color: #fbbf24;
2038
+ .status-badge--warn[data-v-c8efa0e7] {
2039
+ background: rgba(245, 158, 11, 0.15);
2040
+ color: #fbbf24;
1846
2041
  }
1847
- .status-badge--bad[data-v-0521087e] { background: rgba(239, 68, 68, 0.15); color: #f87171;
2042
+ .status-badge--bad[data-v-c8efa0e7] {
2043
+ background: rgba(239, 68, 68, 0.15);
2044
+ color: #f87171;
1848
2045
  }
1849
2046
 
1850
2047
  /* ── Metric cards ─────────────────────────────────────────────────────────── */
1851
- .metric-card[data-v-0521087e] {
2048
+ .metric-card[data-v-c8efa0e7] {
1852
2049
  border-radius: 10px;
1853
2050
  border: 1px solid rgba(255, 255, 255, 0.06);
1854
2051
  background: rgba(255, 255, 255, 0.04);
1855
2052
  cursor: pointer;
1856
- transition: background 0.15s ease, border-color 0.15s ease;
2053
+ transition:
2054
+ background 0.15s ease,
2055
+ border-color 0.15s ease;
1857
2056
  overflow: hidden;
1858
2057
  user-select: none;
1859
2058
  }
1860
- .metric-card[data-v-0521087e]:hover {
2059
+ .metric-card[data-v-c8efa0e7]:hover {
1861
2060
  background: rgba(66, 56, 158, 0.1);
1862
2061
  border-color: rgba(66, 56, 158, 0.3);
1863
2062
  }
1864
- .metric-card[data-v-0521087e]:focus-visible {
2063
+ .metric-card[data-v-c8efa0e7]:focus-visible {
1865
2064
  outline: 2px solid rgba(66, 56, 158, 0.5);
1866
2065
  outline-offset: 2px;
1867
2066
  }
1868
- .metric-card--good[data-v-0521087e] { border-color: rgba(34, 197, 94, 0.15);
2067
+ .metric-card--good[data-v-c8efa0e7] {
2068
+ border-color: rgba(34, 197, 94, 0.15);
1869
2069
  }
1870
- .metric-card--warn[data-v-0521087e] { border-color: rgba(245, 158, 11, 0.15);
2070
+ .metric-card--warn[data-v-c8efa0e7] {
2071
+ border-color: rgba(245, 158, 11, 0.15);
1871
2072
  }
1872
- .metric-card--bad[data-v-0521087e] { border-color: rgba(239, 68, 68, 0.2);
2073
+ .metric-card--bad[data-v-c8efa0e7] {
2074
+ border-color: rgba(239, 68, 68, 0.2);
1873
2075
  }
1874
- .metric-card--good.metric-card--expanded[data-v-0521087e] { background: rgba(34, 197, 94, 0.05);
2076
+ .metric-card--good.metric-card--expanded[data-v-c8efa0e7] {
2077
+ background: rgba(34, 197, 94, 0.05);
1875
2078
  }
1876
- .metric-card--warn.metric-card--expanded[data-v-0521087e] { background: rgba(245, 158, 11, 0.05);
2079
+ .metric-card--warn.metric-card--expanded[data-v-c8efa0e7] {
2080
+ background: rgba(245, 158, 11, 0.05);
1877
2081
  }
1878
- .metric-card--bad.metric-card--expanded[data-v-0521087e] { background: rgba(239, 68, 68, 0.06);
2082
+ .metric-card--bad.metric-card--expanded[data-v-c8efa0e7] {
2083
+ background: rgba(239, 68, 68, 0.06);
1879
2084
  }
1880
2085
 
1881
2086
  /* ── Summary row ──────────────────────────────────────────────────────────── */
1882
- .metric-summary[data-v-0521087e] {
2087
+ .metric-summary[data-v-c8efa0e7] {
1883
2088
  display: flex;
1884
2089
  align-items: center;
1885
2090
  justify-content: space-between;
1886
2091
  padding: 9px 10px;
1887
2092
  gap: 8px;
1888
2093
  }
1889
- .metric-left[data-v-0521087e] {
2094
+ .metric-left[data-v-c8efa0e7] {
1890
2095
  display: flex;
1891
2096
  align-items: center;
1892
2097
  gap: 7px;
1893
2098
  min-width: 0;
1894
2099
  }
1895
- .metric-icon[data-v-0521087e] {
2100
+ .metric-icon[data-v-c8efa0e7] {
1896
2101
  display: flex;
1897
2102
  align-items: center;
1898
2103
  opacity: 0.8;
1899
2104
  flex-shrink: 0;
1900
2105
  }
1901
- .metric-label[data-v-0521087e] {
2106
+ .metric-label[data-v-c8efa0e7] {
1902
2107
  font-size: 11.5px;
1903
2108
  font-weight: 500;
1904
2109
  color: rgba(255, 255, 255, 0.7);
1905
2110
  white-space: nowrap;
1906
2111
  }
1907
- .metric-right[data-v-0521087e] {
2112
+ .metric-right[data-v-c8efa0e7] {
1908
2113
  display: flex;
1909
2114
  align-items: center;
1910
2115
  gap: 6px;
@@ -1912,95 +2117,117 @@ to { opacity: 1; transform: scaleY(1);
1912
2117
  }
1913
2118
 
1914
2119
  /* Mini bar */
1915
- .mini-bar[data-v-0521087e] {
2120
+ .mini-bar[data-v-c8efa0e7] {
1916
2121
  width: 36px;
1917
2122
  height: 4px;
1918
2123
  border-radius: 99px;
1919
2124
  background: rgba(255, 255, 255, 0.1);
1920
2125
  overflow: hidden;
1921
2126
  }
1922
- .mini-bar-fill[data-v-0521087e] {
2127
+ .mini-bar-fill[data-v-c8efa0e7] {
1923
2128
  height: 100%;
1924
2129
  border-radius: 99px;
1925
2130
  transition: width 0.5s ease;
1926
2131
  }
1927
- .mini-bar-fill--good[data-v-0521087e] { background: #22c55e;
2132
+ .mini-bar-fill--good[data-v-c8efa0e7] {
2133
+ background: #22c55e;
1928
2134
  }
1929
- .mini-bar-fill--warn[data-v-0521087e] { background: #f59e0b;
2135
+ .mini-bar-fill--warn[data-v-c8efa0e7] {
2136
+ background: #f59e0b;
1930
2137
  }
1931
- .mini-bar-fill--bad[data-v-0521087e] { background: #ef4444;
2138
+ .mini-bar-fill--bad[data-v-c8efa0e7] {
2139
+ background: #ef4444;
1932
2140
  }
1933
2141
 
1934
2142
  /* Status dot */
1935
- .status-dot[data-v-0521087e] {
2143
+ .status-dot[data-v-c8efa0e7] {
1936
2144
  width: 6px;
1937
2145
  height: 6px;
1938
2146
  border-radius: 50%;
1939
2147
  flex-shrink: 0;
1940
2148
  }
1941
- .status-dot--good[data-v-0521087e] { background: #22c55e;
2149
+ .status-dot--good[data-v-c8efa0e7] {
2150
+ background: #22c55e;
1942
2151
  }
1943
- .status-dot--warn[data-v-0521087e] { background: #f59e0b;
2152
+ .status-dot--warn[data-v-c8efa0e7] {
2153
+ background: #f59e0b;
1944
2154
  }
1945
- .status-dot--bad[data-v-0521087e] { background: #ef4444;
2155
+ .status-dot--bad[data-v-c8efa0e7] {
2156
+ background: #ef4444;
1946
2157
  }
1947
2158
 
1948
2159
  /* Pulsing dot for bad status */
1949
- .pulse-dot[data-v-0521087e] {
2160
+ .pulse-dot[data-v-c8efa0e7] {
1950
2161
  position: relative;
1951
2162
  width: 6px;
1952
2163
  height: 6px;
1953
2164
  flex-shrink: 0;
1954
2165
  }
1955
- .pulse-dot[data-v-0521087e]::before,
1956
- .pulse-dot[data-v-0521087e]::after {
1957
- content: '';
2166
+ .pulse-dot[data-v-c8efa0e7]::before,
2167
+ .pulse-dot[data-v-c8efa0e7]::after {
2168
+ content: "";
1958
2169
  position: absolute;
1959
2170
  inset: 0;
1960
2171
  border-radius: 50%;
1961
2172
  }
1962
- .pulse-dot--bad[data-v-0521087e]::before { background: #ef4444; z-index: 1;
2173
+ .pulse-dot--bad[data-v-c8efa0e7]::before {
2174
+ background: #ef4444;
2175
+ z-index: 1;
1963
2176
  }
1964
- .pulse-dot--bad[data-v-0521087e]::after { background: #ef4444; animation: dot-ping-0521087e 1.5s ease-out infinite;
2177
+ .pulse-dot--bad[data-v-c8efa0e7]::after {
2178
+ background: #ef4444;
2179
+ animation: dot-ping-c8efa0e7 1.5s ease-out infinite;
1965
2180
  }
1966
- @keyframes dot-ping-0521087e {
1967
- 0% { transform: scale(1); opacity: 0.75;
2181
+ @keyframes dot-ping-c8efa0e7 {
2182
+ 0% {
2183
+ transform: scale(1);
2184
+ opacity: 0.75;
1968
2185
  }
1969
- 100% { transform: scale(2.5); opacity: 0;
2186
+ 100% {
2187
+ transform: scale(2.5);
2188
+ opacity: 0;
1970
2189
  }
1971
2190
  }
1972
- .metric-value[data-v-0521087e] {
2191
+ .metric-value[data-v-c8efa0e7] {
1973
2192
  font-size: 11.5px;
1974
2193
  font-weight: 600;
1975
2194
  font-variant-numeric: tabular-nums;
1976
2195
  }
1977
- .metric-value--good[data-v-0521087e] { color: #4ade80;
2196
+ .metric-value--good[data-v-c8efa0e7] {
2197
+ color: #4ade80;
1978
2198
  }
1979
- .metric-value--warn[data-v-0521087e] { color: #fbbf24;
2199
+ .metric-value--warn[data-v-c8efa0e7] {
2200
+ color: #fbbf24;
1980
2201
  }
1981
- .metric-value--bad[data-v-0521087e] { color: #f87171;
2202
+ .metric-value--bad[data-v-c8efa0e7] {
2203
+ color: #f87171;
1982
2204
  }
1983
2205
 
1984
2206
  /* Chevron */
1985
- .chevron[data-v-0521087e] {
2207
+ .chevron[data-v-c8efa0e7] {
1986
2208
  color: rgba(255, 255, 255, 0.3);
1987
- transition: transform 0.2s ease, color 0.15s ease;
2209
+ transition:
2210
+ transform 0.2s ease,
2211
+ color 0.15s ease;
1988
2212
  flex-shrink: 0;
1989
2213
  }
1990
- .chevron--open[data-v-0521087e] { transform: rotate(180deg); color: rgba(255, 255, 255, 0.6);
2214
+ .chevron--open[data-v-c8efa0e7] {
2215
+ transform: rotate(180deg);
2216
+ color: rgba(255, 255, 255, 0.6);
1991
2217
  }
1992
- .metric-card:hover .chevron[data-v-0521087e] { color: rgba(255, 255, 255, 0.5);
2218
+ .metric-card:hover .chevron[data-v-c8efa0e7] {
2219
+ color: rgba(255, 255, 255, 0.5);
1993
2220
  }
1994
2221
 
1995
2222
  /* ── Expanded detail ──────────────────────────────────────────────────────── */
1996
- .metric-detail[data-v-0521087e] {
2223
+ .metric-detail[data-v-c8efa0e7] {
1997
2224
  padding: 0 10px 10px;
1998
2225
  display: flex;
1999
2226
  flex-direction: column;
2000
2227
  gap: 8px;
2001
2228
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2002
2229
  }
2003
- .detail-tip[data-v-0521087e] {
2230
+ .detail-tip[data-v-c8efa0e7] {
2004
2231
  font-size: 11px;
2005
2232
  line-height: 1.55;
2006
2233
  color: rgba(255, 255, 255, 0.55);
@@ -2008,23 +2235,23 @@ to { opacity: 1; transform: scaleY(1);
2008
2235
  }
2009
2236
 
2010
2237
  /* Stats grid */
2011
- .detail-stats[data-v-0521087e] {
2238
+ .detail-stats[data-v-c8efa0e7] {
2012
2239
  display: grid;
2013
2240
  grid-template-columns: 1fr 1fr;
2014
2241
  gap: 4px 12px;
2015
2242
  }
2016
- .stat-item[data-v-0521087e] {
2243
+ .stat-item[data-v-c8efa0e7] {
2017
2244
  display: flex;
2018
2245
  justify-content: space-between;
2019
2246
  align-items: baseline;
2020
2247
  gap: 6px;
2021
2248
  }
2022
- .stat-label[data-v-0521087e] {
2249
+ .stat-label[data-v-c8efa0e7] {
2023
2250
  font-size: 10.5px;
2024
2251
  color: rgba(255, 255, 255, 0.35);
2025
2252
  white-space: nowrap;
2026
2253
  }
2027
- .stat-value[data-v-0521087e] {
2254
+ .stat-value[data-v-c8efa0e7] {
2028
2255
  font-size: 11px;
2029
2256
  font-weight: 600;
2030
2257
  color: rgba(255, 255, 255, 0.75);
@@ -2032,28 +2259,34 @@ to { opacity: 1; transform: scaleY(1);
2032
2259
  }
2033
2260
 
2034
2261
  /* Thresholds */
2035
- .detail-thresholds[data-v-0521087e] {
2262
+ .detail-thresholds[data-v-c8efa0e7] {
2036
2263
  display: flex;
2037
2264
  flex-wrap: wrap;
2038
2265
  gap: 4px;
2039
2266
  padding-top: 4px;
2040
2267
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2041
2268
  }
2042
- .threshold[data-v-0521087e] {
2269
+ .threshold[data-v-c8efa0e7] {
2043
2270
  font-size: 10px;
2044
2271
  font-weight: 500;
2045
2272
  padding: 2px 7px;
2046
2273
  border-radius: 99px;
2047
2274
  }
2048
- .threshold--good[data-v-0521087e] { background: rgba(34, 197, 94, 0.12); color: #4ade80;
2275
+ .threshold--good[data-v-c8efa0e7] {
2276
+ background: rgba(34, 197, 94, 0.12);
2277
+ color: #4ade80;
2049
2278
  }
2050
- .threshold--warn[data-v-0521087e] { background: rgba(245, 158, 11, 0.12); color: #fbbf24;
2279
+ .threshold--warn[data-v-c8efa0e7] {
2280
+ background: rgba(245, 158, 11, 0.12);
2281
+ color: #fbbf24;
2051
2282
  }
2052
- .threshold--bad[data-v-0521087e] { background: rgba(239, 68, 68, 0.12); color: #f87171;
2283
+ .threshold--bad[data-v-c8efa0e7] {
2284
+ background: rgba(239, 68, 68, 0.12);
2285
+ color: #f87171;
2053
2286
  }
2054
2287
 
2055
2288
  /* ── Format note (KB card) ────────────────────────────────────────────────── */
2056
- .format-note[data-v-0521087e] {
2289
+ .format-note[data-v-c8efa0e7] {
2057
2290
  display: flex;
2058
2291
  flex-direction: column;
2059
2292
  gap: 5px;
@@ -2061,12 +2294,12 @@ to { opacity: 1; transform: scaleY(1);
2061
2294
  border-radius: 8px;
2062
2295
  padding: 8px;
2063
2296
  }
2064
- .format-row[data-v-0521087e] {
2297
+ .format-row[data-v-c8efa0e7] {
2065
2298
  display: flex;
2066
2299
  align-items: flex-start;
2067
2300
  gap: 8px;
2068
2301
  }
2069
- .format-badge[data-v-0521087e] {
2302
+ .format-badge[data-v-c8efa0e7] {
2070
2303
  font-size: 9.5px;
2071
2304
  font-weight: 700;
2072
2305
  letter-spacing: 0.05em;
@@ -2077,40 +2310,40 @@ to { opacity: 1; transform: scaleY(1);
2077
2310
  background: rgba(66, 56, 158, 0.3);
2078
2311
  color: #a5b4fc;
2079
2312
  }
2080
- .format-badge--muted[data-v-0521087e] {
2313
+ .format-badge--muted[data-v-c8efa0e7] {
2081
2314
  background: rgba(255, 255, 255, 0.07);
2082
2315
  color: rgba(255, 255, 255, 0.35);
2083
2316
  }
2084
- .format-info[data-v-0521087e] {
2317
+ .format-info[data-v-c8efa0e7] {
2085
2318
  display: flex;
2086
2319
  flex-direction: column;
2087
2320
  gap: 2px;
2088
2321
  min-width: 0;
2089
2322
  }
2090
- .format-range[data-v-0521087e] {
2323
+ .format-range[data-v-c8efa0e7] {
2091
2324
  font-size: 11px;
2092
2325
  font-weight: 600;
2093
2326
  color: rgba(255, 255, 255, 0.8);
2094
2327
  }
2095
- .format-range--muted[data-v-0521087e] {
2328
+ .format-range--muted[data-v-c8efa0e7] {
2096
2329
  color: rgba(255, 255, 255, 0.35);
2097
2330
  font-weight: 500;
2098
2331
  }
2099
- .format-caveat[data-v-0521087e] {
2332
+ .format-caveat[data-v-c8efa0e7] {
2100
2333
  font-size: 10px;
2101
2334
  line-height: 1.4;
2102
2335
  color: rgba(255, 255, 255, 0.35);
2103
2336
  }
2104
2337
 
2105
2338
  /* ── Accessibility card ───────────────────────────────────────────────────── */
2106
- .a11y-detail[data-v-0521087e] {
2339
+ .a11y-detail[data-v-c8efa0e7] {
2107
2340
  cursor: default;
2108
2341
  padding: 8px 10px 10px;
2109
2342
  gap: 10px;
2110
2343
  }
2111
2344
 
2112
2345
  /* Tabs */
2113
- .a11y-tabs[data-v-0521087e] {
2346
+ .a11y-tabs[data-v-c8efa0e7] {
2114
2347
  display: grid;
2115
2348
  grid-template-columns: repeat(3, 1fr);
2116
2349
  gap: 4px;
@@ -2118,7 +2351,7 @@ to { opacity: 1; transform: scaleY(1);
2118
2351
  padding: 3px;
2119
2352
  border-radius: 8px;
2120
2353
  }
2121
- .a11y-tab[data-v-0521087e] {
2354
+ .a11y-tab[data-v-c8efa0e7] {
2122
2355
  display: flex;
2123
2356
  align-items: center;
2124
2357
  justify-content: center;
@@ -2133,24 +2366,26 @@ to { opacity: 1; transform: scaleY(1);
2133
2366
  font-weight: 600;
2134
2367
  letter-spacing: 0.02em;
2135
2368
  color: rgba(255, 255, 255, 0.45);
2136
- transition: background 0.15s ease, color 0.15s ease;
2369
+ transition:
2370
+ background 0.15s ease,
2371
+ color 0.15s ease;
2137
2372
  }
2138
- .a11y-tab[data-v-0521087e]:hover {
2373
+ .a11y-tab[data-v-c8efa0e7]:hover {
2139
2374
  color: rgba(255, 255, 255, 0.75);
2140
2375
  background: rgba(255, 255, 255, 0.04);
2141
2376
  }
2142
- .a11y-tab[data-v-0521087e]:focus-visible {
2377
+ .a11y-tab[data-v-c8efa0e7]:focus-visible {
2143
2378
  outline: 2px solid rgba(66, 56, 158, 0.5);
2144
2379
  outline-offset: 1px;
2145
2380
  }
2146
- .a11y-tab--active[data-v-0521087e] {
2381
+ .a11y-tab--active[data-v-c8efa0e7] {
2147
2382
  background: rgba(255, 255, 255, 0.07);
2148
2383
  color: rgba(255, 255, 255, 0.92);
2149
2384
  }
2150
- .a11y-tab-label[data-v-0521087e] {
2385
+ .a11y-tab-label[data-v-c8efa0e7] {
2151
2386
  text-transform: uppercase;
2152
2387
  }
2153
- .a11y-tab-count[data-v-0521087e] {
2388
+ .a11y-tab-count[data-v-c8efa0e7] {
2154
2389
  display: inline-flex;
2155
2390
  align-items: center;
2156
2391
  justify-content: center;
@@ -2163,15 +2398,21 @@ to { opacity: 1; transform: scaleY(1);
2163
2398
  font-variant-numeric: tabular-nums;
2164
2399
  line-height: 1;
2165
2400
  }
2166
- .a11y-tab-count--failed[data-v-0521087e] { background: rgba(239, 68, 68, 0.18); color: #f87171;
2401
+ .a11y-tab-count--failed[data-v-c8efa0e7] {
2402
+ background: rgba(239, 68, 68, 0.18);
2403
+ color: #f87171;
2167
2404
  }
2168
- .a11y-tab-count--passed[data-v-0521087e] { background: rgba(34, 197, 94, 0.18); color: #4ade80;
2405
+ .a11y-tab-count--passed[data-v-c8efa0e7] {
2406
+ background: rgba(34, 197, 94, 0.18);
2407
+ color: #4ade80;
2169
2408
  }
2170
- .a11y-tab-count--ignored[data-v-0521087e] { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.5);
2409
+ .a11y-tab-count--ignored[data-v-c8efa0e7] {
2410
+ background: rgba(255, 255, 255, 0.08);
2411
+ color: rgba(255, 255, 255, 0.5);
2171
2412
  }
2172
2413
 
2173
2414
  /* List */
2174
- .a11y-list[data-v-0521087e] {
2415
+ .a11y-list[data-v-c8efa0e7] {
2175
2416
  display: flex;
2176
2417
  flex-direction: column;
2177
2418
  gap: 6px;
@@ -2181,24 +2422,24 @@ to { opacity: 1; transform: scaleY(1);
2181
2422
  scrollbar-width: thin;
2182
2423
  scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
2183
2424
  }
2184
- .a11y-list[data-v-0521087e]::-webkit-scrollbar {
2425
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar {
2185
2426
  width: 6px;
2186
2427
  }
2187
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-track {
2428
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar-track {
2188
2429
  background: transparent;
2189
2430
  }
2190
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-thumb {
2431
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar-thumb {
2191
2432
  background: rgba(255, 255, 255, 0.12);
2192
2433
  border-radius: 99px;
2193
2434
  }
2194
- .a11y-empty[data-v-0521087e] {
2435
+ .a11y-empty[data-v-c8efa0e7] {
2195
2436
  font-size: 11px;
2196
2437
  color: rgba(255, 255, 255, 0.4);
2197
2438
  text-align: center;
2198
2439
  padding: 12px 4px;
2199
2440
  margin: 0;
2200
2441
  }
2201
- .a11y-item[data-v-0521087e] {
2442
+ .a11y-item[data-v-c8efa0e7] {
2202
2443
  display: flex;
2203
2444
  flex-direction: column;
2204
2445
  gap: 4px;
@@ -2207,20 +2448,25 @@ to { opacity: 1; transform: scaleY(1);
2207
2448
  background: rgba(255, 255, 255, 0.03);
2208
2449
  border-left: 2px solid transparent;
2209
2450
  }
2210
- .a11y-item--critical[data-v-0521087e] { border-left-color: #ef4444;
2451
+ .a11y-item--critical[data-v-c8efa0e7] {
2452
+ border-left-color: #ef4444;
2211
2453
  }
2212
- .a11y-item--serious[data-v-0521087e] { border-left-color: #f59e0b;
2454
+ .a11y-item--serious[data-v-c8efa0e7] {
2455
+ border-left-color: #f59e0b;
2213
2456
  }
2214
- .a11y-item--passed[data-v-0521087e] { border-left-color: rgba(34, 197, 94, 0.5);
2457
+ .a11y-item--passed[data-v-c8efa0e7] {
2458
+ border-left-color: rgba(34, 197, 94, 0.5);
2215
2459
  }
2216
- .a11y-item--ignored[data-v-0521087e] { border-left-color: rgba(255, 255, 255, 0.18); opacity: 0.75;
2460
+ .a11y-item--ignored[data-v-c8efa0e7] {
2461
+ border-left-color: rgba(255, 255, 255, 0.18);
2462
+ opacity: 0.75;
2217
2463
  }
2218
- .a11y-item-header[data-v-0521087e] {
2464
+ .a11y-item-header[data-v-c8efa0e7] {
2219
2465
  display: flex;
2220
2466
  align-items: center;
2221
2467
  gap: 6px;
2222
2468
  }
2223
- .a11y-severity[data-v-0521087e] {
2469
+ .a11y-severity[data-v-c8efa0e7] {
2224
2470
  display: inline-flex;
2225
2471
  align-items: center;
2226
2472
  font-size: 9px;
@@ -2231,15 +2477,23 @@ to { opacity: 1; transform: scaleY(1);
2231
2477
  border-radius: 4px;
2232
2478
  flex-shrink: 0;
2233
2479
  }
2234
- .a11y-severity--critical[data-v-0521087e] { background: rgba(239, 68, 68, 0.18); color: #f87171;
2480
+ .a11y-severity--critical[data-v-c8efa0e7] {
2481
+ background: rgba(239, 68, 68, 0.18);
2482
+ color: #f87171;
2235
2483
  }
2236
- .a11y-severity--serious[data-v-0521087e] { background: rgba(245, 158, 11, 0.18); color: #fbbf24;
2484
+ .a11y-severity--serious[data-v-c8efa0e7] {
2485
+ background: rgba(245, 158, 11, 0.18);
2486
+ color: #fbbf24;
2237
2487
  }
2238
- .a11y-severity--passed[data-v-0521087e] { background: rgba(34, 197, 94, 0.18); color: #4ade80;
2488
+ .a11y-severity--passed[data-v-c8efa0e7] {
2489
+ background: rgba(34, 197, 94, 0.18);
2490
+ color: #4ade80;
2239
2491
  }
2240
- .a11y-severity--ignored[data-v-0521087e] { background: rgba(255, 255, 255, 0.07); color: rgba(255, 255, 255, 0.5);
2492
+ .a11y-severity--ignored[data-v-c8efa0e7] {
2493
+ background: rgba(255, 255, 255, 0.07);
2494
+ color: rgba(255, 255, 255, 0.5);
2241
2495
  }
2242
- .a11y-rule[data-v-0521087e] {
2496
+ .a11y-rule[data-v-c8efa0e7] {
2243
2497
  font-size: 11px;
2244
2498
  font-weight: 600;
2245
2499
  color: rgba(255, 255, 255, 0.85);
@@ -2249,7 +2503,7 @@ to { opacity: 1; transform: scaleY(1);
2249
2503
  overflow: hidden;
2250
2504
  text-overflow: ellipsis;
2251
2505
  }
2252
- .a11y-action[data-v-0521087e] {
2506
+ .a11y-action[data-v-c8efa0e7] {
2253
2507
  background: transparent;
2254
2508
  border: 1px solid rgba(255, 255, 255, 0.1);
2255
2509
  border-radius: 4px;
@@ -2259,34 +2513,37 @@ to { opacity: 1; transform: scaleY(1);
2259
2513
  font-weight: 600;
2260
2514
  color: rgba(255, 255, 255, 0.5);
2261
2515
  cursor: pointer;
2262
- transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
2516
+ transition:
2517
+ background 0.15s ease,
2518
+ color 0.15s ease,
2519
+ border-color 0.15s ease;
2263
2520
  flex-shrink: 0;
2264
2521
  }
2265
- .a11y-action[data-v-0521087e]:hover {
2522
+ .a11y-action[data-v-c8efa0e7]:hover {
2266
2523
  background: rgba(255, 255, 255, 0.06);
2267
2524
  color: rgba(255, 255, 255, 0.85);
2268
2525
  border-color: rgba(255, 255, 255, 0.2);
2269
2526
  }
2270
- .a11y-action[data-v-0521087e]:focus-visible {
2527
+ .a11y-action[data-v-c8efa0e7]:focus-visible {
2271
2528
  outline: 2px solid rgba(66, 56, 158, 0.5);
2272
2529
  outline-offset: 1px;
2273
2530
  }
2274
- .a11y-action--restore[data-v-0521087e] {
2531
+ .a11y-action--restore[data-v-c8efa0e7] {
2275
2532
  border-color: rgba(165, 180, 252, 0.25);
2276
2533
  color: #a5b4fc;
2277
2534
  }
2278
- .a11y-action--restore[data-v-0521087e]:hover {
2535
+ .a11y-action--restore[data-v-c8efa0e7]:hover {
2279
2536
  background: rgba(66, 56, 158, 0.15);
2280
2537
  border-color: rgba(165, 180, 252, 0.4);
2281
2538
  color: #c7d2fe;
2282
2539
  }
2283
- .a11y-message[data-v-0521087e] {
2540
+ .a11y-message[data-v-c8efa0e7] {
2284
2541
  font-size: 10.5px;
2285
2542
  line-height: 1.5;
2286
2543
  color: rgba(255, 255, 255, 0.65);
2287
2544
  margin: 0;
2288
2545
  }
2289
- .a11y-info[data-v-0521087e] {
2546
+ .a11y-info[data-v-c8efa0e7] {
2290
2547
  font-size: 10px;
2291
2548
  line-height: 1.5;
2292
2549
  color: rgba(255, 255, 255, 0.38);
@@ -2296,7 +2553,7 @@ to { opacity: 1; transform: scaleY(1);
2296
2553
  }
2297
2554
 
2298
2555
  /* ── Panel footer ─────────────────────────────────────────────────────────── */
2299
- .panel-footer[data-v-0521087e] {
2556
+ .panel-footer[data-v-c8efa0e7] {
2300
2557
  font-size: 10px;
2301
2558
  color: rgba(255, 255, 255, 0.22);
2302
2559
  text-align: center;
@@ -2305,115 +2562,248 @@ to { opacity: 1; transform: scaleY(1);
2305
2562
  }
2306
2563
 
2307
2564
  /* ── Click-outside overlay ────────────────────────────────────────────────── */
2308
- .click-outside[data-v-0521087e] {
2565
+ .click-outside[data-v-c8efa0e7] {
2309
2566
  position: fixed;
2310
2567
  inset: 0;
2311
2568
  z-index: 9998;
2312
2569
  }
2313
2570
 
2314
2571
  /* ── Transitions ──────────────────────────────────────────────────────────── */
2315
- .popover-enter-active[data-v-0521087e] {
2316
- transition: opacity 0.18s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
2572
+ .popover-enter-active[data-v-c8efa0e7] {
2573
+ transition:
2574
+ opacity 0.18s ease,
2575
+ transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
2317
2576
  }
2318
- .popover-leave-active[data-v-0521087e] {
2319
- transition: opacity 0.12s ease, transform 0.12s ease;
2577
+ .popover-leave-active[data-v-c8efa0e7] {
2578
+ transition:
2579
+ opacity 0.12s ease,
2580
+ transform 0.12s ease;
2320
2581
  }
2321
- .popover-enter-from[data-v-0521087e] {
2582
+ .popover-enter-from[data-v-c8efa0e7] {
2322
2583
  opacity: 0;
2323
2584
  transform: translateX(-50%) translateY(-6px) scale(0.97);
2324
2585
  }
2325
- .popover-leave-to[data-v-0521087e] {
2586
+ .popover-leave-to[data-v-c8efa0e7] {
2326
2587
  opacity: 0;
2327
2588
  transform: translateX(-50%) translateY(-4px) scale(0.98);
2328
2589
  }
2329
- .expand-enter-active[data-v-0521087e] {
2330
- transition: opacity 0.18s ease, max-height 0.22s ease;
2590
+ .expand-enter-active[data-v-c8efa0e7] {
2591
+ transition:
2592
+ opacity 0.18s ease,
2593
+ max-height 0.22s ease;
2331
2594
  max-height: 300px;
2332
2595
  overflow: hidden;
2333
2596
  }
2334
- .expand-leave-active[data-v-0521087e] {
2335
- transition: opacity 0.12s ease, max-height 0.18s ease;
2597
+ .expand-leave-active[data-v-c8efa0e7] {
2598
+ transition:
2599
+ opacity 0.12s ease,
2600
+ max-height 0.18s ease;
2336
2601
  overflow: hidden;
2337
2602
  }
2338
- .expand-enter-from[data-v-0521087e] {
2603
+ .expand-enter-from[data-v-c8efa0e7] {
2339
2604
  opacity: 0;
2340
2605
  max-height: 0;
2341
2606
  }
2342
- .expand-leave-to[data-v-0521087e] {
2607
+ .expand-leave-to[data-v-c8efa0e7] {
2343
2608
  opacity: 0;
2344
2609
  max-height: 0;
2345
2610
  }
2346
2611
 
2347
- .picker-overlay-enter-active[data-v-5f1ee4c3],
2348
- .picker-overlay-leave-active[data-v-5f1ee4c3] {
2612
+ .picker-overlay-enter-active[data-v-240ef53a],
2613
+ .picker-overlay-leave-active[data-v-240ef53a] {
2349
2614
  transition: opacity 0.2s ease;
2350
2615
  }
2351
- .picker-overlay-enter-from[data-v-5f1ee4c3],
2352
- .picker-overlay-leave-to[data-v-5f1ee4c3] {
2616
+ .picker-overlay-enter-from[data-v-240ef53a],
2617
+ .picker-overlay-leave-to[data-v-240ef53a] {
2353
2618
  opacity: 0;
2354
2619
  }
2355
- .picker-drawer-enter-active[data-v-5f1ee4c3],
2356
- .picker-drawer-leave-active[data-v-5f1ee4c3] {
2620
+ .picker-drawer-enter-active[data-v-240ef53a],
2621
+ .picker-drawer-leave-active[data-v-240ef53a] {
2357
2622
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
2358
2623
  }
2359
- .picker-drawer-enter-from[data-v-5f1ee4c3],
2360
- .picker-drawer-leave-to[data-v-5f1ee4c3] {
2624
+ .picker-drawer-enter-from[data-v-240ef53a],
2625
+ .picker-drawer-leave-to[data-v-240ef53a] {
2361
2626
  transform: translateX(100%);
2362
2627
  }
2363
2628
 
2364
- .note-enter-active[data-v-b07bbf33],
2365
- .note-leave-active[data-v-b07bbf33] {
2629
+ .note-enter-active[data-v-0e66e679],
2630
+ .note-leave-active[data-v-0e66e679] {
2366
2631
  transition:
2367
2632
  opacity 0.2s ease,
2368
2633
  max-height 0.25s ease;
2369
2634
  max-height: 60px;
2370
2635
  overflow: hidden;
2371
2636
  }
2372
- .note-enter-from[data-v-b07bbf33],
2373
- .note-leave-to[data-v-b07bbf33] {
2637
+ .note-enter-from[data-v-0e66e679],
2638
+ .note-leave-to[data-v-0e66e679] {
2374
2639
  opacity: 0;
2375
2640
  max-height: 0;
2376
2641
  }
2377
2642
 
2378
- .md-msg[data-v-db5ba171] {
2379
- display: flex;
2380
- align-items: flex-start;
2381
- gap: 0.5rem;
2382
- padding: 0.625rem 0.75rem;
2383
- font-size: 13px;
2384
- border: 1px solid;
2643
+ .md-msg[data-v-04df62fe] {
2644
+ display: flex;
2645
+ align-items: flex-start;
2646
+ gap: 0.5rem;
2647
+ padding: 0.625rem 0.75rem;
2648
+ font-size: 13px;
2649
+ border: 1px solid;
2385
2650
  border-radius: 0.5rem;
2386
2651
  }
2387
- .md-msg__icon[data-v-db5ba171] { margin-top: 0.125rem; flex-shrink: 0; font-size: 14px;
2388
- }
2389
- .md-msg__body[data-v-db5ba171] { flex: 1; min-width: 0;
2652
+ .md-msg__icon[data-v-04df62fe] {
2653
+ margin-top: 0.125rem;
2654
+ flex-shrink: 0;
2655
+ font-size: 14px;
2390
2656
  }
2391
- .md-msg__close[data-v-db5ba171] { opacity: 0.6; cursor: pointer; background: none; border: 0;
2657
+ .md-msg__body[data-v-04df62fe] {
2658
+ flex: 1;
2659
+ min-width: 0;
2392
2660
  }
2393
- .md-msg__close[data-v-db5ba171]:hover { opacity: 1;
2661
+ .md-msg__close[data-v-04df62fe] {
2662
+ opacity: 0.6;
2663
+ cursor: pointer;
2664
+ background: none;
2665
+ border: 0;
2394
2666
  }
2395
- .md-msg--info[data-v-db5ba171] { background: var(--md-info-bg); border-color: var(--md-info-border); color: var(--md-info-fg);
2667
+ .md-msg__close[data-v-04df62fe]:hover {
2668
+ opacity: 1;
2396
2669
  }
2397
- .md-msg--success[data-v-db5ba171] { background: var(--md-success-bg); border-color: var(--md-success-border); color: var(--md-success-fg);
2670
+ .md-msg--info[data-v-04df62fe] {
2671
+ background: var(--md-info-bg);
2672
+ border-color: var(--md-info-border);
2673
+ color: var(--md-info-fg);
2398
2674
  }
2399
- .md-msg--warn[data-v-db5ba171] { background: var(--md-surface)beb; border-color: var(--md-warning-border); color: var(--md-warning-fg);
2675
+ .md-msg--success[data-v-04df62fe] {
2676
+ background: var(--md-success-bg);
2677
+ border-color: var(--md-success-border);
2678
+ color: var(--md-success-fg);
2400
2679
  }
2401
- .md-msg--error[data-v-db5ba171] { background: var(--md-danger-bg); border-color: var(--md-danger-border); color: var(--md-danger-fg);
2680
+ .md-msg--warn[data-v-04df62fe] {
2681
+ background: var(--md-surface) beb;
2682
+ border-color: var(--md-warning-border);
2683
+ color: var(--md-warning-fg);
2402
2684
  }
2685
+ .md-msg--error[data-v-04df62fe] {
2686
+ background: var(--md-danger-bg);
2687
+ border-color: var(--md-danger-border);
2688
+ color: var(--md-danger-fg);
2689
+ }
2403
2690
 
2404
2691
  /* Auto-save pill: fade + 4px vertical drift on enter/leave */
2405
- .autosave-fade-enter-active[data-v-8a0c6ca5],
2406
- .autosave-fade-leave-active[data-v-8a0c6ca5] {
2692
+ .autosave-fade-enter-active[data-v-b67fcdb4],
2693
+ .autosave-fade-leave-active[data-v-b67fcdb4] {
2407
2694
  transition:
2408
2695
  opacity 0.2s ease,
2409
2696
  transform 0.2s ease;
2410
2697
  }
2411
- .autosave-fade-enter-from[data-v-8a0c6ca5] {
2698
+ .autosave-fade-enter-from[data-v-b67fcdb4] {
2412
2699
  opacity: 0;
2413
2700
  transform: translateY(4px);
2414
2701
  }
2415
- .autosave-fade-leave-to[data-v-8a0c6ca5] {
2702
+ .autosave-fade-leave-to[data-v-b67fcdb4] {
2416
2703
  opacity: 0;
2417
2704
  transform: translateY(-4px);
2418
2705
  }
2419
- /*$vite$:1*/
2706
+
2707
+ .md-assistant-fab[data-v-69b25928] {
2708
+ position: fixed;
2709
+ right: 1.25rem;
2710
+ bottom: 1.25rem;
2711
+ /* Above the panels (z-80) and the header (z-100), below dialogs (9998) —
2712
+ a modal dialog must still cover this. */
2713
+ z-index: 120;
2714
+ display: flex;
2715
+ align-items: center;
2716
+ justify-content: center;
2717
+ width: 2.75rem;
2718
+ height: 2.75rem;
2719
+ border-radius: 9999px;
2720
+ border: 1px solid var(--md-border);
2721
+ background: var(--md-button-primary-bg, var(--md-primary));
2722
+ color: var(--md-button-primary-text, var(--md-surface));
2723
+ box-shadow: 0 2px 10px rgb(0 0 0 / 18%);
2724
+ cursor: pointer;
2725
+ transition:
2726
+ transform 0.15s ease,
2727
+ box-shadow 0.15s ease;
2728
+ }
2729
+ .md-assistant-fab[data-v-69b25928]:hover {
2730
+ transform: translateY(-1px);
2731
+ box-shadow: 0 4px 14px rgb(0 0 0 / 22%);
2732
+ }
2733
+ .md-assistant-fab[data-v-69b25928]:focus-visible {
2734
+ outline: 2px solid var(--md-primary);
2735
+ outline-offset: 2px;
2736
+ }
2737
+ .md-assistant-drawer[data-v-69b25928] {
2738
+ position: fixed;
2739
+ top: 4rem; /* clears the header */
2740
+ right: 0;
2741
+ bottom: 0;
2742
+ z-index: 120;
2743
+ width: 22rem;
2744
+ max-width: 100vw;
2745
+ display: flex;
2746
+ flex-direction: column;
2747
+ background: var(--md-surface);
2748
+ border-left: 1px solid var(--md-border);
2749
+ box-shadow: -8px 0 24px rgb(0 0 0 / 10%);
2750
+ }
2751
+ .md-assistant-head[data-v-69b25928] {
2752
+ flex-shrink: 0;
2753
+ display: flex;
2754
+ align-items: center;
2755
+ justify-content: space-between;
2756
+ padding: 0.75rem 0.875rem;
2757
+ border-bottom: 1px solid color-mix(in srgb, var(--md-border) 80%, transparent);
2758
+ }
2759
+ .md-assistant-title[data-v-69b25928] {
2760
+ font-size: 11px;
2761
+ font-weight: 600;
2762
+ letter-spacing: 0.08em;
2763
+ text-transform: uppercase;
2764
+ color: var(--md-text-subtle);
2765
+ }
2766
+ .md-assistant-close[data-v-69b25928] {
2767
+ display: flex;
2768
+ align-items: center;
2769
+ justify-content: center;
2770
+ width: 1.5rem;
2771
+ height: 1.5rem;
2772
+ border-radius: 0.375rem;
2773
+ color: var(--md-text-subtle);
2774
+ background: transparent;
2775
+ border: 0;
2776
+ cursor: pointer;
2777
+ }
2778
+ .md-assistant-close[data-v-69b25928]:hover {
2779
+ color: var(--md-text-muted);
2780
+ background: var(--md-surface-muted);
2781
+ }
2782
+
2783
+ /* The only scroll container, matching the side panels' single-overflow rule. */
2784
+ .md-assistant-body[data-v-69b25928] {
2785
+ flex: 1 1 auto;
2786
+ overflow-y: auto;
2787
+ padding: 0.75rem;
2788
+ }
2789
+ .md-assistant-body[data-v-69b25928]::-webkit-scrollbar {
2790
+ width: 6px;
2791
+ }
2792
+ .md-assistant-body[data-v-69b25928]::-webkit-scrollbar-track {
2793
+ background: transparent;
2794
+ }
2795
+ .md-assistant-body[data-v-69b25928]::-webkit-scrollbar-thumb {
2796
+ background: var(--md-border-strong);
2797
+ border-radius: 9999px;
2798
+ }
2799
+ .assistant-slide-enter-active[data-v-69b25928],
2800
+ .assistant-slide-leave-active[data-v-69b25928] {
2801
+ transition:
2802
+ opacity 0.18s ease,
2803
+ transform 0.18s ease;
2804
+ }
2805
+ .assistant-slide-enter-from[data-v-69b25928],
2806
+ .assistant-slide-leave-to[data-v-69b25928] {
2807
+ opacity: 0;
2808
+ transform: translateX(12px);
2809
+ }