@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.36 → 0.2.37

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.
package/dist/styles.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /* Complete Theme CSS Bundle - stan-design */
2
- /* Generated on 2025-10-06T04:00:38.883Z */
2
+ /* Generated on 2025-10-06T04:26:07.046Z */
3
3
 
4
4
  /* ===== DESIGN SYSTEM VARIABLES (Essential CSS Variables) ===== */
5
5
  /* Default Theme Variables (Coach-Stan) */
@@ -577,6 +577,3990 @@
577
577
  }
578
578
 
579
579
 
580
+ /* ===== COMPONENT STYLES (Navigation & UI Components) ===== */
581
+
582
+ /* src/styles/components/navigation/user-menu.css */
583
+ /* UserMenu Component Styles */
584
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
585
+
586
+ /* UserMenu CSS Variables */
587
+ :root {
588
+ /* UserMenu Base Variables */
589
+ --user-menu-width: 288px;
590
+ --user-menu-max-height: 400px;
591
+ --user-menu-border-radius: var(--cs-border-radius-lg);
592
+ --user-menu-shadow: var(--cs-shadows-lg);
593
+ --user-menu-z-index: 50;
594
+
595
+ /* Header Variables */
596
+ --user-menu-header-padding: var(--cs-spacing-scale-lg);
597
+ --user-menu-header-border: 1px solid var(--cs-colors-border-subtle);
598
+ --user-menu-header-gap: var(--cs-spacing-scale-md);
599
+
600
+ /* Item Variables */
601
+ --user-menu-item-padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
602
+ --user-menu-item-gap: var(--cs-spacing-scale-md);
603
+ --user-menu-item-radius: var(--cs-border-radius-md);
604
+
605
+ /* Section Variables */
606
+ --user-menu-section-padding: var(--cs-spacing-scale-sm) 0;
607
+ --user-menu-section-title-padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-md);
608
+
609
+ /* Avatar Variables */
610
+ --user-avatar-xs-size: 24px;
611
+ --user-avatar-sm-size: 32px;
612
+ --user-avatar-md-size: 40px;
613
+ --user-avatar-lg-size: 48px;
614
+ --user-avatar-xl-size: 56px;
615
+
616
+ /* Subscription Badge Variables */
617
+ --subscription-badge-gap: var(--cs-spacing-scale-xs);
618
+ --subscription-badge-padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
619
+
620
+ /* Color Variables */
621
+ --user-menu-background: var(--cs-colors-surface-background);
622
+ --user-menu-border-color: var(--cs-colors-border);
623
+ --user-menu-text-primary: var(--cs-colors-text-primary);
624
+ --user-menu-text-secondary: var(--cs-colors-text-secondary);
625
+ --user-menu-text-muted: var(--cs-colors-text-muted);
626
+ --user-menu-hover-background: var(--cs-colors-interactive-hover);
627
+ --user-menu-focus-outline: var(--cs-colors-interactive-focus);
628
+ --user-menu-danger-color: var(--cs-colors-destructive-500);
629
+ --user-menu-danger-hover: var(--cs-colors-destructive-600);
630
+
631
+ /* Animation Variables */
632
+ --user-menu-transition: var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
633
+ }
634
+
635
+ /* Dark mode variables */
636
+ .dark {
637
+ --user-menu-background: var(--cs-modes-dark-colors-surface-surface);
638
+ --user-menu-border-color: var(--cs-modes-dark-colors-border);
639
+ --user-menu-text-primary: var(--cs-modes-dark-colors-text-primary);
640
+ --user-menu-text-secondary: var(--cs-modes-dark-colors-text-secondary);
641
+ --user-menu-text-muted: var(--cs-modes-dark-colors-text-muted);
642
+ --user-menu-hover-background: var(--cs-modes-dark-colors-interactive-hover);
643
+ --user-menu-focus-outline: var(--cs-modes-dark-colors-interactive-focus);
644
+ }
645
+
646
+ /* ============================================================================
647
+ BASE USERMENU COMPONENT
648
+ ============================================================================ */
649
+
650
+ .user-menu {
651
+ position: relative;
652
+ display: inline-block;
653
+ }
654
+
655
+ .user-menu__trigger {
656
+ background: none;
657
+ border: none;
658
+ cursor: pointer;
659
+ padding: 0;
660
+ transition: var(--user-menu-transition);
661
+ }
662
+
663
+ .user-menu__trigger:focus {
664
+ outline: 2px solid var(--user-menu-focus-outline);
665
+ outline-offset: 2px;
666
+ }
667
+
668
+ .user-menu__trigger-default {
669
+ display: flex;
670
+ align-items: center;
671
+ gap: var(--cs-spacing-scale-sm);
672
+ padding: var(--cs-spacing-scale-sm);
673
+ border-radius: var(--cs-border-radius-md);
674
+ transition: var(--user-menu-transition);
675
+ }
676
+
677
+ .user-menu__trigger-default:hover {
678
+ background-color: var(--user-menu-hover-background);
679
+ }
680
+
681
+ .user-menu__trigger-name {
682
+ font-size: var(--cs-fonts-primary-sizes-sm);
683
+ font-weight: var(--cs-fonts-primary-weights-medium);
684
+ color: var(--user-menu-text-primary);
685
+ }
686
+
687
+ /* ============================================================================
688
+ DROPDOWN CONTAINER
689
+ ============================================================================ */
690
+
691
+ .user-menu__dropdown {
692
+ position: absolute;
693
+ z-index: var(--user-menu-z-index);
694
+ background-color: var(--user-menu-background);
695
+ border: 1px solid var(--user-menu-border-color);
696
+ border-radius: var(--user-menu-border-radius);
697
+ box-shadow: var(--user-menu-shadow);
698
+ overflow: hidden;
699
+ animation: userMenuSlideIn 0.2s ease-out;
700
+
701
+ /* Smart viewport-aware height with scrolling */
702
+ max-height: min(var(--user-menu-max-height), calc(100vh - 120px));
703
+ overflow-y: auto;
704
+
705
+ /* Scroll styling for better UX */
706
+ scrollbar-width: thin;
707
+ scrollbar-color: var(--cs-colors-border) transparent;
708
+ }
709
+
710
+ /* Webkit scrollbar styling */
711
+ .user-menu__dropdown::-webkit-scrollbar {
712
+ width: 6px;
713
+ }
714
+
715
+ .user-menu__dropdown::-webkit-scrollbar-track {
716
+ background: transparent;
717
+ }
718
+
719
+ .user-menu__dropdown::-webkit-scrollbar-thumb {
720
+ background-color: var(--cs-colors-border);
721
+ border-radius: 3px;
722
+ }
723
+
724
+ .user-menu__dropdown::-webkit-scrollbar-thumb:hover {
725
+ background-color: var(--cs-colors-border-strong);
726
+ }
727
+
728
+ /* Placement variants */
729
+ .user-menu__dropdown--bottom-left {
730
+ top: 100%;
731
+ left: 0;
732
+ margin-top: var(--cs-spacing-scale-xs);
733
+ }
734
+
735
+ .user-menu__dropdown--bottom-right {
736
+ top: 100%;
737
+ right: 0;
738
+ margin-top: var(--cs-spacing-scale-xs);
739
+ }
740
+
741
+ .user-menu__dropdown--top-left {
742
+ bottom: 100%;
743
+ left: 0;
744
+ margin-bottom: var(--cs-spacing-scale-xs);
745
+ }
746
+
747
+ .user-menu__dropdown--top-right {
748
+ bottom: 100%;
749
+ right: 0;
750
+ margin-bottom: var(--cs-spacing-scale-xs);
751
+ }
752
+
753
+ /* ============================================================================
754
+ USER HEADER SECTION
755
+ ============================================================================ */
756
+
757
+ .user-menu__header {
758
+ padding: var(--user-menu-header-padding);
759
+ border-bottom: var(--user-menu-header-border);
760
+ display: flex;
761
+ align-items: center;
762
+ gap: var(--user-menu-header-gap);
763
+ }
764
+
765
+ .user-menu__header-avatar {
766
+ flex-shrink: 0;
767
+ }
768
+
769
+ .user-menu__header-info {
770
+ flex: 1;
771
+ min-width: 0;
772
+ }
773
+
774
+ .user-menu__header-name-row {
775
+ display: flex;
776
+ align-items: center;
777
+ gap: var(--cs-spacing-scale-sm);
778
+ margin-bottom: var(--cs-spacing-scale-xs);
779
+ }
780
+
781
+ .user-menu__header-name {
782
+ font-size: var(--cs-fonts-primary-sizes-md);
783
+ font-weight: var(--cs-fonts-primary-weights-semibold);
784
+ color: var(--user-menu-text-primary);
785
+ white-space: nowrap;
786
+ overflow: hidden;
787
+ text-overflow: ellipsis;
788
+ flex: 1;
789
+ min-width: 0;
790
+ }
791
+
792
+ .user-menu__header-email {
793
+ font-size: var(--cs-fonts-primary-sizes-sm);
794
+ color: var(--user-menu-text-muted);
795
+ white-space: nowrap;
796
+ overflow: hidden;
797
+ text-overflow: ellipsis;
798
+ }
799
+
800
+ .user-menu__header-subscription {
801
+ flex-shrink: 0;
802
+ display: flex;
803
+ align-items: center;
804
+ }
805
+
806
+ /* ============================================================================
807
+ MENU SECTIONS
808
+ ============================================================================ */
809
+
810
+ .user-menu__sections {
811
+ max-height: inherit;
812
+ overflow-y: auto;
813
+ }
814
+
815
+ .user-menu__section {
816
+ padding: var(--user-menu-section-padding);
817
+ }
818
+
819
+ .user-menu__section--bordered {
820
+ border-top: 1px solid var(--user-menu-border-color);
821
+ }
822
+
823
+ .user-menu__section-title {
824
+ padding: var(--user-menu-section-title-padding);
825
+ font-size: var(--cs-fonts-primary-sizes-xs);
826
+ font-weight: var(--cs-fonts-primary-weights-semibold);
827
+ color: var(--user-menu-text-muted);
828
+ text-transform: uppercase;
829
+ letter-spacing: var(--cs-fonts-primary-letter-spacing-wide);
830
+ }
831
+
832
+ .user-menu__section-items {
833
+ display: flex;
834
+ flex-direction: column;
835
+ gap: var(--cs-spacing-scale-xs);
836
+ }
837
+
838
+ /* ============================================================================
839
+ MENU ITEMS
840
+ ============================================================================ */
841
+
842
+ .user-menu__item {
843
+ display: flex;
844
+ align-items: center;
845
+ width: 100%;
846
+ padding: var(--user-menu-item-padding);
847
+ border: none;
848
+ background: none;
849
+ color: var(--user-menu-text-primary);
850
+ text-decoration: none;
851
+ cursor: pointer;
852
+ border-radius: var(--user-menu-item-radius);
853
+ transition: var(--user-menu-transition);
854
+ text-align: left;
855
+ }
856
+
857
+ .user-menu__item:hover {
858
+ background-color: var(--user-menu-hover-background);
859
+ }
860
+
861
+ .user-menu__item:focus {
862
+ outline: 2px solid var(--user-menu-focus-outline);
863
+ outline-offset: -2px;
864
+ }
865
+
866
+ .user-menu__item--disabled {
867
+ color: var(--user-menu-text-muted);
868
+ cursor: not-allowed;
869
+ opacity: 0.6;
870
+ }
871
+
872
+ .user-menu__item--disabled:hover {
873
+ background-color: transparent;
874
+ }
875
+
876
+ .user-menu__item--danger {
877
+ color: var(--user-menu-danger-color);
878
+ }
879
+
880
+ .user-menu__item--danger:hover {
881
+ background-color: var(--cs-colors-destructive-50);
882
+ color: var(--user-menu-danger-hover);
883
+ }
884
+
885
+ .user-menu__item-content {
886
+ display: flex;
887
+ align-items: center;
888
+ gap: var(--user-menu-item-gap);
889
+ flex: 1;
890
+ min-width: 0;
891
+ }
892
+
893
+ .user-menu__item-icon {
894
+ width: 16px;
895
+ height: 16px;
896
+ flex-shrink: 0;
897
+ display: flex;
898
+ align-items: center;
899
+ justify-content: center;
900
+ }
901
+
902
+ .user-menu__item-text {
903
+ flex: 1;
904
+ min-width: 0;
905
+ }
906
+
907
+ .user-menu__item-label {
908
+ display: block;
909
+ font-size: var(--cs-fonts-primary-sizes-sm);
910
+ font-weight: var(--cs-fonts-primary-weights-medium);
911
+ white-space: nowrap;
912
+ overflow: hidden;
913
+ text-overflow: ellipsis;
914
+ }
915
+
916
+ .user-menu__item-description {
917
+ display: block;
918
+ font-size: var(--cs-fonts-primary-sizes-xs);
919
+ color: var(--user-menu-text-muted);
920
+ margin-top: var(--cs-spacing-scale-xs);
921
+ white-space: nowrap;
922
+ overflow: hidden;
923
+ text-overflow: ellipsis;
924
+ }
925
+
926
+ .user-menu__item-badge {
927
+ flex-shrink: 0;
928
+ margin-left: var(--cs-spacing-scale-sm);
929
+ }
930
+
931
+ /* ============================================================================
932
+ USER AVATAR COMPONENT
933
+ ============================================================================ */
934
+
935
+ .user-avatar {
936
+ position: relative;
937
+ display: inline-flex;
938
+ align-items: center;
939
+ justify-content: center;
940
+ border-radius: 50%;
941
+ overflow: hidden;
942
+ background-color: var(--cs-colors-neutral-100);
943
+ }
944
+
945
+ .user-avatar--xs {
946
+ width: var(--user-avatar-xs-size);
947
+ height: var(--user-avatar-xs-size);
948
+ }
949
+
950
+ .user-avatar--sm {
951
+ width: var(--user-avatar-sm-size);
952
+ height: var(--user-avatar-sm-size);
953
+ }
954
+
955
+ .user-avatar--md {
956
+ width: var(--user-avatar-md-size);
957
+ height: var(--user-avatar-md-size);
958
+ }
959
+
960
+ .user-avatar--lg {
961
+ width: var(--user-avatar-lg-size);
962
+ height: var(--user-avatar-lg-size);
963
+ }
964
+
965
+ .user-avatar--xl {
966
+ width: var(--user-avatar-xl-size);
967
+ height: var(--user-avatar-xl-size);
968
+ }
969
+
970
+ .user-avatar__image {
971
+ width: 100%;
972
+ height: 100%;
973
+ object-fit: cover;
974
+ }
975
+
976
+ .user-avatar__fallback {
977
+ width: 100%;
978
+ height: 100%;
979
+ display: flex;
980
+ align-items: center;
981
+ justify-content: center;
982
+ background-color: var(--cs-colors-primary-100);
983
+ color: var(--cs-colors-primary-700);
984
+ }
985
+
986
+ .user-avatar__initials {
987
+ font-size: 0.6em;
988
+ font-weight: var(--cs-fonts-primary-weights-semibold);
989
+ text-transform: uppercase;
990
+ }
991
+
992
+ /* Dark mode avatar */
993
+ .dark .user-avatar {
994
+ background-color: var(--cs-modes-dark-colors-neutral-100);
995
+ }
996
+
997
+ .dark .user-avatar__fallback {
998
+ background-color: var(--cs-modes-dark-colors-primary-100);
999
+ color: var(--cs-modes-dark-colors-primary-700);
1000
+ }
1001
+
1002
+ /* ============================================================================
1003
+ SUBSCRIPTION BADGE COMPONENT
1004
+ ============================================================================ */
1005
+
1006
+ .subscription-badge {
1007
+ display: inline-flex;
1008
+ align-items: center;
1009
+ gap: var(--subscription-badge-gap);
1010
+ }
1011
+
1012
+ .subscription-badge__icon {
1013
+ display: flex;
1014
+ align-items: center;
1015
+ justify-content: center;
1016
+ }
1017
+
1018
+ .subscription-badge__label {
1019
+ font-size: inherit;
1020
+ font-weight: inherit;
1021
+ }
1022
+
1023
+ .subscription-badge--sm .subscription-badge__icon {
1024
+ width: 12px;
1025
+ height: 12px;
1026
+ }
1027
+
1028
+ .subscription-badge--md .subscription-badge__icon {
1029
+ width: 14px;
1030
+ height: 14px;
1031
+ }
1032
+
1033
+ .subscription-badge--lg .subscription-badge__icon {
1034
+ width: 16px;
1035
+ height: 16px;
1036
+ }
1037
+
1038
+ /* ============================================================================
1039
+ RESPONSIVE DESIGN
1040
+ ============================================================================ */
1041
+
1042
+ @media (max-width: 768px) {
1043
+ .user-menu__dropdown {
1044
+ position: fixed;
1045
+ top: 50%;
1046
+ left: 50%;
1047
+ transform: translate(-50%, -50%);
1048
+ width: 90vw;
1049
+ max-width: 320px;
1050
+ max-height: 80vh;
1051
+ }
1052
+
1053
+ .user-menu__dropdown--bottom-left,
1054
+ .user-menu__dropdown--bottom-right,
1055
+ .user-menu__dropdown--top-left,
1056
+ .user-menu__dropdown--top-right {
1057
+ margin: 0;
1058
+ }
1059
+
1060
+ .user-menu__header {
1061
+ padding: var(--cs-spacing-scale-md);
1062
+ }
1063
+
1064
+ .user-menu__header-name {
1065
+ font-size: var(--cs-fonts-primary-sizes-sm);
1066
+ }
1067
+
1068
+ .user-menu__item {
1069
+ padding: var(--cs-spacing-scale-md);
1070
+ min-height: 44px; /* Touch target */
1071
+ }
1072
+
1073
+ .user-menu__trigger-name {
1074
+ display: none; /* Hide name on mobile */
1075
+ }
1076
+ }
1077
+
1078
+ @media (max-width: 480px) {
1079
+ .user-menu__dropdown {
1080
+ width: 95vw;
1081
+ }
1082
+ }
1083
+
1084
+ /* ============================================================================
1085
+ ANIMATIONS
1086
+ ============================================================================ */
1087
+
1088
+ @keyframes userMenuSlideIn {
1089
+ from {
1090
+ opacity: 0;
1091
+ transform: translateY(-8px);
1092
+ }
1093
+ to {
1094
+ opacity: 1;
1095
+ transform: translateY(0);
1096
+ }
1097
+ }
1098
+
1099
+ /* ============================================================================
1100
+ HIGH CONTRAST MODE
1101
+ ============================================================================ */
1102
+
1103
+ @media (prefers-contrast: high) {
1104
+ .user-menu__dropdown {
1105
+ border-width: 2px;
1106
+ }
1107
+
1108
+ .user-menu__item:focus {
1109
+ outline-width: 3px;
1110
+ }
1111
+
1112
+ .user-menu__section--bordered {
1113
+ border-top-width: 2px;
1114
+ }
1115
+ }
1116
+
1117
+ /* ============================================================================
1118
+ REDUCED MOTION
1119
+ ============================================================================ */
1120
+
1121
+ @media (prefers-reduced-motion: reduce) {
1122
+ .user-menu__dropdown {
1123
+ animation: none;
1124
+ }
1125
+
1126
+ .user-menu__item,
1127
+ .user-menu__trigger,
1128
+ .user-menu__trigger-default {
1129
+ transition: none;
1130
+ }
1131
+ }
1132
+
1133
+ /* ============================================================================
1134
+ PRINT STYLES
1135
+ ============================================================================ */
1136
+
1137
+ @media print {
1138
+ .user-menu__dropdown {
1139
+ display: none;
1140
+ }
1141
+ }
1142
+
1143
+ /* src/styles/components/navigation/breadcrumb.css */
1144
+ /* Breadcrumb Component Styles */
1145
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
1146
+
1147
+ /* Breadcrumb Component CSS Variables */
1148
+ :root {
1149
+ /* Breadcrumb Base Variables */
1150
+ --breadcrumb-font-size: var(--cs-fonts-primary-sizes-sm);
1151
+ --breadcrumb-font-weight: var(--cs-fonts-primary-weights-medium);
1152
+ --breadcrumb-line-height: var(--cs-fonts-primary-line-heights-tight);
1153
+ --breadcrumb-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
1154
+
1155
+ /* Breadcrumb Color Variables */
1156
+ --breadcrumb-color-primary: var(--cs-colors-text-primary);
1157
+ --breadcrumb-color-secondary: var(--cs-colors-text-secondary);
1158
+ --breadcrumb-color-muted: var(--cs-colors-text-muted);
1159
+ --breadcrumb-color-disabled: var(--cs-colors-text-muted);
1160
+ --breadcrumb-color-active: var(--cs-colors-primary-500);
1161
+ --breadcrumb-color-hover: var(--cs-colors-interactive-hover);
1162
+
1163
+ /* Breadcrumb Spacing Variables */
1164
+ --breadcrumb-padding-y: var(--cs-spacing-scale-xs);
1165
+ --breadcrumb-padding-x: var(--cs-spacing-scale-sm);
1166
+ --breadcrumb-margin: var(--cs-spacing-scale-xs);
1167
+ --breadcrumb-item-spacing: var(--cs-spacing-scale-xs);
1168
+ --breadcrumb-separator-spacing: var(--cs-spacing-scale-sm);
1169
+
1170
+ /* Breadcrumb State Variables */
1171
+ --breadcrumb-transition: var(--cs-transitions-properties-colors);
1172
+ --breadcrumb-border-radius: var(--cs-border-radius-lg);
1173
+ --breadcrumb-border-width: var(--cs-border-width-sm);
1174
+ --breadcrumb-shadow: var(--cs-shadows-sm);
1175
+
1176
+ /* Breadcrumb Focus Variables */
1177
+ --breadcrumb-focus-ring-width: var(--cs-accessibility-focus-ring-width);
1178
+ --breadcrumb-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
1179
+ --breadcrumb-focus-ring-color: var(--cs-accessibility-focus-ring-color);
1180
+ --breadcrumb-focus-outline-offset: var(--cs-accessibility-outline-offset);
1181
+
1182
+ /* Breadcrumb Icon Variables */
1183
+ --breadcrumb-icon-size: var(--cs-fonts-primary-sizes-sm);
1184
+ --breadcrumb-icon-spacing: var(--cs-spacing-scale-xs);
1185
+
1186
+ /* Breadcrumb Responsive Variables */
1187
+ --breadcrumb-truncate-width: var(--cs-spacing-scale-4xl);
1188
+ --breadcrumb-responsive-breakpoint: var(--cs-breakpoints-mobile);
1189
+
1190
+ /* Breadcrumb Interactive State Variables */
1191
+ --breadcrumb-hover-transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
1192
+ --breadcrumb-hover-shadow: var(--cs-shadows-md);
1193
+ --breadcrumb-focus-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
1194
+ --breadcrumb-focus-offset: var(--cs-spacing-scale-xs);
1195
+ --breadcrumb-active-transform: translateY(0);
1196
+ --breadcrumb-active-shadow: var(--cs-shadows-sm);
1197
+ --breadcrumb-focus-ring-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
1198
+ --breadcrumb-focus-ring-offset: var(--cs-spacing-scale-xs);
1199
+
1200
+ /* Breadcrumb High Contrast Variables */
1201
+ --breadcrumb-high-contrast-border-width: var(--cs-spacing-scale-xs);
1202
+
1203
+ /* Breadcrumb Showcase Variables */
1204
+ --breadcrumb-showcase-gap: var(--cs-spacing-scale-md);
1205
+ --breadcrumb-variant-showcase-gap: var(--cs-spacing-scale-md);
1206
+ --breadcrumb-variant-section-gap: var(--cs-spacing-scale-sm);
1207
+ --breadcrumb-variant-title-size: var(--cs-fonts-primary-sizes-lg);
1208
+ --breadcrumb-variant-title-weight: var(--cs-fonts-primary-weights-semibold);
1209
+ --breadcrumb-variant-grid-gap: var(--cs-spacing-scale-sm);
1210
+ --breadcrumb-variant-description-size: var(--cs-fonts-primary-sizes-sm);
1211
+ --breadcrumb-variant-description-color: var(--cs-colors-text-muted);
1212
+ --breadcrumb-responsive-showcase-gap: var(--cs-spacing-scale-md);
1213
+ --breadcrumb-responsive-description-size: var(--cs-fonts-primary-sizes-sm);
1214
+ --breadcrumb-responsive-description-color: var(--cs-colors-text-muted);
1215
+ --breadcrumb-responsive-grid-gap: var(--cs-spacing-scale-md);
1216
+ --breadcrumb-responsive-title-size: var(--cs-fonts-primary-sizes-md);
1217
+ --breadcrumb-responsive-title-weight: var(--cs-fonts-primary-weights-medium);
1218
+ --breadcrumb-responsive-buttons-gap: var(--cs-spacing-scale-sm);
1219
+ --breadcrumb-responsive-column-gap: var(--cs-spacing-scale-sm);
1220
+ }
1221
+
1222
+ /* Base Breadcrumb Styles */
1223
+ .breadcrumb {
1224
+ display: flex;
1225
+ align-items: center;
1226
+ font-family: var(--cs-fonts-primary-family), var(--cs-fonts-primary-fallbacks);
1227
+ font-size: var(--breadcrumb-font-size);
1228
+ font-weight: var(--breadcrumb-font-weight);
1229
+ line-height: var(--breadcrumb-line-height);
1230
+ letter-spacing: var(--breadcrumb-letter-spacing);
1231
+ padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
1232
+ border-radius: var(--breadcrumb-border-radius);
1233
+ transition: var(--breadcrumb-transition);
1234
+ border: var(--breadcrumb-border-width) solid transparent;
1235
+ box-shadow: var(--breadcrumb-shadow);
1236
+ }
1237
+
1238
+ /* Breadcrumb Theme Variants */
1239
+ .breadcrumb--semantic {
1240
+ color: var(--cs-colors-text-secondary);
1241
+ background-color: var(--cs-colors-surface-surface);
1242
+ border-color: var(--cs-colors-border);
1243
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
1244
+ }
1245
+
1246
+ /* Dark mode automatically handled by CSS variables */
1247
+ .dark .breadcrumb--semantic {
1248
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1249
+ color: var(--cs-modes-dark-colors-text-secondary);
1250
+ border-color: var(--cs-modes-dark-colors-border);
1251
+ }
1252
+
1253
+ /* Breadcrumb Elements */
1254
+ .breadcrumb__list {
1255
+ display: flex;
1256
+ align-items: center;
1257
+ list-style: none;
1258
+ margin: 0;
1259
+ padding: 0;
1260
+ }
1261
+
1262
+ .breadcrumb__item {
1263
+ display: flex;
1264
+ align-items: center;
1265
+ }
1266
+
1267
+ .breadcrumb__item:not(:last-child) {
1268
+ margin-right: var(--breadcrumb-item-spacing);
1269
+ }
1270
+
1271
+ /* Breadcrumb Item Styles */
1272
+ .breadcrumb__item-button {
1273
+ display: inline-flex;
1274
+ align-items: center;
1275
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
1276
+ font-size: var(--breadcrumb-font-size);
1277
+ font-weight: var(--breadcrumb-font-weight);
1278
+ border-radius: var(--cs-border-radius-md);
1279
+ transition: var(--breadcrumb-transition);
1280
+ cursor: pointer;
1281
+ border: var(--breadcrumb-border-width) solid transparent;
1282
+ text-decoration: none;
1283
+ color: inherit;
1284
+ }
1285
+
1286
+ .breadcrumb__item-button:hover {
1287
+ background-color: var(--breadcrumb-color-hover);
1288
+ }
1289
+
1290
+ /* Dark mode automatically handled by CSS variables */
1291
+ .dark .breadcrumb__item-button {
1292
+ color: var(--cs-modes-dark-colors-text-secondary);
1293
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1294
+ border-color: var(--cs-modes-dark-colors-border);
1295
+ }
1296
+
1297
+ .dark .breadcrumb__item-button:hover {
1298
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
1299
+ }
1300
+
1301
+ .breadcrumb__item-button:focus {
1302
+ outline: var(--breadcrumb-focus-ring-width) solid var(--breadcrumb-focus-ring-color);
1303
+ outline-offset: var(--breadcrumb-focus-ring-offset);
1304
+ }
1305
+
1306
+ .breadcrumb__item-button:focus:not(:focus-visible) {
1307
+ outline: none;
1308
+ }
1309
+
1310
+ /* Breadcrumb Item States */
1311
+ .breadcrumb__item-button--active {
1312
+ color: var(--breadcrumb-color-active);
1313
+ background-color: var(--cs-colors-surface-surface);
1314
+ border-color: var(--cs-colors-border);
1315
+ }
1316
+
1317
+ .breadcrumb__item-button--disabled {
1318
+ color: var(--breadcrumb-color-disabled);
1319
+ cursor: not-allowed;
1320
+ opacity: var(--cs-accessibility-disabled-opacity);
1321
+ }
1322
+
1323
+ .breadcrumb__item-button--disabled:hover {
1324
+ background-color: transparent;
1325
+ }
1326
+
1327
+ /* Dark mode automatically handled by CSS variables */
1328
+ .dark .breadcrumb__item-button--disabled {
1329
+ color: var(--cs-modes-dark-colors-text-muted);
1330
+ }
1331
+
1332
+ /* Breadcrumb Item Theme Variants */
1333
+ .breadcrumb__item-button--semantic.breadcrumb__item-button--active {
1334
+ color: var(--cs-colors-text-primary);
1335
+ background-color: var(--cs-colors-surface-surface);
1336
+ border-color: var(--cs-colors-border);
1337
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
1338
+ }
1339
+
1340
+ /* Dark mode automatically handled by CSS variables */
1341
+ .dark .breadcrumb__item-button--semantic.breadcrumb__item-button--active {
1342
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1343
+ color: var(--cs-modes-dark-colors-text-primary);
1344
+ border-color: var(--cs-modes-dark-colors-border);
1345
+ }
1346
+
1347
+ /* Breadcrumb Separator */
1348
+ .breadcrumb__separator {
1349
+ margin: 0 var(--breadcrumb-separator-spacing);
1350
+ color: var(--breadcrumb-color-muted);
1351
+ display: flex;
1352
+ align-items: center;
1353
+ }
1354
+
1355
+ /* Old theme variants removed - using semantic approach only */
1356
+
1357
+ .breadcrumb__separator--semantic {
1358
+ color: var(--cs-colors-text-muted);
1359
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
1360
+ }
1361
+
1362
+ /* Dark mode automatically handled by CSS variables */
1363
+ .dark .breadcrumb__separator--semantic {
1364
+ color: var(--cs-modes-dark-colors-text-muted);
1365
+ }
1366
+
1367
+ /* Breadcrumb Home Button */
1368
+ .breadcrumb__home-button {
1369
+ margin-right: var(--cs-spacing-scale-sm);
1370
+ }
1371
+
1372
+ /* Dark mode automatically handled by CSS variables */
1373
+ .dark .breadcrumb__home-button {
1374
+ color: var(--cs-modes-dark-colors-text-secondary);
1375
+ }
1376
+
1377
+ /* Breadcrumb Icon */
1378
+ .breadcrumb__icon {
1379
+ width: var(--breadcrumb-icon-size);
1380
+ height: var(--breadcrumb-icon-size);
1381
+ margin-right: var(--breadcrumb-icon-spacing);
1382
+ }
1383
+
1384
+ /* Dark mode automatically handled by CSS variables */
1385
+ .dark .breadcrumb__icon {
1386
+ color: var(--cs-modes-dark-colors-text-secondary);
1387
+ }
1388
+
1389
+ /* Breadcrumb Ellipsis */
1390
+ .breadcrumb__ellipsis {
1391
+ color: var(--breadcrumb-color-muted);
1392
+ }
1393
+
1394
+ .breadcrumb__ellipsis:hover {
1395
+ color: var(--breadcrumb-color-secondary);
1396
+ background-color: var(--breadcrumb-color-hover);
1397
+ }
1398
+
1399
+ /* Dark mode automatically handled by CSS variables */
1400
+ .dark .breadcrumb__ellipsis {
1401
+ color: var(--cs-modes-dark-colors-text-muted);
1402
+ }
1403
+
1404
+ .dark .breadcrumb__ellipsis:hover {
1405
+ color: var(--cs-modes-dark-colors-text-secondary);
1406
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
1407
+ }
1408
+
1409
+ /* Breadcrumb Expand Toggle */
1410
+ .breadcrumb__expand-toggle {
1411
+ margin-left: var(--cs-spacing-scale-sm);
1412
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
1413
+ font-size: var(--cs-fonts-primary-sizes-xs);
1414
+ font-weight: var(--cs-fonts-primary-weights-medium);
1415
+ border-radius: var(--cs-border-radius-md);
1416
+ transition: var(--breadcrumb-transition);
1417
+ cursor: pointer;
1418
+ border: none;
1419
+ background: none;
1420
+ }
1421
+
1422
+ .breadcrumb__expand-toggle--semantic {
1423
+ color: var(--cs-colors-text-secondary);
1424
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
1425
+ }
1426
+
1427
+ .breadcrumb__expand-toggle--semantic:hover {
1428
+ color: var(--cs-colors-text-primary);
1429
+ background-color: var(--cs-colors-interactive-hover);
1430
+ }
1431
+
1432
+ /* Dark mode automatically handled by CSS variables */
1433
+ .dark .breadcrumb__expand-toggle--semantic {
1434
+ color: var(--cs-modes-dark-colors-text-secondary);
1435
+ }
1436
+
1437
+ .dark .breadcrumb__expand-toggle--semantic:hover {
1438
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
1439
+ color: var(--cs-modes-dark-colors-text-primary);
1440
+ }
1441
+
1442
+ /* Breadcrumb Responsive Behavior */
1443
+ @media (max-width: var(--breadcrumb-responsive-breakpoint)) {
1444
+ .breadcrumb__item-label {
1445
+ max-width: var(--breadcrumb-truncate-width);
1446
+ overflow: hidden;
1447
+ text-overflow: ellipsis;
1448
+ white-space: nowrap;
1449
+ }
1450
+ }
1451
+
1452
+ /* Breadcrumb Focus Management */
1453
+ .breadcrumb__item-button:focus-visible {
1454
+ outline: var(--breadcrumb-focus-ring-width) solid var(--breadcrumb-focus-ring-color);
1455
+ outline-offset: var(--breadcrumb-focus-ring-offset);
1456
+ }
1457
+
1458
+ /* Breadcrumb Accessibility */
1459
+ .breadcrumb[aria-label] {
1460
+ /* Ensure proper labeling for screen readers */
1461
+ }
1462
+
1463
+ .breadcrumb__item-button[aria-current="page"] {
1464
+ font-weight: var(--cs-fonts-primary-weights-semibold);
1465
+ }
1466
+
1467
+ /* Storybook Showcase Styles - Following Gold Standard Pattern */
1468
+ /* Breadcrumb Showcase Layout */
1469
+ .breadcrumb-showcase {
1470
+ display: flex;
1471
+ flex-wrap: wrap;
1472
+ gap: var(--breadcrumb-showcase-gap, var(--cs-spacing-scale-md));
1473
+ align-items: center;
1474
+ }
1475
+
1476
+ /* Breadcrumb Variant Showcase */
1477
+ .breadcrumb-variant-showcase {
1478
+ display: flex;
1479
+ flex-direction: column;
1480
+ gap: var(--breadcrumb-variant-showcase-gap, var(--cs-spacing-scale-md));
1481
+ }
1482
+
1483
+ .breadcrumb-variant-section {
1484
+ display: flex;
1485
+ flex-direction: column;
1486
+ gap: var(--breadcrumb-variant-section-gap, var(--cs-spacing-scale-sm));
1487
+ }
1488
+
1489
+ .breadcrumb-variant-title {
1490
+ font-size: var(--breadcrumb-variant-title-size, var(--cs-fonts-primary-sizes-lg));
1491
+ font-weight: var(--breadcrumb-variant-title-weight, var(--cs-fonts-primary-weights-semibold));
1492
+ margin-bottom: var(--cs-spacing-scale-sm);
1493
+ color: var(--cs-colors-text-primary);
1494
+ }
1495
+
1496
+ .breadcrumb-variant-grid {
1497
+ display: flex;
1498
+ flex-wrap: wrap;
1499
+ gap: var(--breadcrumb-variant-grid-gap, var(--cs-spacing-scale-sm));
1500
+ }
1501
+
1502
+ .breadcrumb-variant-description {
1503
+ font-size: var(--breadcrumb-variant-description-size, var(--cs-fonts-primary-sizes-sm));
1504
+ color: var(--breadcrumb-variant-description-color, var(--cs-colors-text-muted));
1505
+ }
1506
+
1507
+ /* Breadcrumb Responsive Showcase */
1508
+ .breadcrumb-responsive-showcase {
1509
+ display: flex;
1510
+ flex-direction: column;
1511
+ gap: var(--breadcrumb-responsive-showcase-gap, var(--cs-spacing-scale-md));
1512
+ }
1513
+
1514
+ .breadcrumb-responsive-description {
1515
+ font-size: var(--breadcrumb-responsive-description-size, var(--cs-fonts-primary-sizes-sm));
1516
+ color: var(--breadcrumb-responsive-description-color, var(--cs-colors-text-muted));
1517
+ margin-bottom: var(--cs-spacing-scale-sm);
1518
+ }
1519
+
1520
+ .breadcrumb-responsive-grid {
1521
+ display: grid;
1522
+ grid-template-columns: 1fr;
1523
+ gap: var(--breadcrumb-responsive-grid-gap, var(--cs-spacing-scale-md));
1524
+ width: 100%;
1525
+ max-width: var(--cs-spacing-scale-6xl);
1526
+ }
1527
+
1528
+ .breadcrumb-responsive-column {
1529
+ display: flex;
1530
+ flex-direction: column;
1531
+ gap: var(--breadcrumb-responsive-column-gap, var(--cs-spacing-scale-sm));
1532
+ }
1533
+
1534
+ .breadcrumb-responsive-title {
1535
+ font-size: var(--breadcrumb-responsive-title-size, var(--cs-fonts-primary-sizes-md));
1536
+ font-weight: var(--breadcrumb-responsive-title-weight, var(--cs-fonts-primary-weights-medium));
1537
+ margin-bottom: var(--cs-spacing-scale-sm);
1538
+ color: var(--cs-colors-text-primary);
1539
+ }
1540
+
1541
+ .breadcrumb-responsive-buttons {
1542
+ display: flex;
1543
+ flex-wrap: wrap;
1544
+ gap: var(--breadcrumb-responsive-buttons-gap, var(--cs-spacing-scale-sm));
1545
+ width: 100%;
1546
+ }
1547
+
1548
+ /* Responsive Design for Showcase */
1549
+ @media (min-width: 768px) {
1550
+ .breadcrumb-responsive-grid {
1551
+ grid-template-columns: 1fr 1fr !important;
1552
+ }
1553
+ }
1554
+
1555
+ /* Container Queries for Adaptive Layouts */
1556
+ @container (min-width: var(--cs-breakpoints-tablet)) {
1557
+ .breadcrumb {
1558
+ font-size: var(--cs-fonts-primary-sizes-base);
1559
+ }
1560
+ }
1561
+
1562
+ /* Breadcrumb Interactive States - Using Gold Standard Pattern */
1563
+ .breadcrumb__item-button[tabindex]:hover,
1564
+ .breadcrumb__item-button[role="button"]:hover,
1565
+ .breadcrumb__item-button[role="link"]:hover {
1566
+ transform: var(--breadcrumb-hover-transform, translateY(calc(-1 * var(--cs-spacing-scale-xs))));
1567
+ box-shadow: var(--breadcrumb-hover-shadow, var(--cs-shadows-md));
1568
+ }
1569
+
1570
+ .breadcrumb__item-button[tabindex]:focus,
1571
+ .breadcrumb__item-button[role="button"]:focus,
1572
+ .breadcrumb__item-button[role="link"]:focus {
1573
+ outline: none;
1574
+ box-shadow: 0 0 0 var(--cs-spacing-scale-xs) var(--cs-colors-interactive-focus), 0 0 0 var(--cs-spacing-scale-sm) var(--cs-colors-text-inverse);
1575
+ }
1576
+
1577
+ .breadcrumb__item-button[tabindex]:active,
1578
+ .breadcrumb__item-button[role="button"]:active,
1579
+ .breadcrumb__item-button[role="link"]:active {
1580
+ transform: var(--breadcrumb-active-transform, translateY(0));
1581
+ box-shadow: var(--breadcrumb-active-shadow, var(--cs-shadows-sm));
1582
+ }
1583
+
1584
+ /* Focus Ring for Accessibility */
1585
+ .breadcrumb__item-button:focus-visible {
1586
+ outline: none;
1587
+ box-shadow: 0 0 0 var(--cs-spacing-scale-xs) var(--cs-colors-interactive-focus), 0 0 0 var(--cs-spacing-scale-sm) var(--cs-colors-text-inverse);
1588
+ }
1589
+
1590
+ /* High Contrast Mode Support */
1591
+ @media (prefers-contrast: high) {
1592
+ .breadcrumb {
1593
+ border-width: var(--breadcrumb-high-contrast-border-width);
1594
+ }
1595
+ }
1596
+
1597
+ /* Reduced Motion Support */
1598
+ @media (prefers-reduced-motion: reduce) {
1599
+ .breadcrumb__item-button {
1600
+ transition: none;
1601
+ }
1602
+
1603
+ .breadcrumb__item-button[tabindex]:hover,
1604
+ .breadcrumb__item-button[role="button"]:hover,
1605
+ .breadcrumb__item-button[role="link"]:hover {
1606
+ transform: none;
1607
+ }
1608
+ }
1609
+
1610
+
1611
+ /* src/styles/components/navigation/menu.css */
1612
+ /* Menu Component Styles */
1613
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
1614
+
1615
+ /* Menu Component CSS Variables */
1616
+ :root {
1617
+ /* Menu Base Variables */
1618
+ --menu-font-size: var(--cs-fonts-primary-sizes-sm);
1619
+ --menu-font-weight: var(--cs-fonts-primary-weights-medium);
1620
+ --menu-line-height: var(--cs-fonts-primary-line-heights-tight);
1621
+ --menu-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
1622
+
1623
+ /* Menu Color Variables */
1624
+ --menu-color-primary: var(--cs-colors-text-primary);
1625
+ --menu-color-secondary: var(--cs-colors-text-secondary);
1626
+ --menu-color-muted: var(--cs-colors-text-muted);
1627
+ --menu-color-disabled: var(--cs-colors-text-muted);
1628
+ --menu-color-active: var(--cs-colors-primary-500);
1629
+ --menu-color-hover: var(--cs-colors-interactive-hover);
1630
+
1631
+ /* Menu Spacing Variables */
1632
+ --menu-padding-y: var(--cs-spacing-scale-xs);
1633
+ --menu-padding-x: var(--cs-spacing-scale-sm);
1634
+ --menu-margin: var(--cs-spacing-scale-xs);
1635
+ --menu-item-spacing: var(--cs-spacing-scale-xs);
1636
+ --menu-group-spacing: var(--cs-spacing-scale-md);
1637
+
1638
+ /* Menu State Variables */
1639
+ --menu-transition: var(--cs-transitions-properties-colors);
1640
+ --menu-border-radius: var(--cs-border-radius-lg);
1641
+ --menu-border-width: var(--cs-border-width-sm);
1642
+ --menu-shadow: var(--cs-shadows-lg);
1643
+
1644
+ /* Menu Focus Variables */
1645
+ --menu-focus-ring-width: var(--cs-accessibility-focus-ring-width);
1646
+ --menu-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
1647
+ --menu-focus-ring-color: var(--cs-accessibility-focus-ring-color);
1648
+ --menu-focus-outline-offset: var(--cs-accessibility-outline-offset);
1649
+
1650
+ /* Menu Icon Variables */
1651
+ --menu-icon-size: var(--cs-fonts-primary-sizes-sm);
1652
+ --menu-icon-spacing: var(--cs-spacing-scale-sm);
1653
+ --menu-badge-spacing: var(--cs-spacing-scale-sm);
1654
+
1655
+ /* Menu Dropdown Variables */
1656
+ --menu-dropdown-min-width: var(--cs-spacing-scale-3xl);
1657
+ --menu-dropdown-max-width: var(--cs-spacing-scale-5xl);
1658
+ --menu-dropdown-z-index: 1000;
1659
+
1660
+ /* Menu Animation Variables */
1661
+ --menu-arrow-size: var(--cs-spacing-scale-xs);
1662
+ --menu-arrow-border-width: var(--cs-border-width-focus);
1663
+ --menu-hover-offset: var(--cs-spacing-scale-xs);
1664
+ --menu-slide-offset: var(--cs-spacing-scale-sm);
1665
+
1666
+ /* Menu Interactive State Variables */
1667
+ --menu-hover-transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
1668
+ --menu-hover-shadow: var(--cs-shadows-md);
1669
+ --menu-focus-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
1670
+ --menu-focus-offset: var(--cs-spacing-scale-xs);
1671
+ --menu-active-transform: translateY(0);
1672
+ --menu-active-shadow: var(--cs-shadows-sm);
1673
+ --menu-focus-ring-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
1674
+ --menu-focus-ring-offset: var(--cs-spacing-scale-xs);
1675
+
1676
+ /* Menu High Contrast Variables */
1677
+ --menu-high-contrast-border-width: var(--cs-spacing-scale-xs);
1678
+
1679
+ /* Menu Responsive Variables */
1680
+ --menu-mobile-font-size: var(--cs-fonts-primary-sizes-xs);
1681
+ --menu-mobile-padding-y: var(--cs-spacing-scale-xs);
1682
+ --menu-mobile-padding-x: var(--cs-spacing-scale-sm);
1683
+ --menu-container-font-size: var(--cs-fonts-primary-sizes-sm);
1684
+
1685
+ /* Menu Showcase Variables */
1686
+ --menu-showcase-gap: var(--cs-spacing-scale-md);
1687
+ --menu-variant-showcase-gap: var(--cs-spacing-scale-md);
1688
+ --menu-variant-section-gap: var(--cs-spacing-scale-sm);
1689
+ --menu-variant-title-size: var(--cs-fonts-primary-sizes-lg);
1690
+ --menu-variant-title-weight: var(--cs-fonts-primary-weights-semibold);
1691
+ --menu-variant-grid-gap: var(--cs-spacing-scale-sm);
1692
+ --menu-variant-description-size: var(--cs-fonts-primary-sizes-sm);
1693
+ --menu-variant-description-color: var(--cs-colors-text-muted);
1694
+ --menu-responsive-showcase-gap: var(--cs-spacing-scale-md);
1695
+ --menu-responsive-description-size: var(--cs-fonts-primary-sizes-sm);
1696
+ --menu-responsive-description-color: var(--cs-colors-text-muted);
1697
+ --menu-responsive-grid-gap: var(--cs-spacing-scale-md);
1698
+ --menu-responsive-title-size: var(--cs-fonts-primary-sizes-md);
1699
+ --menu-responsive-title-weight: var(--cs-fonts-primary-weights-medium);
1700
+ --menu-responsive-column-gap: var(--cs-spacing-scale-sm);
1701
+ }
1702
+
1703
+ /* Base Menu Styles */
1704
+ .menu {
1705
+ display: flex;
1706
+ flex-direction: column;
1707
+ border-radius: var(--menu-border-radius);
1708
+ border: var(--menu-border-width) solid transparent;
1709
+ box-shadow: var(--menu-shadow);
1710
+ background-color: var(--cs-colors-surface-background);
1711
+ transition: var(--menu-transition);
1712
+ min-width: var(--menu-dropdown-min-width);
1713
+ max-width: var(--menu-dropdown-max-width);
1714
+ z-index: var(--menu-dropdown-z-index);
1715
+ }
1716
+
1717
+ /* Menu Theme Variants */
1718
+ .menu--semantic {
1719
+ background-color: var(--cs-colors-surface-background);
1720
+ border-color: var(--cs-colors-border);
1721
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
1722
+ }
1723
+
1724
+ /* Dark mode automatically handled by CSS variables */
1725
+ .dark .menu--semantic {
1726
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1727
+ border-color: var(--cs-modes-dark-colors-border);
1728
+ }
1729
+
1730
+ /* Menu Header */
1731
+ .menu__header {
1732
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
1733
+ border-bottom: var(--menu-border-width) solid var(--cs-colors-border);
1734
+ font-weight: var(--cs-fonts-primary-weights-semibold);
1735
+ color: var(--menu-color-primary);
1736
+ }
1737
+
1738
+ /* Dark mode automatically handled by CSS variables */
1739
+ .dark .menu__header {
1740
+ border-bottom-color: var(--cs-modes-dark-colors-border);
1741
+ color: var(--cs-modes-dark-colors-text-primary);
1742
+ }
1743
+
1744
+ /* Menu Group */
1745
+ .menu__group {
1746
+ padding: var(--menu-group-spacing) 0;
1747
+ }
1748
+
1749
+ .menu__group:not(:last-child) {
1750
+ border-bottom: var(--menu-border-width) solid var(--cs-colors-border);
1751
+ }
1752
+
1753
+ .menu__group-title {
1754
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-md);
1755
+ font-size: var(--cs-fonts-primary-sizes-xs);
1756
+ font-weight: var(--cs-fonts-primary-weights-semibold);
1757
+ color: var(--menu-color-muted);
1758
+ text-transform: uppercase;
1759
+ letter-spacing: var(--cs-fonts-primary-letter-spacing-wide);
1760
+ }
1761
+
1762
+ /* Dark mode automatically handled by CSS variables */
1763
+ .dark .menu__group {
1764
+ border-bottom-color: var(--cs-modes-dark-colors-border);
1765
+ }
1766
+
1767
+ .dark .menu__group-title {
1768
+ color: var(--cs-modes-dark-colors-text-muted);
1769
+ }
1770
+
1771
+ /* Menu Item Styles */
1772
+ .menu__item {
1773
+ display: flex;
1774
+ align-items: center;
1775
+ width: 100%;
1776
+ padding: var(--menu-padding-y) var(--menu-padding-x);
1777
+ font-size: var(--menu-font-size);
1778
+ font-weight: var(--menu-font-weight);
1779
+ line-height: var(--menu-line-height);
1780
+ letter-spacing: var(--menu-letter-spacing);
1781
+ color: var(--menu-color-primary);
1782
+ text-decoration: none;
1783
+ border: none;
1784
+ background: none;
1785
+ cursor: pointer;
1786
+ transition: var(--menu-transition);
1787
+ text-align: left;
1788
+ }
1789
+
1790
+ .menu__item:hover {
1791
+ background-color: var(--menu-color-hover);
1792
+ color: var(--menu-color-primary);
1793
+ }
1794
+
1795
+ /* Dark mode automatically handled by CSS variables */
1796
+ .dark .menu__item {
1797
+ color: var(--cs-modes-dark-colors-text-primary);
1798
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1799
+ }
1800
+
1801
+ .dark .menu__item:hover {
1802
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
1803
+ color: var(--cs-modes-dark-colors-text-primary);
1804
+ }
1805
+
1806
+ .menu__item:focus {
1807
+ outline: var(--menu-focus-ring-width) solid var(--menu-focus-ring-color);
1808
+ outline-offset: var(--menu-focus-ring-offset);
1809
+ }
1810
+
1811
+ .menu__item:focus:not(:focus-visible) {
1812
+ outline: none;
1813
+ }
1814
+
1815
+ .menu__item--active {
1816
+ background-color: var(--menu-color-active);
1817
+ color: var(--cs-colors-surface-background);
1818
+ }
1819
+
1820
+ .menu__item--disabled {
1821
+ color: var(--menu-color-disabled);
1822
+ cursor: not-allowed;
1823
+ opacity: var(--cs-accessibility-disabled-opacity);
1824
+ }
1825
+
1826
+ .menu__item--disabled:hover {
1827
+ background-color: transparent;
1828
+ color: var(--menu-color-disabled);
1829
+ }
1830
+
1831
+ /* Dark mode automatically handled by CSS variables */
1832
+ .dark .menu__item--active {
1833
+ background-color: var(--cs-modes-dark-colors-primary-500);
1834
+ color: var(--cs-modes-dark-colors-text-inverse);
1835
+ }
1836
+
1837
+ .dark .menu__item--disabled {
1838
+ color: var(--cs-modes-dark-colors-text-muted);
1839
+ }
1840
+
1841
+ /* Menu Item Elements */
1842
+ .menu__item-icon {
1843
+ width: var(--menu-icon-size);
1844
+ height: var(--menu-icon-size);
1845
+ margin-right: var(--menu-icon-spacing);
1846
+ flex-shrink: 0;
1847
+ }
1848
+
1849
+ .menu__item-label {
1850
+ flex: 1;
1851
+ white-space: nowrap;
1852
+ overflow: hidden;
1853
+ text-overflow: ellipsis;
1854
+ }
1855
+
1856
+ .menu__item-badge {
1857
+ margin-left: var(--menu-badge-spacing);
1858
+ flex-shrink: 0;
1859
+ }
1860
+
1861
+ .menu__item-description {
1862
+ display: block;
1863
+ font-size: var(--cs-fonts-primary-sizes-xs);
1864
+ color: var(--menu-color-muted);
1865
+ margin-top: var(--cs-spacing-scale-xs);
1866
+ }
1867
+
1868
+ /* Dark mode automatically handled by CSS variables */
1869
+ .dark .menu__item-description {
1870
+ color: var(--cs-modes-dark-colors-text-muted);
1871
+ }
1872
+
1873
+ /* Menu Item with Children */
1874
+ .menu__item--has-children {
1875
+ position: relative;
1876
+ }
1877
+
1878
+ .menu__item--has-children::after {
1879
+ content: '';
1880
+ width: var(--menu-arrow-size);
1881
+ height: var(--menu-arrow-size);
1882
+ border-right: var(--menu-arrow-border-width) solid currentColor;
1883
+ border-bottom: var(--menu-arrow-border-width) solid currentColor;
1884
+ transform: rotate(-45deg);
1885
+ margin-left: auto;
1886
+ transition: var(--menu-transition);
1887
+ }
1888
+
1889
+ .menu__item--has-children:hover::after {
1890
+ transform: rotate(-45deg) translateY(calc(-1 * var(--menu-hover-offset)));
1891
+ }
1892
+
1893
+ /* Menu Submenu */
1894
+ .menu__submenu {
1895
+ position: absolute;
1896
+ left: 100%;
1897
+ top: 0;
1898
+ min-width: var(--menu-dropdown-min-width);
1899
+ max-width: var(--menu-dropdown-max-width);
1900
+ background-color: var(--cs-colors-surface-background);
1901
+ border: var(--menu-border-width) solid var(--cs-colors-border);
1902
+ border-radius: var(--menu-border-radius);
1903
+ box-shadow: var(--menu-shadow);
1904
+ opacity: 0;
1905
+ visibility: hidden;
1906
+ transform: translateX(calc(-1 * var(--menu-slide-offset)));
1907
+ transition: var(--menu-transition);
1908
+ z-index: calc(var(--menu-dropdown-z-index) + 1);
1909
+ }
1910
+
1911
+ /* Dark mode automatically handled by CSS variables */
1912
+ .dark .menu__submenu {
1913
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1914
+ border-color: var(--cs-modes-dark-colors-border);
1915
+ }
1916
+
1917
+ .menu__item--has-children:hover .menu__submenu,
1918
+ .menu__item--has-children:focus-within .menu__submenu {
1919
+ opacity: 1;
1920
+ visibility: visible;
1921
+ transform: translateX(0);
1922
+ }
1923
+
1924
+ /* Menu Divider */
1925
+ .menu__divider {
1926
+ height: var(--menu-border-width);
1927
+ background-color: var(--cs-colors-border);
1928
+ margin: var(--cs-spacing-scale-xs) 0;
1929
+ }
1930
+
1931
+ /* Dark mode automatically handled by CSS variables */
1932
+ .dark .menu__divider {
1933
+ background-color: var(--cs-modes-dark-colors-border);
1934
+ }
1935
+
1936
+ /* Menu Footer */
1937
+ .menu__footer {
1938
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
1939
+ border-top: var(--menu-border-width) solid var(--cs-colors-border);
1940
+ background-color: var(--cs-colors-surface-surface);
1941
+ font-size: var(--cs-fonts-primary-sizes-xs);
1942
+ color: var(--menu-color-muted);
1943
+ }
1944
+
1945
+ /* Dark mode automatically handled by CSS variables */
1946
+ .dark .menu__footer {
1947
+ border-top-color: var(--cs-modes-dark-colors-border);
1948
+ background-color: var(--cs-modes-dark-colors-surface-surface);
1949
+ color: var(--cs-modes-dark-colors-text-muted);
1950
+ }
1951
+
1952
+ /* Menu Responsive Behavior */
1953
+ @media (max-width: var(--cs-breakpoints-mobile)) {
1954
+ .menu {
1955
+ min-width: 100%;
1956
+ max-width: 100%;
1957
+ font-size: var(--menu-mobile-font-size, var(--cs-fonts-primary-sizes-xs));
1958
+ padding: var(--menu-mobile-padding-y, var(--cs-spacing-scale-xs)) var(--menu-mobile-padding-x, var(--cs-spacing-scale-sm));
1959
+ }
1960
+
1961
+ .menu__submenu {
1962
+ position: static;
1963
+ opacity: 1;
1964
+ visibility: visible;
1965
+ transform: none;
1966
+ box-shadow: none;
1967
+ border: none;
1968
+ border-left: var(--menu-border-width) solid var(--cs-colors-border);
1969
+ margin-left: var(--cs-spacing-scale-md);
1970
+ }
1971
+
1972
+ .menu__item--has-children::after {
1973
+ transform: rotate(45deg);
1974
+ }
1975
+
1976
+ .menu__item--has-children:hover::after {
1977
+ transform: rotate(45deg) translateY(var(--menu-hover-offset));
1978
+ }
1979
+ }
1980
+
1981
+ /* Container Queries for Adaptive Layouts */
1982
+ @container (min-width: var(--cs-breakpoints-tablet)) {
1983
+ .menu {
1984
+ font-size: var(--menu-container-font-size, var(--cs-fonts-primary-sizes-sm));
1985
+ }
1986
+ }
1987
+
1988
+ /* Menu Focus Management */
1989
+ .menu__item:focus-visible {
1990
+ outline: var(--menu-focus-ring-width) solid var(--menu-focus-ring-color);
1991
+ outline-offset: var(--menu-focus-ring-offset);
1992
+ }
1993
+
1994
+ /* Menu Accessibility */
1995
+ .menu[role="menu"] {
1996
+ /* Ensure proper menu role styling */
1997
+ }
1998
+
1999
+ .menu__item[role="menuitem"] {
2000
+ /* Ensure proper menuitem role styling */
2001
+ }
2002
+
2003
+ .menu__item[aria-expanded="true"]::after {
2004
+ transform: rotate(45deg);
2005
+ }
2006
+
2007
+ /* High Contrast Mode Support */
2008
+ @media (prefers-contrast: high) {
2009
+ .menu {
2010
+ border-width: var(--menu-high-contrast-border-width);
2011
+ }
2012
+
2013
+ .menu__submenu {
2014
+ border-width: var(--menu-high-contrast-border-width);
2015
+ }
2016
+ }
2017
+
2018
+ /* Reduced Motion Support */
2019
+ @media (prefers-reduced-motion: reduce) {
2020
+ .menu__item {
2021
+ transition: none;
2022
+ }
2023
+
2024
+ .menu__item[tabindex]:hover,
2025
+ .menu__item[role="button"]:hover,
2026
+ .menu__item[role="link"]:hover {
2027
+ transform: none;
2028
+ }
2029
+
2030
+ .menu__submenu {
2031
+ transition: none;
2032
+ animation: none;
2033
+ }
2034
+ }
2035
+
2036
+ /* Menu Interactive States - Following Gold Standard Pattern */
2037
+ .menu__item[tabindex]:hover,
2038
+ .menu__item[role="button"]:hover,
2039
+ .menu__item[role="link"]:hover {
2040
+ transform: var(--menu-hover-transform, translateY(calc(-1 * var(--cs-spacing-scale-xs))));
2041
+ box-shadow: var(--menu-hover-shadow, var(--cs-shadows-md));
2042
+ }
2043
+
2044
+ .menu__item[tabindex]:active,
2045
+ .menu__item[role="button"]:active,
2046
+ .menu__item[role="link"]:active {
2047
+ transform: var(--menu-active-transform, translateY(0));
2048
+ box-shadow: var(--menu-active-shadow, var(--cs-shadows-sm));
2049
+ }
2050
+
2051
+ /* Menu Animation */
2052
+ .menu__item {
2053
+ transform: translateZ(0);
2054
+ backface-visibility: hidden;
2055
+ }
2056
+
2057
+ .menu__item:hover {
2058
+ transform: translateX(var(--menu-hover-offset));
2059
+ }
2060
+
2061
+ .menu__item:active {
2062
+ transform: translateX(0);
2063
+ }
2064
+
2065
+ /* Menu Dropdown Animation */
2066
+ .menu__submenu {
2067
+ transform-origin: left top;
2068
+ }
2069
+
2070
+ .menu__item--has-children:hover .menu__submenu,
2071
+ .menu__item--has-children:focus-within .menu__submenu {
2072
+ animation: menuSlideIn 0.2s ease-out;
2073
+ }
2074
+
2075
+ @keyframes menuSlideIn {
2076
+ from {
2077
+ opacity: 0;
2078
+ transform: translateX(calc(-1 * var(--menu-slide-offset)));
2079
+ }
2080
+ to {
2081
+ opacity: 1;
2082
+ transform: translateX(0);
2083
+ }
2084
+ }
2085
+
2086
+ /* Storybook Showcase Styles - Following Gold Standard Pattern */
2087
+ /* Menu Showcase Layout */
2088
+ .menu-showcase {
2089
+ display: flex;
2090
+ flex-wrap: wrap;
2091
+ gap: var(--menu-showcase-gap, var(--cs-spacing-scale-md));
2092
+ align-items: center;
2093
+ }
2094
+
2095
+ /* Menu Variant Showcase */
2096
+ .menu-variant-showcase {
2097
+ display: flex;
2098
+ flex-direction: column;
2099
+ gap: var(--menu-variant-showcase-gap, var(--cs-spacing-scale-md));
2100
+ }
2101
+
2102
+ .menu-variant-section {
2103
+ display: flex;
2104
+ flex-direction: column;
2105
+ gap: var(--menu-variant-section-gap, var(--cs-spacing-scale-sm));
2106
+ }
2107
+
2108
+ .menu-variant-title {
2109
+ font-size: var(--menu-variant-title-size, var(--cs-fonts-primary-sizes-lg));
2110
+ font-weight: var(--menu-variant-title-weight, var(--cs-fonts-primary-weights-semibold));
2111
+ margin-bottom: var(--cs-spacing-scale-sm);
2112
+ color: var(--cs-colors-text-primary);
2113
+ }
2114
+
2115
+ .menu-variant-grid {
2116
+ display: flex;
2117
+ flex-wrap: wrap;
2118
+ gap: var(--menu-variant-grid-gap, var(--cs-spacing-scale-sm));
2119
+ }
2120
+
2121
+ .menu-variant-description {
2122
+ font-size: var(--menu-variant-description-size, var(--cs-fonts-primary-sizes-sm));
2123
+ color: var(--menu-variant-description-color, var(--cs-colors-text-muted));
2124
+ }
2125
+
2126
+ /* Menu Interactive Showcase */
2127
+ .menu-interactive-showcase {
2128
+ display: flex;
2129
+ flex-direction: column;
2130
+ gap: var(--cs-spacing-scale-md);
2131
+ }
2132
+
2133
+ .menu-interactive-grid {
2134
+ display: flex;
2135
+ flex-wrap: wrap;
2136
+ gap: var(--cs-spacing-scale-sm);
2137
+ }
2138
+
2139
+ .menu-interactive-description {
2140
+ font-size: var(--cs-fonts-primary-sizes-sm);
2141
+ color: var(--cs-colors-text-muted);
2142
+ }
2143
+
2144
+ /* Menu Responsive Showcase */
2145
+ .menu-responsive-showcase {
2146
+ display: flex;
2147
+ flex-direction: column;
2148
+ gap: var(--menu-responsive-showcase-gap, var(--cs-spacing-scale-md));
2149
+ }
2150
+
2151
+ .menu-responsive-description {
2152
+ font-size: var(--menu-responsive-description-size, var(--cs-fonts-primary-sizes-sm));
2153
+ color: var(--menu-responsive-description-color, var(--cs-colors-text-muted));
2154
+ margin-bottom: var(--cs-spacing-scale-sm);
2155
+ }
2156
+
2157
+ .menu-responsive-grid {
2158
+ display: grid;
2159
+ grid-template-columns: 1fr;
2160
+ gap: var(--menu-responsive-grid-gap, var(--cs-spacing-scale-md));
2161
+ width: 100%;
2162
+ max-width: var(--cs-spacing-scale-6xl);
2163
+ }
2164
+
2165
+ .menu-responsive-column {
2166
+ display: flex;
2167
+ flex-direction: column;
2168
+ gap: var(--menu-responsive-column-gap, var(--cs-spacing-scale-sm));
2169
+ }
2170
+
2171
+ .menu-responsive-title {
2172
+ font-size: var(--menu-responsive-title-size, var(--cs-fonts-primary-sizes-md));
2173
+ font-weight: var(--menu-responsive-title-weight, var(--cs-fonts-primary-weights-medium));
2174
+ margin-bottom: var(--cs-spacing-scale-sm);
2175
+ color: var(--cs-colors-text-primary);
2176
+ }
2177
+
2178
+ /* Responsive Design for Showcase */
2179
+ @media (min-width: 768px) {
2180
+ .menu-responsive-grid {
2181
+ grid-template-columns: 1fr 1fr !important;
2182
+ }
2183
+ }
2184
+
2185
+
2186
+ /* src/styles/components/navigation/pagination.css */
2187
+ /* Pagination Component Styles */
2188
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
2189
+
2190
+ /* Pagination Component CSS Variables */
2191
+ :root {
2192
+ /* Pagination Base Variables */
2193
+ --pagination-font-size: var(--cs-fonts-primary-sizes-sm);
2194
+ --pagination-font-weight: var(--cs-fonts-primary-weights-medium);
2195
+ --pagination-line-height: var(--cs-fonts-primary-line-heights-tight);
2196
+ --pagination-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
2197
+
2198
+ /* Pagination Color Variables */
2199
+ --pagination-color-primary: var(--cs-colors-text-primary);
2200
+ --pagination-color-secondary: var(--cs-colors-text-secondary);
2201
+ --pagination-color-muted: var(--cs-colors-text-muted);
2202
+ --pagination-color-disabled: var(--cs-colors-text-muted);
2203
+ --pagination-color-active: var(--cs-colors-primary-500);
2204
+ --pagination-color-hover: var(--cs-colors-interactive-hover);
2205
+
2206
+ /* Pagination Spacing Variables */
2207
+ --pagination-padding-y: var(--cs-spacing-scale-xs);
2208
+ --pagination-padding-x: var(--cs-spacing-scale-sm);
2209
+ --pagination-margin: var(--cs-spacing-scale-xs);
2210
+ --pagination-item-spacing: var(--cs-spacing-scale-xs);
2211
+ --pagination-group-spacing: var(--cs-spacing-scale-md);
2212
+
2213
+ /* Pagination State Variables */
2214
+ --pagination-transition: var(--cs-transitions-properties-colors);
2215
+ --pagination-border-radius: var(--cs-border-radius-md);
2216
+ --pagination-border-width: var(--cs-border-width-sm);
2217
+ --pagination-shadow: var(--cs-shadows-sm);
2218
+
2219
+ /* Pagination Focus Variables */
2220
+ --pagination-focus-ring-width: var(--cs-accessibility-focus-ring-width);
2221
+ --pagination-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
2222
+ --pagination-focus-ring-color: var(--cs-accessibility-focus-ring-color);
2223
+ --pagination-focus-outline-offset: var(--cs-accessibility-outline-offset);
2224
+
2225
+ /* Pagination Icon Variables */
2226
+ --pagination-icon-size: var(--cs-fonts-primary-sizes-md);
2227
+ --pagination-icon-spacing: var(--cs-spacing-scale-xs);
2228
+
2229
+ /* Pagination Size Variables */
2230
+ --pagination-size-sm-padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
2231
+ --pagination-size-sm-font: var(--cs-fonts-primary-sizes-sm);
2232
+ --pagination-size-md-padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
2233
+ --pagination-size-md-font: var(--cs-fonts-primary-sizes-sm);
2234
+ --pagination-size-lg-padding: var(--cs-spacing-scale-md) var(--cs-spacing-scale-lg);
2235
+ --pagination-size-lg-font: var(--cs-fonts-primary-sizes-base);
2236
+
2237
+ /* Pagination Interactive State Variables */
2238
+ --pagination-hover-transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
2239
+ --pagination-hover-shadow: var(--cs-shadows-md);
2240
+ --pagination-focus-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
2241
+ --pagination-focus-offset: var(--cs-spacing-scale-xs);
2242
+ --pagination-active-transform: translateY(0);
2243
+ --pagination-active-shadow: var(--cs-shadows-sm);
2244
+ --pagination-focus-ring-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
2245
+ --pagination-focus-ring-offset: var(--cs-spacing-scale-xs);
2246
+
2247
+ /* Pagination High Contrast Variables */
2248
+ --pagination-high-contrast-border-width: var(--cs-spacing-scale-xs);
2249
+
2250
+ /* Pagination Responsive Variables */
2251
+ --pagination-mobile-font-size: var(--cs-fonts-primary-sizes-xs);
2252
+ --pagination-mobile-padding-y: var(--cs-spacing-scale-xs);
2253
+ --pagination-mobile-padding-x: var(--cs-spacing-scale-sm);
2254
+ --pagination-container-font-size: var(--cs-fonts-primary-sizes-sm);
2255
+
2256
+ /* Pagination Showcase Variables */
2257
+ --pagination-showcase-gap: var(--cs-spacing-scale-md);
2258
+ --pagination-variant-showcase-gap: var(--cs-spacing-scale-md);
2259
+ --pagination-variant-section-gap: var(--cs-spacing-scale-sm);
2260
+ --pagination-variant-title-size: var(--cs-fonts-primary-sizes-lg);
2261
+ --pagination-variant-title-weight: var(--cs-fonts-primary-weights-semibold);
2262
+ --pagination-variant-grid-gap: var(--cs-spacing-scale-sm);
2263
+ --pagination-variant-description-size: var(--cs-fonts-primary-sizes-sm);
2264
+ --pagination-variant-description-color: var(--cs-colors-text-muted);
2265
+ --pagination-size-showcase-gap: var(--cs-spacing-scale-md);
2266
+ --pagination-size-description-size: var(--cs-fonts-primary-sizes-sm);
2267
+ --pagination-size-description-color: var(--cs-colors-text-muted);
2268
+ --pagination-responsive-showcase-gap: var(--cs-spacing-scale-md);
2269
+ --pagination-responsive-description-size: var(--cs-fonts-primary-sizes-sm);
2270
+ --pagination-responsive-description-color: var(--cs-colors-text-muted);
2271
+ --pagination-responsive-grid-gap: var(--cs-spacing-scale-md);
2272
+ --pagination-responsive-title-size: var(--cs-fonts-primary-sizes-md);
2273
+ --pagination-responsive-title-weight: var(--cs-fonts-primary-weights-medium);
2274
+ --pagination-responsive-column-gap: var(--cs-spacing-scale-sm);
2275
+ }
2276
+
2277
+ /* Base Pagination Styles */
2278
+ .pagination {
2279
+ display: flex;
2280
+ align-items: center;
2281
+ justify-content: center;
2282
+ gap: var(--pagination-item-spacing);
2283
+ font-family: var(--cs-fonts-primary-family), var(--cs-fonts-primary-fallbacks);
2284
+ font-size: var(--pagination-font-size);
2285
+ font-weight: var(--pagination-font-weight);
2286
+ line-height: var(--pagination-line-height);
2287
+ letter-spacing: var(--pagination-letter-spacing);
2288
+ }
2289
+
2290
+ /* Pagination Container */
2291
+ .pagination__container {
2292
+ display: flex;
2293
+ align-items: center;
2294
+ gap: var(--pagination-item-spacing);
2295
+ }
2296
+
2297
+ /* Pagination Navigation */
2298
+ .pagination__nav {
2299
+ display: flex;
2300
+ align-items: center;
2301
+ gap: var(--pagination-item-spacing);
2302
+ }
2303
+
2304
+ /* Pagination Item Styles */
2305
+ .pagination__item {
2306
+ display: inline-flex;
2307
+ align-items: center;
2308
+ justify-content: center;
2309
+ min-width: var(--cs-spacing-scale-2xl);
2310
+ height: var(--cs-spacing-scale-2xl);
2311
+ padding: var(--pagination-padding-y) var(--pagination-padding-x);
2312
+ font-size: var(--pagination-font-size);
2313
+ font-weight: var(--pagination-font-weight);
2314
+ line-height: var(--pagination-line-height);
2315
+ letter-spacing: var(--pagination-letter-spacing);
2316
+ color: var(--pagination-color-primary);
2317
+ text-decoration: none;
2318
+ border: var(--pagination-border-width) solid transparent;
2319
+ border-radius: var(--pagination-border-radius);
2320
+ background: none;
2321
+ cursor: pointer;
2322
+ transition: var(--pagination-transition);
2323
+ position: relative;
2324
+ }
2325
+
2326
+ .pagination__item:hover {
2327
+ background-color: var(--pagination-color-hover);
2328
+ color: var(--pagination-color-primary);
2329
+ }
2330
+
2331
+ /* Dark mode automatically handled by CSS variables */
2332
+ .dark .pagination__item {
2333
+ color: var(--cs-modes-dark-colors-text-primary);
2334
+ background-color: var(--cs-modes-dark-colors-surface-surface);
2335
+ border-color: var(--cs-modes-dark-colors-border);
2336
+ }
2337
+
2338
+ .dark .pagination__item:hover {
2339
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
2340
+ color: var(--cs-modes-dark-colors-text-primary);
2341
+ }
2342
+
2343
+ .pagination__item:focus {
2344
+ outline: var(--pagination-focus-ring-width) solid var(--pagination-focus-ring-color);
2345
+ outline-offset: var(--pagination-focus-ring-offset);
2346
+ }
2347
+
2348
+ .pagination__item:focus:not(:focus-visible) {
2349
+ outline: none;
2350
+ }
2351
+
2352
+ /* Pagination Item States */
2353
+ .pagination__item--active {
2354
+ color: var(--cs-colors-surface-background);
2355
+ background-color: var(--pagination-color-active);
2356
+ border-color: var(--pagination-color-active);
2357
+ font-weight: var(--cs-fonts-primary-weights-semibold);
2358
+ }
2359
+
2360
+ .pagination__item--disabled {
2361
+ color: var(--pagination-color-disabled);
2362
+ cursor: not-allowed;
2363
+ opacity: var(--cs-accessibility-disabled-opacity);
2364
+ }
2365
+
2366
+ .pagination__item--disabled:hover {
2367
+ background-color: transparent;
2368
+ color: var(--pagination-color-disabled);
2369
+ }
2370
+
2371
+ /* Dark mode automatically handled by CSS variables */
2372
+ .dark .pagination__item--disabled {
2373
+ color: var(--cs-modes-dark-colors-text-muted);
2374
+ }
2375
+
2376
+ .dark .pagination__item--ellipsis {
2377
+ color: var(--cs-modes-dark-colors-text-muted);
2378
+ }
2379
+
2380
+ /* Pagination Item Types */
2381
+ .pagination__item--page {
2382
+ /* Default page number styling */
2383
+ }
2384
+
2385
+ .pagination__item--ellipsis {
2386
+ color: var(--pagination-color-muted);
2387
+ cursor: default;
2388
+ min-width: calc(var(--cs-spacing-scale-lg) + var(--cs-spacing-scale-xs));
2389
+ }
2390
+
2391
+ .pagination__item--ellipsis:hover {
2392
+ background-color: transparent;
2393
+ color: var(--pagination-color-muted);
2394
+ }
2395
+
2396
+ .pagination__item--previous,
2397
+ .pagination__item--next,
2398
+ .pagination__item--first,
2399
+ .pagination__item--last {
2400
+ display: inline-flex;
2401
+ align-items: center;
2402
+ gap: var(--pagination-icon-spacing);
2403
+ }
2404
+
2405
+ /* Pagination Item Sizes */
2406
+ .pagination__item--small {
2407
+ min-width: var(--cs-spacing-scale-xl);
2408
+ height: var(--cs-spacing-scale-xl);
2409
+ padding: var(--pagination-size-sm-padding);
2410
+ font-size: var(--pagination-size-sm-font);
2411
+ }
2412
+
2413
+ .pagination__item--medium {
2414
+ min-width: var(--cs-spacing-scale-2xl);
2415
+ height: var(--cs-spacing-scale-2xl);
2416
+ padding: var(--pagination-size-md-padding);
2417
+ font-size: var(--pagination-size-md-font);
2418
+ }
2419
+
2420
+ .pagination__item--large {
2421
+ min-width: var(--cs-spacing-scale-2xl);
2422
+ height: var(--cs-spacing-scale-2xl);
2423
+ padding: var(--pagination-size-lg-padding);
2424
+ font-size: var(--pagination-size-lg-font);
2425
+ }
2426
+
2427
+ /* Pagination Item Variants */
2428
+ .pagination__item--default {
2429
+ color: var(--pagination-color-primary);
2430
+ border-color: var(--cs-colors-border);
2431
+ }
2432
+
2433
+ .pagination__item--default:hover {
2434
+ background-color: var(--pagination-color-hover);
2435
+ border-color: var(--cs-colors-border);
2436
+ }
2437
+
2438
+ .pagination__item--outlined {
2439
+ color: var(--pagination-color-primary);
2440
+ border-color: var(--cs-colors-border);
2441
+ background-color: var(--cs-colors-surface-background);
2442
+ }
2443
+
2444
+ .pagination__item--outlined:hover {
2445
+ background-color: var(--pagination-color-hover);
2446
+ border-color: var(--cs-colors-primary-300);
2447
+ }
2448
+
2449
+ .pagination__item--outlined.pagination__item--active {
2450
+ color: var(--pagination-color-active);
2451
+ border-color: var(--pagination-color-active);
2452
+ background-color: var(--cs-colors-primary-50);
2453
+ }
2454
+
2455
+ .pagination__item--minimal {
2456
+ color: var(--pagination-color-primary);
2457
+ border-color: transparent;
2458
+ background-color: transparent;
2459
+ }
2460
+
2461
+ .pagination__item--minimal:hover {
2462
+ background-color: var(--pagination-color-hover);
2463
+ border-color: transparent;
2464
+ }
2465
+
2466
+ .pagination__item--minimal.pagination__item--active {
2467
+ color: var(--pagination-color-active);
2468
+ background-color: transparent;
2469
+ border-color: transparent;
2470
+ font-weight: var(--cs-fonts-primary-weights-semibold);
2471
+ }
2472
+
2473
+ /* Dark mode automatically handled by CSS variables */
2474
+ .dark .pagination__item--default {
2475
+ color: var(--cs-modes-dark-colors-text-primary);
2476
+ border-color: var(--cs-modes-dark-colors-border);
2477
+ }
2478
+
2479
+ .dark .pagination__item--default:hover {
2480
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
2481
+ border-color: var(--cs-modes-dark-colors-border);
2482
+ }
2483
+
2484
+ .dark .pagination__item--outlined {
2485
+ color: var(--cs-modes-dark-colors-text-primary);
2486
+ border-color: var(--cs-modes-dark-colors-border);
2487
+ background-color: var(--cs-modes-dark-colors-surface-surface);
2488
+ }
2489
+
2490
+ .dark .pagination__item--outlined:hover {
2491
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
2492
+ border-color: var(--cs-modes-dark-colors-primary-300);
2493
+ }
2494
+
2495
+ .dark .pagination__item--outlined.pagination__item--active {
2496
+ color: var(--cs-modes-dark-colors-primary-500);
2497
+ border-color: var(--cs-modes-dark-colors-primary-500);
2498
+ background-color: var(--cs-modes-dark-colors-primary-50);
2499
+ }
2500
+
2501
+ .dark .pagination__item--minimal {
2502
+ color: var(--cs-modes-dark-colors-text-primary);
2503
+ border-color: transparent;
2504
+ background-color: transparent;
2505
+ }
2506
+
2507
+ .dark .pagination__item--minimal:hover {
2508
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
2509
+ border-color: transparent;
2510
+ }
2511
+
2512
+ .dark .pagination__item--minimal.pagination__item--active {
2513
+ color: var(--cs-modes-dark-colors-primary-500);
2514
+ background-color: transparent;
2515
+ border-color: transparent;
2516
+ font-weight: var(--cs-fonts-primary-weights-semibold);
2517
+ }
2518
+
2519
+ /* Pagination Item Elements */
2520
+ .pagination__item-icon {
2521
+ width: var(--pagination-icon-size);
2522
+ height: var(--pagination-icon-size);
2523
+ }
2524
+
2525
+ .pagination__item-text {
2526
+ white-space: nowrap;
2527
+ }
2528
+
2529
+ /* Pagination Info */
2530
+ .pagination__info {
2531
+ display: flex;
2532
+ align-items: center;
2533
+ gap: var(--pagination-group-spacing);
2534
+ color: var(--pagination-color-muted);
2535
+ font-size: var(--cs-fonts-primary-sizes-sm);
2536
+ }
2537
+
2538
+ .pagination__total {
2539
+ display: flex;
2540
+ align-items: center;
2541
+ gap: var(--pagination-item-spacing);
2542
+ }
2543
+
2544
+ .pagination__items-per-page {
2545
+ display: flex;
2546
+ align-items: center;
2547
+ gap: var(--pagination-item-spacing);
2548
+ }
2549
+
2550
+ .pagination__items-per-page-select {
2551
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
2552
+ border: var(--pagination-border-width) solid var(--cs-colors-border);
2553
+ border-radius: var(--pagination-border-radius);
2554
+ background-color: var(--cs-colors-surface-background);
2555
+ color: var(--pagination-color-primary);
2556
+ font-size: var(--pagination-font-size);
2557
+ cursor: pointer;
2558
+ }
2559
+
2560
+ .pagination__items-per-page-select:focus {
2561
+ outline: var(--pagination-focus-ring-width) solid var(--pagination-focus-ring-color);
2562
+ outline-offset: var(--pagination-focus-ring-offset);
2563
+ }
2564
+
2565
+ /* Dark mode automatically handled by CSS variables */
2566
+ .dark .pagination__info {
2567
+ color: var(--cs-modes-dark-colors-text-muted);
2568
+ }
2569
+
2570
+ .dark .pagination__items-per-page-select {
2571
+ border-color: var(--cs-modes-dark-colors-border);
2572
+ background-color: var(--cs-modes-dark-colors-surface-surface);
2573
+ color: var(--cs-modes-dark-colors-text-primary);
2574
+ }
2575
+
2576
+ /* Pagination Responsive Behavior */
2577
+ @media (max-width: var(--cs-breakpoints-mobile)) {
2578
+ .pagination {
2579
+ flex-direction: column;
2580
+ gap: var(--pagination-group-spacing);
2581
+ }
2582
+
2583
+ .pagination__nav {
2584
+ order: 1;
2585
+ }
2586
+
2587
+ .pagination__info {
2588
+ order: 2;
2589
+ flex-direction: column;
2590
+ gap: var(--pagination-item-spacing);
2591
+ }
2592
+
2593
+ .pagination__item--first,
2594
+ .pagination__item--last {
2595
+ display: none;
2596
+ }
2597
+
2598
+ .pagination__item--ellipsis {
2599
+ display: none;
2600
+ }
2601
+ }
2602
+
2603
+ @media (max-width: var(--cs-breakpoints-tablet)) {
2604
+ .pagination__total {
2605
+ display: none;
2606
+ }
2607
+
2608
+ .pagination__items-per-page {
2609
+ display: none;
2610
+ }
2611
+ }
2612
+
2613
+ /* Container Queries for Adaptive Layouts */
2614
+ @container (min-width: var(--cs-breakpoints-tablet)) {
2615
+ .pagination {
2616
+ font-size: var(--pagination-container-font-size, var(--cs-fonts-primary-sizes-sm));
2617
+ }
2618
+ }
2619
+
2620
+ /* Pagination Focus Management */
2621
+ .pagination__item:focus-visible {
2622
+ outline: var(--pagination-focus-ring-width) solid var(--pagination-focus-ring-color);
2623
+ outline-offset: var(--pagination-focus-ring-offset);
2624
+ }
2625
+
2626
+ /* Pagination Accessibility */
2627
+ .pagination[role="navigation"] {
2628
+ /* Ensure proper navigation role styling */
2629
+ }
2630
+
2631
+ .pagination__item[aria-current="page"] {
2632
+ font-weight: var(--cs-fonts-primary-weights-semibold);
2633
+ }
2634
+
2635
+ .pagination__item[aria-disabled="true"] {
2636
+ cursor: not-allowed;
2637
+ opacity: var(--cs-accessibility-disabled-opacity);
2638
+ }
2639
+
2640
+ /* High Contrast Mode Support */
2641
+ @media (prefers-contrast: high) {
2642
+ .pagination__item {
2643
+ border-width: var(--pagination-high-contrast-border-width);
2644
+ }
2645
+
2646
+ .pagination__items-per-page-select {
2647
+ border-width: var(--pagination-high-contrast-border-width);
2648
+ }
2649
+ }
2650
+
2651
+ /* Reduced Motion Support */
2652
+ @media (prefers-reduced-motion: reduce) {
2653
+ .pagination__item {
2654
+ transition: none;
2655
+ }
2656
+
2657
+ .pagination__item[tabindex]:hover,
2658
+ .pagination__item[role="button"]:hover,
2659
+ .pagination__item[role="link"]:hover {
2660
+ transform: none;
2661
+ }
2662
+ }
2663
+
2664
+ /* Pagination Interactive States - Following Gold Standard Pattern */
2665
+ .pagination__item[tabindex]:hover,
2666
+ .pagination__item[role="button"]:hover,
2667
+ .pagination__item[role="link"]:hover {
2668
+ transform: var(--pagination-hover-transform, translateY(calc(-1 * var(--cs-spacing-scale-xs))));
2669
+ box-shadow: var(--pagination-hover-shadow, var(--cs-shadows-md));
2670
+ }
2671
+
2672
+ .pagination__item[tabindex]:active,
2673
+ .pagination__item[role="button"]:active,
2674
+ .pagination__item[role="link"]:active {
2675
+ transform: var(--pagination-active-transform, translateY(0));
2676
+ box-shadow: var(--pagination-active-shadow, var(--cs-shadows-sm));
2677
+ }
2678
+
2679
+ /* Pagination Animation */
2680
+ .pagination__item {
2681
+ transform: translateZ(0);
2682
+ backface-visibility: hidden;
2683
+ }
2684
+
2685
+ .pagination__item:hover {
2686
+ transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
2687
+ }
2688
+
2689
+ .pagination__item:active {
2690
+ transform: translateY(0);
2691
+ }
2692
+
2693
+ /* Pagination Theme Variants */
2694
+ .pagination--semantic .pagination__item--active {
2695
+ background-color: var(--cs-colors-text-primary);
2696
+ color: var(--cs-colors-surface-background);
2697
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
2698
+ }
2699
+
2700
+ /* Dark mode automatically handled by CSS variables */
2701
+ .dark .pagination--semantic .pagination__item--active {
2702
+ background-color: var(--cs-modes-dark-colors-primary-500);
2703
+ color: var(--cs-modes-dark-colors-text-inverse);
2704
+ }
2705
+
2706
+ /* Storybook Showcase Styles - Following Gold Standard Pattern */
2707
+ /* Pagination Showcase Layout */
2708
+ .pagination-showcase {
2709
+ display: flex;
2710
+ flex-wrap: wrap;
2711
+ gap: var(--pagination-showcase-gap, var(--cs-spacing-scale-md));
2712
+ align-items: center;
2713
+ }
2714
+
2715
+ /* Pagination Variant Showcase */
2716
+ .pagination-variant-showcase {
2717
+ display: flex;
2718
+ flex-direction: column;
2719
+ gap: var(--pagination-variant-showcase-gap, var(--cs-spacing-scale-md));
2720
+ }
2721
+
2722
+ .pagination-variant-section {
2723
+ display: flex;
2724
+ flex-direction: column;
2725
+ gap: var(--pagination-variant-section-gap, var(--cs-spacing-scale-sm));
2726
+ }
2727
+
2728
+ .pagination-variant-title {
2729
+ font-size: var(--pagination-variant-title-size, var(--cs-fonts-primary-sizes-lg));
2730
+ font-weight: var(--pagination-variant-title-weight, var(--cs-fonts-primary-weights-semibold));
2731
+ margin-bottom: var(--cs-spacing-scale-sm);
2732
+ color: var(--cs-colors-text-primary);
2733
+ }
2734
+
2735
+ .pagination-variant-grid {
2736
+ display: flex;
2737
+ flex-wrap: wrap;
2738
+ gap: var(--pagination-variant-grid-gap, var(--cs-spacing-scale-sm));
2739
+ }
2740
+
2741
+ .pagination-variant-description {
2742
+ font-size: var(--pagination-variant-description-size, var(--cs-fonts-primary-sizes-sm));
2743
+ color: var(--pagination-variant-description-color, var(--cs-colors-text-muted));
2744
+ }
2745
+
2746
+ /* Pagination Size Showcase */
2747
+ .pagination-size-showcase {
2748
+ display: flex;
2749
+ flex-direction: column;
2750
+ gap: var(--pagination-size-showcase-gap, var(--cs-spacing-scale-md));
2751
+ }
2752
+
2753
+ .pagination-size-grid {
2754
+ display: flex;
2755
+ align-items: center;
2756
+ gap: var(--cs-spacing-scale-sm);
2757
+ }
2758
+
2759
+ .pagination-size-description {
2760
+ font-size: var(--pagination-size-description-size, var(--cs-fonts-primary-sizes-sm));
2761
+ color: var(--pagination-size-description-color, var(--cs-colors-text-muted));
2762
+ }
2763
+
2764
+ /* Pagination Interactive Showcase */
2765
+ .pagination-interactive-showcase {
2766
+ display: flex;
2767
+ flex-direction: column;
2768
+ gap: var(--cs-spacing-scale-md);
2769
+ }
2770
+
2771
+ .pagination-interactive-grid {
2772
+ display: flex;
2773
+ flex-wrap: wrap;
2774
+ gap: var(--cs-spacing-scale-sm);
2775
+ }
2776
+
2777
+ .pagination-interactive-description {
2778
+ font-size: var(--cs-fonts-primary-sizes-sm);
2779
+ color: var(--cs-colors-text-muted);
2780
+ }
2781
+
2782
+ /* Pagination Responsive Showcase */
2783
+ .pagination-responsive-showcase {
2784
+ display: flex;
2785
+ flex-direction: column;
2786
+ gap: var(--pagination-responsive-showcase-gap, var(--cs-spacing-scale-md));
2787
+ }
2788
+
2789
+ .pagination-responsive-description {
2790
+ font-size: var(--pagination-responsive-description-size, var(--cs-fonts-primary-sizes-sm));
2791
+ color: var(--pagination-responsive-description-color, var(--cs-colors-text-muted));
2792
+ margin-bottom: var(--cs-spacing-scale-sm);
2793
+ }
2794
+
2795
+ .pagination-responsive-grid {
2796
+ display: grid;
2797
+ grid-template-columns: 1fr;
2798
+ gap: var(--pagination-responsive-grid-gap, var(--cs-spacing-scale-md));
2799
+ width: 100%;
2800
+ max-width: var(--cs-spacing-scale-6xl);
2801
+ }
2802
+
2803
+ .pagination-responsive-column {
2804
+ display: flex;
2805
+ flex-direction: column;
2806
+ gap: var(--pagination-responsive-column-gap, var(--cs-spacing-scale-sm));
2807
+ }
2808
+
2809
+ .pagination-responsive-title {
2810
+ font-size: var(--pagination-responsive-title-size, var(--cs-fonts-primary-sizes-md));
2811
+ font-weight: var(--pagination-responsive-title-weight, var(--cs-fonts-primary-weights-medium));
2812
+ margin-bottom: var(--cs-spacing-scale-sm);
2813
+ color: var(--cs-colors-text-primary);
2814
+ }
2815
+
2816
+ /* Responsive Design for Showcase */
2817
+ @media (min-width: var(--cs-breakpoints-tablet)) {
2818
+ .pagination-responsive-grid {
2819
+ grid-template-columns: 1fr 1fr !important;
2820
+ }
2821
+ }
2822
+
2823
+
2824
+ /* src/styles/components/navigation/sidebar.css */
2825
+ /* Sidebar Component Styles */
2826
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
2827
+
2828
+ /* Sidebar Component CSS Variables */
2829
+ :root {
2830
+ /* Sidebar Base Variables */
2831
+ --sidebar-font-size: var(--cs-fonts-primary-sizes-sm);
2832
+ --sidebar-font-weight: var(--cs-fonts-primary-weights-medium);
2833
+ --sidebar-line-height: var(--cs-fonts-primary-line-heights-tight);
2834
+ --sidebar-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
2835
+
2836
+ /* Sidebar Color Variables */
2837
+ --sidebar-color-primary: var(--cs-colors-text-primary);
2838
+ --sidebar-color-secondary: var(--cs-colors-text-secondary);
2839
+ --sidebar-color-muted: var(--cs-colors-text-muted);
2840
+ --sidebar-color-disabled: var(--cs-colors-text-muted);
2841
+ --sidebar-color-active: var(--cs-colors-primary-500);
2842
+ --sidebar-color-hover: var(--cs-colors-interactive-hover);
2843
+
2844
+ /* Sidebar Spacing Variables */
2845
+ --sidebar-padding-y: var(--cs-spacing-scale-sm);
2846
+ --sidebar-padding-x: var(--cs-spacing-scale-md);
2847
+ --sidebar-margin: var(--cs-spacing-scale-xs);
2848
+ --sidebar-item-spacing: var(--cs-spacing-scale-xs);
2849
+ --sidebar-group-spacing: var(--cs-spacing-scale-md);
2850
+
2851
+ /* Sidebar State Variables */
2852
+ --sidebar-transition: var(--cs-transitions-properties-transform);
2853
+ --sidebar-border-radius: var(--cs-border-radius-lg);
2854
+ --sidebar-border-width: var(--cs-border-width-sm);
2855
+ --sidebar-shadow: var(--cs-shadows-lg);
2856
+
2857
+ /* Sidebar Focus Variables */
2858
+ --sidebar-focus-ring-width: var(--cs-accessibility-focus-ring-width);
2859
+ --sidebar-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
2860
+ --sidebar-focus-ring-color: var(--cs-accessibility-focus-ring-color);
2861
+ --sidebar-focus-outline-offset: var(--cs-accessibility-outline-offset);
2862
+
2863
+ /* Sidebar Icon Variables */
2864
+ --sidebar-icon-size: var(--cs-fonts-primary-sizes-lg);
2865
+ --sidebar-icon-spacing: var(--cs-spacing-scale-sm);
2866
+ --sidebar-badge-spacing: var(--cs-spacing-scale-sm);
2867
+
2868
+ /* Sidebar Layout Variables */
2869
+ --sidebar-width: var(--cs-spacing-scale-4xl);
2870
+ --sidebar-width-collapsed: var(--cs-spacing-scale-xl);
2871
+ --sidebar-width-mobile: 100%;
2872
+ --sidebar-z-index: 100;
2873
+
2874
+ /* Sidebar Interactive State Variables */
2875
+ --sidebar-hover-transform: translateX(var(--cs-spacing-scale-xs));
2876
+ --sidebar-hover-shadow: var(--cs-shadows-md);
2877
+ --sidebar-focus-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
2878
+ --sidebar-focus-offset: var(--cs-spacing-scale-xs);
2879
+ --sidebar-active-transform: translateX(0);
2880
+ --sidebar-active-shadow: var(--cs-shadows-sm);
2881
+ --sidebar-focus-ring-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
2882
+ --sidebar-focus-ring-offset: var(--cs-spacing-scale-xs);
2883
+
2884
+ /* Sidebar High Contrast Variables */
2885
+ --sidebar-high-contrast-border-width: var(--cs-spacing-scale-xs);
2886
+
2887
+ /* Sidebar Responsive Variables */
2888
+ --sidebar-mobile-font-size: var(--cs-fonts-primary-sizes-xs);
2889
+ --sidebar-mobile-padding-y: var(--cs-spacing-scale-xs);
2890
+ --sidebar-mobile-padding-x: var(--cs-spacing-scale-sm);
2891
+ --sidebar-container-font-size: var(--cs-fonts-primary-sizes-sm);
2892
+
2893
+ /* Sidebar Showcase Variables */
2894
+ --sidebar-showcase-gap: var(--cs-spacing-scale-md);
2895
+ --sidebar-variant-showcase-gap: var(--cs-spacing-scale-md);
2896
+ --sidebar-variant-section-gap: var(--cs-spacing-scale-sm);
2897
+ --sidebar-variant-title-size: var(--cs-fonts-primary-sizes-lg);
2898
+ --sidebar-variant-title-weight: var(--cs-fonts-primary-weights-semibold);
2899
+ --sidebar-variant-grid-gap: var(--cs-spacing-scale-sm);
2900
+ --sidebar-variant-description-size: var(--cs-fonts-primary-sizes-sm);
2901
+ --sidebar-variant-description-color: var(--cs-colors-text-muted);
2902
+ --sidebar-state-showcase-gap: var(--cs-spacing-scale-md);
2903
+ --sidebar-state-description-size: var(--cs-fonts-primary-sizes-sm);
2904
+ --sidebar-state-description-color: var(--cs-colors-text-muted);
2905
+ --sidebar-responsive-showcase-gap: var(--cs-spacing-scale-md);
2906
+ --sidebar-responsive-description-size: var(--cs-fonts-primary-sizes-sm);
2907
+ --sidebar-responsive-description-color: var(--cs-colors-text-muted);
2908
+ --sidebar-responsive-grid-gap: var(--cs-spacing-scale-md);
2909
+ --sidebar-responsive-title-size: var(--cs-fonts-primary-sizes-md);
2910
+ --sidebar-responsive-title-weight: var(--cs-fonts-primary-weights-medium);
2911
+ --sidebar-responsive-column-gap: var(--cs-spacing-scale-sm);
2912
+ }
2913
+
2914
+ /* Base Sidebar Styles */
2915
+ .sidebar {
2916
+ display: flex;
2917
+ flex-direction: column;
2918
+ width: var(--sidebar-width);
2919
+ height: 100vh;
2920
+ background-color: var(--cs-colors-surface-background);
2921
+ border-right: var(--sidebar-border-width) solid var(--cs-colors-border);
2922
+ box-shadow: var(--sidebar-shadow);
2923
+ transition: var(--sidebar-transition);
2924
+ position: fixed;
2925
+ top: 0;
2926
+ left: 0;
2927
+ z-index: var(--sidebar-z-index);
2928
+ overflow: hidden;
2929
+ }
2930
+
2931
+ /* Sidebar States */
2932
+ .sidebar--collapsed {
2933
+ width: var(--sidebar-width-collapsed);
2934
+ }
2935
+
2936
+ .sidebar--mobile {
2937
+ width: var(--sidebar-width-mobile);
2938
+ transform: translateX(-100%);
2939
+ }
2940
+
2941
+ .sidebar--mobile.sidebar--open {
2942
+ transform: translateX(0);
2943
+ }
2944
+
2945
+ /* Sidebar Theme Variants */
2946
+ .sidebar--semantic {
2947
+ background-color: var(--cs-colors-surface-background);
2948
+ border-color: var(--cs-colors-border);
2949
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
2950
+ }
2951
+
2952
+ /* Dark mode automatically handled by CSS variables */
2953
+ .dark .sidebar--semantic {
2954
+ background-color: var(--cs-modes-dark-colors-surface-surface);
2955
+ border-color: var(--cs-modes-dark-colors-border);
2956
+ }
2957
+
2958
+ /* Sidebar Header */
2959
+ .sidebar__header {
2960
+ display: flex;
2961
+ align-items: center;
2962
+ justify-content: space-between;
2963
+ padding: var(--cs-spacing-scale-md);
2964
+ border-bottom: var(--sidebar-border-width) solid var(--cs-colors-border);
2965
+ background-color: var(--cs-colors-surface-surface);
2966
+ min-height: var(--cs-spacing-scale-xl);
2967
+ }
2968
+
2969
+ /* Dark mode automatically handled by CSS variables */
2970
+ .dark .sidebar__header {
2971
+ border-bottom-color: var(--cs-modes-dark-colors-border);
2972
+ background-color: var(--cs-modes-dark-colors-surface-surface);
2973
+ }
2974
+
2975
+ .sidebar__header--collapsed {
2976
+ justify-content: center;
2977
+ padding: var(--cs-spacing-scale-sm);
2978
+ }
2979
+
2980
+ .sidebar__logo {
2981
+ display: flex;
2982
+ align-items: center;
2983
+ gap: var(--sidebar-icon-spacing);
2984
+ font-weight: var(--cs-fonts-primary-weights-semibold);
2985
+ color: var(--sidebar-color-primary);
2986
+ text-decoration: none;
2987
+ }
2988
+
2989
+ /* Dark mode automatically handled by CSS variables */
2990
+ .dark .sidebar__logo {
2991
+ color: var(--cs-modes-dark-colors-text-primary);
2992
+ }
2993
+
2994
+ .sidebar__logo--collapsed {
2995
+ justify-content: center;
2996
+ }
2997
+
2998
+ .sidebar__logo-text {
2999
+ font-size: var(--cs-fonts-primary-sizes-lg);
3000
+ white-space: nowrap;
3001
+ overflow: hidden;
3002
+ }
3003
+
3004
+ .sidebar__logo-text--collapsed {
3005
+ display: none;
3006
+ }
3007
+
3008
+ .sidebar__logo-icon {
3009
+ width: var(--sidebar-icon-size);
3010
+ height: var(--sidebar-icon-size);
3011
+ flex-shrink: 0;
3012
+ }
3013
+
3014
+ /* Sidebar Toggle Button */
3015
+ .sidebar__toggle {
3016
+ display: flex;
3017
+ align-items: center;
3018
+ justify-content: center;
3019
+ width: var(--cs-spacing-scale-2xl);
3020
+ height: var(--cs-spacing-scale-2xl);
3021
+ border: none;
3022
+ background: none;
3023
+ color: var(--sidebar-color-secondary);
3024
+ cursor: pointer;
3025
+ border-radius: var(--cs-border-radius-md);
3026
+ transition: var(--sidebar-transition);
3027
+ }
3028
+
3029
+ .sidebar__toggle:hover {
3030
+ background-color: var(--sidebar-color-hover);
3031
+ color: var(--sidebar-color-primary);
3032
+ }
3033
+
3034
+ /* Dark mode automatically handled by CSS variables */
3035
+ .dark .sidebar__toggle {
3036
+ color: var(--cs-modes-dark-colors-text-secondary);
3037
+ }
3038
+
3039
+ .dark .sidebar__toggle:hover {
3040
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
3041
+ color: var(--cs-modes-dark-colors-text-primary);
3042
+ }
3043
+
3044
+ .sidebar__toggle--collapsed {
3045
+ transform: rotate(180deg);
3046
+ }
3047
+
3048
+ .sidebar__toggle-icon {
3049
+ width: var(--cs-spacing-scale-md);
3050
+ height: var(--cs-spacing-scale-md);
3051
+ }
3052
+
3053
+ /* Sidebar Navigation */
3054
+ .sidebar__nav {
3055
+ flex: 1;
3056
+ padding: var(--sidebar-padding-y) 0;
3057
+ overflow-y: auto;
3058
+ overflow-x: hidden;
3059
+ }
3060
+
3061
+ .sidebar__nav--collapsed {
3062
+ padding: var(--cs-spacing-scale-xs) 0;
3063
+ }
3064
+
3065
+ /* Sidebar Group */
3066
+ .sidebar__group {
3067
+ margin-bottom: var(--sidebar-group-spacing);
3068
+ }
3069
+
3070
+ .sidebar__group--collapsed {
3071
+ margin-bottom: var(--cs-spacing-scale-sm);
3072
+ }
3073
+
3074
+ .sidebar__group-title {
3075
+ padding: var(--cs-spacing-scale-xs) var(--sidebar-padding-x);
3076
+ font-size: var(--cs-fonts-primary-sizes-xs);
3077
+ font-weight: var(--cs-fonts-primary-weights-semibold);
3078
+ color: var(--sidebar-color-muted);
3079
+ text-transform: uppercase;
3080
+ letter-spacing: var(--cs-fonts-primary-letter-spacing-wide);
3081
+ white-space: nowrap;
3082
+ overflow: hidden;
3083
+ }
3084
+
3085
+ /* Dark mode automatically handled by CSS variables */
3086
+ .dark .sidebar__group-title {
3087
+ color: var(--cs-modes-dark-colors-text-muted);
3088
+ }
3089
+
3090
+ .sidebar__group-title--collapsed {
3091
+ display: none;
3092
+ }
3093
+
3094
+ /* Sidebar Item Styles */
3095
+ .sidebar__item {
3096
+ display: flex;
3097
+ align-items: center;
3098
+ width: 100%;
3099
+ padding: var(--cs-spacing-scale-sm) var(--sidebar-padding-x);
3100
+ font-size: var(--sidebar-font-size);
3101
+ font-weight: var(--sidebar-font-weight);
3102
+ line-height: var(--sidebar-line-height);
3103
+ letter-spacing: var(--sidebar-letter-spacing);
3104
+ color: var(--sidebar-color-primary);
3105
+ text-decoration: none;
3106
+ border: none;
3107
+ background: none;
3108
+ cursor: pointer;
3109
+ transition: var(--sidebar-transition);
3110
+ text-align: left;
3111
+ position: relative;
3112
+ }
3113
+
3114
+ .sidebar__item:hover {
3115
+ background-color: var(--sidebar-color-hover);
3116
+ color: var(--sidebar-color-primary);
3117
+ }
3118
+
3119
+ /* Dark mode automatically handled by CSS variables */
3120
+ .dark .sidebar__item {
3121
+ color: var(--cs-modes-dark-colors-text-primary);
3122
+ background-color: var(--cs-modes-dark-colors-surface-surface);
3123
+ }
3124
+
3125
+ .dark .sidebar__item:hover {
3126
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
3127
+ color: var(--cs-modes-dark-colors-text-primary);
3128
+ }
3129
+
3130
+ .sidebar__item:focus {
3131
+ outline: var(--sidebar-focus-ring-width) solid var(--sidebar-focus-ring-color);
3132
+ outline-offset: var(--sidebar-focus-ring-offset);
3133
+ }
3134
+
3135
+ .sidebar__item:focus:not(:focus-visible) {
3136
+ outline: none;
3137
+ }
3138
+
3139
+ .sidebar__item--active {
3140
+ background-color: var(--sidebar-color-active);
3141
+ color: var(--cs-colors-surface-background);
3142
+ font-weight: var(--cs-fonts-primary-weights-semibold);
3143
+ }
3144
+
3145
+ .sidebar__item--active::before {
3146
+ content: '';
3147
+ position: absolute;
3148
+ left: 0;
3149
+ top: 0;
3150
+ bottom: 0;
3151
+ width: var(--cs-spacing-scale-xs);
3152
+ background-color: var(--cs-colors-surface-background);
3153
+ }
3154
+
3155
+ .sidebar__item--disabled {
3156
+ color: var(--sidebar-color-disabled);
3157
+ cursor: not-allowed;
3158
+ opacity: var(--cs-accessibility-disabled-opacity);
3159
+ }
3160
+
3161
+ .sidebar__item--disabled:hover {
3162
+ background-color: transparent;
3163
+ color: var(--sidebar-color-disabled);
3164
+ }
3165
+
3166
+ /* Dark mode automatically handled by CSS variables */
3167
+ .dark .sidebar__item--active {
3168
+ background-color: var(--cs-modes-dark-colors-primary-500);
3169
+ color: var(--cs-modes-dark-colors-text-inverse);
3170
+ }
3171
+
3172
+ .dark .sidebar__item--active::before {
3173
+ background-color: var(--cs-modes-dark-colors-text-inverse);
3174
+ }
3175
+
3176
+ .dark .sidebar__item--disabled {
3177
+ color: var(--cs-modes-dark-colors-text-muted);
3178
+ }
3179
+
3180
+ /* Sidebar Item Elements */
3181
+ .sidebar__item-icon {
3182
+ width: var(--sidebar-icon-size);
3183
+ height: var(--sidebar-icon-size);
3184
+ margin-right: var(--sidebar-icon-spacing);
3185
+ flex-shrink: 0;
3186
+ }
3187
+
3188
+ .sidebar__item-icon--collapsed {
3189
+ margin-right: 0;
3190
+ }
3191
+
3192
+ .sidebar__item-label {
3193
+ flex: 1;
3194
+ white-space: nowrap;
3195
+ overflow: hidden;
3196
+ text-overflow: ellipsis;
3197
+ }
3198
+
3199
+ .sidebar__item-label--collapsed {
3200
+ display: none;
3201
+ }
3202
+
3203
+ .sidebar__item-badge {
3204
+ margin-left: var(--sidebar-badge-spacing);
3205
+ flex-shrink: 0;
3206
+ }
3207
+
3208
+ .sidebar__item-badge--collapsed {
3209
+ display: none;
3210
+ }
3211
+
3212
+ .sidebar__item-description {
3213
+ display: block;
3214
+ font-size: var(--cs-fonts-primary-sizes-xs);
3215
+ color: var(--sidebar-color-muted);
3216
+ margin-top: var(--cs-spacing-scale-xs);
3217
+ white-space: nowrap;
3218
+ overflow: hidden;
3219
+ text-overflow: ellipsis;
3220
+ }
3221
+
3222
+ /* Dark mode automatically handled by CSS variables */
3223
+ .dark .sidebar__item-description {
3224
+ color: var(--cs-modes-dark-colors-text-muted);
3225
+ }
3226
+
3227
+ .sidebar__item-description--collapsed {
3228
+ display: none;
3229
+ }
3230
+
3231
+ /* Sidebar Item with Children */
3232
+ .sidebar__item--has-children {
3233
+ position: relative;
3234
+ }
3235
+
3236
+ .sidebar__item--has-children::after {
3237
+ content: '';
3238
+ width: var(--cs-spacing-scale-sm);
3239
+ height: var(--cs-spacing-scale-sm);
3240
+ border-right: var(--cs-border-width-focus) solid currentColor;
3241
+ border-bottom: var(--cs-border-width-focus) solid currentColor;
3242
+ transform: rotate(-45deg);
3243
+ margin-left: auto;
3244
+ transition: var(--sidebar-transition);
3245
+ }
3246
+
3247
+ .sidebar__item--has-children--collapsed::after {
3248
+ display: none;
3249
+ }
3250
+
3251
+ .sidebar__item--has-children--expanded::after {
3252
+ transform: rotate(45deg);
3253
+ }
3254
+
3255
+ /* Sidebar Submenu */
3256
+ .sidebar__submenu {
3257
+ background-color: var(--cs-colors-surface-surface);
3258
+ border-left: var(--sidebar-border-width) solid var(--cs-colors-border);
3259
+ margin-left: var(--cs-spacing-scale-md);
3260
+ overflow: hidden;
3261
+ transition: var(--sidebar-transition);
3262
+ max-height: 0;
3263
+ }
3264
+
3265
+ /* Dark mode automatically handled by CSS variables */
3266
+ .dark .sidebar__submenu {
3267
+ background-color: var(--cs-modes-dark-colors-surface-surface);
3268
+ border-left-color: var(--cs-modes-dark-colors-border);
3269
+ }
3270
+
3271
+ .sidebar__submenu--expanded {
3272
+ max-height: calc(var(--cs-spacing-scale-6xl) * 8.333);
3273
+ }
3274
+
3275
+ .sidebar__submenu--collapsed {
3276
+ display: none;
3277
+ }
3278
+
3279
+ /* Sidebar Divider */
3280
+ .sidebar__divider {
3281
+ height: var(--sidebar-border-width);
3282
+ background-color: var(--cs-colors-border);
3283
+ margin: var(--cs-spacing-scale-sm) var(--sidebar-padding-x);
3284
+ }
3285
+
3286
+ /* Dark mode automatically handled by CSS variables */
3287
+ .dark .sidebar__divider {
3288
+ background-color: var(--cs-modes-dark-colors-border);
3289
+ }
3290
+
3291
+ .sidebar__divider--collapsed {
3292
+ margin: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
3293
+ }
3294
+
3295
+ /* Sidebar Footer */
3296
+ .sidebar__footer {
3297
+ padding: var(--cs-spacing-scale-sm) var(--sidebar-padding-x);
3298
+ border-top: var(--sidebar-border-width) solid var(--cs-colors-border);
3299
+ background-color: var(--cs-colors-surface-surface);
3300
+ font-size: var(--cs-fonts-primary-sizes-xs);
3301
+ color: var(--sidebar-color-muted);
3302
+ white-space: nowrap;
3303
+ overflow: hidden;
3304
+ }
3305
+
3306
+ /* Dark mode automatically handled by CSS variables */
3307
+ .dark .sidebar__footer {
3308
+ border-top-color: var(--cs-modes-dark-colors-border);
3309
+ background-color: var(--cs-modes-dark-colors-surface-surface);
3310
+ color: var(--cs-modes-dark-colors-text-muted);
3311
+ }
3312
+
3313
+ .sidebar__footer--collapsed {
3314
+ display: none;
3315
+ }
3316
+
3317
+ /* Sidebar Overlay (Mobile) */
3318
+ .sidebar__overlay {
3319
+ position: fixed;
3320
+ top: 0;
3321
+ left: 0;
3322
+ right: 0;
3323
+ bottom: 0;
3324
+ background-color: rgba(0, 0, 0, var(--cs-colors-alpha-medium));
3325
+ z-index: calc(var(--sidebar-z-index) - 1);
3326
+ opacity: 0;
3327
+ visibility: hidden;
3328
+ transition: var(--sidebar-transition);
3329
+ }
3330
+
3331
+ /* Dark mode automatically handled by CSS variables */
3332
+ .dark .sidebar__overlay {
3333
+ background-color: rgba(0, 0, 0, var(--cs-colors-alpha-high));
3334
+ }
3335
+
3336
+ .sidebar__overlay--visible {
3337
+ opacity: 1;
3338
+ visibility: visible;
3339
+ }
3340
+
3341
+ /* Sidebar Responsive Behavior */
3342
+ @media (max-width: var(--cs-breakpoints-tablet)) {
3343
+ .sidebar {
3344
+ transform: translateX(-100%);
3345
+ }
3346
+
3347
+ .sidebar--open {
3348
+ transform: translateX(0);
3349
+ }
3350
+
3351
+ .sidebar__overlay--visible {
3352
+ display: block;
3353
+ }
3354
+ }
3355
+
3356
+ @media (max-width: var(--cs-breakpoints-mobile)) {
3357
+ .sidebar {
3358
+ width: 100%;
3359
+ font-size: var(--sidebar-mobile-font-size, var(--cs-fonts-primary-sizes-xs));
3360
+ padding: var(--sidebar-mobile-padding-y, var(--cs-spacing-scale-xs)) var(--sidebar-mobile-padding-x, var(--cs-spacing-scale-sm));
3361
+ }
3362
+
3363
+ .sidebar__header {
3364
+ min-height: calc(var(--cs-spacing-scale-2xl) + var(--cs-spacing-scale-lg));
3365
+ }
3366
+
3367
+ .sidebar__logo-text {
3368
+ font-size: var(--cs-fonts-primary-sizes-base);
3369
+ }
3370
+ }
3371
+
3372
+ /* Container Queries for Adaptive Layouts */
3373
+ @container (min-width: var(--cs-breakpoints-tablet)) {
3374
+ .sidebar {
3375
+ font-size: var(--sidebar-container-font-size, var(--cs-fonts-primary-sizes-sm));
3376
+ }
3377
+ }
3378
+
3379
+ /* Sidebar Focus Management */
3380
+ .sidebar__item:focus-visible {
3381
+ outline: var(--sidebar-focus-ring-width) solid var(--sidebar-focus-ring-color);
3382
+ outline-offset: var(--sidebar-focus-ring-offset);
3383
+ }
3384
+
3385
+ /* Sidebar Accessibility */
3386
+ .sidebar[role="navigation"] {
3387
+ /* Ensure proper navigation role styling */
3388
+ }
3389
+
3390
+ .sidebar__item[role="menuitem"] {
3391
+ /* Ensure proper menuitem role styling */
3392
+ }
3393
+
3394
+ .sidebar__item[aria-expanded="true"]::after {
3395
+ transform: rotate(45deg);
3396
+ }
3397
+
3398
+ /* High Contrast Mode Support */
3399
+ @media (prefers-contrast: high) {
3400
+ .sidebar {
3401
+ border-width: var(--sidebar-high-contrast-border-width);
3402
+ }
3403
+
3404
+ .sidebar__item {
3405
+ border-width: var(--sidebar-high-contrast-border-width);
3406
+ }
3407
+
3408
+ .sidebar__submenu {
3409
+ border-left-width: var(--sidebar-high-contrast-border-width);
3410
+ }
3411
+ }
3412
+
3413
+ /* Reduced Motion Support */
3414
+ @media (prefers-reduced-motion: reduce) {
3415
+ .sidebar {
3416
+ transition: none;
3417
+ }
3418
+
3419
+ .sidebar__item {
3420
+ transition: none;
3421
+ }
3422
+
3423
+ .sidebar__item[tabindex]:hover,
3424
+ .sidebar__item[role="button"]:hover,
3425
+ .sidebar__item[role="link"]:hover {
3426
+ transform: none;
3427
+ }
3428
+
3429
+ .sidebar--collapsed {
3430
+ animation: none;
3431
+ }
3432
+
3433
+ .sidebar--mobile {
3434
+ animation: none;
3435
+ }
3436
+
3437
+ .sidebar--mobile.sidebar--open {
3438
+ animation: none;
3439
+ }
3440
+ }
3441
+
3442
+ /* Sidebar Interactive States - Following Gold Standard Pattern */
3443
+ .sidebar__item[tabindex]:hover,
3444
+ .sidebar__item[role="button"]:hover,
3445
+ .sidebar__item[role="link"]:hover {
3446
+ transform: var(--sidebar-hover-transform, translateX(4px));
3447
+ box-shadow: var(--sidebar-hover-shadow, var(--cs-shadows-md));
3448
+ }
3449
+
3450
+ .sidebar__item[tabindex]:active,
3451
+ .sidebar__item[role="button"]:active,
3452
+ .sidebar__item[role="link"]:active {
3453
+ transform: var(--sidebar-active-transform, translateX(0));
3454
+ box-shadow: var(--sidebar-active-shadow, var(--cs-shadows-sm));
3455
+ }
3456
+
3457
+ /* Sidebar Animation */
3458
+ .sidebar__item {
3459
+ transform: translateZ(0);
3460
+ backface-visibility: hidden;
3461
+ }
3462
+
3463
+ .sidebar__item:hover {
3464
+ transform: translateX(var(--cs-spacing-scale-xs));
3465
+ }
3466
+
3467
+ .sidebar__item:active {
3468
+ transform: translateX(0);
3469
+ }
3470
+
3471
+ /* Sidebar Collapse Animation */
3472
+ .sidebar {
3473
+ transform-origin: left center;
3474
+ }
3475
+
3476
+ .sidebar--collapsed {
3477
+ animation: sidebarCollapse var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease-out);
3478
+ }
3479
+
3480
+ @keyframes sidebarCollapse {
3481
+ from {
3482
+ width: var(--sidebar-width);
3483
+ }
3484
+ to {
3485
+ width: var(--sidebar-width-collapsed);
3486
+ }
3487
+ }
3488
+
3489
+ /* Sidebar Mobile Slide Animation */
3490
+ .sidebar--mobile {
3491
+ animation: sidebarSlideOut var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease-out);
3492
+ }
3493
+
3494
+ .sidebar--mobile.sidebar--open {
3495
+ animation: sidebarSlideIn var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease-out);
3496
+ }
3497
+
3498
+ @keyframes sidebarSlideIn {
3499
+ from {
3500
+ transform: translateX(-100%);
3501
+ }
3502
+ to {
3503
+ transform: translateX(0);
3504
+ }
3505
+ }
3506
+
3507
+ @keyframes sidebarSlideOut {
3508
+ from {
3509
+ transform: translateX(0);
3510
+ }
3511
+ to {
3512
+ transform: translateX(-100%);
3513
+ }
3514
+ }
3515
+
3516
+ /* Storybook Showcase Styles - Following Gold Standard Pattern */
3517
+ /* Sidebar Showcase Layout */
3518
+ .sidebar-showcase {
3519
+ display: flex;
3520
+ flex-wrap: wrap;
3521
+ gap: var(--sidebar-showcase-gap, var(--cs-spacing-scale-md));
3522
+ align-items: center;
3523
+ }
3524
+
3525
+ /* Sidebar Variant Showcase */
3526
+ .sidebar-variant-showcase {
3527
+ display: flex;
3528
+ flex-direction: column;
3529
+ gap: var(--sidebar-variant-showcase-gap, var(--cs-spacing-scale-md));
3530
+ }
3531
+
3532
+ .sidebar-variant-section {
3533
+ display: flex;
3534
+ flex-direction: column;
3535
+ gap: var(--sidebar-variant-section-gap, var(--cs-spacing-scale-sm));
3536
+ }
3537
+
3538
+ .sidebar-variant-title {
3539
+ font-size: var(--sidebar-variant-title-size, var(--cs-fonts-primary-sizes-lg));
3540
+ font-weight: var(--sidebar-variant-title-weight, var(--cs-fonts-primary-weights-semibold));
3541
+ margin-bottom: var(--cs-spacing-scale-sm);
3542
+ color: var(--cs-colors-text-primary);
3543
+ }
3544
+
3545
+ .sidebar-variant-grid {
3546
+ display: flex;
3547
+ flex-wrap: wrap;
3548
+ gap: var(--sidebar-variant-grid-gap, var(--cs-spacing-scale-sm));
3549
+ }
3550
+
3551
+ .sidebar-variant-description {
3552
+ font-size: var(--sidebar-variant-description-size, var(--cs-fonts-primary-sizes-sm));
3553
+ color: var(--sidebar-variant-description-color, var(--cs-colors-text-muted));
3554
+ }
3555
+
3556
+ /* Sidebar State Showcase */
3557
+ .sidebar-state-showcase {
3558
+ display: flex;
3559
+ flex-direction: column;
3560
+ gap: var(--sidebar-state-showcase-gap, var(--cs-spacing-scale-md));
3561
+ }
3562
+
3563
+ .sidebar-state-grid {
3564
+ display: flex;
3565
+ flex-wrap: wrap;
3566
+ gap: var(--cs-spacing-scale-sm);
3567
+ }
3568
+
3569
+ .sidebar-state-description {
3570
+ font-size: var(--sidebar-state-description-size, var(--cs-fonts-primary-sizes-sm));
3571
+ color: var(--sidebar-state-description-color, var(--cs-colors-text-muted));
3572
+ }
3573
+
3574
+ /* Sidebar Interactive Showcase */
3575
+ .sidebar-interactive-showcase {
3576
+ display: flex;
3577
+ flex-direction: column;
3578
+ gap: var(--cs-spacing-scale-md);
3579
+ }
3580
+
3581
+ .sidebar-interactive-grid {
3582
+ display: flex;
3583
+ flex-wrap: wrap;
3584
+ gap: var(--cs-spacing-scale-sm);
3585
+ }
3586
+
3587
+ .sidebar-interactive-description {
3588
+ font-size: var(--cs-fonts-primary-sizes-sm);
3589
+ color: var(--cs-colors-text-muted);
3590
+ }
3591
+
3592
+ /* Sidebar Responsive Showcase */
3593
+ .sidebar-responsive-showcase {
3594
+ display: flex;
3595
+ flex-direction: column;
3596
+ gap: var(--sidebar-responsive-showcase-gap, var(--cs-spacing-scale-md));
3597
+ }
3598
+
3599
+ .sidebar-responsive-description {
3600
+ font-size: var(--sidebar-responsive-description-size, var(--cs-fonts-primary-sizes-sm));
3601
+ color: var(--sidebar-responsive-description-color, var(--cs-colors-text-muted));
3602
+ margin-bottom: var(--cs-spacing-scale-sm);
3603
+ }
3604
+
3605
+ .sidebar-responsive-grid {
3606
+ display: grid;
3607
+ grid-template-columns: 1fr;
3608
+ gap: var(--sidebar-responsive-grid-gap, var(--cs-spacing-scale-md));
3609
+ width: 100%;
3610
+ max-width: var(--cs-spacing-scale-6xl);
3611
+ }
3612
+
3613
+ .sidebar-responsive-column {
3614
+ display: flex;
3615
+ flex-direction: column;
3616
+ gap: var(--sidebar-responsive-column-gap, var(--cs-spacing-scale-sm));
3617
+ }
3618
+
3619
+ .sidebar-responsive-title {
3620
+ font-size: var(--sidebar-responsive-title-size, var(--cs-fonts-primary-sizes-md));
3621
+ font-weight: var(--sidebar-responsive-title-weight, var(--cs-fonts-primary-weights-medium));
3622
+ margin-bottom: var(--cs-spacing-scale-sm);
3623
+ color: var(--cs-colors-text-primary);
3624
+ }
3625
+
3626
+ /* Responsive Design for Showcase */
3627
+ @media (min-width: var(--cs-breakpoints-tablet)) {
3628
+ .sidebar-responsive-grid {
3629
+ grid-template-columns: 1fr 1fr !important;
3630
+ }
3631
+ }
3632
+
3633
+
3634
+ /* src/styles/components/navigation/stepper.css */
3635
+ /* Stepper Component Styles */
3636
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
3637
+
3638
+ /* Stepper Component CSS Variables */
3639
+ :root {
3640
+ /* Stepper Base Variables */
3641
+ --stepper-font-size: var(--cs-fonts-primary-sizes-sm);
3642
+ --stepper-font-weight: var(--cs-fonts-primary-weights-medium);
3643
+ --stepper-line-height: var(--cs-fonts-primary-line-heights-tight);
3644
+ --stepper-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
3645
+
3646
+ /* Stepper Color Variables */
3647
+ --stepper-color-primary: var(--cs-colors-text-primary);
3648
+ --stepper-color-secondary: var(--cs-colors-text-secondary);
3649
+ --stepper-color-muted: var(--cs-colors-text-muted);
3650
+ --stepper-color-disabled: var(--cs-colors-text-muted);
3651
+ --stepper-color-active: var(--cs-colors-primary-500);
3652
+ --stepper-color-completed: var(--cs-colors-semantic-success);
3653
+ --stepper-color-error: var(--cs-colors-semantic-error);
3654
+ --stepper-color-hover: var(--cs-colors-interactive-hover);
3655
+
3656
+ /* Stepper Spacing Variables */
3657
+ --stepper-padding-y: var(--cs-spacing-scale-sm);
3658
+ --stepper-padding-x: var(--cs-spacing-scale-md);
3659
+ --stepper-margin: var(--cs-spacing-scale-xs);
3660
+ --stepper-item-spacing: var(--cs-spacing-scale-md);
3661
+ --stepper-group-spacing: var(--cs-spacing-scale-lg);
3662
+
3663
+ /* Stepper State Variables */
3664
+ --stepper-transition: var(--cs-transitions-properties-colors);
3665
+ --stepper-border-radius: var(--cs-border-radius-full);
3666
+ --stepper-border-width: var(--cs-border-width-sm);
3667
+ --stepper-shadow: var(--cs-shadows-sm);
3668
+
3669
+ /* Stepper Focus Variables */
3670
+ --stepper-focus-ring-width: var(--cs-accessibility-focus-ring-width);
3671
+ --stepper-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
3672
+ --stepper-focus-ring-color: var(--cs-accessibility-focus-ring-color);
3673
+ --stepper-focus-outline-offset: var(--cs-accessibility-outline-offset);
3674
+
3675
+ /* Stepper Icon Variables */
3676
+ --stepper-icon-size: var(--cs-fonts-primary-sizes-2xl);
3677
+ --stepper-icon-spacing: var(--cs-spacing-scale-sm);
3678
+ --stepper-badge-spacing: var(--cs-spacing-scale-sm);
3679
+
3680
+ /* Stepper Layout Variables */
3681
+ --stepper-connector-width: var(--cs-border-width-normal);
3682
+ --stepper-connector-length: var(--cs-spacing-scale-2xl);
3683
+ --stepper-step-size: var(--cs-spacing-scale-2xl);
3684
+ --stepper-step-size-small: var(--cs-spacing-scale-xl);
3685
+ --stepper-step-size-large: var(--cs-spacing-scale-2xl);
3686
+ }
3687
+
3688
+ /* Base Stepper Styles */
3689
+ .stepper {
3690
+ display: flex;
3691
+ flex-direction: column;
3692
+ gap: var(--stepper-group-spacing);
3693
+ font-family: var(--cs-fonts-primary-family), var(--cs-fonts-primary-fallbacks);
3694
+ font-size: var(--stepper-font-size);
3695
+ font-weight: var(--stepper-font-weight);
3696
+ line-height: var(--stepper-line-height);
3697
+ letter-spacing: var(--stepper-letter-spacing);
3698
+ }
3699
+
3700
+ /* Stepper Orientation Variants */
3701
+ .stepper--horizontal {
3702
+ flex-direction: row;
3703
+ align-items: flex-start;
3704
+ }
3705
+
3706
+ .stepper--vertical {
3707
+ flex-direction: column;
3708
+ }
3709
+
3710
+ /* Stepper Container */
3711
+ .stepper__container {
3712
+ display: flex;
3713
+ flex-direction: column;
3714
+ gap: var(--stepper-group-spacing);
3715
+ }
3716
+
3717
+ .stepper__container--horizontal {
3718
+ flex-direction: row;
3719
+ align-items: flex-start;
3720
+ width: 100%;
3721
+ }
3722
+
3723
+ /* Stepper Step */
3724
+ .stepper__step {
3725
+ display: flex;
3726
+ flex-direction: column;
3727
+ align-items: center;
3728
+ gap: var(--stepper-item-spacing);
3729
+ position: relative;
3730
+ flex: 1;
3731
+ }
3732
+
3733
+ .stepper__step--horizontal {
3734
+ flex-direction: column;
3735
+ text-align: center;
3736
+ }
3737
+
3738
+ .stepper__step--vertical {
3739
+ flex-direction: row;
3740
+ text-align: left;
3741
+ align-items: flex-start;
3742
+ }
3743
+
3744
+ /* Stepper Step Number */
3745
+ .stepper__step-number {
3746
+ display: flex;
3747
+ align-items: center;
3748
+ justify-content: center;
3749
+ width: var(--stepper-step-size);
3750
+ height: var(--stepper-step-size);
3751
+ border-radius: var(--stepper-border-radius);
3752
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
3753
+ background-color: var(--cs-colors-surface-background);
3754
+ color: var(--stepper-color-muted);
3755
+ font-weight: var(--cs-fonts-primary-weights-semibold);
3756
+ font-size: var(--cs-fonts-primary-sizes-sm);
3757
+ transition: var(--stepper-transition);
3758
+ position: relative;
3759
+ z-index: 2;
3760
+ }
3761
+
3762
+ .stepper__step-number--small {
3763
+ width: var(--stepper-step-size-small);
3764
+ height: var(--stepper-step-size-small);
3765
+ font-size: var(--cs-fonts-primary-sizes-xs);
3766
+ }
3767
+
3768
+ .stepper__step-number--large {
3769
+ width: var(--stepper-step-size-large);
3770
+ height: var(--stepper-step-size-large);
3771
+ font-size: var(--cs-fonts-primary-sizes-base);
3772
+ }
3773
+
3774
+ /* Stepper Step States */
3775
+ .stepper__step-number--active {
3776
+ background-color: var(--stepper-color-active);
3777
+ border-color: var(--stepper-color-active);
3778
+ color: var(--cs-colors-surface-background);
3779
+ box-shadow: var(--stepper-shadow);
3780
+ }
3781
+
3782
+ .stepper__step-number--completed {
3783
+ background-color: var(--stepper-color-completed);
3784
+ border-color: var(--stepper-color-completed);
3785
+ color: var(--cs-colors-surface-background);
3786
+ }
3787
+
3788
+ .stepper__step-number--error {
3789
+ background-color: var(--stepper-color-error);
3790
+ border-color: var(--stepper-color-error);
3791
+ color: var(--cs-colors-surface-background);
3792
+ }
3793
+
3794
+ .stepper__step-number--disabled {
3795
+ background-color: var(--cs-colors-surface-surface);
3796
+ border-color: var(--cs-colors-border);
3797
+ color: var(--stepper-color-disabled);
3798
+ cursor: not-allowed;
3799
+ opacity: var(--cs-accessibility-disabled-opacity);
3800
+ }
3801
+
3802
+ /* Stepper Step Icon */
3803
+ .stepper__step-icon {
3804
+ width: var(--stepper-icon-size);
3805
+ height: var(--stepper-icon-size);
3806
+ color: inherit;
3807
+ }
3808
+
3809
+ .stepper__step-icon--small {
3810
+ width: calc(var(--stepper-icon-size) * 0.75);
3811
+ height: calc(var(--stepper-icon-size) * 0.75);
3812
+ }
3813
+
3814
+ .stepper__step-icon--large {
3815
+ width: calc(var(--stepper-icon-size) * 1.25);
3816
+ height: calc(var(--stepper-icon-size) * 1.25);
3817
+ }
3818
+
3819
+ /* Stepper Step Label */
3820
+ .stepper__step-label {
3821
+ font-weight: var(--cs-fonts-primary-weights-medium);
3822
+ color: var(--stepper-color-primary);
3823
+ text-align: center;
3824
+ white-space: nowrap;
3825
+ overflow: hidden;
3826
+ text-overflow: ellipsis;
3827
+ max-width: 100%;
3828
+ }
3829
+
3830
+ .stepper__step-label--active {
3831
+ color: var(--stepper-color-active);
3832
+ font-weight: var(--cs-fonts-primary-weights-semibold);
3833
+ }
3834
+
3835
+ .stepper__step-label--completed {
3836
+ color: var(--stepper-color-completed);
3837
+ }
3838
+
3839
+ .stepper__step-label--error {
3840
+ color: var(--stepper-color-error);
3841
+ }
3842
+
3843
+ .stepper__step-label--disabled {
3844
+ color: var(--stepper-color-disabled);
3845
+ }
3846
+
3847
+ /* Stepper Step Description */
3848
+ .stepper__step-description {
3849
+ font-size: var(--cs-fonts-primary-sizes-xs);
3850
+ color: var(--stepper-color-muted);
3851
+ text-align: center;
3852
+ white-space: nowrap;
3853
+ overflow: hidden;
3854
+ text-overflow: ellipsis;
3855
+ max-width: 100%;
3856
+ }
3857
+
3858
+ .stepper__step-description--active {
3859
+ color: var(--stepper-color-active);
3860
+ }
3861
+
3862
+ .stepper__step-description--completed {
3863
+ color: var(--stepper-color-completed);
3864
+ }
3865
+
3866
+ .stepper__step-description--error {
3867
+ color: var(--stepper-color-error);
3868
+ }
3869
+
3870
+ .stepper__step-description--disabled {
3871
+ color: var(--stepper-color-disabled);
3872
+ }
3873
+
3874
+ /* Stepper Connector */
3875
+ .stepper__connector {
3876
+ position: absolute;
3877
+ background-color: var(--cs-colors-border);
3878
+ transition: var(--stepper-transition);
3879
+ }
3880
+
3881
+ .stepper__connector--horizontal {
3882
+ top: calc(var(--stepper-step-size) / 2);
3883
+ left: calc(100% + var(--stepper-item-spacing) / 2);
3884
+ width: var(--stepper-connector-length);
3885
+ height: var(--stepper-connector-width);
3886
+ transform: translateY(-50%);
3887
+ }
3888
+
3889
+ .stepper__connector--vertical {
3890
+ top: calc(var(--stepper-step-size) + var(--stepper-item-spacing));
3891
+ left: calc(var(--stepper-step-size) / 2);
3892
+ width: var(--stepper-connector-width);
3893
+ height: var(--stepper-connector-length);
3894
+ transform: translateX(-50%);
3895
+ }
3896
+
3897
+ .stepper__connector--completed {
3898
+ background-color: var(--stepper-color-completed);
3899
+ }
3900
+
3901
+ .stepper__connector--active {
3902
+ background-color: var(--stepper-color-active);
3903
+ }
3904
+
3905
+ .stepper__connector--error {
3906
+ background-color: var(--stepper-color-error);
3907
+ }
3908
+
3909
+ /* Stepper Step Content */
3910
+ .stepper__step-content {
3911
+ margin-top: var(--stepper-item-spacing);
3912
+ padding: var(--stepper-padding-y) var(--stepper-padding-x);
3913
+ background-color: var(--cs-colors-surface-surface);
3914
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
3915
+ border-radius: var(--cs-border-radius-lg);
3916
+ box-shadow: var(--stepper-shadow);
3917
+ width: 100%;
3918
+ }
3919
+
3920
+ .stepper__step-content--active {
3921
+ border-color: var(--stepper-color-active);
3922
+ box-shadow: var(--cs-shadows-md);
3923
+ }
3924
+
3925
+ .stepper__step-content--completed {
3926
+ border-color: var(--stepper-color-completed);
3927
+ }
3928
+
3929
+ .stepper__step-content--error {
3930
+ border-color: var(--stepper-color-error);
3931
+ }
3932
+
3933
+ /* Stepper Navigation */
3934
+ .stepper__navigation {
3935
+ display: flex;
3936
+ justify-content: space-between;
3937
+ align-items: center;
3938
+ gap: var(--stepper-item-spacing);
3939
+ margin-top: var(--stepper-group-spacing);
3940
+ padding: var(--stepper-padding-y) var(--stepper-padding-x);
3941
+ background-color: var(--cs-colors-surface-surface);
3942
+ border-top: var(--stepper-border-width) solid var(--cs-colors-border);
3943
+ }
3944
+
3945
+ .stepper__navigation--horizontal {
3946
+ flex-direction: row;
3947
+ }
3948
+
3949
+ .stepper__navigation--vertical {
3950
+ flex-direction: column;
3951
+ align-items: stretch;
3952
+ }
3953
+
3954
+ /* Stepper Navigation Buttons */
3955
+ .stepper__nav-button {
3956
+ display: inline-flex;
3957
+ align-items: center;
3958
+ gap: var(--stepper-icon-spacing);
3959
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
3960
+ font-size: var(--stepper-font-size);
3961
+ font-weight: var(--stepper-font-weight);
3962
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
3963
+ border-radius: var(--cs-border-radius-md);
3964
+ background-color: var(--cs-colors-surface-background);
3965
+ color: var(--stepper-color-primary);
3966
+ cursor: pointer;
3967
+ transition: var(--stepper-transition);
3968
+ text-decoration: none;
3969
+ }
3970
+
3971
+ .stepper__nav-button:hover {
3972
+ background-color: var(--stepper-color-hover);
3973
+ border-color: var(--cs-colors-primary-300);
3974
+ }
3975
+
3976
+ .stepper__nav-button:focus {
3977
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
3978
+ outline-offset: var(--stepper-focus-ring-offset);
3979
+ }
3980
+
3981
+ .stepper__nav-button:focus:not(:focus-visible) {
3982
+ outline: none;
3983
+ }
3984
+
3985
+ .stepper__nav-button--primary {
3986
+ background-color: var(--stepper-color-active);
3987
+ border-color: var(--stepper-color-active);
3988
+ color: var(--cs-colors-surface-background);
3989
+ }
3990
+
3991
+ .stepper__nav-button--primary:hover {
3992
+ background-color: var(--cs-colors-primary-600);
3993
+ border-color: var(--cs-colors-primary-600);
3994
+ }
3995
+
3996
+ .stepper__nav-button--disabled {
3997
+ background-color: var(--cs-colors-surface-surface);
3998
+ border-color: var(--cs-colors-border);
3999
+ color: var(--stepper-color-disabled);
4000
+ cursor: not-allowed;
4001
+ opacity: var(--cs-accessibility-disabled-opacity);
4002
+ }
4003
+
4004
+ .stepper__nav-button--disabled:hover {
4005
+ background-color: var(--cs-colors-surface-surface);
4006
+ border-color: var(--cs-colors-border);
4007
+ }
4008
+
4009
+ /* Stepper Navigation Button Elements */
4010
+ .stepper__nav-button-icon {
4011
+ width: var(--stepper-icon-size);
4012
+ height: var(--stepper-icon-size);
4013
+ }
4014
+
4015
+ .stepper__nav-button-text {
4016
+ white-space: nowrap;
4017
+ }
4018
+
4019
+ /* Stepper Progress */
4020
+ .stepper__progress {
4021
+ width: 100%;
4022
+ height: var(--stepper-connector-width);
4023
+ background-color: var(--cs-colors-border);
4024
+ border-radius: var(--stepper-border-radius);
4025
+ overflow: hidden;
4026
+ margin: var(--stepper-item-spacing) 0;
4027
+ }
4028
+
4029
+ .stepper__progress-bar {
4030
+ height: 100%;
4031
+ background-color: var(--stepper-color-active);
4032
+ transition: var(--stepper-transition);
4033
+ border-radius: var(--stepper-border-radius);
4034
+ }
4035
+
4036
+ .stepper__progress-bar--completed {
4037
+ background-color: var(--stepper-color-completed);
4038
+ }
4039
+
4040
+ .stepper__progress-bar--error {
4041
+ background-color: var(--stepper-color-error);
4042
+ }
4043
+
4044
+ /* Stepper Responsive Behavior */
4045
+ @media (max-width: var(--cs-breakpoints-tablet)) {
4046
+ .stepper--horizontal {
4047
+ flex-direction: column;
4048
+ }
4049
+
4050
+ .stepper__container--horizontal {
4051
+ flex-direction: column;
4052
+ }
4053
+
4054
+ .stepper__step--horizontal {
4055
+ text-align: left;
4056
+ align-items: flex-start;
4057
+ }
4058
+
4059
+ .stepper__connector--horizontal {
4060
+ display: none;
4061
+ }
4062
+
4063
+ .stepper__navigation--horizontal {
4064
+ flex-direction: column;
4065
+ align-items: stretch;
4066
+ }
4067
+ }
4068
+
4069
+ @media (max-width: var(--cs-breakpoints-mobile)) {
4070
+ .stepper__step-number {
4071
+ width: var(--stepper-step-size-small);
4072
+ height: var(--stepper-step-size-small);
4073
+ }
4074
+
4075
+ .stepper__step-content {
4076
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
4077
+ }
4078
+
4079
+ .stepper__navigation {
4080
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
4081
+ }
4082
+ }
4083
+
4084
+ /* Stepper Focus Management */
4085
+ .stepper__step-number:focus-visible {
4086
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
4087
+ outline-offset: var(--stepper-focus-ring-offset);
4088
+ }
4089
+
4090
+ .stepper__nav-button:focus-visible {
4091
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
4092
+ outline-offset: var(--stepper-focus-ring-offset);
4093
+ }
4094
+
4095
+ /* Stepper Accessibility */
4096
+ .stepper[role="navigation"] {
4097
+ /* Ensure proper navigation role styling */
4098
+ }
4099
+
4100
+ .stepper__step[aria-current="step"] .stepper__step-number {
4101
+ /* Ensure proper current step styling */
4102
+ }
4103
+
4104
+ .stepper__step[aria-disabled="true"] .stepper__step-number {
4105
+ cursor: not-allowed;
4106
+ opacity: var(--cs-accessibility-disabled-opacity);
4107
+ }
4108
+
4109
+ /* Stepper Animation */
4110
+ .stepper__step-number {
4111
+ transform: translateZ(0);
4112
+ backface-visibility: hidden;
4113
+ }
4114
+
4115
+ .stepper__step-number:hover {
4116
+ transform: scale(1.05);
4117
+ }
4118
+
4119
+ .stepper__step-number:active {
4120
+ transform: scale(1);
4121
+ }
4122
+
4123
+ /* Stepper Progress Animation */
4124
+ .stepper__progress-bar {
4125
+ transform-origin: left center;
4126
+ animation: stepperProgress 0.5s ease-out;
4127
+ }
4128
+
4129
+ @keyframes stepperProgress {
4130
+ from {
4131
+ transform: scaleX(0);
4132
+ }
4133
+ to {
4134
+ transform: scaleX(1);
4135
+ }
4136
+ }
4137
+
4138
+ /* Stepper Step Completion Animation */
4139
+ .stepper__step-number--completed {
4140
+ animation: stepperComplete 0.3s ease-out;
4141
+ }
4142
+
4143
+ @keyframes stepperComplete {
4144
+ 0% {
4145
+ transform: scale(1);
4146
+ }
4147
+ 50% {
4148
+ transform: scale(1.1);
4149
+ }
4150
+ 100% {
4151
+ transform: scale(1);
4152
+ }
4153
+ }
4154
+
4155
+
4156
+ /* src/styles/components/navigation/tabs.css */
4157
+ /* Tabs Component Styles */
4158
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
4159
+
4160
+ /* Tabs Component CSS Variables */
4161
+ :root {
4162
+ /* Tabs Base Variables */
4163
+ --tabs-font-size: var(--cs-fonts-primary-sizes-sm);
4164
+ --tabs-font-weight: var(--cs-fonts-primary-weights-medium);
4165
+ --tabs-line-height: var(--cs-fonts-primary-line-heights-tight);
4166
+ --tabs-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
4167
+
4168
+ /* Tabs Color Variables */
4169
+ --tabs-color-primary: var(--cs-colors-text-primary);
4170
+ --tabs-color-secondary: var(--cs-colors-text-secondary);
4171
+ --tabs-color-muted: var(--cs-colors-text-muted);
4172
+ --tabs-color-disabled: var(--cs-colors-text-muted);
4173
+ --tabs-color-active: var(--cs-colors-primary-500);
4174
+ --tabs-color-hover: var(--cs-colors-interactive-hover);
4175
+
4176
+ /* Tabs Spacing Variables */
4177
+ --tabs-padding-y: var(--cs-spacing-scale-xs);
4178
+ --tabs-padding-x: var(--cs-spacing-scale-sm);
4179
+ --tabs-margin: var(--cs-spacing-scale-xs);
4180
+ --tabs-item-spacing: var(--cs-spacing-scale-xs);
4181
+ --tabs-content-spacing: var(--cs-spacing-scale-md);
4182
+
4183
+ /* Tabs State Variables */
4184
+ --tabs-transition: var(--cs-transitions-properties-colors);
4185
+ --tabs-border-radius: var(--cs-border-radius-lg);
4186
+ --tabs-border-width: var(--cs-border-width-sm);
4187
+ --tabs-shadow: var(--cs-shadows-sm);
4188
+
4189
+ /* Tabs Focus Variables */
4190
+ --tabs-focus-ring-width: var(--cs-accessibility-focus-ring-width);
4191
+ --tabs-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
4192
+ --tabs-focus-ring-color: var(--cs-accessibility-focus-ring-color);
4193
+ --tabs-focus-outline-offset: var(--cs-accessibility-outline-offset);
4194
+
4195
+ /* Tabs Icon Variables */
4196
+ --tabs-icon-size: var(--cs-fonts-primary-sizes-md);
4197
+ --tabs-icon-spacing: var(--cs-spacing-scale-sm);
4198
+ --tabs-badge-spacing: var(--cs-spacing-scale-sm);
4199
+
4200
+ /* Tabs Size Variables */
4201
+ --tabs-size-sm-padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
4202
+ --tabs-size-sm-font: var(--cs-fonts-primary-sizes-sm);
4203
+ --tabs-size-md-padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
4204
+ --tabs-size-md-font: var(--cs-fonts-primary-sizes-sm);
4205
+ --tabs-size-lg-padding: var(--cs-spacing-scale-md) var(--cs-spacing-scale-lg);
4206
+ --tabs-size-lg-font: var(--cs-fonts-primary-sizes-base);
4207
+ }
4208
+
4209
+ /* Base Tabs Styles */
4210
+ .tabs {
4211
+ display: flex;
4212
+ flex-direction: column;
4213
+ }
4214
+
4215
+ .tabs--vertical {
4216
+ flex-direction: row;
4217
+ }
4218
+
4219
+ /* Tabs List Container */
4220
+ .tabs__list {
4221
+ display: flex;
4222
+ border-radius: var(--tabs-border-radius);
4223
+ border: var(--tabs-border-width) solid transparent;
4224
+ box-shadow: var(--tabs-shadow);
4225
+ transition: var(--tabs-transition);
4226
+ }
4227
+
4228
+ .tabs__list--vertical {
4229
+ flex-direction: column;
4230
+ border-right: var(--tabs-border-width) solid transparent;
4231
+ }
4232
+
4233
+ .tabs__list--full-width {
4234
+ width: 100%;
4235
+ }
4236
+
4237
+ .tabs__list--centered {
4238
+ justify-content: center;
4239
+ }
4240
+
4241
+ /* Tabs List Theme Variants */
4242
+ .tabs__list--semantic {
4243
+ background-color: var(--cs-colors-surface-surface);
4244
+ border-color: var(--cs-colors-border);
4245
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
4246
+ }
4247
+
4248
+ /* Dark mode automatically handled by CSS variables */
4249
+ .dark .tabs__list--semantic {
4250
+ /* CSS variables automatically switch to dark mode values */
4251
+ }
4252
+
4253
+ /* Tabs Item Styles */
4254
+ .tabs__item {
4255
+ display: inline-flex;
4256
+ align-items: center;
4257
+ justify-content: center;
4258
+ font-size: var(--tabs-font-size);
4259
+ font-weight: var(--tabs-font-weight);
4260
+ line-height: var(--tabs-line-height);
4261
+ letter-spacing: var(--tabs-letter-spacing);
4262
+ padding: var(--tabs-padding-y) var(--tabs-padding-x);
4263
+ border-radius: var(--cs-border-radius-md);
4264
+ transition: var(--tabs-transition);
4265
+ cursor: pointer;
4266
+ border: var(--tabs-border-width) solid transparent;
4267
+ text-decoration: none;
4268
+ color: inherit;
4269
+ background: none;
4270
+ position: relative;
4271
+ }
4272
+
4273
+ .tabs__item--vertical {
4274
+ width: 100%;
4275
+ justify-content: flex-start;
4276
+ border-right: var(--tabs-border-width) solid transparent;
4277
+ }
4278
+
4279
+ .tabs__item--full-width {
4280
+ flex: 1;
4281
+ }
4282
+
4283
+ /* Tabs Item Sizes */
4284
+ .tabs__item--small {
4285
+ padding: var(--tabs-size-sm-padding);
4286
+ font-size: var(--tabs-size-sm-font);
4287
+ }
4288
+
4289
+ .tabs__item--medium {
4290
+ padding: var(--tabs-size-md-padding);
4291
+ font-size: var(--tabs-size-md-font);
4292
+ }
4293
+
4294
+ .tabs__item--large {
4295
+ padding: var(--tabs-size-lg-padding);
4296
+ font-size: var(--tabs-size-lg-font);
4297
+ }
4298
+
4299
+ /* Tabs Item States */
4300
+ .tabs__item:hover {
4301
+ background-color: var(--tabs-color-hover);
4302
+ }
4303
+
4304
+ .tabs__item:focus {
4305
+ outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring-color);
4306
+ outline-offset: var(--tabs-focus-ring-offset);
4307
+ }
4308
+
4309
+ .tabs__item:focus:not(:focus-visible) {
4310
+ outline: none;
4311
+ }
4312
+
4313
+ .tabs__item--disabled {
4314
+ color: var(--tabs-color-disabled);
4315
+ cursor: not-allowed;
4316
+ opacity: var(--cs-accessibility-disabled-opacity);
4317
+ }
4318
+
4319
+ .tabs__item--disabled:hover {
4320
+ background-color: transparent;
4321
+ }
4322
+
4323
+ /* Tabs Item Variants */
4324
+ .tabs__item--default {
4325
+ color: var(--tabs-color-secondary);
4326
+ }
4327
+
4328
+ .tabs__item--default:hover {
4329
+ color: var(--tabs-color-primary);
4330
+ background-color: var(--tabs-color-hover);
4331
+ }
4332
+
4333
+ .tabs__item--default.tabs__item--active {
4334
+ color: var(--cs-colors-surface-background);
4335
+ background-color: var(--tabs-color-active);
4336
+ box-shadow: var(--cs-shadows-md);
4337
+ }
4338
+
4339
+ .tabs__item--pills {
4340
+ color: var(--tabs-color-secondary);
4341
+ }
4342
+
4343
+ .tabs__item--pills:hover {
4344
+ color: var(--tabs-color-primary);
4345
+ background-color: var(--tabs-color-hover);
4346
+ }
4347
+
4348
+ .tabs__item--pills.tabs__item--active {
4349
+ color: var(--cs-colors-surface-background);
4350
+ background-color: var(--tabs-color-active);
4351
+ box-shadow: var(--cs-shadows-md);
4352
+ }
4353
+
4354
+ .tabs__item--underline {
4355
+ color: var(--tabs-color-secondary);
4356
+ border-bottom: var(--tabs-border-width) solid transparent;
4357
+ }
4358
+
4359
+ .tabs__item--underline:hover {
4360
+ color: var(--tabs-color-primary);
4361
+ border-bottom-color: var(--cs-colors-border);
4362
+ }
4363
+
4364
+ .tabs__item--underline.tabs__item--active {
4365
+ color: var(--tabs-color-active);
4366
+ border-bottom-color: var(--tabs-color-active);
4367
+ }
4368
+
4369
+ .tabs__item--cards {
4370
+ color: var(--tabs-color-secondary);
4371
+ border: var(--tabs-border-width) solid transparent;
4372
+ }
4373
+
4374
+ .tabs__item--cards:hover {
4375
+ color: var(--tabs-color-primary);
4376
+ background-color: var(--tabs-color-hover);
4377
+ border-color: var(--cs-colors-border);
4378
+ }
4379
+
4380
+ .tabs__item--cards.tabs__item--active {
4381
+ color: var(--tabs-color-active);
4382
+ background-color: var(--cs-colors-primary-50);
4383
+ border-color: var(--cs-colors-primary-200);
4384
+ box-shadow: var(--cs-shadows-sm);
4385
+ }
4386
+
4387
+ .tabs__item--minimal {
4388
+ color: var(--tabs-color-secondary);
4389
+ }
4390
+
4391
+ .tabs__item--minimal:hover {
4392
+ color: var(--tabs-color-primary);
4393
+ }
4394
+
4395
+ .tabs__item--minimal.tabs__item--active {
4396
+ color: var(--tabs-color-active);
4397
+ font-weight: var(--cs-fonts-primary-weights-semibold);
4398
+ }
4399
+
4400
+ /* Tabs Item Theme Variants */
4401
+ .tabs__item--stan-design.tabs__item--active {
4402
+ background-color: var(--cs-colors-text-primary);
4403
+ color: var(--cs-colors-surface-background);
4404
+ }
4405
+
4406
+ .tabs__item--enterprise.tabs__item--active {
4407
+ background-color: var(--cs-colors-primary-600);
4408
+ color: var(--cs-colors-surface-background);
4409
+ }
4410
+
4411
+ .tabs__item--harvey.tabs__item--active {
4412
+ background-color: var(--cs-colors-accent);
4413
+ color: var(--cs-colors-surface-background);
4414
+ }
4415
+
4416
+ /* Tabs Item Elements */
4417
+ .tabs__item-icon {
4418
+ width: var(--tabs-icon-size);
4419
+ height: var(--tabs-icon-size);
4420
+ margin-right: var(--tabs-icon-spacing);
4421
+ }
4422
+
4423
+ .tabs__item-label {
4424
+ white-space: nowrap;
4425
+ overflow: hidden;
4426
+ text-overflow: ellipsis;
4427
+ }
4428
+
4429
+ .tabs__item-badge {
4430
+ margin-left: var(--tabs-badge-spacing);
4431
+ }
4432
+
4433
+ /* Tabs Close Button */
4434
+ .tabs__close-button {
4435
+ margin-left: var(--tabs-icon-spacing);
4436
+ padding: var(--cs-spacing-scale-xs);
4437
+ border-radius: var(--cs-border-radius-full);
4438
+ transition: var(--tabs-transition);
4439
+ cursor: pointer;
4440
+ border: none;
4441
+ background: none;
4442
+ color: inherit;
4443
+ display: flex;
4444
+ align-items: center;
4445
+ justify-content: center;
4446
+ }
4447
+
4448
+ .tabs__close-button:hover {
4449
+ background-color: rgba(0, 0, 0, var(--cs-colors-alpha-low));
4450
+ }
4451
+
4452
+ .tabs__close-icon {
4453
+ width: calc(var(--cs-spacing-scale-sm) + var(--cs-spacing-scale-xs));
4454
+ height: calc(var(--cs-spacing-scale-sm) + var(--cs-spacing-scale-xs));
4455
+ }
4456
+
4457
+ /* Tabs Add Button */
4458
+ .tabs__add-button {
4459
+ display: inline-flex;
4460
+ align-items: center;
4461
+ justify-content: center;
4462
+ padding: var(--tabs-padding-y) var(--tabs-padding-x);
4463
+ color: var(--tabs-color-muted);
4464
+ transition: var(--tabs-transition);
4465
+ cursor: pointer;
4466
+ border: none;
4467
+ background: none;
4468
+ border-radius: var(--cs-border-radius-md);
4469
+ }
4470
+
4471
+ .tabs__add-button:hover {
4472
+ color: var(--tabs-color-secondary);
4473
+ background-color: var(--tabs-color-hover);
4474
+ }
4475
+
4476
+ .tabs__add-icon {
4477
+ width: var(--tabs-icon-size);
4478
+ height: var(--tabs-icon-size);
4479
+ }
4480
+
4481
+ /* Tabs Content Area */
4482
+ .tabs__content {
4483
+ margin-top: var(--tabs-content-spacing);
4484
+ }
4485
+
4486
+ .tabs__content--vertical {
4487
+ margin-top: 0;
4488
+ margin-left: var(--tabs-content-spacing);
4489
+ flex: 1;
4490
+ }
4491
+
4492
+ /* Tabs Loading State */
4493
+ .tabs__loading {
4494
+ display: flex;
4495
+ align-items: center;
4496
+ justify-content: center;
4497
+ padding: var(--cs-spacing-scale-2xl);
4498
+ }
4499
+
4500
+ .tabs__loading-spinner {
4501
+ width: var(--cs-spacing-scale-2xl);
4502
+ height: var(--cs-spacing-scale-2xl);
4503
+ border: var(--tabs-border-width) solid var(--cs-colors-border);
4504
+ border-top-color: var(--tabs-color-active);
4505
+ border-radius: var(--cs-border-radius-full);
4506
+ animation: spin 1s linear infinite;
4507
+ }
4508
+
4509
+ @keyframes spin {
4510
+ to {
4511
+ transform: rotate(360deg);
4512
+ }
4513
+ }
4514
+
4515
+ /* Tabs Focus Management */
4516
+ .tabs__item:focus-visible {
4517
+ outline: var(--tabs-focus-ring-width) solid var(--tabs-focus-ring-color);
4518
+ outline-offset: var(--tabs-focus-ring-offset);
4519
+ }
4520
+
4521
+ /* Tabs Accessibility */
4522
+ .tabs__item[aria-selected="true"] {
4523
+ font-weight: var(--cs-fonts-primary-weights-semibold);
4524
+ }
4525
+
4526
+ .tabs__item[role="tab"] {
4527
+ /* Ensure proper tab role styling */
4528
+ }
4529
+
4530
+ /* Tabs Animation */
4531
+ .tabs__item {
4532
+ transform: translateZ(0);
4533
+ backface-visibility: hidden;
4534
+ }
4535
+
4536
+ .tabs__item:hover {
4537
+ transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
4538
+ }
4539
+
4540
+ .tabs__item:active {
4541
+ transform: translateY(0);
4542
+ }
4543
+
4544
+ /* Tabs Responsive Behavior */
4545
+ @media (max-width: var(--cs-breakpoints-mobile)) {
4546
+ .tabs__list--vertical {
4547
+ flex-direction: row;
4548
+ overflow-x: auto;
4549
+ }
4550
+
4551
+ .tabs__item--vertical {
4552
+ width: auto;
4553
+ min-width: max-content;
4554
+ }
4555
+
4556
+ .tabs__content--vertical {
4557
+ margin-left: var(--cs-spacing-scale-none);
4558
+ margin-top: var(--tabs-content-spacing);
4559
+ }
4560
+ }
4561
+
4562
+
4563
+
580
4564
  /* ===== COMPILED STYLES (Tailwind + Components) ===== */
