@1337exp/taoui 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,79 +13,83 @@
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
  }
@@ -106,52 +110,389 @@ to {
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-49211edd] {
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-49211edd] {
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-49211edd] {
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-49211edd] {
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-49211edd] {
150
+ padding-left: 0;
151
+ }
152
+ .tao-input-shell--suffix .tao-input[data-v-49211edd] {
153
+ padding-right: 0;
129
154
  }
130
- .tao-input[data-v-c742d574]::placeholder {
155
+ .tao-input[data-v-49211edd]::placeholder {
131
156
  color: var(--tao-color-input-placeholder);
132
157
  }
133
- .tao-input[data-v-c742d574]:focus {
158
+ .tao-input[data-v-49211edd]:focus {
134
159
  outline: none;
160
+ }
161
+ .tao-input-shell--focused[data-v-49211edd] {
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-49211edd] {
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-49211edd]:disabled {
172
+ cursor: not-allowed;
173
+ }
174
+ .tao-input-shell--invalid[data-v-49211edd] {
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-49211edd] {
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-49211edd] {
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-49211edd] {
192
+ padding-left: var(--tao-space-3);
193
+ padding-right: var(--tao-space-2);
194
+ }
195
+ .tao-input__affix--suffix[data-v-49211edd] {
196
+ padding-right: var(--tao-space-3);
197
+ padding-left: var(--tao-space-2);
198
+ }
199
+ .tao-input__affix[data-v-49211edd] svg {
200
+ display: block;
201
+ width: 16px;
202
+ height: 16px;
203
+ }
204
+ .tao-input__affix[data-v-49211edd] 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-49211edd] button:hover {
218
+ color: var(--tao-color-text-strong);
219
+ }
220
+ .tao-input__affix[data-v-49211edd] button:focus-visible {
221
+ outline: 2px solid var(--tao-color-accent);
222
+ outline-offset: 2px;
223
+ }
224
+ .tao-input__error[data-v-49211edd] {
151
225
  font-size: var(--tao-font-size-xs);
152
226
  color: var(--tao-color-danger);
153
227
  }
154
228
 
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
+
155
496
  .tao-card[data-v-b752c7cb] {
156
497
  width: 100%;
157
498
  background: var(--tao-color-surface-raised);
@@ -213,7 +554,7 @@ to {
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-399d4fdf] {
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-399d4fdf] {
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-399d4fdf]:focus {
577
+ outline: none;
578
+ }
579
+ .tao-modal[data-v-399d4fdf]:focus-visible {
580
+ outline: 2px solid var(--tao-color-accent);
581
+ outline-offset: 2px;
582
+ }
583
+ .tao-modal__header[data-v-399d4fdf] {
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-399d4fdf] {
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-399d4fdf] {
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-399d4fdf]:hover {
258
606
  color: var(--tao-color-text-strong);
259
607
  }
260
- .tao-modal__content[data-v-4746b5a3] {
608
+ .tao-modal__close[data-v-399d4fdf]: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-399d4fdf] {
261
614
  padding: var(--tao-space-5);
262
615
  }
263
- .tao-modal__footer[data-v-4746b5a3] {
616
+ .tao-modal__footer[data-v-399d4fdf] {
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-399d4fdf],
624
+ .tao-modal-fade-leave-active[data-v-399d4fdf] {
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-399d4fdf],
628
+ .tao-modal-fade-leave-to[data-v-399d4fdf] {
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-0f7a5b9b] {
338
677
  position: relative;
339
678
  display: inline-block;
340
679
  }
341
- .tao-tooltip[data-v-a22f010b] {
680
+ .tao-tooltip[data-v-0f7a5b9b] {
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-0f7a5b9b]::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-0f7a5b9b] {
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-0f7a5b9b]::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-0f7a5b9b] {
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-0f7a5b9b]::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-0f7a5b9b] {
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-0f7a5b9b]::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-0f7a5b9b] {
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-0f7a5b9b]::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-0f7a5b9b],
752
+ .tao-tooltip-fade-leave-active[data-v-0f7a5b9b] {
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,23 +758,23 @@ 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-0f7a5b9b],
762
+ .tao-tooltip--top.tao-tooltip-fade-leave-to[data-v-0f7a5b9b] {
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-0f7a5b9b],
767
+ .tao-tooltip--bottom.tao-tooltip-fade-leave-to[data-v-0f7a5b9b] {
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-0f7a5b9b],
772
+ .tao-tooltip--left.tao-tooltip-fade-leave-to[data-v-0f7a5b9b] {
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-0f7a5b9b],
777
+ .tao-tooltip--right.tao-tooltip-fade-leave-to[data-v-0f7a5b9b] {
439
778
  opacity: 0;
440
779
  transform: translateY(-50%) translateX(-4px);
441
780
  }
@@ -515,16 +854,19 @@ to {
515
854
  color: var(--tao-color-on-accent);
516
855
  }
517
856
 
