@24vlh/vds 0.1.10 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/components/action-bar.css +111 -0
  2. package/dist/components/action-bar.min.css +1 -0
  3. package/dist/components/authoring.css +262 -42
  4. package/dist/components/authoring.min.css +1 -1
  5. package/dist/components/avatar.css +229 -0
  6. package/dist/components/avatar.min.css +1 -0
  7. package/dist/components/badge-tag.css +235 -0
  8. package/dist/components/badge-tag.min.css +1 -0
  9. package/dist/components/buttons.css +90 -98
  10. package/dist/components/buttons.min.css +1 -1
  11. package/dist/components/command.css +846 -2
  12. package/dist/components/command.min.css +1 -1
  13. package/dist/components/content-blocks.css +328 -6
  14. package/dist/components/content-blocks.min.css +1 -1
  15. package/dist/components/description-list.css +117 -0
  16. package/dist/components/description-list.min.css +1 -0
  17. package/dist/components/flows.css +60 -47
  18. package/dist/components/flows.min.css +1 -1
  19. package/dist/components/header-footer.css +178 -18
  20. package/dist/components/header-footer.min.css +1 -1
  21. package/dist/components/hero.css +148 -14
  22. package/dist/components/hero.min.css +1 -1
  23. package/dist/components/icons.css +23 -11
  24. package/dist/components/icons.min.css +1 -1
  25. package/dist/components/inbox.css +5 -0
  26. package/dist/components/inbox.min.css +1 -1
  27. package/dist/components/navigation.css +67 -7
  28. package/dist/components/navigation.min.css +1 -1
  29. package/dist/components/overlays.css +121 -19
  30. package/dist/components/overlays.min.css +1 -1
  31. package/dist/components/progress.css +322 -0
  32. package/dist/components/progress.min.css +1 -0
  33. package/dist/components/skeleton.css +22 -3
  34. package/dist/components/skeleton.min.css +1 -1
  35. package/dist/components/state.css +172 -0
  36. package/dist/components/state.min.css +1 -0
  37. package/dist/components/tables.css +93 -15
  38. package/dist/components/tables.min.css +1 -1
  39. package/dist/components/tabs.css +116 -4
  40. package/dist/components/tabs.min.css +1 -1
  41. package/dist/components/toasts.css +115 -41
  42. package/dist/components/toasts.min.css +1 -1
  43. package/dist/components/tooltips-popovers.css +135 -93
  44. package/dist/components/tooltips-popovers.min.css +1 -1
  45. package/dist/components/utilities.css +37 -3
  46. package/dist/components/utilities.min.css +1 -1
  47. package/dist/core.css +43 -21
  48. package/dist/core.min.css +1 -1
  49. package/dist/identity.css +107 -1
  50. package/dist/identity.min.css +1 -1
  51. package/dist/vds.css +5432 -1775
  52. package/dist/vds.min.css +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,117 @@
1
+ /************************************************************
2
+ * VLAH DESIGN SYSTEM (VDS) - Description Lists
3
+ *
4
+ * Responsibilities:
5
+ * - Provide consistent key/value presentation for metadata
6
+ * - Support inline, stacked, bordered, and striped layouts
7
+ * - Allow compact and spacious density modes
8
+ *
9
+ * System Notes:
10
+ * - Works with <dl> semantics (dt/dd) or div wrappers
11
+ * - Token-driven spacing and typography
12
+ ************************************************************/
13
+
14
+ /* ---------------------------------------------------------
15
+ 1. TOKENS
16
+ --------------------------------------------------------- */
17
+
18
+ [data-vds-description-list],
19
+ .vds-description-list {
20
+ --dl-gap: var(--space-4);
21
+ --dl-term-width: 12rem;
22
+ --dl-term-color: var(--color-text-muted);
23
+ --dl-desc-color: var(--color-text);
24
+ --dl-border: var(--color-border-subtle);
25
+ --dl-radius: var(--radius-md);
26
+ --dl-pad: var(--space-4);
27
+ }
28
+
29
+ /* ---------------------------------------------------------
30
+ 2. BASE LIST
31
+ --------------------------------------------------------- */
32
+
33
+ .description-list {
34
+ display: grid;
35
+ grid-gap: var(--dl-gap);
36
+ gap: var(--dl-gap);
37
+ }
38
+
39
+ .description-list__item {
40
+ display: grid;
41
+ grid-gap: var(--space-2);
42
+ gap: var(--space-2);
43
+ }
44
+
45
+ .description-list__term {
46
+ font-size: var(--text-xs);
47
+ font-weight: 600;
48
+ color: var(--dl-term-color);
49
+ text-transform: uppercase;
50
+ letter-spacing: 0.06em;
51
+ }
52
+
53
+ .description-list__desc {
54
+ font-size: var(--text-sm);
55
+ color: var(--dl-desc-color);
56
+ }
57
+
58
+ /* ---------------------------------------------------------
59
+ 3. LAYOUT VARIANTS
60
+ --------------------------------------------------------- */
61
+
62
+ .description-list--inline .description-list__item {
63
+ grid-template-columns: minmax(0, var(--dl-term-width)) 1fr;
64
+ align-items: start;
65
+ }
66
+
67
+ .description-list--stacked .description-list__item {
68
+ grid-template-columns: 1fr;
69
+ }
70
+
71
+ .description-list--columns {
72
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
73
+ }
74
+
75
+ .description-list--columns .description-list__item {
76
+ grid-template-columns: 1fr;
77
+ }
78
+
79
+ /* ---------------------------------------------------------
80
+ 4. STYLE VARIANTS
81
+ --------------------------------------------------------- */
82
+
83
+ .description-list--bordered .description-list__item {
84
+ padding: var(--dl-pad);
85
+ border: 1px solid var(--dl-border);
86
+ border-radius: var(--dl-radius);
87
+ background: var(--color-surface);
88
+ }
89
+
90
+ .description-list--striped .description-list__item {
91
+ padding: var(--dl-pad);
92
+ border-radius: var(--dl-radius);
93
+ }
94
+
95
+ .description-list--striped .description-list__item:nth-child(odd) {
96
+ background: var(--color-surface-subtle);
97
+ }
98
+
99
+ /* ---------------------------------------------------------
100
+ 5. DENSITY
101
+ --------------------------------------------------------- */
102
+
103
+ .description-list--compact {
104
+ --dl-gap: var(--space-2);
105
+ --dl-pad: var(--space-3);
106
+ }
107
+
108
+ .description-list--spacious {
109
+ --dl-gap: var(--space-6);
110
+ --dl-pad: var(--space-5);
111
+ }
112
+
113
+ @media (max-width: 768px) {
114
+ .description-list--inline .description-list__item {
115
+ grid-template-columns: 1fr;
116
+ }
117
+ }
@@ -0,0 +1 @@
1
+ .vds-description-list,[data-vds-description-list]{--dl-gap:var(--space-4);--dl-term-width:12rem;--dl-term-color:var(--color-text-muted);--dl-desc-color:var(--color-text);--dl-border:var(--color-border-subtle);--dl-radius:var(--radius-md);--dl-pad:var(--space-4)}.description-list{grid-gap:var(--dl-gap);display:grid;gap:var(--dl-gap)}.description-list__item{grid-gap:var(--space-2);display:grid;gap:var(--space-2)}.description-list__term{color:var(--dl-term-color);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.description-list__desc{color:var(--dl-desc-color);font-size:var(--text-sm)}.description-list--inline .description-list__item{align-items:start;grid-template-columns:minmax(0,var(--dl-term-width)) 1fr}.description-list--stacked .description-list__item{grid-template-columns:1fr}.description-list--columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.description-list--columns .description-list__item{grid-template-columns:1fr}.description-list--bordered .description-list__item{background:var(--color-surface);border:1px solid var(--dl-border)}.description-list--bordered .description-list__item,.description-list--striped .description-list__item{border-radius:var(--dl-radius);padding:var(--dl-pad)}.description-list--striped .description-list__item:nth-child(odd){background:var(--color-surface-subtle)}.description-list--compact{--dl-gap:var(--space-2);--dl-pad:var(--space-3)}.description-list--spacious{--dl-gap:var(--space-6);--dl-pad:var(--space-5)}@media (max-width:768px){.description-list--inline .description-list__item{grid-template-columns:1fr}}
@@ -57,13 +57,16 @@
57
57
 
58
58
  --flow-progress-stripe-size: var(--space-3);
59
59
  --flow-progress-stripe-speed: 1.2s;
60
+ --flow-progress-track: var(--color-muted-bg);
61
+ --flow-progress-fill: var(--color-accent);
60
62
  }
