@qeetrix/react 0.0.2 → 0.0.4

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 (104) hide show
  1. package/CHANGELOG.md +116 -1
  2. package/README.md +99 -0
  3. package/dist/button/button.d.ts +6 -2
  4. package/dist/button/button.js +5 -1
  5. package/dist/css/avatar.css +6 -0
  6. package/dist/css/badge.css +6 -0
  7. package/dist/css/button.css +81 -6
  8. package/dist/css/checkbox.css +9 -0
  9. package/dist/css/dialog.css +7 -0
  10. package/dist/css/drawer.css +6 -0
  11. package/dist/css/experimental/alert.css +89 -0
  12. package/dist/css/experimental/app-shell.css +258 -0
  13. package/dist/css/experimental/breadcrumb.css +67 -0
  14. package/dist/css/experimental/copy-button.css +13 -0
  15. package/dist/css/experimental/empty-state.css +63 -0
  16. package/dist/css/experimental/otp-input.css +84 -0
  17. package/dist/css/experimental/page-header.css +110 -0
  18. package/dist/css/experimental/password-input.css +21 -0
  19. package/dist/css/experimental/sidebar.css +234 -0
  20. package/dist/css/experimental/stat.css +115 -0
  21. package/dist/css/experimental/top-bar.css +299 -0
  22. package/dist/css/input.css +10 -0
  23. package/dist/css/menu.css +17 -0
  24. package/dist/css/progress.css +14 -0
  25. package/dist/css/scroll-area.css +7 -0
  26. package/dist/css/select.css +16 -0
  27. package/dist/css/separator.css +7 -0
  28. package/dist/css/skeleton.css +6 -0
  29. package/dist/css/slider.css +22 -0
  30. package/dist/css/switch.css +33 -0
  31. package/dist/css/tabs.css +11 -0
  32. package/dist/css/toast.css +7 -0
  33. package/dist/css/toggle.css +13 -0
  34. package/dist/css/tooltip.css +6 -0
  35. package/dist/dialog/dialog.d.ts +4 -1
  36. package/dist/dialog/dialog.js +4 -3
  37. package/dist/drawer/drawer.d.ts +4 -1
  38. package/dist/drawer/drawer.js +5 -4
  39. package/dist/experimental/alert/alert.d.ts +29 -0
  40. package/dist/experimental/alert/alert.js +72 -0
  41. package/dist/experimental/alert/index.d.ts +2 -0
  42. package/dist/experimental/app-shell/app-shell.d.ts +60 -0
  43. package/dist/experimental/app-shell/app-shell.js +224 -0
  44. package/dist/experimental/app-shell/index.d.ts +2 -0
  45. package/dist/experimental/breadcrumb/breadcrumb.d.ts +27 -0
  46. package/dist/experimental/breadcrumb/breadcrumb.js +48 -0
  47. package/dist/experimental/breadcrumb/index.d.ts +2 -0
  48. package/dist/experimental/copy-button/copy-button.d.ts +27 -0
  49. package/dist/experimental/copy-button/copy-button.js +61 -0
  50. package/dist/experimental/copy-button/index.d.ts +2 -0
  51. package/dist/experimental/empty-state/data-state.d.ts +23 -0
  52. package/dist/experimental/empty-state/data-state.js +40 -0
  53. package/dist/experimental/empty-state/empty-state.d.ts +26 -0
  54. package/dist/experimental/empty-state/empty-state.js +46 -0
  55. package/dist/experimental/empty-state/index.d.ts +3 -0
  56. package/dist/experimental/index.d.ts +24 -0
  57. package/dist/experimental/index.js +13 -0
  58. package/dist/experimental/otp-input/index.d.ts +2 -0
  59. package/dist/experimental/otp-input/otp-input.d.ts +27 -0
  60. package/dist/experimental/otp-input/otp-input.js +39 -0
  61. package/dist/experimental/page-header/index.d.ts +2 -0
  62. package/dist/experimental/page-header/page-header.d.ts +32 -0
  63. package/dist/experimental/page-header/page-header.js +73 -0
  64. package/dist/experimental/password-input/index.d.ts +2 -0
  65. package/dist/experimental/password-input/password-input.d.ts +26 -0
  66. package/dist/experimental/password-input/password-input.js +103 -0
  67. package/dist/experimental/sidebar/index.d.ts +2 -0
  68. package/dist/experimental/sidebar/sidebar.d.ts +64 -0
  69. package/dist/experimental/sidebar/sidebar.js +200 -0
  70. package/dist/experimental/stat/index.d.ts +2 -0
  71. package/dist/experimental/stat/stat.d.ts +31 -0
  72. package/dist/experimental/stat/stat.js +90 -0
  73. package/dist/experimental/top-bar/index.d.ts +2 -0
  74. package/dist/experimental/top-bar/top-bar.d.ts +60 -0
  75. package/dist/experimental/top-bar/top-bar.js +162 -0
  76. package/dist/field/field.d.ts +4 -1
  77. package/dist/field/field.js +6 -5
  78. package/dist/format/format.d.ts +12 -0
  79. package/dist/format/format.js +50 -0
  80. package/dist/format/index.d.ts +2 -0
  81. package/dist/format/index.js +1 -0
  82. package/dist/index.d.ts +6 -2
  83. package/dist/index.js +3 -1
  84. package/dist/internal/media.js +15 -0
  85. package/dist/internal/messages.d.ts +75 -0
  86. package/dist/internal/messages.js +44 -5
  87. package/dist/link/link.d.ts +7 -1
  88. package/dist/link/link.js +3 -2
  89. package/dist/locales/hi.d.ts +8 -0
  90. package/dist/locales/hi.js +60 -0
  91. package/dist/progress/progress.d.ts +2 -2
  92. package/dist/progress/progress.js +7 -2
  93. package/dist/provider/index.d.ts +3 -0
  94. package/dist/provider/index.js +1 -0
  95. package/dist/provider/provider.d.ts +46 -0
  96. package/dist/provider/provider.js +90 -0
  97. package/dist/slider/slider.d.ts +5 -2
  98. package/dist/slider/slider.js +10 -3
  99. package/dist/styles.css +1704 -104
  100. package/dist/text-field/text-field.d.ts +2 -2
  101. package/dist/text-field/text-field.js +4 -2
  102. package/dist/toast/toast.d.ts +4 -1
  103. package/dist/toast/toast.js +7 -6
  104. package/package.json +18 -2
package/dist/styles.css CHANGED
@@ -124,6 +124,12 @@
124
124
  block-size: 100%;
125
125
  inline-size: 100%;
126
126
  }
127
+
128
+ @media (forced-colors: active) {
129
+ .qx-avatar {
130
+ border: var(--qx-border-width-default) solid CanvasText;
131
+ }
132
+ }
127
133
  }
128
134
 
129
135
  @layer qx.components {
@@ -176,6 +182,12 @@
176
182
  min-inline-size: 0;
177
183
  overflow: hidden;
178
184
  }
185
+
186
+ @media (forced-colors: active) {
187
+ .qx-badge {
188
+ border: var(--qx-border-width-default) solid CanvasText;
189
+ }
190
+ }
179
191
  }
180
192
 
181
193
  @layer qx.components {
@@ -356,8 +368,8 @@
356
368
  border: 0;
357
369
  justify-content: space-between;
358
370
  align-items: center;
359
- gap: 24px;
360
- padding-inline: 14px 12px;
371
+ gap: 12px;
372
+ padding-inline: 14px 0;
361
373
  text-decoration: none;
362
374
  display: inline-flex;
363
375
  position: relative;
@@ -371,8 +383,8 @@
371
383
  block-size: var(--qx-size-control-sm);
372
384
  font-size: var(--qx-typography-label-sm-font-size);
373
385
  line-height: var(--qx-typography-label-sm-line-height);
374
- gap: 16px;
375
- padding-inline: 10px 8px;
386
+ gap: 8px;
387
+ padding-inline: 10px 0;
376
388
  }
377
389
 
