@e-burgos/tucu-ui 2.7.3 → 2.8.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/base.css +225 -0
  3. package/components/inputs/select.mjs +1 -1
  4. package/components/loaders/loader.mjs +21 -21
  5. package/components/typography/index.mjs +30 -30
  6. package/index.css +1 -1
  7. package/index.js +1 -1
  8. package/macos/index.css +15 -0
  9. package/macos/sonoma/index.css +34 -0
  10. package/macos/sonoma/macos-auth.css +162 -0
  11. package/macos/sonoma/macos-backgrounds.css +314 -0
  12. package/macos/sonoma/macos-buttons.css +231 -0
  13. package/macos/sonoma/macos-cards.css +104 -0
  14. package/macos/sonoma/macos-content.css +157 -0
  15. package/macos/sonoma/macos-dialogs.css +122 -0
  16. package/macos/sonoma/macos-feedback.css +237 -0
  17. package/macos/sonoma/macos-fonts.css +7 -0
  18. package/macos/sonoma/macos-foundations.css +479 -0
  19. package/macos/sonoma/macos-inputs.css +1580 -0
  20. package/macos/sonoma/macos-layouts.css +223 -0
  21. package/macos/sonoma/macos-liquid-glass.css +279 -0
  22. package/macos/sonoma/macos-menus.css +184 -0
  23. package/macos/sonoma/macos-misc.css +635 -0
  24. package/macos/sonoma/macos-navigation.css +145 -0
  25. package/macos/sonoma/macos-selection.css +237 -0
  26. package/macos/sonoma/macos-sidebar.css +416 -0
  27. package/macos/sonoma/macos-tables.css +318 -0
  28. package/macos/sonoma/macos-toolbar.css +302 -0
  29. package/macos/sonoma/macos-typography.css +485 -0
  30. package/macos/sonoma/macos-window.css +273 -0
  31. package/macos/tahoe/index.css +34 -0
  32. package/macos/tahoe/macos-auth.css +162 -0
  33. package/macos/tahoe/macos-backgrounds.css +314 -0
  34. package/macos/tahoe/macos-buttons.css +286 -0
  35. package/macos/tahoe/macos-cards.css +125 -0
  36. package/macos/tahoe/macos-content.css +157 -0
  37. package/macos/tahoe/macos-dialogs.css +195 -0
  38. package/macos/tahoe/macos-feedback.css +273 -0
  39. package/macos/tahoe/macos-fonts.css +7 -0
  40. package/macos/tahoe/macos-foundations.css +516 -0
  41. package/macos/tahoe/macos-inputs.css +1656 -0
  42. package/macos/tahoe/macos-layouts.css +438 -0
  43. package/macos/tahoe/macos-liquid-glass.css +279 -0
  44. package/macos/tahoe/macos-menus.css +184 -0
  45. package/macos/tahoe/macos-misc.css +635 -0
  46. package/macos/tahoe/macos-navigation.css +191 -0
  47. package/macos/tahoe/macos-selection.css +237 -0
  48. package/macos/tahoe/macos-sidebar.css +420 -0
  49. package/macos/tahoe/macos-tables.css +320 -0
  50. package/macos/tahoe/macos-toolbar.css +304 -0
  51. package/macos/tahoe/macos-typography.css +485 -0
  52. package/macos/tahoe/macos-window.css +273 -0
  53. package/package.json +3 -2
  54. package/theme.css +812 -0
  55. package/third-party.css +39 -0
  56. package/utilities.css +105 -0