61
63
 
62
64
  /* ---------------------------------------------------------
63
65
  2. GLOBAL FLOW MODIFIERS
64
66
  --------------------------------------------------------- */
65
67
 
66
- .flow--compact .flow {
68
+ .flow--compact .flow,
69
+ .flow--compact.flow {
67
70
  gap: var(--flow-gap-lg);
68
71
  }
69
72
 
@@ -71,6 +74,10 @@
71
74
  gap: var(--flow-gap-md);
72
75
  }
73
76
 
77
+ .flow--compact .flow__nav {
78
+ gap: var(--flow-gap-sm);
79
+ }
80
+
74
81
  .flow--compact .steps {
75
82
  gap: var(--flow-gap-sm);
76
83
  }
@@ -305,6 +312,10 @@
305
312
  flex: auto;
306
313
  }
307
314
 
315
+ .steps--vertical .steps__label {
316
+ white-space: normal;
317
+ }
318
+
308
319
  /* ---------------------------------------------------------
309
320
  6. FLOW PROGRESS BARS
310
321
  --------------------------------------------------------- */
@@ -312,7 +323,7 @@
312
323
  .flow-progress {
313
324
  width: 100%;
314
325
  height: var(--border-width-strong);
315
- background-color: var(--color-muted-bg);
326
+ background-color: var(--flow-progress-track);
316
327
  border-radius: var(--radius-sm);
317
328
  overflow: hidden;
318
329
  }
@@ -320,64 +331,56 @@
320
331
  .flow-progress__bar {
321
332
  height: 100%;
322
333
  width: 0;
323
- background-color: var(--color-muted-bg);
324
- transition: width 0.2s ease;
334
+ background-color: var(--flow-progress-fill, var(--color-accent));
335
+ transition: width var(--transition-normal);
325
336
  }
326
337
 
