@yoyaflow/yoya-ui 0.1.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.
@@ -0,0 +1,2010 @@
1
+ @layer yoya;
2
+
3
+ :root {
4
+ color-scheme: light;
5
+ }
6
+
7
+ [data-yoya-mode='light'] {
8
+ color-scheme: light;
9
+ }
10
+
11
+ [data-yoya-mode='dark'] {
12
+ color-scheme: dark;
13
+ }
14
+
15
+ [data-yoya-mode='system'] {
16
+ color-scheme: light dark;
17
+ }
18
+
19
+ @property --yoya-raw-primary {
20
+ syntax: '<color>';
21
+ inherits: true;
22
+ initial-value: #2563eb;
23
+ }
24
+ @property --yoya-raw-success {
25
+ syntax: '<color>';
26
+ inherits: true;
27
+ initial-value: #16a34a;
28
+ }
29
+ @property --yoya-raw-danger {
30
+ syntax: '<color>';
31
+ inherits: true;
32
+ initial-value: #dc2626;
33
+ }
34
+ @property --yoya-raw-warning {
35
+ syntax: '<color>';
36
+ inherits: true;
37
+ initial-value: #f59e0b;
38
+ }
39
+ @property --yoya-raw-info {
40
+ syntax: '<color>';
41
+ inherits: true;
42
+ initial-value: #0284c7;
43
+ }
44
+
45
+ :root,
46
+ [data-yoya-theme] {
47
+ --yoya-raw-primary: #2563eb;
48
+ --yoya-raw-success: #16a34a;
49
+ --yoya-raw-danger: #dc2626;
50
+ --yoya-raw-warning: #f59e0b;
51
+ --yoya-raw-info: #0284c7;
52
+
53
+ --yoya-color-bg: light-dark(#f9f9f9, #171717);
54
+ --yoya-color-border: light-dark(#e5e5e5, #3c3c3c);
55
+ --yoya-color-border-faint: light-dark(#efefef, #2a2a2a);
56
+ --yoya-color-border-muted: light-dark(#b3b3b3, #5c5c5c);
57
+ --yoya-color-border-ring: light-dark(rgba(13, 13, 13, 0.14), rgba(255, 255, 255, 0.22));
58
+ --yoya-color-border-strong: light-dark(#d9d9d9, #484848);
59
+ --yoya-color-code-badge: light-dark(#ececec, #2e2e2e);
60
+ --yoya-color-code-badge-text: light-dark(#4b4b4b, #b9b9b9);
61
+ --yoya-color-code-bg: light-dark(#f7f7f8, #0f0f0f);
62
+ --yoya-color-code-border: light-dark(#ececec, #2c2c2c);
63
+ --yoya-color-code-header: light-dark(#fafafa, #191919);
64
+ --yoya-color-surface: light-dark(#ffffff, #212121);
65
+ --yoya-color-surface-active: light-dark(#e9e9e9, #2b2b2b);
66
+ --yoya-color-surface-hover: light-dark(#f3f3f3, #262626);
67
+ --yoya-color-surface-muted: light-dark(#f5f5f5, #1c1c1c);
68
+ --yoya-color-text: light-dark(#0d0d0d, #ececec);
69
+ --yoya-color-text-active: light-dark(
70
+ color-mix(in srgb, var(--yoya-raw-primary), black 20%),
71
+ color-mix(in srgb, var(--yoya-raw-primary), white 40%)
72
+ );
73
+ --yoya-color-text-danger: light-dark(#b91c1c, #f87171);
74
+ --yoya-color-text-inverse: light-dark(#ffffff, #ffffff);
75
+ --yoya-color-text-muted: light-dark(#8f8f8f, #8a8a8a);
76
+ --yoya-color-text-secondary: light-dark(#6f6f6f, #a6a6a6);
77
+ --yoya-color-text-strong: light-dark(#0a0a0a, #f5f5f5);
78
+ --yoya-color-success-text: light-dark(
79
+ color-mix(in srgb, var(--yoya-raw-success), black 35%),
80
+ color-mix(in srgb, var(--yoya-raw-success), white 50%)
81
+ );
82
+ --yoya-color-danger-text: light-dark(
83
+ color-mix(in srgb, var(--yoya-raw-danger), black 35%),
84
+ color-mix(in srgb, var(--yoya-raw-danger), white 50%)
85
+ );
86
+ --yoya-color-warning-text: light-dark(
87
+ color-mix(in srgb, var(--yoya-raw-warning), black 35%),
88
+ color-mix(in srgb, var(--yoya-raw-warning), white 50%)
89
+ );
90
+ --yoya-color-info-text: light-dark(
91
+ color-mix(in srgb, var(--yoya-raw-info), black 35%),
92
+ color-mix(in srgb, var(--yoya-raw-info), white 50%)
93
+ );
94
+ --yoya-color-primary: light-dark(
95
+ var(--yoya-raw-primary),
96
+ color-mix(in srgb, var(--yoya-raw-primary), white 16%)
97
+ );
98
+ --yoya-color-primary-hover: light-dark(
99
+ color-mix(in srgb, var(--yoya-raw-primary), black 12%),
100
+ color-mix(in srgb, var(--yoya-raw-primary), white 28%)
101
+ );
102
+ --yoya-color-primary-active: light-dark(
103
+ color-mix(in srgb, var(--yoya-raw-primary), black 22%),
104
+ color-mix(in srgb, var(--yoya-raw-primary), white 8%)
105
+ );
106
+ --yoya-color-primary-deep: light-dark(
107
+ color-mix(in srgb, var(--yoya-raw-primary), black 36%),
108
+ color-mix(in srgb, var(--yoya-raw-primary), black 40%)
109
+ );
110
+ --yoya-color-primary-subtle: light-dark(
111
+ color-mix(in srgb, var(--yoya-raw-primary) 12%, white),
112
+ color-mix(in srgb, var(--yoya-raw-primary) 26%, black)
113
+ );
114
+ --yoya-color-primary-active-subtle: light-dark(
115
+ color-mix(in srgb, var(--yoya-raw-primary) 20%, white),
116
+ color-mix(in srgb, var(--yoya-raw-primary) 34%, black)
117
+ );
118
+ --yoya-color-primary-border: light-dark(
119
+ color-mix(in srgb, var(--yoya-raw-primary) 30%, white),
120
+ color-mix(in srgb, var(--yoya-raw-primary) 40%, black)
121
+ );
122
+ --yoya-color-primary-ring: color-mix(in srgb, var(--yoya-raw-primary) 30%, transparent);
123
+ --yoya-color-success: light-dark(
124
+ var(--yoya-raw-success),
125
+ color-mix(in srgb, var(--yoya-raw-success), white 16%)
126
+ );
127
+ --yoya-color-success-hover: light-dark(
128
+ color-mix(in srgb, var(--yoya-raw-success), black 12%),
129
+ color-mix(in srgb, var(--yoya-raw-success), white 28%)
130
+ );
131
+ --yoya-color-success-active: light-dark(
132
+ color-mix(in srgb, var(--yoya-raw-success), black 22%),
133
+ color-mix(in srgb, var(--yoya-raw-success), white 8%)
134
+ );
135
+ --yoya-color-success-deep: light-dark(
136
+ color-mix(in srgb, var(--yoya-raw-success), black 36%),
137
+ color-mix(in srgb, var(--yoya-raw-success), black 40%)
138
+ );
139
+ --yoya-color-success-subtle: light-dark(
140
+ color-mix(in srgb, var(--yoya-raw-success) 12%, white),
141
+ color-mix(in srgb, var(--yoya-raw-success) 26%, black)
142
+ );
143
+ --yoya-color-success-active-subtle: light-dark(
144
+ color-mix(in srgb, var(--yoya-raw-success) 20%, white),
145
+ color-mix(in srgb, var(--yoya-raw-success) 34%, black)
146
+ );
147
+ --yoya-color-success-border: light-dark(
148
+ color-mix(in srgb, var(--yoya-raw-success) 30%, white),
149
+ color-mix(in srgb, var(--yoya-raw-success) 40%, black)
150
+ );
151
+ --yoya-color-success-ring: color-mix(in srgb, var(--yoya-raw-success) 30%, transparent);
152
+ --yoya-color-danger: light-dark(
153
+ var(--yoya-raw-danger),
154
+ color-mix(in srgb, var(--yoya-raw-danger), white 16%)
155
+ );
156
+ --yoya-color-danger-hover: light-dark(
157
+ color-mix(in srgb, var(--yoya-raw-danger), black 12%),
158
+ color-mix(in srgb, var(--yoya-raw-danger), white 28%)
159
+ );
160
+ --yoya-color-danger-active: light-dark(
161
+ color-mix(in srgb, var(--yoya-raw-danger), black 22%),
162
+ color-mix(in srgb, var(--yoya-raw-danger), white 8%)
163
+ );
164
+ --yoya-color-danger-deep: light-dark(
165
+ color-mix(in srgb, var(--yoya-raw-danger), black 36%),
166
+ color-mix(in srgb, var(--yoya-raw-danger), black 40%)
167
+ );
168
+ --yoya-color-danger-subtle: light-dark(
169
+ color-mix(in srgb, var(--yoya-raw-danger) 12%, white),
170
+ color-mix(in srgb, var(--yoya-raw-danger) 26%, black)
171
+ );
172
+ --yoya-color-danger-active-subtle: light-dark(
173
+ color-mix(in srgb, var(--yoya-raw-danger) 20%, white),
174
+ color-mix(in srgb, var(--yoya-raw-danger) 34%, black)
175
+ );
176
+ --yoya-color-danger-border: light-dark(
177
+ color-mix(in srgb, var(--yoya-raw-danger) 30%, white),
178
+ color-mix(in srgb, var(--yoya-raw-danger) 40%, black)
179
+ );
180
+ --yoya-color-danger-ring: color-mix(in srgb, var(--yoya-raw-danger) 30%, transparent);
181
+ --yoya-color-warning: light-dark(
182
+ var(--yoya-raw-warning),
183
+ color-mix(in srgb, var(--yoya-raw-warning), white 16%)
184
+ );
185
+ --yoya-color-warning-hover: light-dark(
186
+ color-mix(in srgb, var(--yoya-raw-warning), black 12%),
187
+ color-mix(in srgb, var(--yoya-raw-warning), white 28%)
188
+ );
189
+ --yoya-color-warning-active: light-dark(
190
+ color-mix(in srgb, var(--yoya-raw-warning), black 22%),
191
+ color-mix(in srgb, var(--yoya-raw-warning), white 8%)
192
+ );
193
+ --yoya-color-warning-deep: light-dark(
194
+ color-mix(in srgb, var(--yoya-raw-warning), black 36%),
195
+ color-mix(in srgb, var(--yoya-raw-warning), black 40%)
196
+ );
197
+ --yoya-color-warning-subtle: light-dark(
198
+ color-mix(in srgb, var(--yoya-raw-warning) 12%, white),
199
+ color-mix(in srgb, var(--yoya-raw-warning) 26%, black)
200
+ );
201
+ --yoya-color-warning-active-subtle: light-dark(
202
+ color-mix(in srgb, var(--yoya-raw-warning) 20%, white),
203
+ color-mix(in srgb, var(--yoya-raw-warning) 34%, black)
204
+ );
205
+ --yoya-color-warning-border: light-dark(
206
+ color-mix(in srgb, var(--yoya-raw-warning) 30%, white),
207
+ color-mix(in srgb, var(--yoya-raw-warning) 40%, black)
208
+ );
209
+ --yoya-color-warning-ring: color-mix(in srgb, var(--yoya-raw-warning) 30%, transparent);
210
+ --yoya-color-info: light-dark(
211
+ var(--yoya-raw-info),
212
+ color-mix(in srgb, var(--yoya-raw-info), white 16%)
213
+ );
214
+ --yoya-color-info-hover: light-dark(
215
+ color-mix(in srgb, var(--yoya-raw-info), black 12%),
216
+ color-mix(in srgb, var(--yoya-raw-info), white 28%)
217
+ );
218
+ --yoya-color-info-active: light-dark(
219
+ color-mix(in srgb, var(--yoya-raw-info), black 22%),
220
+ color-mix(in srgb, var(--yoya-raw-info), white 8%)
221
+ );
222
+ --yoya-color-info-deep: light-dark(
223
+ color-mix(in srgb, var(--yoya-raw-info), black 36%),
224
+ color-mix(in srgb, var(--yoya-raw-info), black 40%)
225
+ );
226
+ --yoya-color-info-subtle: light-dark(
227
+ color-mix(in srgb, var(--yoya-raw-info) 12%, white),
228
+ color-mix(in srgb, var(--yoya-raw-info) 26%, black)
229
+ );
230
+ --yoya-color-info-active-subtle: light-dark(
231
+ color-mix(in srgb, var(--yoya-raw-info) 20%, white),
232
+ color-mix(in srgb, var(--yoya-raw-info) 34%, black)
233
+ );
234
+ --yoya-color-info-border: light-dark(
235
+ color-mix(in srgb, var(--yoya-raw-info) 30%, white),
236
+ color-mix(in srgb, var(--yoya-raw-info) 40%, black)
237
+ );
238
+ --yoya-color-info-ring: color-mix(in srgb, var(--yoya-raw-info) 30%, transparent);
239
+ --yoya-font-family:
240
+ ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
241
+ --yoya-font-size: 14px;
242
+ --yoya-line-height: 1.5;
243
+ --yoya-radius-sm: 4px;
244
+ --yoya-radius-md: 6px;
245
+ --yoya-radius-lg: 8px;
246
+ --yoya-motion-fast: 120ms;
247
+ --yoya-motion-base: 160ms;
248
+ --yoya-shadow-sm: light-dark(0 1px 2px rgb(15 23 42 / 8%), 0 1px 2px rgb(0 0 0 / 30%));
249
+ --yoya-shadow-md: light-dark(0 8px 18px rgb(15 23 42 / 10%), 0 8px 18px rgb(0 0 0 / 36%));
250
+ --yoya-shadow-lg: light-dark(0 24px 72px rgb(15 23 42 / 20%), 0 24px 72px rgb(0 0 0 / 50%));
251
+ --yoya-border-width: 1px;
252
+ --yoya-border-width-strong: 2px;
253
+ --yoya-space-1: 4px;
254
+ --yoya-space-2: 8px;
255
+ --yoya-space-3: 12px;
256
+ --yoya-space-4: 16px;
257
+ --yoya-space-5: 24px;
258
+ --yoya-space-6: 32px;
259
+ --yoya-space-7: 48px;
260
+ --yoya-space-8: 64px;
261
+ --yoya-font-size-xs: 12px;
262
+ --yoya-font-size-sm: 13px;
263
+ --yoya-font-size-base: 14px;
264
+ --yoya-font-size-lg: 15px;
265
+ --yoya-font-size-xl: 20px;
266
+ --yoya-font-weight-regular: 400;
267
+ --yoya-font-weight-medium: 500;
268
+ --yoya-font-weight-semibold: 600;
269
+ --yoya-font-weight-bold: 700;
270
+ --yoya-control-height-sm: 30px;
271
+ --yoya-control-height-md: 34px;
272
+ --yoya-control-height-lg: 38px;
273
+ --yoya-ease-in: cubic-bezier(0.4, 0, 1, 1);
274
+ --yoya-ease-out: cubic-bezier(0, 0, 0.2, 1);
275
+ --yoya-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
276
+ --yoya-motion-slow: 220ms;
277
+ --yoya-z-dropdown: 110;
278
+ --yoya-z-popover: 120;
279
+ --yoya-z-overlay: 300;
280
+ --yoya-z-toast: 500;
281
+ }
282
+
283
+ [data-yoya-density='compact'] {
284
+ --yoya-space-1: 3px;
285
+ --yoya-space-2: 6px;
286
+ --yoya-space-3: 10px;
287
+ --yoya-space-4: 12px;
288
+ --yoya-space-5: 18px;
289
+ --yoya-space-6: 24px;
290
+ --yoya-space-7: 36px;
291
+ --yoya-space-8: 48px;
292
+ --yoya-control-height-sm: 26px;
293
+ --yoya-control-height-md: 30px;
294
+ --yoya-control-height-lg: 34px;
295
+ }
296
+ @layer yoya {
297
+ .yoya-component {
298
+ box-sizing: border-box;
299
+ font-family: var(--yoya-font-family);
300
+ font-size: var(--yoya-font-size);
301
+ line-height: var(--yoya-line-height);
302
+ }
303
+ :where(.yoya-vaside),
304
+ :where(.yoya-vmain) {
305
+ -ms-overflow-style: none;
306
+ scrollbar-width: none;
307
+ }
308
+
309
+ :where(.yoya-vaside)::-webkit-scrollbar,
310
+ :where(.yoya-vmain)::-webkit-scrollbar {
311
+ display: none;
312
+ height: 0;
313
+ width: 0;
314
+ }
315
+ :where(.yoya-vbutton) {
316
+ align-items: center;
317
+ border-radius: var(--yoya-radius-md, 6px);
318
+ border-style: solid;
319
+ border-width: 1px;
320
+ box-sizing: border-box;
321
+ cursor: pointer;
322
+ display: inline-flex;
323
+ font-family: inherit;
324
+ font-weight: 600;
325
+ gap: 6px;
326
+ justify-content: center;
327
+ line-height: 1;
328
+ transition:
329
+ background 140ms ease,
330
+ border-color 140ms ease,
331
+ box-shadow 140ms ease,
332
+ opacity 140ms ease,
333
+ transform 140ms ease;
334
+ user-select: none;
335
+ white-space: nowrap;
336
+ }
337
+
338
+ .yoya-vbutton .yoya-vbutton-spinner {
339
+ display: none;
340
+ }
341
+
342
+ .yoya-vbutton[data-loading='true'] {
343
+ cursor: progress;
344
+ }
345
+
346
+ .yoya-vbutton[data-loading='true'] .yoya-vbutton-spinner {
347
+ display: inline-flex;
348
+ }
349
+
350
+ .yoya-vbutton[data-size='large'] {
351
+ font-size: var(--yoya-font-size-lg);
352
+ min-height: var(--yoya-control-height-lg);
353
+ padding: 0 var(--yoya-space-4);
354
+ }
355
+
356
+ .yoya-vbutton[data-size='medium'] {
357
+ font-size: var(--yoya-font-size-base);
358
+ min-height: var(--yoya-control-height-md);
359
+ padding: 0 var(--yoya-space-3);
360
+ }
361
+
362
+ .yoya-vbutton[data-size='small'] {
363
+ font-size: var(--yoya-font-size-sm);
364
+ min-height: var(--yoya-control-height-sm);
365
+ padding: 0 var(--yoya-space-2);
366
+ }
367
+
368
+ .yoya-vbutton[data-variant='danger'] {
369
+ background: var(--yoya-color-danger, #dc2626);
370
+ border-color: var(--yoya-color-danger-hover, #b91c1c);
371
+ box-shadow: 0 1px 2px rgba(185, 28, 28, 0.16);
372
+ color: var(--yoya-color-text-inverse, #ffffff);
373
+ outline: none;
374
+ outline-offset: 2px;
375
+ }
376
+
377
+ .yoya-vbutton[data-variant='danger'][data-interaction='hover'] {
378
+ background: var(--yoya-color-danger-hover, #b91c1c);
379
+ border-color: var(--yoya-color-danger-active, #991b1b);
380
+ box-shadow: 0 8px 18px rgba(220, 38, 38, 0.22);
381
+ transform: translateY(-1px);
382
+ }
383
+
384
+ .yoya-vbutton[data-variant='danger'][data-interaction='active'] {
385
+ background: var(--yoya-color-danger-active, #991b1b);
386
+ border-color: var(--yoya-color-danger-deep, #7f1d1d);
387
+ box-shadow: inset 0 1px 2px rgba(127, 29, 29, 0.24);
388
+ transform: translateY(0);
389
+ }
390
+
391
+ .yoya-vbutton[data-variant='danger'][data-interaction='focus'] {
392
+ outline: 3px solid var(--yoya-color-danger-ring, rgba(220, 38, 38, 0.24));
393
+ outline-offset: 2px;
394
+ }
395
+
396
+ .yoya-vbutton[data-variant='ghost'] {
397
+ background: transparent;
398
+ border-color: transparent;
399
+ box-shadow: none;
400
+ color: var(--yoya-color-primary, #2563eb);
401
+ outline: none;
402
+ outline-offset: 2px;
403
+ }
404
+
405
+ .yoya-vbutton[data-variant='ghost'][data-interaction='hover'] {
406
+ background: var(--yoya-color-primary-subtle, #eff6ff);
407
+ border-color: var(--yoya-color-primary-border, #bfdbfe);
408
+ box-shadow: none;
409
+ transform: translateY(-1px);
410
+ }
411
+
412
+ .yoya-vbutton[data-variant='ghost'][data-interaction='active'] {
413
+ background: var(--yoya-color-primary-active-subtle, #dbeafe);
414
+ border-color: var(--yoya-color-primary-border, #bfdbfe);
415
+ box-shadow: none;
416
+ transform: translateY(0);
417
+ }
418
+
419
+ .yoya-vbutton[data-variant='ghost'][data-interaction='focus'] {
420
+ outline: 3px solid var(--yoya-color-primary-ring, rgba(37, 99, 235, 0.22));
421
+ outline-offset: 2px;
422
+ }
423
+
424
+ .yoya-vbutton[data-variant='primary'] {
425
+ background: var(--yoya-color-primary, #2563eb);
426
+ border-color: var(--yoya-color-primary-hover, #1d4ed8);
427
+ box-shadow: 0 1px 2px rgba(37, 99, 235, 0.18);
428
+ color: var(--yoya-color-text-inverse, #ffffff);
429
+ outline: none;
430
+ outline-offset: 2px;
431
+ }
432
+
433
+ .yoya-vbutton[data-variant='primary'][data-interaction='hover'] {
434
+ background: var(--yoya-color-primary-hover, #1d4ed8);
435
+ border-color: var(--yoya-color-primary-active, #1e40af);
436
+ box-shadow: 0 8px 18px rgba(37, 99, 235, 0.24);
437
+ transform: translateY(-1px);
438
+ }
439
+
440
+ .yoya-vbutton[data-variant='primary'][data-interaction='active'] {
441
+ background: var(--yoya-color-primary-active, #1e40af);
442
+ border-color: var(--yoya-color-primary-deep, #1e3a8a);
443
+ box-shadow: inset 0 1px 2px rgba(30, 58, 138, 0.28);
444
+ transform: translateY(0);
445
+ }
446
+
447
+ .yoya-vbutton[data-variant='primary'][data-interaction='focus'] {
448
+ outline: 3px solid var(--yoya-color-primary-ring, rgba(37, 99, 235, 0.28));
449
+ outline-offset: 2px;
450
+ }
451
+
452
+ .yoya-vbutton[data-variant='secondary'] {
453
+ background: var(--yoya-color-surface, #ffffff);
454
+ border-color: var(--yoya-color-border-strong, #cbd5e1);
455
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
456
+ color: var(--yoya-color-text, #1f2937);
457
+ outline: none;
458
+ outline-offset: 2px;
459
+ }
460
+
461
+ .yoya-vbutton[data-variant='secondary'][data-interaction='hover'] {
462
+ background: var(--yoya-color-surface-hover, #f8fafc);
463
+ border-color: var(--yoya-color-border-muted, #94a3b8);
464
+ box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
465
+ transform: translateY(-1px);
466
+ }
467
+
468
+ .yoya-vbutton[data-variant='secondary'][data-interaction='active'] {
469
+ background: var(--yoya-color-surface-active, #eef2f7);
470
+ border-color: var(--yoya-color-border-muted, #94a3b8);
471
+ box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.12);
472
+ transform: translateY(0);
473
+ }
474
+
475
+ .yoya-vbutton[data-variant='secondary'][data-interaction='focus'] {
476
+ outline: 3px solid var(--yoya-color-border-ring, rgba(100, 116, 139, 0.24));
477
+ outline-offset: 2px;
478
+ }
479
+
480
+ .yoya-vbutton[disabled],
481
+ .yoya-vbutton[data-interaction='disabled'] {
482
+ box-shadow: none;
483
+ cursor: not-allowed;
484
+ opacity: 0.58;
485
+ outline: none;
486
+ transform: translateY(0);
487
+ }
488
+
489
+ :where(.yoya-vglow-button) {
490
+ --yoya-glow-alpha: 0.4;
491
+ --yoya-glow-duration: 2.8s;
492
+ isolation: isolate;
493
+ overflow: hidden;
494
+ position: relative;
495
+ }
496
+
497
+ .yoya-vglow-button .yoya-vbutton-label,
498
+ .yoya-vglow-button .yoya-vbutton-spinner {
499
+ position: relative;
500
+ z-index: 1;
501
+ }
502
+
503
+ .yoya-vglow-button::before {
504
+ animation: yoya-glow-button-sweep var(--yoya-glow-duration) ease-in-out infinite;
505
+ background: linear-gradient(
506
+ 105deg,
507
+ transparent 0%,
508
+ rgba(255, 255, 255, var(--yoya-glow-alpha)) 50%,
509
+ transparent 100%
510
+ );
511
+ bottom: 0;
512
+ content: '';
513
+ left: -45%;
514
+ pointer-events: none;
515
+ position: absolute;
516
+ top: 0;
517
+ transform: translate3d(0, 0, 0) skewX(-14deg);
518
+ width: 40%;
519
+ z-index: 0;
520
+ }
521
+
522
+ .yoya-vglow-button[data-glow-play='hover']::before,
523
+ .yoya-vglow-button[data-glow-play='off']::before,
524
+ .yoya-vglow-button[disabled]::before,
525
+ .yoya-vglow-button[data-interaction='disabled']::before {
526
+ animation-play-state: paused;
527
+ opacity: 0;
528
+ }
529
+
530
+ .yoya-vglow-button[data-glow-play='hover']:hover::before,
531
+ .yoya-vglow-button[data-glow-play='hover']:focus-visible::before {
532
+ animation-play-state: running;
533
+ opacity: 1;
534
+ }
535
+
536
+ .yoya-vglow-button[data-glow-speed='slow'] {
537
+ --yoya-glow-duration: 4.2s;
538
+ }
539
+
540
+ .yoya-vglow-button[data-glow-speed='fast'] {
541
+ --yoya-glow-duration: 1.5s;
542
+ }
543
+
544
+ .yoya-vglow-button[data-glow-strength='soft'] {
545
+ --yoya-glow-alpha: 0.22;
546
+ }
547
+
548
+ .yoya-vglow-button:hover::before {
549
+ animation-duration: calc(var(--yoya-glow-duration) * 0.6);
550
+ }
551
+
552
+ .yoya-vglow-button[data-glow-direction='rtl']::before {
553
+ animation-name: yoya-glow-button-sweep-rtl;
554
+ }
555
+
556
+ @keyframes yoya-glow-button-sweep {
557
+ 0%,
558
+ 45% {
559
+ transform: translate3d(0, 0, 0) skewX(-14deg);
560
+ }
561
+ 100% {
562
+ transform: translate3d(420%, 0, 0) skewX(-14deg);
563
+ }
564
+ }
565
+
566
+ @keyframes yoya-glow-button-sweep-rtl {
567
+ 0%,
568
+ 45% {
569
+ transform: translate3d(420%, 0, 0) skewX(-14deg);
570
+ }
571
+ 100% {
572
+ transform: translate3d(0, 0, 0) skewX(-14deg);
573
+ }
574
+ }
575
+
576
+ .yoya-vglow-button .yoya-vglow-button-ripple {
577
+ animation: yoya-glow-button-ripple 520ms ease-out forwards;
578
+ background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, transparent 65%);
579
+ border-radius: 50%;
580
+ pointer-events: none;
581
+ position: absolute;
582
+ transform: scale(0);
583
+ z-index: 0;
584
+ }
585
+
586
+ @keyframes yoya-glow-button-ripple {
587
+ 0% {
588
+ opacity: 0.9;
589
+ transform: scale(0);
590
+ }
591
+ 100% {
592
+ opacity: 0;
593
+ transform: scale(1);
594
+ }
595
+ }
596
+
597
+ :where(.yoya-vdropdown-menu) {
598
+ display: inline-flex;
599
+ position: relative;
600
+ }
601
+
602
+ .yoya-vdropdown-menu .yoya-vdropdown-panel {
603
+ background: var(--yoya-color-surface, #ffffff);
604
+ border: 1px solid var(--yoya-color-border, #dbe3ef);
605
+ border-radius: 10px;
606
+ box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
607
+ display: none;
608
+ min-width: 192px;
609
+ overflow: hidden;
610
+ position: absolute;
611
+ transform-origin: top left;
612
+ z-index: var(--yoya-z-popover);
613
+ }
614
+
615
+ .yoya-vdropdown-menu[data-open='true'] > .yoya-vdropdown-panel {
616
+ display: block;
617
+ }
618
+
619
+ :where(.yoya-vcontext-menu) {
620
+ display: block;
621
+ min-width: 0;
622
+ }
623
+
624
+ .yoya-vcontext-menu .yoya-vcontext-target {
625
+ min-width: 0;
626
+ }
627
+
628
+ .yoya-vcontext-menu .yoya-vcontext-panel {
629
+ background: var(--yoya-color-surface, #ffffff);
630
+ border: 1px solid var(--yoya-color-border, #d8dee8);
631
+ border-radius: 8px;
632
+ box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
633
+ display: none;
634
+ min-width: 200px;
635
+ position: fixed;
636
+ z-index: var(--yoya-z-popover);
637
+ }
638
+
639
+ .yoya-vcontext-menu[data-open='true'] > .yoya-vcontext-panel {
640
+ display: block;
641
+ }
642
+
643
+ :where(.yoya-vtooltip) {
644
+ box-sizing: border-box;
645
+ display: inline-flex;
646
+ max-width: 100%;
647
+ position: relative;
648
+ }
649
+
650
+ .yoya-vtooltip .yoya-vtooltip-target {
651
+ align-items: center;
652
+ display: inline-flex;
653
+ min-width: 0;
654
+ }
655
+
656
+ .yoya-vtooltip .yoya-vtooltip-panel {
657
+ background: var(--yoya-color-text-strong, #111827);
658
+ border: 1px solid var(--yoya-color-text-strong, #111827);
659
+ border-radius: var(--yoya-radius-sm, 4px);
660
+ box-shadow: var(--yoya-shadow-md, 0 8px 18px rgb(15 23 42 / 10%));
661
+ color: var(--yoya-color-surface, #ffffff);
662
+ display: none;
663
+ font-size: 12px;
664
+ line-height: 1.45;
665
+ max-width: min(280px, 70vw);
666
+ padding: 6px 9px;
667
+ pointer-events: none;
668
+ position: absolute;
669
+ width: max-content;
670
+ z-index: var(--yoya-z-popover);
671
+ }
672
+
673
+ .yoya-vtooltip[data-open='true'] > .yoya-vtooltip-panel {
674
+ display: block;
675
+ }
676
+
677
+ .yoya-vtooltip .yoya-vtooltip-panel::after {
678
+ border: 5px solid transparent;
679
+ content: '';
680
+ height: 0;
681
+ position: absolute;
682
+ width: 0;
683
+ }
684
+
685
+ .yoya-vtooltip[data-placement='top'] > .yoya-vtooltip-panel::after,
686
+ .yoya-vtooltip[data-placement='top-start'] > .yoya-vtooltip-panel::after,
687
+ .yoya-vtooltip[data-placement='top-end'] > .yoya-vtooltip-panel::after {
688
+ border-top-color: var(--yoya-color-text-strong, #111827);
689
+ bottom: -10px;
690
+ }
691
+
692
+ .yoya-vtooltip[data-placement='top'] > .yoya-vtooltip-panel::after {
693
+ left: 50%;
694
+ transform: translateX(-50%);
695
+ }
696
+
697
+ .yoya-vtooltip[data-placement='top-start'] > .yoya-vtooltip-panel::after {
698
+ left: 12px;
699
+ }
700
+
701
+ .yoya-vtooltip[data-placement='top-end'] > .yoya-vtooltip-panel::after {
702
+ right: 12px;
703
+ }
704
+
705
+ .yoya-vtooltip[data-placement='bottom'] > .yoya-vtooltip-panel::after,
706
+ .yoya-vtooltip[data-placement='bottom-start'] > .yoya-vtooltip-panel::after,
707
+ .yoya-vtooltip[data-placement='bottom-end'] > .yoya-vtooltip-panel::after {
708
+ border-bottom-color: var(--yoya-color-text-strong, #111827);
709
+ top: -10px;
710
+ }
711
+
712
+ .yoya-vtooltip[data-placement='bottom'] > .yoya-vtooltip-panel::after {
713
+ left: 50%;
714
+ transform: translateX(-50%);
715
+ }
716
+
717
+ .yoya-vtooltip[data-placement='bottom-start'] > .yoya-vtooltip-panel::after {
718
+ left: 12px;
719
+ }
720
+
721
+ .yoya-vtooltip[data-placement='bottom-end'] > .yoya-vtooltip-panel::after {
722
+ right: 12px;
723
+ }
724
+
725
+ .yoya-vtooltip[data-placement='left'] > .yoya-vtooltip-panel::after,
726
+ .yoya-vtooltip[data-placement='left-start'] > .yoya-vtooltip-panel::after,
727
+ .yoya-vtooltip[data-placement='left-end'] > .yoya-vtooltip-panel::after {
728
+ border-left-color: var(--yoya-color-text-strong, #111827);
729
+ right: -10px;
730
+ }
731
+
732
+ .yoya-vtooltip[data-placement='left'] > .yoya-vtooltip-panel::after {
733
+ top: 50%;
734
+ transform: translateY(-50%);
735
+ }
736
+
737
+ .yoya-vtooltip[data-placement='left-start'] > .yoya-vtooltip-panel::after {
738
+ bottom: 12px;
739
+ }
740
+
741
+ .yoya-vtooltip[data-placement='left-end'] > .yoya-vtooltip-panel::after {
742
+ top: 12px;
743
+ }
744
+
745
+ .yoya-vtooltip[data-placement='right'] > .yoya-vtooltip-panel::after,
746
+ .yoya-vtooltip[data-placement='right-start'] > .yoya-vtooltip-panel::after,
747
+ .yoya-vtooltip[data-placement='right-end'] > .yoya-vtooltip-panel::after {
748
+ border-right-color: var(--yoya-color-text-strong, #111827);
749
+ left: -10px;
750
+ }
751
+
752
+ .yoya-vtooltip[data-placement='right'] > .yoya-vtooltip-panel::after {
753
+ top: 50%;
754
+ transform: translateY(-50%);
755
+ }
756
+
757
+ .yoya-vtooltip[data-placement='right-start'] > .yoya-vtooltip-panel::after {
758
+ bottom: 12px;
759
+ }
760
+
761
+ .yoya-vtooltip[data-placement='right-end'] > .yoya-vtooltip-panel::after {
762
+ top: 12px;
763
+ }
764
+
765
+ :where(.yoya-vmenu) {
766
+ display: flex;
767
+ gap: 4px;
768
+ min-width: 180px;
769
+ padding: 6px;
770
+ }
771
+
772
+ .yoya-vmenu[data-orientation='horizontal'] {
773
+ flex-direction: row;
774
+ }
775
+
776
+ .yoya-vmenu[data-orientation='vertical'] {
777
+ flex-direction: column;
778
+ }
779
+
780
+ :where(.yoya-vmenu-item) {
781
+ align-items: center;
782
+ background: transparent;
783
+ border: 1px solid transparent;
784
+ border-radius: 6px;
785
+ box-sizing: border-box;
786
+ color: var(--yoya-color-text, #1f2937);
787
+ cursor: pointer;
788
+ display: grid;
789
+ font: inherit;
790
+ gap: 10px;
791
+ grid-template-columns: auto minmax(0, 1fr) auto;
792
+ line-height: 1.2;
793
+ min-height: 34px;
794
+ padding: 8px 10px;
795
+ text-align: left;
796
+ width: 100%;
797
+ }
798
+
799
+ .yoya-vmenu[data-orientation='horizontal'] .yoya-vmenu-item {
800
+ display: inline-flex;
801
+ justify-content: center;
802
+ text-align: center;
803
+ width: auto;
804
+ }
805
+
806
+ .yoya-vmenu-item[data-active='true'] {
807
+ background: var(--yoya-color-primary-subtle, #eff6ff);
808
+ border-color: var(--yoya-color-primary-border, #bfdbfe);
809
+ color: var(--yoya-color-primary-hover, #1d4ed8);
810
+ font-weight: 700;
811
+ }
812
+
813
+ .yoya-vmenu-item[data-danger='true'] {
814
+ color: var(--yoya-color-text-danger, #b91c1c);
815
+ }
816
+
817
+ .yoya-vmenu-item[data-hovered='true']:not([data-active='true']) {
818
+ background: var(--yoya-color-surface-hover, #f1f5f9);
819
+ border-color: var(--yoya-color-border-faint, #e2e8f0);
820
+ }
821
+
822
+ .yoya-vmenu-item[disabled] {
823
+ cursor: not-allowed;
824
+ opacity: 0.55;
825
+ }
826
+
827
+ :where(.yoya-vmenu-divider) {
828
+ align-self: stretch;
829
+ border-top: 1px solid var(--yoya-color-border-faint, #e2e8f0);
830
+ height: 0;
831
+ margin: 4px 0;
832
+ width: auto;
833
+ }
834
+
835
+ .yoya-vmenu[data-orientation='horizontal'] .yoya-vmenu-divider {
836
+ border-left: 1px solid var(--yoya-color-border-faint, #e2e8f0);
837
+ border-top: 0;
838
+ height: auto;
839
+ margin: 0 4px;
840
+ width: 0;
841
+ }
842
+
843
+ :where(.yoya-vmenu-group) {
844
+ display: flex;
845
+ flex-direction: column;
846
+ gap: 4px;
847
+ }
848
+
849
+ .yoya-vmenu[data-orientation='horizontal'] .yoya-vmenu-group {
850
+ flex-direction: row;
851
+ }
852
+
853
+ .yoya-vmenu-group .yoya-vmenu-group-label {
854
+ color: var(--yoya-color-text-muted, #64748b);
855
+ font-size: 0.75rem;
856
+ font-weight: 700;
857
+ padding: 6px 10px 4px;
858
+ }
859
+
860
+ :where(.yoya-vsubmenu) {
861
+ display: inline-flex;
862
+ position: relative;
863
+ width: 100%;
864
+ }
865
+
866
+ .yoya-vsubmenu[data-inline='true'] {
867
+ display: block;
868
+ }
869
+
870
+ .yoya-vsubmenu .yoya-vsubmenu-panel {
871
+ background: var(--yoya-color-surface, #ffffff);
872
+ border: 1px solid var(--yoya-color-border, #d8dee8);
873
+ border-radius: 8px;
874
+ box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
875
+ display: none;
876
+ left: calc(100% + 4px);
877
+ min-width: 200px;
878
+ position: absolute;
879
+ top: 0;
880
+ z-index: var(--yoya-z-dropdown);
881
+ }
882
+
883
+ .yoya-vsubmenu[data-open='true'] > .yoya-vsubmenu-panel {
884
+ display: block;
885
+ }
886
+
887
+ .yoya-vsubmenu[data-inline='true'] > .yoya-vsubmenu-panel {
888
+ background: transparent;
889
+ border: 0;
890
+ border-left: 1px solid var(--yoya-color-border-faint, #e2e8f0);
891
+ border-radius: 0;
892
+ box-shadow: none;
893
+ display: none;
894
+ left: auto;
895
+ margin-left: 14px;
896
+ min-width: auto;
897
+ padding-left: 10px;
898
+ position: static;
899
+ top: auto;
900
+ width: auto;
901
+ z-index: auto;
902
+ }
903
+
904
+ .yoya-vsubmenu[data-inline='true'][data-open='true'] > .yoya-vsubmenu-panel {
905
+ display: block;
906
+ }
907
+
908
+ :where(.yoya-vsidebar) {
909
+ background: var(--yoya-color-surface, #ffffff);
910
+ border: 1px solid var(--yoya-color-border, #d8dee8);
911
+ border-radius: 8px;
912
+ box-sizing: border-box;
913
+ display: grid;
914
+ gap: 12px;
915
+ overflow: hidden;
916
+ padding: 12px;
917
+ transition: width 160ms ease;
918
+ width: 260px;
919
+ }
920
+
921
+ .yoya-vsidebar[data-collapsed='true'] {
922
+ width: 72px;
923
+ }
924
+
925
+ .yoya-vsidebar .yoya-vsidebar-header {
926
+ align-items: center;
927
+ display: flex;
928
+ gap: 12px;
929
+ justify-content: space-between;
930
+ }
931
+
932
+ :where(.yoya-vnavbar) {
933
+ align-items: center;
934
+ background: var(--yoya-color-surface, #ffffff);
935
+ border: 1px solid var(--yoya-color-border, #dde3ec);
936
+ border-radius: 8px;
937
+ box-shadow:
938
+ 0 1px 2px rgba(15, 23, 42, 0.04),
939
+ 0 8px 20px rgba(15, 23, 42, 0.05);
940
+ box-sizing: border-box;
941
+ column-gap: 16px;
942
+ display: flex;
943
+ flex-wrap: wrap;
944
+ min-height: 56px;
945
+ padding: 10px 16px;
946
+ row-gap: 8px;
947
+ transition:
948
+ border-color 160ms ease,
949
+ box-shadow 160ms ease;
950
+ width: 100%;
951
+ }
952
+
953
+ .yoya-vnavbar .yoya-vnavbar-brand {
954
+ align-content: center;
955
+ display: grid;
956
+ flex: 0 0 auto;
957
+ gap: 2px;
958
+ min-width: 0;
959
+ }
960
+
961
+ .yoya-vnavbar .yoya-vnavbar-brand-title {
962
+ color: var(--yoya-color-text-strong, #0f172a);
963
+ display: none;
964
+ font-size: 1.02rem;
965
+ font-weight: 700;
966
+ line-height: 1.2;
967
+ }
968
+
969
+ .yoya-vnavbar .yoya-vnavbar-brand-subtitle {
970
+ color: var(--yoya-color-text-muted, #64748b);
971
+ display: none;
972
+ font-size: 0.78rem;
973
+ line-height: 1.2;
974
+ }
975
+
976
+ .yoya-vnavbar .yoya-vnavbar-brand-default,
977
+ .yoya-vnavbar .yoya-vnavbar-brand-custom {
978
+ display: grid;
979
+ gap: 2px;
980
+ min-width: 0;
981
+ }
982
+
983
+ .yoya-vnavbar .yoya-vnavbar-brand-custom {
984
+ display: none;
985
+ }
986
+
987
+ .yoya-vnavbar .yoya-vnavbar-menu-slot {
988
+ align-items: center;
989
+ display: flex;
990
+ flex: 1 1 320px;
991
+ min-width: 0;
992
+ }
993
+
994
+ .yoya-vnavbar .yoya-vnavbar-actions {
995
+ align-items: center;
996
+ display: flex;
997
+ flex-wrap: wrap;
998
+ gap: 8px;
999
+ margin-left: auto;
1000
+ min-width: 0;
1001
+ }
1002
+
1003
+ :where(.yoya-vsteps) {
1004
+ align-items: flex-start;
1005
+ display: flex;
1006
+ flex-direction: row;
1007
+ gap: 12px;
1008
+ list-style: none;
1009
+ margin: 0;
1010
+ min-width: 0;
1011
+ padding: 0;
1012
+ }
1013
+
1014
+ .yoya-vsteps[data-direction='vertical'] {
1015
+ flex-direction: column;
1016
+ }
1017
+
1018
+ :where(.yoya-vstep) {
1019
+ align-items: flex-start;
1020
+ display: grid;
1021
+ flex: 1 1 0;
1022
+ gap: 10px;
1023
+ grid-template-columns: auto minmax(0, 1fr);
1024
+ min-width: 0;
1025
+ position: relative;
1026
+ }
1027
+
1028
+ .yoya-vsteps[data-direction='horizontal'] .yoya-vstep {
1029
+ gap: 0;
1030
+ grid-template-columns: minmax(0, 1fr);
1031
+ }
1032
+
1033
+ .yoya-vsteps .yoya-vsteps-indicator {
1034
+ align-items: center;
1035
+ background: var(--yoya-color-surface, #ffffff);
1036
+ border: 2px solid var(--yoya-color-border-strong, #cbd5e1);
1037
+ border-radius: 50%;
1038
+ box-sizing: border-box;
1039
+ color: var(--yoya-color-text-muted, #64748b);
1040
+ display: inline-flex;
1041
+ font-size: 14px;
1042
+ font-weight: 700;
1043
+ height: 30px;
1044
+ justify-content: center;
1045
+ line-height: 1;
1046
+ width: 30px;
1047
+ }
1048
+
1049
+ .yoya-vsteps[data-size='small'] .yoya-vsteps-indicator {
1050
+ font-size: 12px;
1051
+ height: 24px;
1052
+ width: 24px;
1053
+ }
1054
+
1055
+ .yoya-vsteps .yoya-vsteps-content {
1056
+ display: grid;
1057
+ gap: 2px;
1058
+ min-width: 0;
1059
+ }
1060
+
1061
+ .yoya-vsteps[data-direction='horizontal'] .yoya-vsteps-content {
1062
+ padding-top: 6px;
1063
+ }
1064
+
1065
+ .yoya-vsteps[data-direction='vertical'] .yoya-vsteps-content {
1066
+ padding-top: 3px;
1067
+ }
1068
+
1069
+ .yoya-vsteps .yoya-vsteps-title {
1070
+ color: var(--yoya-color-text, #172033);
1071
+ font-size: 14px;
1072
+ font-weight: 700;
1073
+ line-height: 1.35;
1074
+ }
1075
+
1076
+ .yoya-vsteps[data-size='small'] .yoya-vsteps-title {
1077
+ font-size: 13px;
1078
+ }
1079
+
1080
+ .yoya-vsteps .yoya-vsteps-description {
1081
+ color: var(--yoya-color-text-muted, #64748b);
1082
+ font-size: 12px;
1083
+ line-height: 1.5;
1084
+ }
1085
+
1086
+ .yoya-vsteps .yoya-vsteps-connector {
1087
+ background: var(--yoya-color-border, #d8dee8);
1088
+ display: none;
1089
+ height: 2px;
1090
+ position: absolute;
1091
+ }
1092
+
1093
+ .yoya-vstep[data-status='finish'] .yoya-vsteps-indicator {
1094
+ background: var(--yoya-color-success, #16a34a);
1095
+ border-color: var(--yoya-color-success, #16a34a);
1096
+ color: var(--yoya-color-text-inverse, #ffffff);
1097
+ }
1098
+
1099
+ .yoya-vstep[data-status='error'] .yoya-vsteps-indicator {
1100
+ background: var(--yoya-color-danger, #dc2626);
1101
+ border-color: var(--yoya-color-danger, #dc2626);
1102
+ color: var(--yoya-color-text-inverse, #ffffff);
1103
+ }
1104
+
1105
+ .yoya-vstep[data-status='process'] .yoya-vsteps-indicator {
1106
+ background: var(--yoya-color-primary, #2563eb);
1107
+ border-color: var(--yoya-color-primary, #2563eb);
1108
+ color: var(--yoya-color-text-inverse, #ffffff);
1109
+ }
1110
+
1111
+ .yoya-vstep[data-status='finish'] .yoya-vsteps-connector {
1112
+ background: var(--yoya-color-primary, #2563eb);
1113
+ }
1114
+
1115
+ :where(.yoya-vtabs) {
1116
+ box-sizing: border-box;
1117
+ display: flex;
1118
+ flex-direction: column;
1119
+ gap: 0;
1120
+ min-width: 0;
1121
+ }
1122
+
1123
+ .yoya-vtabs[data-orientation='vertical'] {
1124
+ flex-direction: row;
1125
+ gap: 16px;
1126
+ }
1127
+
1128
+ .yoya-vtabs .yoya-vtabs-nav {
1129
+ align-items: stretch;
1130
+ display: flex;
1131
+ gap: 2px;
1132
+ min-width: 0;
1133
+ overflow-x: auto;
1134
+ scrollbar-width: none;
1135
+ }
1136
+
1137
+ .yoya-vtabs[data-orientation='vertical'] .yoya-vtabs-nav {
1138
+ border-bottom: 0;
1139
+ border-right: 1px solid var(--yoya-color-border, #d8dee8);
1140
+ flex: 0 0 auto;
1141
+ flex-direction: column;
1142
+ overflow: visible;
1143
+ padding-right: 4px;
1144
+ }
1145
+
1146
+ .yoya-vtabs .yoya-vtabs-panels {
1147
+ min-width: 0;
1148
+ padding-top: 12px;
1149
+ }
1150
+
1151
+ .yoya-vtabs[data-orientation='vertical'] .yoya-vtabs-panels {
1152
+ flex: 1 1 auto;
1153
+ min-width: 0;
1154
+ padding-top: 0;
1155
+ }
1156
+
1157
+ :where(.yoya-vtab-trigger) {
1158
+ align-items: center;
1159
+ background: transparent;
1160
+ border: 0;
1161
+ border-bottom: 2px solid transparent;
1162
+ border-radius: 0;
1163
+ color: var(--yoya-color-text-secondary, #475569);
1164
+ cursor: pointer;
1165
+ display: inline-flex;
1166
+ font: inherit;
1167
+ gap: 6px;
1168
+ line-height: 1.35;
1169
+ min-height: 36px;
1170
+ padding: 0 12px;
1171
+ position: relative;
1172
+ white-space: nowrap;
1173
+ }
1174
+
1175
+ .yoya-vtab-trigger:hover {
1176
+ background: var(--yoya-color-surface-hover, #f8fafc);
1177
+ color: var(--yoya-color-text, #172033);
1178
+ }
1179
+
1180
+ .yoya-vtab-trigger:focus-visible {
1181
+ outline: 3px solid var(--yoya-color-primary-ring, rgba(37, 99, 235, 0.28));
1182
+ outline-offset: -1px;
1183
+ }
1184
+
1185
+ .yoya-vtab-trigger[data-active='true'] {
1186
+ border-bottom-color: var(--yoya-color-primary, #2563eb);
1187
+ color: var(--yoya-color-text-active, #1d4ed8);
1188
+ }
1189
+
1190
+ .yoya-vtab-trigger[disabled] {
1191
+ cursor: not-allowed;
1192
+ opacity: 0.5;
1193
+ }
1194
+
1195
+ .yoya-vtabs .yoya-vtab-icon {
1196
+ align-items: center;
1197
+ display: inline-flex;
1198
+ }
1199
+
1200
+ .yoya-vtabs .yoya-vtab-label {
1201
+ min-width: 0;
1202
+ }
1203
+
1204
+ .yoya-vtabs .yoya-vtab-panel {
1205
+ box-sizing: border-box;
1206
+ min-width: 0;
1207
+ padding: 0;
1208
+ }
1209
+
1210
+ .yoya-vtabs .yoya-vtab-panel[hidden] {
1211
+ display: none;
1212
+ }
1213
+
1214
+ .yoya-vtabs[data-variant='card'] .yoya-vtabs-nav {
1215
+ border-bottom: 1px solid var(--yoya-color-border, #d8dee8);
1216
+ gap: 0;
1217
+ }
1218
+
1219
+ .yoya-vtabs[data-variant='card'] .yoya-vtab-trigger {
1220
+ border: 1px solid transparent;
1221
+ border-bottom-color: var(--yoya-color-border, #d8dee8);
1222
+ border-radius: var(--yoya-radius-md, 6px) var(--yoya-radius-md, 6px) 0 0;
1223
+ margin-bottom: -1px;
1224
+ }
1225
+
1226
+ .yoya-vtabs[data-variant='card'] .yoya-vtab-trigger[data-active='true'] {
1227
+ background: var(--yoya-color-surface, #ffffff);
1228
+ border-color: var(--yoya-color-border-strong, #cbd5e1);
1229
+ border-bottom-color: var(--yoya-color-surface, #ffffff);
1230
+ }
1231
+
1232
+ .yoya-vtabs[data-variant='pills'] .yoya-vtab-trigger {
1233
+ border-radius: var(--yoya-radius-md, 6px);
1234
+ }
1235
+
1236
+ .yoya-vtabs[data-variant='pills'] .yoya-vtab-trigger[data-active='true'] {
1237
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1238
+ color: var(--yoya-color-text-active, #1d4ed8);
1239
+ }
1240
+
1241
+ .yoya-vtabs[data-variant='pills'] .yoya-vtab-trigger:hover:not([data-active='true']) {
1242
+ background: var(--yoya-color-surface-hover, #f8fafc);
1243
+ }
1244
+
1245
+ .yoya-vtabs[data-size='small'] .yoya-vtab-trigger {
1246
+ font-size: 13px;
1247
+ min-height: 32px;
1248
+ padding: 0 10px;
1249
+ }
1250
+
1251
+ .yoya-vtabs[data-size='large'] .yoya-vtab-trigger {
1252
+ font-size: 15px;
1253
+ min-height: 40px;
1254
+ padding: 0 16px;
1255
+ }
1256
+
1257
+ .yoya-vtabs[data-orientation='vertical'] .yoya-vtab-trigger {
1258
+ border-bottom: 0;
1259
+ border-right: 2px solid transparent;
1260
+ border-radius: 0;
1261
+ justify-content: flex-start;
1262
+ width: 100%;
1263
+ }
1264
+
1265
+ .yoya-vtabs[data-orientation='vertical'] .yoya-vtab-trigger[data-active='true'] {
1266
+ border-bottom-color: transparent;
1267
+ border-right-color: var(--yoya-color-primary, #2563eb);
1268
+ }
1269
+
1270
+ .yoya-vtabs[data-orientation='vertical'][data-variant='card'] .yoya-vtab-trigger {
1271
+ border: 1px solid transparent;
1272
+ border-radius: var(--yoya-radius-md, 6px);
1273
+ margin-bottom: 0;
1274
+ }
1275
+
1276
+ .yoya-vtabs[data-orientation='vertical'][data-variant='card']
1277
+ .yoya-vtab-trigger[data-active='true'] {
1278
+ background: var(--yoya-color-surface, #ffffff);
1279
+ border-color: var(--yoya-color-border-strong, #cbd5e1);
1280
+ }
1281
+
1282
+ :where(.yoya-vbreadcrumb) {
1283
+ box-sizing: border-box;
1284
+ display: flex;
1285
+ min-width: 0;
1286
+ padding: 0;
1287
+ }
1288
+
1289
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-list {
1290
+ align-items: center;
1291
+ display: flex;
1292
+ flex-wrap: wrap;
1293
+ gap: 0;
1294
+ list-style: none;
1295
+ margin: 0;
1296
+ min-width: 0;
1297
+ padding: 0;
1298
+ }
1299
+
1300
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-item {
1301
+ align-items: center;
1302
+ display: inline-flex;
1303
+ min-width: 0;
1304
+ }
1305
+
1306
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-link,
1307
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-current {
1308
+ border-radius: 5px;
1309
+ box-sizing: border-box;
1310
+ color: var(--yoya-color-text-secondary, #475569);
1311
+ font-size: 13px;
1312
+ line-height: 1.4;
1313
+ text-decoration: none;
1314
+ }
1315
+
1316
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-link {
1317
+ font-weight: 500;
1318
+ padding: 3px 4px;
1319
+ transition:
1320
+ background 140ms ease,
1321
+ color 140ms ease;
1322
+ }
1323
+
1324
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-link:hover {
1325
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1326
+ color: var(--yoya-color-primary-hover, #1d4ed8);
1327
+ }
1328
+
1329
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-link:focus-visible {
1330
+ outline: 2px solid var(--yoya-color-primary-ring, rgba(37, 99, 235, 0.24));
1331
+ outline-offset: 1px;
1332
+ }
1333
+
1334
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-current {
1335
+ color: var(--yoya-color-text, #172033);
1336
+ font-weight: 700;
1337
+ max-width: min(260px, 100%);
1338
+ overflow-wrap: anywhere;
1339
+ padding: 3px 4px;
1340
+ }
1341
+
1342
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-item[data-current='true'] .yoya-vbreadcrumb-current {
1343
+ color: var(--yoya-color-text-strong, #0f172a);
1344
+ }
1345
+
1346
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-separator {
1347
+ color: var(--yoya-color-text-muted, #94a3b8);
1348
+ flex: 0 0 auto;
1349
+ font-size: 13px;
1350
+ line-height: 1;
1351
+ margin: 0 6px;
1352
+ user-select: none;
1353
+ }
1354
+
1355
+ .yoya-vbreadcrumb .yoya-vbreadcrumb-item:last-child .yoya-vbreadcrumb-separator {
1356
+ display: none;
1357
+ }
1358
+
1359
+ :where(.yoya-vanchor) {
1360
+ box-sizing: border-box;
1361
+ min-width: 0;
1362
+ padding: 0;
1363
+ }
1364
+
1365
+ .yoya-vanchor .yoya-vanchor-list {
1366
+ display: grid;
1367
+ gap: 2px;
1368
+ list-style: none;
1369
+ margin: 0;
1370
+ min-width: 0;
1371
+ padding: 0;
1372
+ }
1373
+
1374
+ .yoya-vanchor .yoya-vanchor-item {
1375
+ display: grid;
1376
+ gap: 2px;
1377
+ min-width: 0;
1378
+ }
1379
+
1380
+ .yoya-vanchor .yoya-vanchor-link {
1381
+ border-left: 2px solid transparent;
1382
+ border-radius: 0 5px 5px 0;
1383
+ box-sizing: border-box;
1384
+ color: var(--yoya-color-text-secondary, #475569);
1385
+ display: block;
1386
+ font-size: 14px;
1387
+ line-height: 1.4;
1388
+ min-width: 0;
1389
+ overflow: hidden;
1390
+ padding: 6px 10px;
1391
+ text-decoration: none;
1392
+ text-overflow: ellipsis;
1393
+ transition:
1394
+ background 140ms ease,
1395
+ border-color 140ms ease,
1396
+ color 140ms ease;
1397
+ white-space: nowrap;
1398
+ }
1399
+
1400
+ .yoya-vanchor .yoya-vanchor-link:hover {
1401
+ background: var(--yoya-color-surface-hover, #f1f5f9);
1402
+ color: var(--yoya-color-text, #172033);
1403
+ }
1404
+
1405
+ .yoya-vanchor .yoya-vanchor-link:focus-visible {
1406
+ outline: 2px solid var(--yoya-color-primary-ring, rgba(37, 99, 235, 0.24));
1407
+ outline-offset: 1px;
1408
+ }
1409
+
1410
+ .yoya-vanchor .yoya-vanchor-item[data-active='true'] > .yoya-vanchor-link {
1411
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1412
+ border-left-color: var(--yoya-color-primary, #2563eb);
1413
+ color: var(--yoya-color-primary-hover, #1d4ed8);
1414
+ font-weight: 700;
1415
+ }
1416
+
1417
+ .yoya-vanchor .yoya-vanchor-children {
1418
+ display: grid;
1419
+ gap: 2px;
1420
+ list-style: none;
1421
+ margin: 0;
1422
+ min-width: 0;
1423
+ padding: 2px 0 2px 14px;
1424
+ }
1425
+
1426
+ .yoya-vanchor .yoya-vanchor-children .yoya-vanchor-link {
1427
+ font-size: 13px;
1428
+ padding: 5px 10px;
1429
+ }
1430
+
1431
+ :where(.yoya-vavatar) {
1432
+ align-items: center;
1433
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1434
+ border-radius: 50%;
1435
+ box-sizing: border-box;
1436
+ color: var(--yoya-color-primary-hover, #1d4ed8);
1437
+ display: inline-flex;
1438
+ flex: 0 0 auto;
1439
+ font-size: 14px;
1440
+ font-weight: 600;
1441
+ justify-content: center;
1442
+ line-height: 1;
1443
+ position: relative;
1444
+ user-select: none;
1445
+ vertical-align: middle;
1446
+ }
1447
+
1448
+ .yoya-vavatar[data-shape='square'] {
1449
+ border-radius: var(--yoya-radius-md, 6px);
1450
+ }
1451
+
1452
+ .yoya-vavatar[data-size='small'] {
1453
+ font-size: 12px;
1454
+ height: 28px;
1455
+ width: 28px;
1456
+ }
1457
+
1458
+ .yoya-vavatar[data-size='medium'] {
1459
+ font-size: 14px;
1460
+ height: 32px;
1461
+ width: 32px;
1462
+ }
1463
+
1464
+ .yoya-vavatar[data-size='large'] {
1465
+ font-size: 16px;
1466
+ height: 40px;
1467
+ width: 40px;
1468
+ }
1469
+
1470
+ .yoya-vavatar[data-size='xlarge'] {
1471
+ font-size: 20px;
1472
+ height: 48px;
1473
+ width: 48px;
1474
+ }
1475
+
1476
+ .yoya-vavatar .yoya-vavatar-content {
1477
+ align-items: center;
1478
+ display: inline-flex;
1479
+ justify-content: center;
1480
+ min-width: 0;
1481
+ padding: 2px;
1482
+ }
1483
+
1484
+ .yoya-vavatar .yoya-vavatar-image {
1485
+ border-radius: inherit;
1486
+ display: none;
1487
+ height: 100%;
1488
+ object-fit: cover;
1489
+ width: 100%;
1490
+ }
1491
+
1492
+ .yoya-vavatar[data-image='true'] .yoya-vavatar-image {
1493
+ display: block;
1494
+ }
1495
+
1496
+ .yoya-vavatar[data-image='true'] .yoya-vavatar-content {
1497
+ display: none;
1498
+ }
1499
+
1500
+ .yoya-vavatar .yoya-vavatar-status {
1501
+ background: var(--yoya-color-text-muted, #64748b);
1502
+ border: 2px solid var(--yoya-color-surface, #ffffff);
1503
+ border-radius: 50%;
1504
+ bottom: -3px;
1505
+ display: none;
1506
+ height: 10px;
1507
+ position: absolute;
1508
+ right: -3px;
1509
+ width: 10px;
1510
+ }
1511
+
1512
+ .yoya-vavatar[data-status='online'] .yoya-vavatar-status {
1513
+ background: var(--yoya-color-success, #22c55e);
1514
+ display: block;
1515
+ }
1516
+
1517
+ .yoya-vavatar[data-status='busy'] .yoya-vavatar-status {
1518
+ background: var(--yoya-color-danger, #ef4444);
1519
+ display: block;
1520
+ }
1521
+
1522
+ .yoya-vavatar[data-status='away'] .yoya-vavatar-status {
1523
+ background: var(--yoya-color-warning, #f59e0b);
1524
+ display: block;
1525
+ }
1526
+
1527
+ .yoya-vavatar[data-status='offline'] .yoya-vavatar-status {
1528
+ display: block;
1529
+ }
1530
+
1531
+ :where(.yoya-vprogress) {
1532
+ align-items: center;
1533
+ box-sizing: border-box;
1534
+ display: flex;
1535
+ gap: 10px;
1536
+ min-width: 0;
1537
+ width: 100%;
1538
+ }
1539
+
1540
+ .yoya-vprogress .yoya-vprogress-label {
1541
+ color: var(--yoya-color-text-secondary, #475569);
1542
+ flex: 0 0 auto;
1543
+ font-size: 13px;
1544
+ font-weight: 600;
1545
+ line-height: 1.35;
1546
+ max-width: 160px;
1547
+ min-width: 0;
1548
+ overflow: hidden;
1549
+ text-overflow: ellipsis;
1550
+ white-space: nowrap;
1551
+ }
1552
+
1553
+ .yoya-vprogress .yoya-vprogress-track {
1554
+ background: var(--yoya-color-surface-active, #eef2f7);
1555
+ border-radius: 999px;
1556
+ box-sizing: border-box;
1557
+ flex: 1 1 auto;
1558
+ height: 8px;
1559
+ min-width: 0;
1560
+ overflow: hidden;
1561
+ position: relative;
1562
+ }
1563
+
1564
+ .yoya-vprogress .yoya-vprogress-bar {
1565
+ border-radius: inherit;
1566
+ display: block;
1567
+ height: 100%;
1568
+ transition: width 160ms ease;
1569
+ }
1570
+
1571
+ .yoya-vprogress .yoya-vprogress-text {
1572
+ color: var(--yoya-color-text-secondary, #475569);
1573
+ flex: 0 0 auto;
1574
+ font-size: 12px;
1575
+ font-variant-numeric: tabular-nums;
1576
+ line-height: 1.35;
1577
+ min-width: 34px;
1578
+ text-align: right;
1579
+ white-space: nowrap;
1580
+ }
1581
+
1582
+ .yoya-vprogress[data-size='small'] .yoya-vprogress-track {
1583
+ height: 4px;
1584
+ }
1585
+
1586
+ .yoya-vprogress[data-size='large'] .yoya-vprogress-track {
1587
+ height: 12px;
1588
+ }
1589
+
1590
+ .yoya-vprogress[data-size='large'] .yoya-vprogress-text {
1591
+ font-size: 14px;
1592
+ }
1593
+
1594
+ .yoya-vprogress[data-indeterminate='true'] .yoya-vprogress-bar {
1595
+ animation: yoya-vprogress-indeterminate 1.2s ease-in-out infinite;
1596
+ }
1597
+
1598
+ @keyframes yoya-vprogress-indeterminate {
1599
+ 0% {
1600
+ transform: translateX(-100%);
1601
+ width: 40%;
1602
+ }
1603
+ 50% {
1604
+ transform: translateX(0);
1605
+ width: 70%;
1606
+ }
1607
+ 100% {
1608
+ transform: translateX(100%);
1609
+ width: 40%;
1610
+ }
1611
+ }
1612
+
1613
+ :where(.yoya-vscroll) {
1614
+ box-sizing: border-box;
1615
+ min-width: 0;
1616
+ overflow-y: auto;
1617
+ overscroll-behavior: contain;
1618
+ position: relative;
1619
+ }
1620
+
1621
+ .yoya-vscroll .yoya-vscroll-list {
1622
+ display: grid;
1623
+ gap: 8px;
1624
+ min-width: 0;
1625
+ padding: 12px;
1626
+ }
1627
+
1628
+ .yoya-vscroll[data-virtual='true'] .yoya-vscroll-list {
1629
+ display: block;
1630
+ gap: 0;
1631
+ padding: 0;
1632
+ position: relative;
1633
+ }
1634
+
1635
+ .yoya-vscroll .yoya-vscroll-virtual-item {
1636
+ box-sizing: border-box;
1637
+ left: 0;
1638
+ min-width: 0;
1639
+ overflow: visible;
1640
+ position: absolute;
1641
+ right: 0;
1642
+ width: 100%;
1643
+ }
1644
+
1645
+ .yoya-vscroll .yoya-vscroll-footer {
1646
+ align-items: center;
1647
+ border-top: 1px solid var(--yoya-color-border-faint, #e2e8f0);
1648
+ color: var(--yoya-color-text-muted, #64748b);
1649
+ display: none;
1650
+ font-size: 12px;
1651
+ justify-content: center;
1652
+ min-height: 38px;
1653
+ padding: 8px 12px;
1654
+ }
1655
+
1656
+ .yoya-vscroll[data-loading='true'] > .yoya-vscroll-footer,
1657
+ .yoya-vscroll[data-blocked='true'] > .yoya-vscroll-footer {
1658
+ display: flex;
1659
+ }
1660
+
1661
+ .yoya-vscroll .yoya-vscroll-status {
1662
+ align-items: center;
1663
+ display: inline-flex;
1664
+ gap: 6px;
1665
+ }
1666
+
1667
+ :where(.yoya-vcarousel) {
1668
+ box-sizing: border-box;
1669
+ display: grid;
1670
+ grid-template-rows: minmax(0, 1fr) auto;
1671
+ min-width: 0;
1672
+ position: relative;
1673
+ }
1674
+
1675
+ .yoya-vcarousel .yoya-vcarousel-viewport {
1676
+ min-height: 0;
1677
+ min-width: 0;
1678
+ overflow: hidden;
1679
+ position: relative;
1680
+ }
1681
+
1682
+ .yoya-vcarousel .yoya-vcarousel-track {
1683
+ display: flex;
1684
+ height: 100%;
1685
+ min-width: 0;
1686
+ transition: transform 320ms ease;
1687
+ will-change: transform;
1688
+ }
1689
+
1690
+ .yoya-vcarousel .yoya-vcarousel-slide {
1691
+ box-sizing: border-box;
1692
+ flex: 0 0 100%;
1693
+ height: 100%;
1694
+ min-width: 0;
1695
+ }
1696
+
1697
+ .yoya-vcarousel .yoya-vcarousel-arrow {
1698
+ align-items: center;
1699
+ background: var(--yoya-color-surface, #ffffff);
1700
+ border: 1px solid var(--yoya-color-border-strong, #cbd5e1);
1701
+ border-radius: 50%;
1702
+ box-shadow: var(--yoya-shadow-sm, 0 1px 2px rgb(15 23 42 / 8%));
1703
+ color: var(--yoya-color-text, #172033);
1704
+ cursor: pointer;
1705
+ display: inline-flex;
1706
+ height: 30px;
1707
+ justify-content: center;
1708
+ padding: 0;
1709
+ position: absolute;
1710
+ top: 50%;
1711
+ transform: translateY(-50%);
1712
+ width: 30px;
1713
+ z-index: 2;
1714
+ }
1715
+
1716
+ .yoya-vcarousel .yoya-vcarousel-arrow:hover:not([disabled]) {
1717
+ background: var(--yoya-color-surface-hover, #f8fafc);
1718
+ border-color: var(--yoya-color-primary, #2563eb);
1719
+ color: var(--yoya-color-primary-hover, #1d4ed8);
1720
+ }
1721
+
1722
+ .yoya-vcarousel .yoya-vcarousel-arrow[disabled] {
1723
+ cursor: not-allowed;
1724
+ opacity: 0.35;
1725
+ }
1726
+
1727
+ .yoya-vcarousel .yoya-vcarousel-arrow--prev {
1728
+ left: 10px;
1729
+ }
1730
+
1731
+ .yoya-vcarousel .yoya-vcarousel-arrow--next {
1732
+ right: 10px;
1733
+ }
1734
+
1735
+ .yoya-vcarousel .yoya-vcarousel-arrow svg {
1736
+ height: 16px;
1737
+ width: 16px;
1738
+ }
1739
+
1740
+ .yoya-vcarousel .yoya-vcarousel-dots {
1741
+ align-items: center;
1742
+ display: flex;
1743
+ gap: 6px;
1744
+ justify-content: center;
1745
+ min-height: 28px;
1746
+ padding: 8px;
1747
+ }
1748
+
1749
+ .yoya-vcarousel .yoya-vcarousel-dot {
1750
+ background: var(--yoya-color-border-muted, #94a3b8);
1751
+ border: 0;
1752
+ border-radius: 999px;
1753
+ cursor: pointer;
1754
+ height: 8px;
1755
+ padding: 0;
1756
+ transition:
1757
+ background 140ms ease,
1758
+ width 140ms ease;
1759
+ width: 8px;
1760
+ }
1761
+
1762
+ .yoya-vcarousel .yoya-vcarousel-dot[aria-selected='true'] {
1763
+ background: var(--yoya-color-primary, #2563eb);
1764
+ width: 18px;
1765
+ }
1766
+
1767
+ :where(.yoya-vupload) {
1768
+ display: grid;
1769
+ gap: 10px;
1770
+ min-width: 0;
1771
+ width: 100%;
1772
+ }
1773
+
1774
+ .yoya-vupload .yoya-vupload-dropzone {
1775
+ align-items: center;
1776
+ background: var(--yoya-color-surface-muted, #fbfcfe);
1777
+ border: 1px dashed var(--yoya-color-border-strong, #cbd5e1);
1778
+ border-radius: 8px;
1779
+ box-sizing: border-box;
1780
+ color: var(--yoya-color-text-secondary, #475569);
1781
+ cursor: pointer;
1782
+ display: flex;
1783
+ flex-direction: column;
1784
+ gap: 6px;
1785
+ justify-content: center;
1786
+ min-height: 96px;
1787
+ outline: none;
1788
+ padding: 14px;
1789
+ text-align: center;
1790
+ transition:
1791
+ border-color 140ms ease,
1792
+ background 140ms ease;
1793
+ }
1794
+
1795
+ .yoya-vupload .yoya-vupload-dropzone:hover,
1796
+ .yoya-vupload .yoya-vupload-dropzone[data-dragging='true'] {
1797
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1798
+ border-color: var(--yoya-color-primary, #2563eb);
1799
+ }
1800
+
1801
+ .yoya-vupload .yoya-vupload-dropzone[data-disabled='true'] {
1802
+ cursor: not-allowed;
1803
+ opacity: 0.6;
1804
+ }
1805
+
1806
+ .yoya-vupload .yoya-vupload-dropzone-title {
1807
+ color: var(--yoya-color-text, #172033);
1808
+ font-size: 14px;
1809
+ font-weight: 600;
1810
+ }
1811
+
1812
+ .yoya-vupload .yoya-vupload-dropzone-hint {
1813
+ color: var(--yoya-color-text-muted, #64748b);
1814
+ font-size: 12px;
1815
+ }
1816
+
1817
+ .yoya-vupload .yoya-vupload-list {
1818
+ display: grid;
1819
+ gap: 6px;
1820
+ list-style: none;
1821
+ margin: 0;
1822
+ padding: 0;
1823
+ }
1824
+
1825
+ .yoya-vupload .yoya-vupload-item {
1826
+ align-items: center;
1827
+ background: var(--yoya-color-surface, #ffffff);
1828
+ border: 1px solid var(--yoya-color-border-faint, #e2e8f0);
1829
+ border-radius: 6px;
1830
+ box-sizing: border-box;
1831
+ display: grid;
1832
+ gap: 10px;
1833
+ grid-template-columns: minmax(0, 1fr) auto;
1834
+ min-width: 0;
1835
+ padding: 8px 10px;
1836
+ }
1837
+
1838
+ .yoya-vupload .yoya-vupload-item-info {
1839
+ display: grid;
1840
+ gap: 3px;
1841
+ min-width: 0;
1842
+ }
1843
+
1844
+ .yoya-vupload .yoya-vupload-item-name {
1845
+ color: var(--yoya-color-text, #172033);
1846
+ font-size: 13px;
1847
+ overflow: hidden;
1848
+ text-overflow: ellipsis;
1849
+ white-space: nowrap;
1850
+ }
1851
+
1852
+ .yoya-vupload .yoya-vupload-item-meta {
1853
+ color: var(--yoya-color-text-muted, #64748b);
1854
+ font-size: 12px;
1855
+ }
1856
+
1857
+ .yoya-vupload .yoya-vupload-progress {
1858
+ background: var(--yoya-color-surface-active, #eef2f7);
1859
+ border-radius: 999px;
1860
+ height: 4px;
1861
+ overflow: hidden;
1862
+ }
1863
+
1864
+ .yoya-vupload .yoya-vupload-progress-bar {
1865
+ background: var(--yoya-color-primary, #2563eb);
1866
+ display: block;
1867
+ height: 100%;
1868
+ }
1869
+
1870
+ .yoya-vupload .yoya-vupload-remove {
1871
+ align-items: center;
1872
+ background: transparent;
1873
+ border: 0;
1874
+ border-radius: 5px;
1875
+ color: var(--yoya-color-text-muted, #64748b);
1876
+ cursor: pointer;
1877
+ display: inline-flex;
1878
+ height: 24px;
1879
+ justify-content: center;
1880
+ padding: 4px;
1881
+ width: 24px;
1882
+ }
1883
+
1884
+ .yoya-vupload .yoya-vupload-remove:hover {
1885
+ background: var(--yoya-color-danger-subtle, #fef2f2);
1886
+ color: var(--yoya-color-text-danger, #b91c1c);
1887
+ }
1888
+
1889
+ :where(.yoya-vavatar-upload) {
1890
+ display: inline-grid;
1891
+ gap: 8px;
1892
+ justify-items: center;
1893
+ min-width: 0;
1894
+ }
1895
+
1896
+ .yoya-vavatar-upload .yoya-vavatar-upload-preview {
1897
+ align-items: center;
1898
+ background: var(--yoya-color-surface-muted, #fbfcfe);
1899
+ border: 1px dashed var(--yoya-color-border-strong, #cbd5e1);
1900
+ box-sizing: border-box;
1901
+ cursor: pointer;
1902
+ display: flex;
1903
+ justify-content: center;
1904
+ overflow: hidden;
1905
+ outline: none;
1906
+ position: relative;
1907
+ transition:
1908
+ border-color 140ms ease,
1909
+ background 140ms ease;
1910
+ }
1911
+
1912
+ .yoya-vavatar-upload .yoya-vavatar-upload-preview:hover,
1913
+ .yoya-vavatar-upload .yoya-vavatar-upload-preview[data-dragging='true'] {
1914
+ background: var(--yoya-color-primary-subtle, #eff6ff);
1915
+ border-color: var(--yoya-color-primary, #2563eb);
1916
+ }
1917
+
1918
+ .yoya-vavatar-upload .yoya-vavatar-upload-preview[data-disabled='true'] {
1919
+ cursor: not-allowed;
1920
+ opacity: 0.6;
1921
+ }
1922
+
1923
+ .yoya-vavatar-upload .yoya-vavatar-upload-image {
1924
+ height: 100%;
1925
+ object-fit: cover;
1926
+ width: 100%;
1927
+ }
1928
+
1929
+ .yoya-vavatar-upload .yoya-vavatar-upload-fallback {
1930
+ align-items: center;
1931
+ display: grid;
1932
+ gap: 5px;
1933
+ justify-items: center;
1934
+ padding: 8px;
1935
+ }
1936
+
1937
+ .yoya-vavatar-upload .yoya-vavatar-upload-hint {
1938
+ color: var(--yoya-color-text-muted, #64748b);
1939
+ font-size: 12px;
1940
+ text-align: center;
1941
+ }
1942
+
1943
+ .yoya-vavatar-upload .yoya-vavatar-upload-remove {
1944
+ align-items: center;
1945
+ background: var(--yoya-color-surface, #ffffff);
1946
+ border: 1px solid var(--yoya-color-border-faint, #e2e8f0);
1947
+ border-radius: 50%;
1948
+ color: var(--yoya-color-text-muted, #64748b);
1949
+ cursor: pointer;
1950
+ display: inline-flex;
1951
+ height: 24px;
1952
+ justify-content: center;
1953
+ padding: 4px;
1954
+ width: 24px;
1955
+ }
1956
+
1957
+ .yoya-vavatar-upload .yoya-vavatar-upload-remove:hover {
1958
+ background: var(--yoya-color-danger-subtle, #fef2f2);
1959
+ color: var(--yoya-color-text-danger, #b91c1c);
1960
+ }
1961
+
1962
+ :where(.yoya-vechart) {
1963
+ box-sizing: border-box;
1964
+ min-width: 0;
1965
+ }
1966
+ }
1967
+ @media (prefers-reduced-motion: reduce) {
1968
+ *,
1969
+ *::before,
1970
+ *::after {
1971
+ animation-duration: 0.01ms !important;
1972
+ animation-iteration-count: 1 !important;
1973
+ scroll-behavior: auto !important;
1974
+ transition-duration: 0.01ms !important;
1975
+ }
1976
+ }
1977
+
1978
+ @media (prefers-reduced-motion: reduce) {
1979
+ .yoya-vglow-button::before {
1980
+ animation: none !important;
1981
+ left: 35%;
1982
+ width: 30%;
1983
+ }
1984
+
1985
+ .yoya-vglow-button[data-glow-motion='always']::before {
1986
+ animation: yoya-glow-button-sweep var(--yoya-glow-duration) ease-in-out infinite !important;
1987
+ left: -45%;
1988
+ width: 40%;
1989
+ }
1990
+
1991
+ .yoya-vglow-button[data-glow-direction='rtl'][data-glow-motion='always']::before {
1992
+ animation-name: yoya-glow-button-sweep-rtl !important;
1993
+ }
1994
+
1995
+ .yoya-vglow-button[data-glow-motion='always'] .yoya-vglow-button-ripple {
1996
+ animation: yoya-glow-button-ripple 520ms ease-out forwards !important;
1997
+ }
1998
+
1999
+ .yoya-vglow-button[data-glow-play='hover']::before,
2000
+ .yoya-vglow-button[data-glow-play='off']::before,
2001
+ .yoya-vglow-button[disabled]::before,
2002
+ .yoya-vglow-button[data-interaction='disabled']::before {
2003
+ opacity: 0 !important;
2004
+ }
2005
+
2006
+ .yoya-vglow-button[data-glow-play='hover']:hover::before,
2007
+ .yoya-vglow-button[data-glow-play='hover']:focus-visible::before {
2008
+ opacity: 1 !important;
2009
+ }
2010
+ }