@maildeno/editor 0.1.4 → 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 +1061 -676
  143. package/dist/element-C2ZH0Z_i.js +86561 -0
  144. package/dist/element-scoped-styles.css +1061 -676
  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-CeowK6Q_.js +0 -107
  162. package/dist/RowPreviewRow-D-wmhbhZ.js +0 -107
  163. package/dist/composables/emailBuilder/transform/pipeline/optimizeAI.d.ts +0 -125
  164. package/dist/element-CWjNN0lY.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);
598
+ .md-btn--secondary[data-v-5bc166d4]:not(:disabled):hover {
599
+ background: var(--md-button-secondary-hover-bg);
570
600
  }
571
- .md-btn--danger[data-v-cc741dfc] { background: var(--md-danger); color: var(--md-on-danger);
601
+ .md-btn--danger[data-v-5bc166d4] {
602
+ background: var(--md-danger);
603
+ color: var(--md-on-danger);
572
604
  }
573
- .md-btn--danger[data-v-cc741dfc]:not(:disabled):hover { filter: brightness(0.94);
574
- }
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,52 +752,59 @@
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
  }
@@ -765,26 +816,26 @@ to {
765
816
  * host hasn't set that property. That means an untouched app looks exactly
766
817
  * as before, and a host calling setEditorTheme() re-themes this notice too,
767
818
  * without editing this file again. */
768
- .desktop-gate[data-v-f2e384b2] {
769
- --brand-primary: var(--md-primary, #4a7c59);
770
- --brand-primary-dark: var(--md-primary-hover, #3a5a40);
771
- --brand-primary-light: var(--md-primary-hover, #3a5a40);
772
- --brand-gradient-start: var(--md-primary, #4a7c59);
773
- --brand-gradient-end: var(--md-primary-hover, #3a5a40);
774
- --gate-surface: var(--md-surface, #ffffff);
775
- --gate-backdrop: var(--md-background, #f9fafb);
776
- --gate-on-primary: var(--md-on-primary, #ffffff);
777
- --gate-warning: var(--md-warning, #f59e0b);
778
- --gray-50: var(--md-background, #f9fafb);
779
- --gray-100: var(--md-surface-muted, #f3f4f6);
780
- --gray-200: var(--md-border, #e5e7eb);
781
- --gray-300: var(--md-border-strong, #d1d5db);
782
- --gray-400: var(--md-text-subtle, #9ca3af);
783
- --gray-500: var(--md-text-subtle, #6b7280);
784
- --gray-600: var(--md-text-muted, #4b5563);
785
- --gray-700: var(--md-text-muted, #374151);
786
- --gray-800: var(--md-text, #1f2937);
787
- --gray-900: var(--md-text, #111827);
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));
788
839
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
789
840
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
790
841
  --shadow-lg:
@@ -795,7 +846,7 @@ to {
795
846
  }
796
847
 
797
848
  /* ===== MAIN LAYOUT ===== */
798
- .desktop-gate[data-v-f2e384b2] {
849
+ .desktop-gate[data-v-61a8c3d0] {
799
850
  position: fixed;
800
851
  inset: 0;
801
852
  z-index: 9999;
@@ -806,7 +857,7 @@ to {
806
857
  backdrop-filter: blur(2px);
807
858
  padding: 1.5rem;
808
859
  }
809
- .gate-container[data-v-f2e384b2] {
860
+ .gate-container[data-v-61a8c3d0] {
810
861
  max-width: 520px;
811
862
  width: 100%;
812
863
  background: var(--gate-surface);
@@ -814,12 +865,12 @@ to {
814
865
  padding: 2.5rem;
815
866
  text-align: center;
816
867
  box-shadow: var(--shadow-2xl);
817
- animation: fadeInUp-f2e384b2 0.5s cubic-bezier(0.16, 1, 0.3, 1);
868
+ animation: fadeInUp-61a8c3d0 0.5s cubic-bezier(0.16, 1, 0.3, 1);
818
869
  border: 1px solid var(--gray-200);
819
870
  }
820
871
 
821
872
  /* ===== BRAND BADGE ===== */
822
- .brand-badge[data-v-f2e384b2] {
873
+ .brand-badge[data-v-61a8c3d0] {
823
874
  position: relative;
824
875
  width: 80px;
825
876
  height: 80px;
@@ -828,7 +879,7 @@ to {
828
879
  align-items: center;
829
880
  justify-content: center;
830
881
  }
831
- .badge-ring[data-v-f2e384b2] {
882
+ .badge-ring[data-v-61a8c3d0] {
832
883
  position: absolute;
833
884
  inset: 0;
834
885
  border-radius: 50%;
@@ -837,9 +888,9 @@ to {
837
888
  var(--brand-gradient-start),
838
889
  var(--brand-gradient-end)
839
890
  );
840
- animation: pulseRing-f2e384b2 2s ease-out infinite;
891
+ animation: pulseRing-61a8c3d0 2s ease-out infinite;
841
892
  }
842
- .badge-icon[data-v-f2e384b2] {
893
+ .badge-icon[data-v-61a8c3d0] {
843
894
  position: relative;
844
895
  width: 56px;
845
896
  height: 56px;
@@ -852,19 +903,19 @@ to {
852
903
  box-shadow: var(--shadow-md);
853
904
  transition: transform 0.2s ease;
854
905
  }
855
- .gate-container:hover .badge-icon[data-v-f2e384b2] {
906
+ .gate-container:hover .badge-icon[data-v-61a8c3d0] {
856
907
  transform: scale(1.02);
857
908
  }
858
909
 
859
910
  /* ===== TYPOGRAPHY ===== */
860
- .gate-title[data-v-f2e384b2] {
911
+ .gate-title[data-v-61a8c3d0] {
861
912
  font-size: 1.875rem;
862
913
  font-weight: 700;
863
914
  letter-spacing: -0.02em;
864
915
  margin: 0 0 1rem 0;
865
916
  color: var(--gray-900);
866
917
  }
867
- .brand-gradient[data-v-f2e384b2] {
918
+ .brand-gradient[data-v-61a8c3d0] {
868
919
  background: linear-gradient(
869
920
  135deg,
870
921
  var(--brand-gradient-start),
@@ -874,7 +925,7 @@ to {
874
925
  -webkit-background-clip: text;
875
926
  color: transparent;
876
927
  }
877
- .gate-description[data-v-f2e384b2] {
928
+ .gate-description[data-v-61a8c3d0] {
878
929
  font-size: 1rem;
879
930
  line-height: 1.5;
880
931
  color: var(--gray-600);
@@ -882,7 +933,7 @@ to {
882
933
  }
883
934
 
884
935
  /* ===== FEATURE GRID ===== */
885
- .feature-grid[data-v-f2e384b2] {
936
+ .feature-grid[data-v-61a8c3d0] {
886
937
  display: flex;
887
938
  justify-content: center;
888
939
  gap: 2rem;
@@ -891,7 +942,7 @@ to {
891
942
  border-top: 1px solid var(--gray-200);
892
943
  border-bottom: 1px solid var(--gray-200);
893
944
  }
894
- .feature-item[data-v-f2e384b2] {
945
+ .feature-item[data-v-61a8c3d0] {
895
946
  display: flex;
896
947
  flex-direction: column;
897
948
  align-items: center;
@@ -900,7 +951,7 @@ to {
900
951
  font-weight: 500;
901
952
  color: var(--gray-700);
902
953
  }
903
- .feature-icon[data-v-f2e384b2] {
954
+ .feature-icon[data-v-61a8c3d0] {
904
955
  width: 36px;
905
956
  height: 36px;
906
957
  background: var(--gray-100);
@@ -911,14 +962,14 @@ to {
911
962
  color: var(--brand-primary);
912
963
  transition: all 0.2s ease;
913
964
  }
914
- .feature-item:hover .feature-icon[data-v-f2e384b2] {
965
+ .feature-item:hover .feature-icon[data-v-61a8c3d0] {
915
966
  background: var(--brand-primary);
916
967
  color: var(--gate-on-primary);
917
968
  transform: translateY(-2px);
918
969
  }
919
970
 
920
971
  /* ===== STATUS ===== */
921
- .detection-status[data-v-f2e384b2] {
972
+ .detection-status[data-v-61a8c3d0] {
922
973
  display: inline-flex;
923
974
  align-items: center;
924
975
  gap: 0.5rem;
@@ -929,16 +980,16 @@ to {
929
980
  font-weight: 500;
930
981
  color: var(--gray-600);
931
982
  }
932
- .status-dot[data-v-f2e384b2] {
983
+ .status-dot[data-v-61a8c3d0] {
933
984
  width: 8px;
934
985
  height: 8px;
935
986
  background: var(--gate-warning);
936
987
  border-radius: 50%;
937
- animation: pulse-f2e384b2 1.5s ease-out infinite;
988
+ animation: pulse-61a8c3d0 1.5s ease-out infinite;
938
989
  }
939
990
 
940
991
  /* ===== FOOTER ===== */
941
- .gate-footer[data-v-f2e384b2] {
992
+ .gate-footer[data-v-61a8c3d0] {
942
993
  margin-top: 2rem;
943
994
  padding-top: 1.5rem;
944
995
  display: flex;
@@ -948,7 +999,7 @@ to {
948
999
  font-size: 0.75rem;
949
1000
  color: var(--gray-400);
950
1001
  }
951
- .brand-text[data-v-f2e384b2] {
1002
+ .brand-text[data-v-61a8c3d0] {
952
1003
  font-weight: 600;
953
1004
  background: linear-gradient(
954
1005
  135deg,
@@ -961,7 +1012,7 @@ to {
961
1012
  }
962
1013
 
963
1014
  /* ===== ANIMATIONS ===== */
964
- @keyframes fadeInUp-f2e384b2 {
1015
+ @keyframes fadeInUp-61a8c3d0 {
965
1016
  from {
966
1017
  opacity: 0;
967
1018
  transform: translateY(20px);
@@ -971,7 +1022,7 @@ to {
971
1022
  transform: translateY(0);
972
1023
  }
973
1024
  }
974
- @keyframes pulseRing-f2e384b2 {
1025
+ @keyframes pulseRing-61a8c3d0 {
975
1026
  0% {
976
1027
  opacity: 1;
977
1028
  transform: scale(0.95);
@@ -985,7 +1036,7 @@ to {
985
1036
  transform: scale(1.25);
986
1037
  }
987
1038
  }
988
- @keyframes pulse-f2e384b2 {
1039
+ @keyframes pulse-61a8c3d0 {
989
1040
  0%,
990
1041
  100% {
991
1042
  opacity: 1;
@@ -997,18 +1048,18 @@ to {
997
1048
 
998
1049
  /* ===== RESPONSIVE TOUCH-UPS ===== */
999
1050
  @media (max-width: 480px) {
1000
- .gate-container[data-v-f2e384b2] {
1051
+ .gate-container[data-v-61a8c3d0] {
1001
1052
  padding: 2rem 1.5rem;
1002
1053
  }
1003
- .gate-title[data-v-f2e384b2] {
1054
+ .gate-title[data-v-61a8c3d0] {
1004
1055
  font-size: 1.5rem;
1005
1056
  }
1006
- .feature-grid[data-v-f2e384b2] {
1057
+ .feature-grid[data-v-61a8c3d0] {
1007
1058
  gap: 1.25rem;
1008
1059
  }
1009
1060
  }
1010
1061
 
1011
- .row-drop-bar[data-v-601d4b22] {
1062
+ .row-drop-bar[data-v-af80b875] {
1012
1063
  position: absolute;
1013
1064
  left: 0;
1014
1065
  right: 0;
@@ -1022,13 +1073,13 @@ to {
1022
1073
  z-index: 20;
1023
1074
  pointer-events: none;
1024
1075
  }
1025
- .row-drop-bar--before[data-v-601d4b22] {
1076
+ .row-drop-bar--before[data-v-af80b875] {
1026
1077
  top: -14px;
1027
1078
  }
1028
- .row-drop-bar--after[data-v-601d4b22] {
1079
+ .row-drop-bar--after[data-v-af80b875] {
1029
1080
  bottom: -14px;
1030
1081
  }
1031
- .row-drop-bar-line[data-v-601d4b22] {
1082
+ .row-drop-bar-line[data-v-af80b875] {
1032
1083
  flex: 1;
1033
1084
  height: 2px;
1034
1085
  background: color-mix(in srgb, var(--drop-color) 50%, transparent);
@@ -1046,7 +1097,7 @@ to {
1046
1097
  opacity: 1;
1047
1098
  }
1048
1099
  } */
1049
- .row-drop-bar-label[data-v-601d4b22] {
1100
+ .row-drop-bar-label[data-v-af80b875] {
1050
1101
  display: flex;
1051
1102
  align-items: center;
1052
1103
  gap: 6px;
@@ -1071,7 +1122,7 @@ to {
1071
1122
  opacity: 1;
1072
1123
  }
1073
1124
  } */
1074
- .row-drop-bar-icon[data-v-601d4b22] {
1125
+ .row-drop-bar-icon[data-v-af80b875] {
1075
1126
  width: 12px;
1076
1127
  height: 12px;
1077
1128
  flex-shrink: 0;
@@ -1097,12 +1148,12 @@ to {
1097
1148
  }
1098
1149
  } */
1099
1150
 
1100
- .fade-enter-active[data-v-7f93ba61],
1101
- .fade-leave-active[data-v-7f93ba61] {
1151
+ .fade-enter-active[data-v-34a528c9],
1152
+ .fade-leave-active[data-v-34a528c9] {
1102
1153
  transition: opacity 0.1s ease;
1103
1154
  }
1104
- .fade-enter-from[data-v-7f93ba61],
1105
- .fade-leave-to[data-v-7f93ba61] {
1155
+ .fade-enter-from[data-v-34a528c9],
1156
+ .fade-leave-to[data-v-34a528c9] {
1106
1157
  opacity: 0;
1107
1158
  }
1108
1159
 
@@ -1124,16 +1175,16 @@ to {
1124
1175
  * child is capped within this column's own stacking context and can never
1125
1176
  * exceed a sibling row painted at z-index: 0 in normal flow.
1126
1177
  */
1127
- .canvas-column[data-v-7f93ba61] {
1178
+ .canvas-column[data-v-34a528c9] {
1128
1179
  position: relative;
1129
1180
  z-index: 1;
1130
1181
  }
1131
- .canvas-column.has-selected-child[data-v-7f93ba61] {
1182
+ .canvas-column.has-selected-child[data-v-34a528c9] {
1132
1183
  z-index: auto;
1133
1184
  }
1134
1185
 
1135
1186
  /* ── Base zone ─────────────────────────────────────────────── */
1136
- .canvas-drop-zone[data-v-cc281ed8] {
1187
+ .canvas-drop-zone[data-v-4336edcf] {
1137
1188
  position: relative;
1138
1189
  height: 0;
1139
1190
  margin: 0;
@@ -1143,18 +1194,18 @@ to {
1143
1194
  }
1144
1195
 
1145
1196
  /* Full expansion on hover */
1146
- .canvas-drop-zone--active[data-v-cc281ed8] {
1197
+ .canvas-drop-zone--active[data-v-4336edcf] {
1147
1198
  height: 52px;
1148
1199
  }
1149
1200
 
1150
1201
  /* Empty-canvas variant — fills the whole empty area */
1151
- .canvas-drop-zone--empty[data-v-cc281ed8] {
1202
+ .canvas-drop-zone--empty[data-v-4336edcf] {
1152
1203
  height: 100%;
1153
1204
  min-height: 200px;
1154
1205
  }
1155
1206
 
1156
1207
  /* Full height variant - takes up entire parent container */
1157
- .canvas-drop-zone--full[data-v-cc281ed8] {
1208
+ .canvas-drop-zone--full[data-v-4336edcf] {
1158
1209
  position: absolute;
1159
1210
  top: 0;
1160
1211
  left: 0;
@@ -1163,14 +1214,14 @@ to {
1163
1214
  height: auto;
1164
1215
  min-height: 100%;
1165
1216
  }
1166
- .canvas-drop-zone--empty .cdz-bar[data-v-cc281ed8] {
1217
+ .canvas-drop-zone--empty .cdz-bar[data-v-4336edcf] {
1167
1218
  inset: 12px;
1168
1219
  justify-content: center;
1169
1220
  border-radius: 12px;
1170
1221
  }
1171
1222
 
1172
1223
  /* ── Empty state styles (when fullHeight is true) ── */
1173
- .cdz-empty-state[data-v-cc281ed8] {
1224
+ .cdz-empty-state[data-v-4336edcf] {
1174
1225
  position: absolute;
1175
1226
  inset: 0;
1176
1227
  display: flex;
@@ -1182,14 +1233,15 @@ to {
1182
1233
  color-mix(in srgb, var(--md-row-selection) 4%, var(--md-surface)) 0%,
1183
1234
  color-mix(in srgb, var(--md-row-selection) 8%, var(--md-surface)) 100%
1184
1235
  );
1185
- 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));
1186
1238
  border-radius: 6px;
1187
1239
  transition: all 0.2s ease;
1188
1240
  }
1189
- .canvas-drop-zone--full .cdz-empty-state[data-v-cc281ed8] {
1190
- 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;
1191
1243
  }
1192
- @keyframes fade-in-cc281ed8 {
1244
+ @keyframes fade-in-4336edcf {
1193
1245
  from {
1194
1246
  opacity: 0;
1195
1247
  transform: scale(0.98);
@@ -1199,25 +1251,25 @@ to {
1199
1251
  transform: scale(1);
1200
1252
  }
1201
1253
  }
1202
- .cdz-empty-content[data-v-cc281ed8] {
1254
+ .cdz-empty-content[data-v-4336edcf] {
1203
1255
  text-align: center;
1204
1256
  padding: 2rem;
1205
1257
  }
1206
- .cdz-empty-icon[data-v-cc281ed8] {
1258
+ .cdz-empty-icon[data-v-4336edcf] {
1207
1259
  width: 48px;
1208
1260
  height: 48px;
1209
1261
  margin: 0 auto 12px;
1210
1262
  color: var(--md-text-subtle);
1211
1263
  stroke-width: 1.5;
1212
1264
  }
1213
- .cdz-empty-title[data-v-cc281ed8] {
1265
+ .cdz-empty-title[data-v-4336edcf] {
1214
1266
  font-size: 1.125rem;
1215
1267
  font-weight: 500;
1216
1268
  color: var(--md-selection-fg);
1217
1269
  margin-bottom: 8px;
1218
1270
  letter-spacing: -0.01em;
1219
1271
  }
1220
- .cdz-empty-subtitle[data-v-cc281ed8] {
1272
+ .cdz-empty-subtitle[data-v-4336edcf] {
1221
1273
  font-size: 0.875rem;
1222
1274
  color: var(--md-text-subtle);
1223
1275
  line-height: 1.4;
@@ -1239,7 +1291,7 @@ to {
1239
1291
  * height covers the hit area naturally, so bleed here is not needed for the
1240
1292
  * "snap into a big target" UX — that comes from the zone's own expanded size.
1241
1293
  */
1242
- .cdz-hit-area[data-v-cc281ed8] {
1294
+ .cdz-hit-area[data-v-4336edcf] {
1243
1295
  position: absolute;
1244
1296
  left: 0;
1245
1297
  right: 0;
@@ -1249,19 +1301,19 @@ to {
1249
1301
  /* Only catchable during a layout drag; invisible + inert otherwise */
1250
1302
  pointer-events: none;
1251
1303
  }
1252
- .canvas-drop-zone--receptive .cdz-hit-area[data-v-cc281ed8] {
1304
+ .canvas-drop-zone--receptive .cdz-hit-area[data-v-4336edcf] {
1253
1305
  pointer-events: all;
1254
1306
  }
1255
1307
 
1256
1308
  /* Hide empty state when dragging */
1257
- .canvas-drop-zone--full.canvas-drop-zone--receptive .cdz-empty-state[data-v-cc281ed8],
1258
- .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] {
1259
1311
  opacity: 0.5;
1260
1312
  background: color-mix(in srgb, var(--md-row-selection) 4%, transparent);
1261
1313
  }
1262
1314
 
1263
1315
  /* ── Ghost line (receptive but not hovered) ─────────────────── */
1264
- .cdz-ghost-line[data-v-cc281ed8] {
1316
+ .cdz-ghost-line[data-v-4336edcf] {
1265
1317
  position: absolute;
1266
1318
  left: 0;
1267
1319
  right: 0;
@@ -1277,17 +1329,20 @@ to {
1277
1329
  );
1278
1330
  border-radius: 2px;
1279
1331
  pointer-events: none;
1280
- animation: ghost-pulse-cc281ed8 2s ease-in-out infinite;
1332
+ animation: ghost-pulse-4336edcf 2s ease-in-out infinite;
1281
1333
  }
1282
- @keyframes ghost-pulse-cc281ed8 {
1283
- 0%, 100% { opacity: 0.5;
1334
+ @keyframes ghost-pulse-4336edcf {
1335
+ 0%,
1336
+ 100% {
1337
+ opacity: 0.5;
1284
1338
  }
1285
- 50% { opacity: 1;
1339
+ 50% {
1340
+ opacity: 1;
1286
1341
  }
1287
1342
  }
1288
1343
 
1289
1344
  /* ── Active bar ─────────────────────────────────────────────── */
1290
- .cdz-bar[data-v-cc281ed8] {
1345
+ .cdz-bar[data-v-4336edcf] {
1291
1346
  position: absolute;
1292
1347
  inset: 4px 0;
1293
1348
  display: flex;
@@ -1296,10 +1351,11 @@ to {
1296
1351
  padding: 0 20px;
1297
1352
  background: color-mix(in srgb, var(--md-row-selection) 6%, transparent);
1298
1353
  border-radius: 8px;
1299
- 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);
1300
1356
  pointer-events: none; /* let drag events fall through to the parent drop zone */
1301
1357
  }
1302
- .cdz-line[data-v-cc281ed8] {
1358
+ .cdz-line[data-v-4336edcf] {
1303
1359
  flex: 1;
1304
1360
  height: 2px;
1305
1361
  background: linear-gradient(
@@ -1311,16 +1367,20 @@ to {
1311
1367
  transparent
1312
1368
  );
1313
1369
  border-radius: 2px;
1314
- animation: line-expand-cc281ed8 0.2s ease forwards;
1370
+ animation: line-expand-4336edcf 0.2s ease forwards;
1315
1371
  transform-origin: center;
1316
1372
  }
1317
- @keyframes line-expand-cc281ed8 {
1318
- from { transform: scaleX(0); opacity: 0;
1373
+ @keyframes line-expand-4336edcf {
1374
+ from {
1375
+ transform: scaleX(0);
1376
+ opacity: 0;
1319
1377
  }
1320
- to { transform: scaleX(1); opacity: 1;
1378
+ to {
1379
+ transform: scaleX(1);
1380
+ opacity: 1;
1321
1381
  }
1322
1382
  }
1323
- .cdz-pill[data-v-cc281ed8] {
1383
+ .cdz-pill[data-v-4336edcf] {
1324
1384
  display: flex;
1325
1385
  align-items: center;
1326
1386
  gap: 5px;
@@ -1331,58 +1391,75 @@ to { transform: scaleX(1); opacity: 1;
1331
1391
  white-space: nowrap;
1332
1392
  padding: 5px 14px;
1333
1393
  background: color-mix(in srgb, var(--md-row-selection) 8%, transparent);
1334
- 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);
1335
1396
  border-radius: 100px;
1336
- box-shadow: 0 2px 8px color-mix(in srgb, var(--md-row-selection) 15%, transparent);
1337
- 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;
1338
1400
  }
1339
- @keyframes pill-pop-cc281ed8 {
1340
- from { transform: scale(0.75); opacity: 0;
1401
+ @keyframes pill-pop-4336edcf {
1402
+ from {
1403
+ transform: scale(0.75);
1404
+ opacity: 0;
1341
1405
  }
1342
- to { transform: scale(1); opacity: 1;
1406
+ to {
1407
+ transform: scale(1);
1408
+ opacity: 1;
1343
1409
  }
1344
1410
  }
1345
- .cdz-icon[data-v-cc281ed8] {
1411
+ .cdz-icon[data-v-4336edcf] {
1346
1412
  width: 13px;
1347
1413
  height: 13px;
1348
1414
  flex-shrink: 0;
1349
1415
  }
1350
1416
 
1351
1417
  /* ── Transition ─────────────────────────────────────────────── */
1352
- .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;
1353
1420
  }
1354
- .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;
1355
1423
  }
1356
- .cdz-bar-leave-to[data-v-cc281ed8] { opacity: 0;
1424
+ .cdz-bar-leave-to[data-v-4336edcf] {
1425
+ opacity: 0;
1357
1426
  }
1358
- @keyframes cdz-in-cc281ed8 {
1359
- from { opacity: 0; transform: scaleY(0.6);
1427
+ @keyframes cdz-in-4336edcf {
1428
+ from {
1429
+ opacity: 0;
1430
+ transform: scaleY(0.6);
1360
1431
  }
1361
- to { opacity: 1; transform: scaleY(1);
1432
+ to {
1433
+ opacity: 1;
1434
+ transform: scaleY(1);
1362
1435
  }
1363
1436
  }
1364
1437
 
1365
- .drop-line-enter-active[data-v-8ae7a24f] {
1366
- 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;
1367
1442
  }
1368
- .drop-line-leave-active[data-v-8ae7a24f] {
1369
- 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;
1370
1447
  }
1371
- .drop-line-enter-from[data-v-8ae7a24f],
1372
- .drop-line-leave-to[data-v-8ae7a24f] {
1448
+ .drop-line-enter-from[data-v-64196026],
1449
+ .drop-line-leave-to[data-v-64196026] {
1373
1450
  opacity: 0;
1374
1451
  transform: scaleX(0.6);
1375
1452
  transform-origin: left center;
1376
1453
  }
1377
1454
 
1378
- .slide-enter-active[data-v-ce5a848e],
1379
- .slide-leave-active[data-v-ce5a848e] {
1455
+ .slide-enter-active[data-v-f59051f0],
1456
+ .slide-leave-active[data-v-f59051f0] {
1380
1457
  transition: all 0.2s ease;
1381
1458
  max-height: 500px;
1382
1459
  overflow: hidden;
1383
1460
  }
1384
- .slide-enter-from[data-v-ce5a848e],
1385
- .slide-leave-to[data-v-ce5a848e] {
1461
+ .slide-enter-from[data-v-f59051f0],
1462
+ .slide-leave-to[data-v-f59051f0] {
1386
1463
  opacity: 0;
1387
1464
  max-height: 0;
1388
1465
  transform: translateY(-10px);
@@ -1391,7 +1468,7 @@ to { opacity: 1; transform: scaleY(1);
1391
1468
  /* ============================================================
1392
1469
  md-dropdown – suggestion list
1393
1470
  ============================================================ */
1394
- .md-dropdown[data-v-3cd230e0] {
1471
+ .md-dropdown[data-v-594adf85] {
1395
1472
  position: absolute;
1396
1473
  top: 100%;
1397
1474
  left: 0;
@@ -1405,16 +1482,16 @@ to { opacity: 1; transform: scaleY(1);
1405
1482
  max-height: 12rem;
1406
1483
  overflow-y: auto;
1407
1484
  }
1408
- .md-dropdown-item[data-v-3cd230e0] {
1485
+ .md-dropdown-item[data-v-594adf85] {
1409
1486
  padding: 0.5rem 0.75rem;
1410
1487
  cursor: pointer;
1411
1488
  color: var(--md-text);
1412
1489
  transition: background 0.1s;
1413
1490
  }
1414
- .md-dropdown-item[data-v-3cd230e0]:hover {
1491
+ .md-dropdown-item[data-v-594adf85]:hover {
1415
1492
  background: var(--md-surface-hover);
1416
1493
  }
1417
- .md-dropdown-item--active[data-v-3cd230e0] {
1494
+ .md-dropdown-item--active[data-v-594adf85] {
1418
1495
  background: var(--md-primary);
1419
1496
  color: var(--md-on-primary);
1420
1497
  }
@@ -1422,18 +1499,18 @@ to { opacity: 1; transform: scaleY(1);
1422
1499
  /* ============================================================
1423
1500
  md-tag – selected tag pills
1424
1501
  ============================================================ */
1425
- .md-tag[data-v-3cd230e0] {
1502
+ .md-tag[data-v-594adf85] {
1426
1503
  display: inline-flex;
1427
1504
  align-items: center;
1428
- padding: 0.125rem 0.75rem;
1505
+ padding: 0.125rem 0.75rem;
1429
1506
  border-radius: 9999px;
1430
- font-size: 0.875rem;
1507
+ font-size: 0.875rem;
1431
1508
  font-weight: 500;
1432
1509
  background: var(--md-primary);
1433
1510
  color: var(--md-on-primary);
1434
1511
  line-height: 1.5;
1435
1512
  }
1436
- .md-tag-remove[data-v-3cd230e0] {
1513
+ .md-tag-remove[data-v-594adf85] {
1437
1514
  margin-left: 0.5rem;
1438
1515
  display: inline-flex;
1439
1516
  align-items: center;
@@ -1450,11 +1527,11 @@ to { opacity: 1; transform: scaleY(1);
1450
1527
  color 0.15s;
1451
1528
  padding: 0;
1452
1529
  }
1453
- .md-tag-remove[data-v-3cd230e0]:hover {
1530
+ .md-tag-remove[data-v-594adf85]:hover {
1454
1531
  background: color-mix(in srgb, var(--md-on-primary) 20%, transparent);
1455
1532
  color: var(--md-on-primary);
1456
1533
  }
1457
- .md-tag-remove svg[data-v-3cd230e0] {
1534
+ .md-tag-remove svg[data-v-594adf85] {
1458
1535
  width: 100%;
1459
1536
  height: 100%;
1460
1537
  }
@@ -1462,207 +1539,297 @@ to { opacity: 1; transform: scaleY(1);
1462
1539
  /* ============================================================
1463
1540
  Scrollbar styling for dropdown (optional, keeps it clean)
1464
1541
  ============================================================ */
1465
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar {
1542
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar {
1466
1543
  width: 4px;
1467
1544
  }
1468
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-track {
1545
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-track {
1469
1546
  background: transparent;
1470
1547
  }
1471
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb {
1548
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-thumb {
1472
1549
  background: var(--md-border);
1473
1550
  border-radius: 8px;
1474
1551
  }
1475
- .md-dropdown[data-v-3cd230e0]::-webkit-scrollbar-thumb:hover {
1552
+ .md-dropdown[data-v-594adf85]::-webkit-scrollbar-thumb:hover {
1476
1553
  background: var(--md-text-subtle);
1477
1554
  }
1478
1555
 
1479
- .overflow-x-auto[data-v-22183f86] {
1556
+ .overflow-x-auto[data-v-c0831ad7] {
1480
1557
  max-width: 100%;
1481
1558
  -webkit-overflow-scrolling: touch;
1482
1559
  }
1483
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar {
1560
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar {
1484
1561
  height: 6px;
1485
1562
  }
1486
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-track {
1563
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-track {
1487
1564
  background: var(--md-surface-muted);
1488
1565
  border-radius: 4px;
1489
1566
  }
1490
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb {
1567
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-thumb {
1491
1568
  background: var(--md-border-strong);
1492
1569
  border-radius: 4px;
1493
1570
  }
1494
- .overflow-x-auto[data-v-22183f86]::-webkit-scrollbar-thumb:hover {
1571
+ .overflow-x-auto[data-v-c0831ad7]::-webkit-scrollbar-thumb:hover {
1495
1572
  background: var(--md-text-subtle);
1496
1573
  }
1497
1574
 
1498
- .overflow-x-auto[data-v-f8677731] {
1575
+ .overflow-x-auto[data-v-9a9be6d5] {
1499
1576
  max-width: 100%;
1500
1577
  -webkit-overflow-scrolling: touch;
1501
1578
  }
1502
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar {
1579
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar {
1503
1580
  height: 6px;
1504
1581
  }
1505
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-track {
1582
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-track {
1506
1583
  background: var(--md-surface-muted);
1507
1584
  border-radius: 4px;
1508
1585
  }
1509
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb {
1586
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-thumb {
1510
1587
  background: var(--md-border-strong);
1511
1588
  border-radius: 4px;
1512
1589
  }
1513
- .overflow-x-auto[data-v-f8677731]::-webkit-scrollbar-thumb:hover {
1590
+ .overflow-x-auto[data-v-9a9be6d5]::-webkit-scrollbar-thumb:hover {
1514
1591
  background: var(--md-text-subtle);
1515
1592
  }
1516
1593
 
1517
- .panel-slide-enter-active[data-v-3185c8c2],
1518
- .panel-slide-leave-active[data-v-3185c8c2] {
1594
+ .panel-slide-enter-active[data-v-2d4ec1d1],
1595
+ .panel-slide-leave-active[data-v-2d4ec1d1] {
1519
1596
  transition:
1520
1597
  opacity 0.18s ease,
1521
1598
  transform 0.18s ease;
1522
1599
  }
1523
- .panel-slide-enter-from[data-v-3185c8c2],
1524
- .panel-slide-leave-to[data-v-3185c8c2] {
1600
+ .panel-slide-enter-from[data-v-2d4ec1d1],
1601
+ .panel-slide-leave-to[data-v-2d4ec1d1] {
1525
1602
  opacity: 0;
1526
1603
  transform: translateX(-10px);
1527
1604
  }
1528
1605
 
1529
1606
  /* Filter pill fade */
1530
- .fade-enter-active[data-v-3185c8c2],
1531
- .fade-leave-active[data-v-3185c8c2] {
1607
+ .fade-enter-active[data-v-2d4ec1d1],
1608
+ .fade-leave-active[data-v-2d4ec1d1] {
1532
1609
  transition:
1533
1610
  opacity 0.15s ease,
1534
1611
  transform 0.15s ease;
1535
1612
  }
1536
- .fade-enter-from[data-v-3185c8c2],
1537
- .fade-leave-to[data-v-3185c8c2] {
1613
+ .fade-enter-from[data-v-2d4ec1d1],
1614
+ .fade-leave-to[data-v-2d4ec1d1] {
1538
1615
  opacity: 0;
1539
1616
  transform: translateY(-4px);
1540
1617
  }
1541
1618
 
1542
1619
  /* Smooth row list reorder/filter transitions */
1543
- .row-list-enter-active[data-v-3185c8c2],
1544
- .row-list-leave-active[data-v-3185c8c2] {
1620
+ .row-list-enter-active[data-v-2d4ec1d1],
1621
+ .row-list-leave-active[data-v-2d4ec1d1] {
1545
1622
  transition:
1546
1623
  opacity 0.2s ease,
1547
1624
  transform 0.2s ease;
1548
1625
  }
1549
- .row-list-enter-from[data-v-3185c8c2],
1550
- .row-list-leave-to[data-v-3185c8c2] {
1626
+ .row-list-enter-from[data-v-2d4ec1d1],
1627
+ .row-list-leave-to[data-v-2d4ec1d1] {
1551
1628
  opacity: 0;
1552
1629
  transform: translateY(6px);
1553
1630
  }
1554
- .row-list-move[data-v-3185c8c2] {
1631
+ .row-list-move[data-v-2d4ec1d1] {
1555
1632
  transition: transform 0.2s ease;
1556
1633
  }
1557
1634
 
1558
1635
  /* Scrollbar — thin, unobtrusive */
1559
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar {
1636
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar {
1560
1637
  width: 6px;
1561
1638
  }
1562
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-track {
1639
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-track {
1563
1640
  background: transparent;
1564
1641
  }
1565
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb {
1642
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-thumb {
1566
1643
  background: var(--md-border-strong);
1567
1644
  border-radius: 9999px;
1568
1645
  }
1569
- .overflow-y-auto[data-v-3185c8c2]::-webkit-scrollbar-thumb:hover {
1646
+ .overflow-y-auto[data-v-2d4ec1d1]::-webkit-scrollbar-thumb:hover {
1570
1647
  background: var(--md-text-subtle);
1571
1648
  }
1572
1649
 
1573
- .panel-slide-enter-active[data-v-3ec392a9],
1574
- .panel-slide-leave-active[data-v-3ec392a9] {
1650
+ .panel-slide-enter-active[data-v-14ec1c1c],
1651
+ .panel-slide-leave-active[data-v-14ec1c1c] {
1575
1652
  transition:
1576
1653
  opacity 0.18s ease,
1577
1654
  transform 0.18s ease;
1578
1655
  }
1579
- .panel-slide-enter-from[data-v-3ec392a9],
1580
- .panel-slide-leave-to[data-v-3ec392a9] {
1656
+ .panel-slide-enter-from[data-v-14ec1c1c],
1657
+ .panel-slide-leave-to[data-v-14ec1c1c] {
1581
1658
  opacity: 0;
1582
1659
  transform: translateX(-10px);
1583
1660
  }
1584
- .row-list-enter-active[data-v-3ec392a9],
1585
- .row-list-leave-active[data-v-3ec392a9] {
1661
+ .row-list-enter-active[data-v-14ec1c1c],
1662
+ .row-list-leave-active[data-v-14ec1c1c] {
1586
1663
  transition:
1587
1664
  opacity 0.2s ease,
1588
1665
  transform 0.2s ease;
1589
1666
  }
1590
- .row-list-enter-from[data-v-3ec392a9],
1591
- .row-list-leave-to[data-v-3ec392a9] {
1667
+ .row-list-enter-from[data-v-14ec1c1c],
1668
+ .row-list-leave-to[data-v-14ec1c1c] {
1592
1669
  opacity: 0;
1593
1670
  transform: translateY(6px);
1594
1671
  }
1595
- .row-list-move[data-v-3ec392a9] {
1672
+ .row-list-move[data-v-14ec1c1c] {
1596
1673
  transition: transform 0.2s ease;
1597
1674
  }
1598
1675
 
1599
1676
  /* Scrollbar — thin, unobtrusive. Matches SavedRowsPanel. */
1600
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar { width: 6px;
1677
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar {
1678
+ width: 6px;
1601
1679
  }
1602
- .overflow-y-auto[data-v-3ec392a9]::-webkit-scrollbar-track { background: transparent;
1680
+ .overflow-y-auto[data-v-14ec1c1c]::-webkit-scrollbar-track {
1681
+ background: transparent;
1603
1682
  }
1604
- .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;
1605
1686
  }
1606
- .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);
1607
1689
  }
1608
1690
 
1609
- .md-toast__region[data-v-7583ad77] {
1610
- position: fixed;
1611
- top: 1rem;
1612
- right: 1rem;
1613
- z-index: 9999;
1614
- display: flex;
1615
- flex-direction: column;
1616
- 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;
1617
1740
  pointer-events: none;
1618
1741
  }
1619
- .md-toast[data-v-7583ad77] {
1620
- pointer-events: auto;
1621
- display: flex;
1622
- align-items: flex-start;
1623
- gap: 0.625rem;
1624
- min-width: 280px;
1625
- max-width: 380px;
1626
- padding: 0.75rem 0.875rem;
1627
- font-size: 13px;
1628
- border: 1px solid;
1629
- 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;
1630
1753
  box-shadow: 0 8px 30px rgb(0 0 0 / 0.12);
1631
1754
  }
1632
- .md-toast__icon[data-v-7583ad77] { font-size: 15px; flex-shrink: 0; margin-top: 0.0625rem;
1633
- }
1634
- .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;
1635
1759
  }
1636
- .md-toast__summary[data-v-7583ad77] { font-weight: 500;
1760
+ .md-toast__body[data-v-554d8b1c] {
1761
+ flex: 1;
1762
+ min-width: 0;
1637
1763
  }
1638
- .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;
1639
1766
  }
1640
- .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;
1641
1771
  }
1642
- .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;
1643
1779
  }
1644
- .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;
1645
1782
  }
1646
- .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);
1647
1787
  }
1648
- .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);
1649
1792
  }
1650
- .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);
1651
1797
  }
1652
- .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);
1653
1802
  }
1654
- .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;
1655
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
+ }
1656
1812
 
1657
- .md-confirm__body[data-v-43b7e283] { display: flex; align-items: flex-start; gap: 0.75rem;
1658
- }
1659
- .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;
1660
1817
  }
1661
- .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;
1662
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
+ }
1663
1830
 
1664
1831
  /* ── Orb ──────────────────────────────────────────────────────────────────── */
1665
- .health-orb[data-v-0521087e] {
1832
+ .health-orb[data-v-c8efa0e7] {
1666
1833
  position: relative;
1667
1834
  display: flex;
1668
1835
  align-items: center;
@@ -1677,74 +1844,88 @@ to { opacity: 1; transform: scaleY(1);
1677
1844
  outline: none;
1678
1845
  flex-shrink: 0;
1679
1846
  }
1680
- .health-orb:focus-visible .orb-core[data-v-0521087e] {
1847
+ .health-orb:focus-visible .orb-core[data-v-c8efa0e7] {
1681
1848
  box-shadow: 0 0 0 3px rgba(66, 56, 158, 0.4);
1682
1849
  }
1683
1850
 
1684
1851
  /* Pulse rings */
1685
- .orb-ring[data-v-0521087e] {
1852
+ .orb-ring[data-v-c8efa0e7] {
1686
1853
  position: absolute;
1687
1854
  border-radius: 50%;
1688
- animation: orb-pulse-0521087e 2.4s ease-out infinite;
1855
+ animation: orb-pulse-c8efa0e7 2.4s ease-out infinite;
1689
1856
  }
1690
- .orb-ring--outer[data-v-0521087e] {
1857
+ .orb-ring--outer[data-v-c8efa0e7] {
1691
1858
  width: 22px;
1692
1859
  height: 22px;
1693
1860
  animation-delay: 0s;
1694
1861
  }
1695
- .orb-ring--inner[data-v-0521087e] {
1862
+ .orb-ring--inner[data-v-c8efa0e7] {
1696
1863
  width: 16px;
1697
1864
  height: 16px;
1698
1865
  animation-delay: 0.6s;
1699
1866
  }
1700
1867
 
1701
1868
  /* Core */
1702
- .orb-core[data-v-0521087e] {
1869
+ .orb-core[data-v-c8efa0e7] {
1703
1870
  position: relative;
1704
1871
  width: 10px;
1705
1872
  height: 10px;
1706
1873
  border-radius: 50%;
1707
- transition: transform 0.15s ease, box-shadow 0.15s ease;
1874
+ transition:
1875
+ transform 0.15s ease,
1876
+ box-shadow 0.15s ease;
1708
1877
  z-index: 1;
1709
1878
  }
1710
- .health-orb:hover .orb-core[data-v-0521087e],
1711
- .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] {
1712
1881
  transform: scale(1.15);
1713
1882
  }
1714
1883
 
1715
1884
  /* ── Status colours with brand accent ───────────────────────────────────────── */
1716
- .health-orb--good .orb-ring[data-v-0521087e] {
1885
+ .health-orb--good .orb-ring[data-v-c8efa0e7] {
1717
1886
  background: rgba(34, 197, 94, 0.25);
1718
1887
  }
1719
- .health-orb--good .orb-core[data-v-0521087e] {
1888
+ .health-orb--good .orb-core[data-v-c8efa0e7] {
1720
1889
  background: #22c55e;
1721
- 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);
1722
1893
  }
1723
- .health-orb--warn .orb-ring[data-v-0521087e] {
1894
+ .health-orb--warn .orb-ring[data-v-c8efa0e7] {
1724
1895
  background: rgba(245, 158, 11, 0.28);
1725
1896
  }
1726
- .health-orb--warn .orb-core[data-v-0521087e] {
1897
+ .health-orb--warn .orb-core[data-v-c8efa0e7] {
1727
1898
  background: #f59e0b;
1728
- 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);
1729
1902
  }
1730
- .health-orb--bad .orb-ring[data-v-0521087e] {
1903
+ .health-orb--bad .orb-ring[data-v-c8efa0e7] {
1731
1904
  background: rgba(239, 68, 68, 0.28);
1732
1905
  }
1733
- .health-orb--bad .orb-core[data-v-0521087e] {
1906
+ .health-orb--bad .orb-core[data-v-c8efa0e7] {
1734
1907
  background: #ef4444;
1735
- 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);
1736
1911
  }
1737
- @keyframes orb-pulse-0521087e {
1738
- 0% { transform: scale(0.6); opacity: 0.7;
1912
+ @keyframes orb-pulse-c8efa0e7 {
1913
+ 0% {
1914
+ transform: scale(0.6);
1915
+ opacity: 0.7;
1739
1916
  }
1740
- 60% { transform: scale(1.6); opacity: 0;
1917
+ 60% {
1918
+ transform: scale(1.6);
1919
+ opacity: 0;
1741
1920
  }
1742
- 100% { transform: scale(1.6); opacity: 0;
1921
+ 100% {
1922
+ transform: scale(1.6);
1923
+ opacity: 0;
1743
1924
  }
1744
1925
  }
1745
1926
 
1746
1927
  /* ── Panel ────────────────────────────────────────────────────────────────── */
1747
- .health-panel[data-v-0521087e] {
1928
+ .health-panel[data-v-c8efa0e7] {
1748
1929
  position: absolute;
1749
1930
  top: calc(100% + 10px);
1750
1931
  left: 50%;
@@ -1754,7 +1935,9 @@ to { opacity: 1; transform: scaleY(1);
1754
1935
  border: 1px solid rgba(255, 255, 255, 0.08);
1755
1936
  border-radius: 14px;
1756
1937
  padding: 12px;
1757
- 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);
1758
1941
  z-index: 9999;
1759
1942
  display: flex;
1760
1943
  flex-direction: column;
@@ -1762,48 +1945,48 @@ to { opacity: 1; transform: scaleY(1);
1762
1945
  /* Smooth horizontal expansion */
1763
1946
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1764
1947
  }
1765
- .health-panel--expanded[data-v-0521087e] {
1948
+ .health-panel--expanded[data-v-c8efa0e7] {
1766
1949
  width: 400px;
1767
1950
  }
1768
1951
 
1769
1952
  /* When expanded, stat grid uses 3 cols instead of 2 */
1770
- .health-panel--expanded .detail-stats[data-v-0521087e] {
1953
+ .health-panel--expanded .detail-stats[data-v-c8efa0e7] {
1771
1954
  grid-template-columns: repeat(3, 1fr);
1772
1955
  }
1773
1956
 
1774
1957
  /* When expanded, accessibility list gets more vertical room */
1775
- .health-panel--expanded .a11y-list[data-v-0521087e] {
1958
+ .health-panel--expanded .a11y-list[data-v-c8efa0e7] {
1776
1959
  max-height: 320px;
1777
1960
  }
1778
1961
 
1779
1962
  /* When expanded, format rows go side-by-side */
1780
- .health-panel--expanded .format-note[data-v-0521087e] {
1963
+ .health-panel--expanded .format-note[data-v-c8efa0e7] {
1781
1964
  display: grid;
1782
1965
  grid-template-columns: repeat(3, 1fr);
1783
1966
  gap: 6px;
1784
1967
  }
1785
- .health-panel--expanded .format-row[data-v-0521087e] {
1968
+ .health-panel--expanded .format-row[data-v-c8efa0e7] {
1786
1969
  flex-direction: column;
1787
1970
  align-items: flex-start;
1788
1971
  gap: 4px;
1789
1972
  }
1790
1973
 
1791
1974
  /* ── Panel header with brand color ─────────────────────────────────────────── */
1792
- .panel-header[data-v-0521087e] {
1975
+ .panel-header[data-v-c8efa0e7] {
1793
1976
  display: flex;
1794
1977
  align-items: center;
1795
1978
  justify-content: space-between;
1796
1979
  padding: 0 2px 4px;
1797
1980
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
1798
1981
  }
1799
- .panel-header-right[data-v-0521087e] {
1982
+ .panel-header-right[data-v-c8efa0e7] {
1800
1983
  display: flex;
1801
1984
  align-items: center;
1802
1985
  gap: 6px;
1803
1986
  }
1804
1987
 
1805
1988
  /* Expand toggle button */
1806
- .panel-expand-btn[data-v-0521087e] {
1989
+ .panel-expand-btn[data-v-c8efa0e7] {
1807
1990
  display: flex;
1808
1991
  align-items: center;
1809
1992
  justify-content: center;
@@ -1814,102 +1997,119 @@ to { opacity: 1; transform: scaleY(1);
1814
1997
  background: rgba(255, 255, 255, 0.04);
1815
1998
  color: rgba(255, 255, 255, 0.35);
1816
1999
  cursor: pointer;
1817
- 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;
1818
2004
  flex-shrink: 0;
1819
2005
  padding: 0;
1820
2006
  }
1821
- .panel-expand-btn[data-v-0521087e]:hover {
2007
+ .panel-expand-btn[data-v-c8efa0e7]:hover {
1822
2008
  background: rgba(66, 56, 158, 0.18);
1823
2009
  border-color: rgba(66, 56, 158, 0.4);
1824
2010
  color: #a5b4fc;
1825
2011
  }
1826
- .panel-expand-btn[data-v-0521087e]:focus-visible {
2012
+ .panel-expand-btn[data-v-c8efa0e7]:focus-visible {
1827
2013
  outline: 2px solid rgba(66, 56, 158, 0.5);
1828
2014
  outline-offset: 1px;
1829
2015
  }
1830
- .panel-expand-btn--active[data-v-0521087e] {
2016
+ .panel-expand-btn--active[data-v-c8efa0e7] {
1831
2017
  background: rgba(66, 56, 158, 0.2);
1832
2018
  border-color: rgba(66, 56, 158, 0.45);
1833
2019
  color: #a5b4fc;
1834
2020
  }
1835
- .panel-title[data-v-0521087e] {
2021
+ .panel-title[data-v-c8efa0e7] {
1836
2022
  font-size: 11px;
1837
2023
  font-weight: 600;
1838
2024
  letter-spacing: 0.06em;
1839
2025
  text-transform: uppercase;
1840
2026
  color: #a5b4fc;
1841
2027
  }
1842
- .panel-status-badge[data-v-0521087e] {
2028
+ .panel-status-badge[data-v-c8efa0e7] {
1843
2029
  font-size: 10px;
1844
2030
  font-weight: 600;
1845
2031
  padding: 2px 8px;
1846
2032
  border-radius: 99px;
1847
2033
  }
1848
- .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;
1849
2037
  }
1850
- .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;
1851
2041
  }
1852
- .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;
1853
2045
  }
1854
2046
 
1855
2047
  /* ── Metric cards ─────────────────────────────────────────────────────────── */
1856
- .metric-card[data-v-0521087e] {
2048
+ .metric-card[data-v-c8efa0e7] {
1857
2049
  border-radius: 10px;
1858
2050
  border: 1px solid rgba(255, 255, 255, 0.06);
1859
2051
  background: rgba(255, 255, 255, 0.04);
1860
2052
  cursor: pointer;
1861
- transition: background 0.15s ease, border-color 0.15s ease;
2053
+ transition:
2054
+ background 0.15s ease,
2055
+ border-color 0.15s ease;
1862
2056
  overflow: hidden;
1863
2057
  user-select: none;
1864
2058
  }
1865
- .metric-card[data-v-0521087e]:hover {
2059
+ .metric-card[data-v-c8efa0e7]:hover {
1866
2060
  background: rgba(66, 56, 158, 0.1);
1867
2061
  border-color: rgba(66, 56, 158, 0.3);
1868
2062
  }
1869
- .metric-card[data-v-0521087e]:focus-visible {
2063
+ .metric-card[data-v-c8efa0e7]:focus-visible {
1870
2064
  outline: 2px solid rgba(66, 56, 158, 0.5);
1871
2065
  outline-offset: 2px;
1872
2066
  }
1873
- .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);
1874
2069
  }
1875
- .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);
1876
2072
  }
1877
- .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);
1878
2075
  }
1879
- .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);
1880
2078
  }
1881
- .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);
1882
2081
  }
1883
- .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);
1884
2084
  }
1885
2085
 
1886
2086
  /* ── Summary row ──────────────────────────────────────────────────────────── */
1887
- .metric-summary[data-v-0521087e] {
2087
+ .metric-summary[data-v-c8efa0e7] {
1888
2088
  display: flex;
1889
2089
  align-items: center;
1890
2090
  justify-content: space-between;
1891
2091
  padding: 9px 10px;
1892
2092
  gap: 8px;
1893
2093
  }
1894
- .metric-left[data-v-0521087e] {
2094
+ .metric-left[data-v-c8efa0e7] {
1895
2095
  display: flex;
1896
2096
  align-items: center;
1897
2097
  gap: 7px;
1898
2098
  min-width: 0;
1899
2099
  }
1900
- .metric-icon[data-v-0521087e] {
2100
+ .metric-icon[data-v-c8efa0e7] {
1901
2101
  display: flex;
1902
2102
  align-items: center;
1903
2103
  opacity: 0.8;
1904
2104
  flex-shrink: 0;
1905
2105
  }
1906
- .metric-label[data-v-0521087e] {
2106
+ .metric-label[data-v-c8efa0e7] {
1907
2107
  font-size: 11.5px;
1908
2108
  font-weight: 500;
1909
2109
  color: rgba(255, 255, 255, 0.7);
1910
2110
  white-space: nowrap;
1911
2111
  }
1912
- .metric-right[data-v-0521087e] {
2112
+ .metric-right[data-v-c8efa0e7] {
1913
2113
  display: flex;
1914
2114
  align-items: center;
1915
2115
  gap: 6px;
@@ -1917,95 +2117,117 @@ to { opacity: 1; transform: scaleY(1);
1917
2117
  }
1918
2118
 
1919
2119
  /* Mini bar */
1920
- .mini-bar[data-v-0521087e] {
2120
+ .mini-bar[data-v-c8efa0e7] {
1921
2121
  width: 36px;
1922
2122
  height: 4px;
1923
2123
  border-radius: 99px;
1924
2124
  background: rgba(255, 255, 255, 0.1);
1925
2125
  overflow: hidden;
1926
2126
  }
1927
- .mini-bar-fill[data-v-0521087e] {
2127
+ .mini-bar-fill[data-v-c8efa0e7] {
1928
2128
  height: 100%;
1929
2129
  border-radius: 99px;
1930
2130
  transition: width 0.5s ease;
1931
2131
  }
1932
- .mini-bar-fill--good[data-v-0521087e] { background: #22c55e;
2132
+ .mini-bar-fill--good[data-v-c8efa0e7] {
2133
+ background: #22c55e;
1933
2134
  }
1934
- .mini-bar-fill--warn[data-v-0521087e] { background: #f59e0b;
2135
+ .mini-bar-fill--warn[data-v-c8efa0e7] {
2136
+ background: #f59e0b;
1935
2137
  }
1936
- .mini-bar-fill--bad[data-v-0521087e] { background: #ef4444;
2138
+ .mini-bar-fill--bad[data-v-c8efa0e7] {
2139
+ background: #ef4444;
1937
2140
  }
1938
2141
 
1939
2142
  /* Status dot */
1940
- .status-dot[data-v-0521087e] {
2143
+ .status-dot[data-v-c8efa0e7] {
1941
2144
  width: 6px;
1942
2145
  height: 6px;
1943
2146
  border-radius: 50%;
1944
2147
  flex-shrink: 0;
1945
2148
  }
1946
- .status-dot--good[data-v-0521087e] { background: #22c55e;
2149
+ .status-dot--good[data-v-c8efa0e7] {
2150
+ background: #22c55e;
1947
2151
  }
1948
- .status-dot--warn[data-v-0521087e] { background: #f59e0b;
2152
+ .status-dot--warn[data-v-c8efa0e7] {
2153
+ background: #f59e0b;
1949
2154
  }
1950
- .status-dot--bad[data-v-0521087e] { background: #ef4444;
2155
+ .status-dot--bad[data-v-c8efa0e7] {
2156
+ background: #ef4444;
1951
2157
  }
1952
2158
 
1953
2159
  /* Pulsing dot for bad status */
1954
- .pulse-dot[data-v-0521087e] {
2160
+ .pulse-dot[data-v-c8efa0e7] {
1955
2161
  position: relative;
1956
2162
  width: 6px;
1957
2163
  height: 6px;
1958
2164
  flex-shrink: 0;
1959
2165
  }
1960
- .pulse-dot[data-v-0521087e]::before,
1961
- .pulse-dot[data-v-0521087e]::after {
1962
- content: '';
2166
+ .pulse-dot[data-v-c8efa0e7]::before,
2167
+ .pulse-dot[data-v-c8efa0e7]::after {
2168
+ content: "";
1963
2169
  position: absolute;
1964
2170
  inset: 0;
1965
2171
  border-radius: 50%;
1966
2172
  }
1967
- .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;
1968
2176
  }
1969
- .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;
1970
2180
  }
1971
- @keyframes dot-ping-0521087e {
1972
- 0% { transform: scale(1); opacity: 0.75;
2181
+ @keyframes dot-ping-c8efa0e7 {
2182
+ 0% {
2183
+ transform: scale(1);
2184
+ opacity: 0.75;
1973
2185
  }
1974
- 100% { transform: scale(2.5); opacity: 0;
2186
+ 100% {
2187
+ transform: scale(2.5);
2188
+ opacity: 0;
1975
2189
  }
1976
2190
  }
1977
- .metric-value[data-v-0521087e] {
2191
+ .metric-value[data-v-c8efa0e7] {
1978
2192
  font-size: 11.5px;
1979
2193
  font-weight: 600;
1980
2194
  font-variant-numeric: tabular-nums;
1981
2195
  }
1982
- .metric-value--good[data-v-0521087e] { color: #4ade80;
2196
+ .metric-value--good[data-v-c8efa0e7] {
2197
+ color: #4ade80;
1983
2198
  }
1984
- .metric-value--warn[data-v-0521087e] { color: #fbbf24;
2199
+ .metric-value--warn[data-v-c8efa0e7] {
2200
+ color: #fbbf24;
1985
2201
  }
1986
- .metric-value--bad[data-v-0521087e] { color: #f87171;
2202
+ .metric-value--bad[data-v-c8efa0e7] {
2203
+ color: #f87171;
1987
2204
  }
1988
2205
 
1989
2206
  /* Chevron */
1990
- .chevron[data-v-0521087e] {
2207
+ .chevron[data-v-c8efa0e7] {
1991
2208
  color: rgba(255, 255, 255, 0.3);
1992
- transition: transform 0.2s ease, color 0.15s ease;
2209
+ transition:
2210
+ transform 0.2s ease,
2211
+ color 0.15s ease;
1993
2212
  flex-shrink: 0;
1994
2213
  }
1995
- .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);
1996
2217
  }
1997
- .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);
1998
2220
  }
1999
2221
 
2000
2222
  /* ── Expanded detail ──────────────────────────────────────────────────────── */
2001
- .metric-detail[data-v-0521087e] {
2223
+ .metric-detail[data-v-c8efa0e7] {
2002
2224
  padding: 0 10px 10px;
2003
2225
  display: flex;
2004
2226
  flex-direction: column;
2005
2227
  gap: 8px;
2006
2228
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2007
2229
  }
2008
- .detail-tip[data-v-0521087e] {
2230
+ .detail-tip[data-v-c8efa0e7] {
2009
2231
  font-size: 11px;
2010
2232
  line-height: 1.55;
2011
2233
  color: rgba(255, 255, 255, 0.55);
@@ -2013,23 +2235,23 @@ to { opacity: 1; transform: scaleY(1);
2013
2235
  }
2014
2236
 
2015
2237
  /* Stats grid */
2016
- .detail-stats[data-v-0521087e] {
2238
+ .detail-stats[data-v-c8efa0e7] {
2017
2239
  display: grid;
2018
2240
  grid-template-columns: 1fr 1fr;
2019
2241
  gap: 4px 12px;
2020
2242
  }
2021
- .stat-item[data-v-0521087e] {
2243
+ .stat-item[data-v-c8efa0e7] {
2022
2244
  display: flex;
2023
2245
  justify-content: space-between;
2024
2246
  align-items: baseline;
2025
2247
  gap: 6px;
2026
2248
  }
2027
- .stat-label[data-v-0521087e] {
2249
+ .stat-label[data-v-c8efa0e7] {
2028
2250
  font-size: 10.5px;
2029
2251
  color: rgba(255, 255, 255, 0.35);
2030
2252
  white-space: nowrap;
2031
2253
  }
2032
- .stat-value[data-v-0521087e] {
2254
+ .stat-value[data-v-c8efa0e7] {
2033
2255
  font-size: 11px;
2034
2256
  font-weight: 600;
2035
2257
  color: rgba(255, 255, 255, 0.75);
@@ -2037,28 +2259,34 @@ to { opacity: 1; transform: scaleY(1);
2037
2259
  }
2038
2260
 
2039
2261
  /* Thresholds */
2040
- .detail-thresholds[data-v-0521087e] {
2262
+ .detail-thresholds[data-v-c8efa0e7] {
2041
2263
  display: flex;
2042
2264
  flex-wrap: wrap;
2043
2265
  gap: 4px;
2044
2266
  padding-top: 4px;
2045
2267
  border-top: 1px solid rgba(255, 255, 255, 0.05);
2046
2268
  }
2047
- .threshold[data-v-0521087e] {
2269
+ .threshold[data-v-c8efa0e7] {
2048
2270
  font-size: 10px;
2049
2271
  font-weight: 500;
2050
2272
  padding: 2px 7px;
2051
2273
  border-radius: 99px;
2052
2274
  }
2053
- .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;
2054
2278
  }
2055
- .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;
2056
2282
  }
2057
- .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;
2058
2286
  }
2059
2287
 
2060
2288
  /* ── Format note (KB card) ────────────────────────────────────────────────── */
2061
- .format-note[data-v-0521087e] {
2289
+ .format-note[data-v-c8efa0e7] {
2062
2290
  display: flex;
2063
2291
  flex-direction: column;
2064
2292
  gap: 5px;
@@ -2066,12 +2294,12 @@ to { opacity: 1; transform: scaleY(1);
2066
2294
  border-radius: 8px;
2067
2295
  padding: 8px;
2068
2296
  }
2069
- .format-row[data-v-0521087e] {
2297
+ .format-row[data-v-c8efa0e7] {
2070
2298
  display: flex;
2071
2299
  align-items: flex-start;
2072
2300
  gap: 8px;
2073
2301
  }
2074
- .format-badge[data-v-0521087e] {
2302
+ .format-badge[data-v-c8efa0e7] {
2075
2303
  font-size: 9.5px;
2076
2304
  font-weight: 700;
2077
2305
  letter-spacing: 0.05em;
@@ -2082,40 +2310,40 @@ to { opacity: 1; transform: scaleY(1);
2082
2310
  background: rgba(66, 56, 158, 0.3);
2083
2311
  color: #a5b4fc;
2084
2312
  }
2085
- .format-badge--muted[data-v-0521087e] {
2313
+ .format-badge--muted[data-v-c8efa0e7] {
2086
2314
  background: rgba(255, 255, 255, 0.07);
2087
2315
  color: rgba(255, 255, 255, 0.35);
2088
2316
  }
2089
- .format-info[data-v-0521087e] {
2317
+ .format-info[data-v-c8efa0e7] {
2090
2318
  display: flex;
2091
2319
  flex-direction: column;
2092
2320
  gap: 2px;
2093
2321
  min-width: 0;
2094
2322
  }
2095
- .format-range[data-v-0521087e] {
2323
+ .format-range[data-v-c8efa0e7] {
2096
2324
  font-size: 11px;
2097
2325
  font-weight: 600;
2098
2326
  color: rgba(255, 255, 255, 0.8);
2099
2327
  }
2100
- .format-range--muted[data-v-0521087e] {
2328
+ .format-range--muted[data-v-c8efa0e7] {
2101
2329
  color: rgba(255, 255, 255, 0.35);
2102
2330
  font-weight: 500;
2103
2331
  }
2104
- .format-caveat[data-v-0521087e] {
2332
+ .format-caveat[data-v-c8efa0e7] {
2105
2333
  font-size: 10px;
2106
2334
  line-height: 1.4;
2107
2335
  color: rgba(255, 255, 255, 0.35);
2108
2336
  }
2109
2337
 
2110
2338
  /* ── Accessibility card ───────────────────────────────────────────────────── */
2111
- .a11y-detail[data-v-0521087e] {
2339
+ .a11y-detail[data-v-c8efa0e7] {
2112
2340
  cursor: default;
2113
2341
  padding: 8px 10px 10px;
2114
2342
  gap: 10px;
2115
2343
  }
2116
2344
 
2117
2345
  /* Tabs */
2118
- .a11y-tabs[data-v-0521087e] {
2346
+ .a11y-tabs[data-v-c8efa0e7] {
2119
2347
  display: grid;
2120
2348
  grid-template-columns: repeat(3, 1fr);
2121
2349
  gap: 4px;
@@ -2123,7 +2351,7 @@ to { opacity: 1; transform: scaleY(1);
2123
2351
  padding: 3px;
2124
2352
  border-radius: 8px;
2125
2353
  }
2126
- .a11y-tab[data-v-0521087e] {
2354
+ .a11y-tab[data-v-c8efa0e7] {
2127
2355
  display: flex;
2128
2356
  align-items: center;
2129
2357
  justify-content: center;
@@ -2138,24 +2366,26 @@ to { opacity: 1; transform: scaleY(1);
2138
2366
  font-weight: 600;
2139
2367
  letter-spacing: 0.02em;
2140
2368
  color: rgba(255, 255, 255, 0.45);
2141
- transition: background 0.15s ease, color 0.15s ease;
2369
+ transition:
2370
+ background 0.15s ease,
2371
+ color 0.15s ease;
2142
2372
  }
2143
- .a11y-tab[data-v-0521087e]:hover {
2373
+ .a11y-tab[data-v-c8efa0e7]:hover {
2144
2374
  color: rgba(255, 255, 255, 0.75);
2145
2375
  background: rgba(255, 255, 255, 0.04);
2146
2376
  }
2147
- .a11y-tab[data-v-0521087e]:focus-visible {
2377
+ .a11y-tab[data-v-c8efa0e7]:focus-visible {
2148
2378
  outline: 2px solid rgba(66, 56, 158, 0.5);
2149
2379
  outline-offset: 1px;
2150
2380
  }
2151
- .a11y-tab--active[data-v-0521087e] {
2381
+ .a11y-tab--active[data-v-c8efa0e7] {
2152
2382
  background: rgba(255, 255, 255, 0.07);
2153
2383
  color: rgba(255, 255, 255, 0.92);
2154
2384
  }
2155
- .a11y-tab-label[data-v-0521087e] {
2385
+ .a11y-tab-label[data-v-c8efa0e7] {
2156
2386
  text-transform: uppercase;
2157
2387
  }
2158
- .a11y-tab-count[data-v-0521087e] {
2388
+ .a11y-tab-count[data-v-c8efa0e7] {
2159
2389
  display: inline-flex;
2160
2390
  align-items: center;
2161
2391
  justify-content: center;
@@ -2168,15 +2398,21 @@ to { opacity: 1; transform: scaleY(1);
2168
2398
  font-variant-numeric: tabular-nums;
2169
2399
  line-height: 1;
2170
2400
  }
2171
- .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;
2172
2404
  }
2173
- .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;
2174
2408
  }
2175
- .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);
2176
2412
  }
2177
2413
 
2178
2414
  /* List */
2179
- .a11y-list[data-v-0521087e] {
2415
+ .a11y-list[data-v-c8efa0e7] {
2180
2416
  display: flex;
2181
2417
  flex-direction: column;
2182
2418
  gap: 6px;
@@ -2186,24 +2422,24 @@ to { opacity: 1; transform: scaleY(1);
2186
2422
  scrollbar-width: thin;
2187
2423
  scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
2188
2424
  }
2189
- .a11y-list[data-v-0521087e]::-webkit-scrollbar {
2425
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar {
2190
2426
  width: 6px;
2191
2427
  }
2192
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-track {
2428
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar-track {
2193
2429
  background: transparent;
2194
2430
  }
2195
- .a11y-list[data-v-0521087e]::-webkit-scrollbar-thumb {
2431
+ .a11y-list[data-v-c8efa0e7]::-webkit-scrollbar-thumb {
2196
2432
  background: rgba(255, 255, 255, 0.12);
2197
2433
  border-radius: 99px;
2198
2434
  }
2199
- .a11y-empty[data-v-0521087e] {
2435
+ .a11y-empty[data-v-c8efa0e7] {
2200
2436
  font-size: 11px;
2201
2437
  color: rgba(255, 255, 255, 0.4);
2202
2438
  text-align: center;
2203
2439
  padding: 12px 4px;
2204
2440
  margin: 0;
2205
2441
  }
2206
- .a11y-item[data-v-0521087e] {
2442
+ .a11y-item[data-v-c8efa0e7] {
2207
2443
  display: flex;
2208
2444
  flex-direction: column;
2209
2445
  gap: 4px;
@@ -2212,20 +2448,25 @@ to { opacity: 1; transform: scaleY(1);
2212
2448
  background: rgba(255, 255, 255, 0.03);
2213
2449
  border-left: 2px solid transparent;
2214
2450
  }
2215
- .a11y-item--critical[data-v-0521087e] { border-left-color: #ef4444;
2451
+ .a11y-item--critical[data-v-c8efa0e7] {
2452
+ border-left-color: #ef4444;
2216
2453
  }
2217
- .a11y-item--serious[data-v-0521087e] { border-left-color: #f59e0b;
2454
+ .a11y-item--serious[data-v-c8efa0e7] {
2455
+ border-left-color: #f59e0b;
2218
2456
  }
2219
- .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);
2220
2459
  }
2221
- .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;
2222
2463
  }
2223
- .a11y-item-header[data-v-0521087e] {
2464
+ .a11y-item-header[data-v-c8efa0e7] {
2224
2465
  display: flex;
2225
2466
  align-items: center;
2226
2467
  gap: 6px;
2227
2468
  }
2228
- .a11y-severity[data-v-0521087e] {
2469
+ .a11y-severity[data-v-c8efa0e7] {
2229
2470
  display: inline-flex;
2230
2471
  align-items: center;
2231
2472
  font-size: 9px;
@@ -2236,15 +2477,23 @@ to { opacity: 1; transform: scaleY(1);
2236
2477
  border-radius: 4px;
2237
2478
  flex-shrink: 0;
2238
2479
  }
2239
- .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;
2240
2483
  }
2241
- .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;
2242
2487
  }
2243
- .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;
2244
2491
  }
2245
- .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);
2246
2495
  }
2247
- .a11y-rule[data-v-0521087e] {
2496
+ .a11y-rule[data-v-c8efa0e7] {
2248
2497
  font-size: 11px;
2249
2498
  font-weight: 600;
2250
2499
  color: rgba(255, 255, 255, 0.85);
@@ -2254,7 +2503,7 @@ to { opacity: 1; transform: scaleY(1);
2254
2503
  overflow: hidden;
2255
2504
  text-overflow: ellipsis;
2256
2505
  }
2257
- .a11y-action[data-v-0521087e] {
2506
+ .a11y-action[data-v-c8efa0e7] {
2258
2507
  background: transparent;
2259
2508
  border: 1px solid rgba(255, 255, 255, 0.1);
2260
2509
  border-radius: 4px;
@@ -2264,34 +2513,37 @@ to { opacity: 1; transform: scaleY(1);
2264
2513
  font-weight: 600;
2265
2514
  color: rgba(255, 255, 255, 0.5);
2266
2515
  cursor: pointer;
2267
- 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;
2268
2520
  flex-shrink: 0;
2269
2521
  }
2270
- .a11y-action[data-v-0521087e]:hover {
2522
+ .a11y-action[data-v-c8efa0e7]:hover {
2271
2523
  background: rgba(255, 255, 255, 0.06);
2272
2524
  color: rgba(255, 255, 255, 0.85);
2273
2525
  border-color: rgba(255, 255, 255, 0.2);
2274
2526
  }
2275
- .a11y-action[data-v-0521087e]:focus-visible {
2527
+ .a11y-action[data-v-c8efa0e7]:focus-visible {
2276
2528
  outline: 2px solid rgba(66, 56, 158, 0.5);
2277
2529
  outline-offset: 1px;
2278
2530
  }
2279
- .a11y-action--restore[data-v-0521087e] {
2531
+ .a11y-action--restore[data-v-c8efa0e7] {
2280
2532
  border-color: rgba(165, 180, 252, 0.25);
2281
2533
  color: #a5b4fc;
2282
2534
  }
2283
- .a11y-action--restore[data-v-0521087e]:hover {
2535
+ .a11y-action--restore[data-v-c8efa0e7]:hover {
2284
2536
  background: rgba(66, 56, 158, 0.15);
2285
2537
  border-color: rgba(165, 180, 252, 0.4);
2286
2538
  color: #c7d2fe;
2287
2539
  }
2288
- .a11y-message[data-v-0521087e] {
2540
+ .a11y-message[data-v-c8efa0e7] {
2289
2541
  font-size: 10.5px;
2290
2542
  line-height: 1.5;
2291
2543
  color: rgba(255, 255, 255, 0.65);
2292
2544
  margin: 0;
2293
2545
  }
2294
- .a11y-info[data-v-0521087e] {
2546
+ .a11y-info[data-v-c8efa0e7] {
2295
2547
  font-size: 10px;
2296
2548
  line-height: 1.5;
2297
2549
  color: rgba(255, 255, 255, 0.38);
@@ -2301,7 +2553,7 @@ to { opacity: 1; transform: scaleY(1);
2301
2553
  }
2302
2554
 
2303
2555
  /* ── Panel footer ─────────────────────────────────────────────────────────── */
2304
- .panel-footer[data-v-0521087e] {
2556
+ .panel-footer[data-v-c8efa0e7] {
2305
2557
  font-size: 10px;
2306
2558
  color: rgba(255, 255, 255, 0.22);
2307
2559
  text-align: center;
@@ -2310,115 +2562,248 @@ to { opacity: 1; transform: scaleY(1);
2310
2562
  }
2311
2563
 
2312
2564
  /* ── Click-outside overlay ────────────────────────────────────────────────── */
2313
- .click-outside[data-v-0521087e] {
2565
+ .click-outside[data-v-c8efa0e7] {
2314
2566
  position: fixed;
2315
2567
  inset: 0;
2316
2568
  z-index: 9998;
2317
2569
  }
2318
2570
 
2319
2571
  /* ── Transitions ──────────────────────────────────────────────────────────── */
2320
- .popover-enter-active[data-v-0521087e] {
2321
- 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);
2322
2576
  }
2323
- .popover-leave-active[data-v-0521087e] {
2324
- 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;
2325
2581
  }
2326
- .popover-enter-from[data-v-0521087e] {
2582
+ .popover-enter-from[data-v-c8efa0e7] {
2327
2583
  opacity: 0;
2328
2584
  transform: translateX(-50%) translateY(-6px) scale(0.97);
2329
2585
  }
2330
- .popover-leave-to[data-v-0521087e] {
2586
+ .popover-leave-to[data-v-c8efa0e7] {
2331
2587
  opacity: 0;
2332
2588
  transform: translateX(-50%) translateY(-4px) scale(0.98);
2333
2589
  }
2334
- .expand-enter-active[data-v-0521087e] {
2335
- 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;
2336
2594
  max-height: 300px;
2337
2595
  overflow: hidden;
2338
2596
  }
2339
- .expand-leave-active[data-v-0521087e] {
2340
- 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;
2341
2601
  overflow: hidden;
2342
2602
  }
2343
- .expand-enter-from[data-v-0521087e] {
2603
+ .expand-enter-from[data-v-c8efa0e7] {
2344
2604
  opacity: 0;
2345
2605
  max-height: 0;
2346
2606
  }
2347
- .expand-leave-to[data-v-0521087e] {
2607
+ .expand-leave-to[data-v-c8efa0e7] {
2348
2608
  opacity: 0;
2349
2609
  max-height: 0;
2350
2610
  }
2351
2611
 
2352
- .picker-overlay-enter-active[data-v-5f1ee4c3],
2353
- .picker-overlay-leave-active[data-v-5f1ee4c3] {
2612
+ .picker-overlay-enter-active[data-v-240ef53a],
2613
+ .picker-overlay-leave-active[data-v-240ef53a] {
2354
2614
  transition: opacity 0.2s ease;
2355
2615
  }
2356
- .picker-overlay-enter-from[data-v-5f1ee4c3],
2357
- .picker-overlay-leave-to[data-v-5f1ee4c3] {
2616
+ .picker-overlay-enter-from[data-v-240ef53a],
2617
+ .picker-overlay-leave-to[data-v-240ef53a] {
2358
2618
  opacity: 0;
2359
2619
  }
2360
- .picker-drawer-enter-active[data-v-5f1ee4c3],
2361
- .picker-drawer-leave-active[data-v-5f1ee4c3] {
2620
+ .picker-drawer-enter-active[data-v-240ef53a],
2621
+ .picker-drawer-leave-active[data-v-240ef53a] {
2362
2622
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
2363
2623
  }
2364
- .picker-drawer-enter-from[data-v-5f1ee4c3],
2365
- .picker-drawer-leave-to[data-v-5f1ee4c3] {
2624
+ .picker-drawer-enter-from[data-v-240ef53a],
2625
+ .picker-drawer-leave-to[data-v-240ef53a] {
2366
2626
  transform: translateX(100%);
2367
2627
  }
2368
2628
 
2369
- .note-enter-active[data-v-b07bbf33],
2370
- .note-leave-active[data-v-b07bbf33] {
2629
+ .note-enter-active[data-v-0e66e679],
2630
+ .note-leave-active[data-v-0e66e679] {
2371
2631
  transition:
2372
2632
  opacity 0.2s ease,
2373
2633
  max-height 0.25s ease;
2374
2634
  max-height: 60px;
2375
2635
  overflow: hidden;
2376
2636
  }
2377
- .note-enter-from[data-v-b07bbf33],
2378
- .note-leave-to[data-v-b07bbf33] {
2637
+ .note-enter-from[data-v-0e66e679],
2638
+ .note-leave-to[data-v-0e66e679] {
2379
2639
  opacity: 0;
2380
2640
  max-height: 0;
2381
2641
  }
2382
2642
 
2383
- .md-msg[data-v-db5ba171] {
2384
- display: flex;
2385
- align-items: flex-start;
2386
- gap: 0.5rem;
2387
- padding: 0.625rem 0.75rem;
2388
- font-size: 13px;
2389
- 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;
2390
2650
  border-radius: 0.5rem;
2391
2651
  }
2392
- .md-msg__icon[data-v-db5ba171] { margin-top: 0.125rem; flex-shrink: 0; font-size: 14px;
2393
- }
2394
- .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;
2395
2656
  }
2396
- .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;
2397
2660
  }
2398
- .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;
2399
2666
  }
2400
- .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;
2401
2669
  }
2402
- .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);
2403
2674
  }
2404
- .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);
2405
2679
  }
2406
- .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);
2407
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
+ }
2408
2690
 
2409
2691
  /* Auto-save pill: fade + 4px vertical drift on enter/leave */
2410
- .autosave-fade-enter-active[data-v-8a0c6ca5],
2411
- .autosave-fade-leave-active[data-v-8a0c6ca5] {
2692
+ .autosave-fade-enter-active[data-v-b67fcdb4],
2693
+ .autosave-fade-leave-active[data-v-b67fcdb4] {
2412
2694
  transition:
2413
2695
  opacity 0.2s ease,
2414
2696
  transform 0.2s ease;
2415
2697
  }
2416
- .autosave-fade-enter-from[data-v-8a0c6ca5] {
2698
+ .autosave-fade-enter-from[data-v-b67fcdb4] {
2417
2699
  opacity: 0;
2418
2700
  transform: translateY(4px);
2419
2701
  }
2420
- .autosave-fade-leave-to[data-v-8a0c6ca5] {
2702
+ .autosave-fade-leave-to[data-v-b67fcdb4] {
2421
2703
  opacity: 0;
2422
2704
  transform: translateY(-4px);
2423
2705
  }
2424
- /*$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
+ }