@vanduo-oss/framework 1.2.5 → 1.2.7

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/README.md +31 -5
  2. package/css/components/affix.css +53 -0
  3. package/css/components/bubble.css +165 -0
  4. package/css/components/datepicker.css +216 -0
  5. package/css/components/fab.css +225 -0
  6. package/css/components/flow.css +265 -0
  7. package/css/components/rating.css +112 -0
  8. package/css/components/ripple.css +63 -0
  9. package/css/components/sidenav.css +70 -0
  10. package/css/components/spotlight.css +119 -0
  11. package/css/components/stepper.css +176 -0
  12. package/css/components/suggest.css +119 -0
  13. package/css/components/timeline.css +201 -0
  14. package/css/components/timepicker.css +80 -0
  15. package/css/components/transfer.css +165 -0
  16. package/css/components/tree.css +173 -0
  17. package/css/components/waypoint.css +59 -0
  18. package/css/utilities/color-utilities.css +352 -0
  19. package/css/vanduo.css +20 -0
  20. package/dist/build-info.json +3 -3
  21. package/dist/vanduo.cjs.js +2152 -4
  22. package/dist/vanduo.cjs.js.map +4 -4
  23. package/dist/vanduo.cjs.min.js +5 -5
  24. package/dist/vanduo.cjs.min.js.map +4 -4
  25. package/dist/vanduo.css +3253 -271
  26. package/dist/vanduo.css.map +1 -1
  27. package/dist/vanduo.esm.js +2152 -4
  28. package/dist/vanduo.esm.js.map +4 -4
  29. package/dist/vanduo.esm.min.js +5 -5
  30. package/dist/vanduo.esm.min.js.map +4 -4
  31. package/dist/vanduo.js +2152 -4
  32. package/dist/vanduo.js.map +4 -4
  33. package/dist/vanduo.min.css +2 -2
  34. package/dist/vanduo.min.css.map +1 -1
  35. package/dist/vanduo.min.js +5 -5
  36. package/dist/vanduo.min.js.map +4 -4
  37. package/js/components/affix.js +129 -0
  38. package/js/components/bubble.js +203 -0
  39. package/js/components/datepicker.js +287 -0
  40. package/js/components/flow.js +264 -0
  41. package/js/components/rating.js +160 -0
  42. package/js/components/ripple.js +74 -0
  43. package/js/components/sidenav.js +9 -2
  44. package/js/components/spotlight.js +295 -0
  45. package/js/components/stepper.js +97 -0
  46. package/js/components/suggest.js +219 -0
  47. package/js/components/timepicker.js +142 -0
  48. package/js/components/transfer.js +206 -0
  49. package/js/components/tree.js +191 -0
  50. package/js/components/validate.js +185 -0
  51. package/js/components/waypoint.js +120 -0
  52. package/js/index.js +16 -0
  53. package/package.json +1 -1
package/dist/vanduo.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Vanduo v1.2.5 | Built: 2026-03-08T10:52:48.224Z | git:f37c545 | development */
1
+ /*! Vanduo v1.2.7 | Built: 2026-03-12T16:17:38.253Z | git:2c1277a | development */
2
2
  *, :before, :after {
3
3
  box-sizing: border-box;
4
4
  }
@@ -56029,6 +56029,60 @@ h1 .vd-badge, h2 .vd-badge, h3 .vd-badge, h4 .vd-badge, h5 .vd-badge, h6 .vd-bad
56029
56029
  margin-right: var(--sidenav-width-lg);
56030
56030
  }
56031
56031
 
56032
+ .vd-offcanvas {
56033
+ z-index: var(--sidenav-z-index);
56034
+ width: var(--sidenav-width);
56035
+ background-color: var(--sidenav-bg);
56036
+ height: 100vh;
56037
+ box-shadow: var(--shadow-lg);
56038
+ transition: var(--sidenav-transition);
56039
+ flex-direction: column;
56040
+ display: flex;
56041
+ position: fixed;
56042
+ top: 0;
56043
+ left: 0;
56044
+ overflow: hidden auto;
56045
+ transform: translateX(-100%);
56046
+ }
56047
+
56048
+ .vd-offcanvas.is-open {
56049
+ transform: translateX(0)translateY(0);
56050
+ }
56051
+
56052
+ .vd-sidenav-top, .vd-offcanvas-top {
56053
+ width: 100%;
56054
+ height: auto;
56055
+ max-height: 80vh;
56056
+ inset: 0 0 auto;
56057
+ transform: translateY(-100%);
56058
+ }
56059
+
56060
+ .vd-sidenav-top.is-open, .vd-offcanvas-top.is-open {
56061
+ transform: translateY(0);
56062
+ }
56063
+
56064
+ .vd-sidenav-bottom, .vd-offcanvas-bottom {
56065
+ width: 100%;
56066
+ height: auto;
56067
+ max-height: 80vh;
56068
+ inset: auto 0 0;
56069
+ transform: translateY(100%);
56070
+ }
56071
+
56072
+ .vd-sidenav-bottom.is-open, .vd-offcanvas-bottom.is-open {
56073
+ transform: translateY(0);
56074
+ }
56075
+
56076
+ .vd-offcanvas-right {
56077
+ left: auto;
56078
+ right: 0;
56079
+ transform: translateX(100%);
56080
+ }
56081
+
56082
+ .vd-offcanvas-right.is-open {
56083
+ transform: translateX(0);
56084
+ }
56085
+
56032
56086
  .body-sidenav-open {
56033
56087
  overflow: hidden;
56034
56088
  }
@@ -60496,377 +60550,3305 @@ input.vd-doc-search-input {
60496
60550
  }
60497
60551
  }
60498
60552
 
