zenkit-css 1.0.8 → 1.2.0

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/zenkit.css CHANGED
@@ -23543,6 +23543,3037 @@ li .kbd {
23543
23543
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
23544
23544
  }
23545
23545
 
23546
+ .icon {
23547
+ display: inline-flex;
23548
+ align-items: center;
23549
+ justify-content: center;
23550
+ flex-shrink: 0;
23551
+ width: 1em;
23552
+ height: 1em;
23553
+ font-size: 1.25rem;
23554
+ line-height: 1;
23555
+ color: currentColor;
23556
+ fill: currentColor;
23557
+ vertical-align: middle;
23558
+ }
23559
+ .icon svg {
23560
+ width: 100%;
23561
+ height: 100%;
23562
+ fill: currentColor;
23563
+ }
23564
+
23565
+ .icon-xs {
23566
+ font-size: 0.75rem;
23567
+ }
23568
+
23569
+ .icon-sm {
23570
+ font-size: 1rem;
23571
+ }
23572
+
23573
+ .icon-md {
23574
+ font-size: 1.25rem;
23575
+ }
23576
+
23577
+ .icon-lg {
23578
+ font-size: 1.5rem;
23579
+ }
23580
+
23581
+ .icon-xl {
23582
+ font-size: 2rem;
23583
+ }
23584
+
23585
+ .icon-2xl {
23586
+ font-size: 2.5rem;
23587
+ }
23588
+
23589
+ .icon-3xl {
23590
+ font-size: 3rem;
23591
+ }
23592
+
23593
+ .icon-custom {
23594
+ font-size: var(--icon-size, 1.25rem);
23595
+ }
23596
+
23597
+ .icon-primary {
23598
+ color: var(--primary);
23599
+ }
23600
+
23601
+ .icon-secondary {
23602
+ color: var(--gray-600);
23603
+ }
23604
+
23605
+ .icon-success {
23606
+ color: var(--success);
23607
+ }
23608
+
23609
+ .icon-danger {
23610
+ color: var(--danger);
23611
+ }
23612
+
23613
+ .icon-warning {
23614
+ color: var(--warning);
23615
+ }
23616
+
23617
+ .icon-info {
23618
+ color: var(--info);
23619
+ }
23620
+
23621
+ .icon-muted {
23622
+ color: var(--text-muted);
23623
+ }
23624
+
23625
+ .icon-white {
23626
+ color: var(--white);
23627
+ }
23628
+
23629
+ .icon-black {
23630
+ color: var(--black);
23631
+ }
23632
+
23633
+ .icon-spin {
23634
+ animation: icon-spin 1s linear infinite;
23635
+ }
23636
+
23637
+ @keyframes icon-spin {
23638
+ from {
23639
+ transform: rotate(0deg);
23640
+ }
23641
+ to {
23642
+ transform: rotate(360deg);
23643
+ }
23644
+ }
23645
+ .icon-pulse {
23646
+ animation: icon-pulse 1s ease-in-out infinite;
23647
+ }
23648
+
23649
+ @keyframes icon-pulse {
23650
+ 0%, 100% {
23651
+ opacity: 1;
23652
+ }
23653
+ 50% {
23654
+ opacity: 0.4;
23655
+ }
23656
+ }
23657
+ .icon-bounce {
23658
+ animation: icon-bounce 1s ease infinite;
23659
+ }
23660
+
23661
+ @keyframes icon-bounce {
23662
+ 0%, 100% {
23663
+ transform: translateY(0);
23664
+ }
23665
+ 50% {
23666
+ transform: translateY(-4px);
23667
+ }
23668
+ }
23669
+ .icon-shake {
23670
+ animation: icon-shake 0.5s ease-in-out infinite;
23671
+ }
23672
+
23673
+ @keyframes icon-shake {
23674
+ 0%, 100% {
23675
+ transform: translateX(0);
23676
+ }
23677
+ 25% {
23678
+ transform: translateX(-2px);
23679
+ }
23680
+ 75% {
23681
+ transform: translateX(2px);
23682
+ }
23683
+ }
23684
+ .icon-rotate-90 {
23685
+ transform: rotate(90deg);
23686
+ }
23687
+
23688
+ .icon-rotate-180 {
23689
+ transform: rotate(180deg);
23690
+ }
23691
+
23692
+ .icon-rotate-270 {
23693
+ transform: rotate(270deg);
23694
+ }
23695
+
23696
+ .icon-flip-h {
23697
+ transform: scaleX(-1);
23698
+ }
23699
+
23700
+ .icon-flip-v {
23701
+ transform: scaleY(-1);
23702
+ }
23703
+
23704
+ .icon-flip-both {
23705
+ transform: scale(-1);
23706
+ }
23707
+
23708
+ .icon-text {
23709
+ display: inline-flex;
23710
+ align-items: center;
23711
+ gap: 0.375rem;
23712
+ }
23713
+
23714
+ .icon-text-left .icon {
23715
+ order: -1;
23716
+ }
23717
+
23718
+ .icon-text-right .icon {
23719
+ order: 1;
23720
+ }
23721
+
23722
+ .icon-stack {
23723
+ position: relative;
23724
+ display: inline-flex;
23725
+ align-items: center;
23726
+ justify-content: center;
23727
+ width: 2em;
23728
+ height: 2em;
23729
+ vertical-align: middle;
23730
+ }
23731
+
23732
+ .icon-stack-bg {
23733
+ position: absolute;
23734
+ font-size: 2em;
23735
+ }
23736
+
23737
+ .icon-stack-fg {
23738
+ position: absolute;
23739
+ font-size: 1em;
23740
+ }
23741
+
23742
+ .icon-badge {
23743
+ position: relative;
23744
+ display: inline-flex;
23745
+ }
23746
+
23747
+ .icon-badge-dot {
23748
+ position: absolute;
23749
+ top: -2px;
23750
+ right: -2px;
23751
+ width: 8px;
23752
+ height: 8px;
23753
+ background-color: var(--danger);
23754
+ border-radius: 50%;
23755
+ border: 2px solid var(--bg);
23756
+ }
23757
+
23758
+ .icon-badge-count {
23759
+ position: absolute;
23760
+ top: -6px;
23761
+ right: -6px;
23762
+ min-width: 16px;
23763
+ height: 16px;
23764
+ padding: 0 4px;
23765
+ font-size: 10px;
23766
+ font-weight: 600;
23767
+ line-height: 16px;
23768
+ text-align: center;
23769
+ color: var(--white);
23770
+ background-color: var(--danger);
23771
+ border-radius: 999px;
23772
+ }
23773
+
23774
+ .icon-clickable {
23775
+ cursor: pointer;
23776
+ transition: color 150ms ease-in-out, transform 150ms ease-in-out;
23777
+ }
23778
+ .icon-clickable:hover {
23779
+ color: var(--primary);
23780
+ }
23781
+ .icon-clickable:active {
23782
+ transform: scale(0.9);
23783
+ }
23784
+
23785
+ .icon-input-prefix,
23786
+ .icon-input-suffix {
23787
+ position: absolute;
23788
+ top: 50%;
23789
+ transform: translateY(-50%);
23790
+ color: var(--text-muted);
23791
+ pointer-events: none;
23792
+ }
23793
+
23794
+ .icon-input-prefix {
23795
+ left: 0.75rem;
23796
+ }
23797
+
23798
+ .icon-input-suffix {
23799
+ right: 0.75rem;
23800
+ }
23801
+
23802
+ .icon-list {
23803
+ list-style: none;
23804
+ padding: 0;
23805
+ margin: 0;
23806
+ }
23807
+ .icon-list li {
23808
+ display: flex;
23809
+ align-items: flex-start;
23810
+ gap: 0.5rem;
23811
+ margin-bottom: 0.5rem;
23812
+ }
23813
+ .icon-list li .icon {
23814
+ flex-shrink: 0;
23815
+ margin-top: 0.125em;
23816
+ }
23817
+
23818
+ [data-theme=dark] .icon-badge-dot,
23819
+ [data-theme=dark] .icon-badge-count {
23820
+ border-color: var(--gray-900);
23821
+ }
23822
+ [data-theme=dark] .icon-muted {
23823
+ color: var(--gray-500);
23824
+ }
23825
+
23826
+ .icon-btn {
23827
+ display: inline-flex;
23828
+ align-items: center;
23829
+ justify-content: center;
23830
+ width: 2.5rem;
23831
+ height: 2.5rem;
23832
+ padding: 0;
23833
+ font-size: 1.25rem;
23834
+ color: var(--text);
23835
+ background-color: transparent;
23836
+ border: none;
23837
+ border-radius: 0.375rem;
23838
+ cursor: pointer;
23839
+ transition: all 150ms ease-in-out;
23840
+ -webkit-tap-highlight-color: transparent;
23841
+ }
23842
+ .icon-btn:hover {
23843
+ background-color: var(--gray-100);
23844
+ }
23845
+ .icon-btn:focus {
23846
+ outline: none;
23847
+ box-shadow: 0 0 0 2px var(--primary-200);
23848
+ }
23849
+ .icon-btn:active {
23850
+ transform: scale(0.95);
23851
+ }
23852
+ .icon-btn:disabled {
23853
+ opacity: 0.5;
23854
+ cursor: not-allowed;
23855
+ pointer-events: none;
23856
+ }
23857
+ .icon-btn svg {
23858
+ width: 1em;
23859
+ height: 1em;
23860
+ }
23861
+
23862
+ .icon-btn-xs {
23863
+ width: 1.5rem;
23864
+ height: 1.5rem;
23865
+ font-size: 0.75rem;
23866
+ }
23867
+
23868
+ .icon-btn-sm {
23869
+ width: 2rem;
23870
+ height: 2rem;
23871
+ font-size: 1rem;
23872
+ }
23873
+
23874
+ .icon-btn-md {
23875
+ width: 2.5rem;
23876
+ height: 2.5rem;
23877
+ font-size: 1.25rem;
23878
+ }
23879
+
23880
+ .icon-btn-lg {
23881
+ width: 3rem;
23882
+ height: 3rem;
23883
+ font-size: 1.5rem;
23884
+ }
23885
+
23886
+ .icon-btn-xl {
23887
+ width: 3.5rem;
23888
+ height: 3.5rem;
23889
+ font-size: 1.75rem;
23890
+ }
23891
+
23892
+ .icon-btn-filled {
23893
+ background-color: var(--gray-100);
23894
+ }
23895
+ .icon-btn-filled:hover {
23896
+ background-color: var(--gray-200);
23897
+ }
23898
+
23899
+ .icon-btn-outlined {
23900
+ border: 1px solid var(--border);
23901
+ }
23902
+ .icon-btn-outlined:hover {
23903
+ background-color: var(--gray-50);
23904
+ border-color: var(--gray-400);
23905
+ }
23906
+
23907
+ .icon-btn-ghost {
23908
+ background-color: transparent;
23909
+ }
23910
+ .icon-btn-ghost:hover {
23911
+ background-color: var(--gray-100);
23912
+ }
23913
+
23914
+ .icon-btn-light {
23915
+ background-color: var(--gray-50);
23916
+ }
23917
+ .icon-btn-light:hover {
23918
+ background-color: var(--gray-100);
23919
+ }
23920
+
23921
+ .icon-btn-primary {
23922
+ color: var(--primary);
23923
+ }
23924
+ .icon-btn-primary:hover {
23925
+ background-color: var(--primary-50);
23926
+ }
23927
+ .icon-btn-primary.icon-btn-filled {
23928
+ background-color: var(--primary);
23929
+ color: var(--white);
23930
+ }
23931
+ .icon-btn-primary.icon-btn-filled:hover {
23932
+ background-color: var(--primary-600);
23933
+ }
23934
+ .icon-btn-primary.icon-btn-outlined {
23935
+ border-color: var(--primary);
23936
+ }
23937
+ .icon-btn-primary.icon-btn-outlined:hover {
23938
+ background-color: var(--primary-50);
23939
+ }
23940
+
23941
+ .icon-btn-secondary {
23942
+ color: var(--gray-600);
23943
+ }
23944
+ .icon-btn-secondary:hover {
23945
+ background-color: var(--gray-100);
23946
+ }
23947
+ .icon-btn-secondary.icon-btn-filled {
23948
+ background-color: var(--gray-600);
23949
+ color: var(--white);
23950
+ }
23951
+ .icon-btn-secondary.icon-btn-filled:hover {
23952
+ background-color: var(--gray-700);
23953
+ }
23954
+
23955
+ .icon-btn-success {
23956
+ color: var(--success);
23957
+ }
23958
+ .icon-btn-success:hover {
23959
+ background-color: var(--success-50);
23960
+ }
23961
+ .icon-btn-success.icon-btn-filled {
23962
+ background-color: var(--success);
23963
+ color: var(--white);
23964
+ }
23965
+ .icon-btn-success.icon-btn-filled:hover {
23966
+ background-color: var(--success-600);
23967
+ }
23968
+
23969
+ .icon-btn-danger {
23970
+ color: var(--danger);
23971
+ }
23972
+ .icon-btn-danger:hover {
23973
+ background-color: var(--danger-50);
23974
+ }
23975
+ .icon-btn-danger.icon-btn-filled {
23976
+ background-color: var(--danger);
23977
+ color: var(--white);
23978
+ }
23979
+ .icon-btn-danger.icon-btn-filled:hover {
23980
+ background-color: var(--danger-600);
23981
+ }
23982
+
23983
+ .icon-btn-warning {
23984
+ color: var(--warning);
23985
+ }
23986
+ .icon-btn-warning:hover {
23987
+ background-color: var(--warning-50);
23988
+ }
23989
+ .icon-btn-warning.icon-btn-filled {
23990
+ background-color: var(--warning);
23991
+ color: var(--gray-900);
23992
+ }
23993
+ .icon-btn-warning.icon-btn-filled:hover {
23994
+ background-color: var(--warning-600);
23995
+ }
23996
+
23997
+ .icon-btn-info {
23998
+ color: var(--info);
23999
+ }
24000
+ .icon-btn-info:hover {
24001
+ background-color: var(--info-50);
24002
+ }
24003
+ .icon-btn-info.icon-btn-filled {
24004
+ background-color: var(--info);
24005
+ color: var(--white);
24006
+ }
24007
+ .icon-btn-info.icon-btn-filled:hover {
24008
+ background-color: var(--info-600);
24009
+ }
24010
+
24011
+ .icon-btn-rounded {
24012
+ border-radius: 9999px;
24013
+ }
24014
+
24015
+ .icon-btn-square {
24016
+ border-radius: 0;
24017
+ }
24018
+
24019
+ .icon-btn-loading {
24020
+ position: relative;
24021
+ pointer-events: none;
24022
+ }
24023
+ .icon-btn-loading svg {
24024
+ opacity: 0;
24025
+ }
24026
+ .icon-btn-loading::after {
24027
+ content: "";
24028
+ position: absolute;
24029
+ width: 1em;
24030
+ height: 1em;
24031
+ border: 2px solid currentColor;
24032
+ border-top-color: transparent;
24033
+ border-radius: 50%;
24034
+ animation: icon-btn-spin 0.6s linear infinite;
24035
+ }
24036
+
24037
+ @keyframes icon-btn-spin {
24038
+ to {
24039
+ transform: rotate(360deg);
24040
+ }
24041
+ }
24042
+ .icon-btn-tooltip {
24043
+ position: relative;
24044
+ }
24045
+ .icon-btn-tooltip::before {
24046
+ content: attr(data-tooltip);
24047
+ position: absolute;
24048
+ bottom: calc(100% + 8px);
24049
+ left: 50%;
24050
+ transform: translateX(-50%);
24051
+ padding: 0.375rem 0.625rem;
24052
+ font-size: var(--text-xs);
24053
+ font-weight: 500;
24054
+ color: var(--white);
24055
+ background-color: var(--gray-900);
24056
+ border-radius: 0.375rem;
24057
+ white-space: nowrap;
24058
+ opacity: 0;
24059
+ visibility: hidden;
24060
+ transition: opacity 150ms ease-in-out;
24061
+ pointer-events: none;
24062
+ z-index: 100;
24063
+ }
24064
+ .icon-btn-tooltip::after {
24065
+ content: "";
24066
+ position: absolute;
24067
+ bottom: calc(100% + 4px);
24068
+ left: 50%;
24069
+ transform: translateX(-50%);
24070
+ border: 4px solid transparent;
24071
+ border-top-color: var(--gray-900);
24072
+ opacity: 0;
24073
+ visibility: hidden;
24074
+ transition: opacity 150ms ease-in-out;
24075
+ }
24076
+ .icon-btn-tooltip:hover::before, .icon-btn-tooltip:hover::after {
24077
+ opacity: 1;
24078
+ visibility: visible;
24079
+ }
24080
+
24081
+ .icon-btn-group {
24082
+ display: inline-flex;
24083
+ }
24084
+ .icon-btn-group .icon-btn {
24085
+ border-radius: 0;
24086
+ }
24087
+ .icon-btn-group .icon-btn:first-child {
24088
+ border-radius: 0.375rem 0 0 0.375rem;
24089
+ }
24090
+ .icon-btn-group .icon-btn:last-child {
24091
+ border-radius: 0 0.375rem 0.375rem 0;
24092
+ }
24093
+ .icon-btn-group .icon-btn:not(:last-child) {
24094
+ border-right: 1px solid var(--border);
24095
+ }
24096
+ .icon-btn-group.icon-btn-group-rounded .icon-btn:first-child {
24097
+ border-radius: 9999px 0 0 9999px;
24098
+ }
24099
+ .icon-btn-group.icon-btn-group-rounded .icon-btn:last-child {
24100
+ border-radius: 0 9999px 9999px 0;
24101
+ }
24102
+
24103
+ .icon-btn-group-vertical {
24104
+ flex-direction: column;
24105
+ }
24106
+ .icon-btn-group-vertical .icon-btn {
24107
+ border-radius: 0;
24108
+ }
24109
+ .icon-btn-group-vertical .icon-btn:first-child {
24110
+ border-radius: 0.375rem 0.375rem 0 0;
24111
+ }
24112
+ .icon-btn-group-vertical .icon-btn:last-child {
24113
+ border-radius: 0 0 0.375rem 0.375rem;
24114
+ }
24115
+ .icon-btn-group-vertical .icon-btn:not(:last-child) {
24116
+ border-right: none;
24117
+ border-bottom: 1px solid var(--border);
24118
+ }
24119
+
24120
+ [data-theme=dark] .icon-btn {
24121
+ color: var(--gray-300);
24122
+ }
24123
+ [data-theme=dark] .icon-btn:hover {
24124
+ background-color: var(--gray-800);
24125
+ }
24126
+ [data-theme=dark] .icon-btn-filled {
24127
+ background-color: var(--gray-800);
24128
+ }
24129
+ [data-theme=dark] .icon-btn-filled:hover {
24130
+ background-color: var(--gray-700);
24131
+ }
24132
+ [data-theme=dark] .icon-btn-outlined {
24133
+ border-color: var(--gray-600);
24134
+ }
24135
+ [data-theme=dark] .icon-btn-outlined:hover {
24136
+ background-color: var(--gray-800);
24137
+ }
24138
+ [data-theme=dark] .icon-btn-light {
24139
+ background-color: var(--gray-800);
24140
+ }
24141
+ [data-theme=dark] .icon-btn-light:hover {
24142
+ background-color: var(--gray-700);
24143
+ }
24144
+ [data-theme=dark] .icon-btn-primary:hover {
24145
+ background-color: rgba(79, 70, 229, 0.2);
24146
+ }
24147
+ [data-theme=dark] .icon-btn-success:hover {
24148
+ background-color: rgba(16, 185, 129, 0.2);
24149
+ }
24150
+ [data-theme=dark] .icon-btn-danger:hover {
24151
+ background-color: rgba(239, 68, 68, 0.2);
24152
+ }
24153
+ [data-theme=dark] .icon-btn-warning:hover {
24154
+ background-color: rgba(245, 158, 11, 0.2);
24155
+ }
24156
+ [data-theme=dark] .icon-btn-info:hover {
24157
+ background-color: rgba(6, 182, 212, 0.2);
24158
+ }
24159
+ [data-theme=dark] .icon-btn-tooltip::before {
24160
+ background-color: var(--gray-700);
24161
+ }
24162
+ [data-theme=dark] .icon-btn-tooltip::after {
24163
+ border-top-color: var(--gray-700);
24164
+ }
24165
+ [data-theme=dark] .icon-btn-group .icon-btn:not(:last-child) {
24166
+ border-color: var(--gray-700);
24167
+ }
24168
+
24169
+ .chip {
24170
+ display: inline-flex;
24171
+ align-items: center;
24172
+ gap: 0.375rem;
24173
+ padding: 0.25rem 0.75rem;
24174
+ font-size: var(--text-sm);
24175
+ font-weight: 500;
24176
+ line-height: 1.5;
24177
+ color: var(--text);
24178
+ background-color: var(--gray-100);
24179
+ border: 1px solid transparent;
24180
+ border-radius: 9999px;
24181
+ transition: all 150ms ease-in-out;
24182
+ white-space: nowrap;
24183
+ max-width: 100%;
24184
+ }
24185
+
24186
+ .chip-xs {
24187
+ padding: 0.125rem 0.5rem;
24188
+ font-size: var(--text-xs);
24189
+ gap: 0.25rem;
24190
+ }
24191
+
24192
+ .chip-sm {
24193
+ padding: 0.1875rem 0.625rem;
24194
+ font-size: var(--text-xs);
24195
+ }
24196
+
24197
+ .chip-md {
24198
+ padding: 0.25rem 0.75rem;
24199
+ font-size: var(--text-sm);
24200
+ }
24201
+
24202
+ .chip-lg {
24203
+ padding: 0.375rem 1rem;
24204
+ font-size: var(--text-base);
24205
+ }
24206
+
24207
+ .chip-primary {
24208
+ background-color: var(--primary-100);
24209
+ color: var(--primary-700);
24210
+ }
24211
+
24212
+ .chip-secondary {
24213
+ background-color: var(--gray-200);
24214
+ color: var(--gray-700);
24215
+ }
24216
+
24217
+ .chip-success {
24218
+ background-color: var(--success-100);
24219
+ color: var(--success-700);
24220
+ }
24221
+
24222
+ .chip-danger {
24223
+ background-color: var(--danger-100);
24224
+ color: var(--danger-700);
24225
+ }
24226
+
24227
+ .chip-warning {
24228
+ background-color: var(--warning-100);
24229
+ color: var(--warning-700);
24230
+ }
24231
+
24232
+ .chip-info {
24233
+ background-color: var(--info-100);
24234
+ color: var(--info-700);
24235
+ }
24236
+
24237
+ .chip-filled.chip-primary {
24238
+ background-color: var(--primary);
24239
+ color: var(--white);
24240
+ }
24241
+ .chip-filled.chip-secondary {
24242
+ background-color: var(--gray-600);
24243
+ color: var(--white);
24244
+ }
24245
+ .chip-filled.chip-success {
24246
+ background-color: var(--success);
24247
+ color: var(--white);
24248
+ }
24249
+ .chip-filled.chip-danger {
24250
+ background-color: var(--danger);
24251
+ color: var(--white);
24252
+ }
24253
+ .chip-filled.chip-warning {
24254
+ background-color: var(--warning);
24255
+ color: var(--gray-900);
24256
+ }
24257
+ .chip-filled.chip-info {
24258
+ background-color: var(--info);
24259
+ color: var(--white);
24260
+ }
24261
+
24262
+ .chip-outlined {
24263
+ background-color: transparent;
24264
+ border-color: var(--border);
24265
+ }
24266
+ .chip-outlined.chip-primary {
24267
+ border-color: var(--primary);
24268
+ color: var(--primary);
24269
+ }
24270
+ .chip-outlined.chip-secondary {
24271
+ border-color: var(--gray-400);
24272
+ color: var(--gray-600);
24273
+ }
24274
+ .chip-outlined.chip-success {
24275
+ border-color: var(--success);
24276
+ color: var(--success);
24277
+ }
24278
+ .chip-outlined.chip-danger {
24279
+ border-color: var(--danger);
24280
+ color: var(--danger);
24281
+ }
24282
+ .chip-outlined.chip-warning {
24283
+ border-color: var(--warning);
24284
+ color: var(--warning-700);
24285
+ }
24286
+ .chip-outlined.chip-info {
24287
+ border-color: var(--info);
24288
+ color: var(--info);
24289
+ }
24290
+
24291
+ .chip-avatar {
24292
+ padding-left: 0.25rem;
24293
+ }
24294
+
24295
+ .chip-avatar-img {
24296
+ width: 1.5rem;
24297
+ height: 1.5rem;
24298
+ border-radius: 50%;
24299
+ object-fit: cover;
24300
+ margin-right: 0.125rem;
24301
+ }
24302
+
24303
+ .chip-sm .chip-avatar-img {
24304
+ width: 1.25rem;
24305
+ height: 1.25rem;
24306
+ }
24307
+
24308
+ .chip-lg .chip-avatar-img {
24309
+ width: 1.75rem;
24310
+ height: 1.75rem;
24311
+ }
24312
+
24313
+ .chip-icon {
24314
+ display: inline-flex;
24315
+ align-items: center;
24316
+ justify-content: center;
24317
+ width: 1rem;
24318
+ height: 1rem;
24319
+ flex-shrink: 0;
24320
+ }
24321
+ .chip-icon svg {
24322
+ width: 100%;
24323
+ height: 100%;
24324
+ }
24325
+
24326
+ .chip-icon-left {
24327
+ margin-left: -0.125rem;
24328
+ }
24329
+
24330
+ .chip-icon-right {
24331
+ margin-right: -0.125rem;
24332
+ }
24333
+
24334
+ .chip-delete {
24335
+ display: inline-flex;
24336
+ align-items: center;
24337
+ justify-content: center;
24338
+ width: 1.125rem;
24339
+ height: 1.125rem;
24340
+ margin-left: 0.125rem;
24341
+ margin-right: -0.375rem;
24342
+ padding: 0;
24343
+ font-size: 0.875rem;
24344
+ color: currentColor;
24345
+ background-color: transparent;
24346
+ border: none;
24347
+ border-radius: 50%;
24348
+ cursor: pointer;
24349
+ opacity: 0.7;
24350
+ transition: all 150ms ease-in-out;
24351
+ }
24352
+ .chip-delete:hover {
24353
+ opacity: 1;
24354
+ background-color: rgba(0, 0, 0, 0.1);
24355
+ }
24356
+ .chip-delete:focus {
24357
+ outline: none;
24358
+ opacity: 1;
24359
+ }
24360
+ .chip-delete svg {
24361
+ width: 0.75rem;
24362
+ height: 0.75rem;
24363
+ }
24364
+ .chip-delete::before {
24365
+ content: "×";
24366
+ font-size: 1rem;
24367
+ line-height: 1;
24368
+ }
24369
+
24370
+ .chip-delete-icon::before {
24371
+ content: none;
24372
+ }
24373
+
24374
+ .chip-clickable {
24375
+ cursor: pointer;
24376
+ }
24377
+ .chip-clickable:hover {
24378
+ background-color: var(--gray-200);
24379
+ }
24380
+ .chip-clickable:active {
24381
+ transform: scale(0.98);
24382
+ }
24383
+ .chip-clickable.chip-primary:hover {
24384
+ background-color: var(--primary-200);
24385
+ }
24386
+ .chip-clickable.chip-success:hover {
24387
+ background-color: var(--success-200);
24388
+ }
24389
+ .chip-clickable.chip-danger:hover {
24390
+ background-color: var(--danger-200);
24391
+ }
24392
+ .chip-clickable.chip-warning:hover {
24393
+ background-color: var(--warning-200);
24394
+ }
24395
+ .chip-clickable.chip-info:hover {
24396
+ background-color: var(--info-200);
24397
+ }
24398
+ .chip-clickable.chip-filled:hover {
24399
+ filter: brightness(0.9);
24400
+ }
24401
+ .chip-clickable.chip-outlined:hover {
24402
+ background-color: var(--gray-50);
24403
+ }
24404
+
24405
+ .chip-selected {
24406
+ background-color: var(--primary);
24407
+ color: var(--white);
24408
+ border-color: var(--primary);
24409
+ }
24410
+ .chip-selected .chip-delete:hover {
24411
+ background-color: rgba(255, 255, 255, 0.2);
24412
+ }
24413
+
24414
+ .chip-disabled {
24415
+ opacity: 0.5;
24416
+ cursor: not-allowed;
24417
+ pointer-events: none;
24418
+ }
24419
+
24420
+ .chip-group {
24421
+ display: flex;
24422
+ flex-wrap: wrap;
24423
+ gap: 0.5rem;
24424
+ }
24425
+
24426
+ .chip-group-vertical {
24427
+ flex-direction: column;
24428
+ align-items: flex-start;
24429
+ }
24430
+
24431
+ .chip-group-xs {
24432
+ gap: 0.25rem;
24433
+ }
24434
+
24435
+ .chip-group-sm {
24436
+ gap: 0.375rem;
24437
+ }
24438
+
24439
+ .chip-group-lg {
24440
+ gap: 0.75rem;
24441
+ }
24442
+
24443
+ .chip-input-wrapper {
24444
+ display: flex;
24445
+ flex-wrap: wrap;
24446
+ align-items: center;
24447
+ gap: 0.375rem;
24448
+ padding: 0.375rem 0.5rem;
24449
+ background-color: var(--bg);
24450
+ border: 1px solid var(--border);
24451
+ border-radius: 0.375rem;
24452
+ min-height: 2.5rem;
24453
+ cursor: text;
24454
+ transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
24455
+ }
24456
+ .chip-input-wrapper:focus-within {
24457
+ border-color: var(--primary);
24458
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
24459
+ }
24460
+
24461
+ .chip-input {
24462
+ flex: 1;
24463
+ min-width: 60px;
24464
+ border: none;
24465
+ background: transparent;
24466
+ font-size: var(--text-sm);
24467
+ color: var(--text);
24468
+ outline: none;
24469
+ }
24470
+ .chip-input::placeholder {
24471
+ color: var(--text-muted);
24472
+ }
24473
+
24474
+ .chip-truncate .chip-text {
24475
+ overflow: hidden;
24476
+ text-overflow: ellipsis;
24477
+ white-space: nowrap;
24478
+ max-width: 150px;
24479
+ }
24480
+
24481
+ [data-theme=dark] .chip {
24482
+ background-color: var(--gray-800);
24483
+ color: var(--gray-200);
24484
+ }
24485
+ [data-theme=dark] .chip-primary {
24486
+ background-color: rgba(79, 70, 229, 0.2);
24487
+ color: var(--primary-300);
24488
+ }
24489
+ [data-theme=dark] .chip-secondary {
24490
+ background-color: var(--gray-700);
24491
+ color: var(--gray-300);
24492
+ }
24493
+ [data-theme=dark] .chip-success {
24494
+ background-color: rgba(16, 185, 129, 0.2);
24495
+ color: var(--success-300);
24496
+ }
24497
+ [data-theme=dark] .chip-danger {
24498
+ background-color: rgba(239, 68, 68, 0.2);
24499
+ color: var(--danger-300);
24500
+ }
24501
+ [data-theme=dark] .chip-warning {
24502
+ background-color: rgba(245, 158, 11, 0.2);
24503
+ color: var(--warning-300);
24504
+ }
24505
+ [data-theme=dark] .chip-info {
24506
+ background-color: rgba(6, 182, 212, 0.2);
24507
+ color: var(--info-300);
24508
+ }
24509
+ [data-theme=dark] .chip-outlined {
24510
+ border-color: var(--gray-600);
24511
+ }
24512
+ [data-theme=dark] .chip-clickable:hover {
24513
+ background-color: var(--gray-700);
24514
+ }
24515
+ [data-theme=dark] .chip-delete:hover {
24516
+ background-color: rgba(255, 255, 255, 0.1);
24517
+ }
24518
+ [data-theme=dark] .chip-input-wrapper {
24519
+ background-color: var(--gray-900);
24520
+ border-color: var(--gray-700);
24521
+ }
24522
+ [data-theme=dark] .chip-input-wrapper:focus-within {
24523
+ border-color: var(--primary);
24524
+ }
24525
+
24526
+ .alert-dialog-overlay {
24527
+ position: fixed;
24528
+ inset: 0;
24529
+ background-color: rgba(0, 0, 0, 0.5);
24530
+ backdrop-filter: blur(2px);
24531
+ -webkit-backdrop-filter: blur(2px);
24532
+ z-index: 9999;
24533
+ display: flex;
24534
+ align-items: center;
24535
+ justify-content: center;
24536
+ padding: 1rem;
24537
+ opacity: 0;
24538
+ visibility: hidden;
24539
+ transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out;
24540
+ }
24541
+
24542
+ .alert-dialog-overlay.open {
24543
+ opacity: 1;
24544
+ visibility: visible;
24545
+ }
24546
+
24547
+ .alert-dialog {
24548
+ position: relative;
24549
+ width: 100%;
24550
+ max-width: 400px;
24551
+ background-color: var(--bg);
24552
+ border-radius: 0.75rem;
24553
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
24554
+ transform: scale(0.95) translateY(-10px);
24555
+ opacity: 0;
24556
+ transition: transform 200ms ease-in-out, opacity 200ms ease-in-out;
24557
+ }
24558
+
24559
+ .alert-dialog-overlay.open .alert-dialog {
24560
+ transform: scale(1) translateY(0);
24561
+ opacity: 1;
24562
+ }
24563
+
24564
+ .alert-dialog-header {
24565
+ display: flex;
24566
+ align-items: flex-start;
24567
+ gap: 1rem;
24568
+ padding: 1.25rem 1.5rem;
24569
+ }
24570
+
24571
+ .alert-dialog-icon {
24572
+ flex-shrink: 0;
24573
+ display: flex;
24574
+ align-items: center;
24575
+ justify-content: center;
24576
+ width: 2.5rem;
24577
+ height: 2.5rem;
24578
+ border-radius: 50%;
24579
+ font-size: 1.25rem;
24580
+ }
24581
+
24582
+ .alert-dialog-icon-danger {
24583
+ background-color: var(--danger-100);
24584
+ color: var(--danger);
24585
+ }
24586
+
24587
+ .alert-dialog-icon-warning {
24588
+ background-color: var(--warning-100);
24589
+ color: var(--warning-700);
24590
+ }
24591
+
24592
+ .alert-dialog-icon-success {
24593
+ background-color: var(--success-100);
24594
+ color: var(--success);
24595
+ }
24596
+
24597
+ .alert-dialog-icon-info {
24598
+ background-color: var(--info-100);
24599
+ color: var(--info);
24600
+ }
24601
+
24602
+ .alert-dialog-content {
24603
+ flex: 1;
24604
+ min-width: 0;
24605
+ }
24606
+
24607
+ .alert-dialog-title {
24608
+ font-size: var(--text-lg);
24609
+ font-weight: 600;
24610
+ color: var(--text);
24611
+ margin-bottom: 0.375rem;
24612
+ }
24613
+
24614
+ .alert-dialog-description {
24615
+ font-size: var(--text-sm);
24616
+ color: var(--text-muted);
24617
+ line-height: 1.5;
24618
+ }
24619
+
24620
+ .alert-dialog-body {
24621
+ padding: 0 1.5rem 1rem;
24622
+ }
24623
+
24624
+ .alert-dialog-footer {
24625
+ display: flex;
24626
+ align-items: center;
24627
+ justify-content: flex-end;
24628
+ gap: 0.75rem;
24629
+ padding: 1rem 1.5rem;
24630
+ background-color: var(--gray-50);
24631
+ border-top: 1px solid var(--border);
24632
+ border-radius: 0 0 0.75rem 0.75rem;
24633
+ }
24634
+
24635
+ .alert-dialog-footer-stacked {
24636
+ flex-direction: column;
24637
+ }
24638
+ .alert-dialog-footer-stacked .alert-dialog-btn {
24639
+ width: 100%;
24640
+ }
24641
+
24642
+ .alert-dialog-btn {
24643
+ display: inline-flex;
24644
+ align-items: center;
24645
+ justify-content: center;
24646
+ padding: 0.5rem 1rem;
24647
+ font-size: var(--text-sm);
24648
+ font-weight: 500;
24649
+ border-radius: 0.375rem;
24650
+ cursor: pointer;
24651
+ transition: all 150ms ease-in-out;
24652
+ }
24653
+
24654
+ .alert-dialog-btn-cancel {
24655
+ color: var(--text);
24656
+ background-color: var(--white);
24657
+ border: 1px solid var(--border);
24658
+ }
24659
+ .alert-dialog-btn-cancel:hover {
24660
+ background-color: var(--gray-50);
24661
+ }
24662
+
24663
+ .alert-dialog-btn-confirm {
24664
+ color: var(--white);
24665
+ background-color: var(--primary);
24666
+ border: 1px solid var(--primary);
24667
+ }
24668
+ .alert-dialog-btn-confirm:hover {
24669
+ background-color: var(--primary-600);
24670
+ border-color: var(--primary-600);
24671
+ }
24672
+
24673
+ .alert-dialog-btn-danger {
24674
+ color: var(--white);
24675
+ background-color: var(--danger);
24676
+ border: 1px solid var(--danger);
24677
+ }
24678
+ .alert-dialog-btn-danger:hover {
24679
+ background-color: var(--danger-600);
24680
+ border-color: var(--danger-600);
24681
+ }
24682
+
24683
+ .alert-dialog-btn-loading {
24684
+ position: relative;
24685
+ pointer-events: none;
24686
+ color: transparent;
24687
+ }
24688
+ .alert-dialog-btn-loading::after {
24689
+ content: "";
24690
+ position: absolute;
24691
+ width: 1rem;
24692
+ height: 1rem;
24693
+ border: 2px solid currentColor;
24694
+ border-top-color: transparent;
24695
+ border-radius: 50%;
24696
+ animation: alert-dialog-spin 0.6s linear infinite;
24697
+ }
24698
+
24699
+ .alert-dialog-btn-confirm.alert-dialog-btn-loading::after {
24700
+ border-color: var(--white);
24701
+ border-top-color: transparent;
24702
+ }
24703
+
24704
+ @keyframes alert-dialog-spin {
24705
+ to {
24706
+ transform: rotate(360deg);
24707
+ }
24708
+ }
24709
+ .alert-dialog-destructive .alert-dialog-title {
24710
+ color: var(--danger);
24711
+ }
24712
+
24713
+ .alert-dialog-centered {
24714
+ text-align: center;
24715
+ }
24716
+ .alert-dialog-centered .alert-dialog-header {
24717
+ flex-direction: column;
24718
+ align-items: center;
24719
+ }
24720
+ .alert-dialog-centered .alert-dialog-footer {
24721
+ justify-content: center;
24722
+ }
24723
+
24724
+ .alert-dialog-no-icon .alert-dialog-header {
24725
+ gap: 0;
24726
+ }
24727
+
24728
+ .alert-dialog-sm {
24729
+ max-width: 320px;
24730
+ }
24731
+
24732
+ .alert-dialog-lg {
24733
+ max-width: 500px;
24734
+ }
24735
+
24736
+ .alert-dialog-xl {
24737
+ max-width: 600px;
24738
+ }
24739
+
24740
+ .alert-dialog-close {
24741
+ position: absolute;
24742
+ top: 0.75rem;
24743
+ right: 0.75rem;
24744
+ display: flex;
24745
+ align-items: center;
24746
+ justify-content: center;
24747
+ width: 2rem;
24748
+ height: 2rem;
24749
+ padding: 0;
24750
+ color: var(--text-muted);
24751
+ background: transparent;
24752
+ border: none;
24753
+ border-radius: 0.375rem;
24754
+ cursor: pointer;
24755
+ transition: all 150ms ease-in-out;
24756
+ }
24757
+ .alert-dialog-close:hover {
24758
+ background-color: var(--gray-100);
24759
+ color: var(--text);
24760
+ }
24761
+ .alert-dialog-close svg {
24762
+ width: 1rem;
24763
+ height: 1rem;
24764
+ }
24765
+
24766
+ .alert-dialog-input {
24767
+ width: 100%;
24768
+ padding: 0.625rem 0.875rem;
24769
+ font-size: var(--text-sm);
24770
+ color: var(--text);
24771
+ background-color: var(--bg);
24772
+ border: 1px solid var(--border);
24773
+ border-radius: 0.375rem;
24774
+ margin-top: 0.75rem;
24775
+ transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
24776
+ }
24777
+ .alert-dialog-input:focus {
24778
+ outline: none;
24779
+ border-color: var(--primary);
24780
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
24781
+ }
24782
+ .alert-dialog-input::placeholder {
24783
+ color: var(--text-muted);
24784
+ }
24785
+
24786
+ .alert-dialog-slide-up .alert-dialog {
24787
+ transform: translateY(20px);
24788
+ }
24789
+ .alert-dialog-slide-up.open .alert-dialog {
24790
+ transform: translateY(0);
24791
+ }
24792
+
24793
+ .alert-dialog-slide-down {
24794
+ align-items: flex-start;
24795
+ padding-top: 10vh;
24796
+ }
24797
+ .alert-dialog-slide-down .alert-dialog {
24798
+ transform: translateY(-20px);
24799
+ }
24800
+ .alert-dialog-slide-down.open .alert-dialog {
24801
+ transform: translateY(0);
24802
+ }
24803
+
24804
+ [data-theme=dark] .alert-dialog-overlay {
24805
+ background-color: rgba(0, 0, 0, 0.7);
24806
+ }
24807
+ [data-theme=dark] .alert-dialog {
24808
+ background-color: var(--gray-900);
24809
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
24810
+ }
24811
+ [data-theme=dark] .alert-dialog-footer {
24812
+ background-color: var(--gray-800);
24813
+ border-color: var(--gray-700);
24814
+ }
24815
+ [data-theme=dark] .alert-dialog-btn-cancel {
24816
+ background-color: var(--gray-800);
24817
+ border-color: var(--gray-600);
24818
+ color: var(--gray-200);
24819
+ }
24820
+ [data-theme=dark] .alert-dialog-btn-cancel:hover {
24821
+ background-color: var(--gray-700);
24822
+ }
24823
+ [data-theme=dark] .alert-dialog-close:hover {
24824
+ background-color: var(--gray-800);
24825
+ }
24826
+ [data-theme=dark] .alert-dialog-input {
24827
+ background-color: var(--gray-800);
24828
+ border-color: var(--gray-700);
24829
+ color: var(--gray-100);
24830
+ }
24831
+ [data-theme=dark] .alert-dialog-icon-danger {
24832
+ background-color: rgba(239, 68, 68, 0.2);
24833
+ }
24834
+ [data-theme=dark] .alert-dialog-icon-warning {
24835
+ background-color: rgba(245, 158, 11, 0.2);
24836
+ }
24837
+ [data-theme=dark] .alert-dialog-icon-success {
24838
+ background-color: rgba(16, 185, 129, 0.2);
24839
+ }
24840
+ [data-theme=dark] .alert-dialog-icon-info {
24841
+ background-color: rgba(6, 182, 212, 0.2);
24842
+ }
24843
+
24844
+ .btn-group {
24845
+ display: inline-flex;
24846
+ position: relative;
24847
+ vertical-align: middle;
24848
+ }
24849
+ .btn-group > .btn {
24850
+ position: relative;
24851
+ flex: 0 1 auto;
24852
+ border-radius: 0;
24853
+ }
24854
+ .btn-group > .btn:first-child {
24855
+ border-top-left-radius: 0.375rem;
24856
+ border-bottom-left-radius: 0.375rem;
24857
+ }
24858
+ .btn-group > .btn:last-child {
24859
+ border-top-right-radius: 0.375rem;
24860
+ border-bottom-right-radius: 0.375rem;
24861
+ }
24862
+ .btn-group > .btn:not(:first-child) {
24863
+ margin-left: -1px;
24864
+ }
24865
+ .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active {
24866
+ z-index: 1;
24867
+ }
24868
+
24869
+ .btn-group-vertical {
24870
+ flex-direction: column;
24871
+ align-items: flex-start;
24872
+ }
24873
+ .btn-group-vertical > .btn {
24874
+ width: 100%;
24875
+ border-radius: 0;
24876
+ }
24877
+ .btn-group-vertical > .btn:first-child {
24878
+ border-top-left-radius: 0.375rem;
24879
+ border-top-right-radius: 0.375rem;
24880
+ border-bottom-left-radius: 0;
24881
+ }
24882
+ .btn-group-vertical > .btn:last-child {
24883
+ border-bottom-left-radius: 0.375rem;
24884
+ border-bottom-right-radius: 0.375rem;
24885
+ border-top-right-radius: 0;
24886
+ }
24887
+ .btn-group-vertical > .btn:not(:first-child) {
24888
+ margin-left: 0;
24889
+ margin-top: -1px;
24890
+ }
24891
+
24892
+ .btn-group-sm > .btn {
24893
+ padding: 0.375rem 0.75rem;
24894
+ font-size: var(--text-sm);
24895
+ }
24896
+
24897
+ .btn-group-lg > .btn {
24898
+ padding: 0.625rem 1.25rem;
24899
+ font-size: var(--text-lg);
24900
+ }
24901
+
24902
+ .btn-group-connected > .btn {
24903
+ border-right-width: 0;
24904
+ }
24905
+ .btn-group-connected > .btn:last-child {
24906
+ border-right-width: 1px;
24907
+ }
24908
+ .btn-group-connected.btn-group-vertical > .btn {
24909
+ border-right-width: 1px;
24910
+ border-bottom-width: 0;
24911
+ }
24912
+ .btn-group-connected.btn-group-vertical > .btn:last-child {
24913
+ border-bottom-width: 1px;
24914
+ }
24915
+
24916
+ .btn-group-spaced {
24917
+ gap: 0.5rem;
24918
+ }
24919
+ .btn-group-spaced > .btn {
24920
+ border-radius: 0.375rem;
24921
+ margin-left: 0;
24922
+ }
24923
+ .btn-group-spaced > .btn:not(:first-child) {
24924
+ margin-left: 0;
24925
+ }
24926
+
24927
+ .btn-group-spaced-sm {
24928
+ gap: 0.25rem;
24929
+ }
24930
+
24931
+ .btn-group-spaced-lg {
24932
+ gap: 0.75rem;
24933
+ }
24934
+
24935
+ .btn-group-full {
24936
+ display: flex;
24937
+ width: 100%;
24938
+ }
24939
+ .btn-group-full > .btn {
24940
+ flex: 1;
24941
+ }
24942
+
24943
+ .btn-group-divided > .btn:not(:last-child)::after {
24944
+ content: "";
24945
+ position: absolute;
24946
+ top: 25%;
24947
+ right: 0;
24948
+ height: 50%;
24949
+ width: 1px;
24950
+ background-color: rgba(0, 0, 0, 0.1);
24951
+ }
24952
+ .btn-group-divided.btn-group-vertical > .btn:not(:last-child)::after {
24953
+ top: auto;
24954
+ bottom: 0;
24955
+ right: 25%;
24956
+ height: 1px;
24957
+ width: 50%;
24958
+ }
24959
+
24960
+ .btn-group-rounded > .btn:first-child {
24961
+ border-top-left-radius: 9999px;
24962
+ border-bottom-left-radius: 9999px;
24963
+ }
24964
+ .btn-group-rounded > .btn:last-child {
24965
+ border-top-right-radius: 9999px;
24966
+ border-bottom-right-radius: 9999px;
24967
+ }
24968
+
24969
+ .btn-group-toggle > .btn {
24970
+ cursor: pointer;
24971
+ user-select: none;
24972
+ }
24973
+ .btn-group-toggle > .btn.active {
24974
+ background-color: var(--primary);
24975
+ border-color: var(--primary);
24976
+ color: var(--white);
24977
+ z-index: 2;
24978
+ }
24979
+ .btn-group-toggle > .btn input[type=radio],
24980
+ .btn-group-toggle > .btn input[type=checkbox] {
24981
+ position: absolute;
24982
+ opacity: 0;
24983
+ pointer-events: none;
24984
+ }
24985
+
24986
+ .btn-group-segmented {
24987
+ padding: 0.25rem;
24988
+ background-color: var(--gray-100);
24989
+ border-radius: 0.75rem;
24990
+ }
24991
+ .btn-group-segmented > .btn {
24992
+ background-color: transparent;
24993
+ border: none;
24994
+ color: var(--text-muted);
24995
+ font-weight: 500;
24996
+ }
24997
+ .btn-group-segmented > .btn:hover {
24998
+ color: var(--text);
24999
+ }
25000
+ .btn-group-segmented > .btn.active {
25001
+ background-color: var(--bg);
25002
+ color: var(--text);
25003
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
25004
+ }
25005
+ .btn-group-segmented > .btn:first-child {
25006
+ border-radius: 0.375rem;
25007
+ }
25008
+ .btn-group-segmented > .btn:last-child {
25009
+ border-radius: 0.375rem;
25010
+ }
25011
+
25012
+ .btn-group-primary > .btn.active {
25013
+ background-color: var(--primary);
25014
+ border-color: var(--primary);
25015
+ color: var(--white);
25016
+ }
25017
+
25018
+ .btn-group-secondary > .btn.active {
25019
+ background-color: var(--gray-600);
25020
+ border-color: var(--gray-600);
25021
+ color: var(--white);
25022
+ }
25023
+
25024
+ .btn-group-success > .btn.active {
25025
+ background-color: var(--success);
25026
+ border-color: var(--success);
25027
+ color: var(--white);
25028
+ }
25029
+
25030
+ .btn-group-danger > .btn.active {
25031
+ background-color: var(--danger);
25032
+ border-color: var(--danger);
25033
+ color: var(--white);
25034
+ }
25035
+
25036
+ .btn-toolbar {
25037
+ display: flex;
25038
+ flex-wrap: wrap;
25039
+ gap: 0.5rem;
25040
+ }
25041
+
25042
+ .btn-split > .btn:first-child {
25043
+ border-top-right-radius: 0;
25044
+ border-bottom-right-radius: 0;
25045
+ }
25046
+ .btn-split > .btn-split-toggle {
25047
+ padding-left: 0.5rem;
25048
+ padding-right: 0.5rem;
25049
+ border-top-left-radius: 0;
25050
+ border-bottom-left-radius: 0;
25051
+ border-left: 1px solid rgba(255, 255, 255, 0.2);
25052
+ }
25053
+
25054
+ .btn-group-dropdown {
25055
+ position: relative;
25056
+ }
25057
+ .btn-group-dropdown .dropdown-menu {
25058
+ position: absolute;
25059
+ top: 100%;
25060
+ left: 0;
25061
+ z-index: 1000;
25062
+ min-width: 10rem;
25063
+ margin-top: 0.25rem;
25064
+ }
25065
+ .btn-group-dropdown.dropup .dropdown-menu {
25066
+ top: auto;
25067
+ bottom: 100%;
25068
+ margin-top: 0;
25069
+ margin-bottom: 0.25rem;
25070
+ }
25071
+
25072
+ [data-theme=dark] .btn-group-segmented {
25073
+ background-color: var(--gray-800);
25074
+ }
25075
+ [data-theme=dark] .btn-group-segmented > .btn {
25076
+ color: var(--gray-400);
25077
+ }
25078
+ [data-theme=dark] .btn-group-segmented > .btn:hover {
25079
+ color: var(--gray-200);
25080
+ }
25081
+ [data-theme=dark] .btn-group-segmented > .btn.active {
25082
+ background-color: var(--gray-700);
25083
+ color: var(--gray-100);
25084
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
25085
+ }
25086
+ [data-theme=dark] .btn-group-divided > .btn:not(:last-child)::after {
25087
+ background-color: rgba(255, 255, 255, 0.1);
25088
+ }
25089
+
25090
+ .password-input {
25091
+ position: relative;
25092
+ display: flex;
25093
+ align-items: center;
25094
+ }
25095
+
25096
+ .password-input-field {
25097
+ width: 100%;
25098
+ padding: 0.625rem 2.75rem 0.625rem 0.875rem;
25099
+ font-size: var(--text-sm);
25100
+ font-family: inherit;
25101
+ color: var(--text);
25102
+ background-color: var(--bg);
25103
+ border: 1px solid var(--border);
25104
+ border-radius: 0.375rem;
25105
+ transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
25106
+ }
25107
+ .password-input-field:focus {
25108
+ outline: none;
25109
+ border-color: var(--primary);
25110
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
25111
+ }
25112
+ .password-input-field::placeholder {
25113
+ color: var(--text-muted);
25114
+ }
25115
+ .password-input-field:disabled {
25116
+ background-color: var(--bg-muted);
25117
+ cursor: not-allowed;
25118
+ opacity: 0.6;
25119
+ }
25120
+
25121
+ .password-toggle {
25122
+ position: absolute;
25123
+ right: 0.5rem;
25124
+ top: 50%;
25125
+ transform: translateY(-50%);
25126
+ display: flex;
25127
+ align-items: center;
25128
+ justify-content: center;
25129
+ width: 2rem;
25130
+ height: 2rem;
25131
+ padding: 0;
25132
+ color: var(--text-muted);
25133
+ background: transparent;
25134
+ border: none;
25135
+ border-radius: 0.375rem;
25136
+ cursor: pointer;
25137
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
25138
+ }
25139
+ .password-toggle:hover {
25140
+ color: var(--text);
25141
+ background-color: var(--gray-100);
25142
+ }
25143
+ .password-toggle:focus {
25144
+ outline: none;
25145
+ color: var(--primary);
25146
+ }
25147
+ .password-toggle svg {
25148
+ width: 1.125rem;
25149
+ height: 1.125rem;
25150
+ }
25151
+
25152
+ .password-icon-show,
25153
+ .password-icon-hide {
25154
+ display: none;
25155
+ }
25156
+
25157
+ .password-input-field[type=password] ~ .password-toggle .password-icon-show {
25158
+ display: block;
25159
+ }
25160
+ .password-input-field[type=password] ~ .password-toggle .password-icon-hide {
25161
+ display: none;
25162
+ }
25163
+
25164
+ .password-input-field[type=text] ~ .password-toggle .password-icon-show {
25165
+ display: none;
25166
+ }
25167
+ .password-input-field[type=text] ~ .password-toggle .password-icon-hide {
25168
+ display: block;
25169
+ }
25170
+
25171
+ .password-input-sm .password-input-field {
25172
+ padding: 0.5rem 2.5rem 0.5rem 0.75rem;
25173
+ font-size: var(--text-xs);
25174
+ }
25175
+ .password-input-sm .password-toggle {
25176
+ width: 1.75rem;
25177
+ height: 1.75rem;
25178
+ }
25179
+ .password-input-sm .password-toggle svg {
25180
+ width: 1rem;
25181
+ height: 1rem;
25182
+ }
25183
+
25184
+ .password-input-lg .password-input-field {
25185
+ padding: 0.75rem 3rem 0.75rem 1rem;
25186
+ font-size: var(--text-base);
25187
+ }
25188
+ .password-input-lg .password-toggle {
25189
+ width: 2.25rem;
25190
+ height: 2.25rem;
25191
+ right: 0.625rem;
25192
+ }
25193
+ .password-input-lg .password-toggle svg {
25194
+ width: 1.25rem;
25195
+ height: 1.25rem;
25196
+ }
25197
+
25198
+ .password-strength {
25199
+ display: flex;
25200
+ gap: 0.25rem;
25201
+ margin-top: 0.5rem;
25202
+ }
25203
+
25204
+ .password-strength-bar {
25205
+ flex: 1;
25206
+ height: 4px;
25207
+ background-color: var(--gray-200);
25208
+ border-radius: 2px;
25209
+ transition: background-color 150ms ease-in-out;
25210
+ }
25211
+
25212
+ .password-strength-weak .password-strength-bar:nth-child(1) {
25213
+ background-color: var(--danger);
25214
+ }
25215
+
25216
+ .password-strength-fair .password-strength-bar:nth-child(-n+2) {
25217
+ background-color: var(--warning);
25218
+ }
25219
+
25220
+ .password-strength-good .password-strength-bar:nth-child(-n+3) {
25221
+ background-color: var(--info);
25222
+ }
25223
+
25224
+ .password-strength-strong .password-strength-bar {
25225
+ background-color: var(--success);
25226
+ }
25227
+
25228
+ .password-strength-text {
25229
+ font-size: var(--text-xs);
25230
+ margin-top: 0.375rem;
25231
+ }
25232
+
25233
+ .password-strength-weak .password-strength-text {
25234
+ color: var(--danger);
25235
+ }
25236
+
25237
+ .password-strength-fair .password-strength-text {
25238
+ color: var(--warning-700);
25239
+ }
25240
+
25241
+ .password-strength-good .password-strength-text {
25242
+ color: var(--info);
25243
+ }
25244
+
25245
+ .password-strength-strong .password-strength-text {
25246
+ color: var(--success);
25247
+ }
25248
+
25249
+ .password-requirements {
25250
+ margin-top: 0.75rem;
25251
+ font-size: var(--text-xs);
25252
+ }
25253
+
25254
+ .password-requirement {
25255
+ display: flex;
25256
+ align-items: center;
25257
+ gap: 0.375rem;
25258
+ margin-bottom: 0.25rem;
25259
+ color: var(--text-muted);
25260
+ }
25261
+ .password-requirement svg {
25262
+ width: 0.875rem;
25263
+ height: 0.875rem;
25264
+ flex-shrink: 0;
25265
+ }
25266
+
25267
+ .password-requirement-met {
25268
+ color: var(--success);
25269
+ }
25270
+ .password-requirement-met svg {
25271
+ color: var(--success);
25272
+ }
25273
+
25274
+ .password-requirement-unmet {
25275
+ color: var(--text-muted);
25276
+ }
25277
+ .password-requirement-unmet svg {
25278
+ color: var(--gray-400);
25279
+ }
25280
+
25281
+ .password-input-error .password-input-field {
25282
+ border-color: var(--danger);
25283
+ }
25284
+ .password-input-error .password-input-field:focus {
25285
+ border-color: var(--danger);
25286
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
25287
+ }
25288
+
25289
+ .password-input-success .password-input-field {
25290
+ border-color: var(--success);
25291
+ }
25292
+ .password-input-success .password-input-field:focus {
25293
+ border-color: var(--success);
25294
+ box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
25295
+ }
25296
+
25297
+ .password-input-icon .password-input-field {
25298
+ padding-left: 2.5rem;
25299
+ }
25300
+
25301
+ .password-icon-left {
25302
+ position: absolute;
25303
+ left: 0.75rem;
25304
+ top: 50%;
25305
+ transform: translateY(-50%);
25306
+ color: var(--text-muted);
25307
+ pointer-events: none;
25308
+ }
25309
+ .password-icon-left svg {
25310
+ width: 1rem;
25311
+ height: 1rem;
25312
+ }
25313
+
25314
+ .password-confirm-wrapper {
25315
+ display: flex;
25316
+ flex-direction: column;
25317
+ gap: 1rem;
25318
+ }
25319
+
25320
+ .password-match-indicator {
25321
+ display: flex;
25322
+ align-items: center;
25323
+ gap: 0.375rem;
25324
+ font-size: var(--text-xs);
25325
+ margin-top: 0.25rem;
25326
+ }
25327
+
25328
+ .password-match {
25329
+ color: var(--success);
25330
+ }
25331
+
25332
+ .password-mismatch {
25333
+ color: var(--danger);
25334
+ }
25335
+
25336
+ [data-theme=dark] .password-input-field {
25337
+ background-color: var(--gray-900);
25338
+ border-color: var(--gray-700);
25339
+ color: var(--gray-100);
25340
+ }
25341
+ [data-theme=dark] .password-input-field:focus {
25342
+ border-color: var(--primary);
25343
+ }
25344
+ [data-theme=dark] .password-toggle {
25345
+ color: var(--gray-500);
25346
+ }
25347
+ [data-theme=dark] .password-toggle:hover {
25348
+ color: var(--gray-300);
25349
+ background-color: var(--gray-800);
25350
+ }
25351
+ [data-theme=dark] .password-strength-bar {
25352
+ background-color: var(--gray-700);
25353
+ }
25354
+
25355
+ .code {
25356
+ display: inline;
25357
+ padding: 0.125rem 0.375rem;
25358
+ font-family: var(--font-mono);
25359
+ font-size: 0.875em;
25360
+ font-weight: 500;
25361
+ color: var(--danger-600);
25362
+ background-color: var(--gray-100);
25363
+ border-radius: 0.25rem;
25364
+ word-wrap: break-word;
25365
+ }
25366
+
25367
+ .code-primary {
25368
+ color: var(--primary-700);
25369
+ background-color: var(--primary-50);
25370
+ }
25371
+
25372
+ .code-secondary {
25373
+ color: var(--gray-700);
25374
+ background-color: var(--gray-100);
25375
+ }
25376
+
25377
+ .code-success {
25378
+ color: var(--success-700);
25379
+ background-color: var(--success-50);
25380
+ }
25381
+
25382
+ .code-danger {
25383
+ color: var(--danger-700);
25384
+ background-color: var(--danger-50);
25385
+ }
25386
+
25387
+ .code-warning {
25388
+ color: var(--warning-700);
25389
+ background-color: var(--warning-50);
25390
+ }
25391
+
25392
+ .code-info {
25393
+ color: var(--info-700);
25394
+ background-color: var(--info-50);
25395
+ }
25396
+
25397
+ .code-block {
25398
+ display: block;
25399
+ padding: 1rem;
25400
+ font-family: var(--font-mono);
25401
+ font-size: var(--text-sm);
25402
+ line-height: 1.6;
25403
+ color: var(--gray-100);
25404
+ background-color: var(--gray-900);
25405
+ border-radius: 0.75rem;
25406
+ overflow-x: auto;
25407
+ white-space: pre;
25408
+ tab-size: 2;
25409
+ }
25410
+ .code-block code {
25411
+ display: block;
25412
+ padding: 0;
25413
+ font-size: inherit;
25414
+ color: inherit;
25415
+ background: transparent;
25416
+ border-radius: 0;
25417
+ }
25418
+
25419
+ .code-wrapper {
25420
+ border-radius: 0.75rem;
25421
+ overflow: hidden;
25422
+ border: 1px solid var(--gray-800);
25423
+ }
25424
+
25425
+ .code-header {
25426
+ display: flex;
25427
+ align-items: center;
25428
+ justify-content: space-between;
25429
+ padding: 0.5rem 1rem;
25430
+ background-color: var(--gray-800);
25431
+ border-bottom: 1px solid var(--gray-700);
25432
+ }
25433
+
25434
+ .code-filename {
25435
+ display: flex;
25436
+ align-items: center;
25437
+ gap: 0.5rem;
25438
+ font-size: var(--text-xs);
25439
+ font-family: var(--font-mono);
25440
+ color: var(--gray-400);
25441
+ }
25442
+ .code-filename svg {
25443
+ width: 1rem;
25444
+ height: 1rem;
25445
+ }
25446
+
25447
+ .code-language {
25448
+ font-size: var(--text-xs);
25449
+ font-weight: 500;
25450
+ color: var(--gray-500);
25451
+ text-transform: uppercase;
25452
+ letter-spacing: 0.05em;
25453
+ }
25454
+
25455
+ .code-wrapper .code-block {
25456
+ border-radius: 0;
25457
+ border: none;
25458
+ }
25459
+
25460
+ .code-copy {
25461
+ display: inline-flex;
25462
+ align-items: center;
25463
+ justify-content: center;
25464
+ gap: 0.375rem;
25465
+ padding: 0.375rem 0.625rem;
25466
+ font-size: var(--text-xs);
25467
+ font-weight: 500;
25468
+ color: var(--gray-400);
25469
+ background-color: var(--gray-700);
25470
+ border: none;
25471
+ border-radius: 0.375rem;
25472
+ cursor: pointer;
25473
+ transition: all 150ms ease-in-out;
25474
+ }
25475
+ .code-copy:hover {
25476
+ color: var(--gray-200);
25477
+ background-color: var(--gray-600);
25478
+ }
25479
+ .code-copy svg {
25480
+ width: 0.875rem;
25481
+ height: 0.875rem;
25482
+ }
25483
+
25484
+ .code-copy-success {
25485
+ color: var(--success) !important;
25486
+ }
25487
+
25488
+ .code-block-copy {
25489
+ position: relative;
25490
+ }
25491
+ .code-block-copy .code-copy {
25492
+ position: absolute;
25493
+ top: 0.5rem;
25494
+ right: 0.5rem;
25495
+ opacity: 0;
25496
+ transition: opacity 150ms ease-in-out;
25497
+ }
25498
+ .code-block-copy:hover .code-copy {
25499
+ opacity: 1;
25500
+ }
25501
+
25502
+ .code-line-numbers {
25503
+ display: flex;
25504
+ }
25505
+
25506
+ .code-lines {
25507
+ flex-shrink: 0;
25508
+ padding: 1rem 0;
25509
+ text-align: right;
25510
+ user-select: none;
25511
+ border-right: 1px solid var(--gray-700);
25512
+ color: var(--gray-600);
25513
+ font-size: var(--text-sm);
25514
+ }
25515
+ .code-lines span {
25516
+ display: block;
25517
+ padding: 0 0.75rem;
25518
+ line-height: 1.6;
25519
+ }
25520
+
25521
+ .code-line-numbers .code-content {
25522
+ flex: 1;
25523
+ padding: 1rem;
25524
+ overflow-x: auto;
25525
+ }
25526
+ .code-line-numbers .code-content code {
25527
+ display: block;
25528
+ line-height: 1.6;
25529
+ }
25530
+
25531
+ .code-highlight-line {
25532
+ display: block;
25533
+ background-color: rgba(79, 70, 229, 0.15);
25534
+ margin: 0 -1rem;
25535
+ padding: 0 1rem;
25536
+ border-left: 3px solid var(--primary);
25537
+ }
25538
+
25539
+ .code-diff-add {
25540
+ background-color: rgba(16, 185, 129, 0.15);
25541
+ }
25542
+ .code-diff-add::before {
25543
+ content: "+";
25544
+ color: var(--success);
25545
+ margin-right: 0.5rem;
25546
+ }
25547
+
25548
+ .code-diff-remove {
25549
+ background-color: rgba(239, 68, 68, 0.15);
25550
+ }
25551
+ .code-diff-remove::before {
25552
+ content: "-";
25553
+ color: var(--danger);
25554
+ margin-right: 0.5rem;
25555
+ }
25556
+
25557
+ .code-snippet {
25558
+ display: inline-flex;
25559
+ align-items: center;
25560
+ gap: 0.5rem;
25561
+ padding: 0.5rem 0.75rem;
25562
+ font-family: var(--font-mono);
25563
+ font-size: var(--text-sm);
25564
+ color: var(--gray-100);
25565
+ background-color: var(--gray-900);
25566
+ border-radius: 0.375rem;
25567
+ max-width: 100%;
25568
+ }
25569
+
25570
+ .code-snippet-text {
25571
+ overflow: hidden;
25572
+ text-overflow: ellipsis;
25573
+ white-space: nowrap;
25574
+ }
25575
+
25576
+ .code-snippet-copy {
25577
+ flex-shrink: 0;
25578
+ display: inline-flex;
25579
+ align-items: center;
25580
+ justify-content: center;
25581
+ padding: 0.25rem;
25582
+ color: var(--gray-500);
25583
+ background: transparent;
25584
+ border: none;
25585
+ border-radius: 0.25rem;
25586
+ cursor: pointer;
25587
+ transition: color 150ms ease-in-out;
25588
+ }
25589
+ .code-snippet-copy:hover {
25590
+ color: var(--gray-300);
25591
+ }
25592
+ .code-snippet-copy svg {
25593
+ width: 0.875rem;
25594
+ height: 0.875rem;
25595
+ }
25596
+
25597
+ .code-terminal {
25598
+ position: relative;
25599
+ padding-top: 2rem;
25600
+ }
25601
+ .code-terminal::before {
25602
+ content: "";
25603
+ position: absolute;
25604
+ top: 0;
25605
+ left: 0;
25606
+ right: 0;
25607
+ height: 2rem;
25608
+ background-color: var(--gray-800);
25609
+ border-radius: 0.75rem 0.75rem 0 0;
25610
+ }
25611
+ .code-terminal::after {
25612
+ content: "";
25613
+ position: absolute;
25614
+ top: 0.75rem;
25615
+ left: 0.75rem;
25616
+ width: 0.625rem;
25617
+ height: 0.625rem;
25618
+ background-color: var(--danger);
25619
+ border-radius: 50%;
25620
+ box-shadow: 1rem 0 0 var(--warning), 2rem 0 0 var(--success);
25621
+ }
25622
+
25623
+ .code-terminal .code-block {
25624
+ border-radius: 0 0 0.75rem 0.75rem;
25625
+ }
25626
+
25627
+ .code-prompt {
25628
+ color: var(--success);
25629
+ user-select: none;
25630
+ }
25631
+ .code-prompt::before {
25632
+ content: "$ ";
25633
+ }
25634
+
25635
+ .code-block-light {
25636
+ color: var(--gray-800);
25637
+ background-color: var(--gray-50);
25638
+ border: 1px solid var(--border);
25639
+ }
25640
+
25641
+ .code-wrapper-light {
25642
+ border-color: var(--border);
25643
+ }
25644
+ .code-wrapper-light .code-header {
25645
+ background-color: var(--gray-100);
25646
+ border-color: var(--border);
25647
+ }
25648
+ .code-wrapper-light .code-filename {
25649
+ color: var(--gray-600);
25650
+ }
25651
+ .code-wrapper-light .code-copy {
25652
+ background-color: var(--gray-200);
25653
+ color: var(--gray-600);
25654
+ }
25655
+ .code-wrapper-light .code-copy:hover {
25656
+ background-color: var(--gray-300);
25657
+ color: var(--gray-800);
25658
+ }
25659
+
25660
+ [data-theme=dark] .code {
25661
+ background-color: var(--gray-800);
25662
+ color: var(--danger-300);
25663
+ }
25664
+ [data-theme=dark] .code-primary {
25665
+ background-color: rgba(79, 70, 229, 0.2);
25666
+ color: var(--primary-300);
25667
+ }
25668
+ [data-theme=dark] .code-secondary {
25669
+ background-color: var(--gray-800);
25670
+ color: var(--gray-300);
25671
+ }
25672
+ [data-theme=dark] .code-success {
25673
+ background-color: rgba(16, 185, 129, 0.2);
25674
+ color: var(--success-300);
25675
+ }
25676
+ [data-theme=dark] .code-danger {
25677
+ background-color: rgba(239, 68, 68, 0.2);
25678
+ color: var(--danger-300);
25679
+ }
25680
+ [data-theme=dark] .code-warning {
25681
+ background-color: rgba(245, 158, 11, 0.2);
25682
+ color: var(--warning-300);
25683
+ }
25684
+ [data-theme=dark] .code-info {
25685
+ background-color: rgba(6, 182, 212, 0.2);
25686
+ color: var(--info-300);
25687
+ }
25688
+
25689
+ .toggle {
25690
+ display: inline-flex;
25691
+ align-items: center;
25692
+ justify-content: center;
25693
+ padding: 0.5rem 0.75rem;
25694
+ font-size: var(--text-sm);
25695
+ font-weight: 500;
25696
+ color: var(--text);
25697
+ background-color: transparent;
25698
+ border: 1px solid var(--border);
25699
+ border-radius: 0.375rem;
25700
+ cursor: pointer;
25701
+ user-select: none;
25702
+ transition: all 150ms ease-in-out;
25703
+ -webkit-tap-highlight-color: transparent;
25704
+ }
25705
+ .toggle:hover {
25706
+ background-color: var(--gray-100);
25707
+ }
25708
+ .toggle:focus {
25709
+ outline: none;
25710
+ box-shadow: 0 0 0 2px var(--primary-200);
25711
+ }
25712
+ .toggle:active {
25713
+ transform: scale(0.98);
25714
+ }
25715
+
25716
+ .toggle-pressed,
25717
+ .toggle[aria-pressed=true],
25718
+ .toggle.active {
25719
+ background-color: var(--primary);
25720
+ border-color: var(--primary);
25721
+ color: var(--white);
25722
+ }
25723
+ .toggle-pressed:hover,
25724
+ .toggle[aria-pressed=true]:hover,
25725
+ .toggle.active:hover {
25726
+ background-color: var(--primary-600);
25727
+ border-color: var(--primary-600);
25728
+ }
25729
+
25730
+ .toggle:disabled,
25731
+ .toggle-disabled {
25732
+ opacity: 0.5;
25733
+ cursor: not-allowed;
25734
+ pointer-events: none;
25735
+ }
25736
+
25737
+ .toggle-xs {
25738
+ padding: 0.25rem 0.5rem;
25739
+ font-size: var(--text-xs);
25740
+ }
25741
+
25742
+ .toggle-sm {
25743
+ padding: 0.375rem 0.625rem;
25744
+ font-size: var(--text-xs);
25745
+ }
25746
+
25747
+ .toggle-md {
25748
+ padding: 0.5rem 0.75rem;
25749
+ font-size: var(--text-sm);
25750
+ }
25751
+
25752
+ .toggle-lg {
25753
+ padding: 0.625rem 1rem;
25754
+ font-size: var(--text-base);
25755
+ }
25756
+
25757
+ .toggle-icon {
25758
+ padding: 0.5rem;
25759
+ }
25760
+ .toggle-icon svg {
25761
+ width: 1.25rem;
25762
+ height: 1.25rem;
25763
+ }
25764
+
25765
+ .toggle-icon-sm {
25766
+ padding: 0.375rem;
25767
+ }
25768
+ .toggle-icon-sm svg {
25769
+ width: 1rem;
25770
+ height: 1rem;
25771
+ }
25772
+
25773
+ .toggle-icon-lg {
25774
+ padding: 0.625rem;
25775
+ }
25776
+ .toggle-icon-lg svg {
25777
+ width: 1.5rem;
25778
+ height: 1.5rem;
25779
+ }
25780
+
25781
+ .toggle-icon-text {
25782
+ gap: 0.375rem;
25783
+ }
25784
+ .toggle-icon-text svg {
25785
+ width: 1rem;
25786
+ height: 1rem;
25787
+ }
25788
+
25789
+ .toggle-outline {
25790
+ background-color: transparent;
25791
+ }
25792
+ .toggle-outline.toggle-pressed, .toggle-outline[aria-pressed=true] {
25793
+ background-color: var(--primary);
25794
+ color: var(--white);
25795
+ }
25796
+
25797
+ .toggle-ghost {
25798
+ border-color: transparent;
25799
+ }
25800
+ .toggle-ghost:hover {
25801
+ background-color: var(--gray-100);
25802
+ }
25803
+ .toggle-ghost.toggle-pressed, .toggle-ghost[aria-pressed=true] {
25804
+ background-color: var(--primary-100);
25805
+ color: var(--primary);
25806
+ border-color: transparent;
25807
+ }
25808
+
25809
+ .toggle-soft {
25810
+ background-color: var(--gray-100);
25811
+ border-color: transparent;
25812
+ }
25813
+ .toggle-soft.toggle-pressed, .toggle-soft[aria-pressed=true] {
25814
+ background-color: var(--primary-100);
25815
+ color: var(--primary);
25816
+ }
25817
+
25818
+ .toggle-primary.toggle-pressed, .toggle-primary[aria-pressed=true] {
25819
+ background-color: var(--primary);
25820
+ border-color: var(--primary);
25821
+ color: var(--white);
25822
+ }
25823
+
25824
+ .toggle-secondary.toggle-pressed, .toggle-secondary[aria-pressed=true] {
25825
+ background-color: var(--gray-600);
25826
+ border-color: var(--gray-600);
25827
+ color: var(--white);
25828
+ }
25829
+
25830
+ .toggle-success.toggle-pressed, .toggle-success[aria-pressed=true] {
25831
+ background-color: var(--success);
25832
+ border-color: var(--success);
25833
+ color: var(--white);
25834
+ }
25835
+
25836
+ .toggle-danger.toggle-pressed, .toggle-danger[aria-pressed=true] {
25837
+ background-color: var(--danger);
25838
+ border-color: var(--danger);
25839
+ color: var(--white);
25840
+ }
25841
+
25842
+ .toggle-warning.toggle-pressed, .toggle-warning[aria-pressed=true] {
25843
+ background-color: var(--warning);
25844
+ border-color: var(--warning);
25845
+ color: var(--gray-900);
25846
+ }
25847
+
25848
+ .toggle-group {
25849
+ display: inline-flex;
25850
+ border-radius: 0.375rem;
25851
+ }
25852
+
25853
+ .toggle-group .toggle {
25854
+ border-radius: 0;
25855
+ }
25856
+ .toggle-group .toggle:first-child {
25857
+ border-top-left-radius: 0.375rem;
25858
+ border-bottom-left-radius: 0.375rem;
25859
+ }
25860
+ .toggle-group .toggle:last-child {
25861
+ border-top-right-radius: 0.375rem;
25862
+ border-bottom-right-radius: 0.375rem;
25863
+ }
25864
+ .toggle-group .toggle:not(:first-child) {
25865
+ margin-left: -1px;
25866
+ }
25867
+ .toggle-group .toggle:hover, .toggle-group .toggle:focus, .toggle-group .toggle.toggle-pressed {
25868
+ z-index: 1;
25869
+ }
25870
+
25871
+ .toggle-group-vertical {
25872
+ flex-direction: column;
25873
+ }
25874
+ .toggle-group-vertical .toggle:first-child {
25875
+ border-top-left-radius: 0.375rem;
25876
+ border-top-right-radius: 0.375rem;
25877
+ border-bottom-left-radius: 0;
25878
+ }
25879
+ .toggle-group-vertical .toggle:last-child {
25880
+ border-bottom-left-radius: 0.375rem;
25881
+ border-bottom-right-radius: 0.375rem;
25882
+ border-top-right-radius: 0;
25883
+ }
25884
+ .toggle-group-vertical .toggle:not(:first-child) {
25885
+ margin-left: 0;
25886
+ margin-top: -1px;
25887
+ }
25888
+
25889
+ .toggle-group-spaced {
25890
+ gap: 0.375rem;
25891
+ }
25892
+ .toggle-group-spaced .toggle {
25893
+ border-radius: 0.375rem;
25894
+ margin: 0;
25895
+ }
25896
+
25897
+ .toggle-group-single .toggle.toggle-pressed:not(:hover):not(:focus) {
25898
+ z-index: 1;
25899
+ }
25900
+
25901
+ .toggle-group-multiple .toggle.toggle-pressed {
25902
+ z-index: 1;
25903
+ }
25904
+
25905
+ .toggle-group-full {
25906
+ width: 100%;
25907
+ display: flex;
25908
+ }
25909
+ .toggle-group-full .toggle {
25910
+ flex: 1;
25911
+ justify-content: center;
25912
+ }
25913
+
25914
+ .toggle-group-sm .toggle {
25915
+ padding: 0.375rem 0.625rem;
25916
+ font-size: var(--text-xs);
25917
+ }
25918
+
25919
+ .toggle-group-lg .toggle {
25920
+ padding: 0.625rem 1rem;
25921
+ font-size: var(--text-base);
25922
+ }
25923
+
25924
+ .toggle-group-outline .toggle {
25925
+ background-color: transparent;
25926
+ }
25927
+
25928
+ .toggle-group-soft {
25929
+ padding: 0.25rem;
25930
+ background-color: var(--gray-100);
25931
+ border: none;
25932
+ border-radius: 0.75rem;
25933
+ }
25934
+ .toggle-group-soft .toggle {
25935
+ border: none;
25936
+ background-color: transparent;
25937
+ }
25938
+ .toggle-group-soft .toggle.toggle-pressed {
25939
+ background-color: var(--bg);
25940
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
25941
+ }
25942
+
25943
+ [data-theme=dark] .toggle {
25944
+ border-color: var(--gray-600);
25945
+ color: var(--gray-300);
25946
+ }
25947
+ [data-theme=dark] .toggle:hover {
25948
+ background-color: var(--gray-800);
25949
+ }
25950
+ [data-theme=dark] .toggle-ghost:hover {
25951
+ background-color: var(--gray-800);
25952
+ }
25953
+ [data-theme=dark] .toggle-ghost.toggle-pressed,
25954
+ [data-theme=dark] .toggle-ghost[aria-pressed=true] {
25955
+ background-color: rgba(79, 70, 229, 0.2);
25956
+ color: var(--primary-300);
25957
+ }
25958
+ [data-theme=dark] .toggle-soft {
25959
+ background-color: var(--gray-800);
25960
+ }
25961
+ [data-theme=dark] .toggle-soft.toggle-pressed, [data-theme=dark] .toggle-soft[aria-pressed=true] {
25962
+ background-color: rgba(79, 70, 229, 0.2);
25963
+ color: var(--primary-300);
25964
+ }
25965
+ [data-theme=dark] .toggle-group-soft {
25966
+ background-color: var(--gray-800);
25967
+ }
25968
+ [data-theme=dark] .toggle-group-soft .toggle.toggle-pressed {
25969
+ background-color: var(--gray-700);
25970
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
25971
+ }
25972
+
25973
+ .hover-card-trigger {
25974
+ display: inline-block;
25975
+ cursor: pointer;
25976
+ }
25977
+
25978
+ .hover-card {
25979
+ position: relative;
25980
+ display: inline-block;
25981
+ }
25982
+
25983
+ .hover-card-content {
25984
+ position: absolute;
25985
+ z-index: 1000;
25986
+ width: 320px;
25987
+ padding: 1rem;
25988
+ background-color: var(--bg);
25989
+ border: 1px solid var(--border);
25990
+ border-radius: 0.75rem;
25991
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
25992
+ opacity: 0;
25993
+ visibility: hidden;
25994
+ transform: translateY(5px);
25995
+ transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out, transform 200ms ease-in-out;
25996
+ pointer-events: none;
25997
+ }
25998
+
25999
+ .hover-card:hover .hover-card-content,
26000
+ .hover-card-content:hover,
26001
+ .hover-card.open .hover-card-content {
26002
+ opacity: 1;
26003
+ visibility: visible;
26004
+ transform: translateY(0);
26005
+ pointer-events: auto;
26006
+ }
26007
+
26008
+ .hover-card-top .hover-card-content {
26009
+ bottom: calc(100% + 8px);
26010
+ left: 50%;
26011
+ transform: translateX(-50%) translateY(-5px);
26012
+ }
26013
+
26014
+ .hover-card-top:hover .hover-card-content,
26015
+ .hover-card-top.open .hover-card-content {
26016
+ transform: translateX(-50%) translateY(0);
26017
+ }
26018
+
26019
+ .hover-card-bottom .hover-card-content {
26020
+ top: calc(100% + 8px);
26021
+ left: 50%;
26022
+ transform: translateX(-50%) translateY(5px);
26023
+ }
26024
+
26025
+ .hover-card-bottom:hover .hover-card-content,
26026
+ .hover-card-bottom.open .hover-card-content {
26027
+ transform: translateX(-50%) translateY(0);
26028
+ }
26029
+
26030
+ .hover-card-left .hover-card-content {
26031
+ right: calc(100% + 8px);
26032
+ top: 50%;
26033
+ transform: translateY(-50%) translateX(-5px);
26034
+ }
26035
+
26036
+ .hover-card-left:hover .hover-card-content,
26037
+ .hover-card-left.open .hover-card-content {
26038
+ transform: translateY(-50%) translateX(0);
26039
+ }
26040
+
26041
+ .hover-card-right .hover-card-content {
26042
+ left: calc(100% + 8px);
26043
+ top: 50%;
26044
+ transform: translateY(-50%) translateX(5px);
26045
+ }
26046
+
26047
+ .hover-card-right:hover .hover-card-content,
26048
+ .hover-card-right.open .hover-card-content {
26049
+ transform: translateY(-50%) translateX(0);
26050
+ }
26051
+
26052
+ .hover-card-arrow {
26053
+ position: absolute;
26054
+ width: 12px;
26055
+ height: 12px;
26056
+ background-color: var(--bg);
26057
+ border: 1px solid var(--border);
26058
+ border-right: none;
26059
+ border-bottom: none;
26060
+ }
26061
+
26062
+ .hover-card-top .hover-card-arrow {
26063
+ bottom: -7px;
26064
+ left: 50%;
26065
+ transform: translateX(-50%) rotate(-135deg);
26066
+ }
26067
+
26068
+ .hover-card-bottom .hover-card-arrow {
26069
+ top: -7px;
26070
+ left: 50%;
26071
+ transform: translateX(-50%) rotate(45deg);
26072
+ }
26073
+
26074
+ .hover-card-left .hover-card-arrow {
26075
+ right: -7px;
26076
+ top: 50%;
26077
+ transform: translateY(-50%) rotate(135deg);
26078
+ }
26079
+
26080
+ .hover-card-right .hover-card-arrow {
26081
+ left: -7px;
26082
+ top: 50%;
26083
+ transform: translateY(-50%) rotate(-45deg);
26084
+ }
26085
+
26086
+ .hover-card-sm .hover-card-content {
26087
+ width: 240px;
26088
+ padding: 0.75rem;
26089
+ }
26090
+
26091
+ .hover-card-lg .hover-card-content {
26092
+ width: 400px;
26093
+ padding: 1.25rem;
26094
+ }
26095
+
26096
+ .hover-card-xl .hover-card-content {
26097
+ width: 480px;
26098
+ padding: 1.5rem;
26099
+ }
26100
+
26101
+ .hover-card-auto .hover-card-content {
26102
+ width: auto;
26103
+ min-width: 200px;
26104
+ max-width: 400px;
26105
+ }
26106
+
26107
+ .hover-card-header {
26108
+ display: flex;
26109
+ align-items: flex-start;
26110
+ gap: 0.75rem;
26111
+ margin-bottom: 0.75rem;
26112
+ }
26113
+
26114
+ .hover-card-avatar {
26115
+ flex-shrink: 0;
26116
+ width: 3rem;
26117
+ height: 3rem;
26118
+ border-radius: 50%;
26119
+ object-fit: cover;
26120
+ }
26121
+
26122
+ .hover-card-avatar-lg {
26123
+ width: 4rem;
26124
+ height: 4rem;
26125
+ }
26126
+
26127
+ .hover-card-info {
26128
+ flex: 1;
26129
+ min-width: 0;
26130
+ }
26131
+
26132
+ .hover-card-title {
26133
+ font-size: var(--text-base);
26134
+ font-weight: 600;
26135
+ color: var(--text);
26136
+ margin-bottom: 0.125rem;
26137
+ }
26138
+
26139
+ .hover-card-subtitle {
26140
+ font-size: var(--text-sm);
26141
+ color: var(--text-muted);
26142
+ }
26143
+
26144
+ .hover-card-body {
26145
+ font-size: var(--text-sm);
26146
+ color: var(--text);
26147
+ line-height: 1.5;
26148
+ }
26149
+
26150
+ .hover-card-description {
26151
+ color: var(--text-muted);
26152
+ margin-bottom: 0.75rem;
26153
+ }
26154
+
26155
+ .hover-card-footer {
26156
+ display: flex;
26157
+ align-items: center;
26158
+ gap: 0.75rem;
26159
+ margin-top: 0.75rem;
26160
+ padding-top: 0.75rem;
26161
+ border-top: 1px solid var(--border);
26162
+ }
26163
+
26164
+ .hover-card-stats {
26165
+ display: flex;
26166
+ gap: 1rem;
26167
+ }
26168
+
26169
+ .hover-card-stat {
26170
+ text-align: center;
26171
+ }
26172
+
26173
+ .hover-card-stat-value {
26174
+ font-size: var(--text-base);
26175
+ font-weight: 600;
26176
+ color: var(--text);
26177
+ }
26178
+
26179
+ .hover-card-stat-label {
26180
+ font-size: var(--text-xs);
26181
+ color: var(--text-muted);
26182
+ }
26183
+
26184
+ .hover-card-actions {
26185
+ display: flex;
26186
+ gap: 0.5rem;
26187
+ margin-top: 0.75rem;
26188
+ }
26189
+
26190
+ .hover-card-btn {
26191
+ flex: 1;
26192
+ padding: 0.5rem 0.75rem;
26193
+ font-size: var(--text-sm);
26194
+ font-weight: 500;
26195
+ text-align: center;
26196
+ border-radius: 0.375rem;
26197
+ cursor: pointer;
26198
+ transition: all 150ms ease-in-out;
26199
+ }
26200
+
26201
+ .hover-card-btn-primary {
26202
+ background-color: var(--primary);
26203
+ color: var(--white);
26204
+ border: none;
26205
+ }
26206
+ .hover-card-btn-primary:hover {
26207
+ background-color: var(--primary-600);
26208
+ }
26209
+
26210
+ .hover-card-btn-secondary {
26211
+ background-color: transparent;
26212
+ color: var(--text);
26213
+ border: 1px solid var(--border);
26214
+ }
26215
+ .hover-card-btn-secondary:hover {
26216
+ background-color: var(--gray-100);
26217
+ }
26218
+
26219
+ .hover-card-meta {
26220
+ display: flex;
26221
+ flex-wrap: wrap;
26222
+ gap: 0.75rem;
26223
+ margin-top: 0.5rem;
26224
+ font-size: var(--text-xs);
26225
+ color: var(--text-muted);
26226
+ }
26227
+
26228
+ .hover-card-meta-item {
26229
+ display: flex;
26230
+ align-items: center;
26231
+ gap: 0.25rem;
26232
+ }
26233
+ .hover-card-meta-item svg {
26234
+ width: 0.875rem;
26235
+ height: 0.875rem;
26236
+ }
26237
+
26238
+ .hover-card-image {
26239
+ margin: -1rem -1rem 1rem;
26240
+ border-radius: 0.75rem 0.75rem 0 0;
26241
+ overflow: hidden;
26242
+ }
26243
+ .hover-card-image img {
26244
+ width: 100%;
26245
+ height: 120px;
26246
+ object-fit: cover;
26247
+ }
26248
+
26249
+ .hover-card-tags {
26250
+ display: flex;
26251
+ flex-wrap: wrap;
26252
+ gap: 0.375rem;
26253
+ margin-top: 0.5rem;
26254
+ }
26255
+
26256
+ .hover-card-tag {
26257
+ padding: 0.125rem 0.5rem;
26258
+ font-size: var(--text-xs);
26259
+ background-color: var(--gray-100);
26260
+ border-radius: 999px;
26261
+ color: var(--text-muted);
26262
+ }
26263
+
26264
+ .hover-card-delay-100:hover .hover-card-content {
26265
+ transition-delay: 100ms;
26266
+ }
26267
+
26268
+ .hover-card-delay-200:hover .hover-card-content {
26269
+ transition-delay: 200ms;
26270
+ }
26271
+
26272
+ .hover-card-delay-300:hover .hover-card-content {
26273
+ transition-delay: 300ms;
26274
+ }
26275
+
26276
+ .hover-card-delay-500:hover .hover-card-content {
26277
+ transition-delay: 500ms;
26278
+ }
26279
+
26280
+ [data-theme=dark] .hover-card-content {
26281
+ background-color: var(--gray-900);
26282
+ border-color: var(--gray-700);
26283
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
26284
+ }
26285
+ [data-theme=dark] .hover-card-arrow {
26286
+ background-color: var(--gray-900);
26287
+ border-color: var(--gray-700);
26288
+ }
26289
+ [data-theme=dark] .hover-card-footer {
26290
+ border-color: var(--gray-700);
26291
+ }
26292
+ [data-theme=dark] .hover-card-btn-secondary {
26293
+ border-color: var(--gray-600);
26294
+ }
26295
+ [data-theme=dark] .hover-card-btn-secondary:hover {
26296
+ background-color: var(--gray-800);
26297
+ }
26298
+ [data-theme=dark] .hover-card-tag {
26299
+ background-color: var(--gray-800);
26300
+ color: var(--gray-400);
26301
+ }
26302
+
26303
+ .circular-progress {
26304
+ position: relative;
26305
+ display: inline-flex;
26306
+ align-items: center;
26307
+ justify-content: center;
26308
+ width: 3rem;
26309
+ height: 3rem;
26310
+ }
26311
+
26312
+ .circular-progress-svg {
26313
+ width: 100%;
26314
+ height: 100%;
26315
+ transform: rotate(-90deg);
26316
+ }
26317
+
26318
+ .circular-progress-track {
26319
+ fill: none;
26320
+ stroke: var(--gray-200);
26321
+ stroke-width: 4;
26322
+ }
26323
+
26324
+ .circular-progress-indicator {
26325
+ fill: none;
26326
+ stroke: var(--primary);
26327
+ stroke-width: 4;
26328
+ stroke-linecap: round;
26329
+ transition: stroke-dashoffset 0.3s ease;
26330
+ }
26331
+
26332
+ .circular-progress-xs {
26333
+ width: 1.5rem;
26334
+ height: 1.5rem;
26335
+ }
26336
+ .circular-progress-xs .circular-progress-track,
26337
+ .circular-progress-xs .circular-progress-indicator {
26338
+ stroke-width: 3;
26339
+ }
26340
+
26341
+ .circular-progress-sm {
26342
+ width: 2rem;
26343
+ height: 2rem;
26344
+ }
26345
+ .circular-progress-sm .circular-progress-track,
26346
+ .circular-progress-sm .circular-progress-indicator {
26347
+ stroke-width: 3;
26348
+ }
26349
+
26350
+ .circular-progress-md {
26351
+ width: 3rem;
26352
+ height: 3rem;
26353
+ }
26354
+
26355
+ .circular-progress-lg {
26356
+ width: 4rem;
26357
+ height: 4rem;
26358
+ }
26359
+ .circular-progress-lg .circular-progress-track,
26360
+ .circular-progress-lg .circular-progress-indicator {
26361
+ stroke-width: 5;
26362
+ }
26363
+
26364
+ .circular-progress-xl {
26365
+ width: 5rem;
26366
+ height: 5rem;
26367
+ }
26368
+ .circular-progress-xl .circular-progress-track,
26369
+ .circular-progress-xl .circular-progress-indicator {
26370
+ stroke-width: 6;
26371
+ }
26372
+
26373
+ .circular-progress-2xl {
26374
+ width: 6rem;
26375
+ height: 6rem;
26376
+ }
26377
+ .circular-progress-2xl .circular-progress-track,
26378
+ .circular-progress-2xl .circular-progress-indicator {
26379
+ stroke-width: 6;
26380
+ }
26381
+
26382
+ .circular-progress-label {
26383
+ position: absolute;
26384
+ top: 50%;
26385
+ left: 50%;
26386
+ transform: translate(-50%, -50%);
26387
+ font-size: var(--text-xs);
26388
+ font-weight: 600;
26389
+ color: var(--text);
26390
+ }
26391
+
26392
+ .circular-progress-lg .circular-progress-label {
26393
+ font-size: var(--text-sm);
26394
+ }
26395
+
26396
+ .circular-progress-xl .circular-progress-label,
26397
+ .circular-progress-2xl .circular-progress-label {
26398
+ font-size: var(--text-base);
26399
+ }
26400
+
26401
+ .circular-progress-primary .circular-progress-indicator {
26402
+ stroke: var(--primary);
26403
+ }
26404
+
26405
+ .circular-progress-secondary .circular-progress-indicator {
26406
+ stroke: var(--gray-600);
26407
+ }
26408
+
26409
+ .circular-progress-success .circular-progress-indicator {
26410
+ stroke: var(--success);
26411
+ }
26412
+
26413
+ .circular-progress-danger .circular-progress-indicator {
26414
+ stroke: var(--danger);
26415
+ }
26416
+
26417
+ .circular-progress-warning .circular-progress-indicator {
26418
+ stroke: var(--warning);
26419
+ }
26420
+
26421
+ .circular-progress-info .circular-progress-indicator {
26422
+ stroke: var(--info);
26423
+ }
26424
+
26425
+ .circular-progress-gradient .circular-progress-indicator {
26426
+ stroke: url(#circular-progress-gradient);
26427
+ }
26428
+
26429
+ .circular-progress-thick .circular-progress-track,
26430
+ .circular-progress-thick .circular-progress-indicator {
26431
+ stroke-width: 8;
26432
+ }
26433
+
26434
+ .circular-progress-thin .circular-progress-track,
26435
+ .circular-progress-thin .circular-progress-indicator {
26436
+ stroke-width: 2;
26437
+ }
26438
+
26439
+ .circular-progress-no-track .circular-progress-track {
26440
+ stroke: transparent;
26441
+ }
26442
+
26443
+ .circular-progress-square .circular-progress-indicator {
26444
+ stroke-linecap: butt;
26445
+ }
26446
+
26447
+ .circular-progress-indeterminate {
26448
+ animation: circular-progress-rotate 2s linear infinite;
26449
+ }
26450
+ .circular-progress-indeterminate .circular-progress-indicator {
26451
+ animation: circular-progress-dash 1.5s ease-in-out infinite;
26452
+ }
26453
+
26454
+ @keyframes circular-progress-rotate {
26455
+ 100% {
26456
+ transform: rotate(270deg);
26457
+ }
26458
+ }
26459
+ @keyframes circular-progress-dash {
26460
+ 0% {
26461
+ stroke-dasharray: 1, 150;
26462
+ stroke-dashoffset: 0;
26463
+ }
26464
+ 50% {
26465
+ stroke-dasharray: 90, 150;
26466
+ stroke-dashoffset: -35;
26467
+ }
26468
+ 100% {
26469
+ stroke-dasharray: 90, 150;
26470
+ stroke-dashoffset: -124;
26471
+ }
26472
+ }
26473
+ .circular-progress-icon {
26474
+ position: absolute;
26475
+ top: 50%;
26476
+ left: 50%;
26477
+ transform: translate(-50%, -50%);
26478
+ display: flex;
26479
+ align-items: center;
26480
+ justify-content: center;
26481
+ }
26482
+ .circular-progress-icon svg {
26483
+ width: 1rem;
26484
+ height: 1rem;
26485
+ }
26486
+
26487
+ .circular-progress-lg .circular-progress-icon svg {
26488
+ width: 1.25rem;
26489
+ height: 1.25rem;
26490
+ }
26491
+
26492
+ .circular-progress-xl .circular-progress-icon svg,
26493
+ .circular-progress-2xl .circular-progress-icon svg {
26494
+ width: 1.5rem;
26495
+ height: 1.5rem;
26496
+ }
26497
+
26498
+ .circular-progress-wrapper {
26499
+ display: inline-flex;
26500
+ flex-direction: column;
26501
+ align-items: center;
26502
+ gap: 0.5rem;
26503
+ }
26504
+
26505
+ .circular-progress-text {
26506
+ font-size: var(--text-sm);
26507
+ color: var(--text-muted);
26508
+ }
26509
+
26510
+ .circular-progress-card {
26511
+ display: flex;
26512
+ flex-direction: column;
26513
+ align-items: center;
26514
+ padding: 1.5rem;
26515
+ background-color: var(--bg);
26516
+ border: 1px solid var(--border);
26517
+ border-radius: 0.75rem;
26518
+ text-align: center;
26519
+ }
26520
+
26521
+ .circular-progress-card-title {
26522
+ margin-top: 0.75rem;
26523
+ font-size: var(--text-sm);
26524
+ font-weight: 500;
26525
+ color: var(--text);
26526
+ }
26527
+
26528
+ .circular-progress-card-description {
26529
+ font-size: var(--text-xs);
26530
+ color: var(--text-muted);
26531
+ }
26532
+
26533
+ .circular-progress-semi .circular-progress-svg {
26534
+ transform: rotate(-180deg);
26535
+ }
26536
+ .circular-progress-semi .circular-progress-track,
26537
+ .circular-progress-semi .circular-progress-indicator {
26538
+ stroke-dasharray: 157, 314;
26539
+ }
26540
+ .circular-progress-semi .circular-progress-label {
26541
+ top: 70%;
26542
+ }
26543
+
26544
+ .circular-progress-rings {
26545
+ position: relative;
26546
+ }
26547
+
26548
+ .circular-progress-ring {
26549
+ position: absolute;
26550
+ top: 50%;
26551
+ left: 50%;
26552
+ transform: translate(-50%, -50%);
26553
+ }
26554
+
26555
+ .circular-progress-complete .circular-progress-indicator {
26556
+ stroke: var(--success);
26557
+ }
26558
+ .circular-progress-complete .circular-progress-icon {
26559
+ color: var(--success);
26560
+ }
26561
+
26562
+ .circular-progress-error .circular-progress-indicator {
26563
+ stroke: var(--danger);
26564
+ }
26565
+ .circular-progress-error .circular-progress-icon {
26566
+ color: var(--danger);
26567
+ }
26568
+
26569
+ [data-theme=dark] .circular-progress-track {
26570
+ stroke: var(--gray-700);
26571
+ }
26572
+ [data-theme=dark] .circular-progress-card {
26573
+ background-color: var(--gray-900);
26574
+ border-color: var(--gray-700);
26575
+ }
26576
+
23546
26577
  .accordion {
23547
26578
  --accordion-color: var(--text);
23548
26579
  --accordion-bg: transparent;