@@ -0,0 +1,1580 @@
1
+ /* ============================================================
2
+ macOS Sonoma 14 — Input/Form Control Overrides
3
+
4
+ Targets: Input, Select, Checkbox, Radio, Switch, InputSearcher,
5
+ TextArea, DatePicker, TimePicker, PasswordInput
6
+
7
+ References:
8
+ - Apple HIG > Text Fields: 22pt height, 10pt radius (Sonoma), 0.5px border
9
+ - Apple HIG > Toggles: Switch 38×22pt, Checkbox 14×14pt(r3), Radio 16×16pt
10
+ - Apple HIG > Color: controlAccentColor = systemBlue
11
+ - Focus ring: 3px systemBlue at 48% opacity
12
+ ============================================================ */
13
+
14
+ /* ── Text Input ──────────────────────────────────────────────── */
15
+ html.macos [data-tucu='input'] {
16
+ min-height: var(--macos-control-height);
17
+ font-family: var(--macos-font-family);
18
+ font-size: var(--macos-font-size-body);
19
+ letter-spacing: var(--macos-tracking-13);
20
+ }
21
+
22
+ html.macos [data-tucu='input-control'] {
23
+ border-radius: var(--macos-radius-md);
24
+ border: 1px solid var(--macos-separator) !important;
25
+ background-color: var(--macos-control-bg) !important;
26
+ color: var(--macos-label) !important;
27
+ font-family: var(--macos-font-family);
28
+ font-size: var(--macos-font-size-body);
29
+ letter-spacing: var(--macos-tracking-13);
30
+ transition: box-shadow var(--macos-transition-fast),
31
+ border-color var(--macos-transition-fast),
32
+ background-color var(--macos-transition-fast);
33
+ }
34
+
35
+ html.macos [data-tucu='input-control']::placeholder {
36
+ color: var(--macos-secondary-label) !important;
37
+ }
38
+
39
+ html.macos [data-tucu='input-control']:focus,
40
+ html.macos [data-tucu='input']:focus-within {
41
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring) !important;
42
+ outline: none;
43
+ border-color: var(--macos-control-accent) !important;
44
+ }
45
+
46
+ html.macos [data-tucu='input-control']:disabled,
47
+ html.macos [data-tucu='input']:disabled {
48
+ background-color: var(--macos-control-bg) !important;
49
+ opacity: 0.55;
50
+ cursor: default;
51
+ }
52
+
53
+ html.macos [data-tucu='input'][data-size='sm'] {
54
+ min-height: 32px;
55
+ }
56
+
57
+ html.macos [data-tucu='input'][data-size='sm'] [data-tucu='input-control'] {
58
+ min-height: 32px !important;
59
+ padding-inline: 12px !important;
60
+ font-size: var(--macos-font-size-callout);
61
+ }
62
+
63
+ html.macos [data-tucu='input'][data-size='md'] {
64
+ min-height: var(--macos-control-height);
65
+ }
66
+
67
+ html.macos [data-tucu='input'][data-size='md'] [data-tucu='input-control'] {
68
+ min-height: var(--macos-control-height) !important;
69
+ padding-inline: 16px !important;
70
+ }
71
+
72
+ html.macos [data-tucu='input'][data-size='lg'] {
73
+ min-height: 48px;
74
+ }
75
+
76
+ html.macos [data-tucu='input'][data-size='lg'] [data-tucu='input-control'] {
77
+ min-height: 48px !important;
78
+ padding-inline: 16px !important;
79
+ }
80
+
81
+ /* Input variants */
82
+ html.macos
83
+ [data-tucu='input'][data-variant='ghost']
84
+ [data-tucu='input-control'] {
85
+ background-color: var(--macos-control-bg) !important;
86
+ border: 1px solid var(--macos-separator) !important;
87
+ }
88
+
89
+ html.macos
90
+ [data-tucu='input'][data-variant='solid']
91
+ [data-tucu='input-control'] {
92
+ background-color: var(--macos-gray6) !important;
93
+ border: 1px solid var(--macos-separator) !important;
94
+ }
95
+
96
+ html.macos
97
+ [data-tucu='input'][data-variant='transparent']
98
+ [data-tucu='input-control'] {
99
+ border: none !important;
100
+ background-color: color-mix(
101
+ in srgb,
102
+ var(--macos-gray6) 82%,
103
+ var(--macos-control-bg)
104
+ ) !important;
105
+ }
106
+
107
+ /* Dark mode inputs */
108
+ html.macos.dark [data-tucu='input-control'] {
109
+ background-color: var(--macos-control-bg) !important;
110
+ border-color: var(--macos-separator) !important;
111
+ }
112
+
113
+ html.macos.dark
114
+ [data-tucu='input'][data-variant='solid']
115
+ [data-tucu='input-control'] {
116
+ background-color: var(--macos-gray5) !important;
117
+ }
118
+
119
+ html.macos.dark
120
+ [data-tucu='input'][data-variant='transparent']
121
+ [data-tucu='input-control'] {
122
+ background-color: color-mix(
123
+ in srgb,
124
+ var(--macos-gray5) 82%,
125
+ var(--macos-control-bg)
126
+ ) !important;
127
+ border: none !important;
128
+ }
129
+
130
+ html.macos [data-tucu='input'][data-color='primary'] {
131
+ --macos-input-color: var(--macos-system-blue);
132
+ }
133
+
134
+ html.macos [data-tucu='input'][data-color='secondary'] {
135
+ --macos-input-color: var(--macos-secondary-label);
136
+ }
137
+
138
+ html.macos [data-tucu='input'][data-color='danger'] {
139
+ --macos-input-color: var(--macos-system-red);
140
+ }
141
+
142
+ html.macos [data-tucu='input'][data-color='info'] {
143
+ --macos-input-color: var(--macos-system-blue);
144
+ }
145
+
146
+ html.macos [data-tucu='input'][data-color='success'] {
147
+ --macos-input-color: var(--macos-system-green);
148
+ }
149
+
150
+ html.macos [data-tucu='input'][data-color='warning'] {
151
+ --macos-input-color: var(--macos-system-orange);
152
+ }
153
+
154
+ html.macos [data-tucu='input'][data-color] [data-tucu='input-control'] {
155
+ border-color: color-mix(
156
+ in srgb,
157
+ var(--macos-input-color) 42%,
158
+ var(--macos-separator)
159
+ ) !important;
160
+ caret-color: var(--macos-input-color);
161
+ }
162
+
163
+ html.macos
164
+ [data-tucu='input'][data-color][data-variant='ghost']
165
+ [data-tucu='input-control'] {
166
+ background-color: color-mix(
167
+ in srgb,
168
+ var(--macos-input-color) 10%,
169
+ var(--macos-control-bg)
170
+ ) !important;
171
+ }
172
+
173
+ html.macos
174
+ [data-tucu='input'][data-color][data-variant='solid']
175
+ [data-tucu='input-control'] {
176
+ background-color: color-mix(
177
+ in srgb,
178
+ var(--macos-input-color) 12%,
179
+ var(--macos-gray6)
180
+ ) !important;
181
+ }
182
+
183
+ html.macos
184
+ [data-tucu='input'][data-color][data-variant='transparent']
185
+ [data-tucu='input-control'] {
186
+ background-color: color-mix(
187
+ in srgb,
188
+ var(--macos-input-color) 12%,
189
+ color-mix(in srgb, var(--macos-gray6) 82%, var(--macos-control-bg))
190
+ ) !important;
191
+ }
192
+
193
+ html.macos.dark [data-tucu='input'][data-color] [data-tucu='input-control'] {
194
+ border-color: color-mix(
195
+ in srgb,
196
+ var(--macos-input-color) 48%,
197
+ var(--macos-separator)
198
+ ) !important;
199
+ }
200
+
201
+ html.macos.dark
202
+ [data-tucu='input'][data-color][data-variant='ghost']
203
+ [data-tucu='input-control'] {
204
+ background-color: color-mix(
205
+ in srgb,
206
+ var(--macos-input-color) 14%,
207
+ var(--macos-control-bg)
208
+ ) !important;
209
+ }
210
+
211
+ html.macos.dark
212
+ [data-tucu='input'][data-color][data-variant='solid']
213
+ [data-tucu='input-control'] {
214
+ background-color: color-mix(
215
+ in srgb,
216
+ var(--macos-input-color) 16%,
217
+ var(--macos-gray5)
218
+ ) !important;
219
+ }
220
+
221
+ html.macos.dark
222
+ [data-tucu='input'][data-color][data-variant='transparent']
223
+ [data-tucu='input-control'] {
224
+ background-color: color-mix(
225
+ in srgb,
226
+ var(--macos-input-color) 16%,
227
+ color-mix(in srgb, var(--macos-gray5) 82%, var(--macos-control-bg))
228
+ ) !important;
229
+ }
230
+
231
+ /* ── Input Label ─────────────────────────────────────────────── */
232
+ html.macos [data-tucu='input-label'] {
233
+ font-size: var(--macos-font-size-callout);
234
+ font-weight: var(--macos-font-weight-medium);
235
+ color: var(--macos-secondary-label);
236
+ margin-bottom: var(--macos-space-1);
237
+ }
238
+
239
+ /* ── TextArea ────────────────────────────────────────────────── */
240
+ html.macos [data-tucu='textarea'] {
241
+ border-radius: var(--macos-radius-md);
242
+ border: 1px solid var(--macos-separator) !important;
243
+ background-color: var(--macos-control-bg) !important;
244
+ color: var(--macos-label) !important;
245
+ font-family: var(--macos-font-family);
246
+ font-size: var(--macos-font-size-body);
247
+ padding: var(--macos-space-2);
248
+ transition: box-shadow var(--macos-transition-fast);
249
+ }
250
+
251
+ html.macos [data-tucu='textarea'][data-size='sm'] {
252
+ min-height: 80px !important;
253
+ padding: 10px 12px !important;
254
+ font-size: var(--macos-font-size-callout);
255
+ }
256
+
257
+ html.macos [data-tucu='textarea'][data-size='md'] {
258
+ min-height: 96px !important;
259
+ padding: var(--macos-space-2) !important;
260
+ }
261
+
262
+ html.macos [data-tucu='textarea'][data-size='lg'] {
263
+ min-height: 128px !important;
264
+ padding: 14px 16px !important;
265
+ }
266
+
267
+ html.macos [data-tucu='textarea']::placeholder {
268
+ color: var(--macos-secondary-label) !important;
269
+ }
270
+
271
+ html.macos [data-tucu='textarea']:focus {
272
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring) !important;
273
+ outline: none;
274
+ border-color: var(--macos-control-accent) !important;
275
+ }
276
+
277
+ html.macos.dark [data-tucu='textarea'] {
278
+ background-color: var(--macos-control-bg);
279
+ border-color: var(--macos-separator) !important;
280
+ }
281
+
282
+ html.macos [data-tucu='textarea'][data-color='primary'] {
283
+ --macos-textarea-color: var(--macos-system-blue);
284
+ }
285
+
286
+ html.macos [data-tucu='textarea'][data-color='secondary'] {
287
+ --macos-textarea-color: var(--macos-secondary-label);
288
+ }
289
+
290
+ html.macos [data-tucu='textarea'][data-color='danger'] {
291
+ --macos-textarea-color: var(--macos-system-red);
292
+ }
293
+
294
+ html.macos [data-tucu='textarea'][data-color='info'] {
295
+ --macos-textarea-color: var(--macos-system-blue);
296
+ }
297
+
298
+ html.macos [data-tucu='textarea'][data-color='success'] {
299
+ --macos-textarea-color: var(--macos-system-green);
300
+ }
301
+
302
+ html.macos [data-tucu='textarea'][data-color='warning'] {
303
+ --macos-textarea-color: var(--macos-system-orange);
304
+ }
305
+
306
+ html.macos [data-tucu='textarea'][data-color] {
307
+ border-color: color-mix(
308
+ in srgb,
309
+ var(--macos-textarea-color) 42%,
310
+ var(--macos-separator)
311
+ ) !important;
312
+ caret-color: var(--macos-textarea-color);
313
+ }
314
+
315
+ html.macos [data-tucu='textarea'][data-color][data-variant='ghost'] {
316
+ background-color: color-mix(
317
+ in srgb,
318
+ var(--macos-textarea-color) 10%,
319
+ var(--macos-control-bg)
320
+ ) !important;
321
+ }
322
+
323
+ html.macos [data-tucu='textarea'][data-variant='transparent'] {
324
+ border: none !important;
325
+ background-color: color-mix(
326
+ in srgb,
327
+ var(--macos-gray6) 82%,
328
+ var(--macos-control-bg)
329
+ ) !important;
330
+ }
331
+
332
+ html.macos [data-tucu='textarea'][data-color][data-variant='transparent'] {
333
+ background-color: color-mix(
334
+ in srgb,
335
+ var(--macos-textarea-color) 12%,
336
+ color-mix(in srgb, var(--macos-gray6) 82%, var(--macos-control-bg))
337
+ ) !important;
338
+ }
339
+
340
+ html.macos [data-tucu='textarea'][data-variant='solid'] {
341
+ background-color: var(--macos-gray6) !important;
342
+ }
343
+
344
+ html.macos [data-tucu='textarea'][data-color][data-variant='solid'] {
345
+ background-color: color-mix(
346
+ in srgb,
347
+ var(--macos-textarea-color) 12%,
348
+ var(--macos-gray6)
349
+ ) !important;
350
+ }
351
+
352
+ html.macos.dark [data-tucu='textarea'][data-variant='transparent'] {
353
+ border: none !important;
354
+ background-color: color-mix(
355
+ in srgb,
356
+ var(--macos-gray5) 82%,
357
+ var(--macos-control-bg)
358
+ ) !important;
359
+ }
360
+
361
+ html.macos.dark [data-tucu='textarea'][data-color] {
362
+ border-color: color-mix(
363
+ in srgb,
364
+ var(--macos-textarea-color) 48%,
365
+ var(--macos-separator)
366
+ ) !important;
367
+ }
368
+
369
+ html.macos.dark [data-tucu='textarea'][data-color][data-variant='ghost'] {
370
+ background-color: color-mix(
371
+ in srgb,
372
+ var(--macos-textarea-color) 14%,
373
+ var(--macos-control-bg)
374
+ ) !important;
375
+ }
376
+
377
+ html.macos.dark [data-tucu='textarea'][data-color][data-variant='transparent'] {
378
+ background-color: color-mix(
379
+ in srgb,
380
+ var(--macos-textarea-color) 16%,
381
+ color-mix(in srgb, var(--macos-gray5) 82%, var(--macos-control-bg))
382
+ ) !important;
383
+ }
384
+
385
+ html.macos.dark [data-tucu='textarea'][data-variant='solid'] {
386
+ background-color: var(--macos-gray5) !important;
387
+ }
388
+
389
+ html.macos.dark [data-tucu='textarea'][data-color][data-variant='solid'] {
390
+ background-color: color-mix(
391
+ in srgb,
392
+ var(--macos-textarea-color) 16%,
393
+ var(--macos-gray5)
394
+ ) !important;
395
+ }
396
+
397
+ /* ── Select / Dropdown ───────────────────────────────────────── */
398
+ html.macos [data-tucu='select'] {
399
+ min-height: var(--macos-control-height);
400
+ font-family: var(--macos-font-family);
401
+ font-size: var(--macos-font-size-body);
402
+ }
403
+
404
+ html.macos [data-tucu='select-trigger'] {
405
+ border-radius: var(--macos-radius-md);
406
+ border: 1px solid var(--macos-separator) !important;
407
+ background-color: var(--macos-control-bg) !important;
408
+ color: var(--macos-label) !important;
409
+ font-family: var(--macos-font-family);
410
+ font-size: var(--macos-font-size-body);
411
+ transition: box-shadow var(--macos-transition-fast),
412
+ border-color var(--macos-transition-fast),
413
+ background-color var(--macos-transition-fast);
414
+ }
415
+
416
+ html.macos [data-tucu='select'][data-size='sm'] {
417
+ min-height: 32px;
418
+ }
419
+
420
+ html.macos [data-tucu='select'][data-size='sm'] [data-tucu='select-trigger'] {
421
+ min-height: 32px !important;
422
+ padding-inline: 12px !important;
423
+ font-size: var(--macos-font-size-callout);
424
+ }
425
+
426
+ html.macos [data-tucu='select'][data-size='md'] {
427
+ min-height: var(--macos-control-height);
428
+ }
429
+
430
+ html.macos [data-tucu='select'][data-size='md'] [data-tucu='select-trigger'] {
431
+ min-height: var(--macos-control-height) !important;
432
+ padding-inline: 16px !important;
433
+ }
434
+
435
+ html.macos [data-tucu='select'][data-size='lg'] {
436
+ min-height: 48px;
437
+ }
438
+
439
+ html.macos [data-tucu='select'][data-size='lg'] [data-tucu='select-trigger'] {
440
+ min-height: 48px !important;
441
+ padding-inline: 16px !important;
442
+ }
443
+
444
+ html.macos [data-tucu='select-trigger']:focus,
445
+ html.macos [data-tucu='select']:focus-within {
446
+ box-shadow: 0 0 0 var(--macos-focus-ring-width) var(--macos-focus-ring) !important;
447
+ border-color: var(--macos-control-accent) !important;
448
+ }
449
+
450
+ html.macos
451
+ [data-tucu='select'][data-variant='transparent']
452
+ [data-tucu='select-trigger'] {
453
+ border: none !important;
454
+ background-color: color-mix(
455
+ in srgb,
456
+ var(--macos-gray6) 82%,
457
+ var(--macos-control-bg)
458
+ ) !important;
459
+ }
460
+
461
+ html.macos
462
+ [data-tucu='select'][data-variant='solid']
463
+ [data-tucu='select-trigger'] {
464
+ background-color: var(--macos-gray6) !important;
465
+ }
466
+
467
+ html.macos.dark [data-tucu='select-trigger'] {
468
+ background-color: var(--macos-control-bg) !important;
469
+ border-color: var(--macos-separator) !important;
470
+ }
471
+
472
+ html.macos.dark
473
+ [data-tucu='select'][data-variant='solid']
474
+ [data-tucu='select-trigger'] {
475
+ background-color: var(--macos-gray5) !important;
476
+ }
477
+
478
+ html.macos.dark
479
+ [data-tucu='select'][data-variant='transparent']
480
+ [data-tucu='select-trigger'] {
481
+ border: none !important;
482
+ background-color: color-mix(
483
+ in srgb,
484
+ var(--macos-gray5) 82%,
485
+ var(--macos-control-bg)
486
+ ) !important;
487
+ }
488
+
489
+ html.macos [data-tucu='select'][data-color='primary'] {
490
+ --macos-select-color: var(--macos-system-blue);
491
+ }
492
+
493
+ html.macos [data-tucu='select'][data-color='secondary'] {
494
+ --macos-select-color: var(--macos-secondary-label);
495
+ }
496
+
497
+ html.macos [data-tucu='select'][data-color='danger'] {
498
+ --macos-select-color: var(--macos-system-red);
499
+ }
500
+
501
+ html.macos [data-tucu='select'][data-color='info'] {
502
+ --macos-select-color: var(--macos-system-blue);
503
+ }
504
+
505
+ html.macos [data-tucu='select'][data-color='success'] {
506
+ --macos-select-color: var(--macos-system-green);
507
+ }
508
+
509
+ html.macos [data-tucu='select'][data-color='warning'] {
510
+ --macos-select-color: var(--macos-system-orange);
511
+ }
512
+
513
+ html.macos [data-tucu='select'][data-color] [data-tucu='select-trigger'] {
514
+ border-color: color-mix(
515
+ in srgb,
516
+ var(--macos-select-color) 42%,
517
+ var(--macos-separator)
518
+ ) !important;
519
+ }
520
+
521
+ html.macos
522
+ [data-tucu='select'][data-color][data-variant='ghost']
523
+ [data-tucu='select-trigger'] {
524
+ background-color: color-mix(
525
+ in srgb,
526
+ var(--macos-select-color) 10%,
527
+ var(--macos-control-bg)
528
+ ) !important;
529
+ }
530
+
531
+ html.macos
532
+ [data-tucu='select'][data-color][data-variant='solid']
533
+ [data-tucu='select-trigger'] {
534
+ background-color: color-mix(
535
+ in srgb,
536
+ var(--macos-select-color) 12%,
537
+ var(--macos-gray6)
538
+ ) !important;
539
+ }
540
+
541
+ html.macos
542
+ [data-tucu='select'][data-color][data-variant='transparent']
543
+ [data-tucu='select-trigger'] {
544
+ background-color: color-mix(
545
+ in srgb,
546
+ var(--macos-select-color) 12%,
547
+ color-mix(in srgb, var(--macos-gray6) 82%, var(--macos-control-bg))
548
+ ) !important;
549
+ }
550
+
551
+ html.macos.dark [data-tucu='select'][data-color] [data-tucu='select-trigger'] {
552
+ border-color: color-mix(
553
+ in srgb,
554
+ var(--macos-select-color) 48%,
555
+ var(--macos-separator)
556
+ ) !important;
557
+ }
558
+
559
+ html.macos.dark
560
+ [data-tucu='select'][data-color][data-variant='ghost']
561
+ [data-tucu='select-trigger'] {
562
+ background-color: color-mix(
563
+ in srgb,
564
+ var(--macos-select-color) 14%,
565
+ var(--macos-control-bg)
566
+ ) !important;
567
+ }
568
+
569
+ html.macos.dark
570
+ [data-tucu='select'][data-color][data-variant='solid']
571
+ [data-tucu='select-trigger'] {
572
+ background-color: color-mix(
573
+ in srgb,
574
+ var(--macos-select-color) 16%,
575
+ var(--macos-gray5)
576
+ ) !important;
577
+ }
578
+
579
+ html.macos.dark
580
+ [data-tucu='select'][data-color][data-variant='transparent']
581
+ [data-tucu='select-trigger'] {
582
+ background-color: color-mix(
583
+ in srgb,
584
+ var(--macos-select-color) 16%,
585
+ color-mix(in srgb, var(--macos-gray5) 82%, var(--macos-control-bg))
586
+ ) !important;
587
+ }
588
+
589
+ /* ── PinCode ─────────────────────────────────────────────────── */
590
+ html.macos [data-tucu='pin-code-input'] {
591
+ border-radius: var(--macos-radius-md);
592
+ border: 1px solid var(--macos-separator) !important;
593
+ background-color: var(--macos-control-bg) !important;
594
+ color: var(--macos-label) !important;
595
+ font-family: var(--macos-font-family);
596
+ font-size: var(--macos-font-size-body);
597
+ transition: box-shadow var(--macos-transition-fast),
598
+ border-color var(--macos-transition-fast),
599
+ background-color var(--macos-transition-fast);
600
+ }
601
+
602
+ html.macos [data-tucu='pin-code-input']::placeholder {
603
+ color: var(--macos-secondary-label) !important;
604
+ }
605
+
606
+ html.macos [data-tucu='pin-code-input']:focus {
607
+ box-shadow: none !important;
608
+ outline: none;
609
+ border-color: var(--macos-control-accent) !important;
610
+ }
611
+
612
+ html.macos
613
+ [data-tucu='pin-code'][data-variant='ghost']
614
+ [data-tucu='pin-code-input'] {
615
+ background-color: var(--macos-control-bg) !important;
616
+ }
617
+
618
+ html.macos
619
+ [data-tucu='pin-code'][data-variant='solid']
620
+ [data-tucu='pin-code-input'] {
621
+ background-color: var(--macos-gray6) !important;
622
+ }
623
+
624
+ html.macos
625
+ [data-tucu='pin-code'][data-variant='transparent']
626
+ [data-tucu='pin-code-input'] {
627
+ background-color: color-mix(
628
+ in srgb,
629
+ var(--macos-gray6) 82%,
630
+ var(--macos-control-bg)
631
+ ) !important;
632
+ border: none !important;
633
+ }
634
+
635
+ html.macos.dark [data-tucu='pin-code-input'] {
636
+ background-color: var(--macos-control-bg) !important;
637
+ border-color: var(--macos-separator) !important;
638
+ }
639
+
640
+ html.macos.dark
641
+ [data-tucu='pin-code'][data-variant='solid']
642
+ [data-tucu='pin-code-input'] {
643
+ background-color: var(--macos-gray5) !important;
644
+ }
645
+
646
+ html.macos.dark
647
+ [data-tucu='pin-code'][data-variant='transparent']
648
+ [data-tucu='pin-code-input'] {
649
+ background-color: color-mix(
650
+ in srgb,
651
+ var(--macos-gray5) 82%,
652
+ var(--macos-control-bg)
653
+ ) !important;
654
+ border: none !important;
655
+ }
656
+
657
+ html.macos [data-tucu='pin-code'][data-color='primary'] {
658
+ --macos-pin-code-color: var(--macos-system-blue);
659
+ }
660
+
661
+ html.macos [data-tucu='pin-code'][data-color='secondary'] {
662
+ --macos-pin-code-color: var(--macos-secondary-label);
663
+ }
664
+
665
+ html.macos [data-tucu='pin-code'][data-color='danger'] {
666
+ --macos-pin-code-color: var(--macos-system-red);
667
+ }
668
+
669
+ html.macos [data-tucu='pin-code'][data-color='info'] {
670
+ --macos-pin-code-color: var(--macos-system-blue);
671
+ }
672
+
673
+ html.macos [data-tucu='pin-code'][data-color='success'] {
674
+ --macos-pin-code-color: var(--macos-system-green);
675
+ }
676
+
677
+ html.macos [data-tucu='pin-code'][data-color='warning'] {
678
+ --macos-pin-code-color: var(--macos-system-orange);
679
+ }
680
+
681
+ html.macos [data-tucu='pin-code'][data-color] [data-tucu='pin-code-input'] {
682
+ border-color: color-mix(
683
+ in srgb,
684
+ var(--macos-pin-code-color) 42%,
685
+ var(--macos-separator)
686
+ ) !important;
687
+ caret-color: var(--macos-pin-code-color);
688
+ }
689
+
690
+ html.macos
691
+ [data-tucu='pin-code'][data-color][data-variant='ghost']
692
+ [data-tucu='pin-code-input'] {
693
+ background-color: color-mix(
694
+ in srgb,
695
+ var(--macos-pin-code-color) 10%,
696
+ var(--macos-control-bg)
697
+ ) !important;
698
+ }
699
+
700
+ html.macos
701
+ [data-tucu='pin-code'][data-color][data-variant='solid']
702
+ [data-tucu='pin-code-input'] {
703
+ background-color: color-mix(
704
+ in srgb,
705
+ var(--macos-pin-code-color) 12%,
706
+ var(--macos-gray6)
707
+ ) !important;
708
+ }
709
+
710
+ html.macos
711
+ [data-tucu='pin-code'][data-color][data-variant='transparent']
712
+ [data-tucu='pin-code-input'] {
713
+ background-color: color-mix(
714
+ in srgb,
715
+ var(--macos-pin-code-color) 12%,
716
+ color-mix(in srgb, var(--macos-gray6) 82%, var(--macos-control-bg))
717
+ ) !important;
718
+ }
719
+
720
+ html.macos.dark
721
+ [data-tucu='pin-code'][data-color]
722
+ [data-tucu='pin-code-input'] {
723
+ border-color: color-mix(
724
+ in srgb,
725
+ var(--macos-pin-code-color) 48%,
726
+ var(--macos-separator)
727
+ ) !important;
728
+ }
729
+
730
+ html.macos.dark
731
+ [data-tucu='pin-code'][data-color][data-variant='ghost']
732
+ [data-tucu='pin-code-input'] {
733
+ background-color: color-mix(
734
+ in srgb,
735
+ var(--macos-pin-code-color) 14%,
736
+ var(--macos-control-bg)
737
+ ) !important;
738
+ }
739
+
740
+ html.macos.dark
741
+ [data-tucu='pin-code'][data-color][data-variant='solid']
742
+ [data-tucu='pin-code-input'] {
743
+ background-color: color-mix(
744
+ in srgb,
745
+ var(--macos-pin-code-color) 16%,
746
+ var(--macos-gray5)
747
+ ) !important;
748
+ }
749
+
750
+ html.macos.dark
751
+ [data-tucu='pin-code'][data-color][data-variant='transparent']
752
+ [data-tucu='pin-code-input'] {
753
+ background-color: color-mix(
754
+ in srgb,
755
+ var(--macos-pin-code-color) 16%,
756
+ color-mix(in srgb, var(--macos-gray5) 82%, var(--macos-control-bg))
757
+ ) !important;
758
+ }
759
+
760
+ /* Select dropdown menu */
761
+ html.macos [data-tucu='select-menu'] {
762
+ border-radius: var(--macos-radius-lg);
763
+ border: 1px solid var(--macos-separator);
764
+ background-color: var(--macos-material-popover) !important;
765
+ backdrop-filter: blur(var(--macos-material-popover-blur));
766
+ -webkit-backdrop-filter: blur(var(--macos-material-popover-blur));
767
+ box-shadow: var(--macos-shadow-popover);
768
+ padding: var(--macos-space-1) 0;
769
+ }
770
+
771
+ html.macos.dark [data-tucu='select-menu'] {
772
+ background-color: var(--macos-material-popover) !important;
773
+ border-color: var(--macos-separator);
774
+ }
775
+
776
+ html.macos [data-tucu='select-search'] {
777
+ color: var(--macos-label) !important;
778
+ }
779
+
780
+ html.macos [data-tucu='select-search']::placeholder {
781
+ color: var(--macos-secondary-label) !important;
782
+ }
783
+
784
+ html.macos [data-tucu='select-option'] {
785
+ padding: var(--macos-space-1) var(--macos-space-3);
786
+ border-radius: var(--macos-radius-sm);
787
+ margin: 0 var(--macos-space-1);
788
+ font-size: var(--macos-font-size-body);
789
+ }
790
+
791
+ html.macos [data-tucu='select-option']:hover,
792
+ html.macos [data-tucu='select-option'][data-highlighted='true'] {
793
+ background-color: rgba(0, 122, 255, 0.12);
794
+ color: var(--macos-label);
795
+ }
796
+
797
+ html.macos [data-tucu='select-option'][data-selected='true'] {
798
+ background-color: var(--macos-control-accent);
799
+ color: #ffffff;
800
+ }
801
+
802
+ /* ── Checkbox ────────────────────────────────────────────────── */
803
+ html.macos [data-tucu='checkbox'] {
804
+ border: 1px solid var(--macos-separator);
805
+ background-color: var(--macos-control-bg);
806
+ transition: all var(--macos-transition-fast);
807
+ }
808
+
809
+ html.macos [data-tucu='checkbox'][data-shape='square'] {
810
+ border-radius: var(--macos-radius-xs);
811
+ }
812
+
813
+ html.macos [data-tucu='checkbox'][data-shape='rounded'] {
814
+ border-radius: 9999px;
815
+ }
816
+
817
+ html.macos [data-tucu='checkbox'][data-size='sm'] {
818
+ width: 16px;
819
+ height: 16px;
820
+ }
821
+
822
+ html.macos [data-tucu='checkbox'][data-size='md'] {
823
+ width: 20px;
824
+ height: 20px;
825
+ }
826
+
827
+ html.macos [data-tucu='checkbox'][data-size='lg'] {
828
+ width: 24px;
829
+ height: 24px;
830
+ }
831
+
832
+ html.macos [data-tucu='checkbox'][data-variant='ghost']:not(:checked) {
833
+ background-color: var(--macos-control-bg) !important;
834
+ }
835
+
836
+ html.macos [data-tucu='checkbox'][data-variant='solid']:not(:checked) {
837
+ background-color: var(--macos-gray6) !important;
838
+ }
839
+
840
+ html.macos [data-tucu='checkbox'][data-variant='transparent']:not(:checked) {
841
+ background-color: color-mix(
842
+ in srgb,
843
+ var(--macos-gray6) 82%,
844
+ var(--macos-control-bg)
845
+ ) !important;
846
+ border: none !important;
847
+ }
848
+
849
+ html.macos.dark [data-tucu='checkbox'][data-variant='ghost']:not(:checked) {
850
+ background-color: var(--macos-control-bg) !important;
851
+ }
852
+
853
+ html.macos.dark [data-tucu='checkbox'][data-variant='solid']:not(:checked) {
854
+ background-color: var(--macos-gray5) !important;
855
+ }
856
+
857
+ html.macos.dark
858
+ [data-tucu='checkbox'][data-variant='transparent']:not(:checked) {
859
+ background-color: color-mix(
860
+ in srgb,
861
+ var(--macos-gray5) 82%,
862
+ var(--macos-control-bg)
863
+ ) !important;
864
+ border: none !important;
865
+ }
866
+
867
+ html.macos [data-tucu='checkbox'][data-variant='transparent']:checked,
868
+ html.macos
869
+ [data-tucu='checkbox'][data-variant='transparent'][data-checked='true'] {
870
+ border: none !important;
871
+ }
872
+
873
+ html.macos [data-tucu='checkbox']:checked,
874
+ html.macos [data-tucu='checkbox'][data-checked='true'] {
875
+ background-color: var(--macos-control-accent);
876
+ border-color: var(--macos-control-accent);
877
+ }
878
+
879
+ html.macos [data-tucu='checkbox']:focus-visible {
880
+ box-shadow: var(--macos-shadow-focus);
881
+ }
882
+
883
+ /* ── Radio ───────────────────────────────────────────────────── */
884
+ html.macos [data-tucu='radio'] {
885
+ border-radius: 50%;
886
+ border: 1px solid var(--macos-separator);
887
+ background-color: var(--macos-control-bg);
888
+ transition: all var(--macos-transition-fast);
889
+ }
890
+
891
+ html.macos [data-tucu='radio'][data-size='sm'] {
892
+ width: 16px;
893
+ height: 16px;
894
+ }
895
+
896
+ html.macos [data-tucu='radio'][data-size='md'] {
897
+ width: 20px;
898
+ height: 20px;
899
+ }
900
+
901
+ html.macos [data-tucu='radio'][data-size='lg'] {
902
+ width: 24px;
903
+ height: 24px;
904
+ }
905
+
906
+ html.macos [data-tucu='radio'][data-size='xl'] {
907
+ width: 28px;
908
+ height: 28px;
909
+ }
910
+
911
+ html.macos [data-tucu='radio'][data-variant='ghost']:not(:checked) {
912
+ background-color: var(--macos-control-bg) !important;
913
+ }
914
+
915
+ html.macos [data-tucu='radio'][data-variant='solid']:not(:checked) {
916
+ background-color: var(--macos-gray6) !important;
917
+ }
918
+
919
+ html.macos [data-tucu='radio'][data-variant='transparent']:not(:checked) {
920
+ background-color: color-mix(
921
+ in srgb,
922
+ var(--macos-gray6) 82%,
923
+ var(--macos-control-bg)
924
+ ) !important;
925
+ border: none !important;
926
+ }
927
+
928
+ html.macos.dark [data-tucu='radio'][data-variant='ghost']:not(:checked) {
929
+ background-color: var(--macos-control-bg) !important;
930
+ }
931
+
932
+ html.macos.dark [data-tucu='radio'][data-variant='solid']:not(:checked) {
933
+ background-color: var(--macos-gray5) !important;
934
+ }
935
+
936
+ html.macos.dark [data-tucu='radio'][data-variant='transparent']:not(:checked) {
937
+ background-color: color-mix(
938
+ in srgb,
939
+ var(--macos-gray5) 82%,
940
+ var(--macos-control-bg)
941
+ ) !important;
942
+ border: none !important;
943
+ }
944
+
945
+ html.macos [data-tucu='radio'][data-color='primary'] {
946
+ --macos-radio-color: var(--macos-system-blue);
947
+ }
948
+
949
+ html.macos [data-tucu='radio'][data-color='secondary'] {
950
+ --macos-radio-color: var(--macos-secondary-label);
951
+ }
952
+
953
+ html.macos [data-tucu='radio'][data-color='danger'] {
954
+ --macos-radio-color: var(--macos-system-red);
955
+ }
956
+
957
+ html.macos [data-tucu='radio'][data-color='info'] {
958
+ --macos-radio-color: var(--macos-system-blue);
959
+ }
960
+
961
+ html.macos [data-tucu='radio'][data-color='success'] {
962
+ --macos-radio-color: var(--macos-system-green);
963
+ }
964
+
965
+ html.macos [data-tucu='radio'][data-color='warning'] {
966
+ --macos-radio-color: var(--macos-system-orange);
967
+ }
968
+
969
+ html.macos [data-tucu='radio'][data-color] {
970
+ border-color: color-mix(
971
+ in srgb,
972
+ var(--macos-radio-color) 42%,
973
+ var(--macos-separator)
974
+ ) !important;
975
+ }
976
+
977
+ html.macos [data-tucu='radio'][data-color][data-variant='ghost']:not(:checked) {
978
+ background-color: color-mix(
979
+ in srgb,
980
+ var(--macos-radio-color) 10%,
981
+ var(--macos-control-bg)
982
+ ) !important;
983
+ }
984
+
985
+ html.macos [data-tucu='radio'][data-color][data-variant='solid']:not(:checked) {
986
+ background-color: color-mix(
987
+ in srgb,
988
+ var(--macos-radio-color) 12%,
989
+ var(--macos-gray6)
990
+ ) !important;
991
+ }
992
+
993
+ html.macos
994
+ [data-tucu='radio'][data-color][data-variant='transparent']:not(:checked) {
995
+ background-color: color-mix(
996
+ in srgb,
997
+ var(--macos-gray6) 82%,
998
+ var(--macos-control-bg)
999
+ ) !important;
1000
+ border: none !important;
1001
+ }
1002
+
1003
+ html.macos.dark [data-tucu='radio'][data-color] {
1004
+ border-color: color-mix(
1005
+ in srgb,
1006
+ var(--macos-radio-color) 48%,
1007
+ var(--macos-separator)
1008
+ ) !important;
1009
+ }
1010
+
1011
+ html.macos.dark
1012
+ [data-tucu='radio'][data-color][data-variant='ghost']:not(:checked) {
1013
+ background-color: color-mix(
1014
+ in srgb,
1015
+ var(--macos-radio-color) 14%,
1016
+ var(--macos-control-bg)
1017
+ ) !important;
1018
+ }
1019
+
1020
+ html.macos.dark
1021
+ [data-tucu='radio'][data-color][data-variant='solid']:not(:checked) {
1022
+ background-color: color-mix(
1023
+ in srgb,
1024
+ var(--macos-radio-color) 16%,
1025
+ var(--macos-gray5)
1026
+ ) !important;
1027
+ }
1028
+
1029
+ html.macos.dark
1030
+ [data-tucu='radio'][data-color][data-variant='transparent']:not(:checked) {
1031
+ background-color: color-mix(
1032
+ in srgb,
1033
+ var(--macos-gray5) 82%,
1034
+ var(--macos-control-bg)
1035
+ ) !important;
1036
+ border: none !important;
1037
+ }
1038
+
1039
+ html.macos [data-tucu='radio']:checked,
1040
+ html.macos [data-tucu='radio'][data-checked='true'] {
1041
+ background-color: var(--macos-control-accent);
1042
+ border-color: var(--macos-control-accent);
1043
+ }
1044
+
1045
+ html.macos [data-tucu='radio'][data-color]:checked,
1046
+ html.macos [data-tucu='radio'][data-color][data-checked='true'] {
1047
+ background-color: var(--macos-radio-color) !important;
1048
+ border-color: var(--macos-radio-color) !important;
1049
+ }
1050
+
1051
+ html.macos [data-tucu='radio'][data-variant='transparent']:checked,
1052
+ html.macos
1053
+ [data-tucu='radio'][data-variant='transparent'][data-checked='true'] {
1054
+ border: none !important;
1055
+ }
1056
+
1057
+ html.macos [data-tucu='radio']:focus-visible {
1058
+ box-shadow: var(--macos-shadow-focus);
1059
+ }
1060
+
1061
+ /* ── Switch / Toggle ─────────────────────────────────────────── */
1062
+ /* data-tucu="switch" is on the wrapper <div>, children are:
1063
+ label > [optional text span] + input[checkbox] + span(offLabel) + span(onLabel) + span(knob) */
1064
+
1065
+ /* Track (the checkbox input) */
1066
+ html.macos [data-tucu='switch-control'] {
1067
+ width: var(--macos-switch-width) !important;
1068
+ height: var(--macos-switch-height) !important;
1069
+ border-radius: var(--macos-radius-full);
1070
+ background-color: var(--macos-gray4) !important;
1071
+ border: none !important;
1072
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
1073
+ transition: background-color var(--macos-transition-fast);
1074
+ }
1075
+
1076
+ html.macos
1077
+ [data-tucu='switch'][data-variant='ghost']
1078
+ [data-tucu='switch-control']:not(:checked) {
1079
+ background-color: var(--macos-control-bg) !important;
1080
+ border: 1px solid var(--macos-separator) !important;
1081
+ }
1082
+
1083
+ html.macos
1084
+ [data-tucu='switch'][data-variant='solid']
1085
+ [data-tucu='switch-control']:not(:checked) {
1086
+ background-color: var(--macos-gray6) !important;
1087
+ border: 1px solid var(--macos-separator) !important;
1088
+ }
1089
+
1090
+ html.macos
1091
+ [data-tucu='switch'][data-variant='transparent']
1092
+ [data-tucu='switch-control']:not(:checked) {
1093
+ background-color: color-mix(
1094
+ in srgb,
1095
+ var(--macos-gray6) 82%,
1096
+ var(--macos-control-bg)
1097
+ ) !important;
1098
+ }
1099
+
1100
+ html.macos [data-tucu='switch'][data-color='primary'] {
1101
+ --macos-switch-color: var(--macos-system-blue);
1102
+ }
1103
+
1104
+ html.macos [data-tucu='switch'][data-color='secondary'] {
1105
+ --macos-switch-color: var(--macos-secondary-label);
1106
+ }
1107
+
1108
+ html.macos [data-tucu='switch'][data-color='danger'] {
1109
+ --macos-switch-color: var(--macos-system-red);
1110
+ }
1111
+
1112
+ html.macos [data-tucu='switch'][data-color='info'] {
1113
+ --macos-switch-color: var(--macos-system-blue);
1114
+ }
1115
+
1116
+ html.macos [data-tucu='switch'][data-color='success'] {
1117
+ --macos-switch-color: var(--macos-system-green);
1118
+ }
1119
+
1120
+ html.macos [data-tucu='switch'][data-color='warning'] {
1121
+ --macos-switch-color: var(--macos-system-orange);
1122
+ }
1123
+
1124
+ html.macos
1125
+ [data-tucu='switch'][data-color][data-variant='ghost']
1126
+ [data-tucu='switch-control']:not(:checked) {
1127
+ background-color: color-mix(
1128
+ in srgb,
1129
+ var(--macos-switch-color) 10%,
1130
+ var(--macos-control-bg)
1131
+ ) !important;
1132
+ border: 1px solid
1133
+ color-mix(in srgb, var(--macos-switch-color) 42%, var(--macos-separator)) !important;
1134
+ }
1135
+
1136
+ html.macos
1137
+ [data-tucu='switch'][data-color][data-variant='solid']
1138
+ [data-tucu='switch-control']:not(:checked) {
1139
+ background-color: color-mix(
1140
+ in srgb,
1141
+ var(--macos-switch-color) 12%,
1142
+ var(--macos-gray6)
1143
+ ) !important;
1144
+ border: 1px solid
1145
+ color-mix(in srgb, var(--macos-switch-color) 42%, var(--macos-separator)) !important;
1146
+ }
1147
+
1148
+ html.macos [data-tucu='switch-control']:checked {
1149
+ background-color: var(--macos-system-green) !important;
1150
+ }
1151
+
1152
+ html.macos
1153
+ [data-tucu='switch'][data-color]
1154
+ [data-tucu='switch-control']:checked {
1155
+ background-color: var(--macos-switch-color) !important;
1156
+ }
1157
+
1158
+ html.macos [data-tucu='switch-control']:focus-visible {
1159
+ box-shadow: var(--macos-shadow-focus);
1160
+ }
1161
+
1162
+ html.macos.dark [data-tucu='switch-control'] {
1163
+ background-color: var(--macos-gray3) !important;
1164
+ }
1165
+
1166
+ html.macos.dark
1167
+ [data-tucu='switch'][data-variant='ghost']
1168
+ [data-tucu='switch-control']:not(:checked) {
1169
+ background-color: var(--macos-control-bg) !important;
1170
+ border: 1px solid var(--macos-separator) !important;
1171
+ }
1172
+
1173
+ html.macos.dark
1174
+ [data-tucu='switch'][data-variant='solid']
1175
+ [data-tucu='switch-control']:not(:checked) {
1176
+ background-color: var(--macos-gray5) !important;
1177
+ border: 1px solid var(--macos-separator) !important;
1178
+ }
1179
+
1180
+ html.macos.dark
1181
+ [data-tucu='switch'][data-variant='transparent']
1182
+ [data-tucu='switch-control']:not(:checked) {
1183
+ background-color: color-mix(
1184
+ in srgb,
1185
+ var(--macos-gray5) 82%,
1186
+ var(--macos-control-bg)
1187
+ ) !important;
1188
+ }
1189
+
1190
+ html.macos.dark
1191
+ [data-tucu='switch'][data-color][data-variant='ghost']
1192
+ [data-tucu='switch-control']:not(:checked) {
1193
+ background-color: color-mix(
1194
+ in srgb,
1195
+ var(--macos-switch-color) 14%,
1196
+ var(--macos-control-bg)
1197
+ ) !important;
1198
+ border: 1px solid
1199
+ color-mix(in srgb, var(--macos-switch-color) 48%, var(--macos-separator)) !important;
1200
+ }
1201
+
1202
+ html.macos.dark
1203
+ [data-tucu='switch'][data-color][data-variant='solid']
1204
+ [data-tucu='switch-control']:not(:checked) {
1205
+ background-color: color-mix(
1206
+ in srgb,
1207
+ var(--macos-switch-color) 16%,
1208
+ var(--macos-gray5)
1209
+ ) !important;
1210
+ border: 1px solid
1211
+ color-mix(in srgb, var(--macos-switch-color) 48%, var(--macos-separator)) !important;
1212
+ }
1213
+
1214
+ html.macos.dark [data-tucu='switch-control']:checked {
1215
+ background-color: var(--macos-system-green) !important;
1216
+ }
1217
+
1218
+ html.macos.dark
1219
+ [data-tucu='switch'][data-color]
1220
+ [data-tucu='switch-control']:checked {
1221
+ background-color: var(--macos-switch-color) !important;
1222
+ }
1223
+
1224
+ /* Hide ON/OFF text/icon labels — macOS switches are clean */
1225
+ html.macos [data-tucu='switch'] input[type='checkbox'] ~ span:not(:last-child) {
1226
+ display: none !important;
1227
+ }
1228
+
1229
+ /* Knob (last span sibling after the input) */
1230
+ html.macos [data-tucu='switch'] input[type='checkbox'] ~ span:last-child {
1231
+ width: 18px !important;
1232
+ height: 18px !important;
1233
+ right: 18px !important;
1234
+ background-color: #ffffff !important;
1235
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15), 0 0 0 0.5px rgba(0, 0, 0, 0.04);
1236
+ }
1237
+
1238
+ /* Override Tailwind translate-x for macOS knob travel (38 - 18 - 2 = 18px → ~16px travel) */
1239
+ html.macos
1240
+ [data-tucu='switch']
1241
+ input[type='checkbox']:checked
1242
+ ~ span:last-child {
1243
+ --tw-translate-x: 16px !important;
1244
+ }
1245
+
1246
+ html.macos
1247
+ [data-tucu='switch']
1248
+ input[type='checkbox']:not(:checked)
1249
+ ~ span:last-child {
1250
+ --tw-translate-x: 0px !important;
1251
+ }
1252
+
1253
+ html.macos.dark [data-tucu='switch'] input[type='checkbox'] ~ span:last-child {
1254
+ background-color: #ffffff !important;
1255
+ }
1256
+
1257
+ /* ── InputSearcher ───────────────────────────────────────────── */
1258
+ html.macos [data-tucu='input-searcher'] {
1259
+ border-radius: var(--macos-radius-md);
1260
+ font-family: var(--macos-font-family);
1261
+ font-size: var(--macos-font-size-body);
1262
+ }
1263
+
1264
+ html.macos [data-tucu='input-searcher']:focus-within {
1265
+ box-shadow: none !important;
1266
+ }
1267
+
1268
+ html.macos.dark [data-tucu='input-searcher'] {
1269
+ background-color: transparent;
1270
+ }
1271
+
1272
+ /* ── Date Picker / Calendar Popover ─────────────────────────── */
1273
+ html.macos [data-tucu='input-calendar'] {
1274
+ border-radius: var(--macos-radius-lg);
1275
+ border: 1px solid var(--macos-separator) !important;
1276
+ background-color: var(--macos-material-popover) !important;
1277
+ backdrop-filter: blur(var(--macos-material-popover-blur));
1278
+ -webkit-backdrop-filter: blur(var(--macos-material-popover-blur));
1279
+ box-shadow: var(--macos-shadow-window);
1280
+ }
1281
+
1282
+ html.macos.dark [data-tucu='input-calendar'] {
1283
+ background-color: var(--macos-material-popover) !important;
1284
+ border-color: var(--macos-separator) !important;
1285
+ }
1286
+
1287
+ /* ── FileInput ──────────────────────────────────────────────── */
1288
+ html.macos [data-tucu='file-input'] {
1289
+ border-radius: var(--macos-radius-xl);
1290
+ border: 1px solid var(--macos-separator) !important;
1291
+ background-color: color-mix(
1292
+ in srgb,
1293
+ var(--macos-gray6) 72%,
1294
+ var(--macos-control-bg)
1295
+ ) !important;
1296
+ }
1297
+
1298
+ html.macos [data-tucu='file-input-dropzone'] {
1299
+ border-radius: var(--macos-radius-xl);
1300
+ border-color: color-mix(
1301
+ in srgb,
1302
+ var(--macos-control-accent) 20%,
1303
+ var(--macos-separator)
1304
+ ) !important;
1305
+ background-color: color-mix(
1306
+ in srgb,
1307
+ var(--macos-gray6) 82%,
1308
+ var(--macos-control-bg)
1309
+ ) !important;
1310
+ transition: background-color var(--macos-transition-fast),
1311
+ border-color var(--macos-transition-fast),
1312
+ box-shadow var(--macos-transition-fast);
1313
+ }
1314
+
1315
+ html.macos [data-tucu='file-input-dropzone']:hover,
1316
+ html.macos [data-tucu='file-input-dropzone']:focus-within {
1317
+ border-color: color-mix(
1318
+ in srgb,
1319
+ var(--macos-control-accent) 48%,
1320
+ var(--macos-separator)
1321
+ ) !important;
1322
+ background-color: color-mix(
1323
+ in srgb,
1324
+ var(--macos-gray6) 92%,
1325
+ var(--macos-control-bg)
1326
+ ) !important;
1327
+ }
1328
+
1329
+ html.macos [data-tucu='file-input-content'] {
1330
+ width: min(100%, 18rem);
1331
+ padding-inline: var(--macos-space-4);
1332
+ margin-inline: auto;
1333
+ }
1334
+
1335
+ html.macos [data-tucu='file-input-placeholder'] {
1336
+ max-width: 100%;
1337
+ margin-inline: auto;
1338
+ margin-bottom: var(--macos-space-4) !important;
1339
+ padding-inline: var(--macos-space-2);
1340
+ font-size: var(--macos-font-size-callout) !important;
1341
+ line-height: var(--macos-leading-callout);
1342
+ letter-spacing: var(--macos-tracking-12);
1343
+ color: var(--macos-secondary-label) !important;
1344
+ }
1345
+
1346
+ html.macos [data-tucu='file-input-image-preview'],
1347
+ html.macos [data-tucu='file-input-preview'] {
1348
+ border-color: var(--macos-separator) !important;
1349
+ background-color: color-mix(
1350
+ in srgb,
1351
+ var(--macos-gray6) 88%,
1352
+ var(--macos-control-bg)
1353
+ ) !important;
1354
+ }
1355
+
1356
+ html.macos.dark [data-tucu='file-input'] {
1357
+ border-color: var(--macos-separator) !important;
1358
+ background-color: color-mix(
1359
+ in srgb,
1360
+ var(--macos-gray5) 78%,
1361
+ var(--macos-control-bg)
1362
+ ) !important;
1363
+ }
1364
+
1365
+ html.macos [data-tucu='file-input'][data-color='primary'] {
1366
+ --macos-file-input-color: var(--macos-system-blue);
1367
+ }
1368
+
1369
+ html.macos [data-tucu='file-input'][data-color='secondary'] {
1370
+ --macos-file-input-color: var(--macos-secondary-label);
1371
+ }
1372
+
1373
+ html.macos [data-tucu='file-input'][data-color='danger'] {
1374
+ --macos-file-input-color: var(--macos-system-red);
1375
+ }
1376
+
1377
+ html.macos [data-tucu='file-input'][data-color='info'] {
1378
+ --macos-file-input-color: var(--macos-system-blue);
1379
+ }
1380
+
1381
+ html.macos [data-tucu='file-input'][data-color='success'] {
1382
+ --macos-file-input-color: var(--macos-system-green);
1383
+ }
1384
+
1385
+ html.macos [data-tucu='file-input'][data-color='warning'] {
1386
+ --macos-file-input-color: var(--macos-system-orange);
1387
+ }
1388
+
1389
+ html.macos [data-tucu='file-input'][data-color] {
1390
+ border-color: color-mix(
1391
+ in srgb,
1392
+ var(--macos-file-input-color) 32%,
1393
+ var(--macos-separator)
1394
+ ) !important;
1395
+ background-color: color-mix(
1396
+ in srgb,
1397
+ var(--macos-file-input-color) 8%,
1398
+ color-mix(in srgb, var(--macos-gray6) 72%, var(--macos-control-bg))
1399
+ ) !important;
1400
+ }
1401
+
1402
+ html.macos
1403
+ [data-tucu='file-input'][data-color]
1404
+ [data-tucu='file-input-dropzone'] {
1405
+ border-color: color-mix(
1406
+ in srgb,
1407
+ var(--macos-file-input-color) 28%,
1408
+ var(--macos-separator)
1409
+ ) !important;
1410
+ background-color: color-mix(
1411
+ in srgb,
1412
+ var(--macos-file-input-color) 10%,
1413
+ color-mix(in srgb, var(--macos-gray6) 82%, var(--macos-control-bg))
1414
+ ) !important;
1415
+ }
1416
+
1417
+ html.macos
1418
+ [data-tucu='file-input'][data-color]
1419
+ [data-tucu='file-input-dropzone']:hover,
1420
+ html.macos
1421
+ [data-tucu='file-input'][data-color]
1422
+ [data-tucu='file-input-dropzone']:focus-within {
1423
+ border-color: color-mix(
1424
+ in srgb,
1425
+ var(--macos-file-input-color) 48%,
1426
+ var(--macos-separator)
1427
+ ) !important;
1428
+ background-color: color-mix(
1429
+ in srgb,
1430
+ var(--macos-file-input-color) 14%,
1431
+ color-mix(in srgb, var(--macos-gray6) 92%, var(--macos-control-bg))
1432
+ ) !important;
1433
+ }
1434
+
1435
+ html.macos
1436
+ [data-tucu='file-input'][data-color]
1437
+ [data-tucu='file-input-image-preview'],
1438
+ html.macos
1439
+ [data-tucu='file-input'][data-color]
1440
+ [data-tucu='file-input-preview'] {
1441
+ border-color: color-mix(
1442
+ in srgb,
1443
+ var(--macos-file-input-color) 28%,
1444
+ var(--macos-separator)
1445
+ ) !important;
1446
+ background-color: color-mix(
1447
+ in srgb,
1448
+ var(--macos-file-input-color) 10%,
1449
+ color-mix(in srgb, var(--macos-gray6) 88%, var(--macos-control-bg))
1450
+ ) !important;
1451
+ }
1452
+
1453
+ html.macos.dark [data-tucu='file-input'][data-color] {
1454
+ border-color: color-mix(
1455
+ in srgb,
1456
+ var(--macos-file-input-color) 36%,
1457
+ var(--macos-separator)
1458
+ ) !important;
1459
+ background-color: color-mix(
1460
+ in srgb,
1461
+ var(--macos-file-input-color) 10%,
1462
+ color-mix(in srgb, var(--macos-gray5) 78%, var(--macos-control-bg))
1463
+ ) !important;
1464
+ }
1465
+
1466
+ html.macos.dark
1467
+ [data-tucu='file-input'][data-color]
1468
+ [data-tucu='file-input-dropzone'] {
1469
+ border-color: color-mix(
1470
+ in srgb,
1471
+ var(--macos-file-input-color) 32%,
1472
+ var(--macos-separator)
1473
+ ) !important;
1474
+ background-color: color-mix(
1475
+ in srgb,
1476
+ var(--macos-file-input-color) 12%,
1477
+ color-mix(in srgb, var(--macos-gray5) 86%, var(--macos-control-bg))
1478
+ ) !important;
1479
+ }
1480
+
1481
+ html.macos.dark
1482
+ [data-tucu='file-input'][data-color]
1483
+ [data-tucu='file-input-dropzone']:hover,
1484
+ html.macos.dark
1485
+ [data-tucu='file-input'][data-color]
1486
+ [data-tucu='file-input-dropzone']:focus-within {
1487
+ border-color: color-mix(
1488
+ in srgb,
1489
+ var(--macos-file-input-color) 52%,
1490
+ var(--macos-separator)
1491
+ ) !important;
1492
+ background-color: color-mix(
1493
+ in srgb,
1494
+ var(--macos-file-input-color) 16%,
1495
+ color-mix(in srgb, var(--macos-gray5) 94%, var(--macos-control-bg))
1496
+ ) !important;
1497
+ }
1498
+
1499
+ html.macos.dark
1500
+ [data-tucu='file-input'][data-color]
1501
+ [data-tucu='file-input-image-preview'],
1502
+ html.macos.dark
1503
+ [data-tucu='file-input'][data-color]
1504
+ [data-tucu='file-input-preview'] {
1505
+ border-color: color-mix(
1506
+ in srgb,
1507
+ var(--macos-file-input-color) 32%,
1508
+ var(--macos-separator)
1509
+ ) !important;
1510
+ background-color: color-mix(
1511
+ in srgb,
1512
+ var(--macos-file-input-color) 12%,
1513
+ color-mix(in srgb, var(--macos-gray5) 90%, var(--macos-control-bg))
1514
+ ) !important;
1515
+ }
1516
+
1517
+ html.macos.dark [data-tucu='file-input-dropzone'] {
1518
+ border-color: color-mix(
1519
+ in srgb,
1520
+ var(--macos-control-accent) 24%,
1521
+ var(--macos-separator)
1522
+ ) !important;
1523
+ background-color: color-mix(
1524
+ in srgb,
1525
+ var(--macos-gray5) 86%,
1526
+ var(--macos-control-bg)
1527
+ ) !important;
1528
+ }
1529
+
1530
+ html.macos.dark [data-tucu='file-input-dropzone']:hover,
1531
+ html.macos.dark [data-tucu='file-input-dropzone']:focus-within {
1532
+ border-color: color-mix(
1533
+ in srgb,
1534
+ var(--macos-control-accent) 52%,
1535
+ var(--macos-separator)
1536
+ ) !important;
1537
+ background-color: color-mix(
1538
+ in srgb,
1539
+ var(--macos-gray5) 94%,
1540
+ var(--macos-control-bg)
1541
+ ) !important;
1542
+ }
1543
+
1544
+ html.macos.dark [data-tucu='file-input-placeholder'] {
1545
+ color: var(--macos-secondary-label) !important;
1546
+ }
1547
+
1548
+ html.macos.dark [data-tucu='file-input-image-preview'],
1549
+ html.macos.dark [data-tucu='file-input-preview'] {
1550
+ border-color: var(--macos-separator) !important;
1551
+ background-color: color-mix(
1552
+ in srgb,
1553
+ var(--macos-gray5) 90%,
1554
+ var(--macos-control-bg)
1555
+ ) !important;
1556
+ }
1557
+
1558
+ /* ── Responsive: larger touch targets on mobile ──────────────── */
1559
+ @media (max-width: 767px) {
1560
+ html.macos [data-tucu='input'],
1561
+ html.macos [data-tucu='select'],
1562
+ html.macos [data-tucu='input-searcher'] {
1563
+ min-height: 44px;
1564
+ font-size: 16px; /* prevents iOS zoom on focus */
1565
+ }
1566
+
1567
+ html.macos [data-tucu='checkbox'] {
1568
+ min-width: 20px;
1569
+ min-height: 20px;
1570
+ }
1571
+
1572
+ html.macos [data-tucu='radio-group'] input[type='radio'] {
1573
+ min-width: 22px;
1574
+ min-height: 22px;
1575
+ }
1576
+
1577
+ html.macos [data-tucu='switch'] {
1578
+ min-height: 28px;
1579
+ }
1580
+ }