60499
- :root {
60500
- --parallax-speed-slow: .5;
60501
- --parallax-speed-medium: 1;
60502
- --parallax-speed-fast: 1.5;
60553
+ .vd-bg-red-0 {
60554
+ background-color: var(--red-0);
60503
60555
  }
60504
60556
 
60505
- .vd-parallax {
60506
- width: 100%;
60507
- position: relative;
60508
- overflow: hidden;
60557
+ .vd-bg-red-1 {
60558
+ background-color: var(--red-1);
60509
60559
  }
60510
60560
 
60511
- .vd-parallax-layer {
60512
- will-change: transform;
60513
- backface-visibility: hidden;
60514
- width: 100%;
60515
- height: 100%;
60516
- position: absolute;
60517
- top: 0;
60518
- left: 0;
60519
- transform: translateZ(0);
60561
+ .vd-bg-red-2 {
60562
+ background-color: var(--red-2);
60520
60563
  }
60521
60564
 
60522
- .vd-parallax-content {
60523
- z-index: 1;
60524
- position: relative;
60565
+ .vd-bg-red-3 {
60566
+ background-color: var(--red-3);
60525
60567
  }
60526
60568
 
60527
- .vd-parallax-slow {
60528
- --parallax-speed: var(--parallax-speed-slow);
60569
+ .vd-bg-red-4 {
60570
+ background-color: var(--red-4);
60529
60571
  }
60530
60572
 
60531
- .vd-parallax-medium {
60532
- --parallax-speed: var(--parallax-speed-medium);
60573
+ .vd-bg-red-5 {
60574
+ background-color: var(--red-5);
60533
60575
  }
60534
60576
 
60535
- .vd-parallax-fast {
60536
- --parallax-speed: var(--parallax-speed-fast);
60577
+ .vd-bg-red-6 {
60578
+ background-color: var(--red-6);
60537
60579
  }
60538
60580
 
60539
- .vd-parallax-image {
60540
- object-fit: cover;
60541
- will-change: transform;
60542
- width: 100%;
60543
- height: 100%;
60581
+ .vd-bg-red-7 {
60582
+ background-color: var(--red-7);
60544
60583
  }
60545
60584
 
60546
- .vd-parallax-bg {
60547
- will-change: transform;
60548
- background-position: center;
60549
- background-repeat: no-repeat;
60550
- background-size: cover;
60551
- width: 100%;
60552
- height: 120%;
60553
- position: absolute;
60554
- top: 0;
60555
- left: 0;
60585
+ .vd-bg-red-8 {
60586
+ background-color: var(--red-8);
60556
60587
  }
60557
60588
 
60558
- .vd-parallax-sm {
60559
- min-height: 377px;
60589
+ .vd-bg-red-9 {
60590
+ background-color: var(--red-9);
60560
60591
  }
60561
60592
 
60562
- .vd-parallax-md {
60563
- min-height: 610px;
60593
+ .vd-text-red-0 {
60594
+ color: var(--red-0);
60564
60595
  }
60565
60596
 
60566
- .vd-parallax-lg {
60567
- min-height: 987px;
60597
+ .vd-text-red-1 {
60598
+ color: var(--red-1);
60568
60599
  }
60569
60600
 
60570
- .vd-parallax-full {
60571
- min-height: 100vh;
60601
+ .vd-text-red-2 {
60602
+ color: var(--red-2);
60572
60603
  }
60573
60604
 
60574
- @media (prefers-reduced-motion: reduce) {
60575
- .vd-parallax-layer, .vd-parallax-bg, .vd-parallax-image {
60576
- will-change: auto;
60577
- transform: none !important;
60578
- }
60605
+ .vd-text-red-3 {
60606
+ color: var(--red-3);
60579
60607
  }
60580
60608
 
60581
- @media (width <= 767.98px) {
60582
- .vd-parallax-disable-mobile .vd-parallax-layer, .vd-parallax-disable-mobile .vd-parallax-bg, .vd-parallax-disable-mobile .vd-parallax-image {
60583
- will-change: auto;
60584
- transform: none !important;
60585
- }
60609
+ .vd-text-red-4 {
60610
+ color: var(--red-4);
60586
60611
  }
60587
60612
 
60588
- :root {
60589
- --draggable-bg: var(--color-white);
60590
- --draggable-border-color: var(--border-color);
60591
- --draggable-hover-bg: var(--bg-secondary);
60592
- --draggable-hover-border-color: var(--color-primary);
60593
- --draggable-dragging-bg: var(--bg-secondary);
60594
- --draggable-dragging-border-color: var(--color-primary);
60595
- --draggable-dragging-shadow: var(--shadow-lg);
60596
- --drop-zone-bg: var(--color-primary-alpha-5);
60597
- --drop-zone-border-color: var(--color-primary-alpha-30);
60598
- --drop-zone-hover-bg: var(--color-primary-alpha-10);
60599
- --drop-zone-hover-border-color: var(--color-primary);
60600
- --drop-zone-active-bg: var(--color-primary-alpha-15);
60601
- --drop-zone-active-border-color: var(--color-primary);
60602
- --draggable-padding: .8125rem;
60603
- --draggable-margin: .5rem;
60604
- --drop-zone-padding: 1.3125rem;
60605
- --draggable-transition: all var(--transition-duration-base) var(--transition-ease);
60613
+ .vd-text-red-5 {
60614
+ color: var(--red-5);
60606
60615
  }
60607
60616
 
60608
- [data-theme="dark"] {
60609
- --draggable-bg: var(--bg-secondary);
60610
- --draggable-hover-bg: var(--bg-primary);
60611
- --draggable-dragging-bg: var(--bg-primary);
60612
- --drop-zone-bg: var(--color-primary-alpha-10);
60613
- --drop-zone-border-color: var(--color-primary-alpha-40);
60614
- --drop-zone-hover-bg: var(--color-primary-alpha-15);
60615
- --drop-zone-active-bg: var(--color-primary-alpha-20);
60617
+ .vd-text-red-6 {
60618
+ color: var(--red-6);
60616
60619
  }
60617
60620
 
60618
- @media (prefers-color-scheme: dark) {
60619
- :root:not([data-theme]) {
60620
- --draggable-bg: var(--bg-secondary);
60621
- --draggable-hover-bg: var(--bg-primary);
60622
- --draggable-dragging-bg: var(--bg-primary);
60623
- --drop-zone-bg: var(--color-primary-alpha-10);
60624
- --drop-zone-border-color: var(--color-primary-alpha-40);
60625
- --drop-zone-hover-bg: var(--color-primary-alpha-15);
60626
- --drop-zone-active-bg: var(--color-primary-alpha-20);
60627
- }
60621
+ .vd-text-red-7 {
60622
+ color: var(--red-7);
60628
60623
  }
60629
60624
 
60630
- .vd-draggable {
60631
- padding: var(--draggable-padding);
60632
- margin: var(--draggable-margin);
60633
- background-color: var(--draggable-bg);
60634
- border: 1px solid var(--draggable-border-color);
60635
- border-radius: var(--btn-border-radius);
60636
- cursor: grab;
60637
- user-select: none;
60638
- transition: var(--draggable-transition);
60639
- touch-action: none;
60640
- display: inline-block;
60641
- position: relative;
60625
+ .vd-text-red-8 {
60626
+ color: var(--red-8);
60642
60627
  }
60643
60628
 
60644
- .vd-draggable:hover {
60645
- background-color: var(--draggable-hover-bg);
60646
- border-color: var(--draggable-hover-border-color);
60629
+ .vd-text-red-9 {
60630
+ color: var(--red-9);
60647
60631
  }
60648
60632
 
60649
- .vd-draggable:active {
60650
- cursor: grabbing;
60633
+ .vd-bg-orange-0 {
60634
+ background-color: var(--orange-0);
60651
60635
  }
60652
60636
 
60653
- .vd-draggable[draggable="true"] {
60654
- cursor: grab;
60637
+ .vd-bg-orange-1 {
60638
+ background-color: var(--orange-1);
60655
60639
  }
60656
60640
 
60657
- .vd-draggable[draggable="true"]:active {
60658
- cursor: grabbing;
60641
+ .vd-bg-orange-2 {
60642
+ background-color: var(--orange-2);
60659
60643
  }
60660
60644
 
60661
- .vd-draggable.is-dragging {
60662
- opacity: .7;
60663
- background-color: var(--draggable-dragging-bg);
60664
- border-color: var(--draggable-dragging-border-color);
60665
- box-shadow: var(--draggable-dragging-shadow);
60666
- cursor: grabbing;
60667
- z-index: 1000;
60668
- transform: scale(1.02);
60645
+ .vd-bg-orange-3 {
60646
+ background-color: var(--orange-3);
60669
60647
  }
60670
60648
 
60671
- .vd-draggable-handle {
60672
- width: 1.25rem;
60673
- height: 1.25rem;
60674
- color: var(--text-muted);
60675
- cursor: grab;
60676
- transition: var(--draggable-transition);
60677
- justify-content: center;
60678
- align-items: center;
60679
- margin-right: .5rem;
60680
- display: inline-flex;
60649
+ .vd-bg-orange-4 {
60650
+ background-color: var(--orange-4);
60681
60651
  }
60682
60652
 
60683
- .vd-draggable-handle:hover {
60684
- color: var(--text-primary);
60653
+ .vd-bg-orange-5 {
60654
+ background-color: var(--orange-5);
60685
60655
  }
60686
60656
 
60687
- .vd-draggable:active .vd-draggable-handle {
60688
- cursor: grabbing;
60657
+ .vd-bg-orange-6 {
60658
+ background-color: var(--orange-6);
60689
60659
  }
60690
60660
 
60691
- .vd-drop-zone {
60692
- min-height: 3rem;
60693
- padding: var(--drop-zone-padding);
60694
- margin: var(--draggable-margin);
60695
- background-color: var(--drop-zone-bg);
60696
- border: 2px dashed var(--drop-zone-border-color);
60697
- border-radius: var(--btn-border-radius);
60698
- transition: var(--draggable-transition);
60699
- position: relative;
60661
+ .vd-bg-orange-7 {
60662
+ background-color: var(--orange-7);
60700
60663
  }
60701
60664
 
60702
- .vd-drop-zone:hover {
60703
- background-color: var(--drop-zone-hover-bg);
60704
- border-color: var(--drop-zone-hover-border-color);
60665
+ .vd-bg-orange-8 {
60666
+ background-color: var(--orange-8);
60705
60667
  }
60706
60668
 
60707
- .vd-drop-zone.is-drag-over {
60708
- background-color: var(--drop-zone-active-bg);
60709
- border-color: var(--drop-zone-active-border-color);
60710
- border-style: solid;
60711
- transform: scale(1.01);
60669
+ .vd-bg-orange-9 {
60670
+ background-color: var(--orange-9);
60712
60671
  }
60713
60672
 
60714
- .vd-drop-zone:empty:after {
60715
- content: "Drag items here";
60716
- text-align: center;
60717
- color: var(--text-muted);
60718
- padding: 1rem;
60719
- font-style: italic;
60720
- display: block;
60673
+ .vd-text-orange-0 {
60674
+ color: var(--orange-0);
60721
60675
  }
60722
60676
 
60723
- .vd-drop-zone.is-drag-over:before {
60724
- content: "Drop here";
60725
- font-weight: var(--font-weight-medium);
60726
- color: var(--color-primary);
60727
- pointer-events: none;
60728
- position: absolute;
60729
- top: 50%;
60730
- left: 50%;
60731
- transform: translate(-50%, -50%);
60677
+ .vd-text-orange-1 {
60678
+ color: var(--orange-1);
60732
60679
  }
60733
60680
 
60734
- .vd-draggable-container {
60735
- gap: var(--draggable-margin);
60736
- padding: var(--draggable-padding);
60737
- background-color: var(--bg-secondary);
60738
- border: 1px solid var(--border-color);
60739
- border-radius: var(--btn-border-radius);
60740
- flex-wrap: wrap;
60741
- display: flex;
60681
+ .vd-text-orange-2 {
60682
+ color: var(--orange-2);
60742
60683
  }
60743
60684
 
60744
- .vd-draggable-container.vd-draggable-container-vertical {
60745
- flex-direction: column;
60746
- align-items: stretch;
60685
+ .vd-text-orange-3 {
60686
+ color: var(--orange-3);
60747
60687
  }
60748
60688
 
60749
- .vd-draggable-item {
60750
- min-width: 8rem;
60751
- padding: var(--draggable-padding);
60752
- background-color: var(--draggable-bg);
60753
- border: 1px solid var(--draggable-border-color);
60754
- border-radius: var(--btn-border-radius);
60755
- cursor: grab;
60756
- transition: var(--draggable-transition);
60757
- flex: none;
60689
+ .vd-text-orange-4 {
60690
+ color: var(--orange-4);
60758
60691
  }
60759
60692
 
60760
- .vd-draggable-item:hover {
60761
- background-color: var(--draggable-hover-bg);
60762
- border-color: var(--draggable-hover-border-color);
60693
+ .vd-text-orange-5 {
60694
+ color: var(--orange-5);
60763
60695
  }
60764
60696
 
60765
- .vd-draggable-item.is-dragging {
60766
- opacity: .7;
60767
- background-color: var(--draggable-dragging-bg);
60768
- border-color: var(--draggable-dragging-border-color);
60769
- box-shadow: var(--draggable-dragging-shadow);
60770
- cursor: grabbing;
60771
- z-index: 1000;
60772
- transform: scale(1.02);
60697
+ .vd-text-orange-6 {
60698
+ color: var(--orange-6);
60773
60699
  }
60774
60700
 
60775
- .vd-draggable-item:active {
60776
- cursor: grabbing;
60701
+ .vd-text-orange-7 {
60702
+ color: var(--orange-7);
60777
60703
  }
60778
60704
 
60779
- .vd-draggable[aria-grabbed="true"], .vd-draggable-item[aria-grabbed="true"] {
60780
- outline: 2px solid var(--color-primary);
60781
- outline-offset: 2px;
60782
- background-color: var(--draggable-dragging-bg);
60783
- border-color: var(--draggable-dragging-border-color);
60705
+ .vd-text-orange-8 {
60706
+ color: var(--orange-8);
60784
60707
  }
60785
60708
 
60786
- .vd-drag-feedback {
60787
- pointer-events: none;
60788
- z-index: 9999;
60789
- opacity: .9;
60790
- transition: opacity .2s;
60791
- position: fixed;
60792
- transform: scale(.8);
60709
+ .vd-text-orange-9 {
60710
+ color: var(--orange-9);
60793
60711
  }
60794
60712
 
60795
- .vd-drag-feedback.hidden {
60796
- opacity: 0;
60713
+ .vd-bg-yellow-0 {
60714
+ background-color: var(--yellow-0);
60797
60715
  }
60798
60716
 
60799
- .vd-draggable.is-disabled, .vd-draggable[disabled], .vd-draggable-item.is-disabled, .vd-draggable-item[disabled] {
60800
- opacity: .6;
60801
- cursor: not-allowed;
60802
- pointer-events: none;
60717
+ .vd-bg-yellow-1 {
60718
+ background-color: var(--yellow-1);
60803
60719
  }
60804
60720
 
60805
- @media (width <= 575.98px) {
60806
- .vd-draggable-container {
60807
- padding: .5rem;
60808
- }
60721
+ .vd-bg-yellow-2 {
60722
+ background-color: var(--yellow-2);
60723
+ }
60809
60724
 
60810
- .vd-draggable-item {
60811
- min-width: 100%;
60812
- }
60725
+ .vd-bg-yellow-3 {
60726
+ background-color: var(--yellow-3);
60727
+ }
60813
60728
 
60814
- .vd-draggable {
60815
- margin: .5rem 0;
60816
- display: block;
60817
- }
60729
+ .vd-bg-yellow-4 {
60730
+ background-color: var(--yellow-4);
60731
+ }
60818
60732
 
60819
- .vd-drop-zone {
60820
- min-height: 2.5rem;
60821
- padding: 1rem;
60822
- }
60733
+ .vd-bg-yellow-5 {
60734
+ background-color: var(--yellow-5);
60823
60735
  }
60824
60736
 
60825
- .vd-draggable:focus-visible, .vd-draggable-item:focus-visible {
60826
- outline: 2px solid var(--color-primary);
60827
- outline-offset: 2px;
60737
+ .vd-bg-yellow-6 {
60738
+ background-color: var(--yellow-6);
60828
60739
  }
60829
60740
 
60830
- @keyframes vd-drag-drop {
60831
- 0% {
60832
- transform: scale(1);
60833
- }
60741
+ .vd-bg-yellow-7 {
60742
+ background-color: var(--yellow-7);
60743
+ }
60834
60744
 
60835
- 50% {
60836
- transform: scale(1.05);
60837
- }
60745
+ .vd-bg-yellow-8 {
60746
+ background-color: var(--yellow-8);
60747
+ }
60838
60748
 
60839
- 100% {
60840
- transform: scale(1);
60841
- }
60749
+ .vd-bg-yellow-9 {
60750
+ background-color: var(--yellow-9);
60842
60751
  }
60843
60752
 
60844
- .vd-draggable.is-dropped, .vd-draggable-item.is-dropped {
60845
- animation: .3s vd-drag-drop;
60753
+ .vd-text-yellow-0 {
60754
+ color: var(--yellow-0);
60846
60755
  }
60847
60756
 
60848
- @media (forced-colors: active) {
60849
- .vd-draggable, .vd-draggable-item {
60850
- border: 2px solid buttontext;
60851
- }
60757
+ .vd-text-yellow-1 {
60758
+ color: var(--yellow-1);
60759
+ }
60852
60760
 
60853
- .vd-draggable.is-dragging, .vd-draggable-item.is-dragging {
60854
- border-color: highlight;
60855
- outline: 2px solid highlight;
60856
- }
60761
+ .vd-text-yellow-2 {
60762
+ color: var(--yellow-2);
60763
+ }
60857
60764
 
60858
- .vd-drop-zone {
60859
- border: 2px dashed buttontext;
60860
- }
60765
+ .vd-text-yellow-3 {
60766
+ color: var(--yellow-3);
60767
+ }
60861
60768
 
60862
- .vd-drop-zone.is-drag-over {
60863
- border-style: solid;
60864
- border-color: highlight;
60865
- }
60769
+ .vd-text-yellow-4 {
60770
+ color: var(--yellow-4);
60771
+ }
60866
60772
 
60867
- .vd-draggable:focus-visible, .vd-draggable-item:focus-visible {
60868
- outline: 2px solid highlight;
60869
- }
60773
+ .vd-text-yellow-5 {
60774
+ color: var(--yellow-5);
60775
+ }
60776
+
60777
+ .vd-text-yellow-6 {
60778
+ color: var(--yellow-6);
60779
+ }
60780
+
60781
+ .vd-text-yellow-7 {
60782
+ color: var(--yellow-7);
60783
+ }
60784
+
60785
+ .vd-text-yellow-8 {
60786
+ color: var(--yellow-8);
60787
+ }
60788
+
60789
+ .vd-text-yellow-9 {
60790
+ color: var(--yellow-9);
60791
+ }
60792
+
60793
+ .vd-bg-lime-0 {
60794
+ background-color: var(--lime-0);
60795
+ }
60796
+
60797
+ .vd-bg-lime-1 {
60798
+ background-color: var(--lime-1);
60799
+ }
60800
+
60801
+ .vd-bg-lime-2 {
60802
+ background-color: var(--lime-2);
60803
+ }
60804
+
60805
+ .vd-bg-lime-3 {
60806
+ background-color: var(--lime-3);
60807
+ }
60808
+
60809
+ .vd-bg-lime-4 {
60810
+ background-color: var(--lime-4);
60811
+ }
60812
+
60813
+ .vd-bg-lime-5 {
60814
+ background-color: var(--lime-5);
60815
+ }
60816
+
60817
+ .vd-bg-lime-6 {
60818
+ background-color: var(--lime-6);
60819
+ }
60820
+
60821
+ .vd-bg-lime-7 {
60822
+ background-color: var(--lime-7);
60823
+ }
60824
+
60825
+ .vd-bg-lime-8 {
60826
+ background-color: var(--lime-8);
60827
+ }
60828
+
60829
+ .vd-bg-lime-9 {
60830
+ background-color: var(--lime-9);
60831
+ }
60832
+
60833
+ .vd-text-lime-0 {
60834
+ color: var(--lime-0);
60835
+ }
60836
+
60837
+ .vd-text-lime-1 {
60838
+ color: var(--lime-1);
60839
+ }
60840
+
60841
+ .vd-text-lime-2 {
60842
+ color: var(--lime-2);
60843
+ }
60844
+
60845
+ .vd-text-lime-3 {
60846
+ color: var(--lime-3);
60847
+ }
60848
+
60849
+ .vd-text-lime-4 {
60850
+ color: var(--lime-4);
60851
+ }
60852
+
60853
+ .vd-text-lime-5 {
60854
+ color: var(--lime-5);
60855
+ }
60856
+
60857
+ .vd-text-lime-6 {
60858
+ color: var(--lime-6);
60859
+ }
60860
+
60861
+ .vd-text-lime-7 {
60862
+ color: var(--lime-7);
60863
+ }
60864
+
60865
+ .vd-text-lime-8 {
60866
+ color: var(--lime-8);
60867
+ }
60868
+
60869
+ .vd-text-lime-9 {
60870
+ color: var(--lime-9);
60871
+ }
60872
+
60873
+ .vd-bg-green-0 {
60874
+ background-color: var(--green-0);
60875
+ }
60876
+
60877
+ .vd-bg-green-1 {
60878
+ background-color: var(--green-1);
60879
+ }
60880
+
60881
+ .vd-bg-green-2 {
60882
+ background-color: var(--green-2);
60883
+ }
60884
+
60885
+ .vd-bg-green-3 {
60886
+ background-color: var(--green-3);
60887
+ }
60888
+
60889
+ .vd-bg-green-4 {
60890
+ background-color: var(--green-4);
60891
+ }
60892
+
60893
+ .vd-bg-green-5 {
60894
+ background-color: var(--green-5);
60895
+ }
60896
+
60897
+ .vd-bg-green-6 {
60898
+ background-color: var(--green-6);
60899
+ }
60900
+
60901
+ .vd-bg-green-7 {
60902
+ background-color: var(--green-7);
60903
+ }
60904
+
60905
+ .vd-bg-green-8 {
60906
+ background-color: var(--green-8);
60907
+ }
60908
+
60909
+ .vd-bg-green-9 {
60910
+ background-color: var(--green-9);
60911
+ }
60912
+
60913
+ .vd-text-green-0 {
60914
+ color: var(--green-0);
60915
+ }
60916
+
60917
+ .vd-text-green-1 {
60918
+ color: var(--green-1);
60919
+ }
60920
+
60921
+ .vd-text-green-2 {
60922
+ color: var(--green-2);
60923
+ }
60924
+
60925
+ .vd-text-green-3 {
60926
+ color: var(--green-3);
60927
+ }
60928
+
60929
+ .vd-text-green-4 {
60930
+ color: var(--green-4);
60931
+ }
60932
+
60933
+ .vd-text-green-5 {
60934
+ color: var(--green-5);
60935
+ }
60936
+
60937
+ .vd-text-green-6 {
60938
+ color: var(--green-6);
60939
+ }
60940
+
60941
+ .vd-text-green-7 {
60942
+ color: var(--green-7);
60943
+ }
60944
+
60945
+ .vd-text-green-8 {
60946
+ color: var(--green-8);
60947
+ }
60948
+
60949
+ .vd-text-green-9 {
60950
+ color: var(--green-9);
60951
+ }
60952
+
60953
+ .vd-bg-teal-0 {
60954
+ background-color: var(--teal-0);
60955
+ }
60956
+
60957
+ .vd-bg-teal-1 {
60958
+ background-color: var(--teal-1);
60959
+ }
60960
+
60961
+ .vd-bg-teal-2 {
60962
+ background-color: var(--teal-2);
60963
+ }
60964
+
60965
+ .vd-bg-teal-3 {
60966
+ background-color: var(--teal-3);
60967
+ }
60968
+
60969
+ .vd-bg-teal-4 {
60970
+ background-color: var(--teal-4);
60971
+ }
60972
+
60973
+ .vd-bg-teal-5 {
60974
+ background-color: var(--teal-5);
60975
+ }
60976
+
60977
+ .vd-bg-teal-6 {
60978
+ background-color: var(--teal-6);
60979
+ }
60980
+
60981
+ .vd-bg-teal-7 {
60982
+ background-color: var(--teal-7);
60983
+ }
60984
+
60985
+ .vd-bg-teal-8 {
60986
+ background-color: var(--teal-8);
60987
+ }
60988
+
60989
+ .vd-bg-teal-9 {
60990
+ background-color: var(--teal-9);
60991
+ }
60992
+
60993
+ .vd-text-teal-0 {
60994
+ color: var(--teal-0);
60995
+ }
60996
+
60997
+ .vd-text-teal-1 {
60998
+ color: var(--teal-1);
60999
+ }
61000
+
61001
+ .vd-text-teal-2 {
61002
+ color: var(--teal-2);
61003
+ }
61004
+
61005
+ .vd-text-teal-3 {
61006
+ color: var(--teal-3);
61007
+ }
61008
+
61009
+ .vd-text-teal-4 {
61010
+ color: var(--teal-4);
61011
+ }
61012
+
61013
+ .vd-text-teal-5 {
61014
+ color: var(--teal-5);
61015
+ }
61016
+
61017
+ .vd-text-teal-6 {
61018
+ color: var(--teal-6);
61019
+ }
61020
+
61021
+ .vd-text-teal-7 {
61022
+ color: var(--teal-7);
61023
+ }
61024
+
61025
+ .vd-text-teal-8 {
61026
+ color: var(--teal-8);
61027
+ }
61028
+
61029
+ .vd-text-teal-9 {
61030
+ color: var(--teal-9);
61031
+ }
61032
+
61033
+ .vd-bg-cyan-0 {
61034
+ background-color: var(--cyan-0);
61035
+ }
61036
+
61037
+ .vd-bg-cyan-1 {
61038
+ background-color: var(--cyan-1);
61039
+ }
61040
+
61041
+ .vd-bg-cyan-2 {
61042
+ background-color: var(--cyan-2);
61043
+ }
61044
+
61045
+ .vd-bg-cyan-3 {
61046
+ background-color: var(--cyan-3);
61047
+ }
61048
+
61049
+ .vd-bg-cyan-4 {
61050
+ background-color: var(--cyan-4);
61051
+ }
61052
+
61053
+ .vd-bg-cyan-5 {
61054
+ background-color: var(--cyan-5);
61055
+ }
61056
+
61057
+ .vd-bg-cyan-6 {
61058
+ background-color: var(--cyan-6);
61059
+ }
61060
+
61061
+ .vd-bg-cyan-7 {
61062
+ background-color: var(--cyan-7);
61063
+ }
61064
+
61065
+ .vd-bg-cyan-8 {
61066
+ background-color: var(--cyan-8);
61067
+ }
61068
+
61069
+ .vd-bg-cyan-9 {
61070
+ background-color: var(--cyan-9);
61071
+ }
61072
+
61073
+ .vd-text-cyan-0 {
61074
+ color: var(--cyan-0);
61075
+ }
61076
+
61077
+ .vd-text-cyan-1 {
61078
+ color: var(--cyan-1);
61079
+ }
61080
+
61081
+ .vd-text-cyan-2 {
61082
+ color: var(--cyan-2);
61083
+ }
61084
+
61085
+ .vd-text-cyan-3 {
61086
+ color: var(--cyan-3);
61087
+ }
61088
+
61089
+ .vd-text-cyan-4 {
61090
+ color: var(--cyan-4);
61091
+ }
61092
+
61093
+ .vd-text-cyan-5 {
61094
+ color: var(--cyan-5);
61095
+ }
61096
+
61097
+ .vd-text-cyan-6 {
61098
+ color: var(--cyan-6);
61099
+ }
61100
+
61101
+ .vd-text-cyan-7 {
61102
+ color: var(--cyan-7);
61103
+ }
61104
+
61105
+ .vd-text-cyan-8 {
61106
+ color: var(--cyan-8);
61107
+ }
61108
+
61109
+ .vd-text-cyan-9 {
61110
+ color: var(--cyan-9);
61111
+ }
61112
+
61113
+ .vd-bg-blue-0 {
61114
+ background-color: var(--blue-0);
61115
+ }
61116
+
61117
+ .vd-bg-blue-1 {
61118
+ background-color: var(--blue-1);
61119
+ }
61120
+
61121
+ .vd-bg-blue-2 {
61122
+ background-color: var(--blue-2);
61123
+ }
61124
+
61125
+ .vd-bg-blue-3 {
61126
+ background-color: var(--blue-3);
61127
+ }
61128
+
61129
+ .vd-bg-blue-4 {
61130
+ background-color: var(--blue-4);
61131
+ }
61132
+
61133
+ .vd-bg-blue-5 {
61134
+ background-color: var(--blue-5);
61135
+ }
61136
+
61137
+ .vd-bg-blue-6 {
61138
+ background-color: var(--blue-6);
61139
+ }
61140
+
61141
+ .vd-bg-blue-7 {
61142
+ background-color: var(--blue-7);
61143
+ }
61144
+
61145
+ .vd-bg-blue-8 {
61146
+ background-color: var(--blue-8);
61147
+ }
61148
+
61149
+ .vd-bg-blue-9 {
61150
+ background-color: var(--blue-9);
61151
+ }
61152
+
61153
+ .vd-text-blue-0 {
61154
+ color: var(--blue-0);
61155
+ }
61156
+
61157
+ .vd-text-blue-1 {
61158
+ color: var(--blue-1);
61159
+ }
61160
+
61161
+ .vd-text-blue-2 {
61162
+ color: var(--blue-2);
61163
+ }
61164
+
61165
+ .vd-text-blue-3 {
61166
+ color: var(--blue-3);
61167
+ }
61168
+
61169
+ .vd-text-blue-4 {
61170
+ color: var(--blue-4);
61171
+ }
61172
+
61173
+ .vd-text-blue-5 {
61174
+ color: var(--blue-5);
61175
+ }
61176
+
61177
+ .vd-text-blue-6 {
61178
+ color: var(--blue-6);
61179
+ }
61180
+
61181
+ .vd-text-blue-7 {
61182
+ color: var(--blue-7);
61183
+ }
61184
+
61185
+ .vd-text-blue-8 {
61186
+ color: var(--blue-8);
61187
+ }
61188
+
61189
+ .vd-text-blue-9 {
61190
+ color: var(--blue-9);
61191
+ }
61192
+
61193
+ .vd-bg-indigo-0 {
61194
+ background-color: var(--indigo-0);
61195
+ }
61196
+
61197
+ .vd-bg-indigo-1 {
61198
+ background-color: var(--indigo-1);
61199
+ }
61200
+
61201
+ .vd-bg-indigo-2 {
61202
+ background-color: var(--indigo-2);
61203
+ }
61204
+
61205
+ .vd-bg-indigo-3 {
61206
+ background-color: var(--indigo-3);
61207
+ }
61208
+
61209
+ .vd-bg-indigo-4 {
61210
+ background-color: var(--indigo-4);
61211
+ }
61212
+
61213
+ .vd-bg-indigo-5 {
61214
+ background-color: var(--indigo-5);
61215
+ }
61216
+
61217
+ .vd-bg-indigo-6 {
61218
+ background-color: var(--indigo-6);
61219
+ }
61220
+
61221
+ .vd-bg-indigo-7 {
61222
+ background-color: var(--indigo-7);
61223
+ }
61224
+
61225
+ .vd-bg-indigo-8 {
61226
+ background-color: var(--indigo-8);
61227
+ }
61228
+
61229
+ .vd-bg-indigo-9 {
61230
+ background-color: var(--indigo-9);
61231
+ }
61232
+
61233
+ .vd-text-indigo-0 {
61234
+ color: var(--indigo-0);
61235
+ }
61236
+
61237
+ .vd-text-indigo-1 {
61238
+ color: var(--indigo-1);
61239
+ }
61240
+
61241
+ .vd-text-indigo-2 {
61242
+ color: var(--indigo-2);
61243
+ }
61244
+
61245
+ .vd-text-indigo-3 {
61246
+ color: var(--indigo-3);
61247
+ }
61248
+
61249
+ .vd-text-indigo-4 {
61250
+ color: var(--indigo-4);
61251
+ }
61252
+
61253
+ .vd-text-indigo-5 {
61254
+ color: var(--indigo-5);
61255
+ }
61256
+
61257
+ .vd-text-indigo-6 {
61258
+ color: var(--indigo-6);
61259
+ }
61260
+
61261
+ .vd-text-indigo-7 {
61262
+ color: var(--indigo-7);
61263
+ }
61264
+
61265
+ .vd-text-indigo-8 {
61266
+ color: var(--indigo-8);
61267
+ }
61268
+
61269
+ .vd-text-indigo-9 {
61270
+ color: var(--indigo-9);
61271
+ }
61272
+
61273
+ .vd-bg-violet-0 {
61274
+ background-color: var(--violet-0);
61275
+ }
61276
+
61277
+ .vd-bg-violet-1 {
61278
+ background-color: var(--violet-1);
61279
+ }
61280
+
61281
+ .vd-bg-violet-2 {
61282
+ background-color: var(--violet-2);
61283
+ }
61284
+
61285
+ .vd-bg-violet-3 {
61286
+ background-color: var(--violet-3);
61287
+ }
61288
+
61289
+ .vd-bg-violet-4 {
61290
+ background-color: var(--violet-4);
61291
+ }
61292
+
61293
+ .vd-bg-violet-5 {
61294
+ background-color: var(--violet-5);
61295
+ }
61296
+
61297
+ .vd-bg-violet-6 {
61298
+ background-color: var(--violet-6);
61299
+ }
61300
+
61301
+ .vd-bg-violet-7 {
61302
+ background-color: var(--violet-7);
61303
+ }
61304
+
61305
+ .vd-bg-violet-8 {
61306
+ background-color: var(--violet-8);
61307
+ }
61308
+
61309
+ .vd-bg-violet-9 {
61310
+ background-color: var(--violet-9);
61311
+ }
61312
+
61313
+ .vd-text-violet-0 {
61314
+ color: var(--violet-0);
61315
+ }
61316
+
61317
+ .vd-text-violet-1 {
61318
+ color: var(--violet-1);
61319
+ }
61320
+
61321
+ .vd-text-violet-2 {
61322
+ color: var(--violet-2);
61323
+ }
61324
+
61325
+ .vd-text-violet-3 {
61326
+ color: var(--violet-3);
61327
+ }
61328
+
61329
+ .vd-text-violet-4 {
61330
+ color: var(--violet-4);
61331
+ }
61332
+
61333
+ .vd-text-violet-5 {
61334
+ color: var(--violet-5);
61335
+ }
61336
+
61337
+ .vd-text-violet-6 {
61338
+ color: var(--violet-6);
61339
+ }
61340
+
61341
+ .vd-text-violet-7 {
61342
+ color: var(--violet-7);
61343
+ }
61344
+
61345
+ .vd-text-violet-8 {
61346
+ color: var(--violet-8);
61347
+ }
61348
+
61349
+ .vd-text-violet-9 {
61350
+ color: var(--violet-9);
61351
+ }
61352
+
61353
+ .vd-bg-grape-0 {
61354
+ background-color: var(--grape-0);
61355
+ }
61356
+
61357
+ .vd-bg-grape-1 {
61358
+ background-color: var(--grape-1);
61359
+ }
61360
+
61361
+ .vd-bg-grape-2 {
61362
+ background-color: var(--grape-2);
61363
+ }
61364
+
61365
+ .vd-bg-grape-3 {
61366
+ background-color: var(--grape-3);
61367
+ }
61368
+
61369
+ .vd-bg-grape-4 {
61370
+ background-color: var(--grape-4);
61371
+ }
61372
+
61373
+ .vd-bg-grape-5 {
61374
+ background-color: var(--grape-5);
61375
+ }
61376
+
61377
+ .vd-bg-grape-6 {
61378
+ background-color: var(--grape-6);
61379
+ }
61380
+
61381
+ .vd-bg-grape-7 {
61382
+ background-color: var(--grape-7);
61383
+ }
61384
+
61385
+ .vd-bg-grape-8 {
61386
+ background-color: var(--grape-8);
61387
+ }
61388
+
61389
+ .vd-bg-grape-9 {
61390
+ background-color: var(--grape-9);
61391
+ }
61392
+
61393
+ .vd-text-grape-0 {
61394
+ color: var(--grape-0);
61395
+ }
61396
+
61397
+ .vd-text-grape-1 {
61398
+ color: var(--grape-1);
61399
+ }
61400
+
61401
+ .vd-text-grape-2 {
61402
+ color: var(--grape-2);
61403
+ }
61404
+
61405
+ .vd-text-grape-3 {
61406
+ color: var(--grape-3);
61407
+ }
61408
+
61409
+ .vd-text-grape-4 {
61410
+ color: var(--grape-4);
61411
+ }
61412
+
61413
+ .vd-text-grape-5 {
61414
+ color: var(--grape-5);
61415
+ }
61416
+
61417
+ .vd-text-grape-6 {
61418
+ color: var(--grape-6);
61419
+ }
61420
+
61421
+ .vd-text-grape-7 {
61422
+ color: var(--grape-7);
61423
+ }
61424
+
61425
+ .vd-text-grape-8 {
61426
+ color: var(--grape-8);
61427
+ }
61428
+
61429
+ .vd-text-grape-9 {
61430
+ color: var(--grape-9);
61431
+ }
61432
+
61433
+ .vd-bg-pink-0 {
61434
+ background-color: var(--pink-0);
61435
+ }
61436
+
61437
+ .vd-bg-pink-1 {
61438
+ background-color: var(--pink-1);
61439
+ }
61440
+
61441
+ .vd-bg-pink-2 {
61442
+ background-color: var(--pink-2);
61443
+ }
61444
+
61445
+ .vd-bg-pink-3 {
61446
+ background-color: var(--pink-3);
61447
+ }
61448
+
61449
+ .vd-bg-pink-4 {
61450
+ background-color: var(--pink-4);
61451
+ }
61452
+
61453
+ .vd-bg-pink-5 {
61454
+ background-color: var(--pink-5);
61455
+ }
61456
+
61457
+ .vd-bg-pink-6 {
61458
+ background-color: var(--pink-6);
61459
+ }
61460
+
61461
+ .vd-bg-pink-7 {
61462
+ background-color: var(--pink-7);
61463
+ }
61464
+
61465
+ .vd-bg-pink-8 {
61466
+ background-color: var(--pink-8);
61467
+ }
61468
+
61469
+ .vd-bg-pink-9 {
61470
+ background-color: var(--pink-9);
61471
+ }
61472
+
61473
+ .vd-text-pink-0 {
61474
+ color: var(--pink-0);
61475
+ }
61476
+
61477
+ .vd-text-pink-1 {
61478
+ color: var(--pink-1);
61479
+ }
61480
+
61481
+ .vd-text-pink-2 {
61482
+ color: var(--pink-2);
61483
+ }
61484
+
61485
+ .vd-text-pink-3 {
61486
+ color: var(--pink-3);
61487
+ }
61488
+
61489
+ .vd-text-pink-4 {
61490
+ color: var(--pink-4);
61491
+ }
61492
+
61493
+ .vd-text-pink-5 {
61494
+ color: var(--pink-5);
61495
+ }
61496
+
61497
+ .vd-text-pink-6 {
61498
+ color: var(--pink-6);
61499
+ }
61500
+
61501
+ .vd-text-pink-7 {
61502
+ color: var(--pink-7);
61503
+ }
61504
+
61505
+ .vd-text-pink-8 {
61506
+ color: var(--pink-8);
61507
+ }
61508
+
61509
+ .vd-text-pink-9 {
61510
+ color: var(--pink-9);
61511
+ }
61512
+
61513
+ .vd-bg-gray-0 {
61514
+ background-color: var(--gray-0);
61515
+ }
61516
+
61517
+ .vd-bg-gray-1 {
61518
+ background-color: var(--gray-1);
61519
+ }
61520
+
61521
+ .vd-bg-gray-2 {
61522
+ background-color: var(--gray-2);
61523
+ }
61524
+
61525
+ .vd-bg-gray-3 {
61526
+ background-color: var(--gray-3);
61527
+ }
61528
+
61529
+ .vd-bg-gray-4 {
61530
+ background-color: var(--gray-4);
61531
+ }
61532
+
61533
+ .vd-bg-gray-5 {
61534
+ background-color: var(--gray-5);
61535
+ }
61536
+
61537
+ .vd-bg-gray-6 {
61538
+ background-color: var(--gray-6);
61539
+ }
61540
+
61541
+ .vd-bg-gray-7 {
61542
+ background-color: var(--gray-7);
61543
+ }
61544
+
61545
+ .vd-bg-gray-8 {
61546
+ background-color: var(--gray-8);
61547
+ }
61548
+
61549
+ .vd-bg-gray-9 {
61550
+ background-color: var(--gray-9);
61551
+ }
61552
+
61553
+ .vd-text-gray-0 {
61554
+ color: var(--gray-0);
61555
+ }
61556
+
61557
+ .vd-text-gray-1 {
61558
+ color: var(--gray-1);
61559
+ }
61560
+
61561
+ .vd-text-gray-2 {
61562
+ color: var(--gray-2);
61563
+ }
61564
+
61565
+ .vd-text-gray-3 {
61566
+ color: var(--gray-3);
61567
+ }
61568
+
61569
+ .vd-text-gray-4 {
61570
+ color: var(--gray-4);
61571
+ }
61572
+
61573
+ .vd-text-gray-5 {
61574
+ color: var(--gray-5);
61575
+ }
61576
+
61577
+ .vd-text-gray-6 {
61578
+ color: var(--gray-6);
61579
+ }
61580
+
61581
+ .vd-text-gray-7 {
61582
+ color: var(--gray-7);
61583
+ }
61584
+
61585
+ .vd-text-gray-8 {
61586
+ color: var(--gray-8);
61587
+ }
61588
+
61589
+ .vd-text-gray-9 {
61590
+ color: var(--gray-9);
61591
+ }
61592
+
61593
+ :root {
61594
+ --parallax-speed-slow: .5;
61595
+ --parallax-speed-medium: 1;
61596
+ --parallax-speed-fast: 1.5;
61597
+ }
61598
+
61599
+ .vd-parallax {
61600
+ width: 100%;
61601
+ position: relative;
61602
+ overflow: hidden;
61603
+ }
61604
+
61605
+ .vd-parallax-layer {
61606
+ will-change: transform;
61607
+ backface-visibility: hidden;
61608
+ width: 100%;
61609
+ height: 100%;
61610
+ position: absolute;
61611
+ top: 0;
61612
+ left: 0;
61613
+ transform: translateZ(0);
61614
+ }
61615
+
61616
+ .vd-parallax-content {
61617
+ z-index: 1;
61618
+ position: relative;
61619
+ }
61620
+
61621
+ .vd-parallax-slow {
61622
+ --parallax-speed: var(--parallax-speed-slow);
61623
+ }
61624
+
61625
+ .vd-parallax-medium {
61626
+ --parallax-speed: var(--parallax-speed-medium);
61627
+ }
61628
+
61629
+ .vd-parallax-fast {
61630
+ --parallax-speed: var(--parallax-speed-fast);
61631
+ }
61632
+
61633
+ .vd-parallax-image {
61634
+ object-fit: cover;
61635
+ will-change: transform;
61636
+ width: 100%;
61637
+ height: 100%;
61638
+ }
61639
+
61640
+ .vd-parallax-bg {
61641
+ will-change: transform;
61642
+ background-position: center;
61643
+ background-repeat: no-repeat;
61644
+ background-size: cover;
61645
+ width: 100%;
61646
+ height: 120%;
61647
+ position: absolute;
61648
+ top: 0;
61649
+ left: 0;
61650
+ }
61651
+
61652
+ .vd-parallax-sm {
61653
+ min-height: 377px;
61654
+ }
61655
+
61656
+ .vd-parallax-md {
61657
+ min-height: 610px;
61658
+ }
61659
+
61660
+ .vd-parallax-lg {
61661
+ min-height: 987px;
61662
+ }
61663
+
61664
+ .vd-parallax-full {
61665
+ min-height: 100vh;
61666
+ }
61667
+
61668
+ @media (prefers-reduced-motion: reduce) {
61669
+ .vd-parallax-layer, .vd-parallax-bg, .vd-parallax-image {
61670
+ will-change: auto;
61671
+ transform: none !important;
61672
+ }
61673
+ }
61674
+
61675
+ @media (width <= 767.98px) {
61676
+ .vd-parallax-disable-mobile .vd-parallax-layer, .vd-parallax-disable-mobile .vd-parallax-bg, .vd-parallax-disable-mobile .vd-parallax-image {
61677
+ will-change: auto;
61678
+ transform: none !important;
61679
+ }
61680
+ }
61681
+
61682
+ :root {
61683
+ --draggable-bg: var(--color-white);
61684
+ --draggable-border-color: var(--border-color);
61685
+ --draggable-hover-bg: var(--bg-secondary);
61686
+ --draggable-hover-border-color: var(--color-primary);
61687
+ --draggable-dragging-bg: var(--bg-secondary);
61688
+ --draggable-dragging-border-color: var(--color-primary);
61689
+ --draggable-dragging-shadow: var(--shadow-lg);
61690
+ --drop-zone-bg: var(--color-primary-alpha-5);
61691
+ --drop-zone-border-color: var(--color-primary-alpha-30);
61692
+ --drop-zone-hover-bg: var(--color-primary-alpha-10);
61693
+ --drop-zone-hover-border-color: var(--color-primary);
61694
+ --drop-zone-active-bg: var(--color-primary-alpha-15);
61695
+ --drop-zone-active-border-color: var(--color-primary);
61696
+ --draggable-padding: .8125rem;
61697
+ --draggable-margin: .5rem;
61698
+ --drop-zone-padding: 1.3125rem;
61699
+ --draggable-transition: all var(--transition-duration-base) var(--transition-ease);
61700
+ }
61701
+
61702
+ [data-theme="dark"] {
61703
+ --draggable-bg: var(--bg-secondary);
61704
+ --draggable-hover-bg: var(--bg-primary);
61705
+ --draggable-dragging-bg: var(--bg-primary);
61706
+ --drop-zone-bg: var(--color-primary-alpha-10);
61707
+ --drop-zone-border-color: var(--color-primary-alpha-40);
61708
+ --drop-zone-hover-bg: var(--color-primary-alpha-15);
61709
+ --drop-zone-active-bg: var(--color-primary-alpha-20);
61710
+ }
61711
+
61712
+ @media (prefers-color-scheme: dark) {
61713
+ :root:not([data-theme]) {
61714
+ --draggable-bg: var(--bg-secondary);
61715
+ --draggable-hover-bg: var(--bg-primary);
61716
+ --draggable-dragging-bg: var(--bg-primary);
61717
+ --drop-zone-bg: var(--color-primary-alpha-10);
61718
+ --drop-zone-border-color: var(--color-primary-alpha-40);
61719
+ --drop-zone-hover-bg: var(--color-primary-alpha-15);
61720
+ --drop-zone-active-bg: var(--color-primary-alpha-20);
61721
+ }
61722
+ }
61723
+
61724
+ .vd-draggable {
61725
+ padding: var(--draggable-padding);
61726
+ margin: var(--draggable-margin);
61727
+ background-color: var(--draggable-bg);
61728
+ border: 1px solid var(--draggable-border-color);
61729
+ border-radius: var(--btn-border-radius);
61730
+ cursor: grab;
61731
+ user-select: none;
61732
+ transition: var(--draggable-transition);
61733
+ touch-action: none;
61734
+ display: inline-block;
61735
+ position: relative;
61736
+ }
61737
+
61738
+ .vd-draggable:hover {
61739
+ background-color: var(--draggable-hover-bg);
61740
+ border-color: var(--draggable-hover-border-color);
61741
+ }
61742
+
61743
+ .vd-draggable:active {
61744
+ cursor: grabbing;
61745
+ }
61746
+
61747
+ .vd-draggable[draggable="true"] {
61748
+ cursor: grab;
61749
+ }
61750
+
61751
+ .vd-draggable[draggable="true"]:active {
61752
+ cursor: grabbing;
61753
+ }
61754
+
61755
+ .vd-draggable.is-dragging {
61756
+ opacity: .7;
61757
+ background-color: var(--draggable-dragging-bg);
61758
+ border-color: var(--draggable-dragging-border-color);
61759
+ box-shadow: var(--draggable-dragging-shadow);
61760
+ cursor: grabbing;
61761
+ z-index: 1000;
61762
+ transform: scale(1.02);
61763
+ }
61764
+
61765
+ .vd-draggable-handle {
61766
+ width: 1.25rem;
61767
+ height: 1.25rem;
61768
+ color: var(--text-muted);
61769
+ cursor: grab;
61770
+ transition: var(--draggable-transition);
61771
+ justify-content: center;
61772
+ align-items: center;
61773
+ margin-right: .5rem;
61774
+ display: inline-flex;
61775
+ }
61776
+
61777
+ .vd-draggable-handle:hover {
61778
+ color: var(--text-primary);
61779
+ }
61780
+
61781
+ .vd-draggable:active .vd-draggable-handle {
61782
+ cursor: grabbing;
61783
+ }
61784
+
61785
+ .vd-drop-zone {
61786
+ min-height: 3rem;
61787
+ padding: var(--drop-zone-padding);
61788
+ margin: var(--draggable-margin);
61789
+ background-color: var(--drop-zone-bg);
61790
+ border: 2px dashed var(--drop-zone-border-color);
61791
+ border-radius: var(--btn-border-radius);
61792
+ transition: var(--draggable-transition);
61793
+ position: relative;
61794
+ }
61795
+
61796
+ .vd-drop-zone:hover {
61797
+ background-color: var(--drop-zone-hover-bg);
61798
+ border-color: var(--drop-zone-hover-border-color);
61799
+ }
61800
+
61801
+ .vd-drop-zone.is-drag-over {
61802
+ background-color: var(--drop-zone-active-bg);
61803
+ border-color: var(--drop-zone-active-border-color);
61804
+ border-style: solid;
61805
+ transform: scale(1.01);
61806
+ }
61807
+
61808
+ .vd-drop-zone:empty:after {
61809
+ content: "Drag items here";
61810
+ text-align: center;
61811
+ color: var(--text-muted);
61812
+ padding: 1rem;
61813
+ font-style: italic;
61814
+ display: block;
61815
+ }
61816
+
61817
+ .vd-drop-zone.is-drag-over:before {
61818
+ content: "Drop here";
61819
+ font-weight: var(--font-weight-medium);
61820
+ color: var(--color-primary);
61821
+ pointer-events: none;
61822
+ position: absolute;
61823
+ top: 50%;
61824
+ left: 50%;
61825
+ transform: translate(-50%, -50%);
61826
+ }
61827
+
61828
+ .vd-draggable-container {
61829
+ gap: var(--draggable-margin);
61830
+ padding: var(--draggable-padding);
61831
+ background-color: var(--bg-secondary);
61832
+ border: 1px solid var(--border-color);
61833
+ border-radius: var(--btn-border-radius);
61834
+ flex-wrap: wrap;
61835
+ display: flex;
61836
+ }
61837
+
61838
+ .vd-draggable-container.vd-draggable-container-vertical {
61839
+ flex-direction: column;
61840
+ align-items: stretch;
61841
+ }
61842
+
61843
+ .vd-draggable-item {
61844
+ min-width: 8rem;
61845
+ padding: var(--draggable-padding);
61846
+ background-color: var(--draggable-bg);
61847
+ border: 1px solid var(--draggable-border-color);
61848
+ border-radius: var(--btn-border-radius);
61849
+ cursor: grab;
61850
+ transition: var(--draggable-transition);
61851
+ flex: none;
61852
+ }
61853
+
61854
+ .vd-draggable-item:hover {
61855
+ background-color: var(--draggable-hover-bg);
61856
+ border-color: var(--draggable-hover-border-color);
61857
+ }
61858
+
61859
+ .vd-draggable-item.is-dragging {
61860
+ opacity: .7;
61861
+ background-color: var(--draggable-dragging-bg);
61862
+ border-color: var(--draggable-dragging-border-color);
61863
+ box-shadow: var(--draggable-dragging-shadow);
61864
+ cursor: grabbing;
61865
+ z-index: 1000;
61866
+ transform: scale(1.02);
61867
+ }
61868
+
61869
+ .vd-draggable-item:active {
61870
+ cursor: grabbing;
61871
+ }
61872
+
61873
+ .vd-draggable[aria-grabbed="true"], .vd-draggable-item[aria-grabbed="true"] {
61874
+ outline: 2px solid var(--color-primary);
61875
+ outline-offset: 2px;
61876
+ background-color: var(--draggable-dragging-bg);
61877
+ border-color: var(--draggable-dragging-border-color);
61878
+ }
61879
+
61880
+ .vd-drag-feedback {
61881
+ pointer-events: none;
61882
+ z-index: 9999;
61883
+ opacity: .9;
61884
+ transition: opacity .2s;
61885
+ position: fixed;
61886
+ transform: scale(.8);
61887
+ }
61888
+
61889
+ .vd-drag-feedback.hidden {
61890
+ opacity: 0;
61891
+ }
61892
+
61893
+ .vd-draggable.is-disabled, .vd-draggable[disabled], .vd-draggable-item.is-disabled, .vd-draggable-item[disabled] {
61894
+ opacity: .6;
61895
+ cursor: not-allowed;
61896
+ pointer-events: none;
61897
+ }
61898
+
61899
+ @media (width <= 575.98px) {
61900
+ .vd-draggable-container {
61901
+ padding: .5rem;
61902
+ }
61903
+
61904
+ .vd-draggable-item {
61905
+ min-width: 100%;
61906
+ }
61907
+
61908
+ .vd-draggable {
61909
+ margin: .5rem 0;
61910
+ display: block;
61911
+ }
61912
+
61913
+ .vd-drop-zone {
61914
+ min-height: 2.5rem;
61915
+ padding: 1rem;
61916
+ }
61917
+ }
61918
+
61919
+ .vd-draggable:focus-visible, .vd-draggable-item:focus-visible {
61920
+ outline: 2px solid var(--color-primary);
61921
+ outline-offset: 2px;
61922
+ }
61923
+
61924
+ @keyframes vd-drag-drop {
61925
+ 0% {
61926
+ transform: scale(1);
61927
+ }
61928
+
61929
+ 50% {
61930
+ transform: scale(1.05);
61931
+ }
61932
+
61933
+ 100% {
61934
+ transform: scale(1);
61935
+ }
61936
+ }
61937
+
61938
+ .vd-draggable.is-dropped, .vd-draggable-item.is-dropped {
61939
+ animation: .3s vd-drag-drop;
61940
+ }
61941
+
61942
+ @media (forced-colors: active) {
61943
+ .vd-draggable, .vd-draggable-item {
61944
+ border: 2px solid buttontext;
61945
+ }
61946
+
61947
+ .vd-draggable.is-dragging, .vd-draggable-item.is-dragging {
61948
+ border-color: highlight;
61949
+ outline: 2px solid highlight;
61950
+ }
61951
+
61952
+ .vd-drop-zone {
61953
+ border: 2px dashed buttontext;
61954
+ }
61955
+
61956
+ .vd-drop-zone.is-drag-over {
61957
+ border-style: solid;
61958
+ border-color: highlight;
61959
+ }
61960
+
61961
+ .vd-draggable:focus-visible, .vd-draggable-item:focus-visible {
61962
+ outline: 2px solid highlight;
61963
+ }
61964
+ }
61965
+
61966
+ :root {
61967
+ --flow-height: auto;
61968
+ --flow-min-height: 13rem;
61969
+ --flow-padding: 0;
61970
+ --flow-gap: 0;
61971
+ --flow-indicator-size: .5rem;
61972
+ --flow-indicator-gap: .5rem;
61973
+ --flow-control-size: 2.5rem;
61974
+ --flow-control-offset: .8125rem;
61975
+ --flow-bg: var(--bg-primary, #fff);
61976
+ --flow-indicator-bg: #ffffff80;
61977
+ --flow-indicator-active-bg: #fff;
61978
+ --flow-control-bg: #0000004d;
61979
+ --flow-control-hover-bg: #00000080;
61980
+ --flow-control-color: #fff;
61981
+ --flow-transition-duration: .5s;
61982
+ --flow-transition-timing: cubic-bezier(.4, 0, .2, 1);
61983
+ --flow-border-radius: var(--border-radius, .5rem);
61984
+ --flow-z-controls: 10;
61985
+ --flow-z-indicators: 10;
61986
+ }
61987
+
61988
+ [data-theme="dark"] {
61989
+ --flow-bg: var(--bg-primary, #1a1a2e);
61990
+ --flow-control-bg: #fff3;
61991
+ --flow-control-hover-bg: #ffffff59;
61992
+ }
61993
+
61994
+ @media (prefers-color-scheme: dark) {
61995
+ :root:not([data-theme]) {
61996
+ --flow-bg: var(--bg-primary, #1a1a2e);
61997
+ --flow-control-bg: #fff3;
61998
+ --flow-control-hover-bg: #ffffff59;
61999
+ }
62000
+ }
62001
+
62002
+ .vd-flow, .vd-carousel {
62003
+ width: 100%;
62004
+ min-height: var(--flow-min-height);
62005
+ height: var(--flow-height);
62006
+ background-color: var(--flow-bg);
62007
+ border-radius: var(--flow-border-radius);
62008
+ position: relative;
62009
+ overflow: hidden;
62010
+ }
62011
+
62012
+ .vd-flow-track {
62013
+ width: 100%;
62014
+ height: 100%;
62015
+ transition: transform var(--flow-transition-duration) var(--flow-transition-timing);
62016
+ will-change: transform;
62017
+ display: flex;
62018
+ }
62019
+
62020
+ .vd-flow.is-dragging .vd-flow-track {
62021
+ cursor: grabbing;
62022
+ transition: none;
62023
+ }
62024
+
62025
+ .vd-flow-slide {
62026
+ width: 100%;
62027
+ min-height: var(--flow-min-height);
62028
+ flex: 0 0 100%;
62029
+ position: relative;
62030
+ overflow: hidden;
62031
+ }
62032
+
62033
+ .vd-flow-slide img {
62034
+ object-fit: cover;
62035
+ width: 100%;
62036
+ height: 100%;
62037
+ }
62038
+
62039
+ .vd-flow-fade .vd-flow-track {
62040
+ transition: none;
62041
+ }
62042
+
62043
+ .vd-flow-fade .vd-flow-slide {
62044
+ opacity: 0;
62045
+ transition: opacity var(--flow-transition-duration) var(--flow-transition-timing);
62046
+ pointer-events: none;
62047
+ position: absolute;
62048
+ top: 0;
62049
+ left: 0;
62050
+ }
62051
+
62052
+ .vd-flow-fade .vd-flow-slide.is-active {
62053
+ opacity: 1;
62054
+ pointer-events: auto;
62055
+ position: relative;
62056
+ }
62057
+
62058
+ .vd-flow-prev, .vd-flow-next {
62059
+ z-index: var(--flow-z-controls);
62060
+ width: var(--flow-control-size);
62061
+ height: var(--flow-control-size);
62062
+ background: var(--flow-control-bg);
62063
+ color: var(--flow-control-color);
62064
+ cursor: pointer;
62065
+ opacity: 0;
62066
+ border: none;
62067
+ border-radius: 50%;
62068
+ justify-content: center;
62069
+ align-items: center;
62070
+ padding: 0;
62071
+ font-size: 1.125rem;
62072
+ transition: background .2s, opacity .2s;
62073
+ display: flex;
62074
+ position: absolute;
62075
+ top: 50%;
62076
+ transform: translateY(-50%);
62077
+ }
62078
+
62079
+ .vd-flow:hover .vd-flow-prev, .vd-flow:hover .vd-flow-next, .vd-flow:focus-within .vd-flow-prev, .vd-flow:focus-within .vd-flow-next {
62080
+ opacity: 1;
62081
+ }
62082
+
62083
+ .vd-flow-prev:hover, .vd-flow-next:hover {
62084
+ background: var(--flow-control-hover-bg);
62085
+ }
62086
+
62087
+ .vd-flow-prev:focus-visible, .vd-flow-next:focus-visible {
62088
+ outline: 2px solid var(--flow-control-color);
62089
+ outline-offset: 2px;
62090
+ }
62091
+
62092
+ .vd-flow-prev {
62093
+ left: var(--flow-control-offset);
62094
+ }
62095
+
62096
+ .vd-flow-next {
62097
+ right: var(--flow-control-offset);
62098
+ }
62099
+
62100
+ .vd-flow-indicators {
62101
+ z-index: var(--flow-z-indicators);
62102
+ gap: var(--flow-indicator-gap);
62103
+ border-radius: 1rem;
62104
+ margin: 0;
62105
+ padding: .3125rem .5rem;
62106
+ list-style: none;
62107
+ display: flex;
62108
+ position: absolute;
62109
+ bottom: .8125rem;
62110
+ left: 50%;
62111
+ transform: translateX(-50%);
62112
+ }
62113
+
62114
+ .vd-flow-indicator {
62115
+ width: var(--flow-indicator-size);
62116
+ height: var(--flow-indicator-size);
62117
+ background: var(--flow-indicator-bg);
62118
+ cursor: pointer;
62119
+ border: none;
62120
+ border-radius: 50%;
62121
+ padding: 0;
62122
+ transition: background .2s, transform .2s;
62123
+ }
62124
+
62125
+ .vd-flow-indicator:hover {
62126
+ background: #ffffffbf;
62127
+ }
62128
+
62129
+ .vd-flow-indicator.is-active {
62130
+ background: var(--flow-indicator-active-bg);
62131
+ transform: scale(1.3);
62132
+ }
62133
+
62134
+ .vd-flow-indicator:focus-visible {
62135
+ outline: 2px solid var(--flow-indicator-active-bg);
62136
+ outline-offset: 2px;
62137
+ }
62138
+
62139
+ .vd-flow-caption {
62140
+ color: #fff;
62141
+ background: linear-gradient(#0000, #0009);
62142
+ padding: 1.3125rem 1.3125rem 2.625rem;
62143
+ position: absolute;
62144
+ bottom: 0;
62145
+ left: 0;
62146
+ right: 0;
62147
+ }
62148
+
62149
+ .vd-flow-caption h3, .vd-flow-caption .vd-flow-title {
62150
+ margin: 0 0 .3125rem;
62151
+ font-size: 1.25rem;
62152
+ font-weight: 600;
62153
+ }
62154
+
62155
+ .vd-flow-caption p, .vd-flow-caption .vd-flow-description {
62156
+ opacity: .9;
62157
+ margin: 0;
62158
+ font-size: .875rem;
62159
+ }
62160
+
62161
+ .vd-flow-compact {
62162
+ --flow-min-height: 8rem;
62163
+ --flow-control-size: 2rem;
62164
+ }
62165
+
62166
+ .vd-flow-lg {
62167
+ --flow-min-height: 21rem;
62168
+ --flow-control-size: 3rem;
62169
+ }
62170
+
62171
+ .vd-flow-fullscreen {
62172
+ --flow-min-height: 100vh;
62173
+ --flow-border-radius: 0;
62174
+ }
62175
+
62176
+ @media (width <= 768px) {
62177
+ .vd-flow-prev, .vd-flow-next {
62178
+ opacity: 1;
62179
+ --flow-control-size: 2rem;
62180
+ }
62181
+
62182
+ .vd-flow-caption {
62183
+ padding: .8125rem .8125rem 2rem;
62184
+ }
62185
+ }
62186
+
62187
+ :root {
62188
+ --bubble-bg: var(--card-bg, #fff);
62189
+ --bubble-text: var(--text-primary, #212529);
62190
+ --bubble-border-color: var(--border-color, #dee2e6);
62191
+ --bubble-shadow: 0 .5rem 1.3125rem #0000001f;
62192
+ --bubble-padding: .8125rem;
62193
+ --bubble-header-padding: .5rem .8125rem;
62194
+ --bubble-arrow-size: 8px;
62195
+ --bubble-max-width: 21rem;
62196
+ --bubble-min-width: 8rem;
62197
+ --bubble-border-radius: var(--border-radius, .5rem);
62198
+ --bubble-z-index: 1060;
62199
+ --bubble-font-size: var(--font-size-sm, .875rem);
62200
+ }
62201
+
62202
+ [data-theme="dark"] {
62203
+ --bubble-bg: var(--card-bg, #2d2d44);
62204
+ --bubble-border-color: var(--border-color, #3d3d5c);
62205
+ --bubble-shadow: 0 .5rem 1.3125rem #0000004d;
62206
+ }
62207
+
62208
+ @media (prefers-color-scheme: dark) {
62209
+ :root:not([data-theme]) {
62210
+ --bubble-bg: var(--card-bg, #2d2d44);
62211
+ --bubble-border-color: var(--border-color, #3d3d5c);
62212
+ --bubble-shadow: 0 .5rem 1.3125rem #0000004d;
62213
+ }
62214
+ }
62215
+
62216
+ .vd-bubble-content, .vd-popover-content {
62217
+ z-index: var(--bubble-z-index);
62218
+ max-width: var(--bubble-max-width);
62219
+ min-width: var(--bubble-min-width);
62220
+ background: var(--bubble-bg);
62221
+ color: var(--bubble-text);
62222
+ border: 1px solid var(--bubble-border-color);
62223
+ border-radius: var(--bubble-border-radius);
62224
+ box-shadow: var(--bubble-shadow);
62225
+ font-size: var(--bubble-font-size);
62226
+ opacity: 0;
62227
+ visibility: hidden;
62228
+ pointer-events: none;
62229
+ transition: opacity .2s, visibility .2s, transform .2s;
62230
+ position: absolute;
62231
+ transform: scale(.95);
62232
+ }
62233
+
62234
+ .vd-bubble-content.is-visible, .vd-popover-content.is-visible {
62235
+ opacity: 1;
62236
+ visibility: visible;
62237
+ pointer-events: auto;
62238
+ transform: scale(1);
62239
+ }
62240
+
62241
+ .vd-bubble-header {
62242
+ padding: var(--bubble-header-padding);
62243
+ border-bottom: 1px solid var(--bubble-border-color);
62244
+ justify-content: space-between;
62245
+ align-items: center;
62246
+ font-weight: 600;
62247
+ display: flex;
62248
+ }
62249
+
62250
+ .vd-bubble-body {
62251
+ padding: var(--bubble-padding);
62252
+ }
62253
+
62254
+ .vd-bubble-close {
62255
+ width: 1.5rem;
62256
+ height: 1.5rem;
62257
+ color: var(--bubble-text);
62258
+ cursor: pointer;
62259
+ opacity: .5;
62260
+ background: none;
62261
+ border: none;
62262
+ border-radius: 50%;
62263
+ justify-content: center;
62264
+ align-items: center;
62265
+ margin-left: .5rem;
62266
+ padding: 0;
62267
+ font-size: 1.125rem;
62268
+ line-height: 1;
62269
+ transition: opacity .15s;
62270
+ display: flex;
62271
+ }
62272
+
62273
+ .vd-bubble-close:hover {
62274
+ opacity: 1;
62275
+ }
62276
+
62277
+ .vd-bubble-content:before, .vd-popover-content:before {
62278
+ content: "";
62279
+ border: var(--bubble-arrow-size) solid transparent;
62280
+ width: 0;
62281
+ height: 0;
62282
+ position: absolute;
62283
+ }
62284
+
62285
+ .vd-bubble-content[data-placement="bottom"]:before {
62286
+ border-bottom-color: var(--bubble-border-color);
62287
+ bottom: 100%;
62288
+ left: 50%;
62289
+ transform: translateX(-50%);
62290
+ }
62291
+
62292
+ .vd-bubble-content[data-placement="top"]:before {
62293
+ border-top-color: var(--bubble-border-color);
62294
+ top: 100%;
62295
+ left: 50%;
62296
+ transform: translateX(-50%);
62297
+ }
62298
+
62299
+ .vd-bubble-content[data-placement="left"]:before {
62300
+ border-left-color: var(--bubble-border-color);
62301
+ top: 50%;
62302
+ left: 100%;
62303
+ transform: translateY(-50%);
62304
+ }
62305
+
62306
+ .vd-bubble-content[data-placement="right"]:before {
62307
+ border-right-color: var(--bubble-border-color);
62308
+ top: 50%;
62309
+ right: 100%;
62310
+ transform: translateY(-50%);
62311
+ }
62312
+
62313
+ .vd-bubble-sm .vd-bubble-body {
62314
+ --bubble-padding: .5rem;
62315
+ --bubble-font-size: var(--font-size-xs, .75rem);
62316
+ }
62317
+
62318
+ .vd-bubble-lg .vd-bubble-body {
62319
+ --bubble-padding: 1.3125rem;
62320
+ --bubble-max-width: 34rem;
62321
+ }
62322
+
62323
+ :root {
62324
+ --waypoint-active-color: var(--color-primary, #0d6efd);
62325
+ --waypoint-active-bg: transparent;
62326
+ --waypoint-active-border-width: 2px;
62327
+ --waypoint-transition: color .2s ease, background-color .2s ease, border-color .2s ease;
62328
+ }
62329
+
62330
+ [data-theme="dark"] {
62331
+ --waypoint-active-color: var(--color-primary-light, #6ea8fe);
62332
+ }
62333
+
62334
+ @media (prefers-color-scheme: dark) {
62335
+ :root:not([data-theme]) {
62336
+ --waypoint-active-color: var(--color-primary-light, #6ea8fe);
62337
+ }
62338
+ }
62339
+
62340
+ [data-vd-waypoint-nav] a.is-active, [data-vd-scrollspy-nav] a.is-active, .vd-waypoint-nav a.is-active {
62341
+ color: var(--waypoint-active-color);
62342
+ transition: var(--waypoint-transition);
62343
+ font-weight: 600;
62344
+ }
62345
+
62346
+ .vd-sidenav [data-vd-waypoint-nav] a.is-active, .vd-waypoint-nav.vd-waypoint-border a.is-active {
62347
+ border-left: var(--waypoint-active-border-width) solid var(--waypoint-active-color);
62348
+ padding-left: calc(.8125rem - var(--waypoint-active-border-width));
62349
+ }
62350
+
62351
+ .vd-waypoint-nav.vd-waypoint-pill a.is-active {
62352
+ background-color: var(--waypoint-active-color);
62353
+ color: #fff;
62354
+ border-radius: 1rem;
62355
+ padding: .25rem .8125rem;
62356
+ }
62357
+
62358
+ .vd-waypoint-nav.vd-waypoint-underline a.is-active {
62359
+ border-bottom: var(--waypoint-active-border-width) solid var(--waypoint-active-color);
62360
+ }
62361
+
62362
+ [data-vd-waypoint-section] {
62363
+ scroll-margin-top: 5rem;
62364
+ }
62365
+
62366
+ :root {
62367
+ --ripple-color: #ffffff59;
62368
+ --ripple-duration: .6s;
62369
+ --ripple-timing: cubic-bezier(0, 0, .2, 1);
62370
+ }
62371
+
62372
+ [data-theme="dark"] {
62373
+ --ripple-color: #fff3;
62374
+ }
62375
+
62376
+ @media (prefers-color-scheme: dark) {
62377
+ :root:not([data-theme]) {
62378
+ --ripple-color: #fff3;
62379
+ }
62380
+ }
62381
+
62382
+ .vd-ripple, [data-vd-ripple] {
62383
+ -webkit-tap-highlight-color: transparent;
62384
+ position: relative;
62385
+ overflow: hidden;
62386
+ }
62387
+
62388
+ .vd-ripple-wave {
62389
+ background: var(--ripple-color);
62390
+ animation: vd-ripple-expand var(--ripple-duration) var(--ripple-timing) forwards;
62391
+ pointer-events: none;
62392
+ border-radius: 50%;
62393
+ position: absolute;
62394
+ transform: scale(0);
62395
+ }
62396
+
62397
+ @keyframes vd-ripple-expand {
62398
+ to {
62399
+ opacity: 0;
62400
+ transform: scale(4);
62401
+ }
62402
+ }
62403
+
62404
+ .vd-ripple-dark, [data-vd-ripple="dark"] {
62405
+ --ripple-color: #00000026;
62406
+ }
62407
+
62408
+ .vd-ripple-primary, [data-vd-ripple="primary"] {
62409
+ --ripple-color: #0d6efd4d;
62410
+ }
62411
+
62412
+ .vd-ripple-light, [data-vd-ripple="light"] {
62413
+ --ripple-color: #ffffff80;
62414
+ }
62415
+
62416
+ :root {
62417
+ --fab-size: 3.5rem;
62418
+ --fab-size-sm: 2.5rem;
62419
+ --fab-size-lg: 4.5rem;
62420
+ --fab-icon-size: 1.5rem;
62421
+ --fab-bg: var(--color-primary, #0d6efd);
62422
+ --fab-color: #fff;
62423
+ --fab-hover-bg: var(--color-primary-dark, #0b5ed7);
62424
+ --fab-shadow: 0 3px 8px #00000040, 0 1px 3px #00000026;
62425
+ --fab-hover-shadow: 0 5px 13px #0000004d, 0 2px 5px #0003;
62426
+ --fab-offset: 1.3125rem;
62427
+ --fab-z-index: 1030;
62428
+ --fab-menu-gap: .8125rem;
62429
+ }
62430
+
62431
+ [data-theme="dark"] {
62432
+ --fab-shadow: 0 3px 8px #00000080, 0 1px 3px #0000004d;
62433
+ --fab-hover-shadow: 0 5px 13px #0009, 0 2px 5px #00000059;
62434
+ }
62435
+
62436
+ @media (prefers-color-scheme: dark) {
62437
+ :root:not([data-theme]) {
62438
+ --fab-shadow: 0 3px 8px #00000080, 0 1px 3px #0000004d;
62439
+ --fab-hover-shadow: 0 5px 13px #0009, 0 2px 5px #00000059;
62440
+ }
62441
+ }
62442
+
62443
+ .vd-fab {
62444
+ width: var(--fab-size);
62445
+ height: var(--fab-size);
62446
+ background: var(--fab-bg);
62447
+ color: var(--fab-color);
62448
+ font-size: var(--fab-icon-size);
62449
+ box-shadow: var(--fab-shadow);
62450
+ cursor: pointer;
62451
+ border: none;
62452
+ border-radius: 50%;
62453
+ justify-content: center;
62454
+ align-items: center;
62455
+ padding: 0;
62456
+ transition: background .2s, box-shadow .2s, transform .2s;
62457
+ display: inline-flex;
62458
+ }
62459
+
62460
+ .vd-fab:hover {
62461
+ background: var(--fab-hover-bg);
62462
+ box-shadow: var(--fab-hover-shadow);
62463
+ transform: scale(1.05);
62464
+ }
62465
+
62466
+ .vd-fab:active {
62467
+ transform: scale(.95);
62468
+ }
62469
+
62470
+ .vd-fab:focus-visible {
62471
+ outline: 2px solid var(--fab-bg);
62472
+ outline-offset: 3px;
62473
+ }
62474
+
62475
+ .vd-fab-sm {
62476
+ width: var(--fab-size-sm);
62477
+ height: var(--fab-size-sm);
62478
+ font-size: 1.125rem;
62479
+ }
62480
+
62481
+ .vd-fab-lg {
62482
+ width: var(--fab-size-lg);
62483
+ height: var(--fab-size-lg);
62484
+ font-size: 2rem;
62485
+ }
62486
+
62487
+ .vd-fab-extended {
62488
+ border-radius: 1.75rem;
62489
+ gap: .5rem;
62490
+ width: auto;
62491
+ padding: 0 1.3125rem;
62492
+ }
62493
+
62494
+ .vd-fab-fixed {
62495
+ bottom: var(--fab-offset);
62496
+ right: var(--fab-offset);
62497
+ z-index: var(--fab-z-index);
62498
+ position: fixed;
62499
+ }
62500
+
62501
+ .vd-fab-bottom-left {
62502
+ z-index: var(--fab-z-index);
62503
+ bottom: var(--fab-offset);
62504
+ right: auto;
62505
+ left: var(--fab-offset);
62506
+ position: fixed;
62507
+ }
62508
+
62509
+ .vd-fab-top-right {
62510
+ z-index: var(--fab-z-index);
62511
+ bottom: auto;
62512
+ right: var(--fab-offset);
62513
+ top: var(--fab-offset);
62514
+ position: fixed;
62515
+ }
62516
+
62517
+ .vd-fab-top-left {
62518
+ z-index: var(--fab-z-index);
62519
+ bottom: auto;
62520
+ right: auto;
62521
+ top: var(--fab-offset);
62522
+ left: var(--fab-offset);
62523
+ position: fixed;
62524
+ }
62525
+
62526
+ .vd-fab-center {
62527
+ z-index: var(--fab-z-index);
62528
+ bottom: var(--fab-offset);
62529
+ position: fixed;
62530
+ right: 50%;
62531
+ transform: translateX(50%);
62532
+ }
62533
+
62534
+ .vd-fab-center:hover {
62535
+ transform: translateX(50%)scale(1.05);
62536
+ }
62537
+
62538
+ .vd-fab-secondary {
62539
+ --fab-bg: var(--color-gray-600, #6c757d);
62540
+ --fab-hover-bg: var(--color-gray-700, #5c636a);
62541
+ }
62542
+
62543
+ .vd-fab-success {
62544
+ --fab-bg: var(--color-success, #198754);
62545
+ --fab-hover-bg: #157347;
62546
+ }
62547
+
62548
+ .vd-fab-danger {
62549
+ --fab-bg: var(--color-danger, #dc3545);
62550
+ --fab-hover-bg: #bb2d3b;
62551
+ }
62552
+
62553
+ .vd-fab-menu {
62554
+ align-items: center;
62555
+ gap: var(--fab-menu-gap);
62556
+ flex-direction: column-reverse;
62557
+ display: inline-flex;
62558
+ position: relative;
62559
+ }
62560
+
62561
+ .vd-fab-menu .vd-fab-actions {
62562
+ align-items: center;
62563
+ gap: var(--fab-menu-gap);
62564
+ opacity: 0;
62565
+ visibility: hidden;
62566
+ flex-direction: column;
62567
+ transition: opacity .2s, visibility .2s, transform .2s;
62568
+ display: flex;
62569
+ transform: translateY(.5rem);
62570
+ }
62571
+
62572
+ .vd-fab-menu.is-open .vd-fab-actions {
62573
+ opacity: 1;
62574
+ visibility: visible;
62575
+ transform: translateY(0);
62576
+ }
62577
+
62578
+ .vd-fab-menu.vd-fab-fixed {
62579
+ bottom: var(--fab-offset);
62580
+ right: var(--fab-offset);
62581
+ z-index: var(--fab-z-index);
62582
+ position: fixed;
62583
+ }
62584
+
62585
+ .vd-fab-menu .vd-fab-action {
62586
+ width: var(--fab-size-sm);
62587
+ height: var(--fab-size-sm);
62588
+ background: var(--fab-bg);
62589
+ color: var(--fab-color);
62590
+ box-shadow: var(--fab-shadow);
62591
+ cursor: pointer;
62592
+ border: none;
62593
+ border-radius: 50%;
62594
+ justify-content: center;
62595
+ align-items: center;
62596
+ font-size: 1rem;
62597
+ transition: background .15s, transform .15s;
62598
+ display: inline-flex;
62599
+ }
62600
+
62601
+ .vd-fab-menu .vd-fab-action:hover {
62602
+ background: var(--fab-hover-bg);
62603
+ transform: scale(1.1);
62604
+ }
62605
+
62606
+ .vd-fab-menu.is-open .vd-fab-actions .vd-fab:first-child, .vd-fab-menu.is-open .vd-fab-action:first-child {
62607
+ transition-delay: 0s;
62608
+ }
62609
+
62610
+ .vd-fab-menu.is-open .vd-fab-actions .vd-fab:nth-child(2), .vd-fab-menu.is-open .vd-fab-action:nth-child(2) {
62611
+ transition-delay: 50ms;
62612
+ }
62613
+
62614
+ .vd-fab-menu.is-open .vd-fab-actions .vd-fab:nth-child(3), .vd-fab-menu.is-open .vd-fab-action:nth-child(3) {
62615
+ transition-delay: .1s;
62616
+ }
62617
+
62618
+ .vd-fab-menu.is-open .vd-fab-actions .vd-fab:nth-child(4), .vd-fab-menu.is-open .vd-fab-action:nth-child(4) {
62619
+ transition-delay: .15s;
62620
+ }
62621
+
62622
+ :root {
62623
+ --affix-top-offset: 0;
62624
+ --affix-shadow: 0 2px 8px #0000001a;
62625
+ --affix-transition: box-shadow .2s ease, background-color .2s ease;
62626
+ --affix-z-index: 1020;
62627
+ }
62628
+
62629
+ [data-theme="dark"] {
62630
+ --affix-shadow: 0 2px 8px #0000004d;
62631
+ }
62632
+
62633
+ @media (prefers-color-scheme: dark) {
62634
+ :root:not([data-theme]) {
62635
+ --affix-shadow: 0 2px 8px #0000004d;
62636
+ }
62637
+ }
62638
+
62639
+ .vd-affix, .vd-sticky, [data-vd-affix] {
62640
+ top: var(--affix-top-offset);
62641
+ transition: var(--affix-transition);
62642
+ z-index: calc(var(--affix-z-index) - 1);
62643
+ position: sticky;
62644
+ }
62645
+
62646
+ .vd-affix.is-stuck, .vd-sticky.is-stuck, [data-vd-affix].is-stuck {
62647
+ z-index: var(--affix-z-index);
62648
+ box-shadow: var(--affix-shadow);
62649
+ }
62650
+
62651
+ .vd-affix-no-shadow.is-stuck {
62652
+ box-shadow: none;
62653
+ }
62654
+
62655
+ .vd-affix-bordered.is-stuck {
62656
+ box-shadow: none;
62657
+ border-bottom: 1px solid var(--border-color, #dee2e6);
62658
+ }
62659
+
62660
+ :root {
62661
+ --suggest-bg: var(--card-bg, #fff);
62662
+ --suggest-border-color: var(--border-color, #dee2e6);
62663
+ --suggest-shadow: 0 .25rem .8125rem #0000001a;
62664
+ --suggest-item-hover-bg: var(--bg-secondary, #f8f9fa);
62665
+ --suggest-item-active-bg: var(--color-primary, #0d6efd);
62666
+ --suggest-item-active-color: #fff;
62667
+ --suggest-highlight-color: var(--color-primary, #0d6efd);
62668
+ --suggest-padding: .3125rem 0;
62669
+ --suggest-item-padding: .5rem .8125rem;
62670
+ --suggest-max-height: 15rem;
62671
+ --suggest-border-radius: var(--border-radius, .5rem);
62672
+ --suggest-z-index: 1050;
62673
+ }
62674
+
62675
+ [data-theme="dark"] {
62676
+ --suggest-bg: var(--card-bg, #2d2d44);
62677
+ --suggest-border-color: var(--border-color, #3d3d5c);
62678
+ --suggest-item-hover-bg: var(--bg-primary, #1a1a2e);
62679
+ --suggest-shadow: 0 .25rem .8125rem #0000004d;
62680
+ }
62681
+
62682
+ @media (prefers-color-scheme: dark) {
62683
+ :root:not([data-theme]) {
62684
+ --suggest-bg: var(--card-bg, #2d2d44);
62685
+ --suggest-border-color: var(--border-color, #3d3d5c);
62686
+ --suggest-item-hover-bg: var(--bg-primary, #1a1a2e);
62687
+ --suggest-shadow: 0 .25rem .8125rem #0000004d;
62688
+ }
62689
+ }
62690
+
62691
+ .vd-suggest-wrapper, .vd-autocomplete-wrapper {
62692
+ width: 100%;
62693
+ display: inline-block;
62694
+ position: relative;
62695
+ }
62696
+
62697
+ .vd-suggest-list {
62698
+ z-index: var(--suggest-z-index);
62699
+ padding: var(--suggest-padding);
62700
+ max-height: var(--suggest-max-height);
62701
+ background: var(--suggest-bg);
62702
+ border: 1px solid var(--suggest-border-color);
62703
+ border-radius: var(--suggest-border-radius);
62704
+ box-shadow: var(--suggest-shadow);
62705
+ margin-top: 2px;
62706
+ list-style: none;
62707
+ display: none;
62708
+ position: absolute;
62709
+ top: 100%;
62710
+ left: 0;
62711
+ right: 0;
62712
+ overflow-y: auto;
62713
+ }
62714
+
62715
+ .vd-suggest-list.is-open {
62716
+ display: block;
62717
+ }
62718
+
62719
+ .vd-suggest-item {
62720
+ padding: var(--suggest-item-padding);
62721
+ cursor: pointer;
62722
+ font-size: var(--font-size-base, 1rem);
62723
+ transition: background .15s;
62724
+ }
62725
+
62726
+ .vd-suggest-item:hover, .vd-suggest-item.is-highlighted {
62727
+ background: var(--suggest-item-hover-bg);
62728
+ }
62729
+
62730
+ .vd-suggest-item.is-active {
62731
+ background: var(--suggest-item-active-bg);
62732
+ color: var(--suggest-item-active-color);
62733
+ }
62734
+
62735
+ .vd-suggest-match {
62736
+ color: var(--suggest-highlight-color);
62737
+ font-weight: 600;
62738
+ }
62739
+
62740
+ .vd-suggest-item.is-active .vd-suggest-match {
62741
+ color: inherit;
62742
+ }
62743
+
62744
+ .vd-suggest-empty {
62745
+ padding: var(--suggest-item-padding);
62746
+ color: var(--text-muted, #6c757d);
62747
+ font-style: italic;
62748
+ }
62749
+
62750
+ .vd-suggest-loading {
62751
+ padding: var(--suggest-item-padding);
62752
+ text-align: center;
62753
+ color: var(--text-muted, #6c757d);
62754
+ }
62755
+
62756
+ :root {
62757
+ --dp-bg: var(--card-bg, #fff);
62758
+ --dp-border-color: var(--border-color, #dee2e6);
62759
+ --dp-shadow: 0 .25rem .8125rem #0000001f;
62760
+ --dp-header-bg: var(--color-primary, #0d6efd);
62761
+ --dp-header-color: #fff;
62762
+ --dp-day-hover-bg: var(--bg-secondary, #f8f9fa);
62763
+ --dp-day-selected-bg: var(--color-primary, #0d6efd);
62764
+ --dp-day-selected-color: #fff;
62765
+ --dp-day-today-color: var(--color-primary, #0d6efd);
62766
+ --dp-day-outside-color: var(--text-muted, #6c757d);
62767
+ --dp-day-disabled-color: var(--text-disabled, #adb5bd);
62768
+ --dp-padding: .5rem;
62769
+ --dp-cell-size: 2.25rem;
62770
+ --dp-gap: 2px;
62771
+ --dp-border-radius: var(--border-radius, .5rem);
62772
+ --dp-z-index: 1055;
62773
+ }
62774
+
62775
+ [data-theme="dark"] {
62776
+ --dp-bg: var(--card-bg, #2d2d44);
62777
+ --dp-border-color: var(--border-color, #3d3d5c);
62778
+ --dp-day-hover-bg: var(--bg-primary, #1a1a2e);
62779
+ --dp-shadow: 0 .25rem .8125rem #0000004d;
62780
+ }
62781
+
62782
+ @media (prefers-color-scheme: dark) {
62783
+ :root:not([data-theme]) {
62784
+ --dp-bg: var(--card-bg, #2d2d44);
62785
+ --dp-border-color: var(--border-color, #3d3d5c);
62786
+ --dp-day-hover-bg: var(--bg-primary, #1a1a2e);
62787
+ --dp-shadow: 0 .25rem .8125rem #0000004d;
62788
+ }
62789
+ }
62790
+
62791
+ .vd-datepicker-popup {
62792
+ z-index: var(--dp-z-index);
62793
+ background: var(--dp-bg);
62794
+ border: 1px solid var(--dp-border-color);
62795
+ border-radius: var(--dp-border-radius);
62796
+ box-shadow: var(--dp-shadow);
62797
+ padding: var(--dp-padding);
62798
+ min-width: 17rem;
62799
+ display: none;
62800
+ position: absolute;
62801
+ }
62802
+
62803
+ .vd-datepicker-popup.is-open {
62804
+ display: block;
62805
+ }
62806
+
62807
+ .vd-datepicker-header {
62808
+ justify-content: space-between;
62809
+ align-items: center;
62810
+ margin-bottom: .3125rem;
62811
+ padding: .3125rem;
62812
+ display: flex;
62813
+ }
62814
+
62815
+ .vd-datepicker-title {
62816
+ font-weight: 600;
62817
+ font-size: var(--font-size-base, 1rem);
62818
+ cursor: pointer;
62819
+ }
62820
+
62821
+ .vd-datepicker-title:hover {
62822
+ color: var(--dp-day-today-color);
62823
+ }
62824
+
62825
+ .vd-datepicker-prev, .vd-datepicker-next {
62826
+ cursor: pointer;
62827
+ width: 1.75rem;
62828
+ height: 1.75rem;
62829
+ color: var(--text-primary, #212529);
62830
+ background: none;
62831
+ border: none;
62832
+ border-radius: 50%;
62833
+ justify-content: center;
62834
+ align-items: center;
62835
+ padding: 0;
62836
+ font-size: 1rem;
62837
+ transition: background .15s;
62838
+ display: flex;
62839
+ }
62840
+
62841
+ .vd-datepicker-prev:hover, .vd-datepicker-next:hover {
62842
+ background: var(--dp-day-hover-bg);
62843
+ }
62844
+
62845
+ .vd-datepicker-weekdays {
62846
+ gap: var(--dp-gap);
62847
+ text-align: center;
62848
+ color: var(--text-muted, #6c757d);
62849
+ grid-template-columns: repeat(7, 1fr);
62850
+ padding-bottom: .25rem;
62851
+ font-size: .75rem;
62852
+ font-weight: 600;
62853
+ display: grid;
62854
+ }
62855
+
62856
+ .vd-datepicker-days {
62857
+ gap: var(--dp-gap);
62858
+ grid-template-columns: repeat(7, 1fr);
62859
+ display: grid;
62860
+ }
62861
+
62862
+ .vd-datepicker-day {
62863
+ width: var(--dp-cell-size);
62864
+ height: var(--dp-cell-size);
62865
+ cursor: pointer;
62866
+ background: none;
62867
+ border: none;
62868
+ border-radius: 50%;
62869
+ justify-content: center;
62870
+ align-items: center;
62871
+ padding: 0;
62872
+ font-size: .875rem;
62873
+ transition: background .15s, color .15s;
62874
+ display: flex;
62875
+ }
62876
+
62877
+ .vd-datepicker-day:hover {
62878
+ background: var(--dp-day-hover-bg);
62879
+ }
62880
+
62881
+ .vd-datepicker-day.is-today {
62882
+ color: var(--dp-day-today-color);
62883
+ font-weight: 700;
62884
+ }
62885
+
62886
+ .vd-datepicker-day.is-selected {
62887
+ background: var(--dp-day-selected-bg);
62888
+ color: var(--dp-day-selected-color);
62889
+ font-weight: 600;
62890
+ }
62891
+
62892
+ .vd-datepicker-day.is-outside {
62893
+ color: var(--dp-day-outside-color);
62894
+ }
62895
+
62896
+ .vd-datepicker-day.is-disabled {
62897
+ color: var(--dp-day-disabled-color);
62898
+ cursor: not-allowed;
62899
+ pointer-events: none;
62900
+ }
62901
+
62902
+ .vd-datepicker-day.is-range-start {
62903
+ background: var(--dp-day-selected-bg);
62904
+ color: var(--dp-day-selected-color);
62905
+ border-radius: 50% 0 0 50%;
62906
+ }
62907
+
62908
+ .vd-datepicker-day.is-range-end {
62909
+ background: var(--dp-day-selected-bg);
62910
+ color: var(--dp-day-selected-color);
62911
+ border-radius: 0 50% 50% 0;
62912
+ }
62913
+
62914
+ .vd-datepicker-day.is-in-range {
62915
+ background: #0d6efd1a;
62916
+ border-radius: 0;
62917
+ }
62918
+
62919
+ .vd-datepicker-months, .vd-datepicker-years {
62920
+ grid-template-columns: repeat(3, 1fr);
62921
+ gap: .25rem;
62922
+ padding: .25rem;
62923
+ display: grid;
62924
+ }
62925
+
62926
+ .vd-datepicker-month-btn, .vd-datepicker-year-btn {
62927
+ border-radius: var(--dp-border-radius);
62928
+ cursor: pointer;
62929
+ text-align: center;
62930
+ background: none;
62931
+ border: none;
62932
+ padding: .5rem;
62933
+ transition: background .15s;
62934
+ }
62935
+
62936
+ .vd-datepicker-month-btn:hover, .vd-datepicker-year-btn:hover {
62937
+ background: var(--dp-day-hover-bg);
62938
+ }
62939
+
62940
+ .vd-datepicker-month-btn.is-selected, .vd-datepicker-year-btn.is-selected {
62941
+ background: var(--dp-day-selected-bg);
62942
+ color: var(--dp-day-selected-color);
62943
+ }
62944
+
62945
+ :root {
62946
+ --tp-bg: var(--card-bg, #fff);
62947
+ --tp-border-color: var(--border-color, #dee2e6);
62948
+ --tp-shadow: 0 .25rem .8125rem #0000001f;
62949
+ --tp-item-hover-bg: var(--bg-secondary, #f8f9fa);
62950
+ --tp-item-selected-bg: var(--color-primary, #0d6efd);
62951
+ --tp-item-selected-color: #fff;
62952
+ --tp-padding: .5rem;
62953
+ --tp-item-padding: .3125rem .8125rem;
62954
+ --tp-max-height: 15rem;
62955
+ --tp-border-radius: var(--border-radius, .5rem);
62956
+ --tp-z-index: 1055;
62957
+ }
62958
+
62959
+ [data-theme="dark"] {
62960
+ --tp-bg: var(--card-bg, #2d2d44);
62961
+ --tp-border-color: var(--border-color, #3d3d5c);
62962
+ --tp-item-hover-bg: var(--bg-primary, #1a1a2e);
62963
+ --tp-shadow: 0 .25rem .8125rem #0000004d;
62964
+ }
62965
+
62966
+ @media (prefers-color-scheme: dark) {
62967
+ :root:not([data-theme]) {
62968
+ --tp-bg: var(--card-bg, #2d2d44);
62969
+ --tp-border-color: var(--border-color, #3d3d5c);
62970
+ --tp-item-hover-bg: var(--bg-primary, #1a1a2e);
62971
+ --tp-shadow: 0 .25rem .8125rem #0000004d;
62972
+ }
62973
+ }
62974
+
62975
+ .vd-timepicker-popup {
62976
+ z-index: var(--tp-z-index);
62977
+ background: var(--tp-bg);
62978
+ border: 1px solid var(--tp-border-color);
62979
+ border-radius: var(--tp-border-radius);
62980
+ box-shadow: var(--tp-shadow);
62981
+ max-height: var(--tp-max-height);
62982
+ min-width: 8rem;
62983
+ display: none;
62984
+ position: absolute;
62985
+ overflow-y: auto;
62986
+ }
62987
+
62988
+ .vd-timepicker-popup.is-open {
62989
+ display: block;
62990
+ }
62991
+
62992
+ .vd-timepicker-item {
62993
+ padding: var(--tp-item-padding);
62994
+ cursor: pointer;
62995
+ text-align: center;
62996
+ font-variant-numeric: tabular-nums;
62997
+ font-size: .875rem;
62998
+ transition: background .15s;
62999
+ }
63000
+
63001
+ .vd-timepicker-item:hover {
63002
+ background: var(--tp-item-hover-bg);
63003
+ }
63004
+
63005
+ .vd-timepicker-item.is-selected {
63006
+ background: var(--tp-item-selected-bg);
63007
+ color: var(--tp-item-selected-color);
63008
+ font-weight: 600;
63009
+ }
63010
+
63011
+ .vd-timepicker-item.is-disabled {
63012
+ opacity: .4;
63013
+ cursor: not-allowed;
63014
+ pointer-events: none;
63015
+ }
63016
+
63017
+ :root {
63018
+ --stepper-active-color: var(--color-primary, #0d6efd);
63019
+ --stepper-completed-color: var(--color-success, #198754);
63020
+ --stepper-error-color: var(--color-danger, #dc3545);
63021
+ --stepper-pending-color: var(--color-gray-400, #ced4da);
63022
+ --stepper-text-color: var(--text-primary, #212529);
63023
+ --stepper-line-color: var(--border-color, #dee2e6);
63024
+ --stepper-circle-size: 2.125rem;
63025
+ --stepper-line-width: 2px;
63026
+ --stepper-gap: .5rem;
63027
+ --stepper-connector-gap: .8125rem;
63028
+ }
63029
+
63030
+ [data-theme="dark"] {
63031
+ --stepper-pending-color: var(--color-gray-600, #6c757d);
63032
+ --stepper-line-color: var(--color-gray-600, #6c757d);
63033
+ }
63034
+
63035
+ @media (prefers-color-scheme: dark) {
63036
+ :root:not([data-theme]) {
63037
+ --stepper-pending-color: var(--color-gray-600, #6c757d);
63038
+ --stepper-line-color: var(--color-gray-600, #6c757d);
63039
+ }
63040
+ }
63041
+
63042
+ .vd-stepper {
63043
+ counter-reset: step;
63044
+ align-items: flex-start;
63045
+ width: 100%;
63046
+ display: flex;
63047
+ }
63048
+
63049
+ .vd-stepper-item {
63050
+ text-align: center;
63051
+ flex-direction: column;
63052
+ flex: 1;
63053
+ align-items: center;
63054
+ display: flex;
63055
+ position: relative;
63056
+ }
63057
+
63058
+ .vd-stepper-item:not(:last-child):after {
63059
+ content: "";
63060
+ top: calc(var(--stepper-circle-size) / 2);
63061
+ left: calc(50% + var(--stepper-circle-size) / 2 + var(--stepper-connector-gap));
63062
+ right: calc(-50% + var(--stepper-circle-size) / 2 + var(--stepper-connector-gap));
63063
+ height: var(--stepper-line-width);
63064
+ background: var(--stepper-line-color);
63065
+ z-index: 0;
63066
+ position: absolute;
63067
+ }
63068
+
63069
+ .vd-stepper-circle {
63070
+ width: var(--stepper-circle-size);
63071
+ height: var(--stepper-circle-size);
63072
+ border: var(--stepper-line-width) solid var(--stepper-pending-color);
63073
+ background: var(--bg-primary, #fff);
63074
+ z-index: 1;
63075
+ counter-increment: step;
63076
+ border-radius: 50%;
63077
+ justify-content: center;
63078
+ align-items: center;
63079
+ font-size: .875rem;
63080
+ font-weight: 600;
63081
+ transition: background .2s, border-color .2s, color .2s;
63082
+ display: flex;
63083
+ }
63084
+
63085
+ .vd-stepper-label {
63086
+ margin-top: var(--stepper-gap);
63087
+ color: var(--text-muted, #6c757d);
63088
+ font-size: .8125rem;
63089
+ font-weight: 500;
63090
+ }
63091
+
63092
+ .vd-stepper-description {
63093
+ color: var(--text-muted, #6c757d);
63094
+ margin-top: .125rem;
63095
+ font-size: .75rem;
63096
+ }
63097
+
63098
+ .vd-stepper-item.is-active .vd-stepper-circle {
63099
+ border-color: var(--stepper-active-color);
63100
+ background: var(--stepper-active-color);
63101
+ color: #fff;
63102
+ }
63103
+
63104
+ .vd-stepper-item.is-active .vd-stepper-label {
63105
+ color: var(--stepper-active-color);
63106
+ font-weight: 600;
63107
+ }
63108
+
63109
+ .vd-stepper-item.is-completed .vd-stepper-circle {
63110
+ border-color: var(--stepper-completed-color);
63111
+ background: var(--stepper-completed-color);
63112
+ color: #fff;
63113
+ }
63114
+
63115
+ .vd-stepper-item.is-completed:after {
63116
+ background: var(--stepper-completed-color);
63117
+ }
63118
+
63119
+ .vd-stepper-item.is-completed .vd-stepper-label {
63120
+ color: var(--stepper-text-color);
63121
+ }
63122
+
63123
+ .vd-stepper-item.is-error .vd-stepper-circle {
63124
+ border-color: var(--stepper-error-color);
63125
+ background: var(--stepper-error-color);
63126
+ color: #fff;
63127
+ }
63128
+
63129
+ .vd-stepper-item.is-error .vd-stepper-label {
63130
+ color: var(--stepper-error-color);
63131
+ }
63132
+
63133
+ .vd-stepper-vertical {
63134
+ flex-direction: column;
63135
+ align-items: flex-start;
63136
+ }
63137
+
63138
+ .vd-stepper-vertical .vd-stepper-item {
63139
+ text-align: left;
63140
+ flex-direction: row;
63141
+ flex: none;
63142
+ align-items: flex-start;
63143
+ padding-bottom: 1.3125rem;
63144
+ }
63145
+
63146
+ .vd-stepper-vertical .vd-stepper-item:not(:last-child):after {
63147
+ top: calc(var(--stepper-circle-size) + var(--stepper-connector-gap));
63148
+ left: calc(var(--stepper-circle-size) / 2);
63149
+ width: var(--stepper-line-width);
63150
+ height: auto;
63151
+ bottom: 0;
63152
+ right: auto;
63153
+ }
63154
+
63155
+ .vd-stepper-vertical .vd-stepper-label, .vd-stepper-vertical .vd-stepper-description {
63156
+ margin-top: 0;
63157
+ margin-left: .8125rem;
63158
+ }
63159
+
63160
+ .vd-stepper-vertical .vd-stepper-content {
63161
+ flex-direction: column;
63162
+ margin-left: .8125rem;
63163
+ display: flex;
63164
+ }
63165
+
63166
+ .vd-stepper-clickable .vd-stepper-item {
63167
+ cursor: pointer;
63168
+ }
63169
+
63170
+ .vd-stepper-clickable .vd-stepper-circle:hover {
63171
+ transition: transform .15s;
63172
+ transform: scale(1.1);
63173
+ }
63174
+
63175
+ :root {
63176
+ --timeline-line-color: var(--border-color, #dee2e6);
63177
+ --timeline-marker-bg: var(--color-primary, #0d6efd);
63178
+ --timeline-marker-color: #fff;
63179
+ --timeline-content-bg: var(--card-bg, #fff);
63180
+ --timeline-content-border: var(--border-color, #dee2e6);
63181
+ --timeline-line-width: 2px;
63182
+ --timeline-marker-size: .8125rem;
63183
+ --timeline-marker-size-lg: 2.125rem;
63184
+ --timeline-spacing: 1.3125rem;
63185
+ --timeline-content-padding: .8125rem;
63186
+ --timeline-border-radius: var(--border-radius, .5rem);
63187
+ }
63188
+
63189
+ [data-theme="dark"] {
63190
+ --timeline-line-color: var(--color-gray-600, #6c757d);
63191
+ --timeline-content-bg: var(--card-bg, #2d2d44);
63192
+ --timeline-content-border: var(--border-color, #3d3d5c);
63193
+ }
63194
+
63195
+ @media (prefers-color-scheme: dark) {
63196
+ :root:not([data-theme]) {
63197
+ --timeline-line-color: var(--color-gray-600, #6c757d);
63198
+ --timeline-content-bg: var(--card-bg, #2d2d44);
63199
+ --timeline-content-border: var(--border-color, #3d3d5c);
63200
+ }
63201
+ }
63202
+
63203
+ .vd-timeline {
63204
+ padding-left: calc(var(--timeline-marker-size) / 2 + var(--timeline-spacing));
63205
+ margin: 0;
63206
+ list-style: none;
63207
+ position: relative;
63208
+ }
63209
+
63210
+ .vd-timeline:before {
63211
+ content: "";
63212
+ top: 0;
63213
+ bottom: 0;
63214
+ left: calc(var(--timeline-marker-size) / 2 - var(--timeline-line-width) / 2);
63215
+ width: var(--timeline-line-width);
63216
+ background: var(--timeline-line-color);
63217
+ position: absolute;
63218
+ }
63219
+
63220
+ .vd-timeline-item {
63221
+ padding-bottom: var(--timeline-spacing);
63222
+ position: relative;
63223
+ }
63224
+
63225
+ .vd-timeline-item:last-child {
63226
+ padding-bottom: 0;
63227
+ }
63228
+
63229
+ .vd-timeline-marker {
63230
+ left: calc(-1 * var(--timeline-spacing) - var(--timeline-marker-size) / 2);
63231
+ width: var(--timeline-marker-size);
63232
+ height: var(--timeline-marker-size);
63233
+ background: var(--timeline-marker-bg);
63234
+ border: 2px solid var(--timeline-content-bg);
63235
+ box-shadow: 0 0 0 2px var(--timeline-marker-bg);
63236
+ border-radius: 50%;
63237
+ position: absolute;
63238
+ top: .25rem;
63239
+ }
63240
+
63241
+ .vd-timeline-marker-lg {
63242
+ width: var(--timeline-marker-size-lg);
63243
+ height: var(--timeline-marker-size-lg);
63244
+ left: calc(-1 * var(--timeline-spacing) - var(--timeline-marker-size-lg) / 2);
63245
+ color: var(--timeline-marker-color);
63246
+ justify-content: center;
63247
+ align-items: center;
63248
+ font-size: .875rem;
63249
+ display: flex;
63250
+ }
63251
+
63252
+ .vd-timeline-content {
63253
+ background: var(--timeline-content-bg);
63254
+ border: 1px solid var(--timeline-content-border);
63255
+ border-radius: var(--timeline-border-radius);
63256
+ padding: var(--timeline-content-padding);
63257
+ }
63258
+
63259
+ .vd-timeline-title {
63260
+ margin: 0 0 .3125rem;
63261
+ font-size: 1rem;
63262
+ font-weight: 600;
63263
+ }
63264
+
63265
+ .vd-timeline-date {
63266
+ color: var(--text-muted, #6c757d);
63267
+ margin-bottom: .3125rem;
63268
+ font-size: .75rem;
63269
+ }
63270
+
63271
+ .vd-timeline-text {
63272
+ margin: 0;
63273
+ font-size: .875rem;
63274
+ }
63275
+
63276
+ .vd-timeline-item.vd-timeline-success .vd-timeline-marker {
63277
+ background: var(--color-success, #198754);
63278
+ box-shadow: 0 0 0 2px var(--color-success, #198754);
63279
+ }
63280
+
63281
+ .vd-timeline-item.vd-timeline-warning .vd-timeline-marker {
63282
+ background: var(--color-warning, #ffc107);
63283
+ box-shadow: 0 0 0 2px var(--color-warning, #ffc107);
63284
+ }
63285
+
63286
+ .vd-timeline-item.vd-timeline-danger .vd-timeline-marker {
63287
+ background: var(--color-danger, #dc3545);
63288
+ box-shadow: 0 0 0 2px var(--color-danger, #dc3545);
63289
+ }
63290
+
63291
+ .vd-timeline-alternating {
63292
+ padding-left: 0;
63293
+ }
63294
+
63295
+ .vd-timeline-alternating:before {
63296
+ left: 50%;
63297
+ transform: translateX(-50%);
63298
+ }
63299
+
63300
+ .vd-timeline-alternating .vd-timeline-item {
63301
+ width: 50%;
63302
+ padding-right: var(--timeline-spacing);
63303
+ padding-left: 0;
63304
+ }
63305
+
63306
+ .vd-timeline-alternating .vd-timeline-item:nth-child(odd) {
63307
+ text-align: right;
63308
+ margin-left: 0;
63309
+ }
63310
+
63311
+ .vd-timeline-alternating .vd-timeline-item:nth-child(odd) .vd-timeline-marker {
63312
+ left: auto;
63313
+ right: calc(-1 * var(--timeline-marker-size) / 2 - 1px);
63314
+ }
63315
+
63316
+ .vd-timeline-alternating .vd-timeline-item:nth-child(2n) {
63317
+ padding-left: var(--timeline-spacing);
63318
+ margin-left: 50%;
63319
+ padding-right: 0;
63320
+ }
63321
+
63322
+ .vd-timeline-alternating .vd-timeline-item:nth-child(2n) .vd-timeline-marker {
63323
+ left: calc(-1 * var(--timeline-marker-size) / 2 - 1px);
63324
+ }
63325
+
63326
+ @media (width <= 768px) {
63327
+ .vd-timeline-alternating {
63328
+ padding-left: calc(var(--timeline-marker-size) / 2 + var(--timeline-spacing));
63329
+ }
63330
+
63331
+ .vd-timeline-alternating:before {
63332
+ left: calc(var(--timeline-marker-size) / 2 - var(--timeline-line-width) / 2);
63333
+ transform: none;
63334
+ }
63335
+
63336
+ .vd-timeline-alternating .vd-timeline-item, .vd-timeline-alternating .vd-timeline-item:nth-child(odd), .vd-timeline-alternating .vd-timeline-item:nth-child(2n) {
63337
+ text-align: left;
63338
+ width: 100%;
63339
+ margin-left: 0;
63340
+ padding-left: 0;
63341
+ padding-right: 0;
63342
+ }
63343
+
63344
+ .vd-timeline-alternating .vd-timeline-item:nth-child(odd) .vd-timeline-marker, .vd-timeline-alternating .vd-timeline-item:nth-child(2n) .vd-timeline-marker {
63345
+ left: calc(-1 * var(--timeline-spacing) - var(--timeline-marker-size) / 2);
63346
+ right: auto;
63347
+ }
63348
+ }
63349
+
63350
+ :root {
63351
+ --rating-active-color: #f59e0b;
63352
+ --rating-inactive-color: var(--color-gray-300, #dee2e6);
63353
+ --rating-hover-color: #fbbf24;
63354
+ --rating-size: 1.3125rem;
63355
+ --rating-size-sm: 1rem;
63356
+ --rating-size-lg: 2.125rem;
63357
+ --rating-gap: .125rem;
63358
+ }
63359
+
63360
+ [data-theme="dark"] {
63361
+ --rating-inactive-color: var(--color-gray-600, #6c757d);
63362
+ }
63363
+
63364
+ @media (prefers-color-scheme: dark) {
63365
+ :root:not([data-theme]) {
63366
+ --rating-inactive-color: var(--color-gray-600, #6c757d);
63367
+ }
63368
+ }
63369
+
63370
+ .vd-rating {
63371
+ align-items: center;
63372
+ gap: var(--rating-gap);
63373
+ display: inline-flex;
63374
+ }
63375
+
63376
+ .vd-rating-star {
63377
+ font-size: var(--rating-size);
63378
+ color: var(--rating-inactive-color);
63379
+ cursor: pointer;
63380
+ user-select: none;
63381
+ background: none;
63382
+ border: none;
63383
+ justify-content: center;
63384
+ align-items: center;
63385
+ padding: 0;
63386
+ line-height: 1;
63387
+ transition: color .15s, transform .15s;
63388
+ display: inline-flex;
63389
+ }
63390
+
63391
+ .vd-rating-star:before {
63392
+ content: "★";
63393
+ }
63394
+
63395
+ .vd-rating-star:hover {
63396
+ transform: scale(1.2);
63397
+ }
63398
+
63399
+ .vd-rating-star.is-active {
63400
+ color: var(--rating-active-color);
63401
+ }
63402
+
63403
+ .vd-rating-star.is-hovered {
63404
+ color: var(--rating-hover-color);
63405
+ }
63406
+
63407
+ .vd-rating-star.is-half {
63408
+ color: var(--rating-inactive-color);
63409
+ position: relative;
63410
+ }
63411
+
63412
+ .vd-rating-star.is-half:after {
63413
+ content: "★";
63414
+ width: 50%;
63415
+ color: var(--rating-active-color);
63416
+ position: absolute;
63417
+ top: 0;
63418
+ left: 0;
63419
+ overflow: hidden;
63420
+ }
63421
+
63422
+ .vd-rating-readonly .vd-rating-star {
63423
+ cursor: default;
63424
+ pointer-events: none;
63425
+ }
63426
+
63427
+ .vd-rating-readonly .vd-rating-star:hover {
63428
+ transform: none;
63429
+ }
63430
+
63431
+ .vd-rating-sm .vd-rating-star {
63432
+ font-size: var(--rating-size-sm);
63433
+ }
63434
+
63435
+ .vd-rating-lg .vd-rating-star {
63436
+ font-size: var(--rating-size-lg);
63437
+ }
63438
+
63439
+ .vd-rating-value {
63440
+ color: var(--text-primary, #212529);
63441
+ margin-left: .5rem;
63442
+ font-size: .875rem;
63443
+ font-weight: 600;
63444
+ }
63445
+
63446
+ :root {
63447
+ --transfer-bg: var(--card-bg, #fff);
63448
+ --transfer-border-color: var(--border-color, #dee2e6);
63449
+ --transfer-item-hover-bg: var(--bg-secondary, #f8f9fa);
63450
+ --transfer-item-selected-bg: var(--color-primary-alpha-10, #0d6efd1a);
63451
+ --transfer-header-bg: var(--bg-secondary, #f8f9fa);
63452
+ --transfer-padding: .5rem;
63453
+ --transfer-list-height: 15rem;
63454
+ --transfer-border-radius: var(--border-radius, .5rem);
63455
+ --transfer-gap: .8125rem;
63456
+ }
63457
+
63458
+ [data-theme="dark"] {
63459
+ --transfer-bg: var(--card-bg, #2d2d44);
63460
+ --transfer-border-color: var(--border-color, #3d3d5c);
63461
+ --transfer-item-hover-bg: var(--bg-primary, #1a1a2e);
63462
+ --transfer-header-bg: var(--bg-primary, #1a1a2e);
63463
+ }
63464
+
63465
+ @media (prefers-color-scheme: dark) {
63466
+ :root:not([data-theme]) {
63467
+ --transfer-bg: var(--card-bg, #2d2d44);
63468
+ --transfer-border-color: var(--border-color, #3d3d5c);
63469
+ --transfer-item-hover-bg: var(--bg-primary, #1a1a2e);
63470
+ --transfer-header-bg: var(--bg-primary, #1a1a2e);
63471
+ }
63472
+ }
63473
+
63474
+ .vd-transfer {
63475
+ align-items: stretch;
63476
+ gap: var(--transfer-gap);
63477
+ display: flex;
63478
+ }
63479
+
63480
+ .vd-transfer-panel {
63481
+ border: 1px solid var(--transfer-border-color);
63482
+ border-radius: var(--transfer-border-radius);
63483
+ background: var(--transfer-bg);
63484
+ flex-direction: column;
63485
+ flex: 1;
63486
+ min-width: 10rem;
63487
+ display: flex;
63488
+ }
63489
+
63490
+ .vd-transfer-header {
63491
+ padding: var(--transfer-padding) .8125rem;
63492
+ background: var(--transfer-header-bg);
63493
+ border-bottom: 1px solid var(--transfer-border-color);
63494
+ border-radius: var(--transfer-border-radius) var(--transfer-border-radius) 0 0;
63495
+ justify-content: space-between;
63496
+ align-items: center;
63497
+ font-size: .8125rem;
63498
+ font-weight: 600;
63499
+ display: flex;
63500
+ }
63501
+
63502
+ .vd-transfer-count {
63503
+ color: var(--text-muted, #6c757d);
63504
+ font-weight: 400;
63505
+ }
63506
+
63507
+ .vd-transfer-search {
63508
+ padding: var(--transfer-padding);
63509
+ border-bottom: 1px solid var(--transfer-border-color);
63510
+ }
63511
+
63512
+ .vd-transfer-search input {
63513
+ border: 1px solid var(--transfer-border-color);
63514
+ background: var(--transfer-bg);
63515
+ width: 100%;
63516
+ color: var(--text-primary, #212529);
63517
+ border-radius: .25rem;
63518
+ padding: .3125rem .5rem;
63519
+ font-size: .8125rem;
63520
+ }
63521
+
63522
+ .vd-transfer-list {
63523
+ max-height: var(--transfer-list-height);
63524
+ flex: 1;
63525
+ margin: 0;
63526
+ padding: 0;
63527
+ list-style: none;
63528
+ overflow-y: auto;
63529
+ }
63530
+
63531
+ .vd-transfer-item {
63532
+ cursor: pointer;
63533
+ align-items: center;
63534
+ gap: .5rem;
63535
+ padding: .3125rem .8125rem;
63536
+ font-size: .875rem;
63537
+ transition: background .15s;
63538
+ display: flex;
63539
+ }
63540
+
63541
+ .vd-transfer-item:hover {
63542
+ background: var(--transfer-item-hover-bg);
63543
+ }
63544
+
63545
+ .vd-transfer-item.is-selected {
63546
+ background: var(--transfer-item-selected-bg);
63547
+ }
63548
+
63549
+ .vd-transfer-item input[type="checkbox"] {
63550
+ margin: 0;
63551
+ }
63552
+
63553
+ .vd-transfer-actions {
63554
+ flex-direction: column;
63555
+ justify-content: center;
63556
+ align-items: center;
63557
+ gap: .3125rem;
63558
+ display: flex;
63559
+ }
63560
+
63561
+ .vd-transfer-btn {
63562
+ border: 1px solid var(--transfer-border-color);
63563
+ background: var(--transfer-bg);
63564
+ cursor: pointer;
63565
+ border-radius: .25rem;
63566
+ justify-content: center;
63567
+ align-items: center;
63568
+ width: 2rem;
63569
+ height: 2rem;
63570
+ padding: 0;
63571
+ font-size: .875rem;
63572
+ transition: background .15s;
63573
+ display: flex;
63574
+ }
63575
+
63576
+ .vd-transfer-btn:hover {
63577
+ background: var(--transfer-item-hover-bg);
63578
+ }
63579
+
63580
+ .vd-transfer-btn:disabled {
63581
+ opacity: .4;
63582
+ cursor: not-allowed;
63583
+ }
63584
+
63585
+ @media (width <= 576px) {
63586
+ .vd-transfer {
63587
+ flex-direction: column;
63588
+ }
63589
+
63590
+ .vd-transfer-actions {
63591
+ flex-direction: row;
63592
+ }
63593
+ }
63594
+
63595
+ :root {
63596
+ --tree-indent: 1.3125rem;
63597
+ --tree-line-color: var(--border-color, #dee2e6);
63598
+ --tree-line-width: 1px;
63599
+ --tree-item-padding: .25rem .3125rem;
63600
+ --tree-item-hover-bg: var(--bg-secondary, #f8f9fa);
63601
+ --tree-icon-size: 1rem;
63602
+ --tree-toggle-size: 1.125rem;
63603
+ }
63604
+
63605
+ [data-theme="dark"] {
63606
+ --tree-line-color: var(--color-gray-600, #6c757d);
63607
+ --tree-item-hover-bg: var(--bg-primary, #1a1a2e);
63608
+ }
63609
+
63610
+ @media (prefers-color-scheme: dark) {
63611
+ :root:not([data-theme]) {
63612
+ --tree-line-color: var(--color-gray-600, #6c757d);
63613
+ --tree-item-hover-bg: var(--bg-primary, #1a1a2e);
63614
+ }
63615
+ }
63616
+
63617
+ .vd-tree {
63618
+ margin: 0;
63619
+ padding: 0;
63620
+ list-style: none;
63621
+ }
63622
+
63623
+ .vd-tree .vd-tree {
63624
+ padding-left: var(--tree-indent);
63625
+ }
63626
+
63627
+ .vd-tree-node {
63628
+ position: relative;
63629
+ }
63630
+
63631
+ .vd-tree-node-content {
63632
+ padding: var(--tree-item-padding);
63633
+ cursor: default;
63634
+ border-radius: .25rem;
63635
+ align-items: center;
63636
+ gap: .3125rem;
63637
+ font-size: .875rem;
63638
+ transition: background .15s;
63639
+ display: flex;
63640
+ }
63641
+
63642
+ .vd-tree-node-content:hover {
63643
+ background: var(--tree-item-hover-bg);
63644
+ }
63645
+
63646
+ .vd-tree-toggle {
63647
+ width: var(--tree-toggle-size);
63648
+ height: var(--tree-toggle-size);
63649
+ cursor: pointer;
63650
+ color: var(--text-muted, #6c757d);
63651
+ background: none;
63652
+ border: none;
63653
+ flex-shrink: 0;
63654
+ justify-content: center;
63655
+ align-items: center;
63656
+ padding: 0;
63657
+ font-size: .625rem;
63658
+ transition: transform .2s;
63659
+ display: inline-flex;
63660
+ }
63661
+
63662
+ .vd-tree-toggle:before {
63663
+ content: "▶";
63664
+ }
63665
+
63666
+ .vd-tree-node.is-open > .vd-tree-node-content .vd-tree-toggle {
63667
+ transform: rotate(90deg);
63668
+ }
63669
+
63670
+ .vd-tree-toggle-placeholder {
63671
+ width: var(--tree-toggle-size);
63672
+ flex-shrink: 0;
63673
+ }
63674
+
63675
+ .vd-tree-checkbox {
63676
+ flex-shrink: 0;
63677
+ margin: 0;
63678
+ }
63679
+
63680
+ .vd-tree-icon {
63681
+ font-size: var(--tree-icon-size);
63682
+ color: var(--text-muted, #6c757d);
63683
+ flex-shrink: 0;
63684
+ }
63685
+
63686
+ .vd-tree-node.is-open > .vd-tree-node-content .vd-tree-icon-folder:before {
63687
+ content: "📂";
63688
+ }
63689
+
63690
+ .vd-tree-icon-folder:before {
63691
+ content: "📁";
63692
+ }
63693
+
63694
+ .vd-tree-icon-file:before {
63695
+ content: "📄";
63696
+ }
63697
+
63698
+ .vd-tree-label {
63699
+ text-overflow: ellipsis;
63700
+ white-space: nowrap;
63701
+ flex: 1;
63702
+ min-width: 0;
63703
+ overflow: hidden;
63704
+ }
63705
+
63706
+ .vd-tree-node.is-selected > .vd-tree-node-content .vd-tree-label {
63707
+ color: var(--color-primary, #0d6efd);
63708
+ font-weight: 600;
63709
+ }
63710
+
63711
+ .vd-tree-children {
63712
+ padding: 0;
63713
+ padding-left: var(--tree-indent);
63714
+ margin: 0;
63715
+ list-style: none;
63716
+ display: none;
63717
+ }
63718
+
63719
+ .vd-tree-node.is-open > .vd-tree-children {
63720
+ display: block;
63721
+ }
63722
+
63723
+ .vd-tree-lines .vd-tree-children {
63724
+ position: relative;
63725
+ }
63726
+
63727
+ .vd-tree-lines .vd-tree-children:before {
63728
+ content: "";
63729
+ top: 0;
63730
+ left: calc(var(--tree-toggle-size) / 2);
63731
+ width: var(--tree-line-width);
63732
+ background: var(--tree-line-color);
63733
+ position: absolute;
63734
+ bottom: .75rem;
63735
+ }
63736
+
63737
+ .vd-tree-lines .vd-tree-children .vd-tree-node:before {
63738
+ content: "";
63739
+ top: 50%;
63740
+ left: calc(var(--tree-toggle-size) / 2 - var(--tree-indent));
63741
+ width: .5rem;
63742
+ height: var(--tree-line-width);
63743
+ background: var(--tree-line-color);
63744
+ position: absolute;
63745
+ }
63746
+
63747
+ :root {
63748
+ --spotlight-overlay-bg: #00000080;
63749
+ --spotlight-tooltip-bg: var(--card-bg, #fff);
63750
+ --spotlight-tooltip-color: var(--text-primary, #212529);
63751
+ --spotlight-tooltip-shadow: 0 .5rem 1.3125rem #00000026;
63752
+ --spotlight-tooltip-padding: 1.3125rem;
63753
+ --spotlight-tooltip-radius: var(--border-radius, .5rem);
63754
+ --spotlight-tooltip-max-width: 21rem;
63755
+ --spotlight-highlight-padding: .5rem;
63756
+ --spotlight-z-index: 1080;
63757
+ }
63758
+
63759
+ [data-theme="dark"] {
63760
+ --spotlight-tooltip-bg: var(--card-bg, #2d2d44);
63761
+ --spotlight-tooltip-shadow: 0 .5rem 1.3125rem #00000059;
63762
+ }
63763
+
63764
+ @media (prefers-color-scheme: dark) {
63765
+ :root:not([data-theme]) {
63766
+ --spotlight-tooltip-bg: var(--card-bg, #2d2d44);
63767
+ --spotlight-tooltip-shadow: 0 .5rem 1.3125rem #00000059;
63768
+ }
63769
+ }
63770
+
63771
+ .vd-spotlight-overlay {
63772
+ width: 100vw;
63773
+ height: 100vh;
63774
+ z-index: var(--spotlight-z-index);
63775
+ pointer-events: auto;
63776
+ transition: opacity .3s;
63777
+ position: fixed;
63778
+ top: 0;
63779
+ left: 0;
63780
+ }
63781
+
63782
+ .vd-spotlight-tooltip {
63783
+ z-index: calc(var(--spotlight-z-index) + 2);
63784
+ background: var(--spotlight-tooltip-bg);
63785
+ color: var(--spotlight-tooltip-color);
63786
+ padding: var(--spotlight-tooltip-padding);
63787
+ border-radius: var(--spotlight-tooltip-radius);
63788
+ box-shadow: var(--spotlight-tooltip-shadow);
63789
+ max-width: var(--spotlight-tooltip-max-width);
63790
+ position: absolute;
63791
+ }
63792
+
63793
+ .vd-spotlight-title {
63794
+ margin: 0 0 .5rem;
63795
+ font-size: 1.125rem;
63796
+ font-weight: 600;
63797
+ }
63798
+
63799
+ .vd-spotlight-description {
63800
+ margin: 0 0 .8125rem;
63801
+ font-size: .875rem;
63802
+ line-height: 1.5;
63803
+ }
63804
+
63805
+ .vd-spotlight-footer {
63806
+ justify-content: space-between;
63807
+ align-items: center;
63808
+ gap: .5rem;
63809
+ display: flex;
63810
+ }
63811
+
63812
+ .vd-spotlight-counter {
63813
+ color: var(--text-muted, #6c757d);
63814
+ font-size: .75rem;
63815
+ }
63816
+
63817
+ .vd-spotlight-actions {
63818
+ gap: .3125rem;
63819
+ display: flex;
63820
+ }
63821
+
63822
+ .vd-spotlight-btn {
63823
+ border: 1px solid var(--border-color, #dee2e6);
63824
+ cursor: pointer;
63825
+ background: none;
63826
+ border-radius: .25rem;
63827
+ padding: .3125rem .8125rem;
63828
+ font-size: .8125rem;
63829
+ transition: background .15s;
63830
+ }
63831
+
63832
+ .vd-spotlight-btn:hover {
63833
+ background: var(--bg-secondary, #f8f9fa);
63834
+ }
63835
+
63836
+ .vd-spotlight-btn-primary {
63837
+ background: var(--color-primary, #0d6efd);
63838
+ color: #fff;
63839
+ border-color: var(--color-primary, #0d6efd);
63840
+ }
63841
+
63842
+ .vd-spotlight-btn-primary:hover {
63843
+ background: var(--color-primary-dark, #0b5ed7);
63844
+ }
63845
+
63846
+ .vd-spotlight-target {
63847
+ z-index: calc(var(--spotlight-z-index) + 1);
63848
+ box-shadow: 0 0 0 var(--spotlight-highlight-padding) #0d6efd40,
63849
+ 0 0 0 9999px var(--spotlight-overlay-bg);
63850
+ border-radius: .25rem;
63851
+ position: relative;
60870
63852
  }
60871
63853
 
60872
63854
  @media print {