@1337exp/taoui 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- .tao-button[data-v-0e8431c3] {
2
+ .tao-button[data-v-5a0fd489] {
3
3
  display: inline-flex;
4
4
  align-items: center;
5
5
  justify-content: center;
@@ -13,207 +13,548 @@
13
13
  transition: var(--tao-transition-base);
14
14
  position: relative;
15
15
  }
16
- .tao-button[data-v-0e8431c3]:active {
16
+ .tao-button[data-v-5a0fd489]:active {
17
17
  transform: translateY(1px);
18
18
  }
19
- .tao-button--small[data-v-0e8431c3] {
19
+ .tao-button[data-v-5a0fd489]:focus-visible {
20
+ outline: 2px solid var(--tao-color-accent);
21
+ outline-offset: 2px;
22
+ }
23
+ .tao-button--small[data-v-5a0fd489] {
20
24
  padding: var(--tao-space-1) var(--tao-space-3);
21
25
  font-size: var(--tao-font-size-xs);
22
26
  height: 28px;
23
27
  }
24
- .tao-button--medium[data-v-0e8431c3] {
28
+ .tao-button--medium[data-v-5a0fd489] {
25
29
  padding: var(--tao-space-2) var(--tao-space-4);
26
30
  font-size: var(--tao-font-size-md);
27
31
  height: 36px;
28
32
  }
29
- .tao-button--large[data-v-0e8431c3] {
33
+ .tao-button--large[data-v-5a0fd489] {
30
34
  padding: var(--tao-space-2) var(--tao-space-6);
31
35
  font-size: var(--tao-font-size-lg);
32
36
  height: 44px;
33
37
  }
34
- .tao-button--primary[data-v-0e8431c3] {
38
+ .tao-button--primary[data-v-5a0fd489] {
35
39
  background-color: var(--tao-color-accent);
36
40
  color: var(--tao-color-on-accent);
37
41
  }
38
- .tao-button--primary[data-v-0e8431c3]:hover:not(.tao-button--disabled) {
42
+ .tao-button--primary[data-v-5a0fd489]:hover:not(.tao-button--disabled) {
39
43
  background-color: var(--tao-color-accent-hover);
40
44
  }
41
- .tao-button--secondary[data-v-0e8431c3] {
45
+ .tao-button--secondary[data-v-5a0fd489] {
42
46
  background-color: var(--tao-color-surface-sunken);
43
47
  color: var(--tao-color-text);
44
48
  border: 1px solid var(--tao-color-border-strong);
45
49
  }
46
- .tao-button--secondary[data-v-0e8431c3]:hover:not(.tao-button--disabled) {
50
+ .tao-button--secondary[data-v-5a0fd489]:hover:not(.tao-button--disabled) {
47
51
  background-color: var(--tao-color-surface-hover);
48
52
  color: var(--tao-color-text-strong);
49
53
  }
50
- .tao-button--ghost[data-v-0e8431c3] {
54
+ .tao-button--ghost[data-v-5a0fd489] {
51
55
  background-color: transparent;
52
56
  color: var(--tao-color-accent);
53
57
  }
54
- .tao-button--ghost[data-v-0e8431c3]:hover:not(.tao-button--disabled) {
58
+ .tao-button--ghost[data-v-5a0fd489]:hover:not(.tao-button--disabled) {
55
59
  background-color: var(--tao-color-accent-subtle-hover);
56
60
  }
57
- .tao-button--danger[data-v-0e8431c3] {
61
+ .tao-button--danger[data-v-5a0fd489] {
58
62
  background-color: var(--tao-color-danger);
59
63
  color: var(--tao-color-text-strong);
60
64
  }
61
- .tao-button--danger[data-v-0e8431c3]:hover:not(.tao-button--disabled) {
65
+ .tao-button--danger[data-v-5a0fd489]:hover:not(.tao-button--disabled) {
62
66
  background-color: var(--tao-color-danger-hover);
63
67
  }
64
- .tao-button--disabled[data-v-0e8431c3] {
68
+ .tao-button--disabled[data-v-5a0fd489] {
65
69
  opacity: 0.6;
66
70
  cursor: not-allowed;
67
71
  }
68
- .tao-button--block[data-v-0e8431c3] {
72
+ .tao-button--block[data-v-5a0fd489] {
69
73
  width: 100%;
70
74
  }
71
- .tao-button--loading .tao-button__content[data-v-0e8431c3] {
75
+ .tao-button--loading .tao-button__content[data-v-5a0fd489] {
72
76
  opacity: 0;
73
77
  }
74
- .tao-button__loader[data-v-0e8431c3] {
78
+ .tao-button__loader[data-v-5a0fd489] {
75
79
  position: absolute;
76
80
  width: 16px;
77
81
  height: 16px;
78
82
  border: 2px solid color-mix(in srgb, currentColor 15%, transparent);
79
83
  border-top-color: currentColor;
80
84
  border-radius: var(--tao-radius-full);
81
- animation: tao-spin-0e8431c3 0.8s linear infinite;
85
+ animation: tao-spin-5a0fd489 0.8s linear infinite;
82
86
  }
83
- .tao-button__icon[data-v-0e8431c3] {
87
+ .tao-button__icon[data-v-5a0fd489] {
84
88
  display: flex;
85
89
  align-items: center;
86
90
  justify-content: center;
87
91
  }
88
- @keyframes tao-spin-0e8431c3 {
92
+ @keyframes tao-spin-5a0fd489 {
89
93
  to {
90
94
  transform: rotate(360deg);
91
95
  }
92
96
  }
93
97
 
94
- .tao-block[data-v-4d014dd0] {
98
+ .tao-block[data-v-feb87e36] {
95
99
  background: var(--tao-color-surface);
96
100
  color: var(--tao-color-text);
97
101
  transition: var(--tao-transition-base);
98
102
  }
99
- .tao-block--shadow[data-v-4d014dd0] {
103
+ .tao-block--shadow[data-v-feb87e36] {
100
104
  box-shadow: var(--tao-shadow-panel);
101
105
  }
102
- .tao-block--hover[data-v-4d014dd0] {
106
+ .tao-block--hover[data-v-feb87e36] {
103
107
  cursor: pointer;
104
108
  }
105
- .tao-block--hover[data-v-4d014dd0]:hover {
109
+ .tao-block--hover[data-v-feb87e36]:hover {
106
110
  box-shadow: var(--tao-shadow-md);
107
111
  }
108
112
 
109
- .tao-input-wrapper[data-v-c742d574] {
113
+ .tao-input-wrapper[data-v-b522e041] {
110
114
  display: flex;
111
115
  flex-direction: column;
112
116
  gap: var(--tao-space-1);
113
117
  width: 100%;
114
118
  }
115
- .tao-input__label[data-v-c742d574] {
119
+ .tao-input__label[data-v-b522e041] {
116
120
  font-size: var(--tao-font-size-sm);
117
121
  color: var(--tao-color-text);
118
122
  font-weight: 500;
119
123
  }
120
- .tao-input[data-v-c742d574] {
121
- padding: var(--tao-space-2) var(--tao-space-3);
124
+ .tao-input-shell[data-v-b522e041] {
125
+ display: flex;
126
+ align-items: center;
127
+ width: 100%;
128
+ min-width: 0;
122
129
  border: 1px solid var(--tao-color-border-strong);
123
130
  border-radius: var(--tao-radius-control);
124
131
  background: var(--tao-color-input-bg);
125
132
  color: var(--tao-color-input-text);
133
+ transition: var(--tao-transition-base);
134
+ }
135
+ .tao-input[data-v-b522e041] {
136
+ flex: 1 1 auto;
137
+ min-width: 0;
138
+ width: 100%;
139
+ margin: 0;
140
+ padding: var(--tao-space-2) var(--tao-space-3);
141
+ border: none;
142
+ border-radius: inherit;
143
+ background: transparent;
144
+ color: inherit;
126
145
  font-size: var(--tao-font-size-md);
127
146
  font-family: inherit;
128
- transition: var(--tao-transition-base);
147
+ line-height: 1.25;
148
+ }
149
+ .tao-input-shell--prefix .tao-input[data-v-b522e041] {
150
+ padding-left: 0;
151
+ }
152
+ .tao-input-shell--suffix .tao-input[data-v-b522e041] {
153
+ padding-right: 0;
129
154
  }
130
- .tao-input[data-v-c742d574]::placeholder {
155
+ .tao-input[data-v-b522e041]::placeholder {
131
156
  color: var(--tao-color-input-placeholder);
132
157
  }
133
- .tao-input[data-v-c742d574]:focus {
158
+ .tao-input[data-v-b522e041]:focus {
134
159
  outline: none;
160
+ }
161
+ .tao-input-shell--focused[data-v-b522e041] {
135
162
  border-color: var(--tao-color-accent);
136
163
  box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
137
164
  }
138
- .tao-input[data-v-c742d574]:disabled {
165
+ .tao-input-shell--disabled[data-v-b522e041] {
139
166
  opacity: 0.6;
140
167
  cursor: not-allowed;
141
168
  color: var(--tao-color-input-disabled-text);
142
169
  background: var(--tao-color-input-disabled-bg);
143
170
  }
144
- .tao-input--error[data-v-c742d574] {
171
+ .tao-input[data-v-b522e041]:disabled {
172
+ cursor: not-allowed;
173
+ }
174
+ .tao-input-shell--invalid[data-v-b522e041] {
145
175
  border-color: var(--tao-color-danger);
146
176
  }
147
- .tao-input--error[data-v-c742d574]:focus {
177
+ .tao-input-shell--invalid.tao-input-shell--focused[data-v-b522e041] {
148
178
  box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
149
179
  }
150
- .tao-input__error[data-v-c742d574] {
180
+ .tao-input__affix[data-v-b522e041] {
181
+ display: inline-flex;
182
+ flex: 0 0 auto;
183
+ align-items: center;
184
+ gap: var(--tao-space-1);
185
+ color: var(--tao-color-text-muted);
186
+ font-size: var(--tao-font-size-sm);
187
+ font-weight: 600;
188
+ line-height: 1;
189
+ white-space: nowrap;
190
+ }
191
+ .tao-input__affix--prefix[data-v-b522e041] {
192
+ padding-left: var(--tao-space-3);
193
+ padding-right: var(--tao-space-2);
194
+ }
195
+ .tao-input__affix--suffix[data-v-b522e041] {
196
+ padding-right: var(--tao-space-3);
197
+ padding-left: var(--tao-space-2);
198
+ }
199
+ .tao-input__affix[data-v-b522e041] svg {
200
+ display: block;
201
+ width: 16px;
202
+ height: 16px;
203
+ }
204
+ .tao-input__affix[data-v-b522e041] button {
205
+ display: inline-flex;
206
+ align-items: center;
207
+ justify-content: center;
208
+ margin: 0;
209
+ padding: 0;
210
+ border: none;
211
+ background: transparent;
212
+ color: inherit;
213
+ font: inherit;
214
+ line-height: 1;
215
+ cursor: pointer;
216
+ }
217
+ .tao-input__affix[data-v-b522e041] button:hover {
218
+ color: var(--tao-color-text-strong);
219
+ }
220
+ .tao-input__affix[data-v-b522e041] button:focus-visible {
221
+ outline: 2px solid var(--tao-color-accent);
222
+ outline-offset: 2px;
223
+ }
224
+ .tao-input__error[data-v-b522e041] {
151
225
  font-size: var(--tao-font-size-xs);
152
226
  color: var(--tao-color-danger);
153
227
  }
154
228
 
155
- .tao-card[data-v-b752c7cb] {
229
+ .tao-input-group[data-v-f06bb3b1] {
230
+ display: flex;
231
+ align-items: stretch;
232
+ width: 100%;
233
+ min-width: 0;
234
+ border-radius: var(--tao-radius-control);
235
+ }
236
+ .tao-input-group--focused[data-v-f06bb3b1] {
237
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
238
+ }
239
+ .tao-input-group[data-v-f06bb3b1]:has(.tao-input-shell--invalid) {
240
+ box-shadow: none;
241
+ }
242
+ .tao-input-group--focused[data-v-f06bb3b1]:has(.tao-input-shell--invalid) {
243
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
244
+ }
245
+ .tao-input-group__field[data-v-f06bb3b1] {
246
+ display: flex;
247
+ flex: 1 1 auto;
248
+ align-items: stretch;
249
+ align-self: stretch;
250
+ min-width: 0;
251
+ }
252
+ .tao-input-group__field[data-v-f06bb3b1] .tao-input-wrapper {
253
+ display: flex;
254
+ flex: 1 1 auto;
255
+ flex-direction: column;
256
+ align-self: stretch;
257
+ min-width: 0;
258
+ gap: 0;
259
+ }
260
+ .tao-input-group__field[data-v-f06bb3b1] .tao-input-shell {
261
+ flex: 1 1 auto;
262
+ align-self: stretch;
263
+ border-radius: 0;
264
+ box-shadow: none;
265
+ }
266
+ .tao-input-group__field[data-v-f06bb3b1] .tao-input {
267
+ align-self: stretch;
268
+ line-height: 1.25;
269
+ }
270
+ .tao-input-group__addon[data-v-f06bb3b1] {
271
+ display: flex;
272
+ flex: 0 0 auto;
273
+ align-items: center;
274
+ align-self: stretch;
275
+ padding: 0 var(--tao-space-3);
276
+ border: 1px solid var(--tao-color-border-strong);
277
+ background: var(--tao-color-surface-sunken);
278
+ color: var(--tao-color-text-muted);
279
+ font-size: var(--tao-font-size-sm);
280
+ font-weight: 600;
281
+ line-height: 1;
282
+ white-space: nowrap;
283
+ transition: var(--tao-transition-base);
284
+ }
285
+ .tao-input-group__addon--before[data-v-f06bb3b1] {
286
+ border-right: 0;
287
+ border-radius: var(--tao-radius-control) 0 0 var(--tao-radius-control);
288
+ }
289
+ .tao-input-group__addon--after[data-v-f06bb3b1] {
290
+ border-left: 0;
291
+ border-radius: 0 var(--tao-radius-control) var(--tao-radius-control) 0;
292
+ }
293
+ .tao-input-group__field[data-v-f06bb3b1]:not(:first-child) .tao-input-shell {
294
+ border-left: 0;
295
+ }
296
+ .tao-input-group__field[data-v-f06bb3b1]:not(:last-child) .tao-input-shell {
297
+ border-right: 0;
298
+ }
299
+ .tao-input-group__field[data-v-f06bb3b1]:first-child .tao-input-shell {
300
+ border-radius: var(--tao-radius-control) 0 0 var(--tao-radius-control);
301
+ }
302
+ .tao-input-group__field[data-v-f06bb3b1]:last-child .tao-input-shell {
303
+ border-radius: 0 var(--tao-radius-control) var(--tao-radius-control) 0;
304
+ }
305
+ .tao-input-group__field[data-v-f06bb3b1]:only-child .tao-input-shell {
306
+ border-radius: var(--tao-radius-control);
307
+ }
308
+ .tao-input-group--focused .tao-input-group__addon[data-v-f06bb3b1],
309
+ .tao-input-group--focused[data-v-f06bb3b1] .tao-input-shell {
310
+ border-color: var(--tao-color-accent);
311
+ }
312
+ .tao-input-group:has(.tao-input-shell--invalid) .tao-input-group__addon[data-v-f06bb3b1],
313
+ .tao-input-group[data-v-f06bb3b1]:has(.tao-input-shell--invalid) .tao-input-shell {
314
+ border-color: var(--tao-color-danger);
315
+ }
316
+ .tao-input-group__addon[data-v-f06bb3b1]:has(.tao-button) {
317
+ padding: 0;
318
+ background: transparent;
319
+ }
320
+ .tao-input-group__addon[data-v-f06bb3b1] .tao-button {
321
+ align-self: stretch;
322
+ height: auto;
323
+ border: none;
324
+ border-radius: 0 var(--tao-radius-control) var(--tao-radius-control) 0;
325
+ }
326
+ .tao-input-group__addon--before[data-v-f06bb3b1] .tao-button {
327
+ border-radius: var(--tao-radius-control) 0 0 var(--tao-radius-control);
328
+ }
329
+ .tao-input-group__addon[data-v-f06bb3b1] .tao-button:focus-visible {
330
+ outline-offset: -2px;
331
+ }
332
+
333
+ .tao-input-number[data-v-55b65a4d] {
334
+ position: relative;
335
+ display: flex;
336
+ width: 100%;
337
+ }
338
+ .tao-input-number__input[data-v-55b65a4d] {
339
+ width: 100%;
340
+ padding: var(--tao-space-2) var(--tao-space-3);
341
+ border: 1px solid var(--tao-color-border-strong);
342
+ border-radius: var(--tao-radius-control);
343
+ background: var(--tao-color-input-bg);
344
+ color: var(--tao-color-input-text);
345
+ font-size: var(--tao-font-size-md);
346
+ font-family: inherit;
347
+ font-variant-numeric: tabular-nums;
348
+ transition: var(--tao-transition-base);
349
+ }
350
+ .tao-input-number--controls .tao-input-number__input[data-v-55b65a4d] {
351
+ padding-right: 34px;
352
+ }
353
+ .tao-input-number__input[data-v-55b65a4d]::placeholder {
354
+ color: var(--tao-color-input-placeholder);
355
+ }
356
+ .tao-input-number__input[data-v-55b65a4d]:focus {
357
+ outline: none;
358
+ border-color: var(--tao-color-accent);
359
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
360
+ }
361
+ .tao-input-number__input[data-v-55b65a4d]:disabled {
362
+ opacity: 0.6;
363
+ cursor: not-allowed;
364
+ color: var(--tao-color-input-disabled-text);
365
+ background: var(--tao-color-input-disabled-bg);
366
+ }
367
+ .tao-input-number--invalid .tao-input-number__input[data-v-55b65a4d] {
368
+ border-color: var(--tao-color-danger);
369
+ }
370
+ .tao-input-number--invalid .tao-input-number__input[data-v-55b65a4d]:focus {
371
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
372
+ }
373
+ .tao-input-number__steppers[data-v-55b65a4d] {
374
+ position: absolute;
375
+ top: 1px;
376
+ right: 1px;
377
+ bottom: 1px;
378
+ display: flex;
379
+ flex-direction: column;
380
+ width: 28px;
381
+ border-left: 1px solid var(--tao-color-border);
382
+ }
383
+ .tao-input-number__step[data-v-55b65a4d] {
384
+ flex: 1;
385
+ margin: 0;
386
+ padding: 0;
387
+ border: none;
388
+ background: transparent;
389
+ color: var(--tao-color-text-muted);
390
+ font: inherit;
391
+ line-height: 1;
392
+ cursor: pointer;
393
+ }
394
+ .tao-input-number__step + .tao-input-number__step[data-v-55b65a4d] {
395
+ border-top: 1px solid var(--tao-color-border);
396
+ }
397
+ .tao-input-number__step[data-v-55b65a4d]:hover:not(:disabled) {
398
+ color: var(--tao-color-text-strong);
399
+ background: var(--tao-color-surface-hover);
400
+ }
401
+ .tao-input-number__step[data-v-55b65a4d]:focus-visible {
402
+ outline: 2px solid var(--tao-color-accent);
403
+ outline-offset: -2px;
404
+ }
405
+ .tao-input-number__step[data-v-55b65a4d]:disabled {
406
+ cursor: not-allowed;
407
+ opacity: 0.4;
408
+ }
409
+
410
+ .tao-quantity[data-v-df6baf04] {
411
+ display: inline-flex;
412
+ width: 100%;
413
+ min-width: 148px;
414
+ isolation: isolate;
415
+ }
416
+ .tao-quantity__btn[data-v-df6baf04],
417
+ .tao-quantity__input[data-v-df6baf04] {
418
+ height: 36px;
419
+ margin: 0;
420
+ border: 1px solid var(--tao-color-border-strong);
421
+ background: var(--tao-color-input-bg);
422
+ color: var(--tao-color-input-text);
423
+ font-family: inherit;
424
+ transition: var(--tao-transition-base);
425
+ }
426
+ .tao-quantity__btn[data-v-df6baf04] {
427
+ flex: 0 0 50px;
428
+ width: 50px;
429
+ padding: 0;
430
+ color: var(--tao-color-text-muted);
431
+ font-size: var(--tao-font-size-md);
432
+ font-weight: 800;
433
+ line-height: 1;
434
+ cursor: pointer;
435
+ }
436
+ .tao-quantity__btn--dec[data-v-df6baf04] {
437
+ border-right: 0;
438
+ border-radius: var(--tao-radius-control) 0 0 var(--tao-radius-control);
439
+ }
440
+ .tao-quantity__btn--inc[data-v-df6baf04] {
441
+ border-left: 0;
442
+ border-radius: 0 var(--tao-radius-control) var(--tao-radius-control) 0;
443
+ }
444
+ .tao-quantity__btn[data-v-df6baf04]:hover:not(:disabled) {
445
+ z-index: 1;
446
+ color: var(--tao-color-accent);
447
+ border-color: var(--tao-color-accent);
448
+ }
449
+ .tao-quantity__btn[data-v-df6baf04]:focus-visible {
450
+ z-index: 2;
451
+ outline: 2px solid var(--tao-color-accent);
452
+ outline-offset: -2px;
453
+ }
454
+ .tao-quantity__btn[data-v-df6baf04]:disabled {
455
+ cursor: not-allowed;
456
+ opacity: 0.4;
457
+ }
458
+ .tao-quantity__input[data-v-df6baf04] {
459
+ z-index: 0;
460
+ flex: 1 1 auto;
461
+ min-width: 30px;
462
+ padding: 0 var(--tao-space-2);
463
+ border-right: 0;
464
+ border-left: 0;
465
+ text-align: center;
466
+ font-size: var(--tao-font-size-md);
467
+ font-weight: 700;
468
+ font-variant-numeric: tabular-nums;
469
+ }
470
+ .tao-quantity__input[data-v-df6baf04]:focus {
471
+ outline: none;
472
+ }
473
+ .tao-quantity--focused .tao-quantity__btn[data-v-df6baf04],
474
+ .tao-quantity--focused .tao-quantity__input[data-v-df6baf04] {
475
+ border-color: var(--tao-color-accent);
476
+ }
477
+ .tao-quantity--focused[data-v-df6baf04] {
478
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
479
+ border-radius: var(--tao-radius-control);
480
+ }
481
+ .tao-quantity__input[data-v-df6baf04]:disabled {
482
+ color: var(--tao-color-input-disabled-text);
483
+ background: var(--tao-color-input-disabled-bg);
484
+ }
485
+ .tao-quantity--disabled .tao-quantity__btn[data-v-df6baf04] {
486
+ background: var(--tao-color-input-disabled-bg);
487
+ }
488
+ .tao-quantity--invalid .tao-quantity__btn[data-v-df6baf04],
489
+ .tao-quantity--invalid .tao-quantity__input[data-v-df6baf04] {
490
+ border-color: var(--tao-color-danger);
491
+ }
492
+ .tao-quantity--invalid.tao-quantity--focused[data-v-df6baf04] {
493
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
494
+ }
495
+
496
+ .tao-card[data-v-2ff3d055] {
156
497
  width: 100%;
157
498
  background: var(--tao-color-surface-raised);
158
499
  color: var(--tao-color-text);
159
500
  transition: var(--tao-transition-base);
160
501
  }
161
- .tao-card--overflow[data-v-b752c7cb] {
502
+ .tao-card--overflow[data-v-2ff3d055] {
162
503
  overflow: visible;
163
504
  }
164
- .tao-card[data-v-b752c7cb]:not(.tao-card--overflow) {
505
+ .tao-card[data-v-2ff3d055]:not(.tao-card--overflow) {
165
506
  overflow: hidden;
166
507
  }
167
- .tao-card--shadow[data-v-b752c7cb] {
508
+ .tao-card--shadow[data-v-2ff3d055] {
168
509
  box-shadow: var(--tao-shadow-panel);
169
510
  }
170
- .tao-card--shadow-bottom[data-v-b752c7cb] {
511
+ .tao-card--shadow-bottom[data-v-2ff3d055] {
171
512
  box-shadow: 0 1px 0 0 var(--tao-color-border-strong);
172
513
  }
173
- .tao-card--hover[data-v-b752c7cb] {
514
+ .tao-card--hover[data-v-2ff3d055] {
174
515
  cursor: pointer;
175
516
  }
176
- .tao-card--hover[data-v-b752c7cb]:hover,
177
- .tao-card--hover.tao-card--active[data-v-b752c7cb] {
517
+ .tao-card--hover[data-v-2ff3d055]:hover,
518
+ .tao-card--hover.tao-card--active[data-v-2ff3d055] {
178
519
  box-shadow: 0 0 0 1px var(--tao-color-accent), var(--tao-shadow-lg);
179
520
  }
180
- .tao-card__cover[data-v-b752c7cb] {
521
+ .tao-card__cover[data-v-2ff3d055] {
181
522
  overflow: hidden;
182
523
  }
183
- .tao-card__content[data-v-b752c7cb] {
524
+ .tao-card__content[data-v-2ff3d055] {
184
525
  display: flex;
185
526
  flex-direction: column;
186
527
  gap: var(--tao-space-3);
187
528
  }
188
- .tao-card__header-title[data-v-b752c7cb] {
529
+ .tao-card__header-title[data-v-2ff3d055] {
189
530
  margin: 0 0 var(--tao-space-5);
190
531
  font-weight: 500;
191
532
  text-align: center;
192
533
  color: var(--tao-color-text-strong);
193
534
  }
194
- .tao-card__header[data-v-b752c7cb] {
535
+ .tao-card__header[data-v-2ff3d055] {
195
536
  margin-top: -6px;
196
537
  padding: 2px 0 var(--tao-space-2);
197
538
  font-size: var(--tao-font-size-sm);
198
539
  font-weight: 700;
199
540
  }
200
- .tao-card__header--between[data-v-b752c7cb] {
541
+ .tao-card__header--between[data-v-2ff3d055] {
201
542
  display: flex;
202
543
  justify-content: space-between;
203
544
  }
204
- .tao-card__title[data-v-b752c7cb] {
545
+ .tao-card__title[data-v-2ff3d055] {
205
546
  margin: 0 0 2px;
206
547
  color: var(--tao-color-text-strong);
207
548
  }
208
- .tao-card__sub[data-v-b752c7cb] {
549
+ .tao-card__sub[data-v-2ff3d055] {
209
550
  font-size: var(--tao-font-size-xs);
210
551
  color: var(--tao-color-text-muted);
211
552
  }
212
- .tao-card__body[data-v-b752c7cb] {
553
+ .tao-card__body[data-v-2ff3d055] {
213
554
  font-size: var(--tao-font-size-md);
214
555
  }
215
556
 
216
- .tao-modal-overlay[data-v-4746b5a3] {
557
+ .tao-modal-overlay[data-v-0cffe849] {
217
558
  position: fixed;
218
559
  inset: 0;
219
560
  background: var(--tao-color-overlay);
@@ -223,7 +564,7 @@ to {
223
564
  z-index: 1000;
224
565
  padding: var(--tao-space-5);
225
566
  }
226
- .tao-modal[data-v-4746b5a3] {
567
+ .tao-modal[data-v-0cffe849] {
227
568
  background: var(--tao-color-surface-raised);
228
569
  border-radius: var(--tao-radius-panel);
229
570
  max-width: 500px;
@@ -232,20 +573,27 @@ to {
232
573
  overflow-y: auto;
233
574
  box-shadow: var(--tao-shadow-overlay);
234
575
  }
235
- .tao-modal__header[data-v-4746b5a3] {
576
+ .tao-modal[data-v-0cffe849]:focus {
577
+ outline: none;
578
+ }
579
+ .tao-modal[data-v-0cffe849]:focus-visible {
580
+ outline: 2px solid var(--tao-color-accent);
581
+ outline-offset: 2px;
582
+ }
583
+ .tao-modal__header[data-v-0cffe849] {
236
584
  display: flex;
237
585
  align-items: center;
238
586
  justify-content: space-between;
239
587
  padding: var(--tao-space-4) var(--tao-space-5);
240
588
  border-bottom: 1px solid var(--tao-color-border);
241
589
  }
242
- .tao-modal__title[data-v-4746b5a3] {
590
+ .tao-modal__title[data-v-0cffe849] {
243
591
  margin: 0;
244
592
  font-size: var(--tao-font-size-xl);
245
593
  font-weight: 600;
246
594
  color: var(--tao-color-text-strong);
247
595
  }
248
- .tao-modal__close[data-v-4746b5a3] {
596
+ .tao-modal__close[data-v-0cffe849] {
249
597
  background: none;
250
598
  border: none;
251
599
  font-size: 24px;
@@ -254,91 +602,82 @@ to {
254
602
  padding: 0;
255
603
  line-height: 1;
256
604
  }
257
- .tao-modal__close[data-v-4746b5a3]:hover {
605
+ .tao-modal__close[data-v-0cffe849]:hover {
258
606
  color: var(--tao-color-text-strong);
259
607
  }
260
- .tao-modal__content[data-v-4746b5a3] {
608
+ .tao-modal__close[data-v-0cffe849]:focus-visible {
609
+ outline: 2px solid var(--tao-color-accent);
610
+ outline-offset: 2px;
611
+ border-radius: var(--tao-radius-control);
612
+ }
613
+ .tao-modal__content[data-v-0cffe849] {
261
614
  padding: var(--tao-space-5);
262
615
  }
263
- .tao-modal__footer[data-v-4746b5a3] {
616
+ .tao-modal__footer[data-v-0cffe849] {
264
617
  padding: var(--tao-space-4) var(--tao-space-5);
265
618
  border-top: 1px solid var(--tao-color-border);
266
619
  display: flex;
267
620
  gap: var(--tao-space-3);
268
621
  justify-content: flex-end;
269
622
  }
270
- .tao-modal-fade-enter-active[data-v-4746b5a3],
271
- .tao-modal-fade-leave-active[data-v-4746b5a3] {
623
+ .tao-modal-fade-enter-active[data-v-0cffe849],
624
+ .tao-modal-fade-leave-active[data-v-0cffe849] {
272
625
  transition: opacity var(--tao-duration-base) var(--tao-ease-base);
273
626
  }
274
- .tao-modal-fade-enter-from[data-v-4746b5a3],
275
- .tao-modal-fade-leave-to[data-v-4746b5a3] {
627
+ .tao-modal-fade-enter-from[data-v-0cffe849],
628
+ .tao-modal-fade-leave-to[data-v-0cffe849] {
276
629
  opacity: 0;
277
630
  }
278
631
 
279
- .tao-tabs[data-v-90a6a489] {
632
+ .tao-tabs[data-v-bf16735e] {
280
633
  width: 100%;
281
- max-width: 600px;
282
- border-radius: var(--tao-radius-panel);
283
- overflow: hidden;
284
- border: 1px solid var(--tao-color-border);
285
- border-top: 0;
286
- box-shadow: var(--tao-shadow-sm);
287
634
  }
288
- .tao-tabs__list[data-v-90a6a489] {
289
- list-style: none;
635
+ .tao-tabs__list[data-v-bf16735e] {
636
+ display: flex;
637
+ flex-wrap: wrap;
638
+ gap: var(--tao-space-1);
290
639
  margin: 0;
291
640
  padding: 0;
292
- display: flex;
293
- background: var(--tao-color-surface-sunken);
294
- user-select: none;
295
- }
296
- .tao-tabs__list li[data-v-90a6a489] {
297
- flex: 1;
298
- text-align: center;
299
- padding: var(--tao-space-3) 0;
300
- cursor: pointer;
301
- transition: background-color var(--tao-duration-base) var(--tao-ease-base);
641
+ border-bottom: 1px solid var(--tao-color-border);
302
642
  }
303
- .tao-tabs__list li a[data-v-90a6a489] {
304
- color: var(--tao-color-text);
643
+ .tao-tabs__tab[data-v-bf16735e] {
644
+ margin-bottom: -1px;
645
+ padding: var(--tao-space-2) var(--tao-space-4);
646
+ border: none;
647
+ border-bottom: 2px solid transparent;
648
+ background: transparent;
649
+ color: var(--tao-color-text-muted);
650
+ font: inherit;
305
651
  font-size: var(--tao-font-size-md);
306
652
  font-weight: 500;
307
- text-decoration: none;
308
- display: block;
653
+ cursor: pointer;
309
654
  }
310
- .tao-tabs__list li.active[data-v-90a6a489] {
311
- background: var(--tao-color-accent);
655
+ .tao-tabs__tab[data-v-bf16735e]:hover:not(:disabled) {
656
+ color: var(--tao-color-text-strong);
312
657
  }
313
- .tao-tabs__list li.active a[data-v-90a6a489] {
314
- color: var(--tao-color-on-accent);
658
+ .tao-tabs__tab[aria-selected='true'][data-v-bf16735e] {
659
+ color: var(--tao-color-accent);
660
+ border-bottom-color: var(--tao-color-accent);
315
661
  }
316
- .tao-tabs__list li.disabled[data-v-90a6a489] {
662
+ .tao-tabs__tab[data-v-bf16735e]:disabled {
317
663
  cursor: not-allowed;
318
- background: var(--tao-color-surface);
319
- }
320
- .tao-tabs__list li.disabled a[data-v-90a6a489] {
321
664
  color: var(--tao-color-text-disabled);
322
665
  }
323
- .tao-tabs__list li[data-v-90a6a489]:hover:not(.active, .disabled) {
324
- background: var(--tao-color-surface-hover);
325
- }
326
- .tao-tabs__list li:hover:not(.active, .disabled) a[data-v-90a6a489] {
327
- color: var(--tao-color-text-strong);
666
+ .tao-tabs__tab[data-v-bf16735e]:focus-visible {
667
+ outline: 2px solid var(--tao-color-accent);
668
+ outline-offset: 2px;
669
+ border-radius: var(--tao-radius-control) var(--tao-radius-control) 0 0;
328
670
  }
329
- .tao-tabs__content[data-v-90a6a489] {
330
- min-height: 200px;
331
- max-height: 350px;
332
- padding: var(--tao-space-5);
333
- overflow: auto;
334
- background: var(--tao-color-surface);
671
+ .tao-tabs__content[data-v-bf16735e] {
672
+ padding: var(--tao-space-4) 0 0;
673
+ color: var(--tao-color-text);
335
674
  }
336
675
 
337
- .tao-tooltip-wrapper[data-v-a22f010b] {
676
+ .tao-tooltip-wrapper[data-v-6f3b3c11] {
338
677
  position: relative;
339
678
  display: inline-block;
340
679
  }
341
- .tao-tooltip[data-v-a22f010b] {
680
+ .tao-tooltip[data-v-6f3b3c11] {
342
681
  position: absolute;
343
682
  padding: var(--tao-space-2) var(--tao-space-3);
344
683
  background: var(--tao-color-surface-raised);
@@ -353,7 +692,7 @@ to {
353
692
  на сам тултип он "залипает" и не скрывается). */
354
693
  pointer-events: none;
355
694
  }
356
- .tao-tooltip[data-v-a22f010b]::after {
695
+ .tao-tooltip[data-v-6f3b3c11]::after {
357
696
  content: '';
358
697
  position: absolute;
359
698
  width: 8px;
@@ -361,56 +700,56 @@ to {
361
700
  background: var(--tao-color-surface-raised);
362
701
  transform: rotate(45deg);
363
702
  }
364
- .tao-tooltip--top[data-v-a22f010b] {
703
+ .tao-tooltip--top[data-v-6f3b3c11] {
365
704
  bottom: 100%;
366
705
  left: 50%;
367
706
  transform: translateX(-50%);
368
707
  margin-bottom: var(--tao-space-2);
369
708
  }
370
- .tao-tooltip--top[data-v-a22f010b]::after {
709
+ .tao-tooltip--top[data-v-6f3b3c11]::after {
371
710
  top: 100%;
372
711
  left: 50%;
373
712
  margin-top: -4px;
374
713
  margin-left: -4px;
375
714
  }
376
- .tao-tooltip--bottom[data-v-a22f010b] {
715
+ .tao-tooltip--bottom[data-v-6f3b3c11] {
377
716
  top: 100%;
378
717
  left: 50%;
379
718
  transform: translateX(-50%);
380
719
  margin-top: var(--tao-space-2);
381
720
  }
382
- .tao-tooltip--bottom[data-v-a22f010b]::after {
721
+ .tao-tooltip--bottom[data-v-6f3b3c11]::after {
383
722
  bottom: 100%;
384
723
  left: 50%;
385
724
  margin-bottom: -4px;
386
725
  margin-left: -4px;
387
726
  }
388
- .tao-tooltip--left[data-v-a22f010b] {
727
+ .tao-tooltip--left[data-v-6f3b3c11] {
389
728
  right: 100%;
390
729
  top: 50%;
391
730
  transform: translateY(-50%);
392
731
  margin-right: var(--tao-space-2);
393
732
  }
394
- .tao-tooltip--left[data-v-a22f010b]::after {
733
+ .tao-tooltip--left[data-v-6f3b3c11]::after {
395
734
  right: 0;
396
735
  top: 50%;
397
736
  margin-top: -4px;
398
737
  margin-right: -4px;
399
738
  }
400
- .tao-tooltip--right[data-v-a22f010b] {
739
+ .tao-tooltip--right[data-v-6f3b3c11] {
401
740
  left: 100%;
402
741
  top: 50%;
403
742
  transform: translateY(-50%);
404
743
  margin-left: var(--tao-space-2);
405
744
  }
406
- .tao-tooltip--right[data-v-a22f010b]::after {
745
+ .tao-tooltip--right[data-v-6f3b3c11]::after {
407
746
  left: 0;
408
747
  top: 50%;
409
748
  margin-top: -4px;
410
749
  margin-left: -4px;
411
750
  }
412
- .tao-tooltip-fade-enter-active[data-v-a22f010b],
413
- .tao-tooltip-fade-leave-active[data-v-a22f010b] {
751
+ .tao-tooltip-fade-enter-active[data-v-6f3b3c11],
752
+ .tao-tooltip-fade-leave-active[data-v-6f3b3c11] {
414
753
  transition: opacity var(--tao-duration-base) var(--tao-ease-base),
415
754
  transform var(--tao-duration-base) var(--tao-ease-base);
416
755
  }
@@ -419,33 +758,33 @@ to {
419
758
  поверх базового центрирующего transform каждой позиции — иначе
420
759
  общий translateX(-50%) конфликтует с left/right, где центрирование
421
760
  идёт по вертикали (translateY(-50%)), и блок "убегает" в сторону. */
422
- .tao-tooltip--top.tao-tooltip-fade-enter-from[data-v-a22f010b],
423
- .tao-tooltip--top.tao-tooltip-fade-leave-to[data-v-a22f010b] {
761
+ .tao-tooltip--top.tao-tooltip-fade-enter-from[data-v-6f3b3c11],
762
+ .tao-tooltip--top.tao-tooltip-fade-leave-to[data-v-6f3b3c11] {
424
763
  opacity: 0;
425
764
  transform: translateX(-50%) translateY(4px);
426
765
  }
427
- .tao-tooltip--bottom.tao-tooltip-fade-enter-from[data-v-a22f010b],
428
- .tao-tooltip--bottom.tao-tooltip-fade-leave-to[data-v-a22f010b] {
766
+ .tao-tooltip--bottom.tao-tooltip-fade-enter-from[data-v-6f3b3c11],
767
+ .tao-tooltip--bottom.tao-tooltip-fade-leave-to[data-v-6f3b3c11] {
429
768
  opacity: 0;
430
769
  transform: translateX(-50%) translateY(-4px);
431
770
  }
432
- .tao-tooltip--left.tao-tooltip-fade-enter-from[data-v-a22f010b],
433
- .tao-tooltip--left.tao-tooltip-fade-leave-to[data-v-a22f010b] {
771
+ .tao-tooltip--left.tao-tooltip-fade-enter-from[data-v-6f3b3c11],
772
+ .tao-tooltip--left.tao-tooltip-fade-leave-to[data-v-6f3b3c11] {
434
773
  opacity: 0;
435
774
  transform: translateY(-50%) translateX(4px);
436
775
  }
437
- .tao-tooltip--right.tao-tooltip-fade-enter-from[data-v-a22f010b],
438
- .tao-tooltip--right.tao-tooltip-fade-leave-to[data-v-a22f010b] {
776
+ .tao-tooltip--right.tao-tooltip-fade-enter-from[data-v-6f3b3c11],
777
+ .tao-tooltip--right.tao-tooltip-fade-leave-to[data-v-6f3b3c11] {
439
778
  opacity: 0;
440
779
  transform: translateY(-50%) translateX(-4px);
441
780
  }
442
781
 
443
- .tao-spoiler[data-v-061480fb] {
782
+ .tao-spoiler[data-v-c9f4d962] {
444
783
  border: 1px solid var(--tao-color-border);
445
784
  border-radius: var(--tao-radius-panel);
446
785
  overflow: hidden;
447
786
  }
448
- .tao-spoiler__header[data-v-061480fb] {
787
+ .tao-spoiler__header[data-v-c9f4d962] {
449
788
  display: flex;
450
789
  align-items: center;
451
790
  gap: var(--tao-space-2);
@@ -457,10 +796,10 @@ to {
457
796
  cursor: pointer;
458
797
  text-align: left;
459
798
  }
460
- .tao-spoiler__header[data-v-061480fb]:hover {
799
+ .tao-spoiler__header[data-v-c9f4d962]:hover {
461
800
  background: var(--tao-color-surface-hover);
462
801
  }
463
- .tao-spoiler__icon[data-v-061480fb] {
802
+ .tao-spoiler__icon[data-v-c9f4d962] {
464
803
  display: inline-flex;
465
804
  align-items: center;
466
805
  justify-content: center;
@@ -470,30 +809,30 @@ to {
470
809
  color: var(--tao-color-accent);
471
810
  transition: transform var(--tao-duration-base) var(--tao-ease-base);
472
811
  }
473
- .tao-spoiler__icon--open[data-v-061480fb] {
812
+ .tao-spoiler__icon--open[data-v-c9f4d962] {
474
813
  transform: rotate(90deg);
475
814
  }
476
- .tao-spoiler__title[data-v-061480fb] {
815
+ .tao-spoiler__title[data-v-c9f4d962] {
477
816
  font-weight: 500;
478
817
  color: var(--tao-color-text);
479
818
  }
480
- .tao-spoiler__content[data-v-061480fb] {
819
+ .tao-spoiler__content[data-v-c9f4d962] {
481
820
  overflow: hidden;
482
821
  }
483
- .tao-spoiler-slide-enter-active[data-v-061480fb],
484
- .tao-spoiler-slide-leave-active[data-v-061480fb] {
822
+ .tao-spoiler-slide-enter-active[data-v-c9f4d962],
823
+ .tao-spoiler-slide-leave-active[data-v-c9f4d962] {
485
824
  transition: height var(--tao-duration-slow) var(--tao-ease-base);
486
825
  overflow: hidden;
487
826
  }
488
- .tao-spoiler__content-inner[data-v-061480fb] {
827
+ .tao-spoiler__content-inner[data-v-c9f4d962] {
489
828
  padding: var(--tao-space-4);
490
829
  background: var(--tao-color-surface);
491
830
  }
492
831
 
493
- .tao-copy[data-v-810f1bc7] {
832
+ .tao-copy[data-v-73a42ad9] {
494
833
  display: inline-block;
495
834
  }
496
- .tao-copy__button[data-v-810f1bc7] {
835
+ .tao-copy__button[data-v-73a42ad9] {
497
836
  padding: var(--tao-space-2) var(--tao-space-3);
498
837
  background: var(--tao-color-surface-sunken);
499
838
  border: 1px solid var(--tao-color-border-strong);
@@ -504,37 +843,40 @@ to {
504
843
  cursor: pointer;
505
844
  transition: var(--tao-transition-base);
506
845
  }
507
- .tao-copy__button[data-v-810f1bc7]:hover {
846
+ .tao-copy__button[data-v-73a42ad9]:hover {
508
847
  background: var(--tao-color-surface-hover);
509
848
  border-color: var(--tao-color-accent);
510
849
  color: var(--tao-color-accent);
511
850
  }
512
- .tao-copy__button--copied[data-v-810f1bc7] {
851
+ .tao-copy__button--copied[data-v-73a42ad9] {
513
852
  background: var(--tao-color-accent);
514
853
  border-color: var(--tao-color-accent);
515
854
  color: var(--tao-color-on-accent);
516
855
  }
517
856
 
518
- .tao-container[data-v-e2ebdf8f] {
857
+ .tao-container[data-v-4c0deb90] {
519
858
  width: 100%;
520
859
  }
521
- .tao-container--center[data-v-e2ebdf8f] {
860
+ .tao-container--center[data-v-4c0deb90] {
522
861
  margin: 0 auto;
523
862
  }
524
- .tao-container--slim[data-v-e2ebdf8f] {
863
+ .tao-container--wide[data-v-4c0deb90] {
864
+ max-width: 1120px;
865
+ }
866
+ .tao-container--slim[data-v-4c0deb90] {
525
867
  max-width: 500px;
526
868
  }
527
- .tao-container--ultra-slim[data-v-e2ebdf8f] {
869
+ .tao-container--ultra-slim[data-v-4c0deb90] {
528
870
  max-width: 400px;
529
871
  }
530
872
 
531
- .tao-space[data-v-4190f6ba] {
873
+ .tao-space[data-v-698ca712] {
532
874
  display: inline-flex;
533
875
  flex-wrap: wrap;
534
876
  column-gap: var(--tao-space-2);
535
877
  row-gap: var(--tao-space-2);
536
878
  }
537
- .tao-space--vertical[data-v-4190f6ba] {
879
+ .tao-space--vertical[data-v-698ca712] {
538
880
  flex-direction: column;
539
881
  }
540
882
 
@@ -543,72 +885,72 @@ to {
543
885
  * который нужно подключить в проекте самостоятельно — библиотека Tao
544
886
  * его не поставляет. Это осознанное соглашение (см. README).
545
887
  */
546
- .tao-icon[data-v-b561364f] {
888
+ .tao-icon[data-v-145b2cfc] {
547
889
  display: inline-flex;
548
890
  }
549
- .tao-icon__value[data-v-b561364f] {
550
- margin: var(--v2b130076);
891
+ .tao-icon__value[data-v-145b2cfc] {
892
+ margin: var(--a2e86200);
551
893
  }
552
- .tao-icon__value--invert[data-v-b561364f] {
894
+ .tao-icon__value--invert[data-v-145b2cfc] {
553
895
  filter: invert();
554
896
  }
555
897
 
556
- .tao-loader[data-v-3a29f095] {
898
+ .tao-loader[data-v-75a40018] {
557
899
  display: flex;
558
900
  align-items: center;
559
901
  justify-content: center;
560
902
  text-align: center;
561
903
  }
562
- .tao-loader--inline[data-v-3a29f095] {
904
+ .tao-loader--inline[data-v-75a40018] {
563
905
  display: inline-block;
564
906
  width: 30px;
565
907
  }
566
- .tao-loader__ellipsis[data-v-3a29f095] {
908
+ .tao-loader__ellipsis[data-v-75a40018] {
567
909
  display: block;
568
910
  position: relative;
569
911
  }
570
- .tao-loader__ellipsis div[data-v-3a29f095] {
912
+ .tao-loader__ellipsis div[data-v-75a40018] {
571
913
  position: absolute;
572
914
  top: 0;
573
915
  border-radius: var(--tao-radius-full);
574
916
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
575
917
  }
576
- .tao-loader__ellipsis div[data-v-3a29f095]:nth-child(1) {
577
- left: var(--v052ed61b);
578
- animation: tao-loader-grow-3a29f095 0.6s infinite;
918
+ .tao-loader__ellipsis div[data-v-75a40018]:nth-child(1) {
919
+ left: var(--d349d504);
920
+ animation: tao-loader-grow-75a40018 0.6s infinite;
579
921
  }
580
- .tao-loader__ellipsis div[data-v-3a29f095]:nth-child(2) {
581
- left: var(--v052ed61b);
582
- animation: tao-loader-move-3a29f095 0.6s infinite;
922
+ .tao-loader__ellipsis div[data-v-75a40018]:nth-child(2) {
923
+ left: var(--d349d504);
924
+ animation: tao-loader-move-75a40018 0.6s infinite;
583
925
  }
584
- .tao-loader__ellipsis div[data-v-3a29f095]:nth-child(3) {
585
- left: var(--v05f388d2);
586
- animation: tao-loader-move-3a29f095 0.6s infinite;
926
+ .tao-loader__ellipsis div[data-v-75a40018]:nth-child(3) {
927
+ left: var(--d1c06f96);
928
+ animation: tao-loader-move-75a40018 0.6s infinite;
587
929
  }
588
- .tao-loader__ellipsis div[data-v-3a29f095]:nth-child(4) {
589
- left: var(--bdfc57e2);
590
- animation: tao-loader-shrink-3a29f095 0.6s infinite;
930
+ .tao-loader__ellipsis div[data-v-75a40018]:nth-child(4) {
931
+ left: var(--v355d810c);
932
+ animation: tao-loader-shrink-75a40018 0.6s infinite;
591
933
  }
592
- @keyframes tao-loader-grow-3a29f095 {
934
+ @keyframes tao-loader-grow-75a40018 {
593
935
  0% { transform: scale(0);
594
936
  }
595
937
  100% { transform: scale(1);
596
938
  }
597
939
  }
598
- @keyframes tao-loader-shrink-3a29f095 {
940
+ @keyframes tao-loader-shrink-75a40018 {
599
941
  0% { transform: scale(1);
600
942
  }
601
943
  100% { transform: scale(0);
602
944
  }
603
945
  }
604
- @keyframes tao-loader-move-3a29f095 {
946
+ @keyframes tao-loader-move-75a40018 {
605
947
  0% { transform: translate(0, 0);
606
948
  }
607
- 100% { transform: translate(var(--v50ec8284), 0);
949
+ 100% { transform: translate(var(--v09447532), 0);
608
950
  }
609
951
  }
610
952
 
611
- .tao-image[data-v-8272e203] {
953
+ .tao-image[data-v-9da4bb7d] {
612
954
  position: relative;
613
955
  display: inline-block;
614
956
  width: 100%;
@@ -616,17 +958,17 @@ to {
616
958
  overflow: hidden;
617
959
  user-select: none;
618
960
  }
619
- .tao-image img[data-v-8272e203] {
961
+ .tao-image img[data-v-9da4bb7d] {
620
962
  display: block;
621
963
  width: 100%;
622
964
  height: 100%;
623
965
  object-fit: contain;
624
966
  transition: opacity var(--tao-duration-slow) var(--tao-ease-base);
625
967
  }
626
- .tao-image__img--hidden[data-v-8272e203] {
968
+ .tao-image__img--hidden[data-v-9da4bb7d] {
627
969
  opacity: 0;
628
970
  }
629
- .tao-image__img--pixelated[data-v-8272e203] {
971
+ .tao-image__img--pixelated[data-v-9da4bb7d] {
630
972
  image-rendering: optimizeSpeed;
631
973
  image-rendering: -moz-crisp-edges;
632
974
  image-rendering: -o-crisp-edges;
@@ -635,7 +977,7 @@ to {
635
977
  image-rendering: optimize-contrast;
636
978
  -ms-interpolation-mode: nearest-neighbor;
637
979
  }
638
- .tao-image__placeholder[data-v-8272e203] {
980
+ .tao-image__placeholder[data-v-9da4bb7d] {
639
981
  font-size: var(--tao-font-size-sm);
640
982
  font-family: var(--tao-font-family);
641
983
  letter-spacing: 0.01rem;
@@ -643,7 +985,7 @@ to {
643
985
  color: var(--tao-color-text-muted);
644
986
  }
645
987
 
646
- .tao-checkbox[data-v-0ece6da0] {
988
+ .tao-checkbox[data-v-f6b0e565] {
647
989
  display: flex;
648
990
  align-items: center;
649
991
  gap: var(--tao-space-2);
@@ -652,22 +994,20 @@ to {
652
994
  font-size: var(--tao-font-size-lg);
653
995
  color: var(--tao-color-text);
654
996
  }
655
- .tao-checkbox__input[data-v-0ece6da0] {
656
- display: none;
657
- }
658
- .tao-checkbox__box[data-v-0ece6da0] {
997
+ .tao-checkbox__box[data-v-f6b0e565] {
659
998
  position: relative;
660
999
  display: flex;
661
1000
  align-items: center;
662
1001
  justify-content: center;
663
1002
  width: 18px;
664
1003
  height: 18px;
1004
+ pointer-events: none;
665
1005
  background-color: var(--tao-color-surface-raised);
666
1006
  border: 2px solid var(--tao-color-border-strong);
667
1007
  border-radius: var(--tao-radius-sm);
668
1008
  transition: var(--tao-transition-base);
669
1009
  }
670
- .tao-checkbox__box[data-v-0ece6da0]::after {
1010
+ .tao-checkbox__box[data-v-f6b0e565]::after {
671
1011
  content: '';
672
1012
  display: block;
673
1013
  width: 12px;
@@ -677,29 +1017,40 @@ to {
677
1017
  transform: scale(0);
678
1018
  transition: var(--tao-transition-base);
679
1019
  }
680
- .tao-checkbox__label[data-v-0ece6da0] {
1020
+ .tao-checkbox__label[data-v-f6b0e565] {
681
1021
  font-size: var(--tao-font-size-sm);
682
1022
  white-space: nowrap;
683
1023
  color: var(--tao-color-text-muted);
684
1024
  }
685
- .tao-checkbox--disabled[data-v-0ece6da0] {
1025
+ .tao-checkbox--disabled[data-v-f6b0e565] {
686
1026
  cursor: not-allowed;
687
1027
  opacity: 0.6;
688
1028
  }
689
- .tao-checkbox__input:checked + .tao-checkbox__box[data-v-0ece6da0] {
1029
+ .tao-checkbox__input:checked + .tao-checkbox__box[data-v-f6b0e565],
1030
+ .tao-checkbox__input:indeterminate + .tao-checkbox__box[data-v-f6b0e565] {
690
1031
  border-color: var(--tao-color-accent);
691
1032
  background-color: var(--tao-color-accent);
692
1033
  }
693
- .tao-checkbox__input:checked + .tao-checkbox__box[data-v-0ece6da0]::after {
1034
+ .tao-checkbox__input:checked + .tao-checkbox__box[data-v-f6b0e565]::after {
1035
+ background-color: var(--tao-color-on-accent);
1036
+ transform: scale(1);
1037
+ }
1038
+ .tao-checkbox__input:indeterminate + .tao-checkbox__box[data-v-f6b0e565]::after {
1039
+ width: 10px;
1040
+ height: 2px;
1041
+ border-radius: 1px;
694
1042
  background-color: var(--tao-color-on-accent);
695
1043
  transform: scale(1);
696
1044
  }
697
- .tao-checkbox__input:focus-visible + .tao-checkbox__box[data-v-0ece6da0] {
1045
+ .tao-checkbox__input:focus-visible + .tao-checkbox__box[data-v-f6b0e565] {
698
1046
  outline: 2px solid var(--tao-color-accent);
699
1047
  outline-offset: 1px;
700
1048
  }
1049
+ .tao-checkbox__input[aria-invalid='true'] + .tao-checkbox__box[data-v-f6b0e565] {
1050
+ border-color: var(--tao-color-danger);
1051
+ }
701
1052
 
702
- .tao-tag[data-v-f615cf3c] {
1053
+ .tao-tag[data-v-290c0f6a] {
703
1054
  box-sizing: border-box;
704
1055
  display: inline-block;
705
1056
  height: auto;
@@ -713,57 +1064,69 @@ to {
713
1064
  border-radius: var(--tao-radius-sm);
714
1065
  transition: var(--tao-transition-base);
715
1066
  }
716
- .tao-tag--pointer[data-v-f615cf3c] {
1067
+ .tao-tag--pointer[data-v-290c0f6a] {
717
1068
  cursor: pointer;
718
1069
  user-select: none;
719
1070
  }
720
- .tao-tag--neutral[data-v-f615cf3c] {
1071
+ .tao-tag--neutral[data-v-290c0f6a] {
721
1072
  color: var(--tao-color-text);
722
1073
  background: var(--tao-color-surface-sunken);
723
1074
  border-color: var(--tao-color-border-strong);
724
1075
  }
725
- .tao-tag--success[data-v-f615cf3c] {
1076
+ .tao-tag--success[data-v-290c0f6a] {
726
1077
  color: var(--tao-color-success);
727
1078
  background: color-mix(in srgb, var(--tao-color-success) 12%, transparent);
728
1079
  border-color: color-mix(in srgb, var(--tao-color-success) 30%, transparent);
729
1080
  }
730
- .tao-tag--danger[data-v-f615cf3c] {
1081
+ .tao-tag--danger[data-v-290c0f6a],
1082
+ .tao-tag--error[data-v-290c0f6a] {
731
1083
  color: var(--tao-color-danger);
732
1084
  background: var(--tao-color-danger-subtle);
733
1085
  border-color: color-mix(in srgb, var(--tao-color-danger) 30%, transparent);
734
1086
  }
1087
+ .tao-tag--warning[data-v-290c0f6a] {
1088
+ color: var(--tao-color-warning);
1089
+ background: var(--tao-color-warning-subtle);
1090
+ border-color: color-mix(in srgb, var(--tao-color-warning) 30%, transparent);
1091
+ }
1092
+ .tao-tag--info[data-v-290c0f6a] {
1093
+ color: var(--tao-color-info);
1094
+ background: var(--tao-color-info-subtle);
1095
+ border-color: color-mix(in srgb, var(--tao-color-info) 30%, transparent);
1096
+ }
735
1097
 
736
1098
  /* variant="gap" — пустой отступ заданной высоты, без линии */
737
- .tao-divider-gap[data-v-9db02640] {
1099
+ .tao-divider-gap[data-v-8187a15d] {
738
1100
  height: 40px;
739
1101
  }
740
- .tao-divider-gap--small[data-v-9db02640] {
1102
+ .tao-divider-gap--small[data-v-8187a15d] {
741
1103
  height: 20px;
742
1104
  }
743
- .tao-divider-gap--big[data-v-9db02640] {
1105
+ .tao-divider-gap--large[data-v-8187a15d],
1106
+ .tao-divider-gap--big[data-v-8187a15d] {
744
1107
  height: 60px;
745
1108
  }
746
1109
 
747
1110
  /* variant="text" — линия с текстом посередине, затухающая по краям */
748
- .tao-divider-text[data-v-9db02640] {
1111
+ .tao-divider-text[data-v-8187a15d] {
749
1112
  display: flex;
750
1113
  align-items: center;
751
1114
  margin: var(--tao-space-5) 0;
752
1115
  padding: 0 var(--tao-space-4);
753
1116
  opacity: 0.3;
754
1117
  }
755
- .tao-divider-text__line[data-v-9db02640] {
1118
+ .tao-divider-text__line[data-v-8187a15d] {
756
1119
  flex: 1;
757
1120
  height: 1px;
758
1121
  border-top: 1px dashed var(--tao-color-border-strong);
759
1122
  }
760
- .tao-divider-text__line--left[data-v-9db02640] {
1123
+ .tao-divider-text__line--left[data-v-8187a15d] {
761
1124
  mask: linear-gradient(90deg, transparent 0%, black 30%);
762
1125
  }
763
- .tao-divider-text__line--right[data-v-9db02640] {
1126
+ .tao-divider-text__line--right[data-v-8187a15d] {
764
1127
  mask: linear-gradient(90deg, black 70%, transparent 100%);
765
1128
  }
766
- .tao-divider-text__value[data-v-9db02640] {
1129
+ .tao-divider-text__value[data-v-8187a15d] {
767
1130
  padding: 0 var(--tao-space-4);
768
1131
  font-size: var(--tao-font-size-xs);
769
1132
  font-weight: 500;
@@ -772,13 +1135,13 @@ to {
772
1135
  }
773
1136
 
774
1137
  /* variant="line" (по умолчанию) — тонкая линия с акцентным свечением по центру */
775
- .tao-divider-line[data-v-9db02640] {
1138
+ .tao-divider-line[data-v-8187a15d] {
776
1139
  position: relative;
777
1140
  width: 100%;
778
1141
  height: 1px;
779
1142
  margin: var(--tao-space-5) auto;
780
1143
  }
781
- .tao-divider-line[data-v-9db02640]::before {
1144
+ .tao-divider-line[data-v-8187a15d]::before {
782
1145
  content: '';
783
1146
  position: absolute;
784
1147
  top: 0;
@@ -789,7 +1152,7 @@ to {
789
1152
  background-image: linear-gradient(to right, transparent, var(--tao-color-accent), transparent);
790
1153
  }
791
1154
 
792
- .tao-animated-border[data-v-4ca22c09] {
1155
+ .tao-animated-border[data-v-f1534571] {
793
1156
  background: var(--tao-color-surface-raised);
794
1157
  position: relative;
795
1158
  z-index: 0;
@@ -799,7 +1162,7 @@ to {
799
1162
  /* Размытая копия рамки позади — даёт эффект свечения (glow).
800
1163
  Рендерится только при light: по умолчанию компонент — просто
801
1164
  переливающийся контур, без сияния, выходящего за его пределы. */
802
- .tao-animated-border--light[data-v-4ca22c09]::before {
1165
+ .tao-animated-border--light[data-v-f1534571]::before {
803
1166
  content: '';
804
1167
  position: absolute;
805
1168
  inset: calc(-1 * var(--tao-animated-border-width));
@@ -809,13 +1172,13 @@ to {
809
1172
  filter: blur(var(--tao-animated-border-glow));
810
1173
  opacity: 0.65;
811
1174
  z-index: -2;
812
- animation: tao-animated-border-gradient-4ca22c09 var(--tao-animated-border-speed) ease alternate infinite;
1175
+ animation: tao-animated-border-gradient-f1534571 var(--tao-animated-border-speed) ease alternate infinite;
813
1176
  }
814
1177
 
815
1178
  /* Сама рамка: заливка на всю область, но CSS mask вырезает внутреннюю
816
1179
  часть — остаётся только полоса шириной borderWidth по периметру,
817
1180
  поэтому получается контур, а не закрашенный прямоугольник. */
818
- .tao-animated-border[data-v-4ca22c09]::after {
1181
+ .tao-animated-border[data-v-f1534571]::after {
819
1182
  content: '';
820
1183
  position: absolute;
821
1184
  inset: calc(-1 * var(--tao-animated-border-width));
@@ -832,9 +1195,9 @@ to {
832
1195
  linear-gradient(#000 0 0);
833
1196
  mask-composite: exclude;
834
1197
  z-index: -1;
835
- animation: tao-animated-border-gradient-4ca22c09 var(--tao-animated-border-speed) ease alternate infinite;
1198
+ animation: tao-animated-border-gradient-f1534571 var(--tao-animated-border-speed) ease alternate infinite;
836
1199
  }
837
- @keyframes tao-animated-border-gradient-4ca22c09 {
1200
+ @keyframes tao-animated-border-gradient-f1534571 {
838
1201
  0% {
839
1202
  background-position: 0% 50%;
840
1203
  }
@@ -846,9 +1209,15 @@ to {
846
1209
  }
847
1210
  }
848
1211
 
849
- .tao-textarea[data-v-a56ad167] {
850
- width: 100%;
851
- min-height: 31px;
1212
+ .tao-textarea-wrap[data-v-2534c0c4] {
1213
+ display: flex;
1214
+ flex-direction: column;
1215
+ gap: var(--tao-space-1);
1216
+ width: 100%;
1217
+ }
1218
+ .tao-textarea[data-v-2534c0c4] {
1219
+ width: 100%;
1220
+ min-height: 31px;
852
1221
  height: auto;
853
1222
  padding: var(--tao-space-2);
854
1223
  font-size: var(--tao-font-size-sm);
@@ -864,29 +1233,32 @@ to {
864
1233
  resize: vertical;
865
1234
  transition: var(--tao-transition-base);
866
1235
  }
867
- .tao-textarea[data-v-a56ad167]::placeholder {
1236
+ .tao-textarea[data-v-2534c0c4]::placeholder {
868
1237
  color: var(--tao-color-input-placeholder);
869
1238
  }
870
- .tao-textarea[data-v-a56ad167]:focus {
1239
+ .tao-textarea[data-v-2534c0c4]:focus {
871
1240
  border-color: var(--tao-color-accent);
872
1241
  }
873
- .tao-textarea--inverse[data-v-a56ad167] {
1242
+ .tao-textarea--invalid[data-v-2534c0c4] {
1243
+ border-color: var(--tao-color-danger);
1244
+ }
1245
+ .tao-textarea--inverse[data-v-2534c0c4] {
874
1246
  border-left: none;
875
1247
  border-right: 4px solid var(--tao-color-border-strong);
876
1248
  }
877
- .tao-textarea--center[data-v-a56ad167] {
1249
+ .tao-textarea--center[data-v-2534c0c4] {
878
1250
  text-align: center;
879
1251
  }
880
- .tao-textarea--no-border[data-v-a56ad167] {
1252
+ .tao-textarea--no-border[data-v-2534c0c4] {
881
1253
  border: none;
882
1254
  }
883
- .tao-textarea--no-background[data-v-a56ad167] {
1255
+ .tao-textarea--no-background[data-v-2534c0c4] {
884
1256
  background-color: transparent;
885
1257
  }
886
- .tao-textarea--no-resize[data-v-a56ad167] {
1258
+ .tao-textarea--no-resize[data-v-2534c0c4] {
887
1259
  resize: none;
888
1260
  }
889
- .tao-textarea--dummy[data-v-a56ad167] {
1261
+ .tao-textarea--dummy[data-v-2534c0c4] {
890
1262
  display: block;
891
1263
  min-height: 31px;
892
1264
  height: auto;
@@ -894,8 +1266,19 @@ to {
894
1266
  white-space: pre-wrap;
895
1267
  overflow-wrap: anywhere;
896
1268
  }
1269
+ .tao-textarea__count[data-v-2534c0c4] {
1270
+ align-self: flex-end;
1271
+ font-size: var(--tao-font-size-xs);
1272
+ line-height: 1;
1273
+ color: var(--tao-color-text-muted);
1274
+ font-variant-numeric: tabular-nums;
1275
+ user-select: none;
1276
+ }
1277
+ .tao-textarea__count--limit[data-v-2534c0c4] {
1278
+ color: var(--tao-color-danger);
1279
+ }
897
1280
 
898
- .tao-scroll-top[data-v-a6b96e61] {
1281
+ .tao-scroll-top[data-v-ce902f42] {
899
1282
  overflow: hidden;
900
1283
  position: fixed;
901
1284
  display: flex;
@@ -910,13 +1293,13 @@ to {
910
1293
  box-shadow: var(--tao-shadow-md);
911
1294
  user-select: none;
912
1295
  }
913
- .tao-scroll-top[data-v-a6b96e61]:hover {
1296
+ .tao-scroll-top[data-v-ce902f42]:hover {
914
1297
  background-color: var(--tao-color-accent-hover);
915
1298
  }
916
- .tao-scroll-top--no-outline[data-v-a6b96e61] {
1299
+ .tao-scroll-top--no-outline[data-v-ce902f42] {
917
1300
  outline: none;
918
1301
  }
919
- .tao-scroll-top__content[data-v-a6b96e61] {
1302
+ .tao-scroll-top__content[data-v-ce902f42] {
920
1303
  position: relative;
921
1304
  width: 100%;
922
1305
  height: 100%;
@@ -924,11 +1307,11 @@ to {
924
1307
  align-items: center;
925
1308
  justify-content: center;
926
1309
  }
927
- .tao-scroll-top__icon[data-v-a6b96e61] {
1310
+ .tao-scroll-top__icon[data-v-ce902f42] {
928
1311
  position: relative;
929
1312
  z-index: 1;
930
1313
  }
931
- .tao-scroll-top__ripple[data-v-a6b96e61] {
1314
+ .tao-scroll-top__ripple[data-v-ce902f42] {
932
1315
  position: absolute;
933
1316
  border-radius: var(--tao-radius-full);
934
1317
  background-color: var(--tao-color-accent-subtle-hover);
@@ -936,283 +1319,1958 @@ to {
936
1319
  opacity: 0;
937
1320
  pointer-events: none;
938
1321
  }
939
- .tao-scroll-top__ripple--active[data-v-a6b96e61] {
940
- animation: tao-scroll-top-ripple-a6b96e61 0.75s ease-out;
1322
+ .tao-scroll-top__ripple--active[data-v-ce902f42] {
1323
+ animation: tao-scroll-top-ripple-ce902f42 0.75s ease-out;
941
1324
  }
942
- .tao-scroll-top-fade-enter-active[data-v-a6b96e61],
943
- .tao-scroll-top-fade-leave-active[data-v-a6b96e61] {
1325
+ .tao-scroll-top-fade-enter-active[data-v-ce902f42],
1326
+ .tao-scroll-top-fade-leave-active[data-v-ce902f42] {
944
1327
  transition: opacity var(--tao-duration-base) var(--tao-ease-base),
945
1328
  transform var(--tao-duration-base) var(--tao-ease-base);
946
1329
  }
947
- .tao-scroll-top-fade-enter-from[data-v-a6b96e61],
948
- .tao-scroll-top-fade-leave-to[data-v-a6b96e61] {
1330
+ .tao-scroll-top-fade-enter-from[data-v-ce902f42],
1331
+ .tao-scroll-top-fade-leave-to[data-v-ce902f42] {
949
1332
  opacity: 0;
950
1333
  transform: translateY(40px);
951
1334
  }
952
- @keyframes tao-scroll-top-ripple-a6b96e61 {
1335
+ @keyframes tao-scroll-top-ripple-ce902f42 {
1336
+ from {
1337
+ opacity: 1;
1338
+ }
1339
+ to {
1340
+ transform: scale(2);
1341
+ opacity: 0;
1342
+ }
1343
+ }
1344
+
1345
+ .tao-progress[data-v-54c13718] {
1346
+ width: 100%;
1347
+ }
1348
+ .tao-progress__container[data-v-54c13718] {
1349
+ display: flex;
1350
+ align-items: center;
1351
+ gap: var(--tao-space-3);
1352
+ width: 100%;
1353
+ }
1354
+ .tao-progress__container--over[data-v-54c13718] {
1355
+ align-items: flex-end;
1356
+ }
1357
+ .tao-progress__main[data-v-54c13718] {
1358
+ flex: 1;
1359
+ min-width: 0;
1360
+ display: flex;
1361
+ flex-direction: column;
1362
+ gap: var(--tao-space-1);
1363
+ }
1364
+ .tao-progress__track[data-v-54c13718] {
1365
+ width: 100%;
1366
+ border: 1px solid var(--tao-color-border);
1367
+ border-radius: var(--tao-radius-sm);
1368
+ background-color: var(--tao-color-surface-sunken);
1369
+ overflow: hidden;
1370
+ position: relative;
1371
+ }
1372
+ .tao-progress__fill[data-v-54c13718] {
1373
+ height: 100%;
1374
+ border-radius: var(--tao-radius-sm);
1375
+ transition: width var(--tao-duration-slow) var(--tao-ease-base);
1376
+ background: var(--tao-color-accent);
1377
+ }
1378
+ .tao-progress__side[data-v-54c13718] {
1379
+ display: inline-flex;
1380
+ flex-shrink: 0;
1381
+ align-items: baseline;
1382
+ gap: var(--tao-space-1);
1383
+ font-size: var(--tao-font-size-xs);
1384
+ font-variant-numeric: tabular-nums;
1385
+ line-height: 1;
1386
+ white-space: nowrap;
1387
+ color: var(--tao-color-text-muted);
1388
+ }
1389
+ .tao-progress__percentage[data-v-54c13718] {
1390
+ font-weight: 600;
1391
+ font-variant-numeric: tabular-nums;
1392
+ font-size: var(--tao-font-size-xs);
1393
+ line-height: 1;
1394
+ color: var(--tao-color-text-muted);
1395
+ }
1396
+ .tao-progress__main > .tao-progress__percentage[data-v-54c13718] {
1397
+ width: 100%;
1398
+ text-align: center;
1399
+ }
1400
+ .tao-progress__fill--animated[data-v-54c13718] {
1401
+ background: linear-gradient(
1402
+ 90deg,
1403
+ var(--tao-color-accent) 0%,
1404
+ var(--tao-color-accent-hover) 50%,
1405
+ var(--tao-color-accent) 100%
1406
+ );
1407
+ background-size: 200% 100%;
1408
+ animation: tao-progress-shimmer-54c13718 2s infinite;
1409
+ }
1410
+ @keyframes tao-progress-shimmer-54c13718 {
1411
+ 0% { background-position: -200% 0;
1412
+ }
1413
+ 100% { background-position: 200% 0;
1414
+ }
1415
+ }
1416
+
1417
+ .tao-slider[data-v-241d1042] {
1418
+ position: relative;
1419
+ width: 100%;
1420
+ height: 14px;
1421
+ cursor: pointer;
1422
+ user-select: none;
1423
+ }
1424
+ .tao-slider[data-v-241d1042]:focus {
1425
+ outline: none;
1426
+ }
1427
+ .tao-slider[data-v-241d1042]:focus-visible {
1428
+ outline: 2px solid var(--tao-color-accent);
1429
+ outline-offset: 4px;
1430
+ border-radius: var(--tao-radius-sm);
1431
+ }
1432
+ .tao-slider--show-value[data-v-241d1042] {
1433
+ height: 20px;
1434
+ }
1435
+ .tao-slider--disabled[data-v-241d1042] {
1436
+ cursor: not-allowed;
1437
+ opacity: 0.6;
1438
+ }
1439
+ .tao-slider--disabled .tao-slider__thumb[data-v-241d1042] {
1440
+ cursor: not-allowed;
1441
+ }
1442
+ .tao-slider__track[data-v-241d1042] {
1443
+ position: absolute;
1444
+ top: 0;
1445
+ left: 0;
1446
+ width: 100%;
1447
+ height: 100%;
1448
+ border-radius: var(--tao-radius-sm);
1449
+ background-color: var(--tao-color-surface-sunken);
1450
+ }
1451
+ .tao-slider__fill[data-v-241d1042] {
1452
+ position: absolute;
1453
+ top: 0;
1454
+ left: 0;
1455
+ height: 100%;
1456
+ background-color: var(--tao-color-accent);
1457
+ border-radius: var(--tao-radius-sm);
1458
+ }
1459
+ .tao-slider__thumb[data-v-241d1042] {
1460
+ position: absolute;
1461
+ top: 50%;
1462
+ width: 20px;
1463
+ height: 20px;
1464
+ background-color: var(--tao-color-accent);
1465
+ border: 2px solid var(--tao-color-surface-sunken);
1466
+ border-radius: var(--tao-radius-full);
1467
+ transform: translate(-50%, -50%);
1468
+ cursor: grab;
1469
+ }
1470
+ .tao-slider__thumb[data-v-241d1042]:active {
1471
+ cursor: grabbing;
1472
+ }
1473
+ .tao-slider__value[data-v-241d1042],
1474
+ .tao-slider__shadow-input[data-v-241d1042] {
1475
+ position: absolute;
1476
+ inset: 0;
1477
+ display: flex;
1478
+ align-items: center;
1479
+ justify-content: center;
1480
+ width: 100%;
1481
+ height: 100%;
1482
+ font-size: var(--tao-font-size-sm);
1483
+ font-weight: 900;
1484
+ letter-spacing: 0.05em;
1485
+ }
1486
+ .tao-slider__value[data-v-241d1042] {
1487
+ color: var(--tao-color-text-strong);
1488
+ text-shadow: -1px -1px 0 var(--tao-color-bg), 1px -1px 0 var(--tao-color-bg),
1489
+ -1px 1px 0 var(--tao-color-bg), 1px 1px 0 var(--tao-color-bg);
1490
+ }
1491
+ .tao-slider__shadow-input[data-v-241d1042] {
1492
+ text-align: center;
1493
+ border: none;
1494
+ background: transparent;
1495
+ color: var(--tao-color-text-strong);
1496
+ font-family: inherit;
1497
+ outline: none;
1498
+ }
1499
+
1500
+ .tao-file-drop[data-v-3543419a] {
1501
+ display: flex;
1502
+ gap: var(--tao-space-3);
1503
+ user-select: none;
1504
+ }
1505
+ .tao-file-drop__clear[data-v-3543419a] {
1506
+ display: flex;
1507
+ align-items: center;
1508
+ justify-content: center;
1509
+ width: 55px;
1510
+ text-align: center;
1511
+ border: 2px dashed var(--tao-color-danger);
1512
+ border-radius: var(--tao-radius-panel);
1513
+ color: var(--tao-color-danger);
1514
+ background-color: var(--tao-color-danger-subtle);
1515
+ cursor: pointer;
1516
+ font-family: inherit;
1517
+ transition: var(--tao-transition-base);
1518
+ }
1519
+ .tao-file-drop__clear[data-v-3543419a]:hover {
1520
+ background-color: color-mix(in srgb, var(--tao-color-danger) 22%, transparent);
1521
+ }
1522
+ .tao-file-drop__zone[data-v-3543419a] {
1523
+ flex-grow: 1;
1524
+ font-size: var(--tao-font-size-sm);
1525
+ font-family: var(--tao-font-family);
1526
+ letter-spacing: 0.01rem;
1527
+ text-align: center;
1528
+ color: var(--tao-color-text-muted);
1529
+ border: 2px dashed var(--tao-color-border-strong);
1530
+ border-radius: var(--tao-radius-panel);
1531
+ cursor: pointer;
1532
+ transition: var(--tao-transition-base);
1533
+ }
1534
+ .tao-file-drop__zone[data-v-3543419a]:hover,
1535
+ .tao-file-drop__zone[data-v-3543419a]:focus-within {
1536
+ background-color: var(--tao-color-accent-subtle);
1537
+ border-color: var(--tao-color-accent);
1538
+ }
1539
+ .tao-file-drop__zone--dragging[data-v-3543419a] {
1540
+ border-color: var(--tao-color-text-strong);
1541
+ background-color: var(--tao-color-surface-sunken);
1542
+ }
1543
+ .tao-file-drop__zone--small[data-v-3543419a] {
1544
+ padding: var(--tao-space-5) var(--tao-space-4);
1545
+ }
1546
+ .tao-file-drop__zone--medium[data-v-3543419a] {
1547
+ padding: var(--tao-space-8) var(--tao-space-5);
1548
+ }
1549
+ .tao-file-drop__zone--large[data-v-3543419a] {
1550
+ padding: var(--tao-space-10) var(--tao-space-6);
1551
+ }
1552
+
1553
+ .tao-dropdown-menu__list {
1554
+ z-index: 1050;
1555
+ position: fixed;
1556
+ min-width: 120px;
1557
+ display: flex;
1558
+ flex-direction: column;
1559
+ font-size: var(--tao-font-size-md);
1560
+ color: var(--tao-color-text);
1561
+ background-color: var(--tao-color-surface-raised);
1562
+ border: 1px solid var(--tao-color-border);
1563
+ border-radius: var(--tao-radius-control);
1564
+ box-shadow: var(--tao-shadow-md);
1565
+ }
1566
+ .tao-dropdown-menu__list:focus {
1567
+ outline: none;
1568
+ }
1569
+ .tao-dropdown-menu__list .tao-dropdown-menu__item {
1570
+ padding: var(--tao-space-2) var(--tao-space-4);
1571
+ border: none;
1572
+ border-radius: 0;
1573
+ background: none;
1574
+ color: inherit;
1575
+ font: inherit;
1576
+ text-align: left;
1577
+ white-space: nowrap;
1578
+ cursor: pointer;
1579
+ user-select: none;
1580
+ transition: var(--tao-transition-base);
1581
+ }
1582
+ .tao-dropdown-menu__list .tao-dropdown-menu__item:not(:last-child) {
1583
+ border-bottom: 1px solid var(--tao-color-border);
1584
+ }
1585
+ .tao-dropdown-menu__list .tao-dropdown-menu__item:hover,
1586
+ .tao-dropdown-menu__list .tao-dropdown-menu__item--active {
1587
+ color: var(--tao-color-accent);
1588
+ background-color: var(--tao-color-surface-hover);
1589
+ }
1590
+
1591
+ .tao-dropdown-menu[data-v-420a7e63] {
1592
+ position: relative;
1593
+ display: inline-block;
1594
+ }
1595
+ .tao-dropdown-menu__button[data-v-420a7e63] {
1596
+ padding: var(--tao-space-2);
1597
+ color: var(--tao-color-text);
1598
+ border: none;
1599
+ border-radius: var(--tao-radius-control);
1600
+ background: none;
1601
+ cursor: pointer;
1602
+ user-select: none;
1603
+ font: inherit;
1604
+ line-height: 1;
1605
+ transition: var(--tao-transition-base);
1606
+ }
1607
+ .tao-dropdown-menu__button[data-v-420a7e63]:hover {
1608
+ background: var(--tao-color-surface-hover);
1609
+ }
1610
+ .tao-dropdown-menu__button[data-v-420a7e63]:focus-visible {
1611
+ outline: 2px solid var(--tao-color-accent);
1612
+ outline-offset: 2px;
1613
+ }
1614
+
1615
+ .tao-pin-code[data-v-c3182673] {
1616
+ display: inline-flex;
1617
+ user-select: none;
1618
+ }
1619
+ .tao-pin-code__value[data-v-c3182673] {
1620
+ width: 50px;
1621
+ height: 56px;
1622
+ margin: 2px;
1623
+ border: 3px solid var(--tao-color-border-strong);
1624
+ border-radius: var(--tao-radius-md);
1625
+ font-size: 21px;
1626
+ font-weight: 500;
1627
+ font-family: inherit;
1628
+ text-align: center;
1629
+ letter-spacing: 0;
1630
+ color: var(--tao-color-accent);
1631
+ background: var(--tao-color-input-bg);
1632
+ transition: var(--tao-transition-base);
1633
+ cursor: text;
1634
+ outline: none;
1635
+ }
1636
+ .tao-pin-code__value--active[data-v-c3182673],
1637
+ .tao-pin-code__value[data-v-c3182673]:focus {
1638
+ border-color: var(--tao-color-accent);
1639
+ }
1640
+ .tao-pin-code__value--invalid[data-v-c3182673] {
1641
+ border-color: var(--tao-color-danger);
1642
+ }
1643
+
1644
+ .tao-form-field[data-v-11324f0c] {
1645
+ display: flex;
1646
+ flex-direction: column;
1647
+ gap: var(--tao-space-1);
1648
+ width: 100%;
1649
+ }
1650
+ .tao-form-field__label[data-v-11324f0c] {
1651
+ font-size: var(--tao-font-size-sm);
1652
+ color: var(--tao-color-text);
1653
+ font-weight: 500;
1654
+ }
1655
+ .tao-form-field__hint[data-v-11324f0c] {
1656
+ margin: 0;
1657
+ font-size: var(--tao-font-size-xs);
1658
+ color: var(--tao-color-text-muted);
1659
+ }
1660
+ .tao-form-field__error[data-v-11324f0c] {
1661
+ margin: 0;
1662
+ font-size: var(--tao-font-size-xs);
1663
+ color: var(--tao-color-danger);
1664
+ }
1665
+
1666
+ .tao-select__panel {
1667
+ z-index: 1050;
1668
+ position: fixed;
1669
+ overflow: hidden;
1670
+ background: var(--tao-color-surface-raised);
1671
+ color: var(--tao-color-text);
1672
+ border: 1px solid var(--tao-color-border);
1673
+ border-radius: var(--tao-radius-control);
1674
+ box-shadow: var(--tao-shadow-overlay);
1675
+ }
1676
+ .tao-select__list {
1677
+ margin: 0;
1678
+ padding: var(--tao-space-1);
1679
+ max-height: 240px;
1680
+ overflow: auto;
1681
+ list-style: none;
1682
+ }
1683
+ .tao-select__list:focus {
1684
+ outline: none;
1685
+ }
1686
+ .tao-select__clear {
1687
+ display: block;
1688
+ width: 100%;
1689
+ margin: 0;
1690
+ padding: var(--tao-space-2) var(--tao-space-3);
1691
+ border: none;
1692
+ border-top: 1px solid var(--tao-color-border);
1693
+ background: none;
1694
+ color: var(--tao-color-text-muted);
1695
+ font: inherit;
1696
+ font-size: var(--tao-font-size-sm);
1697
+ text-align: left;
1698
+ cursor: pointer;
1699
+ }
1700
+ .tao-select__clear:hover {
1701
+ color: var(--tao-color-accent);
1702
+ background: var(--tao-color-surface-hover);
1703
+ }
1704
+ .tao-select__option {
1705
+ padding: var(--tao-space-2) var(--tao-space-3);
1706
+ border-radius: var(--tao-radius-sm);
1707
+ font-size: var(--tao-font-size-md);
1708
+ cursor: pointer;
1709
+ user-select: none;
1710
+ }
1711
+ .tao-select__option--active,
1712
+ .tao-select__option:hover:not(.tao-select__option--disabled) {
1713
+ background: var(--tao-color-surface-hover);
1714
+ }
1715
+ .tao-select__option--selected {
1716
+ color: var(--tao-color-accent);
1717
+ }
1718
+ .tao-select__option--disabled {
1719
+ opacity: 0.5;
1720
+ cursor: not-allowed;
1721
+ }
1722
+
1723
+ .tao-select[data-v-42551757] {
1724
+ width: 100%;
1725
+ }
1726
+ .tao-select__trigger[data-v-42551757] {
1727
+ display: flex;
1728
+ align-items: center;
1729
+ justify-content: space-between;
1730
+ gap: var(--tao-space-2);
1731
+ width: 100%;
1732
+ min-height: 36px;
1733
+ padding: var(--tao-space-2) var(--tao-space-3);
1734
+ border: 1px solid var(--tao-color-border-strong);
1735
+ border-radius: var(--tao-radius-control);
1736
+ background: var(--tao-color-input-bg);
1737
+ color: var(--tao-color-input-text);
1738
+ font-size: var(--tao-font-size-md);
1739
+ font-family: inherit;
1740
+ text-align: left;
1741
+ cursor: pointer;
1742
+ transition: var(--tao-transition-base);
1743
+ }
1744
+ .tao-select__trigger--placeholder[data-v-42551757] {
1745
+ color: var(--tao-color-input-placeholder);
1746
+ }
1747
+ .tao-select__trigger[data-v-42551757]:focus {
1748
+ outline: none;
1749
+ border-color: var(--tao-color-accent);
1750
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
1751
+ }
1752
+ .tao-select--invalid .tao-select__trigger[data-v-42551757] {
1753
+ border-color: var(--tao-color-danger);
1754
+ }
1755
+ .tao-select--invalid .tao-select__trigger[data-v-42551757]:focus {
1756
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
1757
+ }
1758
+ .tao-select__trigger[data-v-42551757]:disabled {
1759
+ opacity: 0.6;
1760
+ cursor: not-allowed;
1761
+ }
1762
+ .tao-select__value[data-v-42551757] {
1763
+ min-width: 0;
1764
+ overflow: hidden;
1765
+ text-overflow: ellipsis;
1766
+ white-space: nowrap;
1767
+ }
1768
+ .tao-select__chevron[data-v-42551757] {
1769
+ flex-shrink: 0;
1770
+ width: 0;
1771
+ height: 0;
1772
+ border-left: 4px solid transparent;
1773
+ border-right: 4px solid transparent;
1774
+ border-top: 5px solid currentColor;
1775
+ opacity: 0.6;
1776
+ transition: transform var(--tao-duration-fast) var(--tao-ease-base);
1777
+ }
1778
+ .tao-select--open .tao-select__chevron[data-v-42551757] {
1779
+ transform: rotate(180deg);
1780
+ }
1781
+
1782
+ .tao-date__panel {
1783
+ z-index: 1050;
1784
+ position: fixed;
1785
+ box-sizing: border-box;
1786
+ width: 280px;
1787
+ padding: var(--tao-space-3);
1788
+ background: var(--tao-color-surface-raised);
1789
+ color: var(--tao-color-text);
1790
+ border: 1px solid var(--tao-color-border);
1791
+ border-radius: var(--tao-radius-control);
1792
+ box-shadow: var(--tao-shadow-overlay);
1793
+ }
1794
+ .tao-date__header {
1795
+ display: flex;
1796
+ align-items: center;
1797
+ gap: var(--tao-space-2);
1798
+ margin-bottom: var(--tao-space-3);
1799
+ }
1800
+ .tao-date__month {
1801
+ flex: 1;
1802
+ margin: 0;
1803
+ font-size: var(--tao-font-size-md);
1804
+ font-weight: 600;
1805
+ text-align: center;
1806
+ color: var(--tao-color-text-strong);
1807
+ }
1808
+ .tao-date__nav {
1809
+ display: inline-flex;
1810
+ flex: 0 0 auto;
1811
+ align-items: center;
1812
+ justify-content: center;
1813
+ width: 28px;
1814
+ height: 28px;
1815
+ margin: 0;
1816
+ padding: 0;
1817
+ border: 1px solid var(--tao-color-border);
1818
+ border-radius: var(--tao-radius-full);
1819
+ background: var(--tao-color-surface-sunken);
1820
+ color: var(--tao-color-text);
1821
+ cursor: pointer;
1822
+ }
1823
+ .tao-date__nav svg {
1824
+ display: block;
1825
+ }
1826
+ .tao-date__nav:hover {
1827
+ background: var(--tao-color-surface-hover);
1828
+ }
1829
+ .tao-date__nav:focus-visible {
1830
+ outline: 2px solid var(--tao-color-accent);
1831
+ outline-offset: 2px;
1832
+ }
1833
+ .tao-date__weekdays,
1834
+ .tao-date__grid {
1835
+ display: grid;
1836
+ grid-template-columns: repeat(7, 1fr);
1837
+ gap: 2px;
1838
+ }
1839
+ .tao-date__weekdays {
1840
+ margin-bottom: var(--tao-space-1);
1841
+ }
1842
+ .tao-date__weekdays span {
1843
+ display: flex;
1844
+ align-items: center;
1845
+ justify-content: center;
1846
+ height: 24px;
1847
+ color: var(--tao-color-text-muted);
1848
+ font-size: var(--tao-font-size-xs);
1849
+ text-transform: lowercase;
1850
+ }
1851
+ .tao-date__day {
1852
+ display: flex;
1853
+ align-items: center;
1854
+ justify-content: center;
1855
+ width: 100%;
1856
+ aspect-ratio: 1;
1857
+ margin: 0;
1858
+ padding: 0;
1859
+ border: 1px solid transparent;
1860
+ border-radius: var(--tao-radius-sm);
1861
+ background: transparent;
1862
+ color: var(--tao-color-text);
1863
+ font: inherit;
1864
+ font-size: var(--tao-font-size-sm);
1865
+ cursor: pointer;
1866
+ }
1867
+ .tao-date__day--outside {
1868
+ color: var(--tao-color-text-muted);
1869
+ opacity: 0.55;
1870
+ }
1871
+ .tao-date__day--today {
1872
+ border-color: var(--tao-color-accent);
1873
+ }
1874
+ .tao-date__day--selected {
1875
+ background: var(--tao-color-accent);
1876
+ color: var(--tao-color-on-accent);
1877
+ opacity: 1;
1878
+ }
1879
+ .tao-date__day--cursor:not(.tao-date__day--selected) {
1880
+ background: var(--tao-color-surface-hover);
1881
+ }
1882
+ .tao-date__day:hover:not(:disabled):not(.tao-date__day--selected) {
1883
+ background: var(--tao-color-surface-hover);
1884
+ }
1885
+ .tao-date__day:disabled {
1886
+ opacity: 0.35;
1887
+ cursor: not-allowed;
1888
+ }
1889
+ .tao-date__day:focus-visible {
1890
+ outline: 2px solid var(--tao-color-accent);
1891
+ outline-offset: 1px;
1892
+ }
1893
+ .tao-date__footer {
1894
+ display: flex;
1895
+ justify-content: space-between;
1896
+ gap: var(--tao-space-2);
1897
+ margin-top: var(--tao-space-3);
1898
+ }
1899
+ .tao-date__link {
1900
+ margin: 0;
1901
+ padding: 0;
1902
+ border: 0;
1903
+ background: none;
1904
+ color: var(--tao-color-accent);
1905
+ font: inherit;
1906
+ font-size: var(--tao-font-size-sm);
1907
+ cursor: pointer;
1908
+ }
1909
+ .tao-date__link:hover:not(:disabled) {
1910
+ color: var(--tao-color-accent-hover);
1911
+ }
1912
+ .tao-date__link:disabled {
1913
+ color: var(--tao-color-text-muted);
1914
+ cursor: not-allowed;
1915
+ }
1916
+ .tao-date__link:focus-visible {
1917
+ outline: 2px solid var(--tao-color-accent);
1918
+ outline-offset: 2px;
1919
+ }
1920
+
1921
+ .tao-date[data-v-4227e5f8] {
1922
+ width: 100%;
1923
+ }
1924
+ .tao-date__trigger[data-v-4227e5f8] {
1925
+ display: flex;
1926
+ align-items: center;
1927
+ justify-content: space-between;
1928
+ gap: var(--tao-space-2);
1929
+ width: 100%;
1930
+ min-height: 36px;
1931
+ padding: var(--tao-space-2) var(--tao-space-3);
1932
+ border: 1px solid var(--tao-color-border-strong);
1933
+ border-radius: var(--tao-radius-control);
1934
+ background: var(--tao-color-input-bg);
1935
+ color: var(--tao-color-input-text);
1936
+ font-size: var(--tao-font-size-md);
1937
+ font-family: inherit;
1938
+ text-align: left;
1939
+ cursor: pointer;
1940
+ transition: var(--tao-transition-base);
1941
+ }
1942
+ .tao-date__trigger--placeholder[data-v-4227e5f8] {
1943
+ color: var(--tao-color-input-placeholder);
1944
+ }
1945
+ .tao-date__trigger[data-v-4227e5f8]:focus {
1946
+ outline: none;
1947
+ border-color: var(--tao-color-accent);
1948
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
1949
+ }
1950
+ .tao-date--invalid .tao-date__trigger[data-v-4227e5f8] {
1951
+ border-color: var(--tao-color-danger);
1952
+ }
1953
+ .tao-date--invalid .tao-date__trigger[data-v-4227e5f8]:focus {
1954
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
1955
+ }
1956
+ .tao-date__trigger[data-v-4227e5f8]:disabled {
1957
+ opacity: 0.6;
1958
+ cursor: not-allowed;
1959
+ }
1960
+ .tao-date__value[data-v-4227e5f8] {
1961
+ min-width: 0;
1962
+ overflow: hidden;
1963
+ text-overflow: ellipsis;
1964
+ white-space: nowrap;
1965
+ }
1966
+ .tao-date__icon[data-v-4227e5f8] {
1967
+ flex-shrink: 0;
1968
+ opacity: 0.7;
1969
+ }
1970
+
1971
+ .tao-switch[data-v-db2bca61] {
1972
+ display: inline-flex;
1973
+ align-items: center;
1974
+ gap: var(--tao-space-2);
1975
+ cursor: pointer;
1976
+ user-select: none;
1977
+ color: var(--tao-color-text);
1978
+ }
1979
+ .tao-switch__input[data-v-db2bca61] {
1980
+ position: absolute;
1981
+ width: 1px;
1982
+ height: 1px;
1983
+ padding: 0;
1984
+ margin: -1px;
1985
+ overflow: hidden;
1986
+ clip: rect(0, 0, 0, 0);
1987
+ white-space: nowrap;
1988
+ border: 0;
1989
+ }
1990
+ .tao-switch__track[data-v-db2bca61] {
1991
+ position: relative;
1992
+ display: inline-flex;
1993
+ flex-shrink: 0;
1994
+ align-items: center;
1995
+ width: 36px;
1996
+ height: 20px;
1997
+ padding: 2px;
1998
+ pointer-events: none;
1999
+ background: var(--tao-color-surface-sunken);
2000
+ border: 1px solid var(--tao-color-border-strong);
2001
+ border-radius: var(--tao-radius-full);
2002
+ transition: var(--tao-transition-base);
2003
+ }
2004
+ .tao-switch__thumb[data-v-db2bca61] {
2005
+ width: 14px;
2006
+ height: 14px;
2007
+ background: var(--tao-color-text-muted);
2008
+ border-radius: var(--tao-radius-full);
2009
+ transform: translateX(0);
2010
+ transition: var(--tao-transition-base);
2011
+ }
2012
+ .tao-switch--on .tao-switch__track[data-v-db2bca61] {
2013
+ background: var(--tao-color-accent);
2014
+ border-color: var(--tao-color-accent);
2015
+ }
2016
+ .tao-switch--on .tao-switch__thumb[data-v-db2bca61] {
2017
+ background: var(--tao-color-on-accent);
2018
+ transform: translateX(16px);
2019
+ }
2020
+ .tao-switch__input:focus-visible + .tao-switch__track[data-v-db2bca61] {
2021
+ outline: 2px solid var(--tao-color-accent);
2022
+ outline-offset: 2px;
2023
+ }
2024
+ .tao-switch__label[data-v-db2bca61] {
2025
+ font-size: var(--tao-font-size-sm);
2026
+ color: var(--tao-color-text);
2027
+ }
2028
+ .tao-switch--disabled[data-v-db2bca61] {
2029
+ cursor: not-allowed;
2030
+ opacity: 0.6;
2031
+ }
2032
+
2033
+ .tao-radio[data-v-c9c84481] {
2034
+ display: inline-flex;
2035
+ align-items: center;
2036
+ gap: var(--tao-space-2);
2037
+ cursor: pointer;
2038
+ user-select: none;
2039
+ color: var(--tao-color-text);
2040
+ }
2041
+ .tao-radio__input[data-v-c9c84481] {
2042
+ position: absolute;
2043
+ width: 1px;
2044
+ height: 1px;
2045
+ padding: 0;
2046
+ margin: -1px;
2047
+ overflow: hidden;
2048
+ clip: rect(0, 0, 0, 0);
2049
+ white-space: nowrap;
2050
+ border: 0;
2051
+ }
2052
+ .tao-radio__dot[data-v-c9c84481] {
2053
+ position: relative;
2054
+ display: inline-flex;
2055
+ flex-shrink: 0;
2056
+ align-items: center;
2057
+ justify-content: center;
2058
+ width: 18px;
2059
+ height: 18px;
2060
+ pointer-events: none;
2061
+ background: var(--tao-color-surface-raised);
2062
+ border: 2px solid var(--tao-color-border-strong);
2063
+ border-radius: var(--tao-radius-full);
2064
+ transition: var(--tao-transition-base);
2065
+ }
2066
+ .tao-radio__dot[data-v-c9c84481]::after {
2067
+ content: '';
2068
+ width: 8px;
2069
+ height: 8px;
2070
+ background: transparent;
2071
+ border-radius: var(--tao-radius-full);
2072
+ transform: scale(0);
2073
+ transition: var(--tao-transition-base);
2074
+ }
2075
+ .tao-radio__input:checked + .tao-radio__dot[data-v-c9c84481] {
2076
+ border-color: var(--tao-color-accent);
2077
+ }
2078
+ .tao-radio__input:checked + .tao-radio__dot[data-v-c9c84481]::after {
2079
+ background: var(--tao-color-accent);
2080
+ transform: scale(1);
2081
+ }
2082
+ .tao-radio__input:focus-visible + .tao-radio__dot[data-v-c9c84481] {
2083
+ outline: 2px solid var(--tao-color-accent);
2084
+ outline-offset: 1px;
2085
+ }
2086
+ .tao-radio__label[data-v-c9c84481] {
2087
+ font-size: var(--tao-font-size-sm);
2088
+ color: var(--tao-color-text);
2089
+ }
2090
+ .tao-radio--disabled[data-v-c9c84481] {
2091
+ cursor: not-allowed;
2092
+ opacity: 0.6;
2093
+ }
2094
+
2095
+ .tao-radio-group[data-v-a0b1cb1f] {
2096
+ display: flex;
2097
+ flex-wrap: wrap;
2098
+ gap: var(--tao-space-3) var(--tao-space-4);
2099
+ margin: 0;
2100
+ padding: 0;
2101
+ border: none;
2102
+ min-width: 0;
2103
+ }
2104
+ .tao-radio-group--column[data-v-a0b1cb1f] {
2105
+ flex-direction: column;
2106
+ align-items: flex-start;
2107
+ }
2108
+ .tao-radio-group__legend[data-v-a0b1cb1f] {
2109
+ padding: 0;
2110
+ margin-bottom: var(--tao-space-2);
2111
+ font-size: var(--tao-font-size-sm);
2112
+ font-weight: 500;
2113
+ color: var(--tao-color-text);
2114
+ }
2115
+
2116
+ .tao-alert[data-v-4c89fa1f] {
2117
+ --tao-alert-tone: var(--tao-color-info);
2118
+
2119
+ display: flex;
2120
+ align-items: flex-start;
2121
+ gap: var(--tao-space-3);
2122
+ width: 100%;
2123
+ padding: var(--tao-space-3) var(--tao-space-4);
2124
+ background: color-mix(in srgb, var(--tao-alert-tone) 10%, var(--tao-color-surface-raised));
2125
+ color: var(--tao-color-text);
2126
+ border: 1px solid color-mix(in srgb, var(--tao-alert-tone) 35%, var(--tao-color-border));
2127
+ border-radius: var(--tao-radius-panel);
2128
+ }
2129
+ .tao-alert--success[data-v-4c89fa1f] {
2130
+ --tao-alert-tone: var(--tao-color-success);
2131
+ }
2132
+ .tao-alert--error[data-v-4c89fa1f],
2133
+ .tao-alert--danger[data-v-4c89fa1f] {
2134
+ --tao-alert-tone: var(--tao-color-danger);
2135
+ }
2136
+ .tao-alert--warning[data-v-4c89fa1f] {
2137
+ --tao-alert-tone: var(--tao-color-warning);
2138
+ }
2139
+ .tao-alert--info[data-v-4c89fa1f] {
2140
+ --tao-alert-tone: var(--tao-color-info);
2141
+ }
2142
+ .tao-alert--neutral[data-v-4c89fa1f] {
2143
+ --tao-alert-tone: var(--tao-color-text-muted);
2144
+ }
2145
+ .tao-alert__body[data-v-4c89fa1f] {
2146
+ display: flex;
2147
+ flex-direction: column;
2148
+ gap: var(--tao-space-1);
2149
+ min-width: 0;
2150
+ flex: 1;
2151
+ }
2152
+ .tao-alert__title[data-v-4c89fa1f] {
2153
+ font-size: var(--tao-font-size-md);
2154
+ font-weight: 600;
2155
+ color: var(--tao-color-text-strong);
2156
+ }
2157
+ .tao-alert__message[data-v-4c89fa1f] {
2158
+ margin: 0;
2159
+ font-size: var(--tao-font-size-sm);
2160
+ line-height: 1.45;
2161
+ color: var(--tao-color-text);
2162
+ }
2163
+ .tao-alert__close[data-v-4c89fa1f] {
2164
+ flex-shrink: 0;
2165
+ margin: calc(-1 * var(--tao-space-1)) calc(-1 * var(--tao-space-2)) 0 0;
2166
+ padding: 0;
2167
+ border: none;
2168
+ background: none;
2169
+ color: var(--tao-color-text-muted);
2170
+ font-size: 20px;
2171
+ line-height: 1;
2172
+ cursor: pointer;
2173
+ }
2174
+ .tao-alert__close[data-v-4c89fa1f]:hover {
2175
+ color: var(--tao-color-text-strong);
2176
+ }
2177
+
2178
+ .tao-table-wrap[data-v-5ce586b8] {
2179
+ position: relative;
2180
+ width: 100%;
2181
+ overflow: auto;
2182
+ border: 1px solid var(--tao-color-border);
2183
+ border-radius: var(--tao-radius-panel);
2184
+ background: var(--tao-color-surface);
2185
+ }
2186
+ .tao-table-wrap--loading[data-v-5ce586b8] {
2187
+ min-height: 120px;
2188
+ }
2189
+ .tao-table[data-v-5ce586b8] {
2190
+ width: 100%;
2191
+ border-collapse: collapse;
2192
+ font-size: var(--tao-font-size-md);
2193
+ color: var(--tao-color-text);
2194
+ }
2195
+ .tao-table caption[data-v-5ce586b8] {
2196
+ caption-side: top;
2197
+ padding: var(--tao-space-3) var(--tao-space-4);
2198
+ text-align: left;
2199
+ font-size: var(--tao-font-size-sm);
2200
+ color: var(--tao-color-text-muted);
2201
+ }
2202
+ .tao-table th[data-v-5ce586b8],
2203
+ .tao-table td[data-v-5ce586b8] {
2204
+ padding: var(--tao-space-3) var(--tao-space-4);
2205
+ border-bottom: 1px solid var(--tao-color-border);
2206
+ vertical-align: middle;
2207
+ }
2208
+ .tao-table--compact th[data-v-5ce586b8],
2209
+ .tao-table--compact td[data-v-5ce586b8] {
2210
+ padding: var(--tao-space-2) var(--tao-space-3);
2211
+ font-size: var(--tao-font-size-sm);
2212
+ }
2213
+ .tao-table th[data-v-5ce586b8] {
2214
+ font-weight: 600;
2215
+ font-size: var(--tao-font-size-sm);
2216
+ color: var(--tao-color-text-muted);
2217
+ background: var(--tao-color-surface-raised);
2218
+ white-space: nowrap;
2219
+ text-align: left;
2220
+ }
2221
+ .tao-table--sticky thead th[data-v-5ce586b8] {
2222
+ position: sticky;
2223
+ top: 0;
2224
+ z-index: 1;
2225
+ }
2226
+ .tao-table tbody tr:last-child td[data-v-5ce586b8] {
2227
+ border-bottom: none;
2228
+ }
2229
+ .tao-table--striped tbody tr:nth-child(even) td[data-v-5ce586b8] {
2230
+ background: var(--tao-color-surface-sunken);
2231
+ }
2232
+ .tao-table--hover tbody tr:hover td[data-v-5ce586b8] {
2233
+ background: var(--tao-color-surface-hover);
2234
+ }
2235
+ .tao-table--clickable tbody tr[data-v-5ce586b8] {
2236
+ cursor: pointer;
2237
+ }
2238
+ .tao-table__sort-btn[data-v-5ce586b8] {
2239
+ display: inline-flex;
2240
+ align-items: center;
2241
+ gap: var(--tao-space-2);
2242
+ margin: 0;
2243
+ padding: 0;
2244
+ border: 0;
2245
+ background: none;
2246
+ color: inherit;
2247
+ font: inherit;
2248
+ font-weight: 600;
2249
+ cursor: pointer;
2250
+ }
2251
+ .tao-table__sort-btn[data-v-5ce586b8]:focus-visible {
2252
+ outline: 2px solid var(--tao-color-accent);
2253
+ outline-offset: 2px;
2254
+ border-radius: var(--tao-radius-control);
2255
+ }
2256
+ .tao-table__sorter[data-v-5ce586b8] {
2257
+ position: relative;
2258
+ width: 8px;
2259
+ height: 12px;
2260
+ opacity: 0.35;
2261
+ }
2262
+ .tao-table__sorter[data-v-5ce586b8]::before,
2263
+ .tao-table__sorter[data-v-5ce586b8]::after {
2264
+ content: '';
2265
+ position: absolute;
2266
+ left: 0;
2267
+ border-left: 4px solid transparent;
2268
+ border-right: 4px solid transparent;
2269
+ }
2270
+ .tao-table__sorter[data-v-5ce586b8]::before {
2271
+ top: 0;
2272
+ border-bottom: 4px solid currentColor;
2273
+ }
2274
+ .tao-table__sorter[data-v-5ce586b8]::after {
2275
+ bottom: 0;
2276
+ border-top: 4px solid currentColor;
2277
+ }
2278
+ .tao-table__sorter--asc[data-v-5ce586b8],
2279
+ .tao-table__sorter--desc[data-v-5ce586b8] {
2280
+ opacity: 1;
2281
+ color: var(--tao-color-accent);
2282
+ }
2283
+ .tao-table__sorter--asc[data-v-5ce586b8]::after,
2284
+ .tao-table__sorter--desc[data-v-5ce586b8]::before {
2285
+ opacity: 0.25;
2286
+ }
2287
+ .tao-table__empty[data-v-5ce586b8] {
2288
+ padding: var(--tao-space-8) var(--tao-space-4);
2289
+ text-align: center;
2290
+ color: var(--tao-color-text-muted);
2291
+ }
2292
+ .tao-table__loading[data-v-5ce586b8] {
2293
+ position: absolute;
2294
+ inset: 0;
2295
+ display: flex;
2296
+ align-items: center;
2297
+ justify-content: center;
2298
+ background: color-mix(in srgb, var(--tao-color-surface) 72%, transparent);
2299
+ }
2300
+
2301
+ .tao-pagination[data-v-fd69be36] {
2302
+ display: flex;
2303
+ flex-wrap: wrap;
2304
+ align-items: center;
2305
+ justify-content: space-between;
2306
+ gap: var(--tao-space-3);
2307
+ width: 100%;
2308
+ }
2309
+ .tao-pagination__total[data-v-fd69be36] {
2310
+ margin: 0;
2311
+ font-size: var(--tao-font-size-sm);
2312
+ color: var(--tao-color-text-muted);
2313
+ }
2314
+ .tao-pagination__pages[data-v-fd69be36] {
2315
+ display: flex;
2316
+ flex-wrap: wrap;
2317
+ align-items: center;
2318
+ gap: var(--tao-space-1);
2319
+ }
2320
+ .tao-pagination__btn[data-v-fd69be36] {
2321
+ display: inline-flex;
2322
+ align-items: center;
2323
+ justify-content: center;
2324
+ min-width: 36px;
2325
+ height: 36px;
2326
+ padding: 0 var(--tao-space-2);
2327
+ border: 1px solid var(--tao-color-border-strong);
2328
+ border-radius: var(--tao-radius-control);
2329
+ background: var(--tao-color-surface-sunken);
2330
+ color: var(--tao-color-text);
2331
+ font-family: inherit;
2332
+ font-size: var(--tao-font-size-md);
2333
+ line-height: 1;
2334
+ cursor: pointer;
2335
+ transition: var(--tao-transition-base);
2336
+ }
2337
+ .tao-pagination--small .tao-pagination__btn[data-v-fd69be36] {
2338
+ min-width: 28px;
2339
+ height: 28px;
2340
+ font-size: var(--tao-font-size-xs);
2341
+ }
2342
+ .tao-pagination__btn[data-v-fd69be36]:hover:not(:disabled) {
2343
+ background: var(--tao-color-surface-hover);
2344
+ color: var(--tao-color-text-strong);
2345
+ }
2346
+ .tao-pagination__btn[data-v-fd69be36]:focus-visible {
2347
+ outline: none;
2348
+ border-color: var(--tao-color-accent);
2349
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
2350
+ }
2351
+ .tao-pagination__btn--current[data-v-fd69be36] {
2352
+ background: var(--tao-color-accent);
2353
+ border-color: var(--tao-color-accent);
2354
+ color: var(--tao-color-on-accent);
2355
+ }
2356
+ .tao-pagination__btn--current[data-v-fd69be36]:hover:not(:disabled) {
2357
+ background: var(--tao-color-accent-hover);
2358
+ color: var(--tao-color-on-accent);
2359
+ }
2360
+ .tao-pagination__btn--jump[data-v-fd69be36] {
2361
+ color: var(--tao-color-text-muted);
2362
+ }
2363
+ .tao-pagination__btn[data-v-fd69be36]:disabled {
2364
+ opacity: 0.5;
2365
+ cursor: not-allowed;
2366
+ }
2367
+ .tao-pagination__ellipsis[data-v-fd69be36] {
2368
+ display: inline-flex;
2369
+ align-items: center;
2370
+ justify-content: center;
2371
+ min-width: 24px;
2372
+ color: var(--tao-color-text-muted);
2373
+ user-select: none;
2374
+ }
2375
+
2376
+ .tao-empty[data-v-8056884d] {
2377
+ display: flex;
2378
+ flex-direction: column;
2379
+ align-items: center;
2380
+ justify-content: center;
2381
+ gap: var(--tao-space-2);
2382
+ padding: var(--tao-space-8) var(--tao-space-4);
2383
+ text-align: center;
2384
+ }
2385
+ .tao-empty__icon[data-v-8056884d] {
2386
+ color: var(--tao-color-text-muted);
2387
+ font-size: 32px;
2388
+ line-height: 1;
2389
+ }
2390
+ .tao-empty__title[data-v-8056884d] {
2391
+ margin: 0;
2392
+ font-size: var(--tao-font-size-lg);
2393
+ font-weight: 600;
2394
+ color: var(--tao-color-text-strong);
2395
+ }
2396
+ .tao-empty__text[data-v-8056884d] {
2397
+ margin: 0;
2398
+ max-width: 36ch;
2399
+ font-size: var(--tao-font-size-sm);
2400
+ color: var(--tao-color-text-muted);
2401
+ line-height: 1.5;
2402
+ }
2403
+ .tao-empty__action[data-v-8056884d] {
2404
+ margin-top: var(--tao-space-2);
2405
+ }
2406
+
2407
+ .tao-skeleton-group[data-v-e75c3ca1] {
2408
+ display: flex;
2409
+ flex-direction: column;
2410
+ gap: var(--tao-space-2);
2411
+ width: 100%;
2412
+ }
2413
+ .tao-skeleton[data-v-e75c3ca1] {
2414
+ display: block;
2415
+ background: var(--tao-color-surface-sunken);
2416
+ border-radius: var(--tao-radius-control);
2417
+ animation: tao-skeleton-pulse-e75c3ca1 1.2s var(--tao-ease-base) infinite;
2418
+ }
2419
+ .tao-skeleton--text[data-v-e75c3ca1] {
2420
+ height: 12px;
2421
+ width: 100%;
2422
+ }
2423
+ .tao-skeleton--text[data-v-e75c3ca1]:last-child:not(:only-child) {
2424
+ width: 72%;
2425
+ }
2426
+ .tao-skeleton--title[data-v-e75c3ca1] {
2427
+ height: 20px;
2428
+ width: 40%;
2429
+ border-radius: var(--tao-radius-control);
2430
+ }
2431
+ .tao-skeleton--circle[data-v-e75c3ca1] {
2432
+ width: 40px;
2433
+ height: 40px;
2434
+ border-radius: var(--tao-radius-full);
2435
+ }
2436
+ .tao-skeleton--rect[data-v-e75c3ca1] {
2437
+ width: 100%;
2438
+ height: 80px;
2439
+ border-radius: var(--tao-radius-panel);
2440
+ }
2441
+ @keyframes tao-skeleton-pulse-e75c3ca1 {
2442
+ 0%,
2443
+ 100% {
2444
+ opacity: 0.55;
2445
+ }
2446
+ 50% {
2447
+ opacity: 1;
2448
+ }
2449
+ }
2450
+
2451
+ .tao-drawer[data-v-6a0c0e98] {
2452
+ position: fixed;
2453
+ inset: 0;
2454
+ z-index: 1000;
2455
+ display: flex;
2456
+ }
2457
+ .tao-drawer--right[data-v-6a0c0e98] {
2458
+ justify-content: flex-end;
2459
+ }
2460
+ .tao-drawer--left[data-v-6a0c0e98] {
2461
+ justify-content: flex-start;
2462
+ }
2463
+ .tao-drawer__overlay[data-v-6a0c0e98] {
2464
+ position: absolute;
2465
+ inset: 0;
2466
+ background: var(--tao-color-overlay);
2467
+ }
2468
+ .tao-drawer__panel[data-v-6a0c0e98] {
2469
+ position: relative;
2470
+ display: flex;
2471
+ flex-direction: column;
2472
+ width: min(360px, 100%);
2473
+ height: 100%;
2474
+ background: var(--tao-color-surface-raised);
2475
+ box-shadow: var(--tao-shadow-overlay);
2476
+ }
2477
+ .tao-drawer__panel[data-v-6a0c0e98]:focus {
2478
+ outline: none;
2479
+ }
2480
+ .tao-drawer__header[data-v-6a0c0e98] {
2481
+ display: flex;
2482
+ align-items: center;
2483
+ justify-content: space-between;
2484
+ gap: var(--tao-space-3);
2485
+ padding: var(--tao-space-4);
2486
+ border-bottom: 1px solid var(--tao-color-border);
2487
+ }
2488
+ .tao-drawer__title[data-v-6a0c0e98] {
2489
+ margin: 0;
2490
+ font-size: var(--tao-font-size-lg);
2491
+ font-weight: 600;
2492
+ color: var(--tao-color-text-strong);
2493
+ }
2494
+ .tao-drawer__close[data-v-6a0c0e98] {
2495
+ background: none;
2496
+ border: none;
2497
+ padding: 0;
2498
+ font-size: 24px;
2499
+ line-height: 1;
2500
+ color: var(--tao-color-text);
2501
+ cursor: pointer;
2502
+ }
2503
+ .tao-drawer__close[data-v-6a0c0e98]:hover {
2504
+ color: var(--tao-color-text-strong);
2505
+ }
2506
+ .tao-drawer__close[data-v-6a0c0e98]:focus-visible {
2507
+ outline: 2px solid var(--tao-color-accent);
2508
+ outline-offset: 2px;
2509
+ border-radius: var(--tao-radius-control);
2510
+ }
2511
+ .tao-drawer__content[data-v-6a0c0e98] {
2512
+ flex: 1;
2513
+ min-height: 0;
2514
+ overflow: auto;
2515
+ padding: var(--tao-space-4);
2516
+ }
2517
+ .tao-drawer__footer[data-v-6a0c0e98] {
2518
+ padding: var(--tao-space-4);
2519
+ border-top: 1px solid var(--tao-color-border);
2520
+ display: flex;
2521
+ gap: var(--tao-space-3);
2522
+ justify-content: flex-end;
2523
+ }
2524
+ .tao-drawer-right-enter-active[data-v-6a0c0e98],
2525
+ .tao-drawer-right-leave-active[data-v-6a0c0e98],
2526
+ .tao-drawer-left-enter-active[data-v-6a0c0e98],
2527
+ .tao-drawer-left-leave-active[data-v-6a0c0e98] {
2528
+ transition: opacity var(--tao-duration-base) var(--tao-ease-base);
2529
+ }
2530
+ .tao-drawer-right-enter-active .tao-drawer__panel[data-v-6a0c0e98],
2531
+ .tao-drawer-right-leave-active .tao-drawer__panel[data-v-6a0c0e98],
2532
+ .tao-drawer-left-enter-active .tao-drawer__panel[data-v-6a0c0e98],
2533
+ .tao-drawer-left-leave-active .tao-drawer__panel[data-v-6a0c0e98] {
2534
+ transition: transform var(--tao-duration-slow) var(--tao-ease-base);
2535
+ }
2536
+ .tao-drawer-right-enter-from[data-v-6a0c0e98],
2537
+ .tao-drawer-right-leave-to[data-v-6a0c0e98],
2538
+ .tao-drawer-left-enter-from[data-v-6a0c0e98],
2539
+ .tao-drawer-left-leave-to[data-v-6a0c0e98] {
2540
+ opacity: 0;
2541
+ }
2542
+ .tao-drawer-right-enter-from .tao-drawer__panel[data-v-6a0c0e98],
2543
+ .tao-drawer-right-leave-to .tao-drawer__panel[data-v-6a0c0e98] {
2544
+ transform: translateX(100%);
2545
+ }
2546
+ .tao-drawer-left-enter-from .tao-drawer__panel[data-v-6a0c0e98],
2547
+ .tao-drawer-left-leave-to .tao-drawer__panel[data-v-6a0c0e98] {
2548
+ transform: translateX(-100%);
2549
+ }
2550
+
2551
+ .tao-avatar[data-v-cb4ec893] {
2552
+ position: relative;
2553
+ display: inline-flex;
2554
+ flex-shrink: 0;
2555
+ user-select: none;
2556
+ }
2557
+ .tao-avatar__face[data-v-cb4ec893] {
2558
+ display: flex;
2559
+ align-items: center;
2560
+ justify-content: center;
2561
+ overflow: hidden;
2562
+ width: 100%;
2563
+ height: 100%;
2564
+ background: var(--tao-color-accent-subtle);
2565
+ color: var(--tao-color-accent);
2566
+ border-radius: var(--tao-radius-full);
2567
+ font-weight: 600;
2568
+ line-height: 1;
2569
+ }
2570
+ .tao-avatar--s[data-v-cb4ec893] {
2571
+ width: 24px;
2572
+ height: 24px;
2573
+ font-size: 10px;
2574
+ }
2575
+ .tao-avatar--m[data-v-cb4ec893] {
2576
+ width: 32px;
2577
+ height: 32px;
2578
+ font-size: var(--tao-font-size-xs);
2579
+ }
2580
+ .tao-avatar--l[data-v-cb4ec893] {
2581
+ width: 48px;
2582
+ height: 48px;
2583
+ font-size: var(--tao-font-size-md);
2584
+ }
2585
+ .tao-avatar__img[data-v-cb4ec893] {
2586
+ width: 100%;
2587
+ height: 100%;
2588
+ object-fit: cover;
2589
+ }
2590
+ .tao-avatar__fallback[data-v-cb4ec893] {
2591
+ display: flex;
2592
+ align-items: center;
2593
+ justify-content: center;
2594
+ width: 100%;
2595
+ height: 100%;
2596
+ }
2597
+ .tao-avatar__dot[data-v-cb4ec893] {
2598
+ position: absolute;
2599
+ right: -1px;
2600
+ bottom: -1px;
2601
+ box-sizing: border-box;
2602
+ border: 2px solid var(--tao-color-bg);
2603
+ border-radius: var(--tao-radius-full);
2604
+ background: var(--tao-color-success);
2605
+ }
2606
+ .tao-avatar--s .tao-avatar__dot[data-v-cb4ec893] {
2607
+ width: 8px;
2608
+ height: 8px;
2609
+ border-width: 1px;
2610
+ }
2611
+ .tao-avatar--m .tao-avatar__dot[data-v-cb4ec893] {
2612
+ width: 10px;
2613
+ height: 10px;
2614
+ }
2615
+ .tao-avatar--l .tao-avatar__dot[data-v-cb4ec893] {
2616
+ width: 12px;
2617
+ height: 12px;
2618
+ }
2619
+ .tao-avatar__dot--success[data-v-cb4ec893] {
2620
+ background: var(--tao-color-success);
2621
+ }
2622
+ .tao-avatar__dot--danger[data-v-cb4ec893] {
2623
+ background: var(--tao-color-danger);
2624
+ }
2625
+ .tao-avatar__dot--warning[data-v-cb4ec893] {
2626
+ background: var(--tao-color-warning);
2627
+ }
2628
+ .tao-avatar__dot--info[data-v-cb4ec893] {
2629
+ background: var(--tao-color-info);
2630
+ }
2631
+ .tao-avatar__dot--neutral[data-v-cb4ec893] {
2632
+ background: var(--tao-color-text-muted);
2633
+ }
2634
+ .tao-avatar__badge[data-v-cb4ec893] {
2635
+ position: absolute;
2636
+ top: -6px;
2637
+ right: -6px;
2638
+ z-index: 1;
2639
+ box-sizing: border-box;
2640
+ min-width: 16px;
2641
+ height: 16px;
2642
+ padding: 0 4px;
2643
+ display: inline-flex;
2644
+ align-items: center;
2645
+ justify-content: center;
2646
+ border: 2px solid var(--tao-color-bg);
2647
+ border-radius: var(--tao-radius-full);
2648
+ background: var(--tao-color-danger);
2649
+ color: var(--tao-color-text-strong);
2650
+ font-size: 10px;
2651
+ font-weight: 700;
2652
+ line-height: 1;
2653
+ }
2654
+ .tao-avatar--s .tao-avatar__badge[data-v-cb4ec893] {
2655
+ top: -5px;
2656
+ right: -5px;
2657
+ min-width: 14px;
2658
+ height: 14px;
2659
+ padding: 0 3px;
2660
+ font-size: 9px;
2661
+ }
2662
+ .tao-avatar--l .tao-avatar__badge[data-v-cb4ec893] {
2663
+ min-width: 18px;
2664
+ height: 18px;
2665
+ font-size: 11px;
2666
+ }
2667
+
2668
+ .tao-breadcrumb__list[data-v-48cf9bb5] {
2669
+ display: flex;
2670
+ flex-wrap: wrap;
2671
+ align-items: center;
2672
+ gap: var(--tao-space-1);
2673
+ margin: 0;
2674
+ padding: 0;
2675
+ list-style: none;
2676
+ font-size: var(--tao-font-size-sm);
2677
+ }
2678
+ .tao-breadcrumb__item[data-v-48cf9bb5] {
2679
+ display: inline-flex;
2680
+ align-items: center;
2681
+ gap: var(--tao-space-1);
2682
+ }
2683
+ .tao-breadcrumb__sep[data-v-48cf9bb5] {
2684
+ color: var(--tao-color-text-muted);
2685
+ }
2686
+ .tao-breadcrumb__link[data-v-48cf9bb5] {
2687
+ color: var(--tao-color-text-muted);
2688
+ }
2689
+ .tao-breadcrumb__current[data-v-48cf9bb5] {
2690
+ color: var(--tao-color-text-strong);
2691
+ font-weight: 500;
2692
+ }
2693
+
2694
+ .tao-counter[data-v-6b746f2f] {
2695
+ display: inline-flex;
2696
+ color: var(--tao-color-accent);
2697
+ font-size: 28px;
2698
+ font-weight: 700;
2699
+ font-variant-numeric: tabular-nums;
2700
+ line-height: 1;
2701
+ }
2702
+ .tao-counter__row[data-v-6b746f2f] {
2703
+ display: inline-flex;
2704
+ gap: 3px;
2705
+ }
2706
+ .tao-counter__slot[data-v-6b746f2f] {
2707
+ position: relative;
2708
+ overflow: hidden;
2709
+ width: 1.15em;
2710
+ height: 1.55em;
2711
+ border-radius: var(--tao-radius-sm);
2712
+ background: var(--tao-color-surface-sunken);
2713
+ }
2714
+ .tao-counter__slot--space[data-v-6b746f2f] {
2715
+ width: 0.28em;
2716
+ background: transparent;
2717
+ }
2718
+ .tao-counter__digit[data-v-6b746f2f] {
2719
+ position: absolute;
2720
+ inset: 0;
2721
+ display: flex;
2722
+ align-items: center;
2723
+ justify-content: center;
2724
+ }
2725
+ .tao-counter__digit--muted[data-v-6b746f2f] {
2726
+ color: var(--tao-color-text-muted);
2727
+ opacity: 0.45;
2728
+ }
2729
+ .tao-digit-enter-from[data-v-6b746f2f] {
2730
+ transform: translateY(100%) rotateX(-90deg);
2731
+ filter: blur(8px);
2732
+ opacity: 0;
2733
+ }
2734
+ .tao-digit-leave-to[data-v-6b746f2f] {
2735
+ transform: translateY(-100%) rotateX(90deg);
2736
+ filter: blur(8px);
2737
+ opacity: 0;
2738
+ }
2739
+ .tao-digit-enter-active[data-v-6b746f2f],
2740
+ .tao-digit-leave-active[data-v-6b746f2f] {
2741
+ transition:
2742
+ transform var(--tao-duration-slow) cubic-bezier(0.68, -0.55, 0.265, 1.55),
2743
+ filter var(--tao-duration-slow) var(--tao-ease-base),
2744
+ opacity var(--tao-duration-slow) var(--tao-ease-base);
2745
+ }
2746
+ @media (max-width: 450px) {
2747
+ .tao-counter[data-v-6b746f2f] {
2748
+ font-size: 22px;
2749
+ }
2750
+ }
2751
+
2752
+ .tao-carousel[data-v-173f4ce0] {
2753
+ display: flex;
2754
+ flex-direction: column;
2755
+ gap: var(--tao-space-2);
2756
+ width: 100%;
2757
+ }
2758
+ .tao-carousel__row[data-v-173f4ce0] {
2759
+ display: flex;
2760
+ align-items: center;
2761
+ gap: var(--tao-space-2);
2762
+ width: 100%;
2763
+ }
2764
+ .tao-carousel__track[data-v-173f4ce0] {
2765
+ display: flex;
2766
+ flex: 1 1 auto;
2767
+ gap: var(--tao-space-3);
2768
+ min-width: 0;
2769
+ overflow-x: auto;
2770
+ overscroll-behavior-x: contain;
2771
+ scroll-snap-type: x mandatory;
2772
+ scroll-padding-inline: 0;
2773
+ scrollbar-width: none;
2774
+ user-select: none;
2775
+ touch-action: pan-x;
2776
+ cursor: grab;
2777
+ }
2778
+ .tao-carousel__track[data-v-173f4ce0]::-webkit-scrollbar {
2779
+ display: none;
2780
+ }
2781
+ .tao-carousel__track--dragging[data-v-173f4ce0] {
2782
+ scroll-snap-type: none;
2783
+ cursor: grabbing;
2784
+ }
2785
+ .tao-carousel__track[data-v-173f4ce0]:focus-visible {
2786
+ outline: 2px solid var(--tao-color-accent);
2787
+ outline-offset: 2px;
2788
+ }
2789
+ .tao-carousel__track[data-v-173f4ce0] > * {
2790
+ box-sizing: border-box;
2791
+ flex: 0 0 auto;
2792
+ width: max(
2793
+ 96px,
2794
+ calc(
2795
+ (100% - var(--tao-carousel-peek, 0px) - (var(--tao-carousel-per-view, 1) - 1) * var(--tao-space-3)) /
2796
+ var(--tao-carousel-per-view, 1)
2797
+ )
2798
+ );
2799
+ min-width: 0;
2800
+ scroll-snap-align: start;
2801
+ }
2802
+ .tao-carousel__nav[data-v-173f4ce0] {
2803
+ display: inline-flex;
2804
+ flex: 0 0 auto;
2805
+ align-items: center;
2806
+ justify-content: center;
2807
+ width: 36px;
2808
+ height: 36px;
2809
+ margin: 0;
2810
+ padding: 0;
2811
+ border: 1px solid var(--tao-color-border-strong);
2812
+ border-radius: var(--tao-radius-full);
2813
+ background: var(--tao-color-surface-sunken);
2814
+ color: var(--tao-color-text);
2815
+ font: inherit;
2816
+ font-size: 0;
2817
+ line-height: 0;
2818
+ cursor: pointer;
2819
+ transition: var(--tao-transition-base);
2820
+ }
2821
+ .tao-carousel__nav svg[data-v-173f4ce0] {
2822
+ display: block;
2823
+ }
2824
+ .tao-carousel__nav[data-v-173f4ce0]:hover:not(:disabled) {
2825
+ background: var(--tao-color-surface-hover);
2826
+ color: var(--tao-color-text-strong);
2827
+ }
2828
+ .tao-carousel__nav[data-v-173f4ce0]:focus-visible {
2829
+ outline: 2px solid var(--tao-color-accent);
2830
+ outline-offset: 2px;
2831
+ }
2832
+ .tao-carousel__nav[data-v-173f4ce0]:disabled {
2833
+ opacity: 0.4;
2834
+ cursor: not-allowed;
2835
+ }
2836
+ .tao-carousel__dots[data-v-173f4ce0] {
2837
+ display: flex;
2838
+ flex-wrap: wrap;
2839
+ align-items: center;
2840
+ justify-content: center;
2841
+ gap: 2px;
2842
+ }
2843
+ .tao-carousel__dot[data-v-173f4ce0] {
2844
+ display: inline-flex;
2845
+ flex: 0 0 auto;
2846
+ align-items: center;
2847
+ justify-content: center;
2848
+ width: 20px;
2849
+ height: 20px;
2850
+ margin: 0;
2851
+ padding: 0;
2852
+ border: 0;
2853
+ background: transparent;
2854
+ cursor: pointer;
2855
+ }
2856
+ .tao-carousel__pip[data-v-173f4ce0] {
2857
+ display: block;
2858
+ width: 6px;
2859
+ height: 6px;
2860
+ border-radius: var(--tao-radius-full);
2861
+ background: var(--tao-color-border-strong);
2862
+ transition: width var(--tao-duration-base) var(--tao-ease-base), background var(--tao-duration-base) var(--tao-ease-base);
2863
+ }
2864
+ .tao-carousel__dot--active .tao-carousel__pip[data-v-173f4ce0] {
2865
+ width: 18px;
2866
+ background: var(--tao-color-accent);
2867
+ }
2868
+ .tao-carousel__dot:hover:not(.tao-carousel__dot--active) .tao-carousel__pip[data-v-173f4ce0] {
2869
+ background: var(--tao-color-text-muted);
2870
+ }
2871
+ .tao-carousel__dot[data-v-173f4ce0]:focus-visible {
2872
+ outline: 2px solid var(--tao-color-accent);
2873
+ outline-offset: 2px;
2874
+ border-radius: var(--tao-radius-full);
2875
+ }
2876
+ @media (prefers-reduced-motion: reduce) {
2877
+ .tao-carousel__track[data-v-173f4ce0] {
2878
+ scroll-behavior: auto;
2879
+ }
2880
+ .tao-carousel__pip[data-v-173f4ce0] {
2881
+ transition: none;
2882
+ }
2883
+ }
2884
+
2885
+ .tao-stages[data-v-fefa5c65] {
2886
+ display: flex;
2887
+ flex-direction: column;
2888
+ gap: var(--tao-space-2);
2889
+ margin: 0;
2890
+ padding: 0;
2891
+ list-style: none;
2892
+ font-size: var(--tao-font-size-xs);
2893
+ color: var(--tao-color-text);
2894
+ }
2895
+ .tao-stages--horizontal[data-v-fefa5c65] {
2896
+ flex-direction: row;
2897
+ flex-wrap: wrap;
2898
+ column-gap: var(--tao-space-4);
2899
+ }
2900
+ .tao-stages__item[data-v-fefa5c65] {
2901
+ display: flex;
2902
+ align-items: center;
2903
+ gap: var(--tao-space-2);
2904
+ min-width: 0;
2905
+ }
2906
+ .tao-stages__ico[data-v-fefa5c65] {
2907
+ display: inline-flex;
2908
+ flex: 0 0 auto;
2909
+ color: inherit;
2910
+ }
2911
+ .tao-stages__mark[data-v-fefa5c65] {
2912
+ display: block;
2913
+ }
2914
+ .tao-stages__label[data-v-fefa5c65] {
2915
+ min-width: 0;
2916
+ }
2917
+ .tao-stages__item--wait[data-v-fefa5c65] {
2918
+ color: var(--tao-color-text-muted);
2919
+ }
2920
+ .tao-stages__item--work .tao-stages__ico[data-v-fefa5c65] {
2921
+ color: var(--tao-color-accent);
2922
+ }
2923
+ .tao-stages__item--ok .tao-stages__ico[data-v-fefa5c65] {
2924
+ color: var(--tao-color-success);
2925
+ }
2926
+ .tao-stages__item--bad .tao-stages__ico[data-v-fefa5c65] {
2927
+ color: var(--tao-color-danger);
2928
+ }
2929
+ .tao-stages__item--work .tao-stages__mark[data-v-fefa5c65] {
2930
+ animation: tao-stages-spin-fefa5c65 1.1s linear infinite;
2931
+ }
2932
+ @keyframes tao-stages-spin-fefa5c65 {
2933
+ to {
2934
+ transform: rotate(360deg);
2935
+ }
2936
+ }
2937
+ @media (prefers-reduced-motion: reduce) {
2938
+ .tao-stages__item--work .tao-stages__mark[data-v-fefa5c65] {
2939
+ animation: none;
2940
+ }
2941
+ }
2942
+
2943
+ .tao-toast[data-v-c8a329f5] {
2944
+ --tao-toast-tone: var(--tao-color-accent);
2945
+
2946
+ position: relative;
2947
+ display: flex;
2948
+ align-items: flex-start;
2949
+ gap: var(--tao-space-3);
2950
+ width: min(470px, calc(100vw - 32px));
2951
+ padding: var(--tao-space-3) var(--tao-space-4);
2952
+ overflow: hidden;
2953
+ background: color-mix(in srgb, var(--tao-toast-tone) 8%, var(--tao-color-surface-raised));
2954
+ color: var(--tao-color-text);
2955
+ border: 1px solid var(--tao-color-border);
2956
+ border-radius: var(--tao-radius-panel);
2957
+ box-shadow: var(--tao-shadow-overlay);
2958
+ pointer-events: auto;
2959
+ }
2960
+ .tao-toast--success[data-v-c8a329f5] {
2961
+ --tao-toast-tone: var(--tao-color-success);
2962
+ }
2963
+ .tao-toast--error[data-v-c8a329f5],
2964
+ .tao-toast--danger[data-v-c8a329f5] {
2965
+ --tao-toast-tone: var(--tao-color-danger);
2966
+ }
2967
+ .tao-toast--warning[data-v-c8a329f5] {
2968
+ --tao-toast-tone: var(--tao-color-warning);
2969
+ }
2970
+ .tao-toast--info[data-v-c8a329f5] {
2971
+ --tao-toast-tone: var(--tao-color-info);
2972
+ }
2973
+ .tao-toast__accent[data-v-c8a329f5] {
2974
+ position: absolute;
2975
+ inset: 0 auto 0 0;
2976
+ width: 3px;
2977
+ background: var(--tao-toast-tone);
2978
+ }
2979
+ .tao-toast__icon[data-v-c8a329f5] {
2980
+ display: inline-flex;
2981
+ flex-shrink: 0;
2982
+ margin-top: 1px;
2983
+ color: var(--tao-toast-tone);
2984
+ }
2985
+ .tao-toast__body[data-v-c8a329f5] {
2986
+ display: flex;
2987
+ flex-direction: column;
2988
+ gap: var(--tao-space-1);
2989
+ min-width: 0;
2990
+ flex: 1;
2991
+ padding-right: var(--tao-space-4);
2992
+ }
2993
+ .tao-toast__title[data-v-c8a329f5] {
2994
+ font-size: var(--tao-font-size-md);
2995
+ font-weight: 600;
2996
+ color: var(--tao-color-text-strong);
2997
+ line-height: 1.3;
2998
+ }
2999
+ .tao-toast__message[data-v-c8a329f5] {
3000
+ margin: 0;
3001
+ font-size: var(--tao-font-size-sm);
3002
+ line-height: 1.45;
3003
+ color: var(--tao-color-text);
3004
+ }
3005
+ .tao-toast__actions[data-v-c8a329f5] {
3006
+ display: flex;
3007
+ flex-wrap: wrap;
3008
+ gap: var(--tao-space-2);
3009
+ margin-top: var(--tao-space-1);
3010
+ }
3011
+ .tao-toast__close[data-v-c8a329f5] {
3012
+ position: absolute;
3013
+ top: var(--tao-space-1);
3014
+ right: var(--tao-space-2);
3015
+ padding: 0;
3016
+ border: none;
3017
+ background: none;
3018
+ color: var(--tao-color-text-muted);
3019
+ font-size: 20px;
3020
+ line-height: 1;
3021
+ cursor: pointer;
3022
+ }
3023
+ .tao-toast__close[data-v-c8a329f5]:hover {
3024
+ color: var(--tao-color-text-strong);
3025
+ }
3026
+ .tao-toast__progress[data-v-c8a329f5] {
3027
+ position: absolute;
3028
+ left: 0;
3029
+ right: 0;
3030
+ bottom: 0;
3031
+ height: 2px;
3032
+ transform-origin: left center;
3033
+ background: var(--tao-toast-tone);
3034
+ animation-name: tao-toast-progress-c8a329f5;
3035
+ animation-timing-function: linear;
3036
+ animation-fill-mode: forwards;
3037
+ }
3038
+ .tao-toast--paused .tao-toast__progress[data-v-c8a329f5] {
3039
+ animation-play-state: paused;
3040
+ }
3041
+ @keyframes tao-toast-progress-c8a329f5 {
953
3042
  from {
954
- opacity: 1;
3043
+ transform: scaleX(1);
955
3044
  }
956
3045
  to {
957
- transform: scale(2);
958
- opacity: 0;
3046
+ transform: scaleX(0);
959
3047
  }
960
3048
  }
961
3049
 
962
- .tao-progress[data-v-3780642d] {
3050
+ .tao-toast-viewport[data-v-17111588] {
3051
+ position: fixed;
3052
+ z-index: 1100;
963
3053
  display: flex;
964
- justify-content: center;
965
- align-items: center;
966
- width: 100%;
3054
+ pointer-events: none;
3055
+ padding: var(--tao-space-4);
967
3056
  }
968
- .tao-progress__container[data-v-3780642d] {
969
- position: relative;
3057
+ .tao-toast-viewport__stack[data-v-17111588] {
970
3058
  display: flex;
971
- align-items: center;
972
- gap: var(--tao-space-3);
3059
+ flex-direction: column;
3060
+ gap: var(--tao-space-2);
973
3061
  width: 100%;
974
3062
  }
975
- .tao-progress__track[data-v-3780642d] {
976
- flex: 1;
977
- border: 1px solid var(--tao-color-border);
978
- border-radius: var(--tao-radius-sm);
979
- background-color: var(--tao-color-surface-sunken);
3063
+ .tao-toast-slot[data-v-17111588] {
3064
+ display: grid;
3065
+ grid-template-rows: 1fr;
3066
+ }
3067
+ .tao-toast-slot__inner[data-v-17111588] {
3068
+ min-height: 0;
980
3069
  overflow: hidden;
981
- position: relative;
982
3070
  }
983
- .tao-progress__fill[data-v-3780642d] {
984
- height: 100%;
985
- border-radius: var(--tao-radius-sm);
986
- transition: width var(--tao-duration-slow) var(--tao-ease-base);
987
- background: var(--tao-color-accent);
3071
+ .tao-toast-viewport--topRight[data-v-17111588] {
3072
+ top: 0;
3073
+ right: 0;
3074
+ align-items: flex-end;
988
3075
  }
989
- .tao-progress__side[data-v-3780642d] {
990
- min-width: 40px;
991
- font-family: 'Monaco', 'Consolas', monospace;
992
- font-size: var(--tao-font-size-xs);
993
- font-weight: bold;
994
- text-align: center;
995
- color: var(--tao-color-text);
3076
+ .tao-toast-viewport--topLeft[data-v-17111588] {
3077
+ top: 0;
3078
+ left: 0;
3079
+ align-items: flex-start;
996
3080
  }
997
- .tao-progress__percentage[data-v-3780642d] {
998
- position: absolute;
999
- top: -12px;
1000
- left: 50%;
1001
- transform: translateX(-50%);
1002
- color: var(--tao-color-text-muted);
3081
+ .tao-toast-viewport--topCenter[data-v-17111588] {
3082
+ top: 0;
3083
+ left: 0;
3084
+ right: 0;
3085
+ justify-content: center;
1003
3086
  }
1004
- .tao-progress__fill--animated[data-v-3780642d] {
1005
- background: linear-gradient(
1006
- 90deg,
1007
- var(--tao-color-accent) 0%,
1008
- var(--tao-color-accent-hover) 50%,
1009
- var(--tao-color-accent) 100%
1010
- );
1011
- background-size: 200% 100%;
1012
- animation: tao-progress-shimmer-3780642d 2s infinite;
3087
+ .tao-toast-viewport--bottomRight[data-v-17111588] {
3088
+ right: 0;
3089
+ bottom: 0;
3090
+ align-items: flex-end;
1013
3091
  }
1014
- @keyframes tao-progress-shimmer-3780642d {
1015
- 0% { background-position: -200% 0;
3092
+ .tao-toast-viewport--bottomRight .tao-toast-viewport__stack[data-v-17111588],
3093
+ .tao-toast-viewport--bottomLeft .tao-toast-viewport__stack[data-v-17111588],
3094
+ .tao-toast-viewport--bottomCenter .tao-toast-viewport__stack[data-v-17111588] {
3095
+ flex-direction: column-reverse;
1016
3096
  }
1017
- 100% { background-position: 200% 0;
3097
+ .tao-toast-viewport--bottomLeft[data-v-17111588] {
3098
+ left: 0;
3099
+ bottom: 0;
3100
+ align-items: flex-start;
1018
3101
  }
3102
+ .tao-toast-viewport--bottomCenter[data-v-17111588] {
3103
+ bottom: 0;
3104
+ left: 0;
3105
+ right: 0;
3106
+ justify-content: center;
1019
3107
  }
1020
-
1021
- .tao-slider[data-v-9f531a81] {
1022
- position: relative;
1023
- width: 100%;
1024
- height: 14px;
1025
- cursor: pointer;
1026
- user-select: none;
3108
+ .tao-toast-viewport--center[data-v-17111588] {
3109
+ inset: 0;
3110
+ justify-content: center;
3111
+ align-items: center;
1027
3112
  }
1028
- .tao-slider--show-value[data-v-9f531a81] {
1029
- height: 20px;
3113
+ .tao-toast-top-enter-active[data-v-17111588],
3114
+ .tao-toast-bottom-enter-active[data-v-17111588],
3115
+ .tao-toast-center-enter-active[data-v-17111588] {
3116
+ animation: tao-toast-bounce-in-17111588 var(--tao-duration-slow) var(--tao-ease-base);
1030
3117
  }
1031
- .tao-slider__track[data-v-9f531a81] {
1032
- position: absolute;
1033
- top: 0;
1034
- left: 0;
1035
- width: 100%;
1036
- height: 100%;
1037
- border-radius: var(--tao-radius-sm);
1038
- background-color: var(--tao-color-surface-sunken);
3118
+ .tao-toast-top-leave-active[data-v-17111588],
3119
+ .tao-toast-bottom-leave-active[data-v-17111588],
3120
+ .tao-toast-center-leave-active[data-v-17111588] {
3121
+ pointer-events: none;
3122
+ overflow: hidden;
3123
+ transition: grid-template-rows var(--tao-duration-slow) var(--tao-ease-base);
1039
3124
  }
1040
- .tao-slider__fill[data-v-9f531a81] {
1041
- position: absolute;
1042
- top: 0;
1043
- left: 0;
1044
- height: 100%;
1045
- background-color: var(--tao-color-accent);
1046
- border-radius: var(--tao-radius-sm);
3125
+ .tao-toast-top-leave-from[data-v-17111588],
3126
+ .tao-toast-bottom-leave-from[data-v-17111588],
3127
+ .tao-toast-center-leave-from[data-v-17111588] {
3128
+ grid-template-rows: 1fr;
1047
3129
  }
1048
- .tao-slider__thumb[data-v-9f531a81] {
1049
- position: absolute;
1050
- top: 50%;
1051
- width: 20px;
1052
- height: 20px;
1053
- background-color: var(--tao-color-accent);
1054
- border: 2px solid var(--tao-color-surface-sunken);
1055
- border-radius: var(--tao-radius-full);
1056
- transform: translate(-50%, -50%);
1057
- cursor: grab;
3130
+ .tao-toast-top-leave-to[data-v-17111588],
3131
+ .tao-toast-bottom-leave-to[data-v-17111588],
3132
+ .tao-toast-center-leave-to[data-v-17111588] {
3133
+ grid-template-rows: 0fr;
1058
3134
  }
1059
- .tao-slider__thumb[data-v-9f531a81]:active {
1060
- cursor: grabbing;
3135
+ .tao-toast-top-leave-active .tao-toast-slot__inner[data-v-17111588],
3136
+ .tao-toast-center-leave-active .tao-toast-slot__inner[data-v-17111588] {
3137
+ animation: tao-toast-fade-out-up-17111588 var(--tao-duration-slow) var(--tao-ease-base);
1061
3138
  }
1062
- .tao-slider__value[data-v-9f531a81],
1063
- .tao-slider__shadow-input[data-v-9f531a81] {
1064
- position: absolute;
1065
- inset: 0;
1066
- display: flex;
1067
- align-items: center;
1068
- justify-content: center;
1069
- width: 100%;
1070
- height: 100%;
1071
- font-size: var(--tao-font-size-sm);
1072
- font-weight: 900;
1073
- letter-spacing: 0.05em;
3139
+ .tao-toast-bottom-leave-active .tao-toast-slot__inner[data-v-17111588] {
3140
+ animation: tao-toast-fade-out-down-17111588 var(--tao-duration-slow) var(--tao-ease-base);
1074
3141
  }
1075
- .tao-slider__value[data-v-9f531a81] {
1076
- color: var(--tao-color-text-strong);
1077
- text-shadow: -1px -1px 0 var(--tao-color-bg), 1px -1px 0 var(--tao-color-bg),
1078
- -1px 1px 0 var(--tao-color-bg), 1px 1px 0 var(--tao-color-bg);
3142
+ @keyframes tao-toast-bounce-in-17111588 {
3143
+ 0% {
3144
+ opacity: 0;
3145
+ transform: translateY(18px) scale(0.96);
1079
3146
  }
1080
- .tao-slider__shadow-input[data-v-9f531a81] {
1081
- text-align: center;
1082
- border: none;
1083
- background: transparent;
1084
- color: var(--tao-color-text-strong);
1085
- font-family: inherit;
1086
- outline: none;
3147
+ 60% {
3148
+ opacity: 1;
3149
+ transform: translateY(-4px) scale(1.02);
3150
+ }
3151
+ 100% {
3152
+ opacity: 1;
3153
+ transform: translateY(0) scale(1);
3154
+ }
3155
+ }
3156
+ @keyframes tao-toast-fade-out-up-17111588 {
3157
+ to {
3158
+ opacity: 0;
3159
+ transform: translateY(-8px) scale(0.98);
3160
+ }
3161
+ }
3162
+ @keyframes tao-toast-fade-out-down-17111588 {
3163
+ to {
3164
+ opacity: 0;
3165
+ transform: translateY(8px) scale(0.98);
1087
3166
  }
1088
-
1089
- .tao-file-drop[data-v-db5ffca4] {
1090
- display: flex;
1091
- gap: var(--tao-space-3);
1092
- user-select: none;
1093
3167
  }
1094
- .tao-file-drop__clear[data-v-db5ffca4] {
3168
+
3169
+ .tao-confirm[data-v-503301db] {
3170
+ position: fixed;
3171
+ inset: 0;
3172
+ z-index: 1200;
1095
3173
  display: flex;
1096
3174
  align-items: center;
1097
3175
  justify-content: center;
1098
- width: 55px;
1099
- text-align: center;
1100
- border: 2px dashed var(--tao-color-danger);
1101
- border-radius: var(--tao-radius-panel);
1102
- color: var(--tao-color-danger);
1103
- background-color: var(--tao-color-danger-subtle);
1104
- cursor: pointer;
1105
- font-family: inherit;
1106
- transition: var(--tao-transition-base);
3176
+ padding: var(--tao-space-5);
1107
3177
  }
1108
- .tao-file-drop__clear[data-v-db5ffca4]:hover {
1109
- background-color: color-mix(in srgb, var(--tao-color-danger) 22%, transparent);
3178
+ .tao-confirm__overlay[data-v-503301db] {
3179
+ position: absolute;
3180
+ inset: 0;
3181
+ background: var(--tao-color-overlay);
1110
3182
  }
1111
- .tao-file-drop__zone[data-v-db5ffca4] {
1112
- flex-grow: 1;
1113
- font-size: var(--tao-font-size-sm);
1114
- font-family: var(--tao-font-family);
1115
- letter-spacing: 0.01rem;
1116
- text-align: center;
1117
- color: var(--tao-color-text-muted);
1118
- border: 2px dashed var(--tao-color-border-strong);
3183
+ .tao-confirm__panel[data-v-503301db] {
3184
+ --tao-confirm-tone: var(--tao-color-warning);
3185
+
3186
+ position: relative;
3187
+ z-index: 1;
3188
+ display: grid;
3189
+ grid-template-columns: auto 1fr;
3190
+ grid-template-areas:
3191
+ "icon body"
3192
+ "actions actions";
3193
+ gap: var(--tao-space-3) var(--tao-space-4);
3194
+ width: min(420px, 100%);
3195
+ padding: var(--tao-space-5);
3196
+ background: color-mix(in srgb, var(--tao-confirm-tone) 8%, var(--tao-color-surface-raised));
3197
+ border: 1px solid var(--tao-color-border);
1119
3198
  border-radius: var(--tao-radius-panel);
1120
- cursor: pointer;
1121
- transition: var(--tao-transition-base);
3199
+ box-shadow: var(--tao-shadow-overlay);
3200
+ outline: none;
1122
3201
  }
1123
- .tao-file-drop__zone[data-v-db5ffca4]:hover {
1124
- background-color: var(--tao-color-accent-subtle);
1125
- border-color: var(--tao-color-accent);
3202
+ .tao-confirm__panel--danger[data-v-503301db] {
3203
+ --tao-confirm-tone: var(--tao-color-danger);
1126
3204
  }
1127
- .tao-file-drop__zone--dragging[data-v-db5ffca4] {
1128
- border-color: var(--tao-color-text-strong);
1129
- background-color: var(--tao-color-surface-sunken);
3205
+ .tao-confirm__accent[data-v-503301db] {
3206
+ position: absolute;
3207
+ inset: 0 auto 0 0;
3208
+ width: 3px;
3209
+ background: var(--tao-confirm-tone);
1130
3210
  }
1131
- .tao-file-drop__zone--small[data-v-db5ffca4] {
1132
- padding: var(--tao-space-5) var(--tao-space-4);
3211
+ .tao-confirm__icon[data-v-503301db] {
3212
+ grid-area: icon;
3213
+ display: inline-flex;
3214
+ margin-top: 2px;
3215
+ color: var(--tao-confirm-tone);
1133
3216
  }
1134
- .tao-file-drop__zone--medium[data-v-db5ffca4] {
1135
- padding: var(--tao-space-8) var(--tao-space-5);
3217
+ .tao-confirm__body[data-v-503301db] {
3218
+ grid-area: body;
3219
+ min-width: 0;
1136
3220
  }
1137
- .tao-file-drop__zone--large[data-v-db5ffca4] {
1138
- padding: var(--tao-space-10) var(--tao-space-6);
3221
+ .tao-confirm__title[data-v-503301db] {
3222
+ margin: 0;
3223
+ font-size: var(--tao-font-size-lg);
3224
+ font-weight: 600;
3225
+ line-height: 1.3;
3226
+ color: var(--tao-color-text-strong);
1139
3227
  }
1140
-
1141
- /* .tao-dropdown-menu__list телепортируется в body, поэтому не может
1142
- быть scoped — стилизуем его глобально, но с уникальным неймспейсом. */
1143
- .tao-dropdown-menu__list {
1144
- z-index: 999999;
1145
- position: absolute;
1146
- top: 100%;
1147
- min-width: 120px;
1148
- display: flex;
1149
- flex-direction: column;
3228
+ .tao-confirm__message[data-v-503301db] {
3229
+ margin: var(--tao-space-2) 0 0;
1150
3230
  font-size: var(--tao-font-size-md);
3231
+ line-height: 1.45;
1151
3232
  color: var(--tao-color-text);
1152
- background-color: var(--tao-color-surface-raised);
1153
- border: 1px solid var(--tao-color-border);
1154
- border-radius: var(--tao-radius-control);
1155
- box-shadow: var(--tao-shadow-md);
1156
3233
  }
1157
- .tao-dropdown-menu__list .tao-dropdown-menu__item {
1158
- padding: var(--tao-space-2) var(--tao-space-4);
1159
- border: none;
1160
- border-radius: var(--tao-radius-sm);
1161
- background: none;
1162
- white-space: nowrap;
1163
- cursor: pointer;
1164
- user-select: none;
1165
- transition: var(--tao-transition-base);
3234
+ .tao-confirm__actions[data-v-503301db] {
3235
+ grid-area: actions;
3236
+ display: flex;
3237
+ justify-content: flex-end;
3238
+ gap: var(--tao-space-3);
3239
+ margin-top: var(--tao-space-1);
1166
3240
  }
1167
- .tao-dropdown-menu__list .tao-dropdown-menu__item:not(:last-child) {
1168
- border-bottom: 1px solid var(--tao-color-border);
3241
+ .tao-confirm-enter-active .tao-confirm__overlay[data-v-503301db],
3242
+ .tao-confirm-leave-active .tao-confirm__overlay[data-v-503301db] {
3243
+ transition: opacity var(--tao-duration-base) var(--tao-ease-base);
1169
3244
  }
1170
- .tao-dropdown-menu__list .tao-dropdown-menu__item:hover {
1171
- color: var(--tao-color-accent);
1172
- background-color: var(--tao-color-surface-hover);
3245
+ .tao-confirm-enter-from .tao-confirm__overlay[data-v-503301db],
3246
+ .tao-confirm-leave-to .tao-confirm__overlay[data-v-503301db] {
3247
+ opacity: 0;
1173
3248
  }
1174
-
1175
- .tao-dropdown-menu[data-v-d54be7aa] {
1176
- position: relative;
1177
- display: inline-block;
3249
+ .tao-confirm-enter-active .tao-confirm__panel[data-v-503301db] {
3250
+ animation: tao-confirm-bounce-in-503301db var(--tao-duration-slow) var(--tao-ease-base);
1178
3251
  }
1179
- .tao-dropdown-menu__button[data-v-d54be7aa] {
1180
- padding: var(--tao-space-2);
1181
- color: var(--tao-color-text);
1182
- border: none;
1183
- border-radius: var(--tao-radius-control);
1184
- background: none;
1185
- cursor: pointer;
1186
- user-select: none;
1187
- transition: var(--tao-transition-base);
3252
+ .tao-confirm-leave-active .tao-confirm__panel[data-v-503301db] {
3253
+ animation: tao-confirm-fade-out-503301db var(--tao-duration-base) var(--tao-ease-base);
1188
3254
  }
1189
- .tao-dropdown-menu__button[data-v-d54be7aa]:hover {
1190
- background: var(--tao-color-surface-hover);
3255
+ @keyframes tao-confirm-bounce-in-503301db {
3256
+ 0% {
3257
+ opacity: 0;
3258
+ transform: translateY(18px) scale(0.96);
1191
3259
  }
1192
-
1193
- .tao-pin-code[data-v-b8c7bf2c] {
1194
- display: inline-flex;
1195
- user-select: none;
3260
+ 60% {
3261
+ opacity: 1;
3262
+ transform: translateY(-4px) scale(1.02);
1196
3263
  }
1197
- .tao-pin-code__value[data-v-b8c7bf2c] {
1198
- width: 50px;
1199
- height: 56px;
1200
- margin: 2px;
1201
- border: 3px solid var(--tao-color-border-strong);
1202
- border-radius: var(--tao-radius-md);
1203
- font-size: 21px;
1204
- font-weight: 500;
1205
- font-family: inherit;
1206
- text-align: center;
1207
- letter-spacing: 0;
1208
- color: var(--tao-color-accent);
1209
- background: var(--tao-color-input-bg);
1210
- transition: var(--tao-transition-base);
1211
- cursor: text;
1212
- outline: none;
3264
+ 100% {
3265
+ opacity: 1;
3266
+ transform: translateY(0) scale(1);
3267
+ }
3268
+ }
3269
+ @keyframes tao-confirm-fade-out-503301db {
3270
+ to {
3271
+ opacity: 0;
3272
+ transform: translateY(10px);
1213
3273
  }
1214
- .tao-pin-code__value--active[data-v-b8c7bf2c] {
1215
- border-color: var(--tao-color-accent);
1216
3274
  }
1217
3275
  /**
1218
3276
  * Tao UI — styles entry point
@@ -1254,6 +3312,14 @@ to {
1254
3312
  --tao-green-500: #2ea85c;
1255
3313
  --tao-green-600: #24924e;
1256
3314
 
3315
+ --tao-yellow-400: #e8c547;
3316
+ --tao-yellow-500: #d4a017;
3317
+ --tao-yellow-600: #b8860b;
3318
+
3319
+ --tao-blue-400: #6b9cff;
3320
+ --tao-blue-500: #4c82f7;
3321
+ --tao-blue-600: #3b6de0;
3322
+
1257
3323
  /* ---------- Spacing scale (4px base) ---------- */
1258
3324
  --tao-space-1: 4px;
1259
3325
  --tao-space-2: 8px;
@@ -1312,6 +3378,9 @@ to {
1312
3378
  --tao-color-accent-subtle: color-mix(in srgb, var(--tao-color-accent) 8%, transparent);
1313
3379
  --tao-color-accent-subtle-hover: color-mix(in srgb, var(--tao-color-accent) 14%, transparent);
1314
3380
  --tao-color-on-accent: var(--tao-gray-950); /* текст поверх accent-фона */
3381
+ --tao-color-text-on-accent: var(--tao-color-on-accent);
3382
+ --tao-color-selection: var(--tao-color-accent);
3383
+ --tao-color-selection-text: var(--tao-color-on-accent);
1315
3384
 
1316
3385
  /* ---------- Surfaces ---------- */
1317
3386
  --tao-color-bg: var(--tao-gray-900);
@@ -1328,7 +3397,6 @@ to {
1328
3397
  --tao-color-text: var(--tao-gray-200);
1329
3398
  --tao-color-text-strong: var(--tao-gray-0);
1330
3399
  --tao-color-text-muted: var(--tao-gray-400);
1331
- --tao-color-text-on-accent: var(--tao-gray-950);
1332
3400
  --tao-color-text-disabled: var(--tao-gray-300);
1333
3401
 
1334
3402
  /* ---------- Links ---------- */
@@ -1343,6 +3411,13 @@ to {
1343
3411
  --tao-color-danger-subtle: color-mix(in srgb, var(--tao-red-500) 15%, transparent);
1344
3412
  --tao-color-success: var(--tao-green-500);
1345
3413
  --tao-color-success-hover: var(--tao-green-600);
3414
+ --tao-color-success-subtle: color-mix(in srgb, var(--tao-color-success) 15%, transparent);
3415
+ --tao-color-warning: var(--tao-yellow-500);
3416
+ --tao-color-warning-hover: var(--tao-yellow-600);
3417
+ --tao-color-warning-subtle: color-mix(in srgb, var(--tao-color-warning) 15%, transparent);
3418
+ --tao-color-info: var(--tao-blue-400);
3419
+ --tao-color-info-hover: var(--tao-blue-500);
3420
+ --tao-color-info-subtle: color-mix(in srgb, var(--tao-color-info) 15%, transparent);
1346
3421
 
1347
3422
  /* ---------- Form controls ---------- */
1348
3423
  --tao-color-input-bg: var(--tao-color-surface-sunken);
@@ -1382,6 +3457,8 @@ to {
1382
3457
  --tao-color-accent-subtle: color-mix(in srgb, var(--tao-color-accent) 10%, transparent);
1383
3458
  --tao-color-accent-subtle-hover: color-mix(in srgb, var(--tao-color-accent) 16%, transparent);
1384
3459
  --tao-color-on-accent: var(--tao-gray-0);
3460
+ --tao-color-selection: var(--tao-color-accent);
3461
+ --tao-color-selection-text: var(--tao-color-on-accent);
1385
3462
 
1386
3463
  --tao-color-bg: var(--tao-gray-0);
1387
3464
  --tao-color-surface: var(--tao-gray-0);
@@ -1395,7 +3472,7 @@ to {
1395
3472
  --tao-color-text: var(--tao-gray-700);
1396
3473
  --tao-color-text-strong: var(--tao-gray-950);
1397
3474
  --tao-color-text-muted: var(--tao-gray-400);
1398
- --tao-color-text-on-accent: var(--tao-gray-0);
3475
+ --tao-color-text-on-accent: var(--tao-color-on-accent);
1399
3476
  --tao-color-text-disabled: var(--tao-gray-300);
1400
3477
 
1401
3478
  --tao-color-link: var(--tao-orange-600);
@@ -1406,6 +3483,13 @@ to {
1406
3483
  --tao-color-danger-subtle: color-mix(in srgb, var(--tao-red-500) 10%, transparent);
1407
3484
  --tao-color-success: var(--tao-green-500);
1408
3485
  --tao-color-success-hover: var(--tao-green-600);
3486
+ --tao-color-success-subtle: color-mix(in srgb, var(--tao-color-success) 10%, transparent);
3487
+ --tao-color-warning: var(--tao-yellow-600);
3488
+ --tao-color-warning-hover: var(--tao-yellow-500);
3489
+ --tao-color-warning-subtle: color-mix(in srgb, var(--tao-color-warning) 12%, transparent);
3490
+ --tao-color-info: var(--tao-blue-500);
3491
+ --tao-color-info-hover: var(--tao-blue-600);
3492
+ --tao-color-info-subtle: color-mix(in srgb, var(--tao-color-info) 12%, transparent);
1409
3493
 
1410
3494
  --tao-color-input-bg: var(--tao-gray-0);
1411
3495
  --tao-color-input-text: var(--tao-gray-950);
@@ -1438,6 +3522,16 @@ body {
1438
3522
  color: var(--tao-color-text);
1439
3523
  }
1440
3524
 
3525
+ ::selection {
3526
+ color: var(--tao-color-selection-text);
3527
+ background-color: var(--tao-color-selection);
3528
+ }
3529
+
3530
+ ::-moz-selection {
3531
+ color: var(--tao-color-selection-text);
3532
+ background-color: var(--tao-color-selection);
3533
+ }
3534
+
1441
3535
  /* Scrollbar */
1442
3536
  ::-webkit-scrollbar {
1443
3537
  max-width: 5px;
@@ -1474,3 +3568,15 @@ input[type="number"]::-webkit-inner-spin-button {
1474
3568
  input[type="number"] {
1475
3569
  -moz-appearance: textfield !important;
1476
3570
  }
3571
+
3572
+ .tao-sr-only {
3573
+ position: absolute;
3574
+ width: 1px;
3575
+ height: 1px;
3576
+ padding: 0;
3577
+ margin: -1px;
3578
+ overflow: hidden;
3579
+ clip: rect(0, 0, 0, 0);
3580
+ white-space: nowrap;
3581
+ border: 0;
3582
+ }