518
- .tao-container[data-v-e2ebdf8f] {
857
+ .tao-container[data-v-81987648] {
519
858
  width: 100%;
520
859
  }
521
- .tao-container--center[data-v-e2ebdf8f] {
860
+ .tao-container--center[data-v-81987648] {
522
861
  margin: 0 auto;
523
862
  }
524
- .tao-container--slim[data-v-e2ebdf8f] {
863
+ .tao-container--wide[data-v-81987648] {
864
+ max-width: 1120px;
865
+ }
866
+ .tao-container--slim[data-v-81987648] {
525
867
  max-width: 500px;
526
868
  }
527
- .tao-container--ultra-slim[data-v-e2ebdf8f] {
869
+ .tao-container--ultra-slim[data-v-81987648] {
528
870
  max-width: 400px;
529
871
  }
530
872
 
@@ -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-0bb22ce9] {
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-0bb22ce9] {
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-0bb22ce9]::after {
671
1011
  content: '';
672
1012
  display: block;
673
1013
  width: 12px;
@@ -677,29 +1017,29 @@ 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-0bb22ce9] {
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-0bb22ce9] {
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-0bb22ce9] {
690
1030
  border-color: var(--tao-color-accent);
691
1031
  background-color: var(--tao-color-accent);
692
1032
  }
693
- .tao-checkbox__input:checked + .tao-checkbox__box[data-v-0ece6da0]::after {
1033
+ .tao-checkbox__input:checked + .tao-checkbox__box[data-v-0bb22ce9]::after {
694
1034
  background-color: var(--tao-color-on-accent);
695
1035
  transform: scale(1);
696
1036
  }
697
- .tao-checkbox__input:focus-visible + .tao-checkbox__box[data-v-0ece6da0] {
1037
+ .tao-checkbox__input:focus-visible + .tao-checkbox__box[data-v-0bb22ce9] {
698
1038
  outline: 2px solid var(--tao-color-accent);
699
1039
  outline-offset: 1px;
700
1040
  }
701
1041
 
702
- .tao-tag[data-v-f615cf3c] {
1042
+ .tao-tag[data-v-3f6b9f30] {
703
1043
  box-sizing: border-box;
704
1044
  display: inline-block;
705
1045
  height: auto;
@@ -713,25 +1053,35 @@ to {
713
1053
  border-radius: var(--tao-radius-sm);
714
1054
  transition: var(--tao-transition-base);
715
1055
  }
716
- .tao-tag--pointer[data-v-f615cf3c] {
1056
+ .tao-tag--pointer[data-v-3f6b9f30] {
717
1057
  cursor: pointer;
718
1058
  user-select: none;
719
1059
  }
720
- .tao-tag--neutral[data-v-f615cf3c] {
1060
+ .tao-tag--neutral[data-v-3f6b9f30] {
721
1061
  color: var(--tao-color-text);
722
1062
  background: var(--tao-color-surface-sunken);
723
1063
  border-color: var(--tao-color-border-strong);
724
1064
  }
725
- .tao-tag--success[data-v-f615cf3c] {
1065
+ .tao-tag--success[data-v-3f6b9f30] {
726
1066
  color: var(--tao-color-success);
727
1067
  background: color-mix(in srgb, var(--tao-color-success) 12%, transparent);
728
1068
  border-color: color-mix(in srgb, var(--tao-color-success) 30%, transparent);
729
1069
  }
730
- .tao-tag--danger[data-v-f615cf3c] {
1070
+ .tao-tag--danger[data-v-3f6b9f30] {
731
1071
  color: var(--tao-color-danger);
732
1072
  background: var(--tao-color-danger-subtle);
733
1073
  border-color: color-mix(in srgb, var(--tao-color-danger) 30%, transparent);
734
1074
  }
1075
+ .tao-tag--warning[data-v-3f6b9f30] {
1076
+ color: var(--tao-color-warning);
1077
+ background: var(--tao-color-warning-subtle);
1078
+ border-color: color-mix(in srgb, var(--tao-color-warning) 30%, transparent);
1079
+ }
1080
+ .tao-tag--info[data-v-3f6b9f30] {
1081
+ color: var(--tao-color-info);
1082
+ background: var(--tao-color-info-subtle);
1083
+ border-color: color-mix(in srgb, var(--tao-color-info) 30%, transparent);
1084
+ }
735
1085
 
736
1086
  /* variant="gap" — пустой отступ заданной высоты, без линии */
737
1087
  .tao-divider-gap[data-v-9db02640] {
@@ -1086,12 +1436,12 @@ to {
1086
1436
  outline: none;
1087
1437
  }
1088
1438
 
1089
- .tao-file-drop[data-v-db5ffca4] {
1439
+ .tao-file-drop[data-v-547ed4de] {
1090
1440
  display: flex;
1091
1441
  gap: var(--tao-space-3);
1092
1442
  user-select: none;
1093
1443
  }
1094
- .tao-file-drop__clear[data-v-db5ffca4] {
1444
+ .tao-file-drop__clear[data-v-547ed4de] {
1095
1445
  display: flex;
1096
1446
  align-items: center;
1097
1447
  justify-content: center;
@@ -1105,10 +1455,10 @@ to {
1105
1455
  font-family: inherit;
1106
1456
  transition: var(--tao-transition-base);
1107
1457
  }
1108
- .tao-file-drop__clear[data-v-db5ffca4]:hover {
1458
+ .tao-file-drop__clear[data-v-547ed4de]:hover {
1109
1459
  background-color: color-mix(in srgb, var(--tao-color-danger) 22%, transparent);
1110
1460
  }
1111
- .tao-file-drop__zone[data-v-db5ffca4] {
1461
+ .tao-file-drop__zone[data-v-547ed4de] {
1112
1462
  flex-grow: 1;
1113
1463
  font-size: var(--tao-font-size-sm);
1114
1464
  font-family: var(--tao-font-family);
@@ -1120,30 +1470,27 @@ to {
1120
1470
  cursor: pointer;
1121
1471
  transition: var(--tao-transition-base);
1122
1472
  }
1123
- .tao-file-drop__zone[data-v-db5ffca4]:hover {
1473
+ .tao-file-drop__zone[data-v-547ed4de]:hover {
1124
1474
  background-color: var(--tao-color-accent-subtle);
1125
1475
  border-color: var(--tao-color-accent);
1126
1476
  }
1127
- .tao-file-drop__zone--dragging[data-v-db5ffca4] {
1477
+ .tao-file-drop__zone--dragging[data-v-547ed4de] {
1128
1478
  border-color: var(--tao-color-text-strong);
1129
1479
  background-color: var(--tao-color-surface-sunken);
1130
1480
  }
1131
- .tao-file-drop__zone--small[data-v-db5ffca4] {
1481
+ .tao-file-drop__zone--small[data-v-547ed4de] {
1132
1482
  padding: var(--tao-space-5) var(--tao-space-4);
1133
1483
  }
1134
- .tao-file-drop__zone--medium[data-v-db5ffca4] {
1484
+ .tao-file-drop__zone--medium[data-v-547ed4de] {
1135
1485
  padding: var(--tao-space-8) var(--tao-space-5);
1136
1486
  }
1137
- .tao-file-drop__zone--large[data-v-db5ffca4] {
1487
+ .tao-file-drop__zone--large[data-v-547ed4de] {
1138
1488
  padding: var(--tao-space-10) var(--tao-space-6);
1139
1489
  }
1140
1490
 
1141
- /* .tao-dropdown-menu__list телепортируется в body, поэтому не может
1142
- быть scoped — стилизуем его глобально, но с уникальным неймспейсом. */
1143
1491
  .tao-dropdown-menu__list {
1144
- z-index: 999999;
1145
- position: absolute;
1146
- top: 100%;
1492
+ z-index: 1050;
1493
+ position: fixed;
1147
1494
  min-width: 120px;
1148
1495
  display: flex;
1149
1496
  flex-direction: column;
@@ -1154,11 +1501,17 @@ to {
1154
1501
  border-radius: var(--tao-radius-control);
1155
1502
  box-shadow: var(--tao-shadow-md);
1156
1503
  }
1504
+ .tao-dropdown-menu__list:focus {
1505
+ outline: none;
1506
+ }
1157
1507
  .tao-dropdown-menu__list .tao-dropdown-menu__item {
1158
1508
  padding: var(--tao-space-2) var(--tao-space-4);
1159
1509
  border: none;
1160
- border-radius: var(--tao-radius-sm);
1510
+ border-radius: 0;
1161
1511
  background: none;
1512
+ color: inherit;
1513
+ font: inherit;
1514
+ text-align: left;
1162
1515
  white-space: nowrap;
1163
1516
  cursor: pointer;
1164
1517
  user-select: none;
@@ -1167,16 +1520,17 @@ to {
1167
1520
  .tao-dropdown-menu__list .tao-dropdown-menu__item:not(:last-child) {
1168
1521
  border-bottom: 1px solid var(--tao-color-border);
1169
1522
  }
1170
- .tao-dropdown-menu__list .tao-dropdown-menu__item:hover {
1523
+ .tao-dropdown-menu__list .tao-dropdown-menu__item:hover,
1524
+ .tao-dropdown-menu__list .tao-dropdown-menu__item--active {
1171
1525
  color: var(--tao-color-accent);
1172
1526
  background-color: var(--tao-color-surface-hover);
1173
1527
  }
1174
1528
 
1175
- .tao-dropdown-menu[data-v-d54be7aa] {
1529
+ .tao-dropdown-menu[data-v-3f30c1d7] {
1176
1530
  position: relative;
1177
1531
  display: inline-block;
1178
1532
  }
1179
- .tao-dropdown-menu__button[data-v-d54be7aa] {
1533
+ .tao-dropdown-menu__button[data-v-3f30c1d7] {
1180
1534
  padding: var(--tao-space-2);
1181
1535
  color: var(--tao-color-text);
1182
1536
  border: none;
@@ -1184,35 +1538,1571 @@ to {
1184
1538
  background: none;
1185
1539
  cursor: pointer;
1186
1540
  user-select: none;
1541
+ font: inherit;
1542
+ line-height: 1;
1543
+ transition: var(--tao-transition-base);
1544
+ }
1545
+ .tao-dropdown-menu__button[data-v-3f30c1d7]:hover {
1546
+ background: var(--tao-color-surface-hover);
1547
+ }
1548
+ .tao-dropdown-menu__button[data-v-3f30c1d7]:focus-visible {
1549
+ outline: 2px solid var(--tao-color-accent);
1550
+ outline-offset: 2px;
1551
+ }
1552
+
1553
+ .tao-pin-code[data-v-b8c7bf2c] {
1554
+ display: inline-flex;
1555
+ user-select: none;
1556
+ }
1557
+ .tao-pin-code__value[data-v-b8c7bf2c] {
1558
+ width: 50px;
1559
+ height: 56px;
1560
+ margin: 2px;
1561
+ border: 3px solid var(--tao-color-border-strong);
1562
+ border-radius: var(--tao-radius-md);
1563
+ font-size: 21px;
1564
+ font-weight: 500;
1565
+ font-family: inherit;
1566
+ text-align: center;
1567
+ letter-spacing: 0;
1568
+ color: var(--tao-color-accent);
1569
+ background: var(--tao-color-input-bg);
1570
+ transition: var(--tao-transition-base);
1571
+ cursor: text;
1572
+ outline: none;
1573
+ }
1574
+ .tao-pin-code__value--active[data-v-b8c7bf2c] {
1575
+ border-color: var(--tao-color-accent);
1576
+ }
1577
+
1578
+ .tao-form-field[data-v-11324f0c] {
1579
+ display: flex;
1580
+ flex-direction: column;
1581
+ gap: var(--tao-space-1);
1582
+ width: 100%;
1583
+ }
1584
+ .tao-form-field__label[data-v-11324f0c] {
1585
+ font-size: var(--tao-font-size-sm);
1586
+ color: var(--tao-color-text);
1587
+ font-weight: 500;
1588
+ }
1589
+ .tao-form-field__hint[data-v-11324f0c] {
1590
+ margin: 0;
1591
+ font-size: var(--tao-font-size-xs);
1592
+ color: var(--tao-color-text-muted);
1593
+ }
1594
+ .tao-form-field__error[data-v-11324f0c] {
1595
+ margin: 0;
1596
+ font-size: var(--tao-font-size-xs);
1597
+ color: var(--tao-color-danger);
1598
+ }
1599
+
1600
+ .tao-select__list {
1601
+ z-index: 1050;
1602
+ position: fixed;
1603
+ margin: 0;
1604
+ padding: var(--tao-space-1);
1605
+ max-height: 240px;
1606
+ overflow: auto;
1607
+ list-style: none;
1608
+ background: var(--tao-color-surface-raised);
1609
+ color: var(--tao-color-text);
1610
+ border: 1px solid var(--tao-color-border);
1611
+ border-radius: var(--tao-radius-control);
1612
+ box-shadow: var(--tao-shadow-overlay);
1613
+ }
1614
+ .tao-select__option {
1615
+ padding: var(--tao-space-2) var(--tao-space-3);
1616
+ border-radius: var(--tao-radius-sm);
1617
+ font-size: var(--tao-font-size-md);
1618
+ cursor: pointer;
1619
+ user-select: none;
1620
+ }
1621
+ .tao-select__option--active,
1622
+ .tao-select__option:hover:not(.tao-select__option--disabled) {
1623
+ background: var(--tao-color-surface-hover);
1624
+ }
1625
+ .tao-select__option--selected {
1626
+ color: var(--tao-color-accent);
1627
+ }
1628
+ .tao-select__option--disabled {
1629
+ opacity: 0.5;
1630
+ cursor: not-allowed;
1631
+ }
1632
+
1633
+ .tao-select[data-v-fbdc9884] {
1634
+ width: 100%;
1635
+ }
1636
+ .tao-select__trigger[data-v-fbdc9884] {
1637
+ display: flex;
1638
+ align-items: center;
1639
+ justify-content: space-between;
1640
+ gap: var(--tao-space-2);
1641
+ width: 100%;
1642
+ min-height: 36px;
1643
+ padding: var(--tao-space-2) var(--tao-space-3);
1644
+ border: 1px solid var(--tao-color-border-strong);
1645
+ border-radius: var(--tao-radius-control);
1646
+ background: var(--tao-color-input-bg);
1647
+ color: var(--tao-color-input-text);
1648
+ font-size: var(--tao-font-size-md);
1649
+ font-family: inherit;
1650
+ text-align: left;
1651
+ cursor: pointer;
1652
+ transition: var(--tao-transition-base);
1653
+ }
1654
+ .tao-select__trigger--placeholder[data-v-fbdc9884] {
1655
+ color: var(--tao-color-input-placeholder);
1656
+ }
1657
+ .tao-select__trigger[data-v-fbdc9884]:focus {
1658
+ outline: none;
1659
+ border-color: var(--tao-color-accent);
1660
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
1661
+ }
1662
+ .tao-select--invalid .tao-select__trigger[data-v-fbdc9884] {
1663
+ border-color: var(--tao-color-danger);
1664
+ }
1665
+ .tao-select--invalid .tao-select__trigger[data-v-fbdc9884]:focus {
1666
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
1667
+ }
1668
+ .tao-select__trigger[data-v-fbdc9884]:disabled {
1669
+ opacity: 0.6;
1670
+ cursor: not-allowed;
1671
+ }
1672
+ .tao-select__value[data-v-fbdc9884] {
1673
+ min-width: 0;
1674
+ overflow: hidden;
1675
+ text-overflow: ellipsis;
1676
+ white-space: nowrap;
1677
+ }
1678
+ .tao-select__chevron[data-v-fbdc9884] {
1679
+ flex-shrink: 0;
1680
+ width: 0;
1681
+ height: 0;
1682
+ border-left: 4px solid transparent;
1683
+ border-right: 4px solid transparent;
1684
+ border-top: 5px solid currentColor;
1685
+ opacity: 0.6;
1686
+ transition: transform var(--tao-duration-fast) var(--tao-ease-base);
1687
+ }
1688
+ .tao-select--open .tao-select__chevron[data-v-fbdc9884] {
1689
+ transform: rotate(180deg);
1690
+ }
1691
+
1692
+ .tao-date__panel {
1693
+ z-index: 1050;
1694
+ position: fixed;
1695
+ box-sizing: border-box;
1696
+ width: 280px;
1697
+ padding: var(--tao-space-3);
1698
+ background: var(--tao-color-surface-raised);
1699
+ color: var(--tao-color-text);
1700
+ border: 1px solid var(--tao-color-border);
1701
+ border-radius: var(--tao-radius-control);
1702
+ box-shadow: var(--tao-shadow-overlay);
1703
+ }
1704
+ .tao-date__header {
1705
+ display: flex;
1706
+ align-items: center;
1707
+ gap: var(--tao-space-2);
1708
+ margin-bottom: var(--tao-space-3);
1709
+ }
1710
+ .tao-date__month {
1711
+ flex: 1;
1712
+ margin: 0;
1713
+ font-size: var(--tao-font-size-md);
1714
+ font-weight: 600;
1715
+ text-align: center;
1716
+ color: var(--tao-color-text-strong);
1717
+ }
1718
+ .tao-date__nav {
1719
+ display: inline-flex;
1720
+ flex: 0 0 auto;
1721
+ align-items: center;
1722
+ justify-content: center;
1723
+ width: 28px;
1724
+ height: 28px;
1725
+ margin: 0;
1726
+ padding: 0;
1727
+ border: 1px solid var(--tao-color-border);
1728
+ border-radius: var(--tao-radius-full);
1729
+ background: var(--tao-color-surface-sunken);
1730
+ color: var(--tao-color-text);
1731
+ cursor: pointer;
1732
+ }
1733
+ .tao-date__nav svg {
1734
+ display: block;
1735
+ }
1736
+ .tao-date__nav:hover {
1737
+ background: var(--tao-color-surface-hover);
1738
+ }
1739
+ .tao-date__nav:focus-visible {
1740
+ outline: 2px solid var(--tao-color-accent);
1741
+ outline-offset: 2px;
1742
+ }
1743
+ .tao-date__weekdays,
1744
+ .tao-date__grid {
1745
+ display: grid;
1746
+ grid-template-columns: repeat(7, 1fr);
1747
+ gap: 2px;
1748
+ }
1749
+ .tao-date__weekdays {
1750
+ margin-bottom: var(--tao-space-1);
1751
+ }
1752
+ .tao-date__weekdays span {
1753
+ display: flex;
1754
+ align-items: center;
1755
+ justify-content: center;
1756
+ height: 24px;
1757
+ color: var(--tao-color-text-muted);
1758
+ font-size: var(--tao-font-size-xs);
1759
+ text-transform: lowercase;
1760
+ }
1761
+ .tao-date__day {
1762
+ display: flex;
1763
+ align-items: center;
1764
+ justify-content: center;
1765
+ width: 100%;
1766
+ aspect-ratio: 1;
1767
+ margin: 0;
1768
+ padding: 0;
1769
+ border: 1px solid transparent;
1770
+ border-radius: var(--tao-radius-sm);
1771
+ background: transparent;
1772
+ color: var(--tao-color-text);
1773
+ font: inherit;
1774
+ font-size: var(--tao-font-size-sm);
1775
+ cursor: pointer;
1776
+ }
1777
+ .tao-date__day--outside {
1778
+ color: var(--tao-color-text-muted);
1779
+ opacity: 0.55;
1780
+ }
1781
+ .tao-date__day--today {
1782
+ border-color: var(--tao-color-accent);
1783
+ }
1784
+ .tao-date__day--selected {
1785
+ background: var(--tao-color-accent);
1786
+ color: var(--tao-color-text-on-accent);
1787
+ opacity: 1;
1788
+ }
1789
+ .tao-date__day--cursor:not(.tao-date__day--selected) {
1790
+ background: var(--tao-color-surface-hover);
1791
+ }
1792
+ .tao-date__day:hover:not(:disabled):not(.tao-date__day--selected) {
1793
+ background: var(--tao-color-surface-hover);
1794
+ }
1795
+ .tao-date__day:disabled {
1796
+ opacity: 0.35;
1797
+ cursor: not-allowed;
1798
+ }
1799
+ .tao-date__day:focus-visible {
1800
+ outline: 2px solid var(--tao-color-accent);
1801
+ outline-offset: 1px;
1802
+ }
1803
+ .tao-date__footer {
1804
+ display: flex;
1805
+ justify-content: space-between;
1806
+ gap: var(--tao-space-2);
1807
+ margin-top: var(--tao-space-3);
1808
+ }
1809
+ .tao-date__link {
1810
+ margin: 0;
1811
+ padding: 0;
1812
+ border: 0;
1813
+ background: none;
1814
+ color: var(--tao-color-accent);
1815
+ font: inherit;
1816
+ font-size: var(--tao-font-size-sm);
1817
+ cursor: pointer;
1818
+ }
1819
+ .tao-date__link:hover:not(:disabled) {
1820
+ color: var(--tao-color-accent-hover);
1821
+ }
1822
+ .tao-date__link:disabled {
1823
+ color: var(--tao-color-text-muted);
1824
+ cursor: not-allowed;
1825
+ }
1826
+ .tao-date__link:focus-visible {
1827
+ outline: 2px solid var(--tao-color-accent);
1828
+ outline-offset: 2px;
1829
+ }
1830
+
1831
+ .tao-date[data-v-15d8ee2a] {
1832
+ width: 100%;
1833
+ }
1834
+ .tao-date__trigger[data-v-15d8ee2a] {
1835
+ display: flex;
1836
+ align-items: center;
1837
+ justify-content: space-between;
1838
+ gap: var(--tao-space-2);
1839
+ width: 100%;
1840
+ min-height: 36px;
1841
+ padding: var(--tao-space-2) var(--tao-space-3);
1842
+ border: 1px solid var(--tao-color-border-strong);
1843
+ border-radius: var(--tao-radius-control);
1844
+ background: var(--tao-color-input-bg);
1845
+ color: var(--tao-color-input-text);
1846
+ font-size: var(--tao-font-size-md);
1847
+ font-family: inherit;
1848
+ text-align: left;
1849
+ cursor: pointer;
1850
+ transition: var(--tao-transition-base);
1851
+ }
1852
+ .tao-date__trigger--placeholder[data-v-15d8ee2a] {
1853
+ color: var(--tao-color-input-placeholder);
1854
+ }
1855
+ .tao-date__trigger[data-v-15d8ee2a]:focus {
1856
+ outline: none;
1857
+ border-color: var(--tao-color-accent);
1858
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
1859
+ }
1860
+ .tao-date--invalid .tao-date__trigger[data-v-15d8ee2a] {
1861
+ border-color: var(--tao-color-danger);
1862
+ }
1863
+ .tao-date--invalid .tao-date__trigger[data-v-15d8ee2a]:focus {
1864
+ box-shadow: 0 0 0 2px var(--tao-color-danger-subtle);
1865
+ }
1866
+ .tao-date__trigger[data-v-15d8ee2a]:disabled {
1867
+ opacity: 0.6;
1868
+ cursor: not-allowed;
1869
+ }
1870
+ .tao-date__value[data-v-15d8ee2a] {
1871
+ min-width: 0;
1872
+ overflow: hidden;
1873
+ text-overflow: ellipsis;
1874
+ white-space: nowrap;
1875
+ }
1876
+ .tao-date__icon[data-v-15d8ee2a] {
1877
+ flex-shrink: 0;
1878
+ opacity: 0.7;
1879
+ }
1880
+
1881
+ .tao-switch[data-v-db2bca61] {
1882
+ display: inline-flex;
1883
+ align-items: center;
1884
+ gap: var(--tao-space-2);
1885
+ cursor: pointer;
1886
+ user-select: none;
1887
+ color: var(--tao-color-text);
1888
+ }
1889
+ .tao-switch__input[data-v-db2bca61] {
1890
+ position: absolute;
1891
+ width: 1px;
1892
+ height: 1px;
1893
+ padding: 0;
1894
+ margin: -1px;
1895
+ overflow: hidden;
1896
+ clip: rect(0, 0, 0, 0);
1897
+ white-space: nowrap;
1898
+ border: 0;
1899
+ }
1900
+ .tao-switch__track[data-v-db2bca61] {
1901
+ position: relative;
1902
+ display: inline-flex;
1903
+ flex-shrink: 0;
1904
+ align-items: center;
1905
+ width: 36px;
1906
+ height: 20px;
1907
+ padding: 2px;
1908
+ pointer-events: none;
1909
+ background: var(--tao-color-surface-sunken);
1910
+ border: 1px solid var(--tao-color-border-strong);
1911
+ border-radius: var(--tao-radius-full);
1912
+ transition: var(--tao-transition-base);
1913
+ }
1914
+ .tao-switch__thumb[data-v-db2bca61] {
1915
+ width: 14px;
1916
+ height: 14px;
1917
+ background: var(--tao-color-text-muted);
1918
+ border-radius: var(--tao-radius-full);
1919
+ transform: translateX(0);
1920
+ transition: var(--tao-transition-base);
1921
+ }
1922
+ .tao-switch--on .tao-switch__track[data-v-db2bca61] {
1923
+ background: var(--tao-color-accent);
1924
+ border-color: var(--tao-color-accent);
1925
+ }
1926
+ .tao-switch--on .tao-switch__thumb[data-v-db2bca61] {
1927
+ background: var(--tao-color-on-accent);
1928
+ transform: translateX(16px);
1929
+ }
1930
+ .tao-switch__input:focus-visible + .tao-switch__track[data-v-db2bca61] {
1931
+ outline: 2px solid var(--tao-color-accent);
1932
+ outline-offset: 2px;
1933
+ }
1934
+ .tao-switch__label[data-v-db2bca61] {
1935
+ font-size: var(--tao-font-size-sm);
1936
+ color: var(--tao-color-text);
1937
+ }
1938
+ .tao-switch--disabled[data-v-db2bca61] {
1939
+ cursor: not-allowed;
1940
+ opacity: 0.6;
1941
+ }
1942
+
1943
+ .tao-radio[data-v-c9c84481] {
1944
+ display: inline-flex;
1945
+ align-items: center;
1946
+ gap: var(--tao-space-2);
1947
+ cursor: pointer;
1948
+ user-select: none;
1949
+ color: var(--tao-color-text);
1950
+ }
1951
+ .tao-radio__input[data-v-c9c84481] {
1952
+ position: absolute;
1953
+ width: 1px;
1954
+ height: 1px;
1955
+ padding: 0;
1956
+ margin: -1px;
1957
+ overflow: hidden;
1958
+ clip: rect(0, 0, 0, 0);
1959
+ white-space: nowrap;
1960
+ border: 0;
1961
+ }
1962
+ .tao-radio__dot[data-v-c9c84481] {
1963
+ position: relative;
1964
+ display: inline-flex;
1965
+ flex-shrink: 0;
1966
+ align-items: center;
1967
+ justify-content: center;
1968
+ width: 18px;
1969
+ height: 18px;
1970
+ pointer-events: none;
1971
+ background: var(--tao-color-surface-raised);
1972
+ border: 2px solid var(--tao-color-border-strong);
1973
+ border-radius: var(--tao-radius-full);
1974
+ transition: var(--tao-transition-base);
1975
+ }
1976
+ .tao-radio__dot[data-v-c9c84481]::after {
1977
+ content: '';
1978
+ width: 8px;
1979
+ height: 8px;
1980
+ background: transparent;
1981
+ border-radius: var(--tao-radius-full);
1982
+ transform: scale(0);
1983
+ transition: var(--tao-transition-base);
1984
+ }
1985
+ .tao-radio__input:checked + .tao-radio__dot[data-v-c9c84481] {
1986
+ border-color: var(--tao-color-accent);
1987
+ }
1988
+ .tao-radio__input:checked + .tao-radio__dot[data-v-c9c84481]::after {
1989
+ background: var(--tao-color-accent);
1990
+ transform: scale(1);
1991
+ }
1992
+ .tao-radio__input:focus-visible + .tao-radio__dot[data-v-c9c84481] {
1993
+ outline: 2px solid var(--tao-color-accent);
1994
+ outline-offset: 1px;
1995
+ }
1996
+ .tao-radio__label[data-v-c9c84481] {
1997
+ font-size: var(--tao-font-size-sm);
1998
+ color: var(--tao-color-text);
1999
+ }
2000
+ .tao-radio--disabled[data-v-c9c84481] {
2001
+ cursor: not-allowed;
2002
+ opacity: 0.6;
2003
+ }
2004
+
2005
+ .tao-radio-group[data-v-a0b1cb1f] {
2006
+ display: flex;
2007
+ flex-wrap: wrap;
2008
+ gap: var(--tao-space-3) var(--tao-space-4);
2009
+ margin: 0;
2010
+ padding: 0;
2011
+ border: none;
2012
+ min-width: 0;
2013
+ }
2014
+ .tao-radio-group--column[data-v-a0b1cb1f] {
2015
+ flex-direction: column;
2016
+ align-items: flex-start;
2017
+ }
2018
+ .tao-radio-group__legend[data-v-a0b1cb1f] {
2019
+ padding: 0;
2020
+ margin-bottom: var(--tao-space-2);
2021
+ font-size: var(--tao-font-size-sm);
2022
+ font-weight: 500;
2023
+ color: var(--tao-color-text);
2024
+ }
2025
+
2026
+ .tao-alert[data-v-21abd6e5] {
2027
+ --tao-alert-tone: var(--tao-color-info);
2028
+
2029
+ display: flex;
2030
+ align-items: flex-start;
2031
+ gap: var(--tao-space-3);
2032
+ width: 100%;
2033
+ padding: var(--tao-space-3) var(--tao-space-4);
2034
+ background: color-mix(in srgb, var(--tao-alert-tone) 10%, var(--tao-color-surface-raised));
2035
+ color: var(--tao-color-text);
2036
+ border: 1px solid color-mix(in srgb, var(--tao-alert-tone) 35%, var(--tao-color-border));
2037
+ border-radius: var(--tao-radius-panel);
2038
+ }
2039
+ .tao-alert--success[data-v-21abd6e5] {
2040
+ --tao-alert-tone: var(--tao-color-success);
2041
+ }
2042
+ .tao-alert--error[data-v-21abd6e5] {
2043
+ --tao-alert-tone: var(--tao-color-danger);
2044
+ }
2045
+ .tao-alert--warning[data-v-21abd6e5] {
2046
+ --tao-alert-tone: var(--tao-color-warning);
2047
+ }
2048
+ .tao-alert--info[data-v-21abd6e5] {
2049
+ --tao-alert-tone: var(--tao-color-info);
2050
+ }
2051
+ .tao-alert--neutral[data-v-21abd6e5] {
2052
+ --tao-alert-tone: var(--tao-color-text-muted);
2053
+ }
2054
+ .tao-alert__body[data-v-21abd6e5] {
2055
+ display: flex;
2056
+ flex-direction: column;
2057
+ gap: var(--tao-space-1);
2058
+ min-width: 0;
2059
+ flex: 1;
2060
+ }
2061
+ .tao-alert__title[data-v-21abd6e5] {
2062
+ font-size: var(--tao-font-size-md);
2063
+ font-weight: 600;
2064
+ color: var(--tao-color-text-strong);
2065
+ }
2066
+ .tao-alert__message[data-v-21abd6e5] {
2067
+ margin: 0;
2068
+ font-size: var(--tao-font-size-sm);
2069
+ line-height: 1.45;
2070
+ color: var(--tao-color-text);
2071
+ }
2072
+ .tao-alert__close[data-v-21abd6e5] {
2073
+ flex-shrink: 0;
2074
+ margin: calc(-1 * var(--tao-space-1)) calc(-1 * var(--tao-space-2)) 0 0;
2075
+ padding: 0;
2076
+ border: none;
2077
+ background: none;
2078
+ color: var(--tao-color-text-muted);
2079
+ font-size: 20px;
2080
+ line-height: 1;
2081
+ cursor: pointer;
2082
+ }
2083
+ .tao-alert__close[data-v-21abd6e5]:hover {
2084
+ color: var(--tao-color-text-strong);
2085
+ }
2086
+
2087
+ .tao-table-wrap[data-v-5ce586b8] {
2088
+ position: relative;
2089
+ width: 100%;
2090
+ overflow: auto;
2091
+ border: 1px solid var(--tao-color-border);
2092
+ border-radius: var(--tao-radius-panel);
2093
+ background: var(--tao-color-surface);
2094
+ }
2095
+ .tao-table-wrap--loading[data-v-5ce586b8] {
2096
+ min-height: 120px;
2097
+ }
2098
+ .tao-table[data-v-5ce586b8] {
2099
+ width: 100%;
2100
+ border-collapse: collapse;
2101
+ font-size: var(--tao-font-size-md);
2102
+ color: var(--tao-color-text);
2103
+ }
2104
+ .tao-table caption[data-v-5ce586b8] {
2105
+ caption-side: top;
2106
+ padding: var(--tao-space-3) var(--tao-space-4);
2107
+ text-align: left;
2108
+ font-size: var(--tao-font-size-sm);
2109
+ color: var(--tao-color-text-muted);
2110
+ }
2111
+ .tao-table th[data-v-5ce586b8],
2112
+ .tao-table td[data-v-5ce586b8] {
2113
+ padding: var(--tao-space-3) var(--tao-space-4);
2114
+ border-bottom: 1px solid var(--tao-color-border);
2115
+ vertical-align: middle;
2116
+ }
2117
+ .tao-table--compact th[data-v-5ce586b8],
2118
+ .tao-table--compact td[data-v-5ce586b8] {
2119
+ padding: var(--tao-space-2) var(--tao-space-3);
2120
+ font-size: var(--tao-font-size-sm);
2121
+ }
2122
+ .tao-table th[data-v-5ce586b8] {
2123
+ font-weight: 600;
2124
+ font-size: var(--tao-font-size-sm);
2125
+ color: var(--tao-color-text-muted);
2126
+ background: var(--tao-color-surface-raised);
2127
+ white-space: nowrap;
2128
+ text-align: left;
2129
+ }
2130
+ .tao-table--sticky thead th[data-v-5ce586b8] {
2131
+ position: sticky;
2132
+ top: 0;
2133
+ z-index: 1;
2134
+ }
2135
+ .tao-table tbody tr:last-child td[data-v-5ce586b8] {
2136
+ border-bottom: none;
2137
+ }
2138
+ .tao-table--striped tbody tr:nth-child(even) td[data-v-5ce586b8] {
2139
+ background: var(--tao-color-surface-sunken);
2140
+ }
2141
+ .tao-table--hover tbody tr:hover td[data-v-5ce586b8] {
2142
+ background: var(--tao-color-surface-hover);
2143
+ }
2144
+ .tao-table--clickable tbody tr[data-v-5ce586b8] {
2145
+ cursor: pointer;
2146
+ }
2147
+ .tao-table__sort-btn[data-v-5ce586b8] {
2148
+ display: inline-flex;
2149
+ align-items: center;
2150
+ gap: var(--tao-space-2);
2151
+ margin: 0;
2152
+ padding: 0;
2153
+ border: 0;
2154
+ background: none;
2155
+ color: inherit;
2156
+ font: inherit;
2157
+ font-weight: 600;
2158
+ cursor: pointer;
2159
+ }
2160
+ .tao-table__sort-btn[data-v-5ce586b8]:focus-visible {
2161
+ outline: 2px solid var(--tao-color-accent);
2162
+ outline-offset: 2px;
2163
+ border-radius: var(--tao-radius-control);
2164
+ }
2165
+ .tao-table__sorter[data-v-5ce586b8] {
2166
+ position: relative;
2167
+ width: 8px;
2168
+ height: 12px;
2169
+ opacity: 0.35;
2170
+ }
2171
+ .tao-table__sorter[data-v-5ce586b8]::before,
2172
+ .tao-table__sorter[data-v-5ce586b8]::after {
2173
+ content: '';
2174
+ position: absolute;
2175
+ left: 0;
2176
+ border-left: 4px solid transparent;
2177
+ border-right: 4px solid transparent;
2178
+ }
2179
+ .tao-table__sorter[data-v-5ce586b8]::before {
2180
+ top: 0;
2181
+ border-bottom: 4px solid currentColor;
2182
+ }
2183
+ .tao-table__sorter[data-v-5ce586b8]::after {
2184
+ bottom: 0;
2185
+ border-top: 4px solid currentColor;
2186
+ }
2187
+ .tao-table__sorter--asc[data-v-5ce586b8],
2188
+ .tao-table__sorter--desc[data-v-5ce586b8] {
2189
+ opacity: 1;
2190
+ color: var(--tao-color-accent);
2191
+ }
2192
+ .tao-table__sorter--asc[data-v-5ce586b8]::after,
2193
+ .tao-table__sorter--desc[data-v-5ce586b8]::before {
2194
+ opacity: 0.25;
2195
+ }
2196
+ .tao-table__empty[data-v-5ce586b8] {
2197
+ padding: var(--tao-space-8) var(--tao-space-4);
2198
+ text-align: center;
2199
+ color: var(--tao-color-text-muted);
2200
+ }
2201
+ .tao-table__loading[data-v-5ce586b8] {
2202
+ position: absolute;
2203
+ inset: 0;
2204
+ display: flex;
2205
+ align-items: center;
2206
+ justify-content: center;
2207
+ background: color-mix(in srgb, var(--tao-color-surface) 72%, transparent);
2208
+ }
2209
+
2210
+ .tao-pagination[data-v-fd69be36] {
2211
+ display: flex;
2212
+ flex-wrap: wrap;
2213
+ align-items: center;
2214
+ justify-content: space-between;
2215
+ gap: var(--tao-space-3);
2216
+ width: 100%;
2217
+ }
2218
+ .tao-pagination__total[data-v-fd69be36] {
2219
+ margin: 0;
2220
+ font-size: var(--tao-font-size-sm);
2221
+ color: var(--tao-color-text-muted);
2222
+ }
2223
+ .tao-pagination__pages[data-v-fd69be36] {
2224
+ display: flex;
2225
+ flex-wrap: wrap;
2226
+ align-items: center;
2227
+ gap: var(--tao-space-1);
2228
+ }
2229
+ .tao-pagination__btn[data-v-fd69be36] {
2230
+ display: inline-flex;
2231
+ align-items: center;
2232
+ justify-content: center;
2233
+ min-width: 36px;
2234
+ height: 36px;
2235
+ padding: 0 var(--tao-space-2);
2236
+ border: 1px solid var(--tao-color-border-strong);
2237
+ border-radius: var(--tao-radius-control);
2238
+ background: var(--tao-color-surface-sunken);
2239
+ color: var(--tao-color-text);
2240
+ font-family: inherit;
2241
+ font-size: var(--tao-font-size-md);
2242
+ line-height: 1;
2243
+ cursor: pointer;
2244
+ transition: var(--tao-transition-base);
2245
+ }
2246
+ .tao-pagination--small .tao-pagination__btn[data-v-fd69be36] {
2247
+ min-width: 28px;
2248
+ height: 28px;
2249
+ font-size: var(--tao-font-size-xs);
2250
+ }
2251
+ .tao-pagination__btn[data-v-fd69be36]:hover:not(:disabled) {
2252
+ background: var(--tao-color-surface-hover);
2253
+ color: var(--tao-color-text-strong);
2254
+ }
2255
+ .tao-pagination__btn[data-v-fd69be36]:focus-visible {
2256
+ outline: none;
2257
+ border-color: var(--tao-color-accent);
2258
+ box-shadow: 0 0 0 2px var(--tao-color-accent-subtle-hover);
2259
+ }
2260
+ .tao-pagination__btn--current[data-v-fd69be36] {
2261
+ background: var(--tao-color-accent);
2262
+ border-color: var(--tao-color-accent);
2263
+ color: var(--tao-color-on-accent);
2264
+ }
2265
+ .tao-pagination__btn--current[data-v-fd69be36]:hover:not(:disabled) {
2266
+ background: var(--tao-color-accent-hover);
2267
+ color: var(--tao-color-on-accent);
2268
+ }
2269
+ .tao-pagination__btn--jump[data-v-fd69be36] {
2270
+ color: var(--tao-color-text-muted);
2271
+ }
2272
+ .tao-pagination__btn[data-v-fd69be36]:disabled {
2273
+ opacity: 0.5;
2274
+ cursor: not-allowed;
2275
+ }
2276
+ .tao-pagination__ellipsis[data-v-fd69be36] {
2277
+ display: inline-flex;
2278
+ align-items: center;
2279
+ justify-content: center;
2280
+ min-width: 24px;
2281
+ color: var(--tao-color-text-muted);
2282
+ user-select: none;
2283
+ }
2284
+
2285
+ .tao-empty[data-v-8056884d] {
2286
+ display: flex;
2287
+ flex-direction: column;
2288
+ align-items: center;
2289
+ justify-content: center;
2290
+ gap: var(--tao-space-2);
2291
+ padding: var(--tao-space-8) var(--tao-space-4);
2292
+ text-align: center;
2293
+ }
2294
+ .tao-empty__icon[data-v-8056884d] {
2295
+ color: var(--tao-color-text-muted);
2296
+ font-size: 32px;
2297
+ line-height: 1;
2298
+ }
2299
+ .tao-empty__title[data-v-8056884d] {
2300
+ margin: 0;
2301
+ font-size: var(--tao-font-size-lg);
2302
+ font-weight: 600;
2303
+ color: var(--tao-color-text-strong);
2304
+ }
2305
+ .tao-empty__text[data-v-8056884d] {
2306
+ margin: 0;
2307
+ max-width: 36ch;
2308
+ font-size: var(--tao-font-size-sm);
2309
+ color: var(--tao-color-text-muted);
2310
+ line-height: 1.5;
2311
+ }
2312
+ .tao-empty__action[data-v-8056884d] {
2313
+ margin-top: var(--tao-space-2);
2314
+ }
2315
+
2316
+ .tao-skeleton-group[data-v-e75c3ca1] {
2317
+ display: flex;
2318
+ flex-direction: column;
2319
+ gap: var(--tao-space-2);
2320
+ width: 100%;
2321
+ }
2322
+ .tao-skeleton[data-v-e75c3ca1] {
2323
+ display: block;
2324
+ background: var(--tao-color-surface-sunken);
2325
+ border-radius: var(--tao-radius-control);
2326
+ animation: tao-skeleton-pulse-e75c3ca1 1.2s var(--tao-ease-base) infinite;
2327
+ }
2328
+ .tao-skeleton--text[data-v-e75c3ca1] {
2329
+ height: 12px;
2330
+ width: 100%;
2331
+ }
2332
+ .tao-skeleton--text[data-v-e75c3ca1]:last-child:not(:only-child) {
2333
+ width: 72%;
2334
+ }
2335
+ .tao-skeleton--title[data-v-e75c3ca1] {
2336
+ height: 20px;
2337
+ width: 40%;
2338
+ border-radius: var(--tao-radius-control);
2339
+ }
2340
+ .tao-skeleton--circle[data-v-e75c3ca1] {
2341
+ width: 40px;
2342
+ height: 40px;
2343
+ border-radius: var(--tao-radius-full);
2344
+ }
2345
+ .tao-skeleton--rect[data-v-e75c3ca1] {
2346
+ width: 100%;
2347
+ height: 80px;
2348
+ border-radius: var(--tao-radius-panel);
2349
+ }
2350
+ @keyframes tao-skeleton-pulse-e75c3ca1 {
2351
+ 0%,
2352
+ 100% {
2353
+ opacity: 0.55;
2354
+ }
2355
+ 50% {
2356
+ opacity: 1;
2357
+ }
2358
+ }
2359
+
2360
+ .tao-drawer[data-v-6a0c0e98] {
2361
+ position: fixed;
2362
+ inset: 0;
2363
+ z-index: 1000;
2364
+ display: flex;
2365
+ }
2366
+ .tao-drawer--right[data-v-6a0c0e98] {
2367
+ justify-content: flex-end;
2368
+ }
2369
+ .tao-drawer--left[data-v-6a0c0e98] {
2370
+ justify-content: flex-start;
2371
+ }
2372
+ .tao-drawer__overlay[data-v-6a0c0e98] {
2373
+ position: absolute;
2374
+ inset: 0;
2375
+ background: var(--tao-color-overlay);
2376
+ }
2377
+ .tao-drawer__panel[data-v-6a0c0e98] {
2378
+ position: relative;
2379
+ display: flex;
2380
+ flex-direction: column;
2381
+ width: min(360px, 100%);
2382
+ height: 100%;
2383
+ background: var(--tao-color-surface-raised);
2384
+ box-shadow: var(--tao-shadow-overlay);
2385
+ }
2386
+ .tao-drawer__panel[data-v-6a0c0e98]:focus {
2387
+ outline: none;
2388
+ }
2389
+ .tao-drawer__header[data-v-6a0c0e98] {
2390
+ display: flex;
2391
+ align-items: center;
2392
+ justify-content: space-between;
2393
+ gap: var(--tao-space-3);
2394
+ padding: var(--tao-space-4);
2395
+ border-bottom: 1px solid var(--tao-color-border);
2396
+ }
2397
+ .tao-drawer__title[data-v-6a0c0e98] {
2398
+ margin: 0;
2399
+ font-size: var(--tao-font-size-lg);
2400
+ font-weight: 600;
2401
+ color: var(--tao-color-text-strong);
2402
+ }
2403
+ .tao-drawer__close[data-v-6a0c0e98] {
2404
+ background: none;
2405
+ border: none;
2406
+ padding: 0;
2407
+ font-size: 24px;
2408
+ line-height: 1;
2409
+ color: var(--tao-color-text);
2410
+ cursor: pointer;
2411
+ }
2412
+ .tao-drawer__close[data-v-6a0c0e98]:hover {
2413
+ color: var(--tao-color-text-strong);
2414
+ }
2415
+ .tao-drawer__close[data-v-6a0c0e98]:focus-visible {
2416
+ outline: 2px solid var(--tao-color-accent);
2417
+ outline-offset: 2px;
2418
+ border-radius: var(--tao-radius-control);
2419
+ }
2420
+ .tao-drawer__content[data-v-6a0c0e98] {
2421
+ flex: 1;
2422
+ min-height: 0;
2423
+ overflow: auto;
2424
+ padding: var(--tao-space-4);
2425
+ }
2426
+ .tao-drawer__footer[data-v-6a0c0e98] {
2427
+ padding: var(--tao-space-4);
2428
+ border-top: 1px solid var(--tao-color-border);
2429
+ display: flex;
2430
+ gap: var(--tao-space-3);
2431
+ justify-content: flex-end;
2432
+ }
2433
+ .tao-drawer-right-enter-active[data-v-6a0c0e98],
2434
+ .tao-drawer-right-leave-active[data-v-6a0c0e98],
2435
+ .tao-drawer-left-enter-active[data-v-6a0c0e98],
2436
+ .tao-drawer-left-leave-active[data-v-6a0c0e98] {
2437
+ transition: opacity var(--tao-duration-base) var(--tao-ease-base);
2438
+ }
2439
+ .tao-drawer-right-enter-active .tao-drawer__panel[data-v-6a0c0e98],
2440
+ .tao-drawer-right-leave-active .tao-drawer__panel[data-v-6a0c0e98],
2441
+ .tao-drawer-left-enter-active .tao-drawer__panel[data-v-6a0c0e98],
2442
+ .tao-drawer-left-leave-active .tao-drawer__panel[data-v-6a0c0e98] {
2443
+ transition: transform var(--tao-duration-slow) var(--tao-ease-base);
2444
+ }
2445
+ .tao-drawer-right-enter-from[data-v-6a0c0e98],
2446
+ .tao-drawer-right-leave-to[data-v-6a0c0e98],
2447
+ .tao-drawer-left-enter-from[data-v-6a0c0e98],
2448
+ .tao-drawer-left-leave-to[data-v-6a0c0e98] {
2449
+ opacity: 0;
2450
+ }
2451
+ .tao-drawer-right-enter-from .tao-drawer__panel[data-v-6a0c0e98],
2452
+ .tao-drawer-right-leave-to .tao-drawer__panel[data-v-6a0c0e98] {
2453
+ transform: translateX(100%);
2454
+ }
2455
+ .tao-drawer-left-enter-from .tao-drawer__panel[data-v-6a0c0e98],
2456
+ .tao-drawer-left-leave-to .tao-drawer__panel[data-v-6a0c0e98] {
2457
+ transform: translateX(-100%);
2458
+ }
2459
+
2460
+ .tao-avatar[data-v-b03b36f2] {
2461
+ display: inline-flex;
2462
+ align-items: center;
2463
+ justify-content: center;
2464
+ overflow: hidden;
2465
+ flex-shrink: 0;
2466
+ background: var(--tao-color-accent-subtle);
2467
+ color: var(--tao-color-accent);
2468
+ border-radius: var(--tao-radius-full);
2469
+ font-weight: 600;
2470
+ line-height: 1;
2471
+ user-select: none;
2472
+ }
2473
+ .tao-avatar--s[data-v-b03b36f2] {
2474
+ width: 24px;
2475
+ height: 24px;
2476
+ font-size: 10px;
2477
+ }
2478
+ .tao-avatar--m[data-v-b03b36f2] {
2479
+ width: 32px;
2480
+ height: 32px;
2481
+ font-size: var(--tao-font-size-xs);
2482
+ }
2483
+ .tao-avatar--l[data-v-b03b36f2] {
2484
+ width: 48px;
2485
+ height: 48px;
2486
+ font-size: var(--tao-font-size-md);
2487
+ }
2488
+ .tao-avatar__img[data-v-b03b36f2] {
2489
+ width: 100%;
2490
+ height: 100%;
2491
+ object-fit: cover;
2492
+ }
2493
+ .tao-avatar__fallback[data-v-b03b36f2] {
2494
+ display: flex;
2495
+ align-items: center;
2496
+ justify-content: center;
2497
+ width: 100%;
2498
+ height: 100%;
2499
+ }
2500
+
2501
+ .tao-breadcrumb__list[data-v-48cf9bb5] {
2502
+ display: flex;
2503
+ flex-wrap: wrap;
2504
+ align-items: center;
2505
+ gap: var(--tao-space-1);
2506
+ margin: 0;
2507
+ padding: 0;
2508
+ list-style: none;
2509
+ font-size: var(--tao-font-size-sm);
2510
+ }
2511
+ .tao-breadcrumb__item[data-v-48cf9bb5] {
2512
+ display: inline-flex;
2513
+ align-items: center;
2514
+ gap: var(--tao-space-1);
2515
+ }
2516
+ .tao-breadcrumb__sep[data-v-48cf9bb5] {
2517
+ color: var(--tao-color-text-muted);
2518
+ }
2519
+ .tao-breadcrumb__link[data-v-48cf9bb5] {
2520
+ color: var(--tao-color-text-muted);
2521
+ }
2522
+ .tao-breadcrumb__current[data-v-48cf9bb5] {
2523
+ color: var(--tao-color-text-strong);
2524
+ font-weight: 500;
2525
+ }
2526
+
2527
+ .tao-counter[data-v-6b746f2f] {
2528
+ display: inline-flex;
2529
+ color: var(--tao-color-accent);
2530
+ font-size: 28px;
2531
+ font-weight: 700;
2532
+ font-variant-numeric: tabular-nums;
2533
+ line-height: 1;
2534
+ }
2535
+ .tao-counter__row[data-v-6b746f2f] {
2536
+ display: inline-flex;
2537
+ gap: 3px;
2538
+ }
2539
+ .tao-counter__slot[data-v-6b746f2f] {
2540
+ position: relative;
2541
+ overflow: hidden;
2542
+ width: 1.15em;
2543
+ height: 1.55em;
2544
+ border-radius: var(--tao-radius-sm);
2545
+ background: var(--tao-color-surface-sunken);
2546
+ }
2547
+ .tao-counter__slot--space[data-v-6b746f2f] {
2548
+ width: 0.28em;
2549
+ background: transparent;
2550
+ }
2551
+ .tao-counter__digit[data-v-6b746f2f] {
2552
+ position: absolute;
2553
+ inset: 0;
2554
+ display: flex;
2555
+ align-items: center;
2556
+ justify-content: center;
2557
+ }
2558
+ .tao-counter__digit--muted[data-v-6b746f2f] {
2559
+ color: var(--tao-color-text-muted);
2560
+ opacity: 0.45;
2561
+ }
2562
+ .tao-digit-enter-from[data-v-6b746f2f] {
2563
+ transform: translateY(100%) rotateX(-90deg);
2564
+ filter: blur(8px);
2565
+ opacity: 0;
2566
+ }
2567
+ .tao-digit-leave-to[data-v-6b746f2f] {
2568
+ transform: translateY(-100%) rotateX(90deg);
2569
+ filter: blur(8px);
2570
+ opacity: 0;
2571
+ }
2572
+ .tao-digit-enter-active[data-v-6b746f2f],
2573
+ .tao-digit-leave-active[data-v-6b746f2f] {
2574
+ transition:
2575
+ transform var(--tao-duration-slow) cubic-bezier(0.68, -0.55, 0.265, 1.55),
2576
+ filter var(--tao-duration-slow) var(--tao-ease-base),
2577
+ opacity var(--tao-duration-slow) var(--tao-ease-base);
2578
+ }
2579
+ @media (max-width: 450px) {
2580
+ .tao-counter[data-v-6b746f2f] {
2581
+ font-size: 22px;
2582
+ }
2583
+ }
2584
+
2585
+ .tao-carousel[data-v-173f4ce0] {
2586
+ display: flex;
2587
+ flex-direction: column;
2588
+ gap: var(--tao-space-2);
2589
+ width: 100%;
2590
+ }
2591
+ .tao-carousel__row[data-v-173f4ce0] {
2592
+ display: flex;
2593
+ align-items: center;
2594
+ gap: var(--tao-space-2);
2595
+ width: 100%;
2596
+ }
2597
+ .tao-carousel__track[data-v-173f4ce0] {
2598
+ display: flex;
2599
+ flex: 1 1 auto;
2600
+ gap: var(--tao-space-3);
2601
+ min-width: 0;
2602
+ overflow-x: auto;
2603
+ overscroll-behavior-x: contain;
2604
+ scroll-snap-type: x mandatory;
2605
+ scroll-padding-inline: 0;
2606
+ scrollbar-width: none;
2607
+ user-select: none;
2608
+ touch-action: pan-x;
2609
+ cursor: grab;
2610
+ }
2611
+ .tao-carousel__track[data-v-173f4ce0]::-webkit-scrollbar {
2612
+ display: none;
2613
+ }
2614
+ .tao-carousel__track--dragging[data-v-173f4ce0] {
2615
+ scroll-snap-type: none;
2616
+ cursor: grabbing;
2617
+ }
2618
+ .tao-carousel__track[data-v-173f4ce0]:focus-visible {
2619
+ outline: 2px solid var(--tao-color-accent);
2620
+ outline-offset: 2px;
2621
+ }
2622
+ .tao-carousel__track[data-v-173f4ce0] > * {
2623
+ box-sizing: border-box;
2624
+ flex: 0 0 auto;
2625
+ width: max(
2626
+ 96px,
2627
+ calc(
2628
+ (100% - var(--tao-carousel-peek, 0px) - (var(--tao-carousel-per-view, 1) - 1) * var(--tao-space-3)) /
2629
+ var(--tao-carousel-per-view, 1)
2630
+ )
2631
+ );
2632
+ min-width: 0;
2633
+ scroll-snap-align: start;
2634
+ }
2635
+ .tao-carousel__nav[data-v-173f4ce0] {
2636
+ display: inline-flex;
2637
+ flex: 0 0 auto;
2638
+ align-items: center;
2639
+ justify-content: center;
2640
+ width: 36px;
2641
+ height: 36px;
2642
+ margin: 0;
2643
+ padding: 0;
2644
+ border: 1px solid var(--tao-color-border-strong);
2645
+ border-radius: var(--tao-radius-full);
2646
+ background: var(--tao-color-surface-sunken);
2647
+ color: var(--tao-color-text);
2648
+ font: inherit;
2649
+ font-size: 0;
2650
+ line-height: 0;
2651
+ cursor: pointer;
1187
2652
  transition: var(--tao-transition-base);
1188
2653
  }
1189
- .tao-dropdown-menu__button[data-v-d54be7aa]:hover {
1190
- background: var(--tao-color-surface-hover);
2654
+ .tao-carousel__nav svg[data-v-173f4ce0] {
2655
+ display: block;
2656
+ }
2657
+ .tao-carousel__nav[data-v-173f4ce0]:hover:not(:disabled) {
2658
+ background: var(--tao-color-surface-hover);
2659
+ color: var(--tao-color-text-strong);
2660
+ }
2661
+ .tao-carousel__nav[data-v-173f4ce0]:focus-visible {
2662
+ outline: 2px solid var(--tao-color-accent);
2663
+ outline-offset: 2px;
2664
+ }
2665
+ .tao-carousel__nav[data-v-173f4ce0]:disabled {
2666
+ opacity: 0.4;
2667
+ cursor: not-allowed;
2668
+ }
2669
+ .tao-carousel__dots[data-v-173f4ce0] {
2670
+ display: flex;
2671
+ flex-wrap: wrap;
2672
+ align-items: center;
2673
+ justify-content: center;
2674
+ gap: 2px;
2675
+ }
2676
+ .tao-carousel__dot[data-v-173f4ce0] {
2677
+ display: inline-flex;
2678
+ flex: 0 0 auto;
2679
+ align-items: center;
2680
+ justify-content: center;
2681
+ width: 20px;
2682
+ height: 20px;
2683
+ margin: 0;
2684
+ padding: 0;
2685
+ border: 0;
2686
+ background: transparent;
2687
+ cursor: pointer;
2688
+ }
2689
+ .tao-carousel__pip[data-v-173f4ce0] {
2690
+ display: block;
2691
+ width: 6px;
2692
+ height: 6px;
2693
+ border-radius: var(--tao-radius-full);
2694
+ background: var(--tao-color-border-strong);
2695
+ transition: width var(--tao-duration-base) var(--tao-ease-base), background var(--tao-duration-base) var(--tao-ease-base);
2696
+ }
2697
+ .tao-carousel__dot--active .tao-carousel__pip[data-v-173f4ce0] {
2698
+ width: 18px;
2699
+ background: var(--tao-color-accent);
2700
+ }
2701
+ .tao-carousel__dot:hover:not(.tao-carousel__dot--active) .tao-carousel__pip[data-v-173f4ce0] {
2702
+ background: var(--tao-color-text-muted);
2703
+ }
2704
+ .tao-carousel__dot[data-v-173f4ce0]:focus-visible {
2705
+ outline: 2px solid var(--tao-color-accent);
2706
+ outline-offset: 2px;
2707
+ border-radius: var(--tao-radius-full);
2708
+ }
2709
+ @media (prefers-reduced-motion: reduce) {
2710
+ .tao-carousel__track[data-v-173f4ce0] {
2711
+ scroll-behavior: auto;
2712
+ }
2713
+ .tao-carousel__pip[data-v-173f4ce0] {
2714
+ transition: none;
2715
+ }
1191
2716
  }
1192
2717
 
1193
- .tao-pin-code[data-v-b8c7bf2c] {
2718
+ .tao-stages[data-v-fc11408a] {
2719
+ display: flex;
2720
+ flex-direction: column;
2721
+ gap: var(--tao-space-2);
2722
+ margin: 0;
2723
+ padding: 0;
2724
+ list-style: none;
2725
+ font-size: var(--tao-font-size-xs);
2726
+ color: var(--tao-color-text);
2727
+ }
2728
+ .tao-stages--horizontal[data-v-fc11408a] {
2729
+ flex-direction: row;
2730
+ flex-wrap: wrap;
2731
+ column-gap: var(--tao-space-4);
2732
+ }
2733
+ .tao-stages__item[data-v-fc11408a] {
2734
+ display: flex;
2735
+ align-items: center;
2736
+ gap: var(--tao-space-2);
2737
+ min-width: 0;
2738
+ }
2739
+ .tao-stages__ico[data-v-fc11408a] {
1194
2740
  display: inline-flex;
1195
- user-select: none;
2741
+ flex: 0 0 auto;
2742
+ color: inherit;
1196
2743
  }
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;
2744
+ .tao-stages__mark[data-v-fc11408a] {
2745
+ display: block;
2746
+ }
2747
+ .tao-stages__label[data-v-fc11408a] {
2748
+ min-width: 0;
2749
+ }
2750
+ .tao-stages__item--wait[data-v-fc11408a] {
2751
+ color: var(--tao-color-text-muted);
2752
+ }
2753
+ .tao-stages__item--work .tao-stages__ico[data-v-fc11408a] {
1208
2754
  color: var(--tao-color-accent);
1209
- background: var(--tao-color-input-bg);
1210
- transition: var(--tao-transition-base);
1211
- cursor: text;
2755
+ }
2756
+ .tao-stages__item--ok .tao-stages__ico[data-v-fc11408a] {
2757
+ color: var(--tao-color-success);
2758
+ }
2759
+ .tao-stages__item--bad .tao-stages__ico[data-v-fc11408a] {
2760
+ color: var(--tao-color-danger);
2761
+ }
2762
+ .tao-stages__item--work .tao-stages__mark[data-v-fc11408a] {
2763
+ animation: tao-stages-spin-fc11408a 1.1s linear infinite;
2764
+ }
2765
+ @keyframes tao-stages-spin-fc11408a {
2766
+ to {
2767
+ transform: rotate(360deg);
2768
+ }
2769
+ }
2770
+ @media (prefers-reduced-motion: reduce) {
2771
+ .tao-stages__item--work .tao-stages__mark[data-v-fc11408a] {
2772
+ animation: none;
2773
+ }
2774
+ }
2775
+
2776
+ .tao-toast[data-v-04783988] {
2777
+ --tao-toast-tone: var(--tao-color-accent);
2778
+
2779
+ position: relative;
2780
+ display: flex;
2781
+ align-items: flex-start;
2782
+ gap: var(--tao-space-3);
2783
+ width: min(470px, calc(100vw - 32px));
2784
+ padding: var(--tao-space-3) var(--tao-space-4);
2785
+ overflow: hidden;
2786
+ background: color-mix(in srgb, var(--tao-toast-tone) 8%, var(--tao-color-surface-raised));
2787
+ color: var(--tao-color-text);
2788
+ border: 1px solid var(--tao-color-border);
2789
+ border-radius: var(--tao-radius-panel);
2790
+ box-shadow: var(--tao-shadow-overlay);
2791
+ pointer-events: auto;
2792
+ }
2793
+ .tao-toast--success[data-v-04783988] {
2794
+ --tao-toast-tone: var(--tao-color-success);
2795
+ }
2796
+ .tao-toast--error[data-v-04783988] {
2797
+ --tao-toast-tone: var(--tao-color-danger);
2798
+ }
2799
+ .tao-toast--warning[data-v-04783988] {
2800
+ --tao-toast-tone: var(--tao-color-warning);
2801
+ }
2802
+ .tao-toast--info[data-v-04783988] {
2803
+ --tao-toast-tone: var(--tao-color-info);
2804
+ }
2805
+ .tao-toast__accent[data-v-04783988] {
2806
+ position: absolute;
2807
+ inset: 0 auto 0 0;
2808
+ width: 3px;
2809
+ background: var(--tao-toast-tone);
2810
+ }
2811
+ .tao-toast__icon[data-v-04783988] {
2812
+ display: inline-flex;
2813
+ flex-shrink: 0;
2814
+ margin-top: 1px;
2815
+ color: var(--tao-toast-tone);
2816
+ }
2817
+ .tao-toast__body[data-v-04783988] {
2818
+ display: flex;
2819
+ flex-direction: column;
2820
+ gap: var(--tao-space-1);
2821
+ min-width: 0;
2822
+ flex: 1;
2823
+ padding-right: var(--tao-space-4);
2824
+ }
2825
+ .tao-toast__title[data-v-04783988] {
2826
+ font-size: var(--tao-font-size-md);
2827
+ font-weight: 600;
2828
+ color: var(--tao-color-text-strong);
2829
+ line-height: 1.3;
2830
+ }
2831
+ .tao-toast__message[data-v-04783988] {
2832
+ margin: 0;
2833
+ font-size: var(--tao-font-size-sm);
2834
+ line-height: 1.45;
2835
+ color: var(--tao-color-text);
2836
+ }
2837
+ .tao-toast__actions[data-v-04783988] {
2838
+ display: flex;
2839
+ flex-wrap: wrap;
2840
+ gap: var(--tao-space-2);
2841
+ margin-top: var(--tao-space-1);
2842
+ }
2843
+ .tao-toast__close[data-v-04783988] {
2844
+ position: absolute;
2845
+ top: var(--tao-space-1);
2846
+ right: var(--tao-space-2);
2847
+ padding: 0;
2848
+ border: none;
2849
+ background: none;
2850
+ color: var(--tao-color-text-muted);
2851
+ font-size: 20px;
2852
+ line-height: 1;
2853
+ cursor: pointer;
2854
+ }
2855
+ .tao-toast__close[data-v-04783988]:hover {
2856
+ color: var(--tao-color-text-strong);
2857
+ }
2858
+ .tao-toast__progress[data-v-04783988] {
2859
+ position: absolute;
2860
+ left: 0;
2861
+ right: 0;
2862
+ bottom: 0;
2863
+ height: 2px;
2864
+ transform-origin: left center;
2865
+ background: var(--tao-toast-tone);
2866
+ animation-name: tao-toast-progress-04783988;
2867
+ animation-timing-function: linear;
2868
+ animation-fill-mode: forwards;
2869
+ }
2870
+ .tao-toast--paused .tao-toast__progress[data-v-04783988] {
2871
+ animation-play-state: paused;
2872
+ }
2873
+ @keyframes tao-toast-progress-04783988 {
2874
+ from {
2875
+ transform: scaleX(1);
2876
+ }
2877
+ to {
2878
+ transform: scaleX(0);
2879
+ }
2880
+ }
2881
+
2882
+ .tao-toast-viewport[data-v-17111588] {
2883
+ position: fixed;
2884
+ z-index: 1100;
2885
+ display: flex;
2886
+ pointer-events: none;
2887
+ padding: var(--tao-space-4);
2888
+ }
2889
+ .tao-toast-viewport__stack[data-v-17111588] {
2890
+ display: flex;
2891
+ flex-direction: column;
2892
+ gap: var(--tao-space-2);
2893
+ width: 100%;
2894
+ }
2895
+ .tao-toast-slot[data-v-17111588] {
2896
+ display: grid;
2897
+ grid-template-rows: 1fr;
2898
+ }
2899
+ .tao-toast-slot__inner[data-v-17111588] {
2900
+ min-height: 0;
2901
+ overflow: hidden;
2902
+ }
2903
+ .tao-toast-viewport--topRight[data-v-17111588] {
2904
+ top: 0;
2905
+ right: 0;
2906
+ align-items: flex-end;
2907
+ }
2908
+ .tao-toast-viewport--topLeft[data-v-17111588] {
2909
+ top: 0;
2910
+ left: 0;
2911
+ align-items: flex-start;
2912
+ }
2913
+ .tao-toast-viewport--topCenter[data-v-17111588] {
2914
+ top: 0;
2915
+ left: 0;
2916
+ right: 0;
2917
+ justify-content: center;
2918
+ }
2919
+ .tao-toast-viewport--bottomRight[data-v-17111588] {
2920
+ right: 0;
2921
+ bottom: 0;
2922
+ align-items: flex-end;
2923
+ }
2924
+ .tao-toast-viewport--bottomRight .tao-toast-viewport__stack[data-v-17111588],
2925
+ .tao-toast-viewport--bottomLeft .tao-toast-viewport__stack[data-v-17111588],
2926
+ .tao-toast-viewport--bottomCenter .tao-toast-viewport__stack[data-v-17111588] {
2927
+ flex-direction: column-reverse;
2928
+ }
2929
+ .tao-toast-viewport--bottomLeft[data-v-17111588] {
2930
+ left: 0;
2931
+ bottom: 0;
2932
+ align-items: flex-start;
2933
+ }
2934
+ .tao-toast-viewport--bottomCenter[data-v-17111588] {
2935
+ bottom: 0;
2936
+ left: 0;
2937
+ right: 0;
2938
+ justify-content: center;
2939
+ }
2940
+ .tao-toast-viewport--center[data-v-17111588] {
2941
+ inset: 0;
2942
+ justify-content: center;
2943
+ align-items: center;
2944
+ }
2945
+ .tao-toast-top-enter-active[data-v-17111588],
2946
+ .tao-toast-bottom-enter-active[data-v-17111588],
2947
+ .tao-toast-center-enter-active[data-v-17111588] {
2948
+ animation: tao-toast-bounce-in-17111588 var(--tao-duration-slow) var(--tao-ease-base);
2949
+ }
2950
+ .tao-toast-top-leave-active[data-v-17111588],
2951
+ .tao-toast-bottom-leave-active[data-v-17111588],
2952
+ .tao-toast-center-leave-active[data-v-17111588] {
2953
+ pointer-events: none;
2954
+ overflow: hidden;
2955
+ transition: grid-template-rows var(--tao-duration-slow) var(--tao-ease-base);
2956
+ }
2957
+ .tao-toast-top-leave-from[data-v-17111588],
2958
+ .tao-toast-bottom-leave-from[data-v-17111588],
2959
+ .tao-toast-center-leave-from[data-v-17111588] {
2960
+ grid-template-rows: 1fr;
2961
+ }
2962
+ .tao-toast-top-leave-to[data-v-17111588],
2963
+ .tao-toast-bottom-leave-to[data-v-17111588],
2964
+ .tao-toast-center-leave-to[data-v-17111588] {
2965
+ grid-template-rows: 0fr;
2966
+ }
2967
+ .tao-toast-top-leave-active .tao-toast-slot__inner[data-v-17111588],
2968
+ .tao-toast-center-leave-active .tao-toast-slot__inner[data-v-17111588] {
2969
+ animation: tao-toast-fade-out-up-17111588 var(--tao-duration-slow) var(--tao-ease-base);
2970
+ }
2971
+ .tao-toast-bottom-leave-active .tao-toast-slot__inner[data-v-17111588] {
2972
+ animation: tao-toast-fade-out-down-17111588 var(--tao-duration-slow) var(--tao-ease-base);
2973
+ }
2974
+ @keyframes tao-toast-bounce-in-17111588 {
2975
+ 0% {
2976
+ opacity: 0;
2977
+ transform: translateY(18px) scale(0.96);
2978
+ }
2979
+ 60% {
2980
+ opacity: 1;
2981
+ transform: translateY(-4px) scale(1.02);
2982
+ }
2983
+ 100% {
2984
+ opacity: 1;
2985
+ transform: translateY(0) scale(1);
2986
+ }
2987
+ }
2988
+ @keyframes tao-toast-fade-out-up-17111588 {
2989
+ to {
2990
+ opacity: 0;
2991
+ transform: translateY(-8px) scale(0.98);
2992
+ }
2993
+ }
2994
+ @keyframes tao-toast-fade-out-down-17111588 {
2995
+ to {
2996
+ opacity: 0;
2997
+ transform: translateY(8px) scale(0.98);
2998
+ }
2999
+ }
3000
+
3001
+ .tao-confirm[data-v-503301db] {
3002
+ position: fixed;
3003
+ inset: 0;
3004
+ z-index: 1200;
3005
+ display: flex;
3006
+ align-items: center;
3007
+ justify-content: center;
3008
+ padding: var(--tao-space-5);
3009
+ }
3010
+ .tao-confirm__overlay[data-v-503301db] {
3011
+ position: absolute;
3012
+ inset: 0;
3013
+ background: var(--tao-color-overlay);
3014
+ }
3015
+ .tao-confirm__panel[data-v-503301db] {
3016
+ --tao-confirm-tone: var(--tao-color-warning);
3017
+
3018
+ position: relative;
3019
+ z-index: 1;
3020
+ display: grid;
3021
+ grid-template-columns: auto 1fr;
3022
+ grid-template-areas:
3023
+ "icon body"
3024
+ "actions actions";
3025
+ gap: var(--tao-space-3) var(--tao-space-4);
3026
+ width: min(420px, 100%);
3027
+ padding: var(--tao-space-5);
3028
+ background: color-mix(in srgb, var(--tao-confirm-tone) 8%, var(--tao-color-surface-raised));
3029
+ border: 1px solid var(--tao-color-border);
3030
+ border-radius: var(--tao-radius-panel);
3031
+ box-shadow: var(--tao-shadow-overlay);
1212
3032
  outline: none;
1213
3033
  }
1214
- .tao-pin-code__value--active[data-v-b8c7bf2c] {
1215
- border-color: var(--tao-color-accent);
3034
+ .tao-confirm__panel--danger[data-v-503301db] {
3035
+ --tao-confirm-tone: var(--tao-color-danger);
3036
+ }
3037
+ .tao-confirm__accent[data-v-503301db] {
3038
+ position: absolute;
3039
+ inset: 0 auto 0 0;
3040
+ width: 3px;
3041
+ background: var(--tao-confirm-tone);
3042
+ }
3043
+ .tao-confirm__icon[data-v-503301db] {
3044
+ grid-area: icon;
3045
+ display: inline-flex;
3046
+ margin-top: 2px;
3047
+ color: var(--tao-confirm-tone);
3048
+ }
3049
+ .tao-confirm__body[data-v-503301db] {
3050
+ grid-area: body;
3051
+ min-width: 0;
3052
+ }
3053
+ .tao-confirm__title[data-v-503301db] {
3054
+ margin: 0;
3055
+ font-size: var(--tao-font-size-lg);
3056
+ font-weight: 600;
3057
+ line-height: 1.3;
3058
+ color: var(--tao-color-text-strong);
3059
+ }
3060
+ .tao-confirm__message[data-v-503301db] {
3061
+ margin: var(--tao-space-2) 0 0;
3062
+ font-size: var(--tao-font-size-md);
3063
+ line-height: 1.45;
3064
+ color: var(--tao-color-text);
3065
+ }
3066
+ .tao-confirm__actions[data-v-503301db] {
3067
+ grid-area: actions;
3068
+ display: flex;
3069
+ justify-content: flex-end;
3070
+ gap: var(--tao-space-3);
3071
+ margin-top: var(--tao-space-1);
3072
+ }
3073
+ .tao-confirm-enter-active .tao-confirm__overlay[data-v-503301db],
3074
+ .tao-confirm-leave-active .tao-confirm__overlay[data-v-503301db] {
3075
+ transition: opacity var(--tao-duration-base) var(--tao-ease-base);
3076
+ }
3077
+ .tao-confirm-enter-from .tao-confirm__overlay[data-v-503301db],
3078
+ .tao-confirm-leave-to .tao-confirm__overlay[data-v-503301db] {
3079
+ opacity: 0;
3080
+ }
3081
+ .tao-confirm-enter-active .tao-confirm__panel[data-v-503301db] {
3082
+ animation: tao-confirm-bounce-in-503301db var(--tao-duration-slow) var(--tao-ease-base);
3083
+ }
3084
+ .tao-confirm-leave-active .tao-confirm__panel[data-v-503301db] {
3085
+ animation: tao-confirm-fade-out-503301db var(--tao-duration-base) var(--tao-ease-base);
3086
+ }
3087
+ @keyframes tao-confirm-bounce-in-503301db {
3088
+ 0% {
3089
+ opacity: 0;
3090
+ transform: translateY(18px) scale(0.96);
3091
+ }
3092
+ 60% {
3093
+ opacity: 1;
3094
+ transform: translateY(-4px) scale(1.02);
3095
+ }
3096
+ 100% {
3097
+ opacity: 1;
3098
+ transform: translateY(0) scale(1);
3099
+ }
3100
+ }
3101
+ @keyframes tao-confirm-fade-out-503301db {
3102
+ to {
3103
+ opacity: 0;
3104
+ transform: translateY(10px);
3105
+ }
1216
3106
  }
1217
3107
  /**
1218
3108
  * Tao UI — styles entry point
@@ -1254,6 +3144,14 @@ to {
1254
3144
  --tao-green-500: #2ea85c;
1255
3145
  --tao-green-600: #24924e;
1256
3146
 
3147
+ --tao-yellow-400: #e8c547;
3148
+ --tao-yellow-500: #d4a017;
3149
+ --tao-yellow-600: #b8860b;
3150
+
3151
+ --tao-blue-400: #6b9cff;
3152
+ --tao-blue-500: #4c82f7;
3153
+ --tao-blue-600: #3b6de0;
3154
+
1257
3155
  /* ---------- Spacing scale (4px base) ---------- */
1258
3156
  --tao-space-1: 4px;
1259
3157
  --tao-space-2: 8px;
@@ -1343,6 +3241,13 @@ to {
1343
3241
  --tao-color-danger-subtle: color-mix(in srgb, var(--tao-red-500) 15%, transparent);
1344
3242
  --tao-color-success: var(--tao-green-500);
1345
3243
  --tao-color-success-hover: var(--tao-green-600);
3244
+ --tao-color-success-subtle: color-mix(in srgb, var(--tao-color-success) 15%, transparent);
3245
+ --tao-color-warning: var(--tao-yellow-500);
3246
+ --tao-color-warning-hover: var(--tao-yellow-600);
3247
+ --tao-color-warning-subtle: color-mix(in srgb, var(--tao-color-warning) 15%, transparent);
3248
+ --tao-color-info: var(--tao-blue-400);
3249
+ --tao-color-info-hover: var(--tao-blue-500);
3250
+ --tao-color-info-subtle: color-mix(in srgb, var(--tao-color-info) 15%, transparent);
1346
3251
 
1347
3252
  /* ---------- Form controls ---------- */
1348
3253
  --tao-color-input-bg: var(--tao-color-surface-sunken);
@@ -1406,6 +3311,13 @@ to {
1406
3311
  --tao-color-danger-subtle: color-mix(in srgb, var(--tao-red-500) 10%, transparent);
1407
3312
  --tao-color-success: var(--tao-green-500);
1408
3313
  --tao-color-success-hover: var(--tao-green-600);
3314
+ --tao-color-success-subtle: color-mix(in srgb, var(--tao-color-success) 10%, transparent);
3315
+ --tao-color-warning: var(--tao-yellow-600);
3316
+ --tao-color-warning-hover: var(--tao-yellow-500);
3317
+ --tao-color-warning-subtle: color-mix(in srgb, var(--tao-color-warning) 12%, transparent);
3318
+ --tao-color-info: var(--tao-blue-500);
3319
+ --tao-color-info-hover: var(--tao-blue-600);
3320
+ --tao-color-info-subtle: color-mix(in srgb, var(--tao-color-info) 12%, transparent);
1409
3321
 
1410
3322
  --tao-color-input-bg: var(--tao-gray-0);
1411
3323
  --tao-color-input-text: var(--tao-gray-950);
@@ -1474,3 +3386,15 @@ input[type="number"]::-webkit-inner-spin-button {
1474
3386
  input[type="number"] {
1475
3387
  -moz-appearance: textfield !important;
1476
3388
  }
3389
+
3390
+ .tao-sr-only {
3391
+ position: absolute;
3392
+ width: 1px;
3393
+ height: 1px;
3394
+ padding: 0;
3395
+ margin: -1px;
3396
+ overflow: hidden;
3397
+ clip: rect(0, 0, 0, 0);
3398
+ white-space: nowrap;
3399
+ border: 0;
3400
+ }