zenkit-css 1.2.2 → 1.2.3

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
@@ -3016,6 +3016,295 @@ address {
3016
3016
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
3017
3017
  }
3018
3018
 
3019
+ .card-outlined {
3020
+ background-color: transparent;
3021
+ border: 2px solid var(--border);
3022
+ box-shadow: none;
3023
+ }
3024
+ .card-outlined .card-header,
3025
+ .card-outlined .card-footer {
3026
+ background-color: transparent;
3027
+ border-color: var(--border);
3028
+ }
3029
+
3030
+ .card-filled {
3031
+ background-color: var(--bg-muted);
3032
+ border: none;
3033
+ box-shadow: none;
3034
+ }
3035
+ .card-filled .card-header,
3036
+ .card-filled .card-footer {
3037
+ background-color: rgba(0, 0, 0, 0.03);
3038
+ border-color: rgba(0, 0, 0, 0.05);
3039
+ }
3040
+
3041
+ .card-elevated {
3042
+ background-color: var(--bg-card);
3043
+ border: none;
3044
+ box-shadow: var(--shadow-md);
3045
+ }
3046
+ .card-elevated .card-header,
3047
+ .card-elevated .card-footer {
3048
+ background-color: transparent;
3049
+ border-color: var(--border);
3050
+ }
3051
+ .card-elevated:hover {
3052
+ box-shadow: var(--shadow-lg);
3053
+ }
3054
+
3055
+ .card-elevated-lg {
3056
+ box-shadow: var(--shadow-lg);
3057
+ }
3058
+ .card-elevated-lg:hover {
3059
+ box-shadow: var(--shadow-xl);
3060
+ }
3061
+
3062
+ .card-actions {
3063
+ display: flex;
3064
+ align-items: center;
3065
+ justify-content: flex-end;
3066
+ gap: 0.75rem;
3067
+ padding: 0.75rem 1.25rem;
3068
+ border-top: 1px solid var(--border);
3069
+ background-color: transparent;
3070
+ }
3071
+ .card-actions .btn {
3072
+ margin: 0;
3073
+ }
3074
+
3075
+ .card-actions-start {
3076
+ justify-content: flex-start;
3077
+ }
3078
+
3079
+ .card-actions-center {
3080
+ justify-content: center;
3081
+ }
3082
+
3083
+ .card-actions-between {
3084
+ justify-content: space-between;
3085
+ }
3086
+
3087
+ .card-actions-stacked {
3088
+ flex-direction: column;
3089
+ align-items: stretch;
3090
+ }
3091
+ .card-actions-stacked .btn {
3092
+ width: 100%;
3093
+ }
3094
+
3095
+ .card-borderless .card-header {
3096
+ border-bottom: none;
3097
+ background-color: transparent;
3098
+ }
3099
+ .card-borderless .card-footer {
3100
+ border-top: none;
3101
+ background-color: transparent;
3102
+ }
3103
+
3104
+ .card-ghost {
3105
+ background-color: transparent;
3106
+ border: none;
3107
+ box-shadow: none;
3108
+ }
3109
+ .card-ghost .card-header,
3110
+ .card-ghost .card-footer {
3111
+ background-color: transparent;
3112
+ border-color: var(--border);
3113
+ }
3114
+
3115
+ .card-selectable {
3116
+ cursor: pointer;
3117
+ transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
3118
+ }
3119
+ .card-selectable:hover {
3120
+ border-color: var(--primary-300);
3121
+ }
3122
+ .card-selectable.is-selected {
3123
+ border-color: var(--primary);
3124
+ box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.15);
3125
+ }
3126
+
3127
+ .card-focusable:focus {
3128
+ outline: none;
3129
+ border-color: var(--primary);
3130
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
3131
+ }
3132
+ .card-focusable:focus-visible {
3133
+ outline: none;
3134
+ border-color: var(--primary);
3135
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
3136
+ }
3137
+
3138
+ .card-badge {
3139
+ position: absolute;
3140
+ top: 0.75rem;
3141
+ right: 0.75rem;
3142
+ z-index: 1;
3143
+ }
3144
+
3145
+ .card-ribbon {
3146
+ position: absolute;
3147
+ top: 0;
3148
+ right: 0;
3149
+ padding: 0.25rem 0.75rem;
3150
+ font-size: var(--text-xs);
3151
+ font-weight: 600;
3152
+ color: var(--white);
3153
+ background-color: var(--primary);
3154
+ border-radius: 0 calc(var(--radius-lg) - 1px) 0 var(--radius);
3155
+ }
3156
+
3157
+ .card-ribbon-success {
3158
+ background-color: var(--success);
3159
+ }
3160
+
3161
+ .card-ribbon-danger {
3162
+ background-color: var(--danger);
3163
+ }
3164
+
3165
+ .card-ribbon-warning {
3166
+ background-color: var(--warning);
3167
+ color: var(--gray-900);
3168
+ }
3169
+
3170
+ .card-loading {
3171
+ position: relative;
3172
+ pointer-events: none;
3173
+ }
3174
+ .card-loading::after {
3175
+ content: "";
3176
+ position: absolute;
3177
+ inset: 0;
3178
+ background-color: rgba(255, 255, 255, 0.7);
3179
+ display: flex;
3180
+ align-items: center;
3181
+ justify-content: center;
3182
+ border-radius: inherit;
3183
+ z-index: 10;
3184
+ }
3185
+ .card-loading .card-loading-spinner {
3186
+ position: absolute;
3187
+ top: 50%;
3188
+ left: 50%;
3189
+ transform: translate(-50%, -50%);
3190
+ z-index: 11;
3191
+ width: 2rem;
3192
+ height: 2rem;
3193
+ border: 2px solid var(--border);
3194
+ border-top-color: var(--primary);
3195
+ border-radius: 50%;
3196
+ animation: card-spin 0.6s linear infinite;
3197
+ }
3198
+
3199
+ @keyframes card-spin {
3200
+ to {
3201
+ transform: translate(-50%, -50%) rotate(360deg);
3202
+ }
3203
+ }
3204
+ .card-expandable .card-expand-btn {
3205
+ display: flex;
3206
+ align-items: center;
3207
+ gap: 0.5rem;
3208
+ width: 100%;
3209
+ padding: 0.75rem 1.25rem;
3210
+ font-size: var(--text-sm);
3211
+ color: var(--text-muted);
3212
+ background: transparent;
3213
+ border: none;
3214
+ border-top: 1px solid var(--border);
3215
+ cursor: pointer;
3216
+ transition: color 150ms ease-in-out;
3217
+ }
3218
+ .card-expandable .card-expand-btn:hover {
3219
+ color: var(--text);
3220
+ }
3221
+ .card-expandable .card-expand-btn svg {
3222
+ width: 1rem;
3223
+ height: 1rem;
3224
+ transition: transform 150ms ease-in-out;
3225
+ }
3226
+ .card-expandable.is-expanded .card-expand-btn svg {
3227
+ transform: rotate(180deg);
3228
+ }
3229
+ .card-expandable .card-expand-content {
3230
+ max-height: 0;
3231
+ overflow: hidden;
3232
+ transition: max-height 200ms ease-in-out;
3233
+ }
3234
+ .card-expandable.is-expanded .card-expand-content {
3235
+ max-height: 1000px;
3236
+ }
3237
+
3238
+ .card-media {
3239
+ position: relative;
3240
+ overflow: hidden;
3241
+ }
3242
+ .card-media img,
3243
+ .card-media video {
3244
+ width: 100%;
3245
+ height: 100%;
3246
+ object-fit: cover;
3247
+ }
3248
+
3249
+ .card-media-top {
3250
+ border-radius: calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;
3251
+ }
3252
+
3253
+ .card-media-bottom {
3254
+ border-radius: 0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);
3255
+ }
3256
+
3257
+ .card-compact .card-header,
3258
+ .card-compact .card-footer {
3259
+ padding: 0.5rem 0.75rem;
3260
+ }
3261
+ .card-compact .card-body {
3262
+ padding: 0.75rem;
3263
+ }
3264
+ .card-compact .card-actions {
3265
+ padding: 0.5rem 0.75rem;
3266
+ }
3267
+
3268
+ .card-link {
3269
+ text-decoration: none;
3270
+ color: inherit;
3271
+ display: block;
3272
+ }
3273
+ .card-link:hover {
3274
+ text-decoration: none;
3275
+ color: inherit;
3276
+ }
3277
+
3278
+ [data-theme=dark] .card-outlined {
3279
+ border-color: var(--gray-700);
3280
+ }
3281
+ [data-theme=dark] .card-outlined .card-header,
3282
+ [data-theme=dark] .card-outlined .card-footer {
3283
+ border-color: var(--gray-700);
3284
+ }
3285
+ [data-theme=dark] .card-filled {
3286
+ background-color: var(--gray-800);
3287
+ }
3288
+ [data-theme=dark] .card-filled .card-header,
3289
+ [data-theme=dark] .card-filled .card-footer {
3290
+ background-color: rgba(0, 0, 0, 0.2);
3291
+ border-color: var(--gray-700);
3292
+ }
3293
+ [data-theme=dark] .card-elevated {
3294
+ background-color: var(--gray-800);
3295
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
3296
+ }
3297
+ [data-theme=dark] .card-elevated:hover {
3298
+ box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
3299
+ }
3300
+ [data-theme=dark] .card-loading::after {
3301
+ background-color: rgba(0, 0, 0, 0.7);
3302
+ }
3303
+ [data-theme=dark] .card-loading .card-loading-spinner {
3304
+ border-color: var(--gray-600);
3305
+ border-top-color: var(--primary);
3306
+ }
3307
+
3019
3308
  .form-control {
3020
3309
  display: block;
3021
3310
  width: 100%;
@@ -3695,6 +3984,273 @@ address {
3695
3984
  opacity: 1;
3696
3985
  }
3697
3986
 
3987
+ .form-input-wrapper {
3988
+ position: relative;
3989
+ display: flex;
3990
+ align-items: center;
3991
+ }
3992
+ .form-input-wrapper .form-control {
3993
+ width: 100%;
3994
+ }
3995
+ .form-input-wrapper.has-prefix .form-control {
3996
+ padding-left: 2.5rem;
3997
+ }
3998
+ .form-input-wrapper.has-suffix .form-control {
3999
+ padding-right: 2.5rem;
4000
+ }
4001
+ .form-input-wrapper.has-prefix.has-suffix .form-control {
4002
+ padding-left: 2.5rem;
4003
+ padding-right: 2.5rem;
4004
+ }
4005
+
4006
+ .form-input-prefix,
4007
+ .form-input-suffix {
4008
+ position: absolute;
4009
+ top: 50%;
4010
+ transform: translateY(-50%);
4011
+ display: flex;
4012
+ align-items: center;
4013
+ justify-content: center;
4014
+ width: 2.5rem;
4015
+ height: 100%;
4016
+ color: var(--text-muted);
4017
+ pointer-events: none;
4018
+ }
4019
+ .form-input-prefix svg,
4020
+ .form-input-suffix svg {
4021
+ width: 1rem;
4022
+ height: 1rem;
4023
+ }
4024
+
4025
+ .form-input-prefix {
4026
+ left: 0;
4027
+ }
4028
+
4029
+ .form-input-suffix {
4030
+ right: 0;
4031
+ }
4032
+
4033
+ .form-input-suffix-clickable {
4034
+ pointer-events: auto;
4035
+ cursor: pointer;
4036
+ transition: color 150ms ease-in-out;
4037
+ }
4038
+ .form-input-suffix-clickable:hover {
4039
+ color: var(--text);
4040
+ }
4041
+
4042
+ .form-input-wrapper-sm.has-prefix .form-control {
4043
+ padding-left: 2rem;
4044
+ }
4045
+ .form-input-wrapper-sm.has-suffix .form-control {
4046
+ padding-right: 2rem;
4047
+ }
4048
+ .form-input-wrapper-sm .form-input-prefix,
4049
+ .form-input-wrapper-sm .form-input-suffix {
4050
+ width: 2rem;
4051
+ }
4052
+ .form-input-wrapper-sm .form-input-prefix svg,
4053
+ .form-input-wrapper-sm .form-input-suffix svg {
4054
+ width: 0.875rem;
4055
+ height: 0.875rem;
4056
+ }
4057
+
4058
+ .form-input-wrapper-lg.has-prefix .form-control {
4059
+ padding-left: 3rem;
4060
+ }
4061
+ .form-input-wrapper-lg.has-suffix .form-control {
4062
+ padding-right: 3rem;
4063
+ }
4064
+ .form-input-wrapper-lg .form-input-prefix,
4065
+ .form-input-wrapper-lg .form-input-suffix {
4066
+ width: 3rem;
4067
+ }
4068
+ .form-input-wrapper-lg .form-input-prefix svg,
4069
+ .form-input-wrapper-lg .form-input-suffix svg {
4070
+ width: 1.25rem;
4071
+ height: 1.25rem;
4072
+ }
4073
+
4074
+ .form-input-clear {
4075
+ position: absolute;
4076
+ right: 0.5rem;
4077
+ top: 50%;
4078
+ transform: translateY(-50%);
4079
+ display: flex;
4080
+ align-items: center;
4081
+ justify-content: center;
4082
+ width: 1.5rem;
4083
+ height: 1.5rem;
4084
+ padding: 0;
4085
+ color: var(--text-muted);
4086
+ background-color: transparent;
4087
+ border: none;
4088
+ border-radius: var(--radius-full);
4089
+ cursor: pointer;
4090
+ opacity: 0;
4091
+ visibility: hidden;
4092
+ transition: opacity 150ms ease-in-out, visibility 150ms ease-in-out, color 150ms ease-in-out, background-color 150ms ease-in-out;
4093
+ }
4094
+ .form-input-clear svg {
4095
+ width: 0.875rem;
4096
+ height: 0.875rem;
4097
+ }
4098
+ .form-input-clear:hover {
4099
+ color: var(--text);
4100
+ background-color: var(--gray-200);
4101
+ }
4102
+
4103
+ .form-input-wrapper:hover .form-input-clear,
4104
+ .form-input-wrapper:focus-within .form-input-clear,
4105
+ .form-control:not(:placeholder-shown) ~ .form-input-clear {
4106
+ opacity: 1;
4107
+ visibility: visible;
4108
+ }
4109
+
4110
+ .form-input-wrapper.has-suffix .form-input-clear {
4111
+ right: 2.5rem;
4112
+ }
4113
+
4114
+ .form-character-counter {
4115
+ display: flex;
4116
+ justify-content: flex-end;
4117
+ margin-top: 0.25rem;
4118
+ font-size: var(--text-xs);
4119
+ color: var(--text-muted);
4120
+ }
4121
+
4122
+ .form-character-counter-warning {
4123
+ color: var(--warning);
4124
+ }
4125
+
4126
+ .form-character-counter-danger {
4127
+ color: var(--danger);
4128
+ }
4129
+
4130
+ .form-character-counter-left {
4131
+ justify-content: flex-start;
4132
+ }
4133
+
4134
+ .form-character-counter-between {
4135
+ justify-content: space-between;
4136
+ }
4137
+
4138
+ .form-textarea-wrapper {
4139
+ position: relative;
4140
+ display: grid;
4141
+ }
4142
+ .form-textarea-wrapper::after {
4143
+ content: attr(data-replicated-value) " ";
4144
+ white-space: pre-wrap;
4145
+ visibility: hidden;
4146
+ grid-area: 1/1/2/2;
4147
+ padding: 0.625rem 0.875rem;
4148
+ font: inherit;
4149
+ border: 1px solid transparent;
4150
+ }
4151
+ .form-textarea-wrapper .form-control {
4152
+ resize: none;
4153
+ overflow: hidden;
4154
+ grid-area: 1/1/2/2;
4155
+ }
4156
+
4157
+ .form-textarea-auto-grow {
4158
+ resize: none;
4159
+ min-height: 80px;
4160
+ overflow-y: hidden;
4161
+ }
4162
+
4163
+ .form-input-wrapper .form-control.is-valid ~ .form-input-suffix {
4164
+ color: var(--success);
4165
+ }
4166
+
4167
+ .form-input-wrapper .form-control.is-invalid ~ .form-input-suffix {
4168
+ color: var(--danger);
4169
+ }
4170
+
4171
+ .form-search {
4172
+ position: relative;
4173
+ }
4174
+ .form-search .form-control {
4175
+ padding-left: 2.5rem;
4176
+ padding-right: 2.5rem;
4177
+ }
4178
+ .form-search .form-search-icon {
4179
+ position: absolute;
4180
+ left: 0.875rem;
4181
+ top: 50%;
4182
+ transform: translateY(-50%);
4183
+ color: var(--text-muted);
4184
+ pointer-events: none;
4185
+ }
4186
+ .form-search .form-search-icon svg {
4187
+ width: 1rem;
4188
+ height: 1rem;
4189
+ }
4190
+ .form-search .form-search-clear {
4191
+ position: absolute;
4192
+ right: 0.5rem;
4193
+ top: 50%;
4194
+ transform: translateY(-50%);
4195
+ display: flex;
4196
+ align-items: center;
4197
+ justify-content: center;
4198
+ width: 1.5rem;
4199
+ height: 1.5rem;
4200
+ padding: 0;
4201
+ color: var(--text-muted);
4202
+ background: transparent;
4203
+ border: none;
4204
+ border-radius: var(--radius-full);
4205
+ cursor: pointer;
4206
+ opacity: 0;
4207
+ transition: opacity 150ms ease-in-out;
4208
+ }
4209
+ .form-search .form-search-clear:hover {
4210
+ color: var(--text);
4211
+ background-color: var(--gray-200);
4212
+ }
4213
+ .form-search .form-search-clear svg {
4214
+ width: 0.75rem;
4215
+ height: 0.75rem;
4216
+ }
4217
+ .form-search:focus-within .form-search-clear,
4218
+ .form-search .form-control:not(:placeholder-shown) ~ .form-search-clear {
4219
+ opacity: 1;
4220
+ }
4221
+
4222
+ .form-input-loading {
4223
+ position: relative;
4224
+ }
4225
+ .form-input-loading .form-control {
4226
+ padding-right: 2.5rem;
4227
+ }
4228
+ .form-input-loading::after {
4229
+ content: "";
4230
+ position: absolute;
4231
+ right: 0.75rem;
4232
+ top: 50%;
4233
+ transform: translateY(-50%);
4234
+ width: 1rem;
4235
+ height: 1rem;
4236
+ border: 2px solid var(--border);
4237
+ border-top-color: var(--primary);
4238
+ border-radius: 50%;
4239
+ animation: form-input-spin 0.6s linear infinite;
4240
+ }
4241
+
4242
+ @keyframes form-input-spin {
4243
+ to {
4244
+ transform: translateY(-50%) rotate(360deg);
4245
+ }
4246
+ }
4247
+ [data-theme=dark] .form-input-clear:hover {
4248
+ background-color: var(--gray-700);
4249
+ }
4250
+ [data-theme=dark] .form-search-clear:hover {
4251
+ background-color: var(--gray-700);
4252
+ }
4253
+
3698
4254
  .navbar {
3699
4255
  display: flex;
3700
4256
  flex-wrap: wrap;
@@ -28153,6 +28709,1897 @@ li .kbd {
28153
28709
  border-color: rgba(239, 68, 68, 0.3);
28154
28710
  }
28155
28711
 
28712
+ .sheet-wrapper {
28713
+ position: fixed;
28714
+ inset: 0;
28715
+ z-index: 1055;
28716
+ display: none;
28717
+ pointer-events: none;
28718
+ }
28719
+ .sheet-wrapper.is-open {
28720
+ display: block;
28721
+ pointer-events: auto;
28722
+ }
28723
+
28724
+ .sheet-overlay {
28725
+ position: absolute;
28726
+ inset: 0;
28727
+ background-color: rgba(0, 0, 0, 0.5);
28728
+ opacity: 0;
28729
+ transition: opacity 200ms ease-in-out;
28730
+ }
28731
+ .is-open .sheet-overlay {
28732
+ opacity: 1;
28733
+ }
28734
+
28735
+ .sheet-content {
28736
+ position: absolute;
28737
+ display: flex;
28738
+ flex-direction: column;
28739
+ background-color: var(--bg);
28740
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
28741
+ transition: transform 200ms ease-in-out;
28742
+ overflow: hidden;
28743
+ }
28744
+
28745
+ .sheet-bottom .sheet-content {
28746
+ bottom: 0;
28747
+ left: 0;
28748
+ right: 0;
28749
+ max-height: 96vh;
28750
+ border-radius: 0.75rem 0.75rem 0 0;
28751
+ transform: translateY(100%);
28752
+ }
28753
+ .sheet-bottom.is-open .sheet-content {
28754
+ transform: translateY(0);
28755
+ }
28756
+
28757
+ .sheet-top .sheet-content {
28758
+ top: 0;
28759
+ left: 0;
28760
+ right: 0;
28761
+ max-height: 96vh;
28762
+ border-radius: 0 0 0.75rem 0.75rem;
28763
+ transform: translateY(-100%);
28764
+ }
28765
+ .sheet-top.is-open .sheet-content {
28766
+ transform: translateY(0);
28767
+ }
28768
+
28769
+ .sheet-left .sheet-content {
28770
+ top: 0;
28771
+ left: 0;
28772
+ bottom: 0;
28773
+ width: 400px;
28774
+ max-width: 100%;
28775
+ border-radius: 0 0.75rem 0.75rem 0;
28776
+ transform: translateX(-100%);
28777
+ }
28778
+ .sheet-left.is-open .sheet-content {
28779
+ transform: translateX(0);
28780
+ }
28781
+
28782
+ .sheet-right .sheet-content {
28783
+ top: 0;
28784
+ right: 0;
28785
+ bottom: 0;
28786
+ width: 400px;
28787
+ max-width: 100%;
28788
+ border-radius: 0.75rem 0 0 0.75rem;
28789
+ transform: translateX(100%);
28790
+ }
28791
+ .sheet-right.is-open .sheet-content {
28792
+ transform: translateX(0);
28793
+ }
28794
+
28795
+ .sheet-handle {
28796
+ display: flex;
28797
+ justify-content: center;
28798
+ padding: 0.75rem;
28799
+ cursor: grab;
28800
+ }
28801
+ .sheet-handle:active {
28802
+ cursor: grabbing;
28803
+ }
28804
+
28805
+ .sheet-handle-bar {
28806
+ width: 48px;
28807
+ height: 4px;
28808
+ background-color: var(--gray-300);
28809
+ border-radius: 2px;
28810
+ transition: background-color 150ms ease-in-out;
28811
+ }
28812
+
28813
+ .sheet-handle:hover .sheet-handle-bar {
28814
+ background-color: var(--gray-400);
28815
+ }
28816
+
28817
+ .sheet-header {
28818
+ display: flex;
28819
+ align-items: center;
28820
+ justify-content: space-between;
28821
+ padding: 1rem 1.5rem;
28822
+ border-bottom: 1px solid var(--border);
28823
+ flex-shrink: 0;
28824
+ }
28825
+
28826
+ .sheet-header-compact {
28827
+ padding: 0.75rem 1rem;
28828
+ }
28829
+
28830
+ .sheet-title {
28831
+ margin: 0;
28832
+ font-size: var(--text-lg);
28833
+ font-weight: 600;
28834
+ color: var(--text);
28835
+ }
28836
+
28837
+ .sheet-description {
28838
+ margin: 0.25rem 0 0;
28839
+ font-size: var(--text-sm);
28840
+ color: var(--text-muted);
28841
+ }
28842
+
28843
+ .sheet-close {
28844
+ display: flex;
28845
+ align-items: center;
28846
+ justify-content: center;
28847
+ width: 2rem;
28848
+ height: 2rem;
28849
+ padding: 0;
28850
+ color: var(--text-muted);
28851
+ background: transparent;
28852
+ border: none;
28853
+ border-radius: 0.375rem;
28854
+ cursor: pointer;
28855
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
28856
+ }
28857
+ .sheet-close:hover {
28858
+ color: var(--text);
28859
+ background-color: var(--gray-100);
28860
+ }
28861
+ .sheet-close svg {
28862
+ width: 1.25rem;
28863
+ height: 1.25rem;
28864
+ }
28865
+
28866
+ .sheet-body {
28867
+ flex: 1;
28868
+ padding: 1.5rem;
28869
+ overflow-y: auto;
28870
+ -webkit-overflow-scrolling: touch;
28871
+ }
28872
+
28873
+ .sheet-body-compact {
28874
+ padding: 1rem;
28875
+ }
28876
+
28877
+ .sheet-body-flush {
28878
+ padding: 0;
28879
+ }
28880
+
28881
+ .sheet-footer {
28882
+ display: flex;
28883
+ align-items: center;
28884
+ justify-content: flex-end;
28885
+ gap: 0.75rem;
28886
+ padding: 1rem 1.5rem;
28887
+ border-top: 1px solid var(--border);
28888
+ flex-shrink: 0;
28889
+ }
28890
+
28891
+ .sheet-footer-compact {
28892
+ padding: 0.75rem 1rem;
28893
+ }
28894
+
28895
+ .sheet-footer-stacked {
28896
+ flex-direction: column;
28897
+ }
28898
+ .sheet-footer-stacked .btn {
28899
+ width: 100%;
28900
+ }
28901
+
28902
+ .sheet-footer-space-between {
28903
+ justify-content: space-between;
28904
+ }
28905
+
28906
+ .sheet-sm.sheet-bottom .sheet-content, .sheet-sm.sheet-top .sheet-content {
28907
+ max-height: 40vh;
28908
+ }
28909
+ .sheet-sm.sheet-left .sheet-content, .sheet-sm.sheet-right .sheet-content {
28910
+ width: 320px;
28911
+ }
28912
+
28913
+ .sheet-lg.sheet-bottom .sheet-content, .sheet-lg.sheet-top .sheet-content {
28914
+ max-height: 80vh;
28915
+ }
28916
+ .sheet-lg.sheet-left .sheet-content, .sheet-lg.sheet-right .sheet-content {
28917
+ width: 560px;
28918
+ }
28919
+
28920
+ .sheet-xl.sheet-bottom .sheet-content, .sheet-xl.sheet-top .sheet-content {
28921
+ max-height: 90vh;
28922
+ }
28923
+ .sheet-xl.sheet-left .sheet-content, .sheet-xl.sheet-right .sheet-content {
28924
+ width: 720px;
28925
+ }
28926
+
28927
+ .sheet-full.sheet-bottom .sheet-content, .sheet-full.sheet-top .sheet-content {
28928
+ max-height: 100vh;
28929
+ border-radius: 0;
28930
+ }
28931
+ .sheet-full.sheet-left .sheet-content, .sheet-full.sheet-right .sheet-content {
28932
+ width: 100%;
28933
+ border-radius: 0;
28934
+ }
28935
+
28936
+ .sheet-snap-25.sheet-bottom .sheet-content {
28937
+ height: 25vh;
28938
+ }
28939
+
28940
+ .sheet-snap-50.sheet-bottom .sheet-content {
28941
+ height: 50vh;
28942
+ }
28943
+
28944
+ .sheet-snap-75.sheet-bottom .sheet-content {
28945
+ height: 75vh;
28946
+ }
28947
+
28948
+ .sheet-snap-100.sheet-bottom .sheet-content {
28949
+ height: 100vh;
28950
+ border-radius: 0;
28951
+ }
28952
+
28953
+ .sheet-menu .sheet-body {
28954
+ padding: 0.5rem 0;
28955
+ }
28956
+
28957
+ .sheet-menu-item {
28958
+ display: flex;
28959
+ align-items: center;
28960
+ gap: 0.75rem;
28961
+ width: 100%;
28962
+ padding: 0.875rem 1.5rem;
28963
+ font-size: var(--text-base);
28964
+ color: var(--text);
28965
+ background: transparent;
28966
+ border: none;
28967
+ cursor: pointer;
28968
+ text-align: left;
28969
+ transition: background-color 150ms ease-in-out;
28970
+ }
28971
+ .sheet-menu-item:hover {
28972
+ background-color: var(--gray-100);
28973
+ }
28974
+ .sheet-menu-item:active {
28975
+ background-color: var(--gray-200);
28976
+ }
28977
+ .sheet-menu-item svg {
28978
+ width: 1.25rem;
28979
+ height: 1.25rem;
28980
+ color: var(--text-muted);
28981
+ }
28982
+
28983
+ .sheet-menu-item-danger {
28984
+ color: var(--danger);
28985
+ }
28986
+ .sheet-menu-item-danger svg {
28987
+ color: var(--danger);
28988
+ }
28989
+ .sheet-menu-item-danger:hover {
28990
+ background-color: var(--danger-50);
28991
+ }
28992
+
28993
+ .sheet-menu-divider {
28994
+ height: 1px;
28995
+ margin: 0.5rem 0;
28996
+ background-color: var(--border);
28997
+ }
28998
+
28999
+ .sheet-menu-header {
29000
+ padding: 0.5rem 1.5rem;
29001
+ font-size: var(--text-xs);
29002
+ font-weight: 500;
29003
+ color: var(--text-muted);
29004
+ text-transform: uppercase;
29005
+ letter-spacing: 0.05em;
29006
+ }
29007
+
29008
+ .sheet-with-cancel .sheet-body {
29009
+ padding-bottom: 0.5rem;
29010
+ }
29011
+
29012
+ .sheet-cancel {
29013
+ margin: 0.5rem 1rem 1rem;
29014
+ width: calc(100% - 2rem);
29015
+ padding: 0.875rem;
29016
+ font-size: var(--text-base);
29017
+ font-weight: 600;
29018
+ color: var(--primary);
29019
+ background-color: var(--gray-100);
29020
+ border: none;
29021
+ border-radius: 0.75rem;
29022
+ cursor: pointer;
29023
+ transition: background-color 150ms ease-in-out;
29024
+ }
29025
+ .sheet-cancel:hover {
29026
+ background-color: var(--gray-200);
29027
+ }
29028
+
29029
+ .sheet-scrollable .sheet-body {
29030
+ overflow-y: auto;
29031
+ overscroll-behavior: contain;
29032
+ }
29033
+
29034
+ .sheet-no-overlay .sheet-overlay {
29035
+ display: none;
29036
+ }
29037
+
29038
+ .sheet-nested .sheet-content {
29039
+ box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.12);
29040
+ }
29041
+
29042
+ .sheet-animate-spring .sheet-content {
29043
+ transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
29044
+ }
29045
+
29046
+ .sheet-animate-bounce.is-open .sheet-content {
29047
+ animation: sheet-bounce 0.5s ease-out;
29048
+ }
29049
+
29050
+ @keyframes sheet-bounce {
29051
+ 0% {
29052
+ transform: translateY(100%);
29053
+ }
29054
+ 60% {
29055
+ transform: translateY(-8px);
29056
+ }
29057
+ 100% {
29058
+ transform: translateY(0);
29059
+ }
29060
+ }
29061
+ .sheet-form .sheet-body {
29062
+ display: flex;
29063
+ flex-direction: column;
29064
+ gap: 1rem;
29065
+ }
29066
+
29067
+ .sheet-image-preview .sheet-body {
29068
+ padding: 0;
29069
+ display: flex;
29070
+ align-items: center;
29071
+ justify-content: center;
29072
+ background-color: var(--gray-900);
29073
+ }
29074
+ .sheet-image-preview .sheet-close {
29075
+ position: absolute;
29076
+ top: 0.75rem;
29077
+ right: 0.75rem;
29078
+ z-index: 1;
29079
+ color: var(--white);
29080
+ background-color: rgba(0, 0, 0, 0.5);
29081
+ }
29082
+ .sheet-image-preview .sheet-close:hover {
29083
+ background-color: rgba(0, 0, 0, 0.7);
29084
+ }
29085
+ .sheet-image-preview img {
29086
+ max-width: 100%;
29087
+ max-height: 100%;
29088
+ object-fit: contain;
29089
+ }
29090
+
29091
+ [data-theme=dark] .sheet-content {
29092
+ background-color: var(--gray-900);
29093
+ border-color: var(--gray-700);
29094
+ }
29095
+ [data-theme=dark] .sheet-handle-bar {
29096
+ background-color: var(--gray-600);
29097
+ }
29098
+ [data-theme=dark] .sheet-handle:hover .sheet-handle-bar {
29099
+ background-color: var(--gray-500);
29100
+ }
29101
+ [data-theme=dark] .sheet-header {
29102
+ border-color: var(--gray-700);
29103
+ }
29104
+ [data-theme=dark] .sheet-footer {
29105
+ border-color: var(--gray-700);
29106
+ }
29107
+ [data-theme=dark] .sheet-close:hover {
29108
+ background-color: var(--gray-800);
29109
+ }
29110
+ [data-theme=dark] .sheet-menu-item:hover {
29111
+ background-color: var(--gray-800);
29112
+ }
29113
+ [data-theme=dark] .sheet-menu-item:active {
29114
+ background-color: var(--gray-700);
29115
+ }
29116
+ [data-theme=dark] .sheet-menu-item-danger:hover {
29117
+ background-color: rgba(239, 68, 68, 0.15);
29118
+ }
29119
+ [data-theme=dark] .sheet-menu-divider {
29120
+ background-color: var(--gray-700);
29121
+ }
29122
+ [data-theme=dark] .sheet-cancel {
29123
+ background-color: var(--gray-800);
29124
+ }
29125
+ [data-theme=dark] .sheet-cancel:hover {
29126
+ background-color: var(--gray-700);
29127
+ }
29128
+
29129
+ @media (max-width: 767px) {
29130
+ .sheet-left .sheet-content,
29131
+ .sheet-right .sheet-content {
29132
+ width: 100%;
29133
+ border-radius: 0.75rem 0.75rem 0 0;
29134
+ }
29135
+ .sheet-left .sheet-content {
29136
+ top: auto;
29137
+ bottom: 0;
29138
+ left: 0;
29139
+ right: 0;
29140
+ transform: translateY(100%);
29141
+ }
29142
+ .sheet-left.is-open .sheet-content {
29143
+ transform: translateY(0);
29144
+ }
29145
+ .sheet-right .sheet-content {
29146
+ top: auto;
29147
+ bottom: 0;
29148
+ left: 0;
29149
+ right: 0;
29150
+ transform: translateY(100%);
29151
+ }
29152
+ .sheet-right.is-open .sheet-content {
29153
+ transform: translateY(0);
29154
+ }
29155
+ }
29156
+ .daterange {
29157
+ display: inline-flex;
29158
+ align-items: center;
29159
+ gap: 0.5rem;
29160
+ padding: 0.5rem 0.75rem;
29161
+ background-color: var(--bg);
29162
+ border: 1px solid var(--border);
29163
+ border-radius: 0.375rem;
29164
+ cursor: pointer;
29165
+ transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
29166
+ }
29167
+ .daterange:hover {
29168
+ border-color: var(--gray-400);
29169
+ }
29170
+ .daterange:focus-within {
29171
+ border-color: var(--primary);
29172
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
29173
+ }
29174
+
29175
+ .daterange-icon {
29176
+ display: flex;
29177
+ align-items: center;
29178
+ justify-content: center;
29179
+ color: var(--text-muted);
29180
+ }
29181
+ .daterange-icon svg {
29182
+ width: 1rem;
29183
+ height: 1rem;
29184
+ }
29185
+
29186
+ .daterange-inputs {
29187
+ display: flex;
29188
+ align-items: center;
29189
+ gap: 0.5rem;
29190
+ }
29191
+
29192
+ .daterange-input {
29193
+ width: 120px;
29194
+ padding: 0;
29195
+ font-size: var(--text-sm);
29196
+ color: var(--text);
29197
+ background: transparent;
29198
+ border: none;
29199
+ outline: none;
29200
+ }
29201
+ .daterange-input::placeholder {
29202
+ color: var(--text-muted);
29203
+ }
29204
+
29205
+ .daterange-separator {
29206
+ color: var(--text-muted);
29207
+ font-size: var(--text-sm);
29208
+ }
29209
+
29210
+ .daterange-clear {
29211
+ display: flex;
29212
+ align-items: center;
29213
+ justify-content: center;
29214
+ padding: 0.25rem;
29215
+ color: var(--text-muted);
29216
+ background: transparent;
29217
+ border: none;
29218
+ border-radius: 0.25rem;
29219
+ cursor: pointer;
29220
+ opacity: 0;
29221
+ transition: opacity 150ms ease-in-out, color 150ms ease-in-out;
29222
+ }
29223
+ .daterange-clear svg {
29224
+ width: 0.875rem;
29225
+ height: 0.875rem;
29226
+ }
29227
+ .daterange-clear:hover {
29228
+ color: var(--text);
29229
+ }
29230
+
29231
+ .daterange:hover .daterange-clear {
29232
+ opacity: 1;
29233
+ }
29234
+
29235
+ .daterange-dropdown {
29236
+ position: absolute;
29237
+ top: 100%;
29238
+ left: 0;
29239
+ z-index: 1000;
29240
+ margin-top: 0.5rem;
29241
+ background-color: var(--bg);
29242
+ border: 1px solid var(--border);
29243
+ border-radius: 0.75rem;
29244
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
29245
+ opacity: 0;
29246
+ visibility: hidden;
29247
+ transform: translateY(-8px);
29248
+ transition: opacity 150ms ease-in-out, visibility 150ms ease-in-out, transform 150ms ease-in-out;
29249
+ }
29250
+ .daterange-dropdown.is-open {
29251
+ opacity: 1;
29252
+ visibility: visible;
29253
+ transform: translateY(0);
29254
+ }
29255
+
29256
+ .daterange-calendars {
29257
+ display: flex;
29258
+ gap: 0;
29259
+ }
29260
+
29261
+ .daterange-calendar {
29262
+ padding: 1rem;
29263
+ min-width: 280px;
29264
+ }
29265
+ .daterange-calendar:not(:last-child) {
29266
+ border-right: 1px solid var(--border);
29267
+ }
29268
+
29269
+ .daterange-calendar-header {
29270
+ display: flex;
29271
+ align-items: center;
29272
+ justify-content: space-between;
29273
+ margin-bottom: 1rem;
29274
+ }
29275
+
29276
+ .daterange-calendar-title {
29277
+ font-size: var(--text-base);
29278
+ font-weight: 600;
29279
+ color: var(--text);
29280
+ }
29281
+
29282
+ .daterange-calendar-nav {
29283
+ display: flex;
29284
+ gap: 0.25rem;
29285
+ }
29286
+
29287
+ .daterange-calendar-btn {
29288
+ display: flex;
29289
+ align-items: center;
29290
+ justify-content: center;
29291
+ width: 2rem;
29292
+ height: 2rem;
29293
+ padding: 0;
29294
+ color: var(--text-muted);
29295
+ background: transparent;
29296
+ border: none;
29297
+ border-radius: 0.375rem;
29298
+ cursor: pointer;
29299
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
29300
+ }
29301
+ .daterange-calendar-btn:hover {
29302
+ color: var(--text);
29303
+ background-color: var(--gray-100);
29304
+ }
29305
+ .daterange-calendar-btn:disabled {
29306
+ opacity: 0.5;
29307
+ cursor: not-allowed;
29308
+ }
29309
+ .daterange-calendar-btn svg {
29310
+ width: 1rem;
29311
+ height: 1rem;
29312
+ }
29313
+
29314
+ .daterange-weekdays {
29315
+ display: grid;
29316
+ grid-template-columns: repeat(7, 1fr);
29317
+ margin-bottom: 0.5rem;
29318
+ }
29319
+
29320
+ .daterange-weekday {
29321
+ padding: 0.5rem;
29322
+ font-size: var(--text-xs);
29323
+ font-weight: 500;
29324
+ color: var(--text-muted);
29325
+ text-align: center;
29326
+ text-transform: uppercase;
29327
+ }
29328
+
29329
+ .daterange-days {
29330
+ display: grid;
29331
+ grid-template-columns: repeat(7, 1fr);
29332
+ gap: 2px;
29333
+ }
29334
+
29335
+ .daterange-day {
29336
+ display: flex;
29337
+ align-items: center;
29338
+ justify-content: center;
29339
+ width: 36px;
29340
+ height: 36px;
29341
+ font-size: var(--text-sm);
29342
+ color: var(--text);
29343
+ background: transparent;
29344
+ border: none;
29345
+ border-radius: 0.375rem;
29346
+ cursor: pointer;
29347
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
29348
+ }
29349
+ .daterange-day:hover:not(:disabled):not(.daterange-day-selected) {
29350
+ background-color: var(--gray-100);
29351
+ }
29352
+ .daterange-day:disabled {
29353
+ color: var(--text-muted);
29354
+ opacity: 0.5;
29355
+ cursor: not-allowed;
29356
+ }
29357
+
29358
+ .daterange-day-other-month {
29359
+ color: var(--text-muted);
29360
+ opacity: 0.5;
29361
+ }
29362
+
29363
+ .daterange-day-today {
29364
+ font-weight: 600;
29365
+ color: var(--primary);
29366
+ }
29367
+
29368
+ .daterange-day-selected {
29369
+ color: var(--white);
29370
+ background-color: var(--primary);
29371
+ }
29372
+ .daterange-day-selected:hover {
29373
+ background-color: var(--primary-600);
29374
+ }
29375
+
29376
+ .daterange-day-in-range {
29377
+ background-color: var(--primary-100);
29378
+ border-radius: 0;
29379
+ }
29380
+
29381
+ .daterange-day-range-start {
29382
+ border-radius: 0.375rem 0 0 0.375rem;
29383
+ }
29384
+
29385
+ .daterange-day-range-end {
29386
+ border-radius: 0 0.375rem 0.375rem 0;
29387
+ }
29388
+
29389
+ .daterange-day-range-start.daterange-day-range-end {
29390
+ border-radius: 0.375rem;
29391
+ }
29392
+
29393
+ .daterange-presets {
29394
+ padding: 1rem;
29395
+ border-left: 1px solid var(--border);
29396
+ min-width: 180px;
29397
+ }
29398
+
29399
+ .daterange-presets-title {
29400
+ font-size: var(--text-xs);
29401
+ font-weight: 500;
29402
+ color: var(--text-muted);
29403
+ text-transform: uppercase;
29404
+ letter-spacing: 0.05em;
29405
+ margin-bottom: 0.75rem;
29406
+ }
29407
+
29408
+ .daterange-preset {
29409
+ display: block;
29410
+ width: 100%;
29411
+ padding: 0.5rem 0.75rem;
29412
+ font-size: var(--text-sm);
29413
+ color: var(--text);
29414
+ background: transparent;
29415
+ border: none;
29416
+ border-radius: 0.375rem;
29417
+ text-align: left;
29418
+ cursor: pointer;
29419
+ transition: background-color 150ms ease-in-out;
29420
+ }
29421
+ .daterange-preset:hover {
29422
+ background-color: var(--gray-100);
29423
+ }
29424
+ .daterange-preset.is-active {
29425
+ color: var(--primary);
29426
+ background-color: var(--primary-50);
29427
+ }
29428
+
29429
+ .daterange-footer {
29430
+ display: flex;
29431
+ align-items: center;
29432
+ justify-content: space-between;
29433
+ padding: 0.75rem 1rem;
29434
+ border-top: 1px solid var(--border);
29435
+ }
29436
+
29437
+ .daterange-footer-left {
29438
+ display: flex;
29439
+ align-items: center;
29440
+ gap: 0.5rem;
29441
+ }
29442
+
29443
+ .daterange-footer-right {
29444
+ display: flex;
29445
+ align-items: center;
29446
+ gap: 0.5rem;
29447
+ }
29448
+
29449
+ .daterange-selected-display {
29450
+ font-size: var(--text-sm);
29451
+ color: var(--text-muted);
29452
+ }
29453
+
29454
+ .daterange-sm {
29455
+ padding: 0.375rem 0.625rem;
29456
+ }
29457
+ .daterange-sm .daterange-input {
29458
+ width: 100px;
29459
+ font-size: var(--text-xs);
29460
+ }
29461
+
29462
+ .daterange-lg {
29463
+ padding: 0.625rem 0.875rem;
29464
+ }
29465
+ .daterange-lg .daterange-input {
29466
+ width: 140px;
29467
+ font-size: var(--text-base);
29468
+ }
29469
+
29470
+ .daterange-disabled {
29471
+ opacity: 0.6;
29472
+ pointer-events: none;
29473
+ background-color: var(--bg-muted);
29474
+ }
29475
+
29476
+ .daterange-error {
29477
+ border-color: var(--danger);
29478
+ }
29479
+ .daterange-error:focus-within {
29480
+ border-color: var(--danger);
29481
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
29482
+ }
29483
+
29484
+ .daterange-success {
29485
+ border-color: var(--success);
29486
+ }
29487
+ .daterange-success:focus-within {
29488
+ border-color: var(--success);
29489
+ box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
29490
+ }
29491
+
29492
+ .daterange-inline .daterange-dropdown {
29493
+ position: static;
29494
+ opacity: 1;
29495
+ visibility: visible;
29496
+ transform: none;
29497
+ margin-top: 0;
29498
+ box-shadow: none;
29499
+ border: 1px solid var(--border);
29500
+ }
29501
+
29502
+ .daterange-compact .daterange-calendars {
29503
+ flex-direction: column;
29504
+ }
29505
+ .daterange-compact .daterange-calendar:not(:last-child) {
29506
+ border-right: none;
29507
+ border-bottom: 1px solid var(--border);
29508
+ }
29509
+
29510
+ .daterange-time {
29511
+ display: flex;
29512
+ align-items: center;
29513
+ gap: 0.5rem;
29514
+ padding: 0.75rem 1rem;
29515
+ border-top: 1px solid var(--border);
29516
+ }
29517
+
29518
+ .daterange-time-label {
29519
+ font-size: var(--text-sm);
29520
+ color: var(--text-muted);
29521
+ }
29522
+
29523
+ .daterange-time-inputs {
29524
+ display: flex;
29525
+ align-items: center;
29526
+ gap: 0.25rem;
29527
+ }
29528
+
29529
+ .daterange-time-input {
29530
+ width: 50px;
29531
+ padding: 0.375rem 0.5rem;
29532
+ font-size: var(--text-sm);
29533
+ text-align: center;
29534
+ color: var(--text);
29535
+ background-color: var(--bg);
29536
+ border: 1px solid var(--border);
29537
+ border-radius: 0.375rem;
29538
+ }
29539
+ .daterange-time-input:focus {
29540
+ outline: none;
29541
+ border-color: var(--primary);
29542
+ }
29543
+
29544
+ .daterange-time-separator {
29545
+ color: var(--text-muted);
29546
+ }
29547
+
29548
+ .daterange-month-select,
29549
+ .daterange-year-select {
29550
+ padding: 0.25rem 0.5rem;
29551
+ font-size: var(--text-sm);
29552
+ font-weight: 500;
29553
+ color: var(--text);
29554
+ background: transparent;
29555
+ border: 1px solid transparent;
29556
+ border-radius: 0.375rem;
29557
+ cursor: pointer;
29558
+ transition: border-color 150ms ease-in-out, background-color 150ms ease-in-out;
29559
+ }
29560
+ .daterange-month-select:hover,
29561
+ .daterange-year-select:hover {
29562
+ background-color: var(--gray-100);
29563
+ border-color: var(--border);
29564
+ }
29565
+
29566
+ .daterange-comparison .daterange-day-comparison {
29567
+ position: relative;
29568
+ }
29569
+ .daterange-comparison .daterange-day-comparison::after {
29570
+ content: "";
29571
+ position: absolute;
29572
+ bottom: 2px;
29573
+ left: 50%;
29574
+ transform: translateX(-50%);
29575
+ width: 4px;
29576
+ height: 4px;
29577
+ background-color: var(--warning);
29578
+ border-radius: 50%;
29579
+ }
29580
+
29581
+ [data-theme=dark] .daterange {
29582
+ background-color: var(--gray-800);
29583
+ border-color: var(--gray-600);
29584
+ }
29585
+ [data-theme=dark] .daterange:hover {
29586
+ border-color: var(--gray-500);
29587
+ }
29588
+ [data-theme=dark] .daterange-dropdown {
29589
+ background-color: var(--gray-800);
29590
+ border-color: var(--gray-700);
29591
+ }
29592
+ [data-theme=dark] .daterange-calendar:not(:last-child) {
29593
+ border-color: var(--gray-700);
29594
+ }
29595
+ [data-theme=dark] .daterange-calendar-btn:hover {
29596
+ background-color: var(--gray-700);
29597
+ }
29598
+ [data-theme=dark] .daterange-day:hover:not(:disabled):not(.daterange-day-selected) {
29599
+ background-color: var(--gray-700);
29600
+ }
29601
+ [data-theme=dark] .daterange-day-in-range {
29602
+ background-color: rgba(79, 70, 229, 0.2);
29603
+ }
29604
+ [data-theme=dark] .daterange-presets {
29605
+ border-color: var(--gray-700);
29606
+ }
29607
+ [data-theme=dark] .daterange-preset:hover {
29608
+ background-color: var(--gray-700);
29609
+ }
29610
+ [data-theme=dark] .daterange-preset.is-active {
29611
+ background-color: rgba(79, 70, 229, 0.2);
29612
+ }
29613
+ [data-theme=dark] .daterange-footer {
29614
+ border-color: var(--gray-700);
29615
+ }
29616
+ [data-theme=dark] .daterange-time {
29617
+ border-color: var(--gray-700);
29618
+ }
29619
+ [data-theme=dark] .daterange-time-input {
29620
+ background-color: var(--gray-900);
29621
+ border-color: var(--gray-600);
29622
+ }
29623
+ [data-theme=dark] .daterange-month-select:hover,
29624
+ [data-theme=dark] .daterange-year-select:hover {
29625
+ background-color: var(--gray-700);
29626
+ border-color: var(--gray-600);
29627
+ }
29628
+
29629
+ @media (max-width: 767px) {
29630
+ .daterange-calendars {
29631
+ flex-direction: column;
29632
+ }
29633
+ .daterange-calendar:not(:last-child) {
29634
+ border-right: none;
29635
+ border-bottom: 1px solid var(--border);
29636
+ }
29637
+ .daterange-presets {
29638
+ border-left: none;
29639
+ border-top: 1px solid var(--border);
29640
+ }
29641
+ .daterange-dropdown {
29642
+ position: fixed;
29643
+ top: auto;
29644
+ bottom: 0;
29645
+ left: 0;
29646
+ right: 0;
29647
+ margin-top: 0;
29648
+ max-height: 90vh;
29649
+ overflow-y: auto;
29650
+ border-radius: 0.75rem 0.75rem 0 0;
29651
+ transform: translateY(100%);
29652
+ }
29653
+ .daterange-dropdown.is-open {
29654
+ transform: translateY(0);
29655
+ }
29656
+ }
29657
+ .snippet {
29658
+ position: relative;
29659
+ display: flex;
29660
+ align-items: center;
29661
+ padding: 0.5rem 0.75rem;
29662
+ padding-right: 2.5rem;
29663
+ font-family: var(--font-mono);
29664
+ font-size: var(--text-sm);
29665
+ color: var(--text);
29666
+ background-color: var(--gray-100);
29667
+ border: 1px solid var(--border);
29668
+ border-radius: 0.375rem;
29669
+ }
29670
+
29671
+ .snippet-symbol {
29672
+ color: var(--text-muted);
29673
+ margin-right: 0.5rem;
29674
+ user-select: none;
29675
+ }
29676
+
29677
+ .snippet-content {
29678
+ flex: 1;
29679
+ overflow-x: auto;
29680
+ white-space: nowrap;
29681
+ }
29682
+ .snippet-content::-webkit-scrollbar {
29683
+ height: 4px;
29684
+ }
29685
+ .snippet-content::-webkit-scrollbar-thumb {
29686
+ background-color: var(--gray-300);
29687
+ border-radius: 2px;
29688
+ }
29689
+
29690
+ .snippet-copy {
29691
+ position: absolute;
29692
+ right: 0.5rem;
29693
+ top: 50%;
29694
+ transform: translateY(-50%);
29695
+ display: flex;
29696
+ align-items: center;
29697
+ justify-content: center;
29698
+ width: 1.75rem;
29699
+ height: 1.75rem;
29700
+ padding: 0;
29701
+ color: var(--text-muted);
29702
+ background-color: transparent;
29703
+ border: none;
29704
+ border-radius: 0.25rem;
29705
+ cursor: pointer;
29706
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
29707
+ }
29708
+ .snippet-copy:hover {
29709
+ color: var(--text);
29710
+ background-color: var(--gray-200);
29711
+ }
29712
+ .snippet-copy svg {
29713
+ width: 1rem;
29714
+ height: 1rem;
29715
+ }
29716
+
29717
+ .snippet-copy-success {
29718
+ color: var(--success);
29719
+ }
29720
+ .snippet-copy-success:hover {
29721
+ color: var(--success);
29722
+ }
29723
+
29724
+ .snippet-block {
29725
+ display: block;
29726
+ padding: 1rem;
29727
+ padding-right: 3rem;
29728
+ overflow-x: auto;
29729
+ }
29730
+ .snippet-block .snippet-content {
29731
+ white-space: pre;
29732
+ display: block;
29733
+ }
29734
+ .snippet-block .snippet-copy {
29735
+ top: 0.75rem;
29736
+ right: 0.75rem;
29737
+ transform: none;
29738
+ }
29739
+
29740
+ .snippet-with-header {
29741
+ flex-direction: column;
29742
+ align-items: stretch;
29743
+ padding: 0;
29744
+ }
29745
+ .snippet-with-header .snippet-header {
29746
+ display: flex;
29747
+ align-items: center;
29748
+ justify-content: space-between;
29749
+ padding: 0.5rem 0.75rem;
29750
+ background-color: var(--gray-200);
29751
+ border-bottom: 1px solid var(--border);
29752
+ border-radius: 0.375rem 0.375rem 0 0;
29753
+ }
29754
+ .snippet-with-header .snippet-content {
29755
+ padding: 1rem;
29756
+ white-space: pre;
29757
+ }
29758
+ .snippet-with-header .snippet-copy {
29759
+ position: static;
29760
+ transform: none;
29761
+ }
29762
+
29763
+ .snippet-filename {
29764
+ font-size: var(--text-xs);
29765
+ font-weight: 500;
29766
+ color: var(--text-muted);
29767
+ }
29768
+
29769
+ .snippet-language {
29770
+ display: inline-flex;
29771
+ align-items: center;
29772
+ padding: 0.125rem 0.5rem;
29773
+ font-size: var(--text-xs);
29774
+ font-weight: 500;
29775
+ color: var(--text-muted);
29776
+ background-color: var(--gray-300);
29777
+ border-radius: 0.25rem;
29778
+ }
29779
+
29780
+ .snippet-sm {
29781
+ padding: 0.375rem 0.625rem;
29782
+ padding-right: 2.25rem;
29783
+ font-size: var(--text-xs);
29784
+ }
29785
+ .snippet-sm .snippet-copy {
29786
+ width: 1.5rem;
29787
+ height: 1.5rem;
29788
+ }
29789
+ .snippet-sm .snippet-copy svg {
29790
+ width: 0.875rem;
29791
+ height: 0.875rem;
29792
+ }
29793
+
29794
+ .snippet-lg {
29795
+ padding: 0.75rem 1rem;
29796
+ padding-right: 3rem;
29797
+ font-size: var(--text-base);
29798
+ }
29799
+ .snippet-lg .snippet-copy {
29800
+ width: 2rem;
29801
+ height: 2rem;
29802
+ }
29803
+ .snippet-lg .snippet-copy svg {
29804
+ width: 1.25rem;
29805
+ height: 1.25rem;
29806
+ }
29807
+
29808
+ .snippet-bordered {
29809
+ background-color: transparent;
29810
+ border-width: 2px;
29811
+ }
29812
+
29813
+ .snippet-flat {
29814
+ border: none;
29815
+ border-radius: 0;
29816
+ }
29817
+
29818
+ .snippet-ghost {
29819
+ background-color: transparent;
29820
+ border-color: transparent;
29821
+ }
29822
+ .snippet-ghost:hover {
29823
+ background-color: var(--gray-100);
29824
+ }
29825
+
29826
+ .snippet-dark {
29827
+ color: var(--gray-100);
29828
+ background-color: var(--gray-900);
29829
+ border-color: var(--gray-700);
29830
+ }
29831
+ .snippet-dark .snippet-symbol {
29832
+ color: var(--gray-500);
29833
+ }
29834
+ .snippet-dark .snippet-copy {
29835
+ color: var(--gray-400);
29836
+ }
29837
+ .snippet-dark .snippet-copy:hover {
29838
+ color: var(--gray-100);
29839
+ background-color: var(--gray-800);
29840
+ }
29841
+ .snippet-dark .snippet-copy-success {
29842
+ color: var(--success);
29843
+ }
29844
+ .snippet-dark.snippet-with-header .snippet-header {
29845
+ background-color: var(--gray-800);
29846
+ border-color: var(--gray-700);
29847
+ }
29848
+ .snippet-dark.snippet-with-header .snippet-language {
29849
+ background-color: var(--gray-700);
29850
+ color: var(--gray-300);
29851
+ }
29852
+
29853
+ .snippet-primary {
29854
+ color: var(--primary-900);
29855
+ background-color: var(--primary-50);
29856
+ border-color: var(--primary-200);
29857
+ }
29858
+ .snippet-primary .snippet-copy:hover {
29859
+ background-color: var(--primary-100);
29860
+ }
29861
+
29862
+ .snippet-success {
29863
+ color: var(--success-900);
29864
+ background-color: var(--success-50);
29865
+ border-color: var(--success-200);
29866
+ }
29867
+ .snippet-success .snippet-copy:hover {
29868
+ background-color: var(--success-100);
29869
+ }
29870
+
29871
+ .snippet-warning {
29872
+ color: var(--warning-900);
29873
+ background-color: var(--warning-50);
29874
+ border-color: var(--warning-200);
29875
+ }
29876
+ .snippet-warning .snippet-copy:hover {
29877
+ background-color: var(--warning-100);
29878
+ }
29879
+
29880
+ .snippet-line-numbers {
29881
+ display: grid;
29882
+ grid-template-columns: auto 1fr;
29883
+ padding: 0;
29884
+ }
29885
+ .snippet-line-numbers .snippet-lines {
29886
+ display: flex;
29887
+ flex-direction: column;
29888
+ padding: 1rem 0.75rem;
29889
+ background-color: var(--gray-200);
29890
+ border-right: 1px solid var(--border);
29891
+ text-align: right;
29892
+ user-select: none;
29893
+ }
29894
+ .snippet-line-numbers .snippet-line-number {
29895
+ font-size: var(--text-xs);
29896
+ color: var(--text-muted);
29897
+ line-height: 1.5rem;
29898
+ }
29899
+ .snippet-line-numbers .snippet-content {
29900
+ padding: 1rem;
29901
+ padding-right: 3rem;
29902
+ }
29903
+ .snippet-line-numbers .snippet-content code {
29904
+ display: block;
29905
+ line-height: 1.5rem;
29906
+ }
29907
+
29908
+ .snippet-line-highlighted {
29909
+ background-color: var(--warning-100);
29910
+ margin: 0 -1rem;
29911
+ padding: 0 1rem;
29912
+ }
29913
+
29914
+ .snippet-diff .snippet-line-added {
29915
+ background-color: var(--success-100);
29916
+ }
29917
+ .snippet-diff .snippet-line-added::before {
29918
+ content: "+ ";
29919
+ color: var(--success);
29920
+ }
29921
+ .snippet-diff .snippet-line-removed {
29922
+ background-color: var(--danger-100);
29923
+ }
29924
+ .snippet-diff .snippet-line-removed::before {
29925
+ content: "- ";
29926
+ color: var(--danger);
29927
+ }
29928
+
29929
+ .snippet-group {
29930
+ display: flex;
29931
+ flex-direction: column;
29932
+ gap: 0;
29933
+ }
29934
+ .snippet-group .snippet {
29935
+ border-radius: 0;
29936
+ margin-top: -1px;
29937
+ }
29938
+ .snippet-group .snippet:first-child {
29939
+ border-radius: 0.375rem 0.375rem 0 0;
29940
+ margin-top: 0;
29941
+ }
29942
+ .snippet-group .snippet:last-child {
29943
+ border-radius: 0 0 0.375rem 0.375rem;
29944
+ }
29945
+
29946
+ .snippet-tabs .snippet-tabs-header {
29947
+ display: flex;
29948
+ background-color: var(--gray-200);
29949
+ border: 1px solid var(--border);
29950
+ border-bottom: none;
29951
+ border-radius: 0.375rem 0.375rem 0 0;
29952
+ overflow-x: auto;
29953
+ }
29954
+ .snippet-tabs .snippet-tab {
29955
+ padding: 0.5rem 1rem;
29956
+ font-size: var(--text-sm);
29957
+ font-weight: 500;
29958
+ color: var(--text-muted);
29959
+ background: transparent;
29960
+ border: none;
29961
+ border-bottom: 2px solid transparent;
29962
+ cursor: pointer;
29963
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out;
29964
+ white-space: nowrap;
29965
+ }
29966
+ .snippet-tabs .snippet-tab:hover {
29967
+ color: var(--text);
29968
+ background-color: var(--gray-300);
29969
+ }
29970
+ .snippet-tabs .snippet-tab.is-active {
29971
+ color: var(--primary);
29972
+ background-color: var(--gray-100);
29973
+ border-bottom-color: var(--primary);
29974
+ }
29975
+ .snippet-tabs .snippet {
29976
+ border-radius: 0 0 0.375rem 0.375rem;
29977
+ }
29978
+
29979
+ .snippet-tooltip {
29980
+ position: absolute;
29981
+ right: 0.5rem;
29982
+ top: -2rem;
29983
+ padding: 0.25rem 0.5rem;
29984
+ font-size: var(--text-xs);
29985
+ font-family: var(--font-sans);
29986
+ color: var(--white);
29987
+ background-color: var(--gray-900);
29988
+ border-radius: 0.25rem;
29989
+ opacity: 0;
29990
+ visibility: hidden;
29991
+ transform: translateY(4px);
29992
+ transition: opacity 150ms ease-in-out, visibility 150ms ease-in-out, transform 150ms ease-in-out;
29993
+ }
29994
+ .snippet-tooltip.is-visible {
29995
+ opacity: 1;
29996
+ visibility: visible;
29997
+ transform: translateY(0);
29998
+ }
29999
+ .snippet-tooltip::after {
30000
+ content: "";
30001
+ position: absolute;
30002
+ top: 100%;
30003
+ right: 0.75rem;
30004
+ border: 4px solid transparent;
30005
+ border-top-color: var(--gray-900);
30006
+ }
30007
+
30008
+ .snippet-wrap .snippet-content {
30009
+ white-space: pre-wrap;
30010
+ word-break: break-all;
30011
+ }
30012
+
30013
+ .snippet-collapsible .snippet-content {
30014
+ max-height: 200px;
30015
+ overflow-y: hidden;
30016
+ transition: max-height 200ms ease-in-out;
30017
+ }
30018
+ .snippet-collapsible.is-expanded .snippet-content {
30019
+ max-height: none;
30020
+ }
30021
+
30022
+ .snippet-expand {
30023
+ display: flex;
30024
+ justify-content: center;
30025
+ padding: 0.5rem;
30026
+ border-top: 1px solid var(--border);
30027
+ background: linear-gradient(to bottom, transparent, var(--gray-100));
30028
+ margin-top: -2rem;
30029
+ position: relative;
30030
+ z-index: 1;
30031
+ }
30032
+ .snippet-expand button {
30033
+ padding: 0.25rem 0.75rem;
30034
+ font-size: var(--text-xs);
30035
+ color: var(--text-muted);
30036
+ background-color: var(--bg);
30037
+ border: 1px solid var(--border);
30038
+ border-radius: 9999px;
30039
+ cursor: pointer;
30040
+ transition: color 150ms ease-in-out;
30041
+ }
30042
+ .snippet-expand button:hover {
30043
+ color: var(--text);
30044
+ }
30045
+
30046
+ [data-theme=dark] .snippet {
30047
+ background-color: var(--gray-800);
30048
+ border-color: var(--gray-700);
30049
+ }
30050
+ [data-theme=dark] .snippet-copy:hover {
30051
+ background-color: var(--gray-700);
30052
+ }
30053
+ [data-theme=dark] .snippet-content::-webkit-scrollbar-thumb {
30054
+ background-color: var(--gray-600);
30055
+ }
30056
+ [data-theme=dark] .snippet-with-header .snippet-header {
30057
+ background-color: var(--gray-700);
30058
+ border-color: var(--gray-600);
30059
+ }
30060
+ [data-theme=dark] .snippet-with-header .snippet-language {
30061
+ background-color: var(--gray-600);
30062
+ }
30063
+ [data-theme=dark] .snippet-line-numbers .snippet-lines {
30064
+ background-color: var(--gray-700);
30065
+ border-color: var(--gray-600);
30066
+ }
30067
+ [data-theme=dark] .snippet-line-highlighted {
30068
+ background-color: rgba(245, 158, 11, 0.2);
30069
+ }
30070
+ [data-theme=dark] .snippet-diff .snippet-line-added {
30071
+ background-color: rgba(16, 185, 129, 0.2);
30072
+ }
30073
+ [data-theme=dark] .snippet-diff .snippet-line-removed {
30074
+ background-color: rgba(239, 68, 68, 0.2);
30075
+ }
30076
+ [data-theme=dark] .snippet-tabs .snippet-tabs-header {
30077
+ background-color: var(--gray-700);
30078
+ border-color: var(--gray-600);
30079
+ }
30080
+ [data-theme=dark] .snippet-tabs .snippet-tab:hover {
30081
+ background-color: var(--gray-600);
30082
+ }
30083
+ [data-theme=dark] .snippet-tabs .snippet-tab.is-active {
30084
+ background-color: var(--gray-800);
30085
+ }
30086
+ [data-theme=dark] .snippet-expand {
30087
+ background: linear-gradient(to bottom, transparent, var(--gray-800));
30088
+ border-color: var(--gray-700);
30089
+ }
30090
+ [data-theme=dark] .snippet-expand button {
30091
+ background-color: var(--gray-900);
30092
+ border-color: var(--gray-600);
30093
+ }
30094
+
30095
+ .imagelist {
30096
+ display: grid;
30097
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
30098
+ gap: 0.5rem;
30099
+ }
30100
+
30101
+ .imagelist-cols-1 {
30102
+ grid-template-columns: 1fr;
30103
+ }
30104
+
30105
+ .imagelist-cols-2 {
30106
+ grid-template-columns: repeat(2, 1fr);
30107
+ }
30108
+
30109
+ .imagelist-cols-3 {
30110
+ grid-template-columns: repeat(3, 1fr);
30111
+ }
30112
+
30113
+ .imagelist-cols-4 {
30114
+ grid-template-columns: repeat(4, 1fr);
30115
+ }
30116
+
30117
+ .imagelist-cols-5 {
30118
+ grid-template-columns: repeat(5, 1fr);
30119
+ }
30120
+
30121
+ .imagelist-cols-6 {
30122
+ grid-template-columns: repeat(6, 1fr);
30123
+ }
30124
+
30125
+ .imagelist-gap-none {
30126
+ gap: 0;
30127
+ }
30128
+
30129
+ .imagelist-gap-xs {
30130
+ gap: 0.25rem;
30131
+ }
30132
+
30133
+ .imagelist-gap-sm {
30134
+ gap: 0.5rem;
30135
+ }
30136
+
30137
+ .imagelist-gap-md {
30138
+ gap: 1rem;
30139
+ }
30140
+
30141
+ .imagelist-gap-lg {
30142
+ gap: 1.5rem;
30143
+ }
30144
+
30145
+ .imagelist-gap-xl {
30146
+ gap: 2rem;
30147
+ }
30148
+
30149
+ .imagelist-item {
30150
+ position: relative;
30151
+ overflow: hidden;
30152
+ border-radius: 0.375rem;
30153
+ background-color: var(--gray-100);
30154
+ }
30155
+
30156
+ .imagelist-item-img {
30157
+ display: block;
30158
+ width: 100%;
30159
+ height: 100%;
30160
+ object-fit: cover;
30161
+ transition: transform 200ms ease-in-out;
30162
+ }
30163
+
30164
+ .imagelist-item:hover .imagelist-item-img {
30165
+ transform: scale(1.05);
30166
+ }
30167
+
30168
+ .imagelist-square .imagelist-item {
30169
+ aspect-ratio: 1/1;
30170
+ }
30171
+
30172
+ .imagelist-landscape .imagelist-item {
30173
+ aspect-ratio: 16/9;
30174
+ }
30175
+
30176
+ .imagelist-portrait .imagelist-item {
30177
+ aspect-ratio: 3/4;
30178
+ }
30179
+
30180
+ .imagelist-wide .imagelist-item {
30181
+ aspect-ratio: 21/9;
30182
+ }
30183
+
30184
+ .imagelist-item-actions {
30185
+ position: absolute;
30186
+ top: 0.5rem;
30187
+ right: 0.5rem;
30188
+ display: flex;
30189
+ gap: 0.25rem;
30190
+ opacity: 0;
30191
+ transition: opacity 150ms ease-in-out;
30192
+ }
30193
+
30194
+ .imagelist-item:hover .imagelist-item-actions {
30195
+ opacity: 1;
30196
+ }
30197
+
30198
+ .imagelist-item-action {
30199
+ display: flex;
30200
+ align-items: center;
30201
+ justify-content: center;
30202
+ width: 2rem;
30203
+ height: 2rem;
30204
+ padding: 0;
30205
+ color: var(--white);
30206
+ background-color: rgba(0, 0, 0, 0.5);
30207
+ border: none;
30208
+ border-radius: 0.375rem;
30209
+ cursor: pointer;
30210
+ backdrop-filter: blur(4px);
30211
+ transition: background-color 150ms ease-in-out;
30212
+ }
30213
+ .imagelist-item-action:hover {
30214
+ background-color: rgba(0, 0, 0, 0.7);
30215
+ }
30216
+ .imagelist-item-action svg {
30217
+ width: 1rem;
30218
+ height: 1rem;
30219
+ }
30220
+
30221
+ .imagelist-item-overlay {
30222
+ position: absolute;
30223
+ inset: 0;
30224
+ display: flex;
30225
+ flex-direction: column;
30226
+ justify-content: flex-end;
30227
+ padding: 1rem;
30228
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
30229
+ opacity: 0;
30230
+ transition: opacity 150ms ease-in-out;
30231
+ }
30232
+
30233
+ .imagelist-item:hover .imagelist-item-overlay {
30234
+ opacity: 1;
30235
+ }
30236
+
30237
+ .imagelist-item-title {
30238
+ font-size: var(--text-sm);
30239
+ font-weight: 500;
30240
+ color: var(--white);
30241
+ margin: 0;
30242
+ }
30243
+
30244
+ .imagelist-item-subtitle {
30245
+ font-size: var(--text-xs);
30246
+ color: rgba(255, 255, 255, 0.7);
30247
+ margin: 0.25rem 0 0;
30248
+ }
30249
+
30250
+ .imagelist-item-bar {
30251
+ position: absolute;
30252
+ bottom: 0;
30253
+ left: 0;
30254
+ right: 0;
30255
+ display: flex;
30256
+ align-items: center;
30257
+ justify-content: space-between;
30258
+ padding: 0.5rem 0.75rem;
30259
+ background-color: rgba(0, 0, 0, 0.6);
30260
+ backdrop-filter: blur(4px);
30261
+ }
30262
+
30263
+ .imagelist-item-bar-title {
30264
+ font-size: var(--text-xs);
30265
+ font-weight: 500;
30266
+ color: var(--white);
30267
+ white-space: nowrap;
30268
+ overflow: hidden;
30269
+ text-overflow: ellipsis;
30270
+ }
30271
+
30272
+ .imagelist-item-bar-actions {
30273
+ display: flex;
30274
+ gap: 0.25rem;
30275
+ }
30276
+
30277
+ .imagelist-masonry {
30278
+ display: block;
30279
+ column-count: 3;
30280
+ column-gap: 0.5rem;
30281
+ }
30282
+ .imagelist-masonry .imagelist-item {
30283
+ break-inside: avoid;
30284
+ margin-bottom: 0.5rem;
30285
+ aspect-ratio: auto;
30286
+ }
30287
+
30288
+ .imagelist-masonry-2 {
30289
+ column-count: 2;
30290
+ }
30291
+
30292
+ .imagelist-masonry-3 {
30293
+ column-count: 3;
30294
+ }
30295
+
30296
+ .imagelist-masonry-4 {
30297
+ column-count: 4;
30298
+ }
30299
+
30300
+ .imagelist-masonry-5 {
30301
+ column-count: 5;
30302
+ }
30303
+
30304
+ .imagelist-quilted {
30305
+ grid-template-columns: repeat(4, 1fr);
30306
+ grid-auto-rows: 200px;
30307
+ }
30308
+ .imagelist-quilted .imagelist-item-featured {
30309
+ grid-column: span 2;
30310
+ grid-row: span 2;
30311
+ }
30312
+ .imagelist-quilted .imagelist-item-wide {
30313
+ grid-column: span 2;
30314
+ }
30315
+ .imagelist-quilted .imagelist-item-tall {
30316
+ grid-row: span 2;
30317
+ }
30318
+
30319
+ .imagelist-woven {
30320
+ grid-template-columns: repeat(3, 1fr);
30321
+ }
30322
+ .imagelist-woven .imagelist-item:nth-child(3n+2) {
30323
+ margin-top: 2rem;
30324
+ }
30325
+
30326
+ .imagelist-selectable .imagelist-item {
30327
+ cursor: pointer;
30328
+ }
30329
+
30330
+ .imagelist-item-checkbox {
30331
+ position: absolute;
30332
+ top: 0.5rem;
30333
+ left: 0.5rem;
30334
+ display: flex;
30335
+ align-items: center;
30336
+ justify-content: center;
30337
+ width: 1.5rem;
30338
+ height: 1.5rem;
30339
+ background-color: rgba(255, 255, 255, 0.9);
30340
+ border: 2px solid var(--gray-300);
30341
+ border-radius: 0.25rem;
30342
+ opacity: 0;
30343
+ transition: opacity 150ms ease-in-out, background-color 150ms ease-in-out, border-color 150ms ease-in-out;
30344
+ }
30345
+ .imagelist-item-checkbox svg {
30346
+ width: 1rem;
30347
+ height: 1rem;
30348
+ color: var(--white);
30349
+ opacity: 0;
30350
+ }
30351
+
30352
+ .imagelist-item:hover .imagelist-item-checkbox {
30353
+ opacity: 1;
30354
+ }
30355
+
30356
+ .imagelist-item.is-selected .imagelist-item-checkbox {
30357
+ opacity: 1;
30358
+ background-color: var(--primary);
30359
+ border-color: var(--primary);
30360
+ }
30361
+ .imagelist-item.is-selected .imagelist-item-checkbox svg {
30362
+ opacity: 1;
30363
+ }
30364
+ .imagelist-item.is-selected .imagelist-item-img {
30365
+ filter: brightness(0.8);
30366
+ }
30367
+
30368
+ .imagelist-item-loading {
30369
+ display: flex;
30370
+ align-items: center;
30371
+ justify-content: center;
30372
+ background-color: var(--gray-100);
30373
+ }
30374
+ .imagelist-item-loading .imagelist-item-spinner {
30375
+ width: 2rem;
30376
+ height: 2rem;
30377
+ border: 2px solid var(--gray-300);
30378
+ border-top-color: var(--primary);
30379
+ border-radius: 50%;
30380
+ animation: spin 0.8s linear infinite;
30381
+ }
30382
+
30383
+ @keyframes spin {
30384
+ to {
30385
+ transform: rotate(360deg);
30386
+ }
30387
+ }
30388
+ .imagelist-item-placeholder {
30389
+ background: linear-gradient(90deg, var(--gray-100) 0%, var(--gray-200) 50%, var(--gray-100) 100%);
30390
+ background-size: 200% 100%;
30391
+ animation: shimmer 1.5s infinite;
30392
+ }
30393
+
30394
+ @keyframes shimmer {
30395
+ 0% {
30396
+ background-position: 200% 0;
30397
+ }
30398
+ 100% {
30399
+ background-position: -200% 0;
30400
+ }
30401
+ }
30402
+ .imagelist-item-error {
30403
+ display: flex;
30404
+ flex-direction: column;
30405
+ align-items: center;
30406
+ justify-content: center;
30407
+ background-color: var(--gray-100);
30408
+ color: var(--text-muted);
30409
+ }
30410
+ .imagelist-item-error svg {
30411
+ width: 2rem;
30412
+ height: 2rem;
30413
+ margin-bottom: 0.5rem;
30414
+ }
30415
+ .imagelist-item-error span {
30416
+ font-size: var(--text-xs);
30417
+ }
30418
+
30419
+ .imagelist-bordered .imagelist-item {
30420
+ border: 1px solid var(--border);
30421
+ }
30422
+
30423
+ .imagelist-rounded-none .imagelist-item {
30424
+ border-radius: 0;
30425
+ }
30426
+
30427
+ .imagelist-rounded-sm .imagelist-item {
30428
+ border-radius: 0.25rem;
30429
+ }
30430
+
30431
+ .imagelist-rounded-lg .imagelist-item {
30432
+ border-radius: 0.75rem;
30433
+ }
30434
+
30435
+ .imagelist-rounded-full .imagelist-item {
30436
+ border-radius: 9999px;
30437
+ aspect-ratio: 1/1;
30438
+ }
30439
+
30440
+ .imagelist-lightbox .imagelist-item {
30441
+ cursor: zoom-in;
30442
+ }
30443
+ .imagelist-lightbox .imagelist-item-zoom {
30444
+ position: absolute;
30445
+ bottom: 0.5rem;
30446
+ right: 0.5rem;
30447
+ display: flex;
30448
+ align-items: center;
30449
+ justify-content: center;
30450
+ width: 2rem;
30451
+ height: 2rem;
30452
+ color: var(--white);
30453
+ background-color: rgba(0, 0, 0, 0.5);
30454
+ border-radius: 0.375rem;
30455
+ opacity: 0;
30456
+ transition: opacity 150ms ease-in-out;
30457
+ }
30458
+ .imagelist-lightbox .imagelist-item-zoom svg {
30459
+ width: 1rem;
30460
+ height: 1rem;
30461
+ }
30462
+ .imagelist-lightbox .imagelist-item:hover .imagelist-item-zoom {
30463
+ opacity: 1;
30464
+ }
30465
+
30466
+ .imagelist-item-more {
30467
+ display: flex;
30468
+ align-items: center;
30469
+ justify-content: center;
30470
+ background-color: rgba(0, 0, 0, 0.6);
30471
+ cursor: pointer;
30472
+ }
30473
+ .imagelist-item-more .imagelist-item-more-count {
30474
+ font-size: var(--text-2xl);
30475
+ font-weight: 600;
30476
+ color: var(--white);
30477
+ }
30478
+
30479
+ .imagelist-item-caption {
30480
+ padding: 0.5rem;
30481
+ background-color: var(--bg);
30482
+ border-top: 1px solid var(--border);
30483
+ }
30484
+
30485
+ .imagelist-with-captions .imagelist-item {
30486
+ background-color: var(--bg);
30487
+ border: 1px solid var(--border);
30488
+ }
30489
+ .imagelist-with-captions .imagelist-item-img {
30490
+ aspect-ratio: 16/9;
30491
+ }
30492
+
30493
+ .imagelist-filmstrip {
30494
+ display: flex;
30495
+ gap: 0.25rem;
30496
+ overflow-x: auto;
30497
+ padding-bottom: 0.5rem;
30498
+ }
30499
+ .imagelist-filmstrip .imagelist-item {
30500
+ flex-shrink: 0;
30501
+ width: 80px;
30502
+ height: 80px;
30503
+ border: 2px solid transparent;
30504
+ transition: border-color 150ms ease-in-out;
30505
+ }
30506
+ .imagelist-filmstrip .imagelist-item.is-active {
30507
+ border-color: var(--primary);
30508
+ }
30509
+
30510
+ [data-theme=dark] .imagelist-item {
30511
+ background-color: var(--gray-800);
30512
+ }
30513
+ [data-theme=dark] .imagelist-item-bar {
30514
+ background-color: rgba(0, 0, 0, 0.8);
30515
+ }
30516
+ [data-theme=dark] .imagelist-item-checkbox {
30517
+ background-color: rgba(0, 0, 0, 0.7);
30518
+ border-color: var(--gray-600);
30519
+ }
30520
+ [data-theme=dark] .imagelist-item-loading,
30521
+ [data-theme=dark] .imagelist-item-error {
30522
+ background-color: var(--gray-800);
30523
+ }
30524
+ [data-theme=dark] .imagelist-item-loading .imagelist-item-spinner {
30525
+ border-color: var(--gray-600);
30526
+ border-top-color: var(--primary);
30527
+ }
30528
+ [data-theme=dark] .imagelist-item-placeholder {
30529
+ background: linear-gradient(90deg, var(--gray-800) 0%, var(--gray-700) 50%, var(--gray-800) 100%);
30530
+ background-size: 200% 100%;
30531
+ }
30532
+ [data-theme=dark] .imagelist-bordered .imagelist-item {
30533
+ border-color: var(--gray-700);
30534
+ }
30535
+ [data-theme=dark] .imagelist-item-caption {
30536
+ background-color: var(--gray-900);
30537
+ border-color: var(--gray-700);
30538
+ }
30539
+ [data-theme=dark] .imagelist-with-captions .imagelist-item {
30540
+ background-color: var(--gray-900);
30541
+ border-color: var(--gray-700);
30542
+ }
30543
+
30544
+ @media (max-width: 1199px) {
30545
+ .imagelist-cols-6 {
30546
+ grid-template-columns: repeat(4, 1fr);
30547
+ }
30548
+ .imagelist-masonry-5 {
30549
+ column-count: 4;
30550
+ }
30551
+ }
30552
+ @media (max-width: 991px) {
30553
+ .imagelist-cols-5,
30554
+ .imagelist-cols-6 {
30555
+ grid-template-columns: repeat(3, 1fr);
30556
+ }
30557
+ .imagelist-cols-4 {
30558
+ grid-template-columns: repeat(3, 1fr);
30559
+ }
30560
+ .imagelist-masonry-4,
30561
+ .imagelist-masonry-5 {
30562
+ column-count: 3;
30563
+ }
30564
+ .imagelist-quilted {
30565
+ grid-template-columns: repeat(3, 1fr);
30566
+ }
30567
+ }
30568
+ @media (max-width: 767px) {
30569
+ .imagelist-cols-3,
30570
+ .imagelist-cols-4,
30571
+ .imagelist-cols-5,
30572
+ .imagelist-cols-6 {
30573
+ grid-template-columns: repeat(2, 1fr);
30574
+ }
30575
+ .imagelist-masonry-3,
30576
+ .imagelist-masonry-4,
30577
+ .imagelist-masonry-5 {
30578
+ column-count: 2;
30579
+ }
30580
+ .imagelist-quilted {
30581
+ grid-template-columns: repeat(2, 1fr);
30582
+ grid-auto-rows: 150px;
30583
+ }
30584
+ .imagelist-woven .imagelist-item:nth-child(3n+2) {
30585
+ margin-top: 0;
30586
+ }
30587
+ }
30588
+ @media (max-width: 575px) {
30589
+ .imagelist-cols-2,
30590
+ .imagelist-cols-3,
30591
+ .imagelist-cols-4,
30592
+ .imagelist-cols-5,
30593
+ .imagelist-cols-6 {
30594
+ grid-template-columns: 1fr;
30595
+ }
30596
+ .imagelist-masonry-2,
30597
+ .imagelist-masonry-3,
30598
+ .imagelist-masonry-4,
30599
+ .imagelist-masonry-5 {
30600
+ column-count: 1;
30601
+ }
30602
+ }
28156
30603
  .accordion {
28157
30604
  --accordion-color: var(--text);
28158
30605
  --accordion-bg: transparent;
@@ -28474,6 +30921,303 @@ li .kbd {
28474
30921
  --nav-link-font-size: var(--text-lg);
28475
30922
  }
28476
30923
 
30924
+ .nav-link-closable {
30925
+ display: inline-flex;
30926
+ align-items: center;
30927
+ gap: 0.5rem;
30928
+ }
30929
+
30930
+ .nav-link-close {
30931
+ display: inline-flex;
30932
+ align-items: center;
30933
+ justify-content: center;
30934
+ width: 1.25rem;
30935
+ height: 1.25rem;
30936
+ margin-left: 0.25rem;
30937
+ margin-right: -0.25rem;
30938
+ padding: 0;
30939
+ color: currentColor;
30940
+ background-color: transparent;
30941
+ border: none;
30942
+ border-radius: var(--radius-full);
30943
+ cursor: pointer;
30944
+ opacity: 0.5;
30945
+ transition: opacity 150ms ease-in-out, background-color 150ms ease-in-out;
30946
+ }
30947
+ .nav-link-close svg {
30948
+ width: 0.75rem;
30949
+ height: 0.75rem;
30950
+ }
30951
+ .nav-link-close:hover {
30952
+ opacity: 1;
30953
+ background-color: rgba(0, 0, 0, 0.1);
30954
+ }
30955
+
30956
+ .nav-pills .nav-link.active .nav-link-close:hover {
30957
+ background-color: rgba(255, 255, 255, 0.2);
30958
+ }
30959
+
30960
+ .nav-tabs-scrollable {
30961
+ position: relative;
30962
+ display: flex;
30963
+ align-items: center;
30964
+ }
30965
+ .nav-tabs-scrollable .nav-tabs-scroll-container {
30966
+ overflow-x: auto;
30967
+ overflow-y: hidden;
30968
+ -webkit-overflow-scrolling: touch;
30969
+ scrollbar-width: none;
30970
+ -ms-overflow-style: none;
30971
+ }
30972
+ .nav-tabs-scrollable .nav-tabs-scroll-container::-webkit-scrollbar {
30973
+ display: none;
30974
+ }
30975
+ .nav-tabs-scrollable .nav {
30976
+ flex-wrap: nowrap;
30977
+ }
30978
+ .nav-tabs-scrollable .nav-link {
30979
+ white-space: nowrap;
30980
+ }
30981
+
30982
+ .nav-tabs-scroll-btn {
30983
+ position: absolute;
30984
+ top: 0;
30985
+ bottom: 0;
30986
+ display: flex;
30987
+ align-items: center;
30988
+ justify-content: center;
30989
+ width: 2rem;
30990
+ padding: 0;
30991
+ color: var(--text-muted);
30992
+ background-color: var(--bg);
30993
+ border: none;
30994
+ cursor: pointer;
30995
+ z-index: 1;
30996
+ transition: color 150ms ease-in-out, opacity 150ms ease-in-out;
30997
+ }
30998
+ .nav-tabs-scroll-btn svg {
30999
+ width: 1rem;
31000
+ height: 1rem;
31001
+ }
31002
+ .nav-tabs-scroll-btn:hover {
31003
+ color: var(--text);
31004
+ }
31005
+ .nav-tabs-scroll-btn:disabled {
31006
+ opacity: 0.3;
31007
+ cursor: not-allowed;
31008
+ }
31009
+
31010
+ .nav-tabs-scroll-btn-start {
31011
+ left: 0;
31012
+ background: linear-gradient(to right, var(--bg) 60%, transparent);
31013
+ padding-right: 0.5rem;
31014
+ }
31015
+
31016
+ .nav-tabs-scroll-btn-end {
31017
+ right: 0;
31018
+ background: linear-gradient(to left, var(--bg) 60%, transparent);
31019
+ padding-left: 0.5rem;
31020
+ }
31021
+
31022
+ .nav-link-icon {
31023
+ display: inline-flex;
31024
+ align-items: center;
31025
+ justify-content: center;
31026
+ margin-right: 0.5rem;
31027
+ }
31028
+ .nav-link-icon svg {
31029
+ width: 1rem;
31030
+ height: 1rem;
31031
+ }
31032
+
31033
+ .nav-link-icon-only {
31034
+ padding: var(--nav-link-padding-y);
31035
+ }
31036
+ .nav-link-icon-only svg {
31037
+ width: 1.25rem;
31038
+ height: 1.25rem;
31039
+ }
31040
+
31041
+ .nav-link-badge {
31042
+ display: inline-flex;
31043
+ align-items: center;
31044
+ justify-content: center;
31045
+ min-width: 1.25rem;
31046
+ height: 1.25rem;
31047
+ margin-left: 0.5rem;
31048
+ padding: 0 0.375rem;
31049
+ font-size: var(--text-xs);
31050
+ font-weight: 600;
31051
+ color: var(--white);
31052
+ background-color: var(--primary);
31053
+ border-radius: var(--radius-full);
31054
+ }
31055
+
31056
+ .nav-link.active .nav-link-badge {
31057
+ background-color: var(--white);
31058
+ color: var(--primary);
31059
+ }
31060
+
31061
+ .nav-pills .nav-link.active .nav-link-badge {
31062
+ background-color: rgba(255, 255, 255, 0.3);
31063
+ color: var(--white);
31064
+ }
31065
+
31066
+ .nav-tabs-divided .nav-item:not(:last-child)::after {
31067
+ content: "";
31068
+ display: block;
31069
+ width: 1px;
31070
+ height: 1rem;
31071
+ background-color: var(--border);
31072
+ margin: 0 0.5rem;
31073
+ align-self: center;
31074
+ }
31075
+ .nav-tabs-divided .nav-item {
31076
+ display: flex;
31077
+ align-items: center;
31078
+ }
31079
+
31080
+ .nav-tabs-animated {
31081
+ position: relative;
31082
+ }
31083
+ .nav-tabs-animated .nav-tabs-indicator {
31084
+ position: absolute;
31085
+ bottom: 0;
31086
+ left: 0;
31087
+ height: 2px;
31088
+ background-color: var(--primary);
31089
+ transition: transform 200ms ease-in-out, width 200ms ease-in-out;
31090
+ }
31091
+
31092
+ .nav-segmented {
31093
+ display: inline-flex;
31094
+ padding: 0.25rem;
31095
+ background-color: var(--gray-100);
31096
+ border-radius: var(--radius);
31097
+ gap: 0.25rem;
31098
+ }
31099
+ .nav-segmented .nav-link {
31100
+ padding: 0.375rem 0.75rem;
31101
+ font-size: var(--text-sm);
31102
+ font-weight: 500;
31103
+ color: var(--text-muted);
31104
+ background-color: transparent;
31105
+ border-radius: calc(var(--radius) - 2px);
31106
+ transition: color 150ms ease-in-out, background-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
31107
+ }
31108
+ .nav-segmented .nav-link:hover {
31109
+ color: var(--text);
31110
+ }
31111
+ .nav-segmented .nav-link.active {
31112
+ color: var(--text);
31113
+ background-color: var(--bg);
31114
+ box-shadow: var(--shadow-sm);
31115
+ }
31116
+
31117
+ .nav-tabs-card {
31118
+ background-color: var(--bg-muted);
31119
+ border-radius: var(--radius) var(--radius) 0 0;
31120
+ padding: 0.5rem 0.5rem 0;
31121
+ }
31122
+ .nav-tabs-card .nav-link {
31123
+ border-radius: var(--radius) var(--radius) 0 0;
31124
+ margin-bottom: 0;
31125
+ }
31126
+ .nav-tabs-card .nav-link.active {
31127
+ background-color: var(--bg);
31128
+ }
31129
+
31130
+ .nav-centered {
31131
+ justify-content: center;
31132
+ }
31133
+
31134
+ .nav-end {
31135
+ justify-content: flex-end;
31136
+ }
31137
+
31138
+ .nav-tabs-addable .nav-add-btn {
31139
+ display: flex;
31140
+ align-items: center;
31141
+ justify-content: center;
31142
+ width: 2rem;
31143
+ height: 2rem;
31144
+ margin-left: 0.25rem;
31145
+ padding: 0;
31146
+ color: var(--text-muted);
31147
+ background-color: transparent;
31148
+ border: 1px dashed var(--border);
31149
+ border-radius: var(--radius);
31150
+ cursor: pointer;
31151
+ transition: color 150ms ease-in-out, border-color 150ms ease-in-out, background-color 150ms ease-in-out;
31152
+ }
31153
+ .nav-tabs-addable .nav-add-btn svg {
31154
+ width: 1rem;
31155
+ height: 1rem;
31156
+ }
31157
+ .nav-tabs-addable .nav-add-btn:hover {
31158
+ color: var(--primary);
31159
+ border-color: var(--primary);
31160
+ background-color: var(--primary-50);
31161
+ }
31162
+
31163
+ .nav-link-loading {
31164
+ position: relative;
31165
+ pointer-events: none;
31166
+ }
31167
+ .nav-link-loading::after {
31168
+ content: "";
31169
+ position: absolute;
31170
+ top: 50%;
31171
+ left: 50%;
31172
+ transform: translate(-50%, -50%);
31173
+ width: 1rem;
31174
+ height: 1rem;
31175
+ border: 2px solid currentColor;
31176
+ border-top-color: transparent;
31177
+ border-radius: 50%;
31178
+ animation: nav-link-spin 0.6s linear infinite;
31179
+ opacity: 0.7;
31180
+ }
31181
+ .nav-link-loading > * {
31182
+ opacity: 0;
31183
+ }
31184
+
31185
+ @keyframes nav-link-spin {
31186
+ to {
31187
+ transform: translate(-50%, -50%) rotate(360deg);
31188
+ }
31189
+ }
31190
+ [data-theme=dark] .nav-link-close:hover {
31191
+ background-color: rgba(255, 255, 255, 0.1);
31192
+ }
31193
+ [data-theme=dark] .nav-tabs-scroll-btn {
31194
+ background-color: var(--gray-900);
31195
+ }
31196
+ [data-theme=dark] .nav-tabs-scroll-btn-start {
31197
+ background: linear-gradient(to right, var(--gray-900) 60%, transparent);
31198
+ }
31199
+ [data-theme=dark] .nav-tabs-scroll-btn-end {
31200
+ background: linear-gradient(to left, var(--gray-900) 60%, transparent);
31201
+ }
31202
+ [data-theme=dark] .nav-segmented {
31203
+ background-color: var(--gray-800);
31204
+ }
31205
+ [data-theme=dark] .nav-segmented .nav-link.active {
31206
+ background-color: var(--gray-700);
31207
+ }
31208
+ [data-theme=dark] .nav-tabs-card {
31209
+ background-color: var(--gray-800);
31210
+ }
31211
+ [data-theme=dark] .nav-tabs-card .nav-link.active {
31212
+ background-color: var(--gray-900);
31213
+ }
31214
+ [data-theme=dark] .nav-tabs-addable .nav-add-btn {
31215
+ border-color: var(--gray-600);
31216
+ }
31217
+ [data-theme=dark] .nav-tabs-addable .nav-add-btn:hover {
31218
+ background-color: rgba(79, 70, 229, 0.1);
31219
+ }
31220
+
28477
31221
  .dropdown,
28478
31222
  .dropup,
28479
31223
  .dropend,
@@ -29579,6 +32323,284 @@ li .kbd {
29579
32323
  color: var(--text-muted);
29580
32324
  }
29581
32325
 
32326
+ .toast-progress {
32327
+ position: absolute;
32328
+ bottom: 0;
32329
+ left: 0;
32330
+ height: 3px;
32331
+ background-color: currentColor;
32332
+ opacity: 0.3;
32333
+ border-radius: 0 0 var(--toast-border-radius) var(--toast-border-radius);
32334
+ animation: toast-progress-countdown 5s linear forwards;
32335
+ }
32336
+
32337
+ .toast-progress-primary {
32338
+ background-color: var(--primary);
32339
+ }
32340
+
32341
+ .toast-progress-success {
32342
+ background-color: var(--success);
32343
+ }
32344
+
32345
+ .toast-progress-danger {
32346
+ background-color: var(--danger);
32347
+ }
32348
+
32349
+ .toast-progress-warning {
32350
+ background-color: var(--warning);
32351
+ }
32352
+
32353
+ .toast-progress-info {
32354
+ background-color: var(--info);
32355
+ }
32356
+
32357
+ .toast-progress-3s {
32358
+ animation-duration: 3s;
32359
+ }
32360
+
32361
+ .toast-progress-5s {
32362
+ animation-duration: 5s;
32363
+ }
32364
+
32365
+ .toast-progress-10s {
32366
+ animation-duration: 10s;
32367
+ }
32368
+
32369
+ @keyframes toast-progress-countdown {
32370
+ from {
32371
+ width: 100%;
32372
+ }
32373
+ to {
32374
+ width: 0%;
32375
+ }
32376
+ }
32377
+ .toast:hover .toast-progress {
32378
+ animation-play-state: paused;
32379
+ }
32380
+
32381
+ .toast-actions {
32382
+ display: flex;
32383
+ align-items: center;
32384
+ gap: 0.5rem;
32385
+ margin-left: auto;
32386
+ padding-left: 0.75rem;
32387
+ }
32388
+
32389
+ .toast-action-btn {
32390
+ display: inline-flex;
32391
+ align-items: center;
32392
+ justify-content: center;
32393
+ padding: 0.25rem 0.75rem;
32394
+ font-size: var(--text-xs);
32395
+ font-weight: 500;
32396
+ color: inherit;
32397
+ background-color: rgba(255, 255, 255, 0.2);
32398
+ border: none;
32399
+ border-radius: var(--radius-sm);
32400
+ cursor: pointer;
32401
+ transition: background-color 150ms ease-in-out;
32402
+ white-space: nowrap;
32403
+ }
32404
+ .toast-action-btn:hover {
32405
+ background-color: rgba(255, 255, 255, 0.3);
32406
+ }
32407
+
32408
+ .toast-action-link {
32409
+ display: inline-flex;
32410
+ align-items: center;
32411
+ padding: 0.25rem 0;
32412
+ font-size: var(--text-xs);
32413
+ font-weight: 500;
32414
+ color: inherit;
32415
+ text-decoration: underline;
32416
+ text-underline-offset: 2px;
32417
+ background: none;
32418
+ border: none;
32419
+ cursor: pointer;
32420
+ transition: opacity 150ms ease-in-out;
32421
+ }
32422
+ .toast-action-link:hover {
32423
+ opacity: 0.8;
32424
+ }
32425
+
32426
+ .toast-light .toast-action-btn,
32427
+ .toast:not([class*=toast-]) .toast-action-btn {
32428
+ color: var(--text);
32429
+ background-color: var(--gray-200);
32430
+ }
32431
+ .toast-light .toast-action-btn:hover,
32432
+ .toast:not([class*=toast-]) .toast-action-btn:hover {
32433
+ background-color: var(--gray-300);
32434
+ }
32435
+
32436
+ .toast-with-actions .toast-body {
32437
+ display: flex;
32438
+ align-items: center;
32439
+ justify-content: space-between;
32440
+ gap: 1rem;
32441
+ }
32442
+ .toast-with-actions .toast-content {
32443
+ flex: 1;
32444
+ min-width: 0;
32445
+ }
32446
+
32447
+ .toast-undo .toast-body {
32448
+ display: flex;
32449
+ align-items: center;
32450
+ gap: 1rem;
32451
+ }
32452
+ .toast-undo .toast-undo-btn {
32453
+ display: inline-flex;
32454
+ align-items: center;
32455
+ padding: 0.25rem 0.5rem;
32456
+ font-size: var(--text-sm);
32457
+ font-weight: 600;
32458
+ color: var(--primary);
32459
+ background: transparent;
32460
+ border: none;
32461
+ cursor: pointer;
32462
+ transition: opacity 150ms ease-in-out;
32463
+ }
32464
+ .toast-undo .toast-undo-btn:hover {
32465
+ opacity: 0.8;
32466
+ }
32467
+
32468
+ .toast-close {
32469
+ display: flex;
32470
+ align-items: center;
32471
+ justify-content: center;
32472
+ width: 1.5rem;
32473
+ height: 1.5rem;
32474
+ margin-left: auto;
32475
+ padding: 0;
32476
+ color: currentColor;
32477
+ background: transparent;
32478
+ border: none;
32479
+ border-radius: var(--radius-sm);
32480
+ cursor: pointer;
32481
+ opacity: 0.5;
32482
+ transition: opacity 150ms ease-in-out, background-color 150ms ease-in-out;
32483
+ }
32484
+ .toast-close svg {
32485
+ width: 0.875rem;
32486
+ height: 0.875rem;
32487
+ }
32488
+ .toast-close:hover {
32489
+ opacity: 1;
32490
+ background-color: rgba(0, 0, 0, 0.1);
32491
+ }
32492
+
32493
+ .toast-dark .toast-close:hover,
32494
+ .toast-primary .toast-close:hover,
32495
+ .toast-success .toast-close:hover,
32496
+ .toast-danger .toast-close:hover,
32497
+ .toast-info .toast-close:hover {
32498
+ background-color: rgba(255, 255, 255, 0.2);
32499
+ }
32500
+
32501
+ .toast-loading .toast-loading-icon {
32502
+ display: flex;
32503
+ align-items: center;
32504
+ justify-content: center;
32505
+ width: 1.5rem;
32506
+ height: 1.5rem;
32507
+ }
32508
+ .toast-loading .toast-loading-icon::after {
32509
+ content: "";
32510
+ width: 1rem;
32511
+ height: 1rem;
32512
+ border: 2px solid currentColor;
32513
+ border-top-color: transparent;
32514
+ border-radius: 50%;
32515
+ animation: toast-spin 0.6s linear infinite;
32516
+ }
32517
+
32518
+ @keyframes toast-spin {
32519
+ to {
32520
+ transform: rotate(360deg);
32521
+ }
32522
+ }
32523
+ .toast-slide-right {
32524
+ animation: toast-slide-in-right 200ms ease-out;
32525
+ }
32526
+
32527
+ .toast-slide-left {
32528
+ animation: toast-slide-in-left 200ms ease-out;
32529
+ }
32530
+
32531
+ .toast-slide-up {
32532
+ animation: toast-slide-in-up 200ms ease-out;
32533
+ }
32534
+
32535
+ .toast-slide-down {
32536
+ animation: toast-slide-in-down 200ms ease-out;
32537
+ }
32538
+
32539
+ @keyframes toast-slide-in-right {
32540
+ from {
32541
+ transform: translateX(100%);
32542
+ opacity: 0;
32543
+ }
32544
+ to {
32545
+ transform: translateX(0);
32546
+ opacity: 1;
32547
+ }
32548
+ }
32549
+ @keyframes toast-slide-in-left {
32550
+ from {
32551
+ transform: translateX(-100%);
32552
+ opacity: 0;
32553
+ }
32554
+ to {
32555
+ transform: translateX(0);
32556
+ opacity: 1;
32557
+ }
32558
+ }
32559
+ @keyframes toast-slide-in-up {
32560
+ from {
32561
+ transform: translateY(100%);
32562
+ opacity: 0;
32563
+ }
32564
+ to {
32565
+ transform: translateY(0);
32566
+ opacity: 1;
32567
+ }
32568
+ }
32569
+ @keyframes toast-slide-in-down {
32570
+ from {
32571
+ transform: translateY(-100%);
32572
+ opacity: 0;
32573
+ }
32574
+ to {
32575
+ transform: translateY(0);
32576
+ opacity: 1;
32577
+ }
32578
+ }
32579
+ .toast-compact {
32580
+ --toast-padding-x: 0.5rem;
32581
+ --toast-padding-y: 0.375rem;
32582
+ --toast-max-width: 280px;
32583
+ --toast-font-size: var(--text-xs);
32584
+ }
32585
+
32586
+ .toast-wide {
32587
+ --toast-max-width: 500px;
32588
+ }
32589
+
32590
+ [data-theme=dark] .toast {
32591
+ --toast-bg: var(--gray-800);
32592
+ --toast-border-color: var(--gray-700);
32593
+ --toast-header-bg: var(--gray-900);
32594
+ }
32595
+ [data-theme=dark] .toast-light .toast-action-btn,
32596
+ [data-theme=dark] .toast:not([class*=toast-]) .toast-action-btn {
32597
+ background-color: var(--gray-700);
32598
+ }
32599
+ [data-theme=dark] .toast-light .toast-action-btn:hover,
32600
+ [data-theme=dark] .toast:not([class*=toast-]) .toast-action-btn:hover {
32601
+ background-color: var(--gray-600);
32602
+ }
32603
+
29582
32604
  .tooltip {
29583
32605
  --tooltip-zindex: 1070;
29584
32606
  --tooltip-max-width: 200px;
@@ -43038,5 +46060,358 @@ li .kbd {
43038
46060
  backdrop-filter: none !important;
43039
46061
  }
43040
46062
  }
46063
+ @media (prefers-reduced-motion: reduce) {
46064
+ *,
46065
+ *::before,
46066
+ *::after {
46067
+ animation-duration: 0.01ms !important;
46068
+ animation-iteration-count: 1 !important;
46069
+ transition-duration: 0.01ms !important;
46070
+ scroll-behavior: auto !important;
46071
+ }
46072
+ .spinner,
46073
+ .spinner-border,
46074
+ .spinner-grow,
46075
+ .toast-progress,
46076
+ .progress-bar-animated,
46077
+ .skeleton,
46078
+ .skeleton-wave,
46079
+ .placeholder-wave,
46080
+ .carousel-item,
46081
+ .collapse,
46082
+ .modal,
46083
+ .offcanvas,
46084
+ .dropdown-menu,
46085
+ .tooltip,
46086
+ .popover,
46087
+ .toast,
46088
+ .alert,
46089
+ .accordion-collapse {
46090
+ animation: none !important;
46091
+ transition: none !important;
46092
+ }
46093
+ .card-hover:hover,
46094
+ .card-clickable:hover,
46095
+ .btn:hover,
46096
+ .nav-link:hover {
46097
+ transform: none !important;
46098
+ }
46099
+ }
46100
+ .reduce-motion {
46101
+ animation: none !important;
46102
+ transition: none !important;
46103
+ }
46104
+
46105
+ @media (prefers-reduced-motion: reduce) {
46106
+ .motion-safe {
46107
+ animation: none !important;
46108
+ transition: none !important;
46109
+ }
46110
+ }
46111
+
46112
+ .sr-only,
46113
+ .visually-hidden {
46114
+ position: absolute !important;
46115
+ width: 1px !important;
46116
+ height: 1px !important;
46117
+ padding: 0 !important;
46118
+ margin: -1px !important;
46119
+ overflow: hidden !important;
46120
+ clip: rect(0, 0, 0, 0) !important;
46121
+ white-space: nowrap !important;
46122
+ border: 0 !important;
46123
+ }
46124
+
46125
+ .sr-only-focusable:not(:focus):not(:focus-within),
46126
+ .visually-hidden-focusable:not(:focus):not(:focus-within) {
46127
+ position: absolute !important;
46128
+ width: 1px !important;
46129
+ height: 1px !important;
46130
+ padding: 0 !important;
46131
+ margin: -1px !important;
46132
+ overflow: hidden !important;
46133
+ clip: rect(0, 0, 0, 0) !important;
46134
+ white-space: nowrap !important;
46135
+ border: 0 !important;
46136
+ }
46137
+
46138
+ .skip-link {
46139
+ position: absolute;
46140
+ top: -100%;
46141
+ left: 0;
46142
+ z-index: 9999;
46143
+ padding: 0.75rem 1.5rem;
46144
+ font-weight: 600;
46145
+ color: var(--white);
46146
+ background-color: var(--primary);
46147
+ text-decoration: none;
46148
+ border-radius: 0 0 var(--radius) 0;
46149
+ transition: top 0.2s ease-in-out;
46150
+ }
46151
+ .skip-link:focus {
46152
+ top: 0;
46153
+ outline: none;
46154
+ }
46155
+
46156
+ :focus-visible {
46157
+ outline: 2px solid var(--primary);
46158
+ outline-offset: 2px;
46159
+ }
46160
+
46161
+ .focus-ring:focus {
46162
+ outline: none;
46163
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.25);
46164
+ }
46165
+ .focus-ring:focus-visible {
46166
+ outline: none;
46167
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.25);
46168
+ }
46169
+
46170
+ .focus-none:focus {
46171
+ outline: none;
46172
+ box-shadow: none;
46173
+ }
46174
+
46175
+ @media (prefers-contrast: more) {
46176
+ :root {
46177
+ --border: #000;
46178
+ --border-dark: #000;
46179
+ }
46180
+ .btn,
46181
+ .form-control,
46182
+ .form-select,
46183
+ .card,
46184
+ .alert,
46185
+ .badge,
46186
+ .modal-content {
46187
+ border-width: 2px;
46188
+ }
46189
+ .text-muted {
46190
+ color: var(--gray-700) !important;
46191
+ }
46192
+ :focus-visible {
46193
+ outline-width: 3px;
46194
+ outline-style: solid;
46195
+ }
46196
+ .btn-outline-primary,
46197
+ .btn-outline-secondary,
46198
+ .btn-outline-success,
46199
+ .btn-outline-danger,
46200
+ .btn-outline-warning,
46201
+ .btn-outline-info {
46202
+ border-width: 2px;
46203
+ }
46204
+ }
46205
+ @media (forced-colors: active) {
46206
+ .btn {
46207
+ border: 2px solid ButtonText;
46208
+ }
46209
+ .form-control,
46210
+ .form-select {
46211
+ border: 2px solid ButtonText;
46212
+ }
46213
+ :focus-visible {
46214
+ outline: 3px solid Highlight;
46215
+ }
46216
+ .badge {
46217
+ border: 1px solid currentColor;
46218
+ }
46219
+ }
46220
+ .status-indicator {
46221
+ display: inline-flex;
46222
+ align-items: center;
46223
+ gap: 0.375rem;
46224
+ }
46225
+ .status-indicator::before {
46226
+ content: "";
46227
+ display: inline-block;
46228
+ width: 0.5rem;
46229
+ height: 0.5rem;
46230
+ border-radius: 50%;
46231
+ background-color: currentColor;
46232
+ }
46233
+
46234
+ .status-success::before {
46235
+ background-color: var(--success);
46236
+ }
46237
+
46238
+ .status-danger::before {
46239
+ background-color: var(--danger);
46240
+ }
46241
+
46242
+ .status-warning::before {
46243
+ background-color: var(--warning);
46244
+ }
46245
+
46246
+ .status-info::before {
46247
+ background-color: var(--info);
46248
+ }
46249
+
46250
+ .touch-target {
46251
+ min-width: 44px;
46252
+ min-height: 44px;
46253
+ }
46254
+
46255
+ .touch-target-sm {
46256
+ min-width: 36px;
46257
+ min-height: 36px;
46258
+ }
46259
+
46260
+ .touch-target-lg {
46261
+ min-width: 48px;
46262
+ min-height: 48px;
46263
+ }
46264
+
46265
+ @media print {
46266
+ .no-print,
46267
+ .navbar,
46268
+ .sidebar,
46269
+ .footer,
46270
+ .btn,
46271
+ .modal,
46272
+ .toast,
46273
+ .tooltip,
46274
+ .popover,
46275
+ .dropdown-menu,
46276
+ .offcanvas,
46277
+ .scroll-to-top,
46278
+ .cookie-banner,
46279
+ .chat-widget,
46280
+ nav,
46281
+ aside {
46282
+ display: none !important;
46283
+ }
46284
+ *,
46285
+ *::before,
46286
+ *::after {
46287
+ background: transparent !important;
46288
+ box-shadow: none !important;
46289
+ text-shadow: none !important;
46290
+ }
46291
+ body {
46292
+ font-size: 12pt;
46293
+ line-height: 1.5;
46294
+ color: #000 !important;
46295
+ }
46296
+ a,
46297
+ a:visited {
46298
+ color: #000 !important;
46299
+ text-decoration: underline;
46300
+ }
46301
+ a[href]::after {
46302
+ content: " (" attr(href) ")";
46303
+ font-size: 0.8em;
46304
+ color: #666;
46305
+ }
46306
+ a[href^="#"]::after,
46307
+ a[href^="javascript:"]::after {
46308
+ content: "";
46309
+ }
46310
+ abbr[title]::after {
46311
+ content: " (" attr(title) ")";
46312
+ }
46313
+ img {
46314
+ max-width: 100% !important;
46315
+ page-break-inside: avoid;
46316
+ }
46317
+ table {
46318
+ border-collapse: collapse !important;
46319
+ }
46320
+ th,
46321
+ td {
46322
+ border: 1px solid #ddd !important;
46323
+ padding: 0.5rem !important;
46324
+ }
46325
+ thead {
46326
+ display: table-header-group;
46327
+ }
46328
+ tr {
46329
+ page-break-inside: avoid;
46330
+ }
46331
+ h1, h2, h3, h4, h5, h6 {
46332
+ page-break-after: avoid;
46333
+ page-break-inside: avoid;
46334
+ }
46335
+ p {
46336
+ orphans: 3;
46337
+ widows: 3;
46338
+ }
46339
+ .card {
46340
+ border: 1px solid #ddd !important;
46341
+ page-break-inside: avoid;
46342
+ }
46343
+ .alert {
46344
+ border: 1px solid currentColor !important;
46345
+ page-break-inside: avoid;
46346
+ }
46347
+ pre,
46348
+ code {
46349
+ border: 1px solid #ddd !important;
46350
+ background-color: #f5f5f5 !important;
46351
+ color: #000 !important;
46352
+ }
46353
+ .page-break-before {
46354
+ page-break-before: always;
46355
+ }
46356
+ .page-break-after {
46357
+ page-break-after: always;
46358
+ }
46359
+ .page-break-avoid {
46360
+ page-break-inside: avoid;
46361
+ }
46362
+ }
46363
+ .print-only {
46364
+ display: none !important;
46365
+ }
46366
+ @media print {
46367
+ .print-only {
46368
+ display: block !important;
46369
+ }
46370
+ }
46371
+
46372
+ .print-inline {
46373
+ display: none !important;
46374
+ }
46375
+ @media print {
46376
+ .print-inline {
46377
+ display: inline !important;
46378
+ }
46379
+ }
46380
+
46381
+ @media (prefers-color-scheme: dark) {
46382
+ .auto-dark {
46383
+ --bg: var(--gray-900);
46384
+ --bg-muted: var(--gray-800);
46385
+ --text: var(--gray-100);
46386
+ --text-muted: var(--gray-400);
46387
+ --border: var(--gray-700);
46388
+ }
46389
+ }
46390
+ .text-spacing-relaxed {
46391
+ letter-spacing: 0.12em;
46392
+ word-spacing: 0.16em;
46393
+ line-height: 1.8;
46394
+ }
46395
+
46396
+ .live-region {
46397
+ position: absolute;
46398
+ width: 1px;
46399
+ height: 1px;
46400
+ margin: -1px;
46401
+ padding: 0;
46402
+ overflow: hidden;
46403
+ clip: rect(0, 0, 0, 0);
46404
+ white-space: nowrap;
46405
+ border: 0;
46406
+ }
46407
+
46408
+ .keyboard-nav-active :focus:not(:focus-visible) {
46409
+ outline: none;
46410
+ box-shadow: none;
46411
+ }
46412
+ .keyboard-nav-active :focus-visible {
46413
+ outline: 2px solid var(--primary);
46414
+ outline-offset: 2px;
46415
+ }
43041
46416
 
43042
46417
  /*# sourceMappingURL=zenkit.css.map */