327
- .flow-progress--striped .flow-progress__bar {
328
- background-image: repeating-linear-gradient(
329
- 45deg,
330
- var(--color-text-soft) 0,
331
- var(--color-text-soft) var(--flow-progress-stripe-size),
332
- var(--color-muted-bg) var(--flow-progress-stripe-size),
333
- var(--color-muted-bg) calc(var(--flow-progress-stripe-size) * 2)
334
- );
335
- animation: flow-progress-stripes var(--flow-progress-stripe-speed) linear infinite;
338
+ .flow-progress__bar--success {
339
+ --flow-progress-fill: var(--color-success);
336
340
  }
337
341
 
338
- .flow-progress--striped .flow-progress__bar--error {
339
- background-image: repeating-linear-gradient(
340
- 45deg,
341
- var(--color-danger) 0,
342
- var(--color-danger) var(--flow-progress-stripe-size),
343
- var(--color-danger-soft) var(--flow-progress-stripe-size),
344
- var(--color-danger-soft) calc(var(--flow-progress-stripe-size) * 2)
345
- );
342
+ .flow-progress__bar--warning {
343
+ --flow-progress-fill: var(--color-warning);
346
344
  }
347
345
 
348
- .flow-progress--striped .flow-progress__bar--warning {
349
- background-image: repeating-linear-gradient(
350
- 45deg,
351
- var(--color-warning) 0,
352
- var(--color-warning) var(--flow-progress-stripe-size),
353
- var(--color-warning-soft) var(--flow-progress-stripe-size),
354
- var(--color-warning-soft) calc(var(--flow-progress-stripe-size) * 2)
355
- );
346
+ .flow-progress__bar--error {
347
+ --flow-progress-fill: var(--color-danger);
356
348
  }
357
349
 
358
- @keyframes flow-progress-stripes {
359
- from {
360
- background-position: 0 0;
361
- }
362
- to {
363
- background-position: calc(var(--flow-progress-stripe-size) * -2.828) 0;
364
- }
350
+ .flow-progress__bar--info {
351
+ --flow-progress-fill: var(--color-info);
365
352
  }
366
353
 
367
354
  @media (prefers-reduced-motion: reduce) {
368
- .flow-progress--striped .flow-progress__bar {
369
- animation: none;
370
- background-position: 0 0;
355
+ .flow-progress__bar {
356
+ transition: none;
371
357
  }
372
358
  }
373
359
 
360
+ .flow-progress--striped .flow-progress__bar,
374
361
  .flow-progress--striped-right .flow-progress__bar {
375
- animation: flow-progress-stripes-right var(--flow-progress-stripe-speed) linear infinite;
362
+ background-image: linear-gradient(
363
+ 45deg,
364
+ rgba(255, 255, 255, 0.22) 25%,
365
+ transparent 25%,
366
+ transparent 50%,
367
+ rgba(255, 255, 255, 0.22) 50%,
368
+ rgba(255, 255, 255, 0.22) 75%,
369
+ transparent 75%,
370
+ transparent
371
+ );
372
+ background-size: calc(var(--flow-progress-stripe-size) * 2)
373
+ calc(var(--flow-progress-stripe-size) * 2);
374
+ animation: flow-progress-stripes var(--flow-progress-stripe-speed) linear infinite;
375
+ }
376
+
377
+ .flow-progress--striped-right .flow-progress__bar {
378
+ animation-direction: reverse;
376
379
  }
377
380
 
378
- @keyframes flow-progress-stripes-right {
381
+ @keyframes flow-progress-stripes {
379
382
  from {
380
- background-position: calc(var(--flow-progress-stripe-size) * -2.828) 0;
383
+ background-position: calc(var(--flow-progress-stripe-size) * 2) 0;
381
384
  }
382
385
  to {
383
386
  background-position: 0 0;
@@ -385,6 +388,7 @@
385
388
  }
386
389
 
387
390
  @media (prefers-reduced-motion: reduce) {
391
+ .flow-progress--striped .flow-progress__bar,
388
392
  .flow-progress--striped-right .flow-progress__bar {
389
393
  animation: none;
390
394
  background-position: 0 0;
@@ -415,6 +419,10 @@
415
419
  background-color: var(--color-warning);
416
420
  }
417
421
 
422
+ .flow-progress__segment--info {
423
+ background-color: var(--color-info);
424
+ }
425
+
418
426
  /* ---------------------------------------------------------
419
427
  7. MINIMAL TIMELINE (A)
420
428
  --------------------------------------------------------- */
@@ -462,8 +470,8 @@
462
470
  }
463
471
 
464
472
  .timeline__point--success {
465
- border-color: var(--danger-soft-border, var(--color-danger));
466
- background-color: var(--danger-soft-surface, var(--color-danger-soft));
473
+ border-color: var(--success-soft-border, var(--color-success));
474
+ background-color: var(--success-soft-surface, var(--color-success-soft));
467
475
  }
468
476
 
469
477
  .timeline__point--info {
@@ -714,7 +722,7 @@
714
722
  }
715
723
 
716
724
  .journey__stage--info {
717
- border-color: var(--color-accent);
725
+ border-color: var(--color-info);
718
726
  background-color: var(--info-soft-surface, var(--color-info-soft));
719
727
  color: var(--info-soft-on, var(--color-on-info));
720
728
  }
@@ -793,27 +801,32 @@
793
801
  .process-flow__node--active {
794
802
  border-color: var(--color-accent);
795
803
  background-color: var(--accent-soft-surface, var(--color-accent-soft));
804
+ color: var(--accent-soft-on, var(--color-on-accent));
796
805
  }
797
806
 
798
807
  .process-flow__node--complete,
799
808
  .process-flow__node--success {
800
809
  border-color: var(--color-success);
801
810
  background-color: var(--success-soft-surface, var(--color-success-soft));
811
+ color: var(--success-soft-on, var(--color-on-success));
802
812
  }
803
813
 
804
814
  .process-flow__node--error {
805
815
  border-color: var(--color-danger);
806
816
  background-color: var(--danger-soft-surface, var(--color-danger-soft));
817
+ color: var(--danger-soft-on, var(--color-on-danger));
807
818
  }
808
819
 
809
820
  .process-flow__node--warning {
810
821
  border-color: var(--color-warning);
811
822
  background-color: var(--warning-soft-surface, var(--color-warning-soft));
823
+ color: var(--warning-soft-on, var(--color-on-warning));
812
824
  }
813
825
 
814
826
  .process-flow__node--info {
815
- border-color: var(--color-accent);
827
+ border-color: var(--color-info);
816
828
  background-color: var(--info-soft-surface, var(--color-info-soft));
829
+ color: var(--info-soft-on, var(--color-on-info));
817
830
  }
818
831
 
819
832
  .process-flow__icon {
@@ -1049,7 +1062,7 @@
1049
1062
  }
1050
1063
 
1051
1064
  .flow-branch__option--info {
1052
- border-color: var(--color-accent);
1065
+ border-color: var(--color-info);
1053
1066
  background-color: var(--info-soft-surface, var(--color-info-soft));
1054
1067
  color: var(--info-soft-on, var(--color-on-info));
1055
1068
  }
@@ -1 +1 @@
1
- .vds-flow,[data-vds-flow]{--flow-component-disabled-opacity:0.48;--flow-step-bullet-sm:var(--space-5);--flow-step-bullet-md:var(--space-5_5);--flow-step-bullet-lg:var(--space-6);--flow-timeline-point-sm:var(--space-2);--flow-timeline-point-md:var(--space-3);--flow-timeline-point-xs:var(--space-1_5);--flow-node-min-width:var(--space-40);--flow-stage-min-width:var(--space-48);--flow-grid-min-md:var(--flow-stage-min-width);--flow-icon-size-sm:var(--space-3);--flow-icon-size-md:var(--space-4);--flow-icon-size-lg:var(--space-5);--flow-gap-xs:var(--space-1);--flow-gap-sm:var(--space-2);--flow-gap-md:var(--space-3);--flow-gap-lg:var(--space-4);--flow-gap-xl:var(--space-8);--flow-inset-xs:var(--space-2);--flow-inset-sm:var(--space-3);--flow-inset-md:var(--space-4);--flow-inset-lg:var(--space-6);--flow-progress-stripe-size:var(--space-3);--flow-progress-stripe-speed:1.2s}.flow--compact .flow{gap:var(--flow-gap-lg)}.flow--compact .flow__body{gap:var(--flow-gap-md)}.flow--compact .steps,.flow--compact .timeline{gap:var(--flow-gap-sm)}.flow--compact .journey{gap:var(--flow-gap-md)}.flow--compact .process-flow{gap:var(--flow-gap-sm)}.flow--compact .state-flow{gap:var(--flow-gap-xs)}.flow--compact .form-flow{gap:var(--flow-gap-md)}.steps__item--upcoming{color:var(--color-text-soft)}.flow-branch__option--upcoming,.journey__stage--upcoming,.process-flow__node--upcoming,.state-flow__item--upcoming{background-color:var(--color-surface-subtle);border-color:var(--color-border-subtle);color:var(--color-text-muted)}.flow-branch__option--clickable:focus-visible,.journey__stage--clickable:focus-visible,.process-flow__node--clickable:focus-visible,.steps__item--clickable:focus-visible,.steps__item:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.steps__item--disabled,.steps__item[aria-disabled=true]{cursor:not-allowed;opacity:var(--flow-component-disabled-opacity)}.flow-branch__option--disabled,.flow-branch__option[aria-disabled=true],.journey__stage--disabled,.journey__stage[aria-disabled=true],.process-flow__node--disabled,.process-flow__node[aria-disabled=true]{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.flow{gap:var(--space-8)}.flow,.flow__header{display:flex;flex-direction:column}.flow__header{gap:var(--space-2)}.flow__title{font-size:var(--text-lg);font-weight:600}.flow__subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.flow__body{display:flex;flex-direction:column;gap:var(--space-6)}.flow__nav{justify-content:flex-end}.flow__nav,.steps{display:flex;gap:var(--space-4)}.steps,.steps__item{align-items:center}.steps__item{color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--flow-gap-sm)}.steps__item--clickable{cursor:pointer}.steps__item--clickable:hover .steps__label{color:var(--color-text)}.steps__item--clickable:active{opacity:.95;transform:translateY(1px)}.steps__item--error{color:var(--color-danger-strong)}.steps__item--error .steps__bullet{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--danger-soft-border,var(--color-danger));color:var(--danger-soft-on,var(--color-on-danger))}.steps__item--warning{color:var(--color-warning-strong)}.steps__item--warning .steps__bullet{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--warning-soft-border,var(--color-warning));color:var(--warning-soft-on,var(--color-on-warning))}.steps__item[aria-current=step],.steps__item[aria-current=step] .steps__label{color:var(--color-text)}.steps__bullet{align-items:center;background-color:var(--color-surface-subtle);border:var(--border-width) solid var(--color-border-subtle);border-radius:999px;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-xxs);height:var(--flow-step-bullet-md);justify-content:center;width:var(--flow-step-bullet-md)}.steps__label{white-space:nowrap}.steps__line{background-color:var(--color-border-subtle);flex:1;height:var(--border-width)}.steps__item--active .steps__bullet{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--accent-soft-border,var(--color-accent));color:var(--accent-soft-on,var(--color-on-accent))}.steps__item--complete .steps__bullet{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--success-soft-border,var(--color-success));color:var(--success-soft-on,var(--color-on-success));opacity:.7}.steps__item--active,.steps__item--complete{color:var(--color-text)}.steps--a .steps__bullet{height:var(--flow-step-bullet-lg);width:var(--flow-step-bullet-lg)}.steps--c .steps__bullet{font-size:var(--text-xxs);height:var(--flow-step-bullet-sm);width:var(--flow-step-bullet-sm)}.steps--vertical{flex-direction:column}.steps--vertical,.steps--vertical .steps__item{align-items:flex-start}.steps--vertical .steps__line{background-color:var(--color-border-subtle);flex:auto;height:auto;margin-left:calc(var(--flow-step-bullet-md)/2 - var(--border-width)/2);min-height:var(--flow-gap-xl);width:var(--border-width)}.flow-progress{border-radius:var(--radius-sm);height:var(--border-width-strong);overflow:hidden;width:100%}.flow-progress,.flow-progress__bar{background-color:var(--color-muted-bg)}.flow-progress__bar{height:100%;transition:width .2s ease;width:0}.flow-progress--striped .flow-progress__bar{animation:flow-progress-stripes var(--flow-progress-stripe-speed) linear infinite;background-image:repeating-linear-gradient(45deg,var(--color-text-soft) 0,var(--color-text-soft) var(--flow-progress-stripe-size),var(--color-muted-bg) var(--flow-progress-stripe-size),var(--color-muted-bg) calc(var(--flow-progress-stripe-size)*2))}.flow-progress--striped .flow-progress__bar--error{background-image:repeating-linear-gradient(45deg,var(--color-danger) 0,var(--color-danger) var(--flow-progress-stripe-size),var(--color-danger-soft) var(--flow-progress-stripe-size),var(--color-danger-soft) calc(var(--flow-progress-stripe-size)*2))}.flow-progress--striped .flow-progress__bar--warning{background-image:repeating-linear-gradient(45deg,var(--color-warning) 0,var(--color-warning) var(--flow-progress-stripe-size),var(--color-warning-soft) var(--flow-progress-stripe-size),var(--color-warning-soft) calc(var(--flow-progress-stripe-size)*2))}@keyframes flow-progress-stripes{0%{background-position:0 0}to{background-position:calc(var(--flow-progress-stripe-size)*-2.828) 0}}@media (prefers-reduced-motion:reduce){.flow-progress--striped .flow-progress__bar{animation:none;background-position:0 0}}.flow-progress--striped-right .flow-progress__bar{animation:flow-progress-stripes-right var(--flow-progress-stripe-speed) linear infinite}@keyframes flow-progress-stripes-right{0%{background-position:calc(var(--flow-progress-stripe-size)*-2.828) 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.flow-progress--striped-right .flow-progress__bar{animation:none;background-position:0 0}}.flow-progress--segments{border-radius:var(--radius-sm);display:flex;height:var(--border-width-strong);overflow:hidden}.flow-progress__segment{background-color:var(--color-muted-bg);flex:1}.flow-progress__segment--complete{background-color:var(--color-success)}.flow-progress__segment--error{background-color:var(--color-danger)}.flow-progress__segment--warning{background-color:var(--color-warning)}.timeline{display:flex;flex-direction:column;gap:var(--flow-gap-md)}.timeline__item{align-items:stretch;display:flex;gap:var(--flow-gap-sm)}.timeline__point-wrap{align-items:center;display:flex;flex-direction:column;gap:var(--flow-gap-xs)}.timeline__point{background-color:var(--color-surface);border:var(--border-width-strong) solid var(--color-accent);border-radius:999px;flex-shrink:0;height:var(--flow-timeline-point-sm);width:var(--flow-timeline-point-sm)}.timeline__point--upcoming{border-color:var(--color-border-subtle)}.timeline__point--error{background-color:var(--color-danger-soft);border-color:var(--color-danger)}.timeline__point--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--warning-soft-border,var(--color-warning))}.timeline__point--success{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--danger-soft-border,var(--color-danger))}.timeline__point--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--info-soft-border,var(--color-info))}.timeline__icon{color:var(--color-icon-muted);height:var(--flow-icon-size-md);width:var(--flow-icon-size-md)}.timeline__icon--left{margin-right:var(--flow-gap-xs)}.timeline__icon--right{margin-left:var(--flow-gap-xs)}.timeline__icon--top{margin-bottom:var(--flow-gap-xs)}.timeline__line{background-color:var(--color-border-subtle);flex:1;width:var(--border-width-strong)}.timeline__content{display:flex;flex:1;flex-direction:column;gap:var(--flow-gap-xs)}.timeline__label{align-items:center;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2)}.timeline__note{color:var(--color-text-muted);font-size:var(--text-xs)}.timeline--horizontal{align-items:flex-start;flex-direction:row}.timeline--horizontal .timeline__item{align-items:center;flex-direction:column}.timeline--horizontal .timeline__point-wrap{flex-direction:row}.timeline--horizontal .timeline__line{height:var(--border-width-strong);width:var(--component-gap-xl)}.timeline--compact .timeline__item{gap:var(--flow-gap-xs)}.timeline--compact .timeline__note{font-size:var(--text-xxs)}.timeline--compact .timeline__point{height:var(--flow-timeline-point-xs);width:var(--flow-timeline-point-xs)}.timeline--compact .timeline__icon{height:var(--flow-icon-size-sm);width:var(--flow-icon-size-sm)}.timeline--rich{display:flex;flex-direction:column;gap:var(--flow-gap-lg)}.timeline--rich .timeline__item{align-items:stretch;background-color:var(--flow-zebra-bg-alt);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-sm);display:flex;gap:var(--flow-gap-md);padding:var(--flow-inset-sm)}.timeline--rich .timeline__item:nth-child(2n){background-color:var(--flow-zebra-bg)}.timeline--rich .timeline__item:nth-child(odd){background-color:var(--flow-zebra-bg-alt)}.timeline--rich .timeline__point-wrap{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:var(--flow-gap-xs)}.timeline--rich .timeline__point{height:var(--flow-timeline-point-md);width:var(--flow-timeline-point-md)}.timeline--rich .timeline__line{background-color:var(--color-border-subtle);border-radius:var(--radius-sm);flex:1;width:var(--border-width-strong)}.timeline--rich .timeline__item:last-child .timeline__line{display:none}.timeline-events{display:flex;flex-direction:column;gap:var(--space-4)}.timeline-events .timeline__item{align-items:flex-start;gap:var(--space-4)}.timeline__timestamp{color:var(--color-text-soft);font-size:var(--text-xxs)}.timeline__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.timeline__body{color:var(--color-text);font-size:var(--text-sm);margin-top:var(--flow-gap-xs)}.timeline--audit .timeline__label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.timeline--audit .timeline__body{font-size:var(--text-xs)}.journey{display:flex;flex-wrap:wrap;gap:var(--flow-gap-lg)}.journey--compact{gap:var(--flow-gap-md)}.journey__stage{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex:1 1 var(--flow-stage-min-width);flex-direction:column;gap:var(--flow-gap-sm);min-width:var(--flow-stage-min-width);padding:var(--flow-inset-md)}.journey__stage--clickable{cursor:pointer}.journey__stage--clickable:hover{border-color:var(--color-accent)}.journey__stage--clickable:active{opacity:.96;transform:translateY(1px)}.journey__stage--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.journey__stage--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.journey__stage--complete,.journey__stage--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.journey__stage--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.journey__stage--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.journey__stage--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-accent);color:var(--info-soft-on,var(--color-on-info))}.journey__icon{color:var(--color-icon-muted);height:var(--flow-icon-size-lg);width:var(--flow-icon-size-lg)}.journey__marker{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.journey__title{font-size:var(--text-md);font-weight:600}.journey__details{color:var(--color-text-muted);font-size:var(--text-sm)}.process-flow{align-items:center;display:flex;flex-wrap:wrap;gap:var(--flow-gap-md)}.process-flow--compact{gap:var(--flow-gap-sm)}.process-flow__node{align-items:center;background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--flow-gap-xs);min-width:var(--flow-node-min-width);padding:var(--flow-inset-sm) var(--flow-inset-md);text-align:center}.process-flow__node--clickable{cursor:pointer}.process-flow__node--clickable:hover{border-color:var(--color-accent)}.process-flow__node--clickable:active{opacity:.96;transform:translateY(1px)}.process-flow__node--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.process-flow__node--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent)}.process-flow__node--complete,.process-flow__node--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success)}.process-flow__node--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger)}.process-flow__node--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning)}.process-flow__node--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-accent)}.process-flow__icon{color:var(--color-icon-muted);flex-shrink:0;height:var(--flow-icon-size-md);margin-bottom:0;width:var(--flow-icon-size-md)}.process-flow__arrow{background-color:var(--color-border-subtle);flex-shrink:0;height:var(--border-width);width:var(--space-6)}.process-flow__arrow--error{background-color:var(--color-danger)}.process-flow__arrow--warning{background-color:var(--color-warning)}.process-flow--vertical{align-items:flex-start;flex-direction:column}.process-flow--vertical .process-flow__arrow{height:var(--space-6);margin-left:calc(var(--flow-node-min-width)/2 - var(--border-width)/2);width:var(--border-width)}.state-flow{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--flow-gap-sm)}.state-flow__item{background-color:var(--color-surface-subtle);border:var(--border-width) solid var(--color-border-subtle);border-radius:999px;color:var(--color-text-muted);font-size:var(--text-xs);padding:var(--flow-inset-xs) var(--flow-inset-sm)}.state-flow__item--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.state-flow__item--complete{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.state-flow__item--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.state-flow__item--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.state-flow__item--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-accent);color:var(--info-soft-on,var(--color-on-info))}.form-flow{gap:var(--flow-gap-lg);justify-content:center}.form-flow,.form-flow__step{display:flex;flex-direction:column}.form-flow__step{gap:var(--flow-gap-md)}.form-flow__step--error{background-color:var(--color-danger-soft);border-left:var(--border-width-strong) solid var(--color-danger);padding-left:var(--flow-inset-sm)}.form-flow__step--warning{background-color:var(--color-warning-soft);border-left:var(--border-width-strong) solid var(--color-warning);padding-left:var(--flow-inset-sm)}.form-flow__step--success,.form-flow__step--valid{background-color:var(--color-success-soft);border-left:var(--border-width-strong) solid var(--color-success);padding-left:var(--flow-inset-sm)}.form-flow__actions{display:flex;gap:var(--flow-gap-md);justify-content:space-between}.form-flow__actions-right{display:inline-flex;gap:var(--flow-gap-md);margin-left:auto}.flow-branch{grid-gap:var(--flow-gap-lg);display:grid;gap:var(--flow-gap-lg);grid-template-columns:repeat(auto-fit,minmax(var(--flow-grid-min-md),1fr))}.flow-branch__icon{color:var(--color-icon-muted);flex-shrink:0;height:var(--flow-icon-size-md);width:var(--flow-icon-size-md)}.flow-branch__title{color:var(--color-text);font-size:var(--text-md);font-weight:600}.flow-branch__details{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--line-height-normal)}.flow-branch--compact{gap:var(--flow-gap-md)}.flow-branch--compact .flow-branch__title{font-size:var(--text-sm)}.flow-branch--compact .flow-branch__details{font-size:var(--text-xs)}.flow-branch__option{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--flow-gap-sm);padding:var(--flow-inset-md)}.flow-branch__option--clickable{cursor:pointer}.flow-branch__option--clickable:hover{border-color:var(--color-accent)}.flow-branch__option--clickable:active{opacity:.96;transform:translateY(1px)}.flow-branch__option--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.flow-branch__option--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.flow-branch__option--complete,.flow-branch__option--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.flow-branch__option--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.flow-branch__option--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.flow-branch__option--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-accent);color:var(--info-soft-on,var(--color-on-info))}.flow-branch__arrow{background-color:var(--color-border-subtle);flex-shrink:0;height:var(--border-width);margin-left:auto;margin-right:auto;width:var(--space-6)}.flow-branch__arrow--error{background-color:var(--color-danger)}.flow-branch__arrow--warning{background-color:var(--color-warning)}@media (max-width:768px){.steps{flex-wrap:wrap}.process-flow{align-items:flex-start;flex-direction:column}.process-flow__arrow{height:var(--space-4);width:var(--border-width)}.journey{flex-direction:column}.journey__stage{width:100%}}
1
+ .vds-flow,[data-vds-flow]{--flow-component-disabled-opacity:0.48;--flow-step-bullet-sm:var(--space-5);--flow-step-bullet-md:var(--space-5_5);--flow-step-bullet-lg:var(--space-6);--flow-timeline-point-sm:var(--space-2);--flow-timeline-point-md:var(--space-3);--flow-timeline-point-xs:var(--space-1_5);--flow-node-min-width:var(--space-40);--flow-stage-min-width:var(--space-48);--flow-grid-min-md:var(--flow-stage-min-width);--flow-icon-size-sm:var(--space-3);--flow-icon-size-md:var(--space-4);--flow-icon-size-lg:var(--space-5);--flow-gap-xs:var(--space-1);--flow-gap-sm:var(--space-2);--flow-gap-md:var(--space-3);--flow-gap-lg:var(--space-4);--flow-gap-xl:var(--space-8);--flow-inset-xs:var(--space-2);--flow-inset-sm:var(--space-3);--flow-inset-md:var(--space-4);--flow-inset-lg:var(--space-6);--flow-progress-stripe-size:var(--space-3);--flow-progress-stripe-speed:1.2s;--flow-progress-track:var(--color-muted-bg);--flow-progress-fill:var(--color-accent)}.flow--compact .flow,.flow--compact.flow{gap:var(--flow-gap-lg)}.flow--compact .flow__body{gap:var(--flow-gap-md)}.flow--compact .flow__nav,.flow--compact .steps,.flow--compact .timeline{gap:var(--flow-gap-sm)}.flow--compact .journey{gap:var(--flow-gap-md)}.flow--compact .process-flow{gap:var(--flow-gap-sm)}.flow--compact .state-flow{gap:var(--flow-gap-xs)}.flow--compact .form-flow{gap:var(--flow-gap-md)}.steps__item--upcoming{color:var(--color-text-soft)}.flow-branch__option--upcoming,.journey__stage--upcoming,.process-flow__node--upcoming,.state-flow__item--upcoming{background-color:var(--color-surface-subtle);border-color:var(--color-border-subtle);color:var(--color-text-muted)}.flow-branch__option--clickable:focus-visible,.journey__stage--clickable:focus-visible,.process-flow__node--clickable:focus-visible,.steps__item--clickable:focus-visible,.steps__item:focus-visible{outline:var(--focus-ring-width) solid var(--color-accent);outline-offset:var(--focus-ring-offset)}.steps__item--disabled,.steps__item[aria-disabled=true]{cursor:not-allowed;opacity:var(--flow-component-disabled-opacity)}.flow-branch__option--disabled,.flow-branch__option[aria-disabled=true],.journey__stage--disabled,.journey__stage[aria-disabled=true],.process-flow__node--disabled,.process-flow__node[aria-disabled=true]{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.flow{gap:var(--space-8)}.flow,.flow__header{display:flex;flex-direction:column}.flow__header{gap:var(--space-2)}.flow__title{font-size:var(--text-lg);font-weight:600}.flow__subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.flow__body{display:flex;flex-direction:column;gap:var(--space-6)}.flow__nav{justify-content:flex-end}.flow__nav,.steps{display:flex;gap:var(--space-4)}.steps,.steps__item{align-items:center}.steps__item{color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--flow-gap-sm)}.steps__item--clickable{cursor:pointer}.steps__item--clickable:hover .steps__label{color:var(--color-text)}.steps__item--clickable:active{opacity:.95;transform:translateY(1px)}.steps__item--error{color:var(--color-danger-strong)}.steps__item--error .steps__bullet{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--danger-soft-border,var(--color-danger));color:var(--danger-soft-on,var(--color-on-danger))}.steps__item--warning{color:var(--color-warning-strong)}.steps__item--warning .steps__bullet{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--warning-soft-border,var(--color-warning));color:var(--warning-soft-on,var(--color-on-warning))}.steps__item[aria-current=step],.steps__item[aria-current=step] .steps__label{color:var(--color-text)}.steps__bullet{align-items:center;background-color:var(--color-surface-subtle);border:var(--border-width) solid var(--color-border-subtle);border-radius:999px;color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:var(--text-xxs);height:var(--flow-step-bullet-md);justify-content:center;width:var(--flow-step-bullet-md)}.steps__label{white-space:nowrap}.steps__line{background-color:var(--color-border-subtle);flex:1;height:var(--border-width)}.steps__item--active .steps__bullet{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--accent-soft-border,var(--color-accent));color:var(--accent-soft-on,var(--color-on-accent))}.steps__item--complete .steps__bullet{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--success-soft-border,var(--color-success));color:var(--success-soft-on,var(--color-on-success));opacity:.7}.steps__item--active,.steps__item--complete{color:var(--color-text)}.steps--a .steps__bullet{height:var(--flow-step-bullet-lg);width:var(--flow-step-bullet-lg)}.steps--c .steps__bullet{font-size:var(--text-xxs);height:var(--flow-step-bullet-sm);width:var(--flow-step-bullet-sm)}.steps--vertical{flex-direction:column}.steps--vertical,.steps--vertical .steps__item{align-items:flex-start}.steps--vertical .steps__line{background-color:var(--color-border-subtle);flex:auto;height:auto;margin-left:calc(var(--flow-step-bullet-md)/2 - var(--border-width)/2);min-height:var(--flow-gap-xl);width:var(--border-width)}.steps--vertical .steps__label{white-space:normal}.flow-progress{background-color:var(--flow-progress-track);border-radius:var(--radius-sm);height:var(--border-width-strong);overflow:hidden;width:100%}.flow-progress__bar{background-color:var(--flow-progress-fill,var(--color-accent));height:100%;transition:width var(--transition-normal);width:0}.flow-progress__bar--success{--flow-progress-fill:var(--color-success)}.flow-progress__bar--warning{--flow-progress-fill:var(--color-warning)}.flow-progress__bar--error{--flow-progress-fill:var(--color-danger)}.flow-progress__bar--info{--flow-progress-fill:var(--color-info)}@media (prefers-reduced-motion:reduce){.flow-progress__bar{transition:none}}.flow-progress--striped .flow-progress__bar,.flow-progress--striped-right .flow-progress__bar{animation:flow-progress-stripes var(--flow-progress-stripe-speed) linear infinite;background-image:linear-gradient(45deg,hsla(0,0%,100%,.22) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.22) 0,hsla(0,0%,100%,.22) 75%,transparent 0,transparent);background-size:calc(var(--flow-progress-stripe-size)*2) calc(var(--flow-progress-stripe-size)*2)}.flow-progress--striped-right .flow-progress__bar{animation-direction:reverse}@keyframes flow-progress-stripes{0%{background-position:calc(var(--flow-progress-stripe-size)*2) 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.flow-progress--striped .flow-progress__bar,.flow-progress--striped-right .flow-progress__bar{animation:none;background-position:0 0}}.flow-progress--segments{border-radius:var(--radius-sm);display:flex;height:var(--border-width-strong);overflow:hidden}.flow-progress__segment{background-color:var(--color-muted-bg);flex:1}.flow-progress__segment--complete{background-color:var(--color-success)}.flow-progress__segment--error{background-color:var(--color-danger)}.flow-progress__segment--warning{background-color:var(--color-warning)}.flow-progress__segment--info{background-color:var(--color-info)}.timeline{display:flex;flex-direction:column;gap:var(--flow-gap-md)}.timeline__item{align-items:stretch;display:flex;gap:var(--flow-gap-sm)}.timeline__point-wrap{align-items:center;display:flex;flex-direction:column;gap:var(--flow-gap-xs)}.timeline__point{background-color:var(--color-surface);border:var(--border-width-strong) solid var(--color-accent);border-radius:999px;flex-shrink:0;height:var(--flow-timeline-point-sm);width:var(--flow-timeline-point-sm)}.timeline__point--upcoming{border-color:var(--color-border-subtle)}.timeline__point--error{background-color:var(--color-danger-soft);border-color:var(--color-danger)}.timeline__point--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--warning-soft-border,var(--color-warning))}.timeline__point--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--success-soft-border,var(--color-success))}.timeline__point--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--info-soft-border,var(--color-info))}.timeline__icon{color:var(--color-icon-muted);height:var(--flow-icon-size-md);width:var(--flow-icon-size-md)}.timeline__icon--left{margin-right:var(--flow-gap-xs)}.timeline__icon--right{margin-left:var(--flow-gap-xs)}.timeline__icon--top{margin-bottom:var(--flow-gap-xs)}.timeline__line{background-color:var(--color-border-subtle);flex:1;width:var(--border-width-strong)}.timeline__content{display:flex;flex:1;flex-direction:column;gap:var(--flow-gap-xs)}.timeline__label{align-items:center;display:flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2)}.timeline__note{color:var(--color-text-muted);font-size:var(--text-xs)}.timeline--horizontal{align-items:flex-start;flex-direction:row}.timeline--horizontal .timeline__item{align-items:center;flex-direction:column}.timeline--horizontal .timeline__point-wrap{flex-direction:row}.timeline--horizontal .timeline__line{height:var(--border-width-strong);width:var(--component-gap-xl)}.timeline--compact .timeline__item{gap:var(--flow-gap-xs)}.timeline--compact .timeline__note{font-size:var(--text-xxs)}.timeline--compact .timeline__point{height:var(--flow-timeline-point-xs);width:var(--flow-timeline-point-xs)}.timeline--compact .timeline__icon{height:var(--flow-icon-size-sm);width:var(--flow-icon-size-sm)}.timeline--rich{display:flex;flex-direction:column;gap:var(--flow-gap-lg)}.timeline--rich .timeline__item{align-items:stretch;background-color:var(--flow-zebra-bg-alt);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-sm);display:flex;gap:var(--flow-gap-md);padding:var(--flow-inset-sm)}.timeline--rich .timeline__item:nth-child(2n){background-color:var(--flow-zebra-bg)}.timeline--rich .timeline__item:nth-child(odd){background-color:var(--flow-zebra-bg-alt)}.timeline--rich .timeline__point-wrap{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:var(--flow-gap-xs)}.timeline--rich .timeline__point{height:var(--flow-timeline-point-md);width:var(--flow-timeline-point-md)}.timeline--rich .timeline__line{background-color:var(--color-border-subtle);border-radius:var(--radius-sm);flex:1;width:var(--border-width-strong)}.timeline--rich .timeline__item:last-child .timeline__line{display:none}.timeline-events{display:flex;flex-direction:column;gap:var(--space-4)}.timeline-events .timeline__item{align-items:flex-start;gap:var(--space-4)}.timeline__timestamp{color:var(--color-text-soft);font-size:var(--text-xxs)}.timeline__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.timeline__body{color:var(--color-text);font-size:var(--text-sm);margin-top:var(--flow-gap-xs)}.timeline--audit .timeline__label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.timeline--audit .timeline__body{font-size:var(--text-xs)}.journey{display:flex;flex-wrap:wrap;gap:var(--flow-gap-lg)}.journey--compact{gap:var(--flow-gap-md)}.journey__stage{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex:1 1 var(--flow-stage-min-width);flex-direction:column;gap:var(--flow-gap-sm);min-width:var(--flow-stage-min-width);padding:var(--flow-inset-md)}.journey__stage--clickable{cursor:pointer}.journey__stage--clickable:hover{border-color:var(--color-accent)}.journey__stage--clickable:active{opacity:.96;transform:translateY(1px)}.journey__stage--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.journey__stage--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.journey__stage--complete,.journey__stage--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.journey__stage--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.journey__stage--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.journey__stage--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-info);color:var(--info-soft-on,var(--color-on-info))}.journey__icon{color:var(--color-icon-muted);height:var(--flow-icon-size-lg);width:var(--flow-icon-size-lg)}.journey__marker{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.journey__title{font-size:var(--text-md);font-weight:600}.journey__details{color:var(--color-text-muted);font-size:var(--text-sm)}.process-flow{align-items:center;display:flex;flex-wrap:wrap;gap:var(--flow-gap-md)}.process-flow--compact{gap:var(--flow-gap-sm)}.process-flow__node{align-items:center;background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--flow-gap-xs);min-width:var(--flow-node-min-width);padding:var(--flow-inset-sm) var(--flow-inset-md);text-align:center}.process-flow__node--clickable{cursor:pointer}.process-flow__node--clickable:hover{border-color:var(--color-accent)}.process-flow__node--clickable:active{opacity:.96;transform:translateY(1px)}.process-flow__node--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.process-flow__node--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.process-flow__node--complete,.process-flow__node--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.process-flow__node--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.process-flow__node--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.process-flow__node--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-info);color:var(--info-soft-on,var(--color-on-info))}.process-flow__icon{color:var(--color-icon-muted);flex-shrink:0;height:var(--flow-icon-size-md);margin-bottom:0;width:var(--flow-icon-size-md)}.process-flow__arrow{background-color:var(--color-border-subtle);flex-shrink:0;height:var(--border-width);width:var(--space-6)}.process-flow__arrow--error{background-color:var(--color-danger)}.process-flow__arrow--warning{background-color:var(--color-warning)}.process-flow--vertical{align-items:flex-start;flex-direction:column}.process-flow--vertical .process-flow__arrow{height:var(--space-6);margin-left:calc(var(--flow-node-min-width)/2 - var(--border-width)/2);width:var(--border-width)}.state-flow{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--flow-gap-sm)}.state-flow__item{background-color:var(--color-surface-subtle);border:var(--border-width) solid var(--color-border-subtle);border-radius:999px;color:var(--color-text-muted);font-size:var(--text-xs);padding:var(--flow-inset-xs) var(--flow-inset-sm)}.state-flow__item--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.state-flow__item--complete{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.state-flow__item--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.state-flow__item--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.state-flow__item--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-accent);color:var(--info-soft-on,var(--color-on-info))}.form-flow{gap:var(--flow-gap-lg);justify-content:center}.form-flow,.form-flow__step{display:flex;flex-direction:column}.form-flow__step{gap:var(--flow-gap-md)}.form-flow__step--error{background-color:var(--color-danger-soft);border-left:var(--border-width-strong) solid var(--color-danger);padding-left:var(--flow-inset-sm)}.form-flow__step--warning{background-color:var(--color-warning-soft);border-left:var(--border-width-strong) solid var(--color-warning);padding-left:var(--flow-inset-sm)}.form-flow__step--success,.form-flow__step--valid{background-color:var(--color-success-soft);border-left:var(--border-width-strong) solid var(--color-success);padding-left:var(--flow-inset-sm)}.form-flow__actions{display:flex;gap:var(--flow-gap-md);justify-content:space-between}.form-flow__actions-right{display:inline-flex;gap:var(--flow-gap-md);margin-left:auto}.flow-branch{grid-gap:var(--flow-gap-lg);display:grid;gap:var(--flow-gap-lg);grid-template-columns:repeat(auto-fit,minmax(var(--flow-grid-min-md),1fr))}.flow-branch__icon{color:var(--color-icon-muted);flex-shrink:0;height:var(--flow-icon-size-md);width:var(--flow-icon-size-md)}.flow-branch__title{color:var(--color-text);font-size:var(--text-md);font-weight:600}.flow-branch__details{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--line-height-normal)}.flow-branch--compact{gap:var(--flow-gap-md)}.flow-branch--compact .flow-branch__title{font-size:var(--text-sm)}.flow-branch--compact .flow-branch__details{font-size:var(--text-xs)}.flow-branch__option{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--flow-gap-sm);padding:var(--flow-inset-md)}.flow-branch__option--clickable{cursor:pointer}.flow-branch__option--clickable:hover{border-color:var(--color-accent)}.flow-branch__option--clickable:active{opacity:.96;transform:translateY(1px)}.flow-branch__option--disabled{opacity:var(--flow-component-disabled-opacity);pointer-events:none}.flow-branch__option--active{background-color:var(--accent-soft-surface,var(--color-accent-soft));border-color:var(--color-accent);color:var(--accent-soft-on,var(--color-on-accent))}.flow-branch__option--complete,.flow-branch__option--success{background-color:var(--success-soft-surface,var(--color-success-soft));border-color:var(--color-success);color:var(--success-soft-on,var(--color-on-success))}.flow-branch__option--error{background-color:var(--danger-soft-surface,var(--color-danger-soft));border-color:var(--color-danger);color:var(--danger-soft-on,var(--color-on-danger))}.flow-branch__option--warning{background-color:var(--warning-soft-surface,var(--color-warning-soft));border-color:var(--color-warning);color:var(--warning-soft-on,var(--color-on-warning))}.flow-branch__option--info{background-color:var(--info-soft-surface,var(--color-info-soft));border-color:var(--color-info);color:var(--info-soft-on,var(--color-on-info))}.flow-branch__arrow{background-color:var(--color-border-subtle);flex-shrink:0;height:var(--border-width);margin-left:auto;margin-right:auto;width:var(--space-6)}.flow-branch__arrow--error{background-color:var(--color-danger)}.flow-branch__arrow--warning{background-color:var(--color-warning)}@media (max-width:768px){.steps{flex-wrap:wrap}.process-flow{align-items:flex-start;flex-direction:column}.process-flow__arrow{height:var(--space-4);width:var(--border-width)}.journey{flex-direction:column}.journey__stage{width:100%}}