378
390
  .qx-button[data-size="sm"]:not([data-icon]):not([data-loading]) {
@@ -381,8 +393,8 @@
381
393
 
382
394
  .qx-button[data-size="lg"] {
383
395
  block-size: var(--qx-size-control-lg);
384
- gap: 32px;
385
- padding-inline: 16px 14px;
396
+ gap: 14px;
397
+ padding-inline: 16px 0;
386
398
  }
387
399
 
388
400
  .qx-button[data-size="lg"]:not([data-icon]):not([data-loading]) {
@@ -453,6 +465,24 @@
453
465
  background: var(--qx-color-bg-danger-subtle);
454
466
  }
455
467
 
468
+ .qx-button[data-tone="neutral"][data-variant="ghost"] {
469
+ color: var(--qx-color-text-subtle);
470
+ }
471
+
472
+ .qx-button[data-tone="neutral"][data-variant="ghost"]:hover:not([data-disabled]) {
473
+ background: var(--qx-color-bg-neutral-subtle);
474
+ color: var(--qx-color-text-default);
475
+ }
476
+
477
+ .qx-button[data-tone="neutral"][data-variant="ghost"]:active:not([data-disabled]) {
478
+ background: var(--qx-color-bg-neutral-subtle-pressed);
479
+ }
480
+
481
+ .qx-button[data-tone="neutral"]:not([data-variant="ghost"]) {
482
+ background: var(--qx-color-bg-neutral-bold);
483
+ color: var(--qx-color-text-inverse);
484
+ }
485
+
456
486
  .qx-button[data-disabled]:not([data-loading]) {
457
487
  background: var(--qx-color-bg-disabled);
458
488
  color: var(--qx-color-text-disabled);
@@ -484,6 +514,43 @@
484
514
  flex: none;
485
515
  }
486
516
 
517
+ .qx-button-zone {
518
+ flex: none;
519
+ align-self: stretch;
520
+ place-items: center;
521
+ padding-inline: 10px;
522
+ display: grid;
523
+ position: relative;
524
+ }
525
+
526
+ .qx-button-zone:before {
527
+ content: "";
528
+ inline-size: var(--qx-border-width-default);
529
+ block-size: var(--qx-size-icon-sm);
530
+ opacity: .55;
531
+ background: currentColor;
532
+ position: absolute;
533
+ inset-block-start: 50%;
534
+ inset-inline-start: 0;
535
+ translate: 0 -50%;
536
+ }
537
+
538
+ .qx-button[data-size="sm"] > .qx-button-zone {
539
+ padding-inline: 8px;
540
+ }
541
+
542
+ .qx-button[data-size="sm"] > .qx-button-zone:before {
543
+ block-size: var(--qx-size-icon-xs);
544
+ }
545
+
546
+ .qx-button[data-size="lg"] > .qx-button-zone {
547
+ padding-inline: 12px;
548
+ }
549
+
550
+ .qx-button[data-size="lg"] > .qx-button-zone:before {
551
+ block-size: var(--qx-size-icon-md);
552
+ }
553
+
487
554
  .qx-icon-button {
488
555
  inline-size: var(--qx-size-control-md);
489
556
  justify-content: center;
@@ -503,6 +570,26 @@
503
570
  .qx-icon-button:not([data-icon]):not([data-loading]) {
504
571
  padding-inline: 0;
505
572
  }
573
+
574
+ @media (forced-colors: active) {
575
+ .qx-button {
576
+ border: var(--qx-border-width-default) solid ButtonText;
577
+ }
578
+
579
+ .qx-button[data-disabled]:not([data-loading]) {
580
+ color: graytext;
581
+ border-color: graytext;
582
+ }
583
+
584
+ .qx-button-zone:before {
585
+ opacity: 1;
586
+ background: buttontext;
587
+ }
588
+
589
+ .qx-button[data-disabled]:not([data-loading]) .qx-button-zone:before {
590
+ background: graytext;
591
+ }
592
+ }
506
593
  }
507
594
 
508
595
  @layer qx.components {
@@ -632,6 +719,15 @@
632
719
  .qx-checkbox-mark {
633
720
  display: flex;
634
721
  }
722
+
723
+ @media (forced-colors: active) {
724
+ .qx-checkbox:is([data-checked], [data-indeterminate]):not([data-disabled]) {
725
+ forced-color-adjust: none;
726
+ color: highlighttext;
727
+ background: highlight;
728
+ border-color: highlight;
729
+ }
730
+ }
635
731
  }
636
732
 
637
733
  @layer qx.components {
@@ -726,151 +822,1486 @@
726
822
  margin: 0;
727
823
  }
728
824
 
729
- .qx-dialog-description {
730
- color: var(--qx-color-text-subtle);
731
- margin: 0;
825
+ .qx-dialog-description {
826
+ color: var(--qx-color-text-subtle);
827
+ margin: 0;
828
+ }
829
+
830
+ .qx-dialog-body {
831
+ min-block-size: 0;
832
+ padding: 0 var(--qx-space-inset-xl) var(--qx-space-inset-xl);
833
+ flex: 1;
834
+ overflow-y: auto;
835
+ }
836
+
837
+ .qx-dialog-footer {
838
+ justify-content: flex-end;
839
+ gap: var(--qx-space-gap-sm);
840
+ padding: 0 var(--qx-space-inset-xl) var(--qx-space-inset-xl);
841
+ flex-wrap: wrap;
842
+ display: flex;
843
+ }
844
+
845
+ .qx-dialog-close {
846
+ position: absolute;
847
+ inset-block-start: 12px;
848
+ inset-inline-end: 12px;
849
+ }
850
+
851
+ @media (forced-colors: active) {
852
+ .qx-dialog {
853
+ border: var(--qx-border-width-default) solid CanvasText;
854
+ border-block-start-width: var(--qx-border-width-accent);
855
+ }
856
+ }
857
+ }
858
+
859
+ @layer qx.components {
860
+ .qx-drawer-backdrop {
861
+ z-index: var(--qx-z-overlay);
862
+ background: var(--qx-color-overlay-scrim);
863
+ transition-property: opacity;
864
+ transition-duration: var(--qx-motion-duration-slow);
865
+ transition-timing-function: var(--qx-motion-easing-enter);
866
+ position: fixed;
867
+ inset: 0;
868
+ }
869
+
870
+ .qx-drawer-backdrop[data-starting-style], .qx-drawer-backdrop[data-ending-style] {
871
+ opacity: 0;
872
+ }
873
+
874
+ .qx-drawer-backdrop[data-ending-style] {
875
+ transition-duration: var(--qx-motion-duration-normal);
876
+ transition-timing-function: var(--qx-motion-easing-exit);
877
+ }
878
+
879
+ .qx-drawer-viewport {
880
+ z-index: var(--qx-z-modal);
881
+ justify-content: flex-end;
882
+ display: flex;
883
+ position: fixed;
884
+ inset: 0;
885
+ }
886
+
887
+ .qx-drawer-viewport[data-side="start"] {
888
+ justify-content: flex-start;
889
+ }
890
+
891
+ .qx-drawer {
892
+ background: var(--qx-color-surface-overlay);
893
+ block-size: 100%;
894
+ inline-size: min(560px, 100vw - 48px);
895
+ box-shadow: var(--qx-shadow-modal);
896
+ color: var(--qx-color-text-default);
897
+ font: var(--qx-typography-body-md);
898
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
899
+ transform: translateX(var(--drawer-swipe-movement-x, 0px));
900
+ transition-property: transform;
901
+ transition-duration: var(--qx-motion-duration-slow);
902
+ transition-timing-function: var(--qx-motion-easing-enter);
903
+ outline: 0;
904
+ flex-direction: column;
905
+ display: flex;
906
+ position: relative;
907
+ }
908
+
909
+ .qx-drawer[data-size="sm"] {
910
+ inline-size: min(400px, 100vw - 48px);
911
+ }
912
+
913
+ .qx-drawer[data-size="lg"] {
914
+ inline-size: min(800px, 100vw - 48px);
915
+ }
916
+
917
+ .qx-drawer[data-swipe-direction="right"]:is([data-starting-style], [data-ending-style]) {
918
+ transform: translateX(100%);
919
+ }
920
+
921
+ .qx-drawer[data-swipe-direction="left"]:is([data-starting-style], [data-ending-style]) {
922
+ transform: translateX(-100%);
923
+ }
924
+
925
+ .qx-drawer[data-swiping] {
926
+ transition: none;
927
+ }
928
+
929
+ .qx-drawer[data-ending-style] {
930
+ transition-duration: var(--qx-motion-duration-normal);
931
+ transition-timing-function: var(--qx-motion-easing-exit);
932
+ }
933
+
934
+ .qx-drawer-header {
935
+ gap: var(--qx-space-gap-xs);
936
+ padding: var(--qx-space-inset-xl);
937
+ border-block-end: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
938
+ flex-direction: column;
939
+ flex: none;
940
+ padding-inline-end: 56px;
941
+ display: flex;
942
+ }
943
+
944
+ .qx-drawer-title {
945
+ font: var(--qx-typography-title-md);
946
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
947
+ margin: 0;
948
+ }
949
+
950
+ .qx-drawer-description {
951
+ color: var(--qx-color-text-subtle);
952
+ margin: 0;
953
+ }
954
+
955
+ .qx-drawer-body {
956
+ overscroll-behavior: contain;
957
+ min-block-size: 0;
958
+ padding: var(--qx-space-inset-xl);
959
+ flex: 1;
960
+ overflow-y: auto;
961
+ }
962
+
963
+ .qx-drawer-footer {
964
+ justify-content: flex-end;
965
+ gap: var(--qx-space-gap-sm);
966
+ padding: var(--qx-space-inset-lg) var(--qx-space-inset-xl);
967
+ border-block-start: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
968
+ flex-wrap: wrap;
969
+ flex: none;
970
+ display: flex;
971
+ }
972
+
973
+ .qx-drawer-close {
974
+ position: absolute;
975
+ inset-block-start: 20px;
976
+ inset-inline-end: 16px;
977
+ }
978
+
979
+ @media (forced-colors: active) {
980
+ .qx-drawer {
981
+ border-inline: var(--qx-border-width-default) solid CanvasText;
982
+ }
983
+ }
984
+ }
985
+
986
+ @layer qx.components {
987
+ .qx-alert {
988
+ align-items: flex-start;
989
+ gap: var(--qx-space-gap-md);
990
+ padding: var(--qx-space-inset-md) var(--qx-space-inset-sm) var(--qx-space-inset-md)
991
+ var(--qx-space-inset-md);
992
+ border-inline-start: var(--qx-border-width-accent) solid var(--qx-color-icon-info);
993
+ background: var(--qx-color-bg-info-subtle);
994
+ color: var(--qx-color-text-default);
995
+ font: var(--qx-typography-body-md);
996
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
997
+ display: flex;
998
+ }
999
+
1000
+ .qx-alert[data-tone="success"] {
1001
+ border-inline-start-color: var(--qx-color-icon-success);
1002
+ background: var(--qx-color-bg-success-subtle);
1003
+ }
1004
+
1005
+ .qx-alert[data-tone="warning"] {
1006
+ border-inline-start-color: var(--qx-color-icon-warning);
1007
+ background: var(--qx-color-bg-warning-subtle);
1008
+ }
1009
+
1010
+ .qx-alert[data-tone="danger"] {
1011
+ border-inline-start-color: var(--qx-color-icon-danger);
1012
+ background: var(--qx-color-bg-danger-subtle);
1013
+ }
1014
+
1015
+ .qx-alert-icon {
1016
+ color: var(--qx-color-icon-info);
1017
+ flex: none;
1018
+ margin-block-start: 2px;
1019
+ }
1020
+
1021
+ [data-tone="success"] > .qx-alert-icon {
1022
+ color: var(--qx-color-icon-success);
1023
+ }
1024
+
1025
+ [data-tone="warning"] > .qx-alert-icon {
1026
+ color: var(--qx-color-icon-warning);
1027
+ }
1028
+
1029
+ [data-tone="danger"] > .qx-alert-icon {
1030
+ color: var(--qx-color-icon-danger);
1031
+ }
1032
+
1033
+ .qx-alert-body {
1034
+ min-inline-size: 0;
1035
+ flex-direction: column;
1036
+ flex: 1;
1037
+ gap: 2px;
1038
+ padding-inline-end: var(--qx-space-gap-xs);
1039
+ display: flex;
1040
+ }
1041
+
1042
+ .qx-alert-title {
1043
+ font: var(--qx-typography-label-md);
1044
+ font-weight: var(--qx-typography-title-sm-font-weight);
1045
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1046
+ }
1047
+
1048
+ .qx-alert-description {
1049
+ color: var(--qx-color-text-subtle);
1050
+ }
1051
+
1052
+ .qx-alert-actions {
1053
+ gap: var(--qx-space-gap-sm);
1054
+ flex-wrap: wrap;
1055
+ margin-block-start: var(--qx-space-gap-sm);
1056
+ display: flex;
1057
+ }
1058
+
1059
+ .qx-alert-dismiss {
1060
+ flex: none;
1061
+ margin-block: -2px;
1062
+ }
1063
+
1064
+ @media (forced-colors: active) {
1065
+ .qx-alert {
1066
+ border: var(--qx-border-width-default) solid CanvasText;
1067
+ border-inline-start: var(--qx-border-width-accent) solid CanvasText;
1068
+ }
1069
+ }
1070
+ }
1071
+
1072
+ @layer qx.components {
1073
+ .qx-app-shell {
1074
+ --qx-app-shell-top: calc(var(--qx-size-control-lg) + 16px);
1075
+ background: var(--qx-color-surface-default);
1076
+ min-block-size: 100dvh;
1077
+ color: var(--qx-color-text-default);
1078
+ grid-template-rows: auto minmax(0, 1fr);
1079
+ grid-template-columns: auto minmax(0, 1fr) auto;
1080
+ display: grid;
1081
+ }
1082
+
1083
+ .qx-app-shell-top {
1084
+ z-index: var(--qx-z-sticky);
1085
+ grid-column: 1 / -1;
1086
+ position: sticky;
1087
+ inset-block-start: 0;
1088
+ }
1089
+
1090
+ .qx-app-shell-nav {
1091
+ z-index: calc(var(--qx-z-sticky) - 1);
1092
+ block-size: calc(100dvh - var(--qx-app-shell-top));
1093
+ inline-size: var(--qx-component-sidebar-width-expanded);
1094
+ transition-property: inline-size;
1095
+ transition-duration: var(--qx-motion-duration-normal);
1096
+ transition-timing-function: var(--qx-motion-easing-standard);
1097
+ grid-area: 2 / 1;
1098
+ position: sticky;
1099
+ inset-block-start: var(--qx-app-shell-top);
1100
+ }
1101
+
1102
+ .qx-app-shell[data-collapsed] > .qx-app-shell-nav {
1103
+ inline-size: var(--qx-component-sidebar-width-collapsed);
1104
+ }
1105
+
1106
+ .qx-app-shell-nav-panel {
1107
+ border-inline-end: var(--qx-border-width-default) solid var(--qx-color-border-default);
1108
+ background: var(--qx-color-surface-canvas);
1109
+ flex-direction: column;
1110
+ block-size: 100%;
1111
+ inline-size: 100%;
1112
+ display: flex;
1113
+ overflow: hidden;
1114
+ }
1115
+
1116
+ [data-peek] > .qx-app-shell-nav-panel {
1117
+ inline-size: var(--qx-component-sidebar-width-expanded);
1118
+ box-shadow: var(--qx-shadow-overlay);
1119
+ position: absolute;
1120
+ inset-block: 0;
1121
+ inset-inline-start: 0;
1122
+ }
1123
+
1124
+ .qx-app-shell-nav-body {
1125
+ flex: 1;
1126
+ min-block-size: 0;
1127
+ }
1128
+
1129
+ .qx-app-shell-nav-foot {
1130
+ border-block-start: var(--qx-border-width-default) solid var(--qx-color-border-default);
1131
+ flex: none;
1132
+ }
1133
+
1134
+ .qx-app-shell-collapse {
1135
+ inline-size: 100%;
1136
+ block-size: var(--qx-size-control-lg);
1137
+ padding-inline: var(--qx-space-inset-lg);
1138
+ color: var(--qx-color-text-subtle);
1139
+ font: var(--qx-typography-label-md);
1140
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1141
+ white-space: nowrap;
1142
+ cursor: pointer;
1143
+ transition-property: background-color, color;
1144
+ transition-duration: var(--qx-motion-duration-fast);
1145
+ transition-timing-function: var(--qx-motion-easing-standard);
1146
+ background: none;
1147
+ border: 0;
1148
+ align-items: center;
1149
+ gap: 10px;
1150
+ display: flex;
1151
+ }
1152
+
1153
+ .qx-app-shell-collapse:hover {
1154
+ background: var(--qx-color-overlay-hover);
1155
+ color: var(--qx-color-text-default);
1156
+ }
1157
+
1158
+ .qx-app-shell-collapse:focus-visible {
1159
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
1160
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
1161
+ }
1162
+
1163
+ .qx-app-shell-collapse-icon {
1164
+ color: var(--qx-color-icon-subtle);
1165
+ flex: none;
1166
+ }
1167
+
1168
+ [dir="rtl"] .qx-app-shell-collapse-icon {
1169
+ scale: -1 1;
1170
+ }
1171
+
1172
+ .qx-app-shell[data-collapsed] .qx-app-shell-nav:not([data-peek]) .qx-app-shell-collapse-label {
1173
+ clip-path: inset(50%);
1174
+ block-size: 1px;
1175
+ inline-size: 1px;
1176
+ position: absolute;
1177
+ overflow: hidden;
1178
+ }
1179
+
1180
+ .qx-app-shell-main {
1181
+ outline: 0;
1182
+ grid-area: 2 / 2;
1183
+ min-inline-size: 0;
1184
+ }
1185
+
1186
+ .qx-app-shell-notifications {
1187
+ gap: var(--qx-space-gap-sm);
1188
+ padding: var(--qx-space-inset-lg) var(--qx-space-layout-md) 0;
1189
+ flex-direction: column;
1190
+ display: flex;
1191
+ }
1192
+
1193
+ .qx-app-shell-panel {
1194
+ z-index: calc(var(--qx-z-sticky) - 1);
1195
+ inline-size: 320px;
1196
+ block-size: calc(100dvh - var(--qx-app-shell-top));
1197
+ border-inline-start: var(--qx-border-width-default) solid var(--qx-color-border-default);
1198
+ background: var(--qx-color-surface-default);
1199
+ flex-direction: column;
1200
+ grid-area: 2 / 3;
1201
+ display: flex;
1202
+ position: sticky;
1203
+ inset-block-start: var(--qx-app-shell-top);
1204
+ }
1205
+
1206
+ .qx-app-shell-panel-header {
1207
+ justify-content: space-between;
1208
+ align-items: center;
1209
+ gap: var(--qx-space-gap-sm);
1210
+ block-size: calc(var(--qx-size-control-lg) + 8px);
1211
+ padding-inline: var(--qx-space-inset-lg) var(--qx-space-inset-sm);
1212
+ border-block-end: var(--qx-border-width-default) solid var(--qx-color-border-default);
1213
+ background: var(--qx-color-surface-canvas);
1214
+ flex: none;
1215
+ display: flex;
1216
+ }
1217
+
1218
+ .qx-app-shell-panel-title {
1219
+ font: var(--qx-typography-label-md);
1220
+ font-weight: var(--qx-typography-title-sm-font-weight);
1221
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
1222
+ margin: 0;
1223
+ }
1224
+
1225
+ .qx-app-shell-panel-body {
1226
+ min-block-size: 0;
1227
+ padding: var(--qx-space-inset-lg);
1228
+ flex: 1;
1229
+ overflow-y: auto;
1230
+ }
1231
+
1232
+ @media (width < 1200px) {
1233
+ .qx-app-shell-panel {
1234
+ inset-block: var(--qx-app-shell-top) 0;
1235
+ block-size: auto;
1236
+ box-shadow: var(--qx-shadow-overlay);
1237
+ position: fixed;
1238
+ inset-inline-end: 0;
1239
+ }
1240
+ }
1241
+
1242
+ @media (width < 840px) {
1243
+ .qx-app-shell {
1244
+ grid-template-columns: minmax(0, 1fr);
1245
+ }
1246
+
1247
+ .qx-app-shell-nav {
1248
+ display: none;
1249
+ }
1250
+
1251
+ .qx-app-shell-main {
1252
+ grid-column: 1;
1253
+ }
1254
+
1255
+ .qx-app-shell-panel {
1256
+ inline-size: min(320px, 100vw);
1257
+ }
1258
+
1259
+ .qx-app-shell-notifications {
1260
+ padding-inline: var(--qx-space-inset-lg);
1261
+ }
1262
+ }
1263
+
1264
+ .qx-app-shell-backdrop {
1265
+ z-index: var(--qx-z-overlay);
1266
+ background: var(--qx-color-overlay-scrim);
1267
+ transition-property: opacity;
1268
+ transition-duration: var(--qx-motion-duration-slow);
1269
+ transition-timing-function: var(--qx-motion-easing-enter);
1270
+ position: fixed;
1271
+ inset: 0;
1272
+ }
1273
+
1274
+ .qx-app-shell-backdrop[data-starting-style], .qx-app-shell-backdrop[data-ending-style] {
1275
+ opacity: 0;
1276
+ }
1277
+
1278
+ .qx-app-shell-viewport {
1279
+ z-index: var(--qx-z-modal);
1280
+ justify-content: flex-start;
1281
+ display: flex;
1282
+ position: fixed;
1283
+ inset: 0;
1284
+ }
1285
+
1286
+ .qx-app-shell-drawer {
1287
+ inline-size: min(var(--qx-component-sidebar-width-mobile), 100vw - 48px);
1288
+ background: var(--qx-color-surface-canvas);
1289
+ block-size: 100%;
1290
+ box-shadow: var(--qx-shadow-modal);
1291
+ transform: translateX(var(--drawer-swipe-movement-x, 0px));
1292
+ transition-property: transform;
1293
+ transition-duration: var(--qx-motion-duration-slow);
1294
+ transition-timing-function: var(--qx-motion-easing-enter);
1295
+ outline: 0;
1296
+ }
1297
+
1298
+ .qx-app-shell-drawer[data-swipe-direction="left"]:is([data-starting-style], [data-ending-style]) {
1299
+ transform: translateX(-100%);
1300
+ }
1301
+
1302
+ .qx-app-shell-drawer[data-swipe-direction="right"]:is([data-starting-style], [data-ending-style]) {
1303
+ transform: translateX(100%);
1304
+ }
1305
+
1306
+ .qx-app-shell-drawer[data-swiping] {
1307
+ transition: none;
1308
+ }
1309
+
1310
+ .qx-app-shell-drawer[data-ending-style] {
1311
+ transition-duration: var(--qx-motion-duration-normal);
1312
+ transition-timing-function: var(--qx-motion-easing-exit);
1313
+ }
1314
+
1315
+ @media (forced-colors: active) {
1316
+ .qx-app-shell-nav-panel, .qx-app-shell-nav-foot, .qx-app-shell-panel, .qx-app-shell-panel-header {
1317
+ border-color: canvastext;
1318
+ }
1319
+
1320
+ .qx-app-shell-drawer {
1321
+ border-inline-end: var(--qx-border-width-default) solid CanvasText;
1322
+ }
1323
+ }
1324
+ }
1325
+
1326
+ @layer qx.components {
1327
+ .qx-breadcrumb {
1328
+ min-inline-size: 0;
1329
+ font: var(--qx-typography-body-md);
1330
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1331
+ }
1332
+
1333
+ .qx-breadcrumb-list {
1334
+ align-items: center;
1335
+ gap: var(--qx-space-gap-xs);
1336
+ min-inline-size: 0;
1337
+ margin: 0;
1338
+ padding: 0;
1339
+ list-style: none;
1340
+ display: flex;
1341
+ }
1342
+
1343
+ .qx-breadcrumb-separator {
1344
+ color: var(--qx-color-icon-subtle);
1345
+ flex: none;
1346
+ }
1347
+
1348
+ [dir="rtl"] .qx-breadcrumb-separator {
1349
+ scale: -1 1;
1350
+ }
1351
+
1352
+ .qx-breadcrumb-item {
1353
+ align-items: center;
1354
+ gap: var(--qx-space-gap-xs);
1355
+ min-inline-size: 0;
1356
+ display: flex;
1357
+ }
1358
+
1359
+ .qx-breadcrumb-item:first-child > .qx-breadcrumb-separator {
1360
+ display: none;
1361
+ }
1362
+
1363
+ .qx-breadcrumb-link, .qx-breadcrumb-current {
1364
+ text-overflow: ellipsis;
1365
+ white-space: nowrap;
1366
+ max-inline-size: 240px;
1367
+ overflow: hidden;
1368
+ }
1369
+
1370
+ .qx-breadcrumb-link {
1371
+ color: var(--qx-color-text-subtle);
1372
+ text-decoration: none;
1373
+ }
1374
+
1375
+ .qx-breadcrumb-link:hover {
1376
+ color: var(--qx-color-text-default);
1377
+ text-underline-offset: 3px;
1378
+ text-decoration: underline;
1379
+ }
1380
+
1381
+ .qx-breadcrumb-link:focus-visible {
1382
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
1383
+ outline-offset: var(--qx-focus-ring-offset);
1384
+ }
1385
+
1386
+ .qx-breadcrumb-current {
1387
+ color: var(--qx-color-text-default);
1388
+ font-weight: var(--qx-typography-label-md-font-weight);
1389
+ }
1390
+ }
1391
+
1392
+ @layer qx.components {
1393
+ .qx-copy-button[data-variant="ghost"][data-state="copied"] .qx-button-icon {
1394
+ color: var(--qx-color-icon-success);
1395
+ }
1396
+
1397
+ .qx-copy-button[data-variant="ghost"][data-state="failed"] .qx-button-icon {
1398
+ color: var(--qx-color-icon-danger);
1399
+ }
1400
+ }
1401
+
1402
+ @layer qx.components {
1403
+ .qx-empty-state {
1404
+ align-items: center;
1405
+ gap: var(--qx-space-gap-sm);
1406
+ max-inline-size: 480px;
1407
+ padding: var(--qx-space-layout-lg) var(--qx-space-inset-lg);
1408
+ color: var(--qx-color-text-default);
1409
+ text-align: center;
1410
+ flex-direction: column;
1411
+ margin-inline: auto;
1412
+ display: flex;
1413
+ }
1414
+
1415
+ .qx-empty-state[data-size="section"] {
1416
+ padding: var(--qx-space-inset-xl) var(--qx-space-inset-lg);
1417
+ }
1418
+
1419
+ .qx-empty-state-icon {
1420
+ color: var(--qx-color-icon-subtle);
1421
+ flex: none;
1422
+ margin-block-end: var(--qx-space-gap-xs);
1423
+ }
1424
+
1425
+ [data-tone="danger"] > .qx-empty-state-icon {
1426
+ color: var(--qx-color-icon-danger);
1427
+ }
1428
+
1429
+ .qx-empty-state-title {
1430
+ font: var(--qx-typography-title-md);
1431
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
1432
+ margin: 0;
1433
+ }
1434
+
1435
+ [data-size="section"] > .qx-empty-state-title {
1436
+ font: var(--qx-typography-title-sm);
1437
+ }
1438
+
1439
+ .qx-empty-state-description {
1440
+ font: var(--qx-typography-body-md);
1441
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1442
+ color: var(--qx-color-text-subtle);
1443
+ margin: 0;
1444
+ }
1445
+
1446
+ .qx-empty-state-actions {
1447
+ justify-content: center;
1448
+ gap: var(--qx-space-gap-sm);
1449
+ flex-wrap: wrap;
1450
+ margin-block-start: var(--qx-space-gap-sm);
1451
+ display: flex;
1452
+ }
1453
+
1454
+ .qx-data-state {
1455
+ padding: var(--qx-space-layout-lg);
1456
+ place-items: center;
1457
+ display: grid;
1458
+ }
1459
+ }
1460
+
1461
+ @layer qx.components {
1462
+ .qx-otp-input {
1463
+ align-items: center;
1464
+ gap: var(--qx-space-gap-sm);
1465
+ inline-size: 100%;
1466
+ display: flex;
1467
+ }
1468
+
1469
+ .qx-otp-input-slot {
1470
+ min-inline-size: var(--qx-size-control-lg);
1471
+ inline-size: 0;
1472
+ block-size: var(--qx-size-control-lg);
1473
+ background: var(--qx-color-bg-neutral-subtle);
1474
+ box-shadow: inset 0 calc(-1 * var(--qx-border-width-default)) 0 var(--qx-color-border-strong);
1475
+ color: var(--qx-color-text-default);
1476
+ caret-color: var(--qx-color-border-focus);
1477
+ font: var(--qx-typography-title-md);
1478
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1479
+ font-variant-numeric: tabular-nums;
1480
+ text-align: center;
1481
+ transition-property: background-color;
1482
+ transition-duration: var(--qx-motion-duration-fast);
1483
+ transition-timing-function: var(--qx-motion-easing-standard);
1484
+ border: 0;
1485
+ border-start-start-radius: var(--qx-radius-control);
1486
+ border-start-end-radius: var(--qx-radius-control);
1487
+ flex: 1 1 0;
1488
+ margin: 0;
1489
+ padding: 0;
1490
+ }
1491
+
1492
+ .qx-otp-input-slot:hover {
1493
+ background: var(--qx-color-bg-neutral-subtle-hover);
1494
+ }
1495
+
1496
+ .qx-otp-input-slot:focus {
1497
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
1498
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
1499
+ box-shadow: none;
1500
+ }
1501
+
1502
+ .qx-otp-input-slot[data-invalid] {
1503
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-danger);
1504
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
1505
+ box-shadow: none;
1506
+ }
1507
+
1508
+ .qx-otp-input-slot:disabled {
1509
+ background: var(--qx-color-bg-disabled);
1510
+ box-shadow: inset 0 calc(-1 * var(--qx-border-width-default)) 0 var(--qx-color-border-disabled);
1511
+ color: var(--qx-color-text-disabled);
1512
+ cursor: not-allowed;
1513
+ }
1514
+
1515
+ .qx-otp-input-slot::placeholder {
1516
+ color: var(--qx-color-text-subtlest);
1517
+ opacity: 1;
1518
+ }
1519
+
1520
+ [data-size="lg"] > .qx-otp-input-slot {
1521
+ block-size: calc(var(--qx-size-control-lg) + 16px);
1522
+ font: var(--qx-typography-title-lg);
1523
+ }
1524
+
1525
+ .qx-otp-input-separator {
1526
+ inline-size: var(--qx-space-gap-sm);
1527
+ block-size: var(--qx-border-width-strong);
1528
+ background: var(--qx-color-border-strong);
1529
+ flex: none;
1530
+ }
1531
+
1532
+ @media (forced-colors: active) {
1533
+ .qx-otp-input-slot {
1534
+ border: var(--qx-border-width-default) solid CanvasText;
1535
+ }
1536
+
1537
+ .qx-otp-input-separator {
1538
+ forced-color-adjust: none;
1539
+ background: canvastext;
1540
+ }
1541
+ }
1542
+ }
1543
+
1544
+ @layer qx.components {
1545
+ .qx-page-header {
1546
+ --qx-page-gutter: var(--qx-space-layout-md);
1547
+ padding: 20px var(--qx-page-gutter);
1548
+ border-block-end: var(--qx-border-width-default) solid var(--qx-color-border-default);
1549
+ background: var(--qx-color-surface-default);
1550
+ color: var(--qx-color-text-default);
1551
+ flex-direction: column;
1552
+ display: flex;
1553
+ }
1554
+
1555
+ .qx-page-header[data-foot] {
1556
+ border-block-end: 0;
1557
+ padding-block-end: 0;
1558
+ }
1559
+
1560
+ .qx-page-header-breadcrumb {
1561
+ margin-block-end: 6px;
1562
+ }
1563
+
1564
+ .qx-page-header-row {
1565
+ justify-content: space-between;
1566
+ align-items: flex-end;
1567
+ gap: var(--qx-space-gap-md);
1568
+ flex-wrap: wrap;
1569
+ display: flex;
1570
+ }
1571
+
1572
+ .qx-page-header-titles {
1573
+ gap: var(--qx-space-gap-xs);
1574
+ flex-direction: column;
1575
+ min-inline-size: 0;
1576
+ display: flex;
1577
+ }
1578
+
1579
+ .qx-page-header-title {
1580
+ align-items: center;
1581
+ gap: var(--qx-space-gap-sm);
1582
+ flex-wrap: wrap;
1583
+ display: flex;
1584
+ }
1585
+
1586
+ .qx-page-header-count {
1587
+ font: var(--qx-typography-title-lg);
1588
+ font-weight: var(--qx-typography-body-md-font-weight);
1589
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
1590
+ font-variant-numeric: tabular-nums;
1591
+ color: var(--qx-color-text-subtlest);
1592
+ }
1593
+
1594
+ .qx-page-header-description {
1595
+ font: var(--qx-typography-body-md);
1596
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1597
+ color: var(--qx-color-text-subtle);
1598
+ margin: 0;
1599
+ }
1600
+
1601
+ .qx-page-header-actions {
1602
+ align-items: center;
1603
+ gap: var(--qx-space-gap-sm);
1604
+ flex-wrap: wrap;
1605
+ flex: none;
1606
+ display: flex;
1607
+ }
1608
+
1609
+ .qx-page-header-summary {
1610
+ --qx-stat-group-inset: var(--qx-page-gutter);
1611
+ margin: 20px calc(-1 * var(--qx-page-gutter)) 0;
1612
+ border-block: var(--qx-border-width-default) solid var(--qx-color-border-default);
1613
+ background: var(--qx-color-surface-canvas);
1614
+ }
1615
+
1616
+ .qx-page-header-tabs {
1617
+ margin: var(--qx-space-gap-md) calc(-1 * var(--qx-space-inset-sm)) 0;
1618
+ }
1619
+
1620
+ .qx-page-header-summary + .qx-page-header-tabs {
1621
+ margin-block-start: var(--qx-space-gap-sm);
1622
+ }
1623
+
1624
+ .qx-page-content {
1625
+ gap: var(--qx-space-gap-md);
1626
+ padding: var(--qx-space-inset-lg) var(--qx-space-layout-md) var(--qx-space-layout-md);
1627
+ flex-direction: column;
1628
+ display: flex;
1629
+ }
1630
+
1631
+ .qx-page-content[data-width="narrow"] {
1632
+ max-inline-size: 800px;
1633
+ }
1634
+
1635
+ @media (width < 840px) {
1636
+ .qx-page-header {
1637
+ --qx-page-gutter: var(--qx-space-inset-lg);
1638
+ }
1639
+
1640
+ .qx-page-content {
1641
+ padding-inline: var(--qx-space-inset-lg);
1642
+ }
1643
+ }
1644
+
1645
+ @media (forced-colors: active) {
1646
+ .qx-page-header, .qx-page-header-summary {
1647
+ border-color: canvastext;
1648
+ }
1649
+ }
1650
+ }
1651
+
1652
+ @layer qx.components {
1653
+ .qx-password-input {
1654
+ padding-inline-end: var(--qx-space-gap-xs);
1655
+ }
1656
+
1657
+ .qx-password-input-caps {
1658
+ align-items: center;
1659
+ gap: var(--qx-space-gap-xs);
1660
+ font: var(--qx-typography-label-sm);
1661
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1662
+ color: var(--qx-color-text-warning);
1663
+ white-space: nowrap;
1664
+ flex: none;
1665
+ display: inline-flex;
1666
+ }
1667
+ }
1668
+
1669
+ @layer qx.components {
1670
+ .qx-sidebar {
1671
+ block-size: 100%;
1672
+ min-block-size: 0;
1673
+ color: var(--qx-color-text-default);
1674
+ flex-direction: column;
1675
+ display: flex;
1676
+ }
1677
+
1678
+ .qx-sidebar-header {
1679
+ gap: var(--qx-space-gap-sm);
1680
+ padding: var(--qx-space-inset-md) var(--qx-space-inset-lg) var(--qx-space-gap-xs);
1681
+ flex-direction: column;
1682
+ flex: none;
1683
+ display: flex;
1684
+ }
1685
+
1686
+ .qx-sidebar-title {
1687
+ font: var(--qx-typography-title-sm);
1688
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
1689
+ color: var(--qx-color-text-default);
1690
+ white-space: nowrap;
1691
+ text-overflow: ellipsis;
1692
+ overflow: hidden;
1693
+ }
1694
+
1695
+ .qx-sidebar-empty {
1696
+ padding: var(--qx-space-gap-sm) var(--qx-space-inset-lg);
1697
+ font: var(--qx-typography-body-sm);
1698
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1699
+ color: var(--qx-color-text-subtle);
1700
+ margin: 0;
1701
+ }
1702
+
1703
+ .qx-sidebar-empty:empty {
1704
+ display: none;
1705
+ }
1706
+
1707
+ .qx-sidebar-group:not(:has(.qx-sidebar-entry)) {
1708
+ display: none;
1709
+ }
1710
+
1711
+ .qx-sidebar-nav {
1712
+ min-block-size: 0;
1713
+ padding-block: var(--qx-space-gap-sm) var(--qx-space-inset-md);
1714
+ flex: 1;
1715
+ overflow: hidden auto;
1716
+ }
1717
+
1718
+ .qx-sidebar-footer {
1719
+ padding-block: var(--qx-space-gap-xs);
1720
+ border-block-start: var(--qx-border-width-default) solid var(--qx-color-border-default);
1721
+ flex: none;
1722
+ }
1723
+
1724
+ .qx-sidebar-group + .qx-sidebar-group {
1725
+ border-block-start: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
1726
+ margin-block-start: var(--qx-space-gap-sm);
1727
+ padding-block-start: var(--qx-space-inset-md);
1728
+ }
1729
+
1730
+ .qx-sidebar-group-label {
1731
+ padding: 0 var(--qx-space-inset-lg) 6px;
1732
+ font: var(--qx-typography-label-caps);
1733
+ letter-spacing: var(--qx-typography-label-caps-letter-spacing);
1734
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1735
+ color: var(--qx-color-text-subtlest);
1736
+ text-transform: uppercase;
1737
+ white-space: nowrap;
1738
+ }
1739
+
1740
+ .qx-sidebar-group-label:is(:lang(hi), :lang(mr), :lang(bn), :lang(gu), :lang(pa), :lang(or), :lang(ta), :lang(te), :lang(kn), :lang(ml)) {
1741
+ letter-spacing: 0;
1742
+ }
1743
+
1744
+ .qx-sidebar-list {
1745
+ margin: 0;
1746
+ padding: 0;
1747
+ list-style: none;
1748
+ }
1749
+
1750
+ .qx-sidebar-item {
1751
+ inline-size: 100%;
1752
+ block-size: var(--qx-size-control-lg);
1753
+ padding-inline: var(--qx-space-inset-lg) var(--qx-space-inset-md);
1754
+ color: var(--qx-color-text-subtle);
1755
+ font: var(--qx-typography-label-md);
1756
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1757
+ text-align: start;
1758
+ white-space: nowrap;
1759
+ cursor: pointer;
1760
+ transition-property: background-color, color;
1761
+ transition-duration: var(--qx-motion-duration-fast);
1762
+ transition-timing-function: var(--qx-motion-easing-standard);
1763
+ background: none;
1764
+ border: 0;
1765
+ align-items: center;
1766
+ gap: 10px;
1767
+ text-decoration: none;
1768
+ display: flex;
1769
+ position: relative;
1770
+ }
1771
+
1772
+ .qx-sidebar-item:hover {
1773
+ background: var(--qx-color-overlay-hover);
1774
+ color: var(--qx-color-text-default);
1775
+ }
1776
+
1777
+ .qx-sidebar-item[data-current] {
1778
+ background: var(--qx-color-bg-neutral-subtle-hover);
1779
+ color: var(--qx-color-text-default);
1780
+ font-weight: var(--qx-typography-title-sm-font-weight);
1781
+ }
1782
+
1783
+ .qx-sidebar-item[data-current]:before {
1784
+ content: "";
1785
+ inline-size: var(--qx-border-width-accent);
1786
+ background: var(--qx-color-border-brand);
1787
+ position: absolute;
1788
+ inset-block: 0;
1789
+ inset-inline-start: 0;
1790
+ }
1791
+
1792
+ .qx-sidebar-item:focus-visible {
1793
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
1794
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
1795
+ }
1796
+
1797
+ .qx-sidebar-icon {
1798
+ color: var(--qx-color-icon-subtle);
1799
+ flex: none;
1800
+ }
1801
+
1802
+ [data-current] > .qx-sidebar-icon {
1803
+ color: var(--qx-color-icon-brand);
1804
+ }
1805
+
1806
+ .qx-sidebar-icon-filled, .qx-sidebar-item[data-current]:has( > .qx-sidebar-icon-filled) > .qx-sidebar-icon-outline {
1807
+ display: none;
1808
+ }
1809
+
1810
+ .qx-sidebar-item[data-current] > .qx-sidebar-icon-filled {
1811
+ display: block;
1812
+ }
1813
+
1814
+ .qx-sidebar-label {
1815
+ text-overflow: ellipsis;
1816
+ flex: 1;
1817
+ min-inline-size: 0;
1818
+ overflow: hidden;
1819
+ }
1820
+
1821
+ .qx-sidebar-badge {
1822
+ font: var(--qx-typography-label-sm);
1823
+ font-variant-numeric: tabular-nums;
1824
+ color: var(--qx-color-text-subtlest);
1825
+ flex: none;
1826
+ display: inline-flex;
1827
+ }
1828
+
1829
+ .qx-sidebar-chevron {
1830
+ color: var(--qx-color-icon-subtle);
1831
+ transition-property: rotate;
1832
+ transition-duration: var(--qx-motion-duration-normal);
1833
+ transition-timing-function: var(--qx-motion-easing-standard);
1834
+ flex: none;
1835
+ }
1836
+
1837
+ [data-open] > .qx-sidebar-chevron {
1838
+ rotate: 180deg;
1839
+ }
1840
+
1841
+ .qx-sidebar-sublist .qx-sidebar-item {
1842
+ font-weight: var(--qx-typography-body-md-font-weight);
1843
+ padding-inline-start: calc(var(--qx-space-inset-lg) + 16px + 10px);
1844
+ }
1845
+
1846
+ .qx-sidebar-sublist .qx-sidebar-item[data-current] {
1847
+ font-weight: var(--qx-typography-title-sm-font-weight);
1848
+ }
1849
+
1850
+ .qx-sidebar[data-rail] .qx-sidebar-header {
1851
+ visibility: hidden;
1852
+ position: relative;
1853
+ overflow: hidden;
1854
+ }
1855
+
1856
+ .qx-sidebar[data-rail] .qx-sidebar-rail-search {
1857
+ visibility: visible;
1858
+ position: absolute;
1859
+ inset-block-end: var(--qx-space-gap-xs);
1860
+ inset-inline-start: 50%;
1861
+ translate: -50%;
1862
+ }
1863
+
1864
+ .qx-sidebar[data-rail] .qx-sidebar-group-label {
1865
+ visibility: hidden;
1866
+ overflow: hidden;
1867
+ }
1868
+
1869
+ .qx-sidebar[data-rail] .qx-sidebar-label {
1870
+ clip-path: inset(50%);
1871
+ block-size: 1px;
1872
+ inline-size: 1px;
1873
+ position: absolute;
1874
+ overflow: hidden;
1875
+ }
1876
+
1877
+ .qx-sidebar[data-rail] .qx-sidebar-badge, .qx-sidebar[data-rail] .qx-sidebar-chevron {
1878
+ display: none;
1879
+ }
1880
+
1881
+ @media (forced-colors: active) {
1882
+ .qx-sidebar-footer, .qx-sidebar-group + .qx-sidebar-group {
1883
+ border-color: canvastext;
1884
+ }
1885
+
1886
+ .qx-sidebar-item[data-current] {
1887
+ forced-color-adjust: none;
1888
+ color: highlighttext;
1889
+ background: highlight;
1890
+ }
1891
+
1892
+ .qx-sidebar-item[data-current] .qx-sidebar-icon {
1893
+ color: highlighttext;
1894
+ }
1895
+ }
1896
+ }
1897
+
1898
+ @layer qx.components {
1899
+ .qx-stat-group {
1900
+ color: var(--qx-color-text-default);
1901
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
1902
+ margin: 0;
1903
+ display: grid;
1904
+ }
1905
+
1906
+ .qx-stat {
1907
+ align-content: start;
1908
+ column-gap: var(--qx-space-gap-md);
1909
+ min-inline-size: 0;
1910
+ padding: var(--qx-space-inset-md) var(--qx-space-inset-lg);
1911
+ grid-template-columns: minmax(0, 1fr) auto;
1912
+ display: grid;
1913
+ }
1914
+
1915
+ .qx-stat:first-child {
1916
+ padding-inline-start: var(--qx-stat-group-inset, var(--qx-space-inset-lg));
1917
+ }
1918
+
1919
+ .qx-stat:last-child {
1920
+ padding-inline-end: var(--qx-stat-group-inset, var(--qx-space-inset-lg));
1921
+ }
1922
+
1923
+ .qx-stat + .qx-stat {
1924
+ border-inline-start: var(--qx-border-width-default) solid var(--qx-color-border-default);
1925
+ }
1926
+
1927
+ .qx-stat-label {
1928
+ font: var(--qx-typography-label-sm);
1929
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1930
+ color: var(--qx-color-text-subtle);
1931
+ grid-column: 1 / -1;
1932
+ }
1933
+
1934
+ .qx-stat-value {
1935
+ margin: var(--qx-space-gap-xs) 0 0;
1936
+ font: var(--qx-typography-heading-sm);
1937
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
1938
+ font-variant-numeric: tabular-nums;
1939
+ grid-column: 1;
1940
+ }
1941
+
1942
+ .qx-stat-trend-cell {
1943
+ grid-area: 2 / 2;
1944
+ align-items: flex-end;
1945
+ margin: 0;
1946
+ padding-block-end: var(--qx-space-gap-xs);
1947
+ display: flex;
1948
+ }
1949
+
1950
+ .qx-stat-trend {
1951
+ block-size: 28px;
1952
+ inline-size: 88px;
1953
+ overflow: visible;
1954
+ }
1955
+
1956
+ .qx-stat-trend-line {
1957
+ fill: none;
1958
+ stroke: var(--qx-color-icon-subtle);
1959
+ stroke-width: var(--qx-icon-stroke-thin);
1960
+ stroke-linecap: round;
1961
+ stroke-linejoin: round;
1962
+ }
1963
+
1964
+ .qx-stat-trend-area {
1965
+ fill: var(--qx-color-icon-subtle);
1966
+ opacity: .1;
1967
+ }
1968
+
1969
+ .qx-stat-trend-end {
1970
+ fill: var(--qx-color-border-brand);
1971
+ }
1972
+
1973
+ .qx-stat-note {
1974
+ font: var(--qx-typography-body-sm);
1975
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
1976
+ color: var(--qx-color-text-subtlest);
1977
+ grid-column: 1 / -1;
1978
+ margin: 2px 0 0;
1979
+ }
1980
+
1981
+ .qx-stat-note[data-tone="positive"] {
1982
+ color: var(--qx-color-text-success);
1983
+ }
1984
+
1985
+ .qx-stat-note[data-tone="negative"] {
1986
+ color: var(--qx-color-text-danger);
1987
+ }
1988
+
1989
+ .qx-stat-note[data-tone="warning"] {
1990
+ color: var(--qx-color-text-warning);
1991
+ }
1992
+
1993
+ @media (forced-colors: active) {
1994
+ .qx-stat + .qx-stat {
1995
+ border-inline-start-color: canvastext;
1996
+ }
1997
+
1998
+ .qx-stat-trend-line {
1999
+ stroke: canvastext;
2000
+ }
2001
+
2002
+ .qx-stat-trend-area {
2003
+ fill: canvastext;
2004
+ }
2005
+
2006
+ .qx-stat-trend-end {
2007
+ fill: highlight;
2008
+ }
2009
+ }
2010
+ }
2011
+
2012
+ @layer qx.components {
2013
+ .qx-top-bar {
2014
+ align-items: stretch;
2015
+ column-gap: var(--qx-space-gap-lg);
2016
+ block-size: calc(var(--qx-size-control-lg) + 16px);
2017
+ border-block-start: var(--qx-border-width-strong) solid var(--qx-color-border-brand);
2018
+ border-block-end: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
2019
+ background: var(--qx-color-surface-sunken);
2020
+ color: var(--qx-color-text-default);
2021
+ font: var(--qx-typography-body-md);
2022
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
2023
+ grid-template-columns: minmax(max-content, 1fr) auto;
2024
+ padding-inline-end: var(--qx-space-inset-md);
2025
+ display: grid;
2026
+ }
2027
+
2028
+ .qx-top-bar[data-search] {
2029
+ grid-template-columns: minmax(max-content, 1fr) minmax(240px, 480px) minmax(max-content, 1fr);
2030
+ }
2031
+
2032
+ .qx-top-bar-start, .qx-top-bar-end {
2033
+ align-items: center;
2034
+ min-inline-size: 0;
2035
+ display: flex;
2036
+ }
2037
+
2038
+ .qx-top-bar-end {
2039
+ justify-content: flex-end;
2040
+ gap: var(--qx-space-gap-xs);
2041
+ }
2042
+
2043
+ .qx-top-bar-cell {
2044
+ aspect-ratio: 1;
2045
+ border-inline-end: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
2046
+ flex: none;
2047
+ align-self: stretch;
2048
+ place-items: center;
2049
+ display: grid;
2050
+ }
2051
+
2052
+ .qx-top-bar-identity {
2053
+ align-self: stretch;
2054
+ align-items: center;
2055
+ gap: var(--qx-space-gap-sm);
2056
+ padding-inline: var(--qx-space-inset-lg) var(--qx-space-inset-sm);
2057
+ color: var(--qx-color-text-default);
2058
+ white-space: nowrap;
2059
+ flex: none;
2060
+ text-decoration: none;
2061
+ display: flex;
2062
+ }
2063
+
2064
+ .qx-top-bar-identity:hover {
2065
+ background: var(--qx-color-overlay-hover);
2066
+ }
2067
+
2068
+ .qx-top-bar-identity:focus-visible {
2069
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
2070
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
2071
+ }
2072
+
2073
+ .qx-top-bar-product {
2074
+ font: var(--qx-typography-label-md);
2075
+ font-weight: var(--qx-typography-title-sm-font-weight);
2076
+ font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
2077
+ }
2078
+
2079
+ .qx-top-bar-slash {
2080
+ inline-size: var(--qx-border-width-default);
2081
+ block-size: 16px;
2082
+ margin-inline: var(--qx-space-gap-sm);
2083
+ background: var(--qx-color-border-strong);
2084
+ flex: none;
2085
+ rotate: 20deg;
2086
+ }
2087
+
2088
+ [dir="rtl"] .qx-top-bar-slash {
2089
+ rotate: -20deg;
2090
+ }
2091
+
2092
+ .qx-top-bar-switcher {
2093
+ align-items: center;
2094
+ gap: var(--qx-space-gap-sm);
2095
+ min-inline-size: 0;
2096
+ block-size: var(--qx-size-control-md);
2097
+ padding-inline: var(--qx-space-inset-sm);
2098
+ border-radius: var(--qx-radius-control);
2099
+ color: var(--qx-color-text-default);
2100
+ font: var(--qx-typography-label-md);
2101
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
2102
+ white-space: nowrap;
2103
+ cursor: pointer;
2104
+ transition-property: background-color;
2105
+ transition-duration: var(--qx-motion-duration-fast);
2106
+ transition-timing-function: var(--qx-motion-easing-standard);
2107
+ background: none;
2108
+ border: 0;
2109
+ display: flex;
2110
+ }
2111
+
2112
+ .qx-top-bar-switcher:hover, .qx-top-bar-switcher[data-popup-open] {
2113
+ background: var(--qx-color-overlay-hover);
2114
+ }
2115
+
2116
+ .qx-top-bar-switcher:focus-visible {
2117
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
2118
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
2119
+ }
2120
+
2121
+ .qx-top-bar-switcher-label {
2122
+ text-overflow: ellipsis;
2123
+ min-inline-size: 0;
2124
+ overflow: hidden;
732
2125
  }
733
2126
 
734
- .qx-dialog-body {
735
- min-block-size: 0;
736
- padding: 0 var(--qx-space-inset-xl) var(--qx-space-inset-xl);
737
- flex: 1;
738
- overflow-y: auto;
2127
+ .qx-top-bar-mark {
2128
+ border-radius: var(--qx-radius-sm);
2129
+ background: var(--qx-color-overlay-pressed);
2130
+ block-size: 20px;
2131
+ inline-size: 20px;
2132
+ font: var(--qx-typography-label-sm);
2133
+ font-weight: var(--qx-typography-title-sm-font-weight);
2134
+ flex: none;
2135
+ place-items: center;
2136
+ display: grid;
2137
+ overflow: hidden;
739
2138
  }
740
2139
 
741
- .qx-dialog-footer {
742
- justify-content: flex-end;
743
- gap: var(--qx-space-gap-sm);
744
- padding: 0 var(--qx-space-inset-xl) var(--qx-space-inset-xl);
745
- flex-wrap: wrap;
746
- display: flex;
2140
+ .qx-top-bar-status {
2141
+ border-radius: var(--qx-radius-full);
2142
+ background: var(--qx-color-icon-subtle);
2143
+ flex: none;
2144
+ block-size: 8px;
2145
+ inline-size: 8px;
747
2146
  }
748
2147
 
749
- .qx-dialog-close {
750
- position: absolute;
751
- inset-block-start: 12px;
752
- inset-inline-end: 12px;
2148
+ .qx-top-bar-status[data-status="success"] {
2149
+ background: var(--qx-color-bg-success-bold);
753
2150
  }
754
- }
755
-
756
- @layer qx.components {
757
- .qx-drawer-backdrop {
758
- z-index: var(--qx-z-overlay);
759
- background: var(--qx-color-overlay-scrim);
760
- transition-property: opacity;
761
- transition-duration: var(--qx-motion-duration-slow);
762
- transition-timing-function: var(--qx-motion-easing-enter);
763
- position: fixed;
764
- inset: 0;
2151
+
2152
+ .qx-top-bar-status[data-status="info"] {
2153
+ background: var(--qx-color-bg-info-bold);
765
2154
  }
766
2155
 
767
- .qx-drawer-backdrop[data-starting-style], .qx-drawer-backdrop[data-ending-style] {
768
- opacity: 0;
2156
+ .qx-top-bar-status[data-status="warning"] {
2157
+ background: var(--qx-color-bg-warning-bold);
769
2158
  }
770
2159
 
771
- .qx-drawer-backdrop[data-ending-style] {
772
- transition-duration: var(--qx-motion-duration-normal);
773
- transition-timing-function: var(--qx-motion-easing-exit);
2160
+ .qx-top-bar-status[data-status="danger"] {
2161
+ background: var(--qx-color-bg-danger-bold);
774
2162
  }
775
2163
 
776
- .qx-drawer-viewport {
777
- z-index: var(--qx-z-modal);
778
- justify-content: flex-end;
779
- display: flex;
780
- position: fixed;
781
- inset: 0;
2164
+ .qx-top-bar-caret {
2165
+ color: var(--qx-color-icon-subtle);
2166
+ flex: none;
782
2167
  }
783
2168
 
784
- .qx-drawer-viewport[data-side="start"] {
785
- justify-content: flex-start;
2169
+ .qx-top-bar-search {
2170
+ align-items: center;
2171
+ min-inline-size: 0;
2172
+ display: flex;
786
2173
  }
787
2174
 
788
- .qx-drawer {
789
- background: var(--qx-color-surface-overlay);
790
- block-size: 100%;
791
- inline-size: min(560px, 100vw - 48px);
792
- box-shadow: var(--qx-shadow-modal);
793
- color: var(--qx-color-text-default);
2175
+ .qx-top-bar-search-trigger {
2176
+ align-items: center;
2177
+ gap: var(--qx-space-gap-sm);
2178
+ inline-size: 100%;
2179
+ block-size: var(--qx-size-control-lg);
2180
+ padding-inline: var(--qx-space-inset-sm) var(--qx-space-gap-xs);
2181
+ border: var(--qx-border-width-default) solid var(--qx-color-border-default);
2182
+ border-radius: var(--qx-radius-control);
2183
+ background: var(--qx-color-overlay-hover);
2184
+ color: var(--qx-color-text-subtlest);
794
2185
  font: var(--qx-typography-body-md);
795
2186
  font-variation-settings: "GEOM" var(--qx-font-geometry-body);
796
- transform: translateX(var(--drawer-swipe-movement-x, 0px));
797
- transition-property: transform;
798
- transition-duration: var(--qx-motion-duration-slow);
799
- transition-timing-function: var(--qx-motion-easing-enter);
800
- outline: 0;
801
- flex-direction: column;
2187
+ cursor: pointer;
2188
+ transition-property: background-color, border-color;
2189
+ transition-duration: var(--qx-motion-duration-fast);
2190
+ transition-timing-function: var(--qx-motion-easing-standard);
802
2191
  display: flex;
803
- position: relative;
804
2192
  }
805
2193
 
806
- .qx-drawer[data-size="sm"] {
807
- inline-size: min(400px, 100vw - 48px);
2194
+ .qx-top-bar-search-trigger:hover {
2195
+ border-color: var(--qx-color-border-strong);
2196
+ background: var(--qx-color-overlay-pressed);
808
2197
  }
809
2198
 
810
- .qx-drawer[data-size="lg"] {
811
- inline-size: min(800px, 100vw - 48px);
2199
+ .qx-top-bar-search-trigger:focus-visible {
2200
+ outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
2201
+ outline-offset: calc(-1 * var(--qx-focus-ring-width));
812
2202
  }
813
2203
 
814
- .qx-drawer[data-swipe-direction="right"]:is([data-starting-style], [data-ending-style]) {
815
- transform: translateX(100%);
2204
+ .qx-top-bar-search-icon {
2205
+ color: var(--qx-color-icon-subtle);
2206
+ flex: none;
816
2207
  }
817
2208
 
818
- .qx-drawer[data-swipe-direction="left"]:is([data-starting-style], [data-ending-style]) {
819
- transform: translateX(-100%);
2209
+ .qx-top-bar-search-text {
2210
+ text-align: start;
2211
+ text-overflow: ellipsis;
2212
+ white-space: nowrap;
2213
+ flex: 1;
2214
+ min-inline-size: 0;
2215
+ overflow: hidden;
820
2216
  }
821
2217
 
822
- .qx-drawer[data-swiping] {
823
- transition: none;
2218
+ .qx-top-bar-keys {
2219
+ flex: none;
2220
+ gap: 2px;
2221
+ display: flex;
824
2222
  }
825
2223
 
826
- .qx-drawer[data-ending-style] {
827
- transition-duration: var(--qx-motion-duration-normal);
828
- transition-timing-function: var(--qx-motion-easing-exit);
2224
+ .qx-top-bar-key {
2225
+ block-size: 20px;
2226
+ min-inline-size: 20px;
2227
+ padding-inline: var(--qx-space-gap-xs);
2228
+ border: var(--qx-border-width-default) solid var(--qx-color-border-default);
2229
+ border-radius: var(--qx-radius-sm);
2230
+ color: var(--qx-color-text-subtle);
2231
+ font: var(--qx-typography-label-sm);
2232
+ font-variation-settings: "GEOM" var(--qx-font-geometry-body);
2233
+ place-items: center;
2234
+ display: grid;
829
2235
  }
830
2236
 
831
- .qx-drawer-header {
2237
+ .qx-top-bar-tools {
2238
+ align-items: center;
832
2239
  gap: var(--qx-space-gap-xs);
833
- padding: var(--qx-space-inset-xl);
834
- border-block-end: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
835
- flex-direction: column;
836
- flex: none;
837
- padding-inline-end: 56px;
838
2240
  display: flex;
839
2241
  }
840
2242
 
841
- .qx-drawer-title {
842
- font: var(--qx-typography-title-md);
843
- font-variation-settings: "GEOM" var(--qx-font-geometry-heading);
844
- margin: 0;
2243
+ .qx-top-bar-tool {
2244
+ position: relative;
845
2245
  }
846
2246
 
847
- .qx-drawer-description {
848
- color: var(--qx-color-text-subtle);
849
- margin: 0;
2247
+ .qx-top-bar-tool > [aria-pressed="true"] {
2248
+ background: var(--qx-color-overlay-pressed);
2249
+ color: var(--qx-color-text-default);
850
2250
  }
851
2251
 
852
- .qx-drawer-body {
853
- overscroll-behavior: contain;
854
- min-block-size: 0;
855
- padding: var(--qx-space-inset-xl);
856
- flex: 1;
857
- overflow-y: auto;
2252
+ .qx-top-bar-tool[data-badge]:after {
2253
+ content: "";
2254
+ border: var(--qx-border-width-strong) solid var(--qx-color-surface-sunken);
2255
+ border-radius: var(--qx-radius-full);
2256
+ background: var(--qx-color-icon-brand);
2257
+ pointer-events: none;
2258
+ block-size: 10px;
2259
+ inline-size: 10px;
2260
+ position: absolute;
2261
+ inset-block-start: 3px;
2262
+ inset-inline-end: 3px;
858
2263
  }
859
2264
 
860
- .qx-drawer-footer {
861
- justify-content: flex-end;
862
- gap: var(--qx-space-gap-sm);
863
- padding: var(--qx-space-inset-lg) var(--qx-space-inset-xl);
864
- border-block-start: var(--qx-border-width-default) solid var(--qx-color-border-subtle);
865
- flex-wrap: wrap;
2265
+ .qx-top-bar-rule {
2266
+ inline-size: var(--qx-border-width-default);
2267
+ block-size: 20px;
2268
+ margin-inline: var(--qx-space-gap-sm);
2269
+ background: var(--qx-color-border-subtle);
866
2270
  flex: none;
867
- display: flex;
868
2271
  }
869
2272
 
870
- .qx-drawer-close {
871
- position: absolute;
872
- inset-block-start: 20px;
873
- inset-inline-end: 16px;
2273
+ @media (width < 840px) {
2274
+ .qx-top-bar, .qx-top-bar[data-search] {
2275
+ grid-template-columns: minmax(0, 1fr) auto;
2276
+ }
2277
+
2278
+ .qx-top-bar-search {
2279
+ display: none;
2280
+ }
2281
+ }
2282
+
2283
+ @media (forced-colors: active) {
2284
+ .qx-top-bar {
2285
+ border-block-end-color: canvastext;
2286
+ }
2287
+
2288
+ .qx-top-bar-cell {
2289
+ border-inline-end-color: canvastext;
2290
+ }
2291
+
2292
+ .qx-top-bar-slash, .qx-top-bar-rule {
2293
+ forced-color-adjust: none;
2294
+ background: canvastext;
2295
+ }
2296
+
2297
+ .qx-top-bar-status, .qx-top-bar-tool[data-badge]:after {
2298
+ forced-color-adjust: none;
2299
+ background: highlight;
2300
+ }
2301
+
2302
+ .qx-top-bar-search-trigger, .qx-top-bar-key {
2303
+ border-color: canvastext;
2304
+ }
874
2305
  }
875
2306
  }
876
2307
 
@@ -1386,6 +2817,16 @@
1386
2817
  .qx-textarea[data-max-rows] {
1387
2818
  max-block-size: calc(var(--qx-textarea-max-rows) * 1lh + var(--qx-size-control-lg) - 1lh);
1388
2819
  }
2820
+
2821
+ @media (forced-colors: active) {
2822
+ .qx-input {
2823
+ border: var(--qx-border-width-default) solid FieldText;
2824
+ }
2825
+
2826
+ .qx-input:has( > .qx-input-control:disabled), .qx-textarea:disabled {
2827
+ border-color: graytext;
2828
+ }
2829
+ }
1389
2830
  }
1390
2831
 
1391
2832
  @layer qx.components {
@@ -1577,6 +3018,23 @@
1577
3018
  background: var(--qx-color-border-subtle);
1578
3019
  margin-block: 4px;
1579
3020
  }
3021
+
3022
+ @media (forced-colors: active) {
3023
+ .qx-menu-item[data-highlighted] {
3024
+ forced-color-adjust: none;
3025
+ color: highlighttext;
3026
+ background: highlight;
3027
+ }
3028
+
3029
+ .qx-menu-item[data-highlighted] .qx-menu-item-icon, .qx-menu-item[data-highlighted] .qx-menu-submenu-icon {
3030
+ color: highlighttext;
3031
+ }
3032
+
3033
+ .qx-menu-separator {
3034
+ forced-color-adjust: none;
3035
+ background: canvastext;
3036
+ }
3037
+ }
1580
3038
  }
1581
3039
 
1582
3040
  @layer qx.components {
@@ -1735,6 +3193,20 @@
1735
3193
  opacity: .35;
1736
3194
  }
1737
3195
  }
3196
+
3197
+ @media (forced-colors: active) {
3198
+ .qx-progress-track, .qx-progress-indicator {
3199
+ forced-color-adjust: none;
3200
+ }
3201
+
3202
+ .qx-progress-track {
3203
+ background: graytext;
3204
+ }
3205
+
3206
+ .qx-progress-indicator {
3207
+ background: highlight;
3208
+ }
3209
+ }
1738
3210
  }
1739
3211
 
1740
3212
  @layer qx.components {
@@ -1849,6 +3321,13 @@
1849
3321
  .qx-scroll-area-thumb:hover, .qx-scroll-area-thumb:active {
1850
3322
  background: var(--qx-color-icon-subtle);
1851
3323
  }
3324
+
3325
+ @media (forced-colors: active) {
3326
+ .qx-scroll-area-thumb {
3327
+ forced-color-adjust: none;
3328
+ background: canvastext;
3329
+ }
3330
+ }
1852
3331
  }
1853
3332
 
1854
3333
  @layer qx.components {
@@ -2021,6 +3500,22 @@
2021
3500
  font-variation-settings: "GEOM" var(--qx-font-geometry-body);
2022
3501
  color: var(--qx-color-text-subtle);
2023
3502
  }
3503
+
3504
+ @media (forced-colors: active) {
3505
+ .qx-select-trigger {
3506
+ border: var(--qx-border-width-default) solid ButtonText;
3507
+ }
3508
+
3509
+ .qx-select-option[data-highlighted] {
3510
+ forced-color-adjust: none;
3511
+ color: highlighttext;
3512
+ background: highlight;
3513
+ }
3514
+
3515
+ .qx-select-option[data-highlighted] .qx-select-option-check {
3516
+ color: highlighttext;
3517
+ }
3518
+ }
2024
3519
  }
2025
3520
 
2026
3521
  @layer qx.components {
@@ -2048,6 +3543,13 @@
2048
3543
  .qx-separator[data-tone="strong"] {
2049
3544
  background: var(--qx-color-border-strong);
2050
3545
  }
3546
+
3547
+ @media (forced-colors: active) {
3548
+ .qx-separator {
3549
+ forced-color-adjust: none;
3550
+ background: canvastext;
3551
+ }
3552
+ }
2051
3553
  }
2052
3554
 
2053
3555
  @layer qx.components {
@@ -2080,6 +3582,12 @@
2080
3582
  opacity: .45;
2081
3583
  }
2082
3584
  }
3585
+
3586
+ @media (forced-colors: active) {
3587
+ .qx-skeleton {
3588
+ border: var(--qx-border-width-default) solid GrayText;
3589
+ }
3590
+ }
2083
3591
  }
2084
3592
 
2085
3593
  @layer qx.components {
@@ -2197,6 +3705,28 @@
2197
3705
  background: var(--qx-color-icon-disabled);
2198
3706
  cursor: not-allowed;
2199
3707
  }
3708
+
3709
+ @media (forced-colors: active) {
3710
+ .qx-slider-track, .qx-slider-indicator, .qx-slider-thumb {
3711
+ forced-color-adjust: none;
3712
+ }
3713
+
3714
+ .qx-slider-track {
3715
+ background: graytext;
3716
+ }
3717
+
3718
+ .qx-slider-indicator, .qx-slider-thumb {
3719
+ background: highlight;
3720
+ }
3721
+
3722
+ .qx-slider-thumb {
3723
+ box-shadow: 0 0 0 var(--qx-border-width-strong) Canvas;
3724
+ }
3725
+
3726
+ .qx-slider-thumb[data-disabled], [data-disabled] .qx-slider-indicator {
3727
+ background: graytext;
3728
+ }
3729
+ }
2200
3730
  }
2201
3731
 
2202
3732
  @layer qx.components {
@@ -2403,6 +3933,39 @@
2403
3933
  .qx-choice-label > .qx-switch {
2404
3934
  margin-block: 1px;
2405
3935
  }
3936
+
3937
+ @media (forced-colors: active) {
3938
+ .qx-switch, .qx-switch-thumb {
3939
+ forced-color-adjust: none;
3940
+ }
3941
+
3942
+ .qx-switch {
3943
+ background: canvas;
3944
+ border-color: canvastext;
3945
+ }
3946
+
3947
+ .qx-switch-thumb {
3948
+ background: canvastext;
3949
+ }
3950
+
3951
+ .qx-switch[data-checked] {
3952
+ background: highlight;
3953
+ border-color: highlight;
3954
+ }
3955
+
3956
+ .qx-switch-thumb[data-checked] {
3957
+ background: highlighttext;
3958
+ }
3959
+
3960
+ .qx-switch[data-disabled] {
3961
+ background: canvas;
3962
+ border-color: graytext;
3963
+ }
3964
+
3965
+ .qx-switch-thumb[data-disabled] {
3966
+ background: graytext;
3967
+ }
3968
+ }
2406
3969
  }
2407
3970
 
2408
3971
  @layer qx.components {
@@ -2581,6 +4144,17 @@
2581
4144
  outline: var(--qx-focus-ring-width) solid var(--qx-color-border-focus);
2582
4145
  outline-offset: var(--qx-focus-ring-offset);
2583
4146
  }
4147
+
4148
+ @media (forced-colors: active) {
4149
+ .qx-tabs-list:not([data-orientation="vertical"]) {
4150
+ border-block-end: var(--qx-border-width-strong) solid CanvasText;
4151
+ }
4152
+
4153
+ .qx-tabs-indicator {
4154
+ forced-color-adjust: none;
4155
+ background: highlight;
4156
+ }
4157
+ }
2584
4158
  }
2585
4159
 
2586
4160
  @layer qx.components {
@@ -2792,6 +4366,13 @@
2792
4366
  flex: none;
2793
4367
  margin-block: -2px;
2794
4368
  }
4369
+
4370
+ @media (forced-colors: active) {
4371
+ .qx-toast {
4372
+ border: var(--qx-border-width-default) solid CanvasText;
4373
+ border-inline-start-width: var(--qx-border-width-accent);
4374
+ }
4375
+ }
2795
4376
  }
2796
4377
 
2797
4378
  @layer qx.components {
@@ -2903,6 +4484,19 @@
2903
4484
  .qx-toggle-group[data-variant="segmented"][data-size="lg"] > .qx-toggle {
2904
4485
  block-size: calc(var(--qx-size-control-lg) - 2 * var(--qx-border-width-default));
2905
4486
  }
4487
+
4488
+ @media (forced-colors: active) {
4489
+ .qx-toggle {
4490
+ border: var(--qx-border-width-default) solid ButtonText;
4491
+ }
4492
+
4493
+ .qx-toggle[data-pressed] {
4494
+ forced-color-adjust: none;
4495
+ color: highlighttext;
4496
+ background: highlight;
4497
+ border-color: highlight;
4498
+ }
4499
+ }
2906
4500
  }
2907
4501
 
2908
4502
  @layer qx.components {
@@ -2943,6 +4537,12 @@
2943
4537
  .qx-tooltip[data-instant] {
2944
4538
  transition: none;
2945
4539
  }
4540
+
4541
+ @media (forced-colors: active) {
4542
+ .qx-tooltip {
4543
+ border: var(--qx-border-width-default) solid CanvasText;
4544
+ }
4545
+ }
2946
4546
  }
2947
4547
 
2948
4548
  @layer qx.components {