581
4565
  @layer reset,base,themes,components,utilities,overrides;@layer reset;@layer themes;@layer overrides;@font-face{font-family:Clash Display;src:url(/fonts/clash-display/ClashDisplay-Variable.woff2) format("woff2-variations");font-weight:300 700;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/clash-display/ClashDisplay-Variable.woff2) format("woff2-variations");font-weight:300 700;font-display:swap}:root{--cs-breakpoints-mobile: 640px;--cs-breakpoints-tablet: 768px;--cs-breakpoints-desktop: 1024px;--cs-breakpoints-wide: 1280px;--cs-breakpoints-ultra: 1536px;@custom-media --bp-mobile (min-width: 640px);@custom-media --bp-tablet (min-width: 768px);@custom-media --bp-desktop (min-width: 1024px);@custom-media --bp-wide (min-width: 1280px);@custom-media --bp-ultra (min-width: 1536px);--cs-fonts-primary-family: Clash Display;--cs-fonts-primary-fallbacks: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--cs-fonts-primary-weights: 300, 400, 500, 600, 700;--cs-fonts-primary-display: swap;--cs-fonts-primary-source-type: custom;--cs-fonts-primary-source-files-woff2: /fonts/clash-display/ClashDisplay-Variable.woff2;--cs-fonts-primary-sizes-xs: .75rem;--cs-fonts-primary-sizes-sm: .875rem;--cs-fonts-primary-sizes-md: 1rem;--cs-fonts-primary-sizes-lg: 1.125rem;--cs-fonts-primary-sizes-xl: 1.25rem;--cs-fonts-primary-sizes-2xl: 1.5rem;--cs-fonts-primary-sizes-3xl: 1.875rem;--cs-fonts-primary-sizes-4xl: 2.25rem;--cs-fonts-primary-sizes-5xl: 3rem;--cs-fonts-primary-sizes-6xl: 3.75rem;--cs-fonts-primary-line-heights-tight: 1.25;--cs-fonts-primary-line-heights-normal: 1.5;--cs-fonts-primary-line-heights-relaxed: 1.75;--cs-fonts-primary-line-heights-loose: 2;--cs-fonts-primary-letter-spacing-tight: -.025em;--cs-fonts-primary-letter-spacing-normal: 0em;--cs-fonts-primary-letter-spacing-wide: .025em;--cs-fonts-primary-letter-spacing-wider: .05em;--cs-fonts-primary-letter-spacing-widest: .1em;--cs-fonts-secondary-family: Clash Display;--cs-fonts-secondary-fallbacks: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--cs-fonts-secondary-weights: 300, 400, 500, 600, 700;--cs-fonts-secondary-display: swap;--cs-fonts-secondary-source-type: custom;--cs-fonts-secondary-source-files-woff2: /fonts/clash-display/ClashDisplay-Variable.woff2;--cs-fonts-secondary-sizes-xs: .75rem;--cs-fonts-secondary-sizes-sm: .875rem;--cs-fonts-secondary-sizes-md: 1rem;--cs-fonts-secondary-sizes-lg: 1.125rem;--cs-fonts-secondary-sizes-xl: 1.25rem;--cs-fonts-secondary-sizes-2xl: 1.5rem;--cs-fonts-secondary-sizes-3xl: 1.875rem;--cs-fonts-secondary-sizes-4xl: 2.25rem;--cs-fonts-secondary-sizes-5xl: 3rem;--cs-fonts-secondary-sizes-6xl: 3.75rem;--cs-fonts-secondary-line-heights-tight: 1.25;--cs-fonts-secondary-line-heights-normal: 1.5;--cs-fonts-secondary-line-heights-relaxed: 1.75;--cs-fonts-secondary-line-heights-loose: 2;--cs-fonts-secondary-letter-spacing-tight: -.025em;--cs-fonts-secondary-letter-spacing-normal: 0em;--cs-fonts-secondary-letter-spacing-wide: .025em;--cs-fonts-secondary-letter-spacing-wider: .05em;--cs-fonts-secondary-letter-spacing-widest: .1em;--cs-fonts-display-family: Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--cs-fonts-display-weights: 400, 500, 600, 700;--cs-fonts-display-sizes-xs: 1.5rem;--cs-fonts-display-sizes-sm: 1.875rem;--cs-fonts-display-sizes-md: 2.25rem;--cs-fonts-display-sizes-lg: 3rem;--cs-fonts-display-sizes-xl: 3.75rem;--cs-fonts-display-sizes-2xl: 4.5rem;--cs-fonts-display-sizes-3xl: 6rem;--cs-fonts-display-sizes-4xl: 7.5rem;--cs-fonts-display-sizes-5xl: 9rem;--cs-fonts-display-sizes-6xl: 12rem;--cs-fonts-display-line-heights-tight: 1.1;--cs-fonts-display-line-heights-normal: 1.2;--cs-fonts-display-line-heights-relaxed: 1.3;--cs-fonts-display-line-heights-loose: 1.4;--cs-fonts-display-letter-spacing-tight: -.02em;--cs-fonts-display-letter-spacing-normal: -.01em;--cs-fonts-display-letter-spacing-wide: 0em;--cs-fonts-display-letter-spacing-wider: .01em;--cs-fonts-display-letter-spacing-widest: .02em;--cs-fonts-body-family: Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--cs-fonts-body-weights: 300, 400, 500;--cs-fonts-body-sizes-xs: .75rem;--cs-fonts-body-sizes-sm: .875rem;--cs-fonts-body-sizes-md: 1rem;--cs-fonts-body-sizes-lg: 1.125rem;--cs-fonts-body-sizes-xl: 1.25rem;--cs-fonts-body-sizes-2xl: 1.5rem;--cs-fonts-body-sizes-3xl: 1.875rem;--cs-fonts-body-sizes-4xl: 2.25rem;--cs-fonts-body-sizes-5xl: 3rem;--cs-fonts-body-sizes-6xl: 3.75rem;--cs-fonts-body-line-heights-tight: 1.4;--cs-fonts-body-line-heights-normal: 1.6;--cs-fonts-body-line-heights-relaxed: 1.8;--cs-fonts-body-line-heights-loose: 2;--cs-fonts-body-letter-spacing-tight: -.01em;--cs-fonts-body-letter-spacing-normal: 0em;--cs-fonts-body-letter-spacing-wide: .01em;--cs-fonts-body-letter-spacing-wider: .02em;--cs-fonts-body-letter-spacing-widest: .05em;--cs-fonts-mono-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--cs-fonts-mono-weights: 400, 500, 600;--cs-fonts-mono-sizes-xs: .75rem;--cs-fonts-mono-sizes-sm: .875rem;--cs-fonts-mono-sizes-md: 1rem;--cs-fonts-mono-sizes-lg: 1.125rem;--cs-fonts-mono-sizes-xl: 1.25rem;--cs-fonts-mono-sizes-2xl: 1.5rem;--cs-fonts-mono-sizes-3xl: 1.875rem;--cs-fonts-mono-sizes-4xl: 2.25rem;--cs-fonts-mono-sizes-5xl: 3rem;--cs-fonts-mono-sizes-6xl: 3.75rem;--cs-fonts-mono-line-heights-tight: 1.25;--cs-fonts-mono-line-heights-normal: 1.5;--cs-fonts-mono-line-heights-relaxed: 1.75;--cs-fonts-mono-line-heights-loose: 2;--cs-fonts-mono-letter-spacing-tight: -.025em;--cs-fonts-mono-letter-spacing-normal: 0em;--cs-fonts-mono-letter-spacing-wide: .025em;--cs-fonts-mono-letter-spacing-wider: .05em;--cs-fonts-mono-letter-spacing-widest: .1em;--cs-colors-primary-50: #eff6ff;--cs-colors-primary-100: #dbeafe;--cs-colors-primary-200: #bfdbfe;--cs-colors-primary-300: #93c5fd;--cs-colors-primary-400: #60a5fa;--cs-colors-primary-500: #2563eb;--cs-colors-primary-600: #1d4ed8;--cs-colors-primary-700: #1e40af;--cs-colors-primary-800: #1e3a8a;--cs-colors-primary-900: #1e3a8a;--cs-colors-primary-500-rgb: 37, 99, 235;--cs-colors-primary-600-rgb: 29, 78, 216;--cs-colors-primary-700-rgb: 30, 64, 175;--cs-colors-secondary-50: #f9fafb;--cs-colors-secondary-100: #f3f4f6;--cs-colors-secondary-200: #e5e7eb;--cs-colors-secondary-300: #d1d5db;--cs-colors-secondary-400: #9ca3af;--cs-colors-secondary-500: #6b7280;--cs-colors-secondary-600: #4b5563;--cs-colors-secondary-700: #374151;--cs-colors-secondary-800: #1f2937;--cs-colors-secondary-900: #111827;--cs-colors-semantic-success: #059669;--cs-colors-semantic-warning: #f59e0b;--cs-colors-semantic-error: #ef4444;--cs-colors-semantic-error-dark: #dc2626;--cs-colors-semantic-info: #2563eb;--cs-colors-semantic-success-rgb: 5, 150, 105;--cs-colors-semantic-warning-rgb: 245, 158, 11;--cs-colors-semantic-error-rgb: 239, 68, 68;--cs-colors-semantic-error-dark-rgb: 220, 38, 38;--cs-colors-semantic-info-rgb: 37, 99, 235;--cs-colors-neutral-50: #fafafa;--cs-colors-neutral-100: #f5f5f5;--cs-colors-neutral-200: #e5e5e5;--cs-colors-neutral-300: #d4d4d4;--cs-colors-neutral-400: #a3a3a3;--cs-colors-neutral-500: #737373;--cs-colors-neutral-600: #525252;--cs-colors-neutral-700: #404040;--cs-colors-neutral-800: #262626;--cs-colors-neutral-900: #171717;--cs-colors-surface-background: #ffffff;--cs-colors-surface-surface: #f3f4f6;--cs-colors-surface-border: #e5e7eb;--cs-colors-surface-divider: #d1d5db;--cs-colors-text-muted: #6b7280;--cs-colors-text-inverse: #ffffff;--cs-colors-text-on-primary: #ffffff;--cs-colors-text-on-secondary: #ffffff;--cs-colors-text-on-surface: #111827;--cs-colors-interactive-hover: #f8fafc;--cs-colors-interactive-active: #f3f4f6;--cs-colors-interactive-focus: #2563eb;--cs-colors-interactive-disabled: #d1d5db;--cs-colors-accent: #6366f1;--cs-colors-bg-primary: #ffffff;--cs-colors-bg-secondary: #f3f4f6;--cs-colors-surface-bg: #f3f4f6;--cs-colors-primary-hover: #1d4ed8;--cs-colors-primary-active: #1e40af;--cs-colors-accent-rgb: 99, 102, 241;--cs-colors-border: #e5e7eb;--cs-colors-border-transparent: transparent;--cs-colors-text-primary: #111827;--cs-colors-text-secondary: #4b5563;--cs-navigation-layout: horizontal;--cs-navigation-style: enhanced;--cs-navigation-behavior: static;--cs-navigation-responsive: mobile-first;--cs-navigation-animations-duration-fast: .15s;--cs-navigation-animations-duration-normal: .2s;--cs-navigation-animations-duration-slow: .3s;--cs-navigation-animations-duration-instant: 0s;--cs-navigation-animations-easing-linear: linear;--cs-navigation-animations-easing-ease: ease;--cs-navigation-animations-easing-ease-in: ease-in;--cs-navigation-animations-easing-ease-out: ease-out;--cs-navigation-animations-easing-ease-in-out: ease-in-out;--cs-navigation-animations-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--cs-navigation-animations-easing-elastic: cubic-bezier(.175, .885, .32, 1.275);--cs-navigation-animations-stagger-delay: .05s;--cs-navigation-animations-stagger-direction: forward;--cs-navigation-animations-transitions-enter: .2s ease-out;--cs-navigation-animations-transitions-exit: .15s ease-in;--cs-navigation-animations-transitions-move: .2s ease;--cs-navigation-animations-transitions-resize: .1s ease;--cs-navigation-spacing-container: 1rem;--cs-navigation-spacing-item: .5rem;--cs-navigation-spacing-group: 1rem;--cs-navigation-spacing-divider: .25rem;--cs-navigation-spacing-icon: .5rem;--cs-navigation-spacing-text: .25rem;--cs-navigation-spacing-padding-horizontal: 1rem;--cs-navigation-spacing-padding-vertical: .75rem;--cs-navigation-spacing-padding-top: .75rem;--cs-navigation-spacing-padding-right: 1rem;--cs-navigation-spacing-padding-bottom: .75rem;--cs-navigation-spacing-padding-left: 1rem;--cs-navigation-spacing-margin-horizontal: .5rem;--cs-navigation-spacing-margin-vertical: .25rem;--cs-navigation-spacing-margin-top: .25rem;--cs-navigation-spacing-margin-right: .5rem;--cs-navigation-spacing-margin-bottom: .25rem;--cs-navigation-spacing-margin-left: .5rem;--cs-navigation-colors-background-primary: #ffffff;--cs-navigation-colors-background-secondary: #f3f4f6;--cs-navigation-colors-background-tertiary: #f8fafc;--cs-navigation-colors-background-light: #ffffff;--cs-navigation-colors-background-dark: #0f172a;--cs-navigation-colors-background-contrast: #000000;--cs-navigation-colors-text-primary: #111827;--cs-navigation-colors-text-secondary: #4b5563;--cs-navigation-colors-text-tertiary: #6b7280;--cs-navigation-colors-text-light: #9ca3af;--cs-navigation-colors-text-dark: #0f172a;--cs-navigation-colors-text-contrast: #ffffff;--cs-navigation-colors-border-primary: #e5e7eb;--cs-navigation-colors-border-secondary: #d1d5db;--cs-navigation-colors-border-tertiary: #9ca3af;--cs-navigation-colors-border-light: #f8fafc;--cs-navigation-colors-border-dark: #475569;--cs-navigation-colors-border-contrast: #000000;--cs-navigation-colors-accent-primary: #2563eb;--cs-navigation-colors-accent-secondary: #6366f1;--cs-navigation-colors-accent-tertiary: #8b5cf6;--cs-navigation-colors-accent-light: #dbeafe;--cs-navigation-colors-accent-dark: #1d4ed8;--cs-navigation-colors-accent-contrast: #ffffff;--cs-navigation-colors-hover-primary: #f8fafc;--cs-navigation-colors-hover-secondary: #f3f4f6;--cs-navigation-colors-hover-tertiary: #d1d5db;--cs-navigation-colors-hover-light: #ffffff;--cs-navigation-colors-hover-dark: #1e293b;--cs-navigation-colors-hover-contrast: #f8fafc;--cs-navigation-colors-active-primary: #2563eb;--cs-navigation-colors-active-secondary: #6366f1;--cs-navigation-colors-active-tertiary: #8b5cf6;--cs-navigation-colors-active-light: #dbeafe;--cs-navigation-colors-active-dark: #1d4ed8;--cs-navigation-colors-active-contrast: #ffffff;--cs-navigation-colors-disabled-primary: #f8fafc;--cs-navigation-colors-disabled-secondary: #f3f4f6;--cs-navigation-colors-disabled-tertiary: #d1d5db;--cs-navigation-colors-disabled-light: #f3f4f6;--cs-navigation-colors-disabled-dark: #475569;--cs-navigation-colors-disabled-contrast: #94a3b8;--cs-navigation-colors-focus-primary: #2563eb;--cs-navigation-colors-focus-secondary: #6366f1;--cs-navigation-colors-focus-tertiary: #8b5cf6;--cs-navigation-colors-focus-light: #dbeafe;--cs-navigation-colors-focus-dark: #1d4ed8;--cs-navigation-colors-focus-contrast: #ffffff;--cs-navigation-typography-font-family: Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--cs-navigation-typography-font-size-xs: .75rem;--cs-navigation-typography-font-size-sm: .875rem;--cs-navigation-typography-font-size-base: 1rem;--cs-navigation-typography-font-size-lg: 1.125rem;--cs-navigation-typography-font-size-xl: 1.25rem;--cs-navigation-typography-font-size-2xl: 1.5rem;--cs-navigation-typography-font-weight-light: 300;--cs-navigation-typography-font-weight-normal: 400;--cs-navigation-typography-font-weight-medium: 500;--cs-navigation-typography-font-weight-semibold: 600;--cs-navigation-typography-font-weight-bold: 700;--cs-navigation-typography-line-height-tight: 1.25;--cs-navigation-typography-line-height-normal: 1.5;--cs-navigation-typography-line-height-relaxed: 1.75;--cs-navigation-typography-line-height-loose: 2;--cs-navigation-typography-letter-spacing-tight: -.025em;--cs-navigation-typography-letter-spacing-normal: 0;--cs-navigation-typography-letter-spacing-wide: .025em;--cs-navigation-typography-letter-spacing-wider: .05em;--cs-navigation-breakpoints-mobile: 640px;--cs-navigation-breakpoints-tablet: 768px;--cs-navigation-breakpoints-desktop: 1024px;--cs-navigation-breakpoints-wide: 1280px;--cs-navigation-breakpoints-ultra: 1536px;--cs-spacing-scale-xs: .25rem;--cs-spacing-scale-sm: .5rem;--cs-spacing-scale-md: 1rem;--cs-spacing-scale-lg: 1.5rem;--cs-spacing-scale-xl: 2rem;--cs-spacing-scale-2xl: 3rem;--cs-spacing-scale-3xl: 4rem;--cs-spacing-scale-4xl: 6rem;--cs-spacing-scale-5xl: 8rem;--cs-spacing-scale-6xl: 12rem;--cs-spacing-component-button-padding: .75rem 1.5rem;--cs-spacing-component-button-margin: .5rem;--cs-spacing-component-button-gap: .5rem;--cs-spacing-component-input-padding: .75rem 1rem;--cs-spacing-component-input-margin: .5rem;--cs-spacing-component-input-gap: .5rem;--cs-spacing-component-card-padding: 1.5rem;--cs-spacing-component-card-margin: 1rem;--cs-spacing-component-card-gap: 1rem;--cs-spacing-layout-page: 2rem;--cs-spacing-layout-section: 3rem;--cs-spacing-layout-container: 1rem;--cs-spacing-layout-grid: 1.5rem;--cs-shadows-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--cs-shadows-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--cs-shadows-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--cs-shadows-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--cs-shadows-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--cs-shadows-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--cs-shadows-none: 0 0 #0000;--cs-transitions-duration-fast: .15s;--cs-transitions-duration-normal: .2s;--cs-transitions-duration-slow: .3s;--cs-transitions-easing-linear: linear;--cs-transitions-easing-ease: ease;--cs-transitions-easing-ease-in: ease-in;--cs-transitions-easing-ease-out: ease-out;--cs-transitions-easing-ease-in-out: ease-in-out;--cs-transitions-properties-colors: .2s ease;--cs-transitions-properties-transform: .2s ease;--cs-transitions-properties-opacity: .15s ease;--cs-transitions-properties-shadow: .2s ease;--cs-border-radius-none: 0;--cs-border-radius-sm: .125rem;--cs-border-radius-md: .375rem;--cs-border-radius-lg: .5rem;--cs-border-radius-xl: .75rem;--cs-border-radius-2xl: 1rem;--cs-border-radius-full: 9999px;--cs-border-width-none: 0;--cs-border-width-thin: .5px;--cs-border-width-normal: 1px;--cs-border-width-focus: 2px;--cs-border-width-thick: 3px;--cs-border-width-extra-thick: 4px;--cs-animation-duration-fast: .3s;--cs-animation-duration-normal: .2s;--cs-animation-duration-slow: 1.5s;--cs-animation-easing-linear: linear;--cs-animation-easing-ease: ease;--cs-animation-easing-ease-in: ease-in;--cs-animation-easing-ease-out: ease-out;--cs-animation-easing-ease-in-out: ease-in-out;--cs-animation-transforms-hover-y: -2px;--cs-animation-transforms-offset-y: 10px;--cs-animation-transforms-scale: 1.02;--cs-accessibility-focus-ring-width: 3px;--cs-accessibility-focus-ring-offset: 2px;--cs-accessibility-focus-ring-color: var(--cs-colors-interactive-focus);--cs-accessibility-outline-offset: 2px;--cs-accessibility-high-contrast-border-width: 2px;--cs-accessibility-high-contrast-outline-width: 4px;--cs-accessibility-disabled-cursor: not-allowed;--cs-accessibility-disabled-opacity: .7;--cs-print-border-color: #000;--cs-print-text-color: #000;--cs-print-text-secondary-color: #333;--cs-print-background-color: transparent;--cs-container-query-small: 400px;--cs-container-query-medium: 600px;--cs-container-query-large: 800px;--cs-container-width-small: 16rem;--cs-container-width-medium: 20rem;--cs-container-width-large: 24rem;--cs-container-width-xl: 32rem;--cs-container-width-full: 100%;--cs-shimmer-alpha: .2;--cs-shimmer-color: rgba(255, 255, 255, .2);--cs-meta-name: Stan Design;--cs-meta-description: Modern, professional design system with Clash Display typography and comprehensive theming;--cs-meta-author: Stan Design Team;--cs-meta-version: 10;--cs-meta-category: brand;--cs-meta-tags: modern, professional, typography, clash-display, comprehensive;--cs-meta-preview: /themes/stan-design-preview.png;--cs-meta-created-at: 2024-12-01T00:00:00Z;--cs-meta-updated-at: 2024-12-01T00:00:00Z;--cs-modes-dark-colors-primary-50: #1e3a8a;--cs-modes-dark-colors-primary-100: #1e40af;--cs-modes-dark-colors-primary-200: #1d4ed8;--cs-modes-dark-colors-primary-300: #2563eb;--cs-modes-dark-colors-primary-400: #3b82f6;--cs-modes-dark-colors-primary-500: #60a5fa;--cs-modes-dark-colors-primary-600: #93c5fd;--cs-modes-dark-colors-primary-700: #bfdbfe;--cs-modes-dark-colors-primary-800: #dbeafe;--cs-modes-dark-colors-primary-900: #eff6ff;--cs-modes-dark-colors-primary-500-rgb: 96, 165, 250;--cs-modes-dark-colors-primary-600-rgb: 147, 197, 253;--cs-modes-dark-colors-primary-700-rgb: 191, 219, 254;--cs-modes-dark-colors-secondary-50: #111827;--cs-modes-dark-colors-secondary-100: #1f2937;--cs-modes-dark-colors-secondary-200: #374151;--cs-modes-dark-colors-secondary-300: #4b5563;--cs-modes-dark-colors-secondary-400: #6b7280;--cs-modes-dark-colors-secondary-500: #9ca3af;--cs-modes-dark-colors-secondary-600: #d1d5db;--cs-modes-dark-colors-secondary-700: #e5e7eb;--cs-modes-dark-colors-secondary-800: #f3f4f6;--cs-modes-dark-colors-secondary-900: #f9fafb;--cs-modes-dark-colors-semantic-success: #10b981;--cs-modes-dark-colors-semantic-warning: #fbbf24;--cs-modes-dark-colors-semantic-error: #f87171;--cs-modes-dark-colors-semantic-info: #60a5fa;--cs-modes-dark-colors-semantic-success-rgb: 16, 185, 129;--cs-modes-dark-colors-semantic-warning-rgb: 251, 191, 36;--cs-modes-dark-colors-semantic-error-rgb: 248, 113, 113;--cs-modes-dark-colors-semantic-info-rgb: 96, 165, 250;--cs-modes-dark-colors-neutral-50: #171717;--cs-modes-dark-colors-neutral-100: #262626;--cs-modes-dark-colors-neutral-200: #404040;--cs-modes-dark-colors-neutral-300: #525252;--cs-modes-dark-colors-neutral-400: #737373;--cs-modes-dark-colors-neutral-500: #a3a3a3;--cs-modes-dark-colors-neutral-600: #d4d4d4;--cs-modes-dark-colors-neutral-700: #e5e5e5;--cs-modes-dark-colors-neutral-800: #f5f5f5;--cs-modes-dark-colors-neutral-900: #fafafa;--cs-modes-dark-colors-surface-background: #0f172a;--cs-modes-dark-colors-surface-surface: #1e293b;--cs-modes-dark-colors-surface-border: #334155;--cs-modes-dark-colors-surface-divider: #475569;--cs-modes-dark-colors-text-muted: #94a3b8;--cs-modes-dark-colors-text-inverse: #0f172a;--cs-modes-dark-colors-text-on-primary: #0f172a;--cs-modes-dark-colors-text-on-secondary: #0f172a;--cs-modes-dark-colors-text-on-surface: #f8fafc;--cs-modes-dark-colors-interactive-hover: #475569;--cs-modes-dark-colors-interactive-active: #1e293b;--cs-modes-dark-colors-interactive-focus: #3b82f6;--cs-modes-dark-colors-interactive-disabled: #475569;--cs-modes-dark-colors-accent: #8b5cf6;--cs-modes-dark-colors-bg-primary: #0f172a;--cs-modes-dark-colors-bg-secondary: #1e293b;--cs-modes-dark-colors-surface-bg: #1e293b;--cs-modes-dark-colors-primary-hover: #3b82f6;--cs-modes-dark-colors-primary-active: #60a5fa;--cs-modes-dark-colors-accent-rgb: 139, 92, 246;--cs-modes-dark-colors-border: #334155;--cs-modes-dark-colors-text-primary: #f8fafc;--cs-modes-dark-colors-text-secondary: #cbd5e1}.dark{--cs-colors-primary-50: #1e3a8a;--cs-colors-primary-100: #1e40af;--cs-colors-primary-200: #1d4ed8;--cs-colors-primary-300: #2563eb;--cs-colors-primary-400: #3b82f6;--cs-colors-primary-500: #60a5fa;--cs-colors-primary-600: #93c5fd;--cs-colors-primary-700: #bfdbfe;--cs-colors-primary-800: #dbeafe;--cs-colors-primary-900: #eff6ff;--cs-colors-primary-500-rgb: 96, 165, 250;--cs-colors-primary-600-rgb: 147, 197, 253;--cs-colors-primary-700-rgb: 191, 219, 254;--cs-colors-secondary-50: #111827;--cs-colors-secondary-100: #1f2937;--cs-colors-secondary-200: #374151;--cs-colors-secondary-300: #4b5563;--cs-colors-secondary-400: #6b7280;--cs-colors-secondary-500: #9ca3af;--cs-colors-secondary-600: #d1d5db;--cs-colors-secondary-700: #e5e7eb;--cs-colors-secondary-800: #f3f4f6;--cs-colors-secondary-900: #f9fafb;--cs-colors-semantic-success: #10b981;--cs-colors-semantic-warning: #fbbf24;--cs-colors-semantic-error: #f87171;--cs-colors-semantic-info: #60a5fa;--cs-colors-semantic-successRgb: 16, 185, 129;--cs-colors-semantic-warningRgb: 251, 191, 36;--cs-colors-semantic-errorRgb: 248, 113, 113;--cs-colors-semantic-infoRgb: 96, 165, 250;--cs-colors-semantic-success-rgb: 16, 185, 129;--cs-colors-semantic-warning-rgb: 251, 191, 36;--cs-colors-semantic-error-rgb: 248, 113, 113;--cs-colors-semantic-info-rgb: 96, 165, 250;--cs-colors-neutral-50: #171717;--cs-colors-neutral-100: #262626;--cs-colors-neutral-200: #404040;--cs-colors-neutral-300: #525252;--cs-colors-neutral-400: #737373;--cs-colors-neutral-500: #a3a3a3;--cs-colors-neutral-600: #d4d4d4;--cs-colors-neutral-700: #e5e5e5;--cs-colors-neutral-800: #f5f5f5;--cs-colors-neutral-900: #fafafa;--cs-colors-surface-background: #0f172a;--cs-colors-surface-surface: #1e293b;--cs-colors-surface-border: #334155;--cs-colors-surface-divider: #475569;--cs-colors-text-muted: #94a3b8;--cs-colors-text-inverse: #0f172a;--cs-colors-text-onPrimary: #0f172a;--cs-colors-text-onSecondary: #0f172a;--cs-colors-text-onSurface: #f8fafc;--cs-colors-interactive-hover: #475569;--cs-colors-interactive-active: #1e293b;--cs-colors-interactive-focus: #3b82f6;--cs-colors-interactive-disabled: #475569;--cs-colors-accent: #8b5cf6;--cs-colors-bg-primary: #0f172a;--cs-colors-bg-secondary: #1e293b;--cs-colors-surface-bg: #1e293b;--cs-colors-primary-hover: #3b82f6;--cs-colors-primary-active: #60a5fa;--cs-colors-accent-rgb: 139, 92, 246;--cs-colors-border: #334155;--cs-colors-text-primary: #f8fafc;--cs-colors-text-secondary: #cbd5e1}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-6{bottom:-1.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-96{height:24rem}.h-auto{height:auto}.max-h-20{max-height:5rem}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[500px\]{min-height:500px}.min-h-\[56px\]{min-height:56px}.min-h-\[64px\]{min-height:64px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[40px\]{min-width:40px}.min-w-\[44px\]{min-width:44px}.min-w-\[48px\]{min-width:48px}.min-w-\[56px\]{min-width:56px}.min-w-\[64px\]{min-width:64px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\!truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-cs-border{border-color:var(--border-color)}.border-cs-info{border-color:var(--info)}.border-cs-primary{border-color:var(--primary)}.border-cs-warning{border-color:var(--warning)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-muted{border-color:hsl(var(--muted))}.border-orange-200{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-card{background-color:hsl(var(--card))}.bg-cs-border{background-color:var(--border-color)}.bg-cs-error{background-color:var(--error)}.bg-cs-hover-bg{background-color:var(--hover-bg)}.bg-cs-page-bg{background-color:var(--page-bg)}.bg-cs-primary{background-color:var(--primary)}.bg-cs-success{background-color:var(--success)}.bg-cs-surface-bg{background-color:var(--surface-bg)}.bg-cs-warning{background-color:var(--warning)}.bg-current{background-color:currentColor}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-opacity-20{--tw-bg-opacity: .2}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cs-error{--tw-gradient-from: var(--error) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cs-success{--tw-gradient-from: var(--success) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cs-warning{--tw-gradient-from: var(--warning) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to: #faf5ff var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-cs-error{color:var(--error)}.text-cs-primary{color:var(--primary)}.text-cs-success{color:var(--success)}.text-cs-text-primary{color:var(--text-primary)}.text-cs-text-secondary{color:var(--text-secondary)}.text-cs-warning{color:var(--warning)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.text-input{color:hsl(var(--input))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-purple-900{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary{color:hsl(var(--secondary))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow: var(--shadow);--tw-shadow-colored: var(--shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: var(--shadow-2xl);--tw-shadow-colored: var(--shadow-2xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-cs-primary{--tw-ring-color: var(--primary)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.fade-in{--tw-enter-opacity: 0}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}:root{--radius: .5rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 2px);--radius-2xl: calc(var(--radius) + 4px)}:root{--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25)}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--page-bg: #ffffff;--surface-bg: #f3f4f6;--border-color: #e5e7eb;--input-bg: #ffffff;--input-border: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-on-light: #111827;--text-on-dark: #f8fafc;--text-inverse: #f8fafc;--focus-border: #2563eb;--hover-bg: #f8fafc;--button-hover: #1d4ed8;--active-bg: rgba(37, 99, 235, .1);--active-border: #2563eb;--success: #059669;--warning: #F59E0B;--error: #EF4444;--info: #2563eb;--font-sans: "Clash Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-display: "Clash Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-body: "Clash Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}.dark{--primary: #3b82f6;--primary-hover: #2563eb;--page-bg: #0f172a;--surface-bg: #1e293b;--border-color: #334155;--input-bg: #334155;--input-border: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-on-light: #111827;--text-on-dark: #f8fafc;--text-inverse: #f8fafc;--focus-border: #3b82f6;--hover-bg: #475569;--button-hover: #2563eb;--active-bg: rgba(59, 130, 246, .1);--active-border: #3b82f6}.coach-stan-bg{background-color:var(--page-bg)}.coach-stan-surface{background-color:var(--surface-bg)}.coach-stan-primary{background-color:var(--primary)}.coach-stan-primary:hover{background-color:var(--primary-hover)}.coach-stan-border{border-color:var(--border-color)}.coach-stan-text-primary{color:var(--text-primary)}.coach-stan-text-secondary{color:var(--text-secondary)}.coach-stan-text-on-light{color:var(--text-on-light)}.coach-stan-text-on-dark{color:var(--text-on-dark)}.coach-stan-text-inverse{color:var(--text-inverse)}.coach-stan-active{background-color:var(--active-bg)!important;color:var(--primary)!important;border-right:2px solid var(--active-border)!important}.coach-stan-input{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.coach-stan-input:focus{border-color:var(--focus-border)}.coach-stan-input::-moz-placeholder{color:var(--text-secondary)}.coach-stan-input::placeholder{color:var(--text-secondary)}.theme-toggle{position:relative;overflow:hidden}.theme-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,var(--primary),var(--primary-hover));opacity:0;transition:opacity .3s ease}.theme-toggle:hover:before{opacity:.1}.dark .coach-stan-surface{background-color:var(--surface-bg);box-shadow:0 4px 6px -1px #0000004d}.dark .coach-stan-border{border-color:var(--border-color)}.dark .coach-stan-hover-bg{background-color:var(--hover-bg)}.coach-stan-smooth-transition{transform:translateZ(0);backface-visibility:hidden;perspective:1000px;will-change:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.coach-stan-stagger-item{animation:slideInFromLeft .2s ease-out forwards;opacity:0;transform:translate(-20px)}.coach-stan-stagger-item.coach-stan-active{opacity:1!important;transform:translate(0)!important}@keyframes slideInFromLeft{to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.coach-stan-stagger-item{animation:none;opacity:1;transform:translate(0)}[data-radix-dialog-content]{animation:none!important;transform:none!important;transition:opacity .1s ease-out!important}}.coach-stan-focus-enhanced:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.coach-stan-hamburger-transition{transition:transform .2s cubic-bezier(.4,0,.2,1)}.coach-stan-hamburger-transition:hover{transform:scale(1.05)}.coach-stan-form-field{margin-bottom:1.5rem}.coach-stan-form-field:last-child{margin-bottom:0}@media (max-width: 768px){.coach-stan-form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.coach-stan-form-row{display:flex;flex-direction:column;gap:1rem}.coach-stan-form-button{min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.coach-stan-checkbox-container,.coach-stan-radio-container{min-height:44px;display:flex;align-items:center;padding:.5rem;margin:-.5rem;border-radius:.375rem;cursor:pointer}.coach-stan-checkbox-container:hover,.coach-stan-radio-container:hover{background-color:var(--hover-bg)}}@media (min-width: 768px){.coach-stan-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.coach-stan-form-row{display:flex;gap:1.5rem}}.coach-stan-touch-target{min-height:44px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (max-width: 768px){input:focus,textarea:focus,select:focus{transform:scale(1.02);transition:transform .15s ease-out}}.coach-stan-form-message{border-radius:.5rem;margin-top:.5rem}.coach-stan-mobile-form-item{position:relative;margin-bottom:2rem}@media (max-width: 768px){.coach-stan-mobile-validation{position:sticky;top:10px;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffe6;border:1px solid var(--border-color);box-shadow:0 4px 12px #0000001a;animation:slideInFromTop .2s ease-out}.coach-stan-mobile-form-item[data-error=true]{scroll-margin-top:80px;scroll-margin-bottom:40px}.dark .coach-stan-mobile-validation{background-color:#1e293be6;border-color:var(--border-color)}.coach-stan-mobile-validation[role=alert]{margin-bottom:.75rem}.coach-stan-mobile-form-item{margin-bottom:2.5rem;padding:.5rem;border-radius:.75rem;transition:background-color .15s ease-out}.coach-stan-mobile-form-item:focus-within{background-color:var(--hover-bg)}.coach-stan-form-success{animation:successPulse .6s ease-out}.coach-stan-form-error{animation:errorShake .5s ease-out}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.coach-stan-keyboard-visible{position:fixed;width:100%}.coach-stan-mobile-input{font-size:16px;min-height:44px;padding:12px 16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:border-color .15s ease-out,box-shadow .15s ease-out}.coach-stan-mobile-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.coach-stan-gesture-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;z-index:1000;pointer-events:none;opacity:0;animation:gestureFlash .6s ease-out}@keyframes gestureFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.coach-stan-mobile-form-field{position:relative;margin-bottom:24px;padding:8px;border-radius:8px;transition:background-color .15s ease-out}.coach-stan-mobile-form-field:focus-within{background-color:var(--hover-bg)}.coach-stan-mobile-form-field[data-gesture-target=true]{cursor:pointer;touch-action:pan-y}.coach-stan-gesture-hint{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-secondary);opacity:0;transition:opacity .2s ease-out}.coach-stan-mobile-form:focus-within .coach-stan-gesture-hint{opacity:1}.coach-stan-auto-focus-container{scroll-margin-top:100px;scroll-margin-bottom:100px}@media (min-width: 768px) and (max-width: 1024px){.coach-stan-tablet-layout{padding:16px;max-width:100%}.coach-stan-tablet-layout.orientation-portrait{padding:20px 16px}.coach-stan-tablet-layout.orientation-landscape{padding:12px 24px}.coach-stan-tablet-grid{width:100%;transition:grid-template-columns .3s ease}.coach-stan-tablet-sidebar{background:var(--card);border-right:1px solid var(--border);transition:width .3s ease,transform .3s ease;position:relative}.coach-stan-tablet-sidebar.collapsed{width:60px!important;overflow:hidden}.coach-stan-tablet-sidebar .sidebar-toggle{position:absolute;top:12px;right:12px;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease}.coach-stan-tablet-sidebar .sidebar-toggle:hover{background:var(--primary-hover);transform:scale(1.05)}.coach-stan-tablet-sidebar .sidebar-content.collapsed{opacity:0;pointer-events:none}.coach-stan-tablet-stack{width:100%;transition:flex-direction .3s ease}.coach-stan-tablet-stack.stack-vertical{align-items:stretch}.coach-stan-tablet-stack.stack-horizontal{align-items:flex-start}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.coach-stan-tablet-layout{padding:24px 16px}.tablet-optimized .tablet-auto-stack{flex-direction:column}.tablet-optimized button,.tablet-optimized .touch-target{min-height:48px;min-width:48px}.tablet-optimized .form-grid{grid-template-columns:1fr;gap:20px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.coach-stan-tablet-layout{padding:16px 32px}.tablet-optimized .tablet-auto-stack{flex-direction:row;gap:24px}.tablet-optimized .form-grid{grid-template-columns:1fr 1fr;gap:24px}.coach-stan-tablet-sidebar{position:static;width:280px!important}.coach-stan-tablet-sidebar.collapsed{width:80px!important}}.tablet-device{--touch-target-size: 44px}.tablet-device button,.tablet-device .clickable,.tablet-device .touch-target{min-height:var(--touch-target-size);min-width:var(--touch-target-size);touch-action:manipulation}.tablet-device input,.tablet-device textarea,.tablet-device select{min-height:44px;font-size:16px}@media (hover: hover) and (pointer: fine){.tablet-device .hover-enabled:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}}.tablet-device *:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.tablet-device .scroll-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@keyframes wave{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}.animate-wave{position:relative;overflow:hidden}.animate-wave:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:wave 1.6s linear infinite}.dark .animate-wave:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.mobile-lazy-loading{will-change:transform,opacity;transform:translateZ(0)}.mobile-lazy-loaded{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.coach-stan-animation-base{will-change:transform,opacity;backface-visibility:hidden;transform-style:preserve-3d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 768px){.coach-stan-mobile-animation{animation-duration:.25s!important;animation-timing-function:ease-out!important;transform:translateZ(0)}.coach-stan-mobile-animation.reduced-motion{animation:none!important;transition:opacity .1s ease!important}.coach-stan-mobile-transition{transition-duration:.2s!important;transition-timing-function:ease-out!important;transition-property:transform,opacity!important}.coach-stan-mobile-fade-in{animation:mobileFadeIn .2s ease-out forwards}.coach-stan-mobile-slide-in{animation:mobileSlideIn .25s ease-out forwards}.coach-stan-battery-save{animation-duration:.15s!important;animation-iteration-count:1!important;animation-fill-mode:forwards!important}}@media (min-width: 768px) and (max-width: 1024px){.coach-stan-tablet-animation{animation-duration:.35s!important;animation-timing-function:cubic-bezier(.4,0,.2,1)!important;transform:translateZ(0)}.coach-stan-tablet-transition{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.coach-stan-tablet-bounce{animation:tabletBounce .5s ease-out forwards}}@media (min-width: 1024px){.coach-stan-desktop-animation{animation-duration:.4s!important;animation-timing-function:cubic-bezier(.25,.46,.45,.94)!important}.coach-stan-desktop-transition{transition-duration:.35s!important;transition-timing-function:cubic-bezier(.25,.46,.45,.94)!important}.coach-stan-desktop-complex{animation-timing-function:cubic-bezier(.68,-.55,.265,1.55)!important}}.coach-stan-performance-throttle{animation-duration:.15s!important;transition-duration:.15s!important}.coach-stan-low-performance{animation:none!important;transition:opacity .1s linear!important;will-change:auto!important}@keyframes mobileFadeIn{0%{opacity:0;transform:translateY(8px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes mobileSlideIn{0%{opacity:0;transform:translate(-15px) translateZ(0)}to{opacity:1;transform:translate(0) translateZ(0)}}@keyframes tabletBounce{0%{transform:scale(1) translateZ(0)}30%{transform:scale(1.05) translateZ(0)}60%{transform:scale(.98) translateZ(0)}to{transform:scale(1) translateZ(0)}}.coach-stan-animate-on-scroll{opacity:0;transform:translateY(20px) translateZ(0);transition:opacity .4s ease-out,transform .4s ease-out}.coach-stan-animate-on-scroll.visible{opacity:1;transform:translateY(0) translateZ(0)}.coach-stan-stagger-delay-1{animation-delay:.1s!important}.coach-stan-stagger-delay-2{animation-delay:.2s!important}.coach-stan-stagger-delay-3{animation-delay:.3s!important}.coach-stan-stagger-delay-4{animation-delay:.4s!important}.coach-stan-stagger-delay-5{animation-delay:.5s!important}@media (prefers-reduced-motion: reduce){.coach-stan-reduced-motion,.coach-stan-mobile-animation,.coach-stan-tablet-animation,.coach-stan-desktop-animation,.animate-pulse,.animate-wave,.mobile-lazy-loaded{animation:none!important;transition:opacity .1s ease!important;transform:none!important}.coach-stan-animation-base{will-change:auto!important}}@media (prefers-contrast: high){.coach-stan-animation-base{animation-timing-function:linear!important;transition-timing-function:linear!important}}@media print{.coach-stan-mobile-animation,.coach-stan-tablet-animation,.coach-stan-desktop-animation,.coach-stan-animation-base{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}.mobile-image-container{position:relative;overflow:hidden;background:var(--muted)}.mobile-image-loading{background:linear-gradient(90deg,var(--muted) 25%,var(--muted-foreground/10) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.mobile-optimized{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.mobile-optimized *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mobile-scroll-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;will-change:scroll-position}.mobile-touch-optimized{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--cs-success: #059669;--cs-warning: #F59E0B;--cs-error: #EF4444;--cs-primary: #3B82F6;--cs-info: #2563eb}.dark{--cs-success: #10b981;--cs-warning: #fbbf24;--cs-error: #f87171;--cs-info: #60a5fa}.text-cs-success{color:var(--cs-success)}.text-cs-warning{color:var(--cs-warning)}.text-cs-error{color:var(--cs-error)}.text-cs-info{color:var(--cs-info)}@font-face{font-family:Clash Display;src:url(/fonts/clash-display/ClashDisplay-Variable.woff2) format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}@supports not (font-variation-settings: normal){@font-face{font-family:Clash Display;src:url(/fonts/clash-display/ClashDisplay-Variable.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}}@supports not (font-display: swap){@font-face{font-family:Clash Display;src:url(/fonts/clash-display/ClashDisplay-Variable.woff) format("woff");font-weight:200 700;font-style:normal}}.placeholder\:text-cs-text-secondary::-moz-placeholder{color:var(--text-secondary)}.placeholder\:text-cs-text-secondary::placeholder{color:var(--text-secondary)}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-cs-hover-bg:hover{background-color:var(--hover-bg)}.hover\:bg-cs-primary:hover{background-color:var(--primary)}.hover\:bg-cs-primary-hover:hover{background-color:var(--primary-hover)}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:text-cs-text-primary:hover{color:var(--text-primary)}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:shadow-lg:hover{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-cs-primary:focus{border-color:var(--primary)}.focus\:border-green-500:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-cs-primary:focus{--tw-ring-color: var(--primary)}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:shadow-xl:active{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:inline:is(.dark *){display:inline}.dark\:hidden:is(.dark *){display:none}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(154 52 18 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:bg-blue-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from: rgb(30 58 138 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to: #1f2937 var(--tw-gradient-to-position)}.dark\:to-purple-900\/20:is(.dark *){--tw-gradient-to: rgb(88 28 135 / .2) var(--tw-gradient-to-position)}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:border-gray-